分享

自定义工具栏按钮

 jinzq 2007-04-30
显示如下:
自定义的查询按钮框



package plugintest;

import java.util.List;

import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ContributionItem;
import org.eclipse.jface.action.CoolBarManager;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.ICoolBarManager;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.layout.RowData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.application.ActionBarAdvisor;
import org.eclipse.ui.application.IActionBarConfigurer;

import bar.ComboContribution;

public class ApplicationActionBarAdvisor extends ActionBarAdvisor {

    IAction test ;
    
    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
        super(configurer);
    }

    protected void makeActions(IWorkbenchWindow window) {
        test = new Action(){
            public void run(){
                MessageDialog.openInformation(null, "test", "test");
            }
        };
        test.setText("test");
    }

    protected void fillMenuBar(IMenuManager menuBar) {
        IMenuManager testMenu = new MenuManager("&Test","Test");
        testMenu.add(test);
        menuBar.add(testMenu);
    }
    
    protected void fillCoolBar(ICoolBarManager coolBar) {       
        IToolBarManager toolBar = new ToolBarManager(SWT.HORIZONTAL);
        toolBar.add(new ComboContribution2());
    }
    
    class ComboContribution2 extends ContributionItem{    

        private ToolItem toolitem;

        private Combo fFindCombo;

        private Button upFindbutton;

        private Button downFindbutton;

        private Button allFindbutton;

        public ComboContribution2() {
            super();
        }
                
        protected Control createControl(Composite parent) {
            
            Composite composite = new Composite(parent, SWT.NONE);
            
            //查询框
            fFindCombo = new Combo(composite,SWT.NONE);
            fFindCombo.setLocation(0, 2);
            fFindCombo.setSize(130,20);
            System.out.println(" fFindCombo == " + fFindCombo.getBounds());
            //向上查
            upFindbutton = new Button(composite, SWT.NONE);
            upFindbutton.setLocation(135, 2);
            upFindbutton.setSize(30,20);
            upFindbutton.setText("上查");    
            upFindbutton.addSelectionListener(new SelectionListener(){

                public void widgetDefaultSelected(SelectionEvent e) {
                    // TODO 自动生成方法存根
                    
                }

                public void widgetSelected(SelectionEvent e) {
                    fFindCombo.add(fFindCombo.getText());
                    
                }
                
            });
            System.out.println(" upFindbutton == " + upFindbutton.getBounds());
            //向下查
            downFindbutton = new Button(composite, SWT.NONE);
            downFindbutton.setLocation(170, 2);
            downFindbutton.setSize(30,20);
            downFindbutton.setText("下查");
            //全部查询
            allFindbutton = new Button(composite, SWT.NONE);
            allFindbutton.setLocation(205, 2);
            allFindbutton.setSize(30,20);
            allFindbutton.setText("全部");

            toolitem.setWidth(240);

            return composite;
        }

        public void fill(ToolBar parent, int index) {
            toolitem = new ToolItem(parent, SWT.SEPARATOR, index);
            Control control = createControl(parent);
            toolitem.setControl(control);
        }

    }
    
}



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约