⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toolbarhandler.java

📁 一个数据挖掘软件ALPHAMINERR的整个过程的JAVA版源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 *    This program is free software; you can redistribute it and/or modify
 *    it under the terms of the GNU General Public License as published by
 *    the Free Software Foundation; either version 2 of the License, or
 *    (at your option) any later version.
 *
 *    This program is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *    GNU General Public License for more details.
 *
 *    You should have received a copy of the GNU General Public License
 *    along with this program; if not, write to the Free Software
 *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

package eti.bi.alphaminer.ui;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseListener;

import javax.swing.Box;
//import javax.swing.JButton;
import javax.swing.JToolBar;

import eti.bi.alphaminer.core.handler.AccessController;
import eti.bi.alphaminer.core.observer.Observer;
import eti.bi.alphaminer.core.observer.HelpObserver;
import eti.bi.alphaminer.core.observer.HelpObserveSubject;
import eti.bi.alphaminer.jhelpcomponent.JHelpButton;
import eti.bi.alphaminer.jhelpcomponent.JHelpToolBar;
import eti.bi.common.ImageLocation;
import eti.bi.common.Locale.Resource;
import eti.bi.exception.SysException;
import eti.bi.util.ResourceLoader;

/**
 * ToolBarHandler is responsible for creating and managing the tool bar of the 
 * KBBI-client Applciation.
 */
public class ToolBarHandler extends MouseAdapter implements 
Observer, 
HelpObserver,
MouseListener,
ActionListener {

	/* ApplicationWindow containing the menu bar */
	private ApplicationWindow m_Container;
	/* Menu bar handled by this handler*/
//	private JToolBar m_ToolBar; // <<27/07/2005 Kenneth Lai: Modify for JHelp>>
	private JHelpToolBar m_ToolBar; // <<27/07/2005 Kenneth Lai: Modify for JHelp>>

	// <<21/07/2005 Kenneth Lai: Modify from JButton for JHelp
	private JHelpButton m_ButtonNewCase;
	private JHelpButton m_ButtonCopyCase;
	private JHelpButton m_ButtonViewCase;
	private JHelpButton m_ButtonEditCase;
	private JHelpButton m_ButtonSaveCase;
	private JHelpButton m_ButtonDeleteCase;
	private JHelpButton m_ButtonCloseCase;
	private JHelpButton m_ButtonManagementWindow;
	private JHelpButton m_ButtonSearch;
	private JHelpButton m_ButtonHelp;
	private JHelpButton m_ButtonCaseToolbar;
	// 27/07/2005 Kenneth Lai: Modify from JButton for JHelp>>
	
	private boolean m_HelpState; // <<21/07/2005 Kenneth Lai: Add for JHelp>>
	
	/**
	 * Constructs a ToolBarHandler.
	 * @param a_Window the ApplicationWindow containing tool bar handled 
	 * by this ToolBarHandler.
	 * @throws SysException
	 */
	public ToolBarHandler(ApplicationWindow a_Window) throws SysException {

		AccessController.getInstance().registerInterest(this);
//		 <<25/07/2005 Kenneth Lai: Add for JHelp
		HelpObserveSubject.registerInterest(this);
//		 25/07/2005 Kenneth Lai: Add for JHelp>>
		m_Container = a_Window;
		createToolBar();
		setAllEnabled(false);
	}

	/**
	 * Gets the tool bar handled by this handler.
	 * @return JToolBar the tool bar.
	 */
	public JToolBar getToolBar() {
		return m_ToolBar;
	}

	/**
	 * Enables/disables New Case tool bar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	public void setEnabledNewCase(boolean a_IsEnabled) {
		m_ButtonNewCase.setEnabled(a_IsEnabled);
	}

	/**
	 * Returns if New Case tool bar button is enabled.
	 * @return true if it is enabled; false otherwise.
	 */
	public boolean isEnabledNewCase() {
		return m_ButtonNewCase.isEnabled();
	}

	/**
	 * Enables/disables Copy Case tool bar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	public void setEnabledCopyCase(boolean a_IsEnabled) {
		m_ButtonCopyCase.setEnabled(a_IsEnabled);
	}

	/**
	 * Returns if Copy Case tool bar button is enabled.
	 * @return true if it is enabled; false otherwise.
	 */
	public boolean isEnabledCopyCase() {
		return m_ButtonCopyCase.isEnabled();
	}

	/**
	 * Enables/disables View Case tool bar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	public void setEnabledViewCase(boolean a_IsEnabled) {
		m_ButtonViewCase.setEnabled(a_IsEnabled);
	}
	
	/**
	 * Returns if View Case tool bar button is enabled.
	 * @return true if it is enabled; false otherwise.
	 */
	public boolean isEnabledViewCase() {
		return m_ButtonViewCase.isEnabled();
	}

	/**
	 * Enables/disables Edit Case tool bar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	public void setEnabledEditCase(boolean a_IsEnabled) {
		m_ButtonEditCase.setEnabled(a_IsEnabled);
	}

	/**
	 * Returns if Edit Case tool bar button is enabled.
	 * @return true if it is enabled; false otherwise.
	 */
	public boolean isEnabledEditCase() {
		return m_ButtonEditCase.isEnabled();
	}

	/**
	 * Enables/disables Save Case tool bar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	public void setEnabledSaveCase(boolean a_IsEnabled) {
		m_ButtonSaveCase.setEnabled(a_IsEnabled);
	}

	/**
	 * Returns if Save Case tool bar button is enabled.
	 * @return true if it is enabled; false otherwise.
	 */
	public boolean isEnabledSaveCase() {
		return m_ButtonSaveCase.isEnabled();
	}

	/**
	 * Enables/disables Delete Case tool bar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	public void setEnabledDeleteCase(boolean a_IsEnabled) {
		m_ButtonDeleteCase.setEnabled(a_IsEnabled);
	}

	/**
	 * Returns if Delete Case tool bar button is enabled.
	 * @return true if it is enabled; false otherwise.
	 */
	public boolean isEnabledDeleteCase() {
		return m_ButtonDeleteCase.isEnabled();
	}

	/**
	 * Enables/disables Close Case tool bar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	public void setEnabledCloseCase(boolean a_IsEnabled) {
		m_ButtonCloseCase.setEnabled(a_IsEnabled);
	}

	/**
	 * Returns if Close Case tool bar button is enabled.
	 * @return true if it is enabled; false otherwise.
	 */
	public boolean isEnabledCloseCase() {
		return m_ButtonCloseCase.isEnabled();
	}

	/**
	 * Enables/disables Case Management Window tool bar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	public void setEnabledManagementWindow(boolean a_IsEnabled) {
		m_ButtonManagementWindow.setEnabled(a_IsEnabled);
	}

	/**
	 * Returns if Case Management Window tool bar button is enabled.
	 * @return true if it is enabled; false otherwise.
	 */
	public boolean isEnableManagementWindow() {
		return m_ButtonManagementWindow.isEnabled();
	}

	/**
	 * Enables/disables Search Case tool bar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	public void setEnabledSearch(boolean a_IsEnabled) {
		m_ButtonSearch.setEnabled(a_IsEnabled);
	}

	/**
	 * Returns if Search Case tool bar button is enabled.
	 * @return true if it is enabled; false otherwise.
	 */
	public boolean isEnabledSearch() {
		return m_ButtonSearch.isEnabled();
	}
	
	/**
	 * Enables/disables Help tool bar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	public void setEnabledHelp(boolean a_IsEnabled) {
		m_ButtonHelp.setEnabled(a_IsEnabled);
	}

	/**
	 * Enables/disables System toolbar button.
	 * @param a_IsEnabled true to enable; false to disable.
	 */
	private void setEnabledCaseToolbar(boolean b) {
		m_ButtonCaseToolbar.setEnabled(b);
	}
	
	/**
	 * Returns if Help tool bar button is enabled.
	 * @return true if it is enabled; false otherwise.
	 */
	public boolean isEnabledHelp() {
		return m_ButtonHelp.isEnabled();
	}
	
	/**
	 * @see java.awt.event.ActionListener#actionPerformed(ActionEvent)
	 */
	public void actionPerformed(ActionEvent e) {
		Object source = e.getSource();
		if (source == m_ButtonNewCase)
			processActionNewCase();
		else if (source == m_ButtonCopyCase)
			processActionCopyCase(e.getActionCommand());
		else if (source == m_ButtonViewCase)
			processActionViewCase(e.getActionCommand());
		else if (source == m_ButtonEditCase)
			processActionEditCase(e.getActionCommand());
		else if (source == m_ButtonSaveCase)
			processActionSaveCase();
		else if (source == m_ButtonDeleteCase)
			processActionDeleteCase(e.getActionCommand());
		else if (source == m_ButtonCloseCase)
			processActionCloseCase();
		else if (source == m_ButtonManagementWindow)
            try {
                processActionManagementWindow();
            } catch (SysException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        else if (source == m_ButtonSearch)
			processActionSearch();
        else if (source == m_ButtonHelp)
            processActionHelp();
        else if(source == m_ButtonCaseToolbar)
        	processActionCaseToolbar(e.getActionCommand());
      	//19/07/05: Mark Li: Add for JHelp>>
	}

	/**
	 * @see java.awt.event.MouseListener#mouseEntered(MouseEvent)
	 */
	public void mouseEntered(MouseEvent e) {
		Object source = e.getSource();
		if (source == m_ButtonNewCase)
			m_Container.setStatusBarMessage(Resource.srcStr("CreateBlankCase"));
		else if (source == m_ButtonCopyCase)
			m_Container.setStatusBarMessage(
				Resource.srcStr("CreateCopyCase"));
		else if (source == m_ButtonViewCase)
			m_Container.setStatusBarMessage(Resource.srcStr("OpenViewCase"));
		else if (source == m_ButtonEditCase)
			m_Container.setStatusBarMessage(Resource.srcStr("OpenEditCase"));
		else if (source == m_ButtonSaveCase)
			m_Container.setStatusBarMessage(Resource.srcStr("SaveChange"));
		else if (source == m_ButtonDeleteCase)
			m_Container.setStatusBarMessage(Resource.srcStr("DeleteCase"));
		else if (source == m_ButtonCloseCase)
			m_Container.setStatusBarMessage(Resource.srcStr("CloseCase"));
		else if (source == m_ButtonManagementWindow)
			m_Container.setStatusBarMessage(Resource.srcStr("ManagementWindow"));
		else if (source == m_ButtonSearch)
			m_Container.setStatusBarMessage(Resource.srcStr("OpenSearchForm"));
		else if (source == m_ButtonHelp) // <21/07/2005 Kenneth Lai: Add for JHelp>>
		    m_Container.setStatusBarMessage(Resource.srcStr("GetHelp"));
	}

	/**
	 * @see java.awt.event.MouseListener#mouseExited(MouseEvent)
	 */
	public void mouseExited(MouseEvent e) {
		m_Container.clearStatusBarMessage();
	}

	/**
	 * @see java.awt.event.MouseListener#mousePressed(MouseEvent)
	 */
	public void mousePressed(MouseEvent e) {
	    if ( isHelpMode() ) {
	        m_ButtonHelp.setEnabled(true);
	        setHelpMode(false);
	        HelpObserveSubject.sendNotify(m_HelpState);
	    }
	}

	/**
	 * @see java.awt.event.MouseListener#mouseReleased(MouseEvent)
	 */
	public void mouseReleased(MouseEvent e) {
	}
	
	/**
	 * @see java.awt.event.MouseListener#mouseClicked(MouseEvent)
	 */
	public void mouseClicked(MouseEvent e) {
	}
	
	/**
	 * @see eti.bi.alphaminer.core.observer.Observer#sendNotify(String)
	 */
	public void sendNotify(String a_Message) {
		if (a_Message == null)
			return;
		if (a_Message.equals("login"))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -