Search in sources :

Example 6 with MenuItem

use of org.eclipse.swt.widgets.MenuItem in project cogtool by cogtool.

the class MenuFactory method removeNexusCascadeItem.

// Returns true if it removed the last item from the cascade
protected static boolean removeNexusCascadeItem(Menu fromNexusMenu, IWindowMenuData<?> menuData) {
    ListenerIdentifier itemLID = menuData.getLID();
    boolean precedingWasSeparator = false;
    MenuItem[] windowMenuItems = fromNexusMenu.getItems();
    int originalItemCount = windowMenuItems.length;
    int i;
    for (i = 0; i < originalItemCount; i++) {
        MenuItem windowItem = windowMenuItems[i];
        Object itemData = windowItem.getData();
        if (itemData == null) {
            // indicates a SEPARATOR
            precedingWasSeparator = true;
        } else if (itemData == itemLID) {
            windowItem.dispose();
            break;
        } else {
            precedingWasSeparator = false;
        }
    }
    if (i == originalItemCount) {
        throw new RcvrUIException("Cannot find window item");
    }
    // Check if we need to remove a SEPARATOR
    if (i == 0) {
        if ((originalItemCount > 1) && (windowMenuItems[1].getData() == null)) {
            // Removed first and second was a SEPARATOR; remove it
            windowMenuItems[1].dispose();
        }
    } else if (precedingWasSeparator) {
        // following item is also a SEPARATOR; if so, remove preceding.
        if (((i + 1) == originalItemCount) || (windowMenuItems[i + 1].getData() == null)) {
            windowMenuItems[i - 1].dispose();
        }
    }
    // Return true if no items remain
    return fromNexusMenu.getItems().length == 0;
}
Also used : MenuItem(org.eclipse.swt.widgets.MenuItem) ListenerIdentifier(edu.cmu.cs.hcii.cogtool.util.ListenerIdentifier) RcvrUIException(edu.cmu.cs.hcii.cogtool.util.RcvrUIException)

Example 7 with MenuItem

use of org.eclipse.swt.widgets.MenuItem in project dbeaver by serge-rider.

the class NavigatorActiveProjectContributor method createMenu.

private void createMenu(final Menu menu) {
    final IProject activeProject = DBeaverCore.getInstance().getProjectRegistry().getActiveProject();
    for (final IProject project : DBeaverCore.getInstance().getLiveProjects()) {
        MenuItem txnItem = new MenuItem(menu, SWT.RADIO);
        txnItem.setText(project.getName());
        txnItem.setSelection(project == activeProject);
        txnItem.setData(project);
        txnItem.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                DBeaverCore.getInstance().getProjectRegistry().setActiveProject(project);
            }
        });
    }
}
Also used : SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) SelectionEvent(org.eclipse.swt.events.SelectionEvent) MenuItem(org.eclipse.swt.widgets.MenuItem) IProject(org.eclipse.core.resources.IProject)

Example 8 with MenuItem

use of org.eclipse.swt.widgets.MenuItem in project translationstudio8 by heartsome.

the class TermBaseSearchDialog method readDialogSettings.

private void readDialogSettings() {
    IDialogSettings ids = getDialogSettings();
    btnIsCaseSensitive.setSelection(ids.getBoolean("net.heartsome.cat.database.ui.tb.dialog.TermBaseSearchDialog.caseSensitive"));
    //	btnIsCaseSensitive.setSelection(preferenceStore.getBoolean(TBPreferenceConstants.TB_CASE_SENSITIVE));
    btnIsIgnoreMark.setSelection(!ids.getBoolean("net.heartsome.cat.database.ui.tb.dialog.TermBaseSearchDialog.ignoreMark"));
    btnApplyRegularExpression.setSelection(ids.getBoolean("net.heartsome.cat.database.ui.tb.dialog.TermBaseSearchDialog.regEx"));
    try {
        spiMatchQuality.setSelection(ids.getInt("net.heartsome.cat.database.ui.tb.dialog.TermBaseSearchDialog.matchQuality"));
    } catch (NumberFormatException e) {
        spiMatchQuality.setSelection(100);
    }
    String[] arrSearchHistory = ids.getArray("net.heartsome.cat.database.ui.tb.dialog.TermBaseSearchDialog.searchHistory");
    if (arrSearchHistory != null) {
        lstSearchHistory.clear();
        for (int i = 0; i < arrSearchHistory.length; i++) {
            lstSearchHistory.add(arrSearchHistory[i]);
        }
    }
    String selTM = ids.get("net.heartsome.cat.database.ui.tb.dialog.TermBaseSearchDialog.selTM");
    int selIndex = 0;
    if (selTM != null) {
        for (int i = 0; i < cmbDatabase.getItemCount(); i++) {
            if (selTM.equals(cmbDatabase.getItem(i))) {
                selIndex = i;
                break;
            }
        }
    }
    cmbDatabase.select(selIndex);
    String[] arrTarget = ids.getArray("net.heartsome.cat.database.ui.tb.dialog.TermBaseSearchDialog.selTgt");
    List<String> lstSelItem = new ArrayList<String>();
    if (arrTarget != null) {
        for (int i = 0; i < menu.getItemCount(); i++) {
            MenuItem item = menu.getItem(i);
            for (String target : arrTarget) {
                if (item.getText().equals(target)) {
                    item.setSelection(true);
                    break;
                }
            }
            if (item.getSelection()) {
                lstSelItem.add(item.getText());
            }
        }
    }
    // 重设表格列宽
    int totalWidth = 0;
    List<GridColumn> lstShowColumn = new ArrayList<GridColumn>();
    for (int index = 0; index < grid.getColumnCount(); index++) {
        GridColumn column = grid.getColumn(index);
        if (column.getWidth() > 0) {
            totalWidth += column.getWidth();
        }
        if (column.getWidth() > 0 || lstSelItem.indexOf(column.getText()) >= 0) {
            lstShowColumn.add(column);
        }
    }
    int width = (totalWidth + 100) / lstShowColumn.size();
    for (GridColumn column : lstShowColumn) {
        column.setWidth(width);
    }
}
Also used : IDialogSettings(org.eclipse.jface.dialogs.IDialogSettings) ArrayList(java.util.ArrayList) MenuItem(org.eclipse.swt.widgets.MenuItem) GridColumn(org.eclipse.nebula.widgets.grid.GridColumn) Point(org.eclipse.swt.graphics.Point)

Example 9 with MenuItem

use of org.eclipse.swt.widgets.MenuItem in project translationstudio8 by heartsome.

the class ProjectSettingTBPage method createContents.

/**
	 * Create contents of the preference page.
	 * @param parent
	 */
@Override
public Control createContents(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    container.setLayout(new GridLayout(1, false));
    tableViewer = new TableViewer(container, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE);
    Table table = tableViewer.getTable();
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    tableViewer.setContentProvider(new ArrayContentProvider());
    createColumn(tableViewer);
    tableViewer.setInput(curDbList);
    tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
            DatabaseModelBean dbModel = (DatabaseModelBean) selection.getFirstElement();
            if (null == dbModel) {
                return;
            }
            if (Constants.DBTYPE_SQLITE.equals(dbModel.getDbType())) {
                String path = dbModel.getItlDBLocation() + File.separator + dbModel.getDbName();
                File file = new File(path);
                if (!file.exists()) {
                    setMessage(Messages.getString("projectsetting.ProjectSettingTBPage.FileNotFoundMsg"));
                    return;
                } else {
                    setMessage(Messages.getString("projectsetting.ProjectSettingTBPage.title"));
                }
            }
            if (dbModel != null && !dbModel.isHasMatch()) {
                setMessage(Messages.getString("projectsetting.ProjectSettingTBPage.msg1"));
            }
        }
    });
    Composite composite = new Composite(container, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    composite.setLayout(new GridLayout(5, false));
    new Label(composite, SWT.NONE);
    HSDropDownButton addBtn = new HSDropDownButton(composite, SWT.NONE);
    addBtn.setText(Messages.getString("projectsetting.ProjectSettingTBPage.addBtn"));
    Menu addMenu = addBtn.getMenu();
    MenuItem item = new MenuItem(addMenu, SWT.PUSH);
    item.setText(Messages.getString("tb.dialog.addTb.DropDownButton.AddFileTb"));
    item.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            FileDialog fileDialg = new FileDialog(getShell());
            fileDialg.setFilterExtensions(new String[] { "*.hstb", "*.*" });
            String result = fileDialg.open();
            if (result == null) {
                return;
            }
            File f = new File(result);
            if (!f.exists()) {
                return;
            }
            Map<DatabaseModelBean, String> r = null;
            try {
                r = Utils.convertFile2TbModel(f, false);
            } catch (Exception e1) {
                MessageDialog.openError(getShell(), Messages.getString("tb.dialog.addFileTb.errorTitle"), e1.getMessage());
            }
            if (r == null) {
                return;
            }
            Iterator<DatabaseModelBean> it = r.keySet().iterator();
            if (it.hasNext()) {
                DatabaseModelBean selectedVal = it.next();
                List<DatabaseModelBean> dbList = new ArrayList<DatabaseModelBean>();
                dbList.add(selectedVal);
                addToCurrDbList(dbList);
            }
        }
    });
    MenuItem serverItem = new MenuItem(addMenu, SWT.PUSH);
    serverItem.setText(Messages.getString("tb.dialog.addTb.DropDownButton.AddServerTb"));
    serverItem.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            TermDbManagerDialog dialog = new TermDbManagerDialog(getShell());
            dialog.setDialogUseFor(TermDbManagerDialog.TYPE_DBSELECTED);
            if (dialog.open() == Window.OK) {
                Iterator<DatabaseModelBean> it = dialog.getHasSelectedDatabase().keySet().iterator();
                List<DatabaseModelBean> dbList = new ArrayList<DatabaseModelBean>();
                while (it.hasNext()) {
                    dbList.add(it.next());
                }
                addToCurrDbList(dbList);
            }
        }
    });
    Button createBtn = new Button(composite, SWT.NONE);
    createBtn.setText(Messages.getString("projectsetting.ProjectSettingTBPage.createBtn"));
    createBtn.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            NewTermDbWizard wizard = new NewTermDbWizard();
            TermDbManagerImportWizardDialog dlg = new TermDbManagerImportWizardDialog(getShell(), wizard);
            if (dlg.open() == 0) {
                DatabaseModelBean dbModel = wizard.getCreateDb();
                List<DatabaseModelBean> dbList = new ArrayList<DatabaseModelBean>();
                dbList.add(dbModel);
                addToCurrDbList(dbList);
            }
        }
    });
    Button removeBtn = new Button(composite, SWT.NONE);
    removeBtn.setText(Messages.getString("projectsetting.ProjectSettingTBPage.removeBtn"));
    removeBtn.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            removeForCurrDbList((IStructuredSelection) tableViewer.getSelection());
        }
    });
    Button importTmxBtn = new Button(composite, SWT.NONE);
    importTmxBtn.setText(Messages.getString("projectsetting.ProjectSettingTBPage.importTmxBtn"));
    importTmxBtn.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
            Iterator<?> it = selection.iterator();
            if (it.hasNext()) {
                DatabaseModelBean dbModel = (DatabaseModelBean) it.next();
                TbxImportWizard wizard = new TbxImportWizard(dbModel);
                TermDbManagerImportWizardDialog dlg = new TermDbManagerImportWizardDialog(getShell(), wizard);
                if (dlg.open() == 0) {
                    checkDbHashMatch(dbModel);
                    tableViewer.refresh();
                }
                // 刷新项目
                ResourceUtils.refreshCurentSelectProject();
            } else {
                MessageDialog.openInformation(getShell(), Messages.getString("projectsetting.ProjectSettingTBPage.msgTitle"), Messages.getString("projectsetting.ProjectSettingTBPage.msg2"));
            }
        }
    });
    addBtn.setFocus();
    Point addPoint = addBtn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
    Point createPoint = createBtn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
    Point remPoint = removeBtn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
    Point importPoint = importTmxBtn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
    int width = Math.max(importPoint.x, Math.max(remPoint.x, Math.max(addPoint.x, createPoint.x)));
    GridData btnData = new GridData();
    btnData.widthHint = width + 10;
    addBtn.setLayoutData(btnData);
    createBtn.setLayoutData(btnData);
    removeBtn.setLayoutData(btnData);
    importTmxBtn.setLayoutData(btnData);
    return container;
}
Also used : DatabaseModelBean(net.heartsome.cat.common.bean.DatabaseModelBean) Label(org.eclipse.swt.widgets.Label) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) TbxImportWizard(net.heartsome.cat.database.ui.tb.wizard.TbxImportWizard) TermDbManagerDialog(net.heartsome.cat.database.ui.tb.dialog.TermDbManagerDialog) GridLayout(org.eclipse.swt.layout.GridLayout) HSDropDownButton(net.heartsome.cat.common.ui.HSDropDownButton) Button(org.eclipse.swt.widgets.Button) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Iterator(java.util.Iterator) List(java.util.List) ArrayList(java.util.ArrayList) Menu(org.eclipse.swt.widgets.Menu) HSDropDownButton(net.heartsome.cat.common.ui.HSDropDownButton) Table(org.eclipse.swt.widgets.Table) Composite(org.eclipse.swt.widgets.Composite) TermDbManagerImportWizardDialog(net.heartsome.cat.database.ui.tb.wizard.TermDbManagerImportWizardDialog) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) MenuItem(org.eclipse.swt.widgets.MenuItem) Point(org.eclipse.swt.graphics.Point) SQLException(java.sql.SQLException) Point(org.eclipse.swt.graphics.Point) GridData(org.eclipse.swt.layout.GridData) ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) TableViewer(org.eclipse.jface.viewers.TableViewer) File(java.io.File) FileDialog(org.eclipse.swt.widgets.FileDialog) Map(java.util.Map) NewTermDbWizard(net.heartsome.cat.database.ui.tb.wizard.NewTermDbWizard)

Example 10 with MenuItem

use of org.eclipse.swt.widgets.MenuItem in project translationstudio8 by heartsome.

the class MenuItemProviders method columnChooserMenuItemProvider.

public static IMenuItemProvider columnChooserMenuItemProvider(final String menuLabel) {
    return new IMenuItemProvider() {

        public void addMenuItem(final NatTable natTable, final Menu popupMenu) {
            MenuItem columnChooser = new MenuItem(popupMenu, SWT.PUSH);
            columnChooser.setText(menuLabel);
            columnChooser.setImage(GUIHelper.getImage("column_chooser"));
            columnChooser.setEnabled(true);
            columnChooser.addSelectionListener(new SelectionAdapter() {

                @Override
                public void widgetSelected(SelectionEvent e) {
                    natTable.doCommand(new DisplayColumnChooserCommand(natTable));
                }
            });
        }
    };
}
Also used : SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) SelectionEvent(org.eclipse.swt.events.SelectionEvent) NatTable(net.sourceforge.nattable.NatTable) MenuItem(org.eclipse.swt.widgets.MenuItem) Menu(org.eclipse.swt.widgets.Menu) DisplayColumnChooserCommand(net.sourceforge.nattable.columnChooser.command.DisplayColumnChooserCommand)

Aggregations

MenuItem (org.eclipse.swt.widgets.MenuItem)122 Menu (org.eclipse.swt.widgets.Menu)97 SelectionEvent (org.eclipse.swt.events.SelectionEvent)92 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)77 ArrayList (java.util.ArrayList)30 GridData (org.eclipse.swt.layout.GridData)24 MenuManager (org.eclipse.jface.action.MenuManager)22 Composite (org.eclipse.swt.widgets.Composite)22 SelectionListener (org.eclipse.swt.events.SelectionListener)20 Point (org.eclipse.swt.graphics.Point)20 Rectangle (org.eclipse.swt.graphics.Rectangle)18 GridLayout (org.eclipse.swt.layout.GridLayout)18 List (java.util.List)17 FocusEvent (org.eclipse.swt.events.FocusEvent)17 MenuEvent (org.eclipse.swt.events.MenuEvent)17 Map (java.util.Map)15 TableViewer (org.eclipse.jface.viewers.TableViewer)15 FocusAdapter (org.eclipse.swt.events.FocusAdapter)15 Label (org.eclipse.swt.widgets.Label)15 NatTable (net.sourceforge.nattable.NatTable)14