📄 mainmenubarhandler.java
字号:
* Processes action of Window->Tile Windows Horizontally.
*/
private void processActionTileHorizontally() {
m_Container.tileWindowsHorizontally();
}
/**
* Processes action of Window->Tile Windows Vertically.
*/
private void processActionTileVertically() {
m_Container.tileWindowsVertically();
}
/**
* Processes action of Window->Cascade Windows.
*/
private void processActionCascade() {
m_Container.cascadeWindows();
}
/**
* Processes action of Window->Minimize Windows.
*/
private void processActionMinimize() {
m_Container.minimizeWindows();
}
/**
* Processes action of Window->Case Management Window.
*
* @throws SysException
*/
private void processActionCaseManagement() throws SysException {
m_Container.showManagementWindow(false);
}
/**
* Processes action of Window->[Case Window].
*
* @param a_ActionCommand
* the action command of the menu item selected.
*/
private void processActionSwitchWindow(String a_ActionCommand) {
String caseID = null;
if (a_ActionCommand.startsWith("switch|")) {
caseID = a_ActionCommand.substring(a_ActionCommand.indexOf("|") + 1);
// <<06/04/2005, Frank J. Xu
// m_Container.editCase(caseID, true);
m_Container.editCaseByName(caseID, true);
// 06/04/2005, Frank J. Xu>>
}
}
/**
* Processes action of Help->About.
*
* @throws SysException
*/
private void processActionAbout() throws SysException {
m_Container.showAbout();
}
/**
* Processes action of Advance->Language.
*
*/
private void processActionLocale(int index, boolean config) {
int current = 0;
if(config) {
LocalesManager.configuration();
return;
}
String[] names = LocalesManager.getLocalesNames();
current = LocalesManager.CurrentlocaleIndex()+2;
if (MessageDialog.showConfirmDialog(m_Container, Resource.srcStr("SWITHC_LOCALE") + "\n" + names[current - 2] + "->" + names[index - 2], Resource.srcStr("SWITHC_WORKSPACE"),JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE)==JOptionPane.NO_OPTION){
if(index!=current){
m_MenuLocale.getItem(index).setSelected(false);
}
else{
m_MenuLocale.getItem(current).setSelected(true);
}
return;
}
// the index of workspace is index-2
if(LocalesManager.SwitchLocale(index-2,false)){
m_MenuLocale.getItem(current).setSelected(false);
m_MenuLocale.getItem(index).setSelected(true);
}
}
/**
* @author Xiaojun Chen
* @param index the slected index of menu
* @param config true if the configuration menu is selected
* */
private void processActionWorkSpace(int index,boolean config){
int current=0;
if(config){
WorkspacesManager.configuration();
return;
}
/*
* for(int i=2;i<index;i++){
* if((m_MenuWorkSpace.getItem(i)).isSelected()){ selected = i; break; } }
*
* for(int i=index+1;i<length;i++){
* if((m_MenuWorkSpace.getItem(i)).isSelected()){ selected = i; break; } }
*/
current = WorkspacesManager.CurrentWorkSpaceIndex()+2;
String[] names = WorkspacesManager.getWorkSpacesNames();
if (MessageDialog.showConfirmDialog(m_Container, Resource.srcStr("SWITHC_WORKSPACE") + "\n" + names[current - 2] + "->" + names[index - 2], Resource.srcStr("SWITHC_WORKSPACE"),JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE)==JOptionPane.NO_OPTION){
if(index!=current){
m_MenuWorkSpace.getItem(index).setSelected(false);
}
else{
m_MenuWorkSpace.getItem(current).setSelected(true);
}
return;
}
// TODO
// make sure that all cases and casewindow are closed
if(index-2==WorkspacesManager.CurrentWorkSpaceIndex()){
if(!m_Container.disposeAllCases()){
return;
}
}
// the index of workspace is index-2
if(WorkspacesManager.SwitchWorkSpace(index-2,false)){
m_MenuWorkSpace.getItem(current).setSelected(false);
m_MenuWorkSpace.getItem(index).setSelected(true);
}
}
/**
* Sets action command for menu bar items.
*
* @param a_Message
* action command to be set.
*/
private void setButtonActionCommand(String a_Message) {
m_MenuCase.getItem(INDEX_COPY_CASE).setActionCommand(a_Message);
m_MenuCase.getItem(INDEX_SAVE).setActionCommand(a_Message);
m_MenuCase.getItem(INDEX_CLOSE).setActionCommand(a_Message);
m_MenuCase.getItem(INDEX_DELETE).setActionCommand(a_Message);
m_MenuCase.getItem(INDEX_VIEW).setActionCommand(a_Message);
m_MenuCase.getItem(INDEX_EDIT).setActionCommand(a_Message);
}
/**
* Set menu bar to Login State.
*/
private void loginState() {
// setEnabledConnect(false);
// setEnabledDisconnect(true);
setEnabledNew(true);
setEnabledCopyCase(false);
setEnabledSave(false);
setEnabledSaveAll(false);
setEnabledClose(false);
setEnabledCloseAll(false);
setEnabledDelete(false);
setEnabledView(false);
setEnabledEdit(false);
// setEnabledActivate(false);
// setEnabledSearch(true);
// setEnabledRecentCase(true);//<<23/03/2005 Mark Li: Remove Recent Case
// from menu bar
setEnabledMenuEdit(true);
setEnabledCut(false);
setEnabledCopy(false);
setEnabledPaste(false);
setEnabledSelectAll(false);
setEnabledMenuWindow(true);
}
/**
* Set menu bar to Logoff State.
*/
private void logoffState() {
// setEnabledConnect(true);
// setEnabledDisconnect(false);
setEnabledNew(false);
setEnabledCopyCase(false);
setEnabledSave(false);
setEnabledSaveAll(false);
setEnabledClose(false);
setEnabledCloseAll(false);
setEnabledDelete(false);
setEnabledView(false);
setEnabledEdit(false);
// setEnabledActivate(false);
// setEnabledSearch(false);
//if (m_Container.enableSerachResultPanel) {
// setEnabledRecentCase(false);
//}
setEnabledMenuEdit(false);
setEnabledMenuWindow(false);
}
/**
* Set menu bar to the Select Case State.
*
* @param a_Message
* action command to be set.
*/
private void selectCaseState(String a_Message) {
setEnabledCopyCase(true);
setEnabledSave(false);
setEnabledSaveAll(false);
setEnabledClose(false);
setEnabledCloseAll(false);
setEnabledDelete(true);
setEnabledView(true);
setEnabledEdit(true);
// setEnabledActivate(true);
initMenuActivate(a_Message);
setButtonActionCommand(a_Message);
}
/**
* Set menu bar to the Edit Case State.
*
* @param a_Message
* action command to be set.
* @param a_IsEdit
* true if the Case Window in focus is in edit mode; false
* otherwise.
* @param a_IsNew
* true if the Case Window in focus is showing a newly created
* Case; false otherwise.
*/
private void editCaseState(String a_Message, boolean a_IsEdit, boolean a_IsNew) {
selectCaseState(a_Message);
if (a_IsEdit) {
setEnabledSave(true);
setEnabledSaveAll(true);
setEnabledClose(true);
setEnabledCloseAll(true);
setEnabledView(!a_IsNew);
setEnabledEdit(false);
// setEnabledActivate(true);
} else {
setEnabledSave(false);
setEnabledSaveAll(true);
setEnabledClose(false);
setEnabledCloseAll(true);
setEnabledView(false);
setEnabledEdit(true);
// setEnabledActivate(false);
}
}
/**
* Initializes File->Activate checkbox status.
*
* @param a_CaseID
* ID of the selected Case.
*/
private void initMenuActivate(String a_CaseID) {
m_MenuCase.getItem(16).removeItemListener(this);
CaseInfoList infoList = CaseInfoListHandler.getInstance().getCaseInfoList(false);
boolean exist = true;
if (infoList != null) {
CaseInformation info = infoList.getCaseInfo(a_CaseID);
if (info != null) {
// setEnabledActivate(!info.getStatus().equalsIgnoreCase(BICase.NEW));
if (info.getStatus().equalsIgnoreCase(BICase.ACTIVATE))
m_MenuCase.getItem(16).setSelected(true);
else
m_MenuCase.getItem(16).setSelected(false);
// System.out.println("case info: " + info.getStatus());
} else {
// System.err.println("Case " + a_CaseID + " is not found in
// case info list");
exist = false;
}
} else
exist = false;
if (!exist) {
// System.out.println("Case info list is null ... try case
// handler");
try {
BICase selectedCase = CaseHandler.getInstance().getCase(a_CaseID, false);
if (selectedCase != null) {
//System.out.println("case: " + selectedCase.getStatus());
// setEnabledActivate(selectedCase.getStatus().equalsIgnoreCase(BICase.NEW));
m_MenuCase.getItem(16).setSelected(selectedCase.getStatus() == BICase.ACTIVATE);
} else {
System.err.println("Case " + a_CaseID + " not found");
}
} catch (BaseException be) {
System.err.println(be.getMessage());
}
}
m_MenuCase.getItem(16).addItemListener(this);
}
/**
* Creates the Menu Bar.
*/
private void createMenuBar() throws SysException {
// m_MenuBar = new JMenuBar();
m_MenuBar = new JHelpMenuBar(); // <<27/07/2005 Kenneth Lai: Modify for
// JHelp>>
createCaseMenu();
createEditMenu();
// <<17/02/2005 Mark Li: Remove Configuration from menu
// createConfigurationMenu();
// 17/02/2005 Mark Li: Remove Configuration from menu>>
createWindowMenu();
createAdvanceMenu();
createHelpMenu();
m_Container.setJMenuBar(m_MenuBar);
}
/**
* Creates File Menu.
*/
private void createCaseMenu() throws SysException {
m_MenuCase = new JMenu(Resource.srcStr("m_MenuCase"));
JMenuItem m_MenuFileConnect = new JMenuItem(Resource.srcStr("m_MenuFileConnect"), ResourceLoader
.getImageIcon(ImageLocation.LOG_IN));
JMenuItem m_MenuFileDisconnect = new JMenuItem(Resource.srcStr("m_MenuFileDisconnect"), ResourceLoader
.getImageIcon(ImageLocation.LOG_OUT));
JMenuItem m_MenuCaseNew = new JMenuItem(Resource.srcStr("m_MenuCaseNew"), ResourceLoader
.getImageIcon(ImageLocation.NEW_CASE));
JMenuItem m_MenuCaseCopyCase = new JMenuItem(Resource.srcStr("m_MenuCaseCopyCase"), ResourceLoader
.getImageIcon(ImageLocation.COPY_CASE));
JMenuItem m_MenuCaseSave = new JMenuItem(Resource.srcStr("m_MenuCaseSave"), ResourceLoader
.getImageIcon(ImageLocation.SAVE_CASE));
JMenuItem m_MenuCaseSaveAll = new JMenuItem(Resource.srcStr("m_MenuCaseSaveAll"), ResourceLoader
.getImageIcon(ImageLocation.SAVE_ALL_CASE));
JMenuItem m_MenuCaseClose = new JMenuItem(Resource.srcStr("m_MenuCaseClose"), ResourceLoader
.getImageIcon(ImageLocation.CLOSE_CASE));
JMenuItem m_MenuCaseCloseAll = new JMenuItem(Resource.srcStr("m_MenuCaseCloseAll"), ResourceLoader
.getImageIcon(ImageLocation.CLOSE_ALL_CASE));
JMenuItem m_MenuCaseDelete = new JMenuItem(Resource.srcStr("m_MenuCaseDelete"), ResourceLoader
.getImageIcon(ImageLocation.DELETE_CASE));
JMenuItem m_MenuCaseView = new JMenuItem(Resource.srcStr("m_MenuCaseView"), ResourceLoader
.getImageIcon(ImageLocation.VIEW_CASE));
JMenuItem m_MenuCaseEdit = new JMenuItem(Resource.srcStr("m_MenuCaseEdit"), ResourceLoader
.getImageIcon(ImageLocation.EDIT_CASE));
JMenuItem m_MenuCaseSearch = new JMenuItem(Resource.srcStr("m_MenuCaseSearch"), ResourceLoader
.getImageIcon(ImageLocation.SEARCH));
JMenuItem m_MenuImportCase = new JMenuItem(Resource.srcStr("m_MenuCaseImport"), ResourceLoader
.getImageIcon(ImageLocation.IMPORTCASE));
m_MenuCaseRecentCases = new JMenu(Resource.srcStr("m_MenuCaseRecentCases"));
JMenuItem m_MenuCaseExit = new JMenuItem(Resource.srcStr("m_MenuCaseExit"));
m_MenuCase.setMnemonic('F');
m_MenuFileConnect.setAccelerator(KeyStroke.getKeyStroke('C', KeyEvent.ALT_MASK, false));
m_MenuFileDisconnect.setAccelerator(KeyStroke.getKeyStroke('D', KeyEvent.ALT_MASK, false));
m_MenuCaseNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke('N', java.awt.event.KeyEvent.CTRL_MASK, false));
m_MenuCaseCopyCase.setAccelerator(javax.swing.KeyStroke.getKeyStroke('W', java.awt.event.KeyEvent.CTRL_MASK,
false));
m_MenuCaseSave
.setAccelerator(javax.swing.KeyStroke.getKeyStroke('S', java.awt.event.KeyEvent.CTRL_MASK, false));
m_MenuCaseSaveAll.setAccelerator(javax.swing.KeyStroke.getKeyStroke('S', java.awt.event.KeyEvent.CTRL_MASK
| java.awt.event.KeyEvent.SHIFT_MASK, false));
m_MenuCaseClose.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4,
java.awt.event.KeyEvent.CTRL_MASK, false));
m_MenuCaseCloseAll.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4,
java.awt.event.KeyEvent.CTRL_MASK | java.awt.event.KeyEvent.SHIFT_MASK, false));
m_MenuCaseDelete.setAccelerator(javax.swing.KeyStroke.getKeyStroke('D', java.awt.event.KeyEvent.CTRL_MASK,
false));
m_MenuCaseView
.setAccelerator(javax.swing.KeyStroke.getKeyStroke('V', java.awt.event.KeyEvent.CTRL_MASK, false));
m_MenuCaseEdit
.setAccelerator(javax.swing.KeyStroke.getKeyStroke('E', java.awt.event.KeyEvent.CTRL_MASK, false));
m_MenuImportCase.setAccelerator(javax.swing.KeyStroke.getKeyStroke('I', java.awt.event.KeyEvent.CTRL_MASK,
false));
// <<23/03/2005 Mark Li: Remove "Active" from menu Bar
// m_MenuCaseActivate.setAccelerator(
// javax.swing.KeyStroke.getKeyStroke(
// 'A',
// java.awt.event.KeyEvent.ALT_MASK,
// false));
// 23/03/2005 Mark Li: Remove "Active" from menu Bar>>
// <<23/03/2005 Mark Li: Set flag to show Search Window
if (m_Container.enableSerachResultPanel) {
m_MenuCaseSearch.setAccelerator(javax.swing.KeyStroke.getKeyStroke('S', java.awt.event.KeyEvent.ALT_MASK,
false));
}
// 23/03/2005 Mark Li: Set flag to show Search Window>>
m_MenuCaseExit
.setAccelerator(javax.swing.KeyStroke.getKeyStroke('Q', java.awt.event.KeyEvent.CTRL_MASK, false));
m_MenuCase.add(m_MenuFileConnect);
m_MenuCase.add(m_MenuFileDisconnect);
INDEX_CONNECT = 0;
INDEX_DISCONNECT = 1;
m_MenuCase.addSeparator(); // 2
m_MenuCase.add(m_MenuCaseNew);
m_MenuCase.add(m_MenuCaseCopyCase);
INDEX_NEW = 3;
INDEX_COPY_CASE = 4;
m_MenuCase.addSeparator(); // 5
m_MenuCase.add(m_MenuCaseSave);
m_MenuCase.add(m_MenuCaseSaveAll);
INDEX_SAVE = 6;
INDEX_SAVE_ALL = 7;
m_MenuCase.addSeparator(); // 8
m_MenuCase.add(m_MenuCaseClose);
m_MenuCase.add(m_MenuCaseCloseAll);
INDEX_CLOSE = 9;
INDEX_CLOSE_ALL = 10;
m_MenuCase.addSeparator(); // 11
m_MenuCase.add(m_MenuCaseDelete);
INDEX_DELETE = 12;
m_MenuCase.addSeparator(); // 13
m_MenuCase.add(m_MenuCaseView);
m_MenuCase.add(m_MenuCaseEdit);
INDEX_VIEW = 14;
INDEX_EDIT = 15;
m_MenuCase.add(m_MenuCaseSearch);//16
INDEX_SEARCH = 16;
m_MenuCase.addSeparator();
m_MenuCase.add(m_MenuImportCase);
INDEX_IMPORTCASE = 18;
m_MenuCase.addSeparator();
m_MenuCase.add(m_MenuCaseRecentCases);
INDEX_RECENT = 20;
m_MenuCase.addSeparator();
m_MenuCase.add(m_MenuCaseExit);
INDEX_EXIT = 22;
// <<23/03/2005 Mark Li: Set flag to show Search Window
// if(!m_Container.enableSerachResultPanel){
// }else{
// m_MenuFile.addSeparator();
// }
// 23/03/2005 Mark Li: Set flag to show Search Window>>
// m_MenuFile.addSeparator();
// <<23/03/2005 Mark Li: Set "Recent Case" Invisible
m_MenuCaseRecentCases.setVisible(true);
m_MenuFileConnect.setVisible(false);
m_MenuFileDisconnect.setVisible(false);
// m_MenuFile.addSeparator();
// 23/03/2005 Mark Li: Set "Recent Case" Invisible>>
m_MenuBar.add(m_MenuCase);
m_MenuFileConnect.addActionListener(this);
m_MenuFileDisconnect.addActionListener(this);
m_MenuCaseNew.addActionListener(this);
m_MenuCaseNew.addMouseListener(this);
m_MenuCaseCopyCase.addActionListener(this);
m_MenuCaseCopyCase.addMouseListener(this);
m_MenuCaseSave.addActionListener(this);
m_MenuCaseSave.addMouseListener(this);
m_MenuCaseSaveAll.addActionListener(this);
m_MenuCaseSaveAll.addMouseListener(this);
m_MenuCaseClose.addActionListener(this);
m_MenuCaseClose.addMouseListener(this);
m_MenuCaseCloseAll.addActionListener(this);
m_MenuCaseCloseAll.addMouseListener(this);
m_MenuCaseDelete.addActionListener(this);
m_MenuCaseDelete.addMouseListener(this);
m_MenuCaseView.addActionListener(this);
m_MenuCaseView.addMouseListener(this);
m_MenuCaseEdit.addActionListener(this);
m_MenuCaseEdit.addMouseListener(this);
// m_MenuCaseActivate.addMouseListener(this);
m_MenuCaseSearch.addActionListener(this);
m_MenuCaseSearch.addMouseListener(this);
m_MenuImportCase.addActionListener(this);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -