| 1 19 package org.openharmonise.him.window.menus; 20 21 import java.awt.Font ; 22 import java.util.ArrayList ; 23 import java.util.Iterator ; 24 25 import javax.swing.JMenu ; 26 import javax.swing.JMenuBar ; 27 28 import org.openharmonise.him.actions.*; 29 import org.openharmonise.him.actions.file.*; 30 import org.openharmonise.him.actions.help.*; 31 import org.openharmonise.him.actions.publish.*; 32 import org.openharmonise.him.actions.system.*; 33 import org.openharmonise.vfs.context.*; 34 35 import org.openharmonise.him.actions.system.ActionExportContent; 36 37 38 45 public class MenuBar extends JMenuBar implements ContextListener { 46 47 50 private ArrayList m_aActions = new ArrayList (); 51 52 55 public MenuBar() { 56 super(); 57 this.setup(); 58 } 59 60 64 private void setup() { 65 this.add(this.getSystemMenu()); 66 this.add(this.getFileMenu()); 67 this.add(this.getPublishMenu()); 68 this.add(this.getCMHelpMenu()); 69 70 ContextHandler.getInstance().addListener( 71 ContextType.CONTEXT_FILES, 72 this); 73 ContextHandler.getInstance().addListener( 74 ContextType.CONTEXT_DIRS, 75 this); 76 ContextHandler.getInstance().addListener( 77 ContextType.CONTEXT_TABS, 78 this); 79 } 80 81 86 private JMenu getSystemMenu() { 87 JMenu menu = new JMenu ("System"); 88 menu.setMnemonic('S'); 89 90 String fontName = "Dialog"; 91 int fontSize = 11; 92 Font font = new Font (fontName, Font.PLAIN, fontSize); 93 menu.setFont(font); 94 95 HIMAction action = new ActionSystemSettings(); 96 this.m_aActions.add(action); 97 menu.add(action.getMenuItem()); 98 99 action = new ActionPreviewSettings(); 100 this.m_aActions.add(action); 101 menu.add(action.getMenuItem()); 102 103 action = new ActionCustomise(); 104 this.m_aActions.add(action); 105 menu.add(action.getMenuItem()); 106 107 action = new ActionChangeMyPassword(); 108 this.m_aActions.add(action); 109 menu.add(action.getMenuItem()); 110 111 menu.addSeparator(); 112 113 action = new ActionRefresh(); 114 this.m_aActions.add(action); 115 menu.add(action.getMenuItem()); 116 117 action = new ActionSyncWithServer(); 118 this.m_aActions.add(action); 119 menu.add(action.getMenuItem()); 120 121 action = new ActionExportContent(); 122 this.m_aActions.add(action); 123 menu.add(action.getMenuItem()); 124 125 menu.addSeparator(); 126 127 action = new ActionExitReject(); 128 this.m_aActions.add(action); 129 menu.add(action.getMenuItem()); 130 131 action = new ActionExitCommit(); 132 this.m_aActions.add(action); 133 menu.add(action.getMenuItem()); 134 135 return menu; 136 } 137 138 143 private JMenu getFileMenu() { 144 JMenu menu = new JMenu ("Resource"); 145 menu.setMnemonic('R'); 146 147 String fontName = "Dialog"; 148 int fontSize = 11; 149 Font font = new Font (fontName, Font.PLAIN, fontSize); 150 menu.setFont(font); 151 152 HIMAction action = new ActionNewFile(); 153 this.m_aActions.add(action); 154 menu.add(action.getMenuItem()); 155 156 action = new ActionUpload(); 157 this.m_aActions.add(action); 158 menu.add(action.getMenuItem()); 159 160 action = new ActionNewCollection(); 161 this.m_aActions.add(action); 162 menu.add(action.getMenuItem()); 163 164 menu.addSeparator(); 165 166 action = new ActionOpen(); 167 this.m_aActions.add(action); 168 menu.add(action.getMenuItem()); 169 170 174 178 action = new ActionCreateCopy(); 179 this.m_aActions.add(action); 180 menu.add(action.getMenuItem()); 181 182 menu.addSeparator(); 183 184 action = new ActionSynchronise(); 185 this.m_aActions.add(action); 186 menu.add(action.getMenuItem()); 187 188 action = new ActionLock(); 189 this.m_aActions.add(action); 190 menu.add(action.getMenuItem()); 191 192 action = new ActionUnlock(); 193 this.m_aActions.add(action); 194 menu.add(action.getMenuItem()); 195 196 return menu; 197 } 198 199 204 private JMenu getPublishMenu() { 205 JMenu menu = new JMenu ("Publish"); 206 menu.setMnemonic('P'); 207 208 String fontName = "Dialog"; 209 int fontSize = 11; 210 Font font = new Font (fontName, Font.PLAIN, fontSize); 211 menu.setFont(font); 212 213 HIMAction action = new ActionPreview(); 214 this.m_aActions.add(action); 215 menu.add(action.getMenuItem()); 216 217 action = new ActionPublishToInternet(); 218 this.m_aActions.add(action); 219 menu.add(action.getMenuItem()); 220 221 action = new ActionExport(); 222 this.m_aActions.add(action); 223 menu.add(action.getMenuItem()); 224 225 menu.addSeparator(); 226 227 action = new ActionArchive(); 228 this.m_aActions.add(action); 229 menu.add(action.getMenuItem()); 230 231 action = new ActionRetrieve(); 232 this.m_aActions.add(action); 233 menu.add(action.getMenuItem()); 234 235 return menu; 236 } 237 238 243 private JMenu getCMHelpMenu() { 244 JMenu menu = new JMenu ("Help"); 245 menu.setMnemonic('H'); 246 247 String fontName = "Dialog"; 248 int fontSize = 11; 249 Font font = new Font (fontName, Font.PLAIN, fontSize); 250 menu.setFont(font); 251 252 HIMAction action = new ActionHelp(); 253 this.m_aActions.add(action); 254 menu.add(action.getMenuItem()); 255 256 action = new ActionKeyboardShortcuts(); 257 this.m_aActions.add(action); 258 menu.add(action.getMenuItem()); 259 260 action = new ActionAbout(); 261 this.m_aActions.add(action); 262 menu.add(action.getMenuItem()); 263 264 return menu; 265 } 266 267 270 public void contextMessage(ContextEvent ce) { 271 if (ce.CONTEXT_TYPE == ContextType.CONTEXT_DIRS) { 272 Iterator itor = this.m_aActions.iterator(); 273 while(itor.hasNext()) { 274 HIMAction action = (HIMAction) itor.next(); 275 action.isEnabled(ce); 276 } 277 } else if (ce.CONTEXT_TYPE == ContextType.CONTEXT_FILES) { 278 Iterator itor = this.m_aActions.iterator(); 279 while(itor.hasNext()) { 280 HIMAction action = (HIMAction) itor.next(); 281 action.isEnabled(ce); 282 } 283 } else if (ce.CONTEXT_TYPE == ContextType.CONTEXT_TABS) { 284 Iterator itor = this.m_aActions.iterator(); 285 while(itor.hasNext()) { 286 HIMAction action = (HIMAction) itor.next(); 287 action.isEnabled(ce); 288 } 289 } 290 } 291 292 } 293 | Popular Tags |