Search in sources :

Example 1 with ExpansionEvent

use of org.eclipse.ui.forms.events.ExpansionEvent in project translationstudio8 by heartsome.

the class ConcordanceSearchDialog method createDialogArea.

@Override
protected Control createDialogArea(Composite parent) {
    tparent = (Composite) super.createDialogArea(parent);
    GridLayoutFactory.swtDefaults().spacing(0, 0).extendedMargins(SWT.DEFAULT, SWT.DEFAULT, 0, 0).applyTo(tparent);
    // tparent.setLayout(new GridLayout());
    GridData parentData = new GridData(GridData.FILL_BOTH);
    parentData.widthHint = 1058;
    tparent.setLayoutData(parentData);
    Group groupSearch = new Group(tparent, SWT.NONE);
    GridLayoutFactory.swtDefaults().margins(5, 5).numColumns(3).equalWidth(false).applyTo(groupSearch);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(groupSearch);
    groupSearch.setText(Messages.getString("dialog.ConcordanceSearchDialog.groupSearch"));
    Label lblSearch = new Label(groupSearch, SWT.NONE);
    lblSearch.setText(Messages.getString("dialog.ConcordanceSearchDialog.lblSearch"));
    GridDataFactory.fillDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(lblSearch);
    cmbSearch = new Combo(groupSearch, SWT.BORDER | SWT.DROP_DOWN);
    cmbSearch.setText(strSearchText == null ? "" : InnerTagUtil.resolveTag(strSearchText));
    GridData txtData = new GridData();
    // 解决在 Windows 下文本框高度太小的问题
    // txtData.heightHint = 20;
    txtData.widthHint = 610;
    cmbSearch.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    btnSearch = new Button(groupSearch, SWT.PUSH);
    btnSearch.setText(Messages.getString("dialog.ConcordanceSearchDialog.btnSearch"));
    new Label(groupSearch, SWT.NONE);
    Composite compCondition = new Composite(groupSearch, SWT.NONE);
    GridLayoutFactory.fillDefaults().numColumns(3).equalWidth(false).applyTo(compCondition);
    GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(compCondition);
    btnIsCaseSensitive = new Button(compCondition, SWT.CHECK);
    btnIsCaseSensitive.setText(Messages.getString("dialog.ConcordanceSearchDialog.btnIsCaseSensitive"));
    GridDataFactory.swtDefaults().applyTo(btnIsCaseSensitive);
    btnIsIgnoreMark = new Button(compCondition, SWT.CHECK);
    btnIsIgnoreMark.setText(Messages.getString("dialog.ConcordanceSearchDialog.btnIsIgnoreMark"));
    btnIsIgnoreMark.setSelection(true);
    GridDataFactory.swtDefaults().applyTo(btnIsIgnoreMark);
    btnApplyRegularExpression = new Button(compCondition, SWT.CHECK);
    btnApplyRegularExpression.setText(Messages.getString("dialog.ConcordanceSearchDialog.btnApplyRegularExpression"));
    GridDataFactory.swtDefaults().applyTo(btnApplyRegularExpression);
    Label lblTM = new Label(groupSearch, SWT.NONE);
    lblTM.setText(Messages.getString("dialog.ConcordanceSearchDialog.lblDB"));
    GridDataFactory.fillDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(lblTM);
    Composite compDB = new Composite(groupSearch, SWT.NONE);
    GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(compDB);
    GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(compDB);
    cmbDatabase = new Combo(compDB, SWT.READ_ONLY);
    GridDataFactory.swtDefaults().hint(150, SWT.DEFAULT).applyTo(cmbDatabase);
    initDatabaseCombo();
    btnSelectLang = new Button(compDB, SWT.RIGHT);
    // GridData data = new GridData();
    // data.widthHint = 150;
    // data.heightHint = 27;
    // btnSelectLang.setLayoutData(data);
    // btnSelectLang.setImage(Activator.getImageDescriptor(ImageConstants.CONCORDANCE_SELECT_LANG).createImage());
    // btnSelectLang.addPaintListener(new PaintListener() {
    // public void paintControl(PaintEvent e) {
    // e.gc.drawText(Messages.getString("dialog.ConcordanceSearchDialog.btnSelectLang"), 5, 5,
    // SWT.DRAW_TRANSPARENT);
    // }
    // });
    btnSelectLang.setText(Messages.getString("dialog.ConcordanceSearchDialog.btnSelectLang"));
    initLanguageMenu();
    FormToolkit toolkit = new FormToolkit(parent.getDisplay());
    Group groupFilter = new Group(tparent, SWT.None);
    GridLayoutFactory.swtDefaults().margins(5, 5).applyTo(groupFilter);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(groupFilter);
    groupFilter.setText(Messages.getString("dialog.ConcordanceSearchDialog.groupFilter"));
    cmpExpandableFilter = toolkit.createExpandableComposite(groupFilter, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
    cmpExpandableFilter.setText(Messages.getString("dialog.ConcordanceSearchDialog.cmpExpandableFilter"));
    Composite cmpFilter = toolkit.createComposite(cmpExpandableFilter);
    cmpFilter.setLayout(new GridLayout(3, false));
    GridDataFactory.fillDefaults().grab(true, false).applyTo(cmpFilter);
    cmpExpandableFilter.setBackground(tparent.getBackground());
    cmpExpandableFilter.setClient(cmpFilter);
    cmpFilter.setBackground(tparent.getBackground());
    cmbSrcOrTgt = new Combo(cmpFilter, SWT.READ_ONLY);
    GridDataFactory.swtDefaults().hint(100, SWT.DEFAULT).applyTo(cmbSrcOrTgt);
    cmbSrcOrTgt.setItems(new String[] { Messages.getString("dialog.ConcordanceSearchDialog.cmbSrcOrTgt1"), Messages.getString("dialog.ConcordanceSearchDialog.cmbSrcOrTgt2") });
    cmbSrcOrTgt.setData(Messages.getString("dialog.ConcordanceSearchDialog.cmbSrcOrTgt1"), strSrcLang);
    cmbSrcOrTgt.setData(Messages.getString("dialog.ConcordanceSearchDialog.cmbSrcOrTgt2"), strTgtLang);
    cmbContain = new Combo(cmpFilter, SWT.READ_ONLY);
    GridDataFactory.swtDefaults().hint(100, SWT.DEFAULT).applyTo(cmbContain);
    cmbContain.setItems(new String[] { Messages.getString("dialog.ConcordanceSearchDialog.cmbContain1"), Messages.getString("dialog.ConcordanceSearchDialog.cmbContain2") });
    cmbContain.setData(Messages.getString("dialog.ConcordanceSearchDialog.cmbContain1"), "LIKE");
    cmbContain.setData(Messages.getString("dialog.ConcordanceSearchDialog.cmbContain2"), "NOT LIKE");
    cmbFilter = new Combo(cmpFilter, SWT.BORDER | SWT.DROP_DOWN);
    GridDataFactory.swtDefaults().hint(410, SWT.DEFAULT).applyTo(cmbFilter);
    cmpExpandableFilter.setExpanded(false);
    groupTable = new Group(tparent, SWT.None);
    GridLayoutFactory.swtDefaults().margins(5, 5).spacing(0, 2).numColumns(1).equalWidth(false).applyTo(groupTable);
    GridDataFactory.fillDefaults().hint(740, 450).applyTo(groupTable);
    groupTable.setText(Messages.getString("dialog.ConcordanceSearchDialog.groupTable"));
    groupTable.setBackground(groupTable.getParent().getBackground());
    groupTable.setBackgroundMode(SWT.INHERIT_FORCE);
    cmpExpandableFilter.addExpansionListener(new IExpansionListener() {

        public void expansionStateChanging(ExpansionEvent e) {
            layoutExpandable();
        }

        public void expansionStateChanged(ExpansionEvent e) {
            layoutExpandable();
        }
    });
    jTable = new JaretTable(groupTable, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL) {

        public void rowSelectionAdded(IRow row) {
            super.rowSelectionAdded(row);
        // XPropRow propRow = (XPropRow) row;
        // HashMap<String, String> map = (HashMap<String, String>) propRow.getDataMap();
        // String strChangeDate = map.get("changeDate");
        // // strChangeDate = checkString(strChangeDate == null || strChangeDate.equals("") ? "" :
        // CommonFunctions
        // // .retGMTdate(strChangeDate));
        // strChangeDate = checkString(strChangeDate == null || strChangeDate.equals("") ? "" : strChangeDate);
        // String strChangeId = checkString(map.get("changeId"));
        // String strDbInfo = checkString(map.get("dbType")) + "/" + checkString(map.get("severName")) + "/"
        // + checkString(map.get("dbName"));
        // String strProjectInfo = checkString(map.get("projectRef"));
        // String strJobInfo = checkString(map.get("jobRef"));
        // MessageFormat mf = new MessageFormat(strMsg);
        // lblInfo.setText(mf.format(new String[] { strChangeDate, strChangeId, strDbInfo, strProjectInfo,
        // strJobInfo }));
        }
    };
    jTable.setLayoutData(new GridData(GridData.FILL_BOTH));
    ((DefaultTableHeaderRenderer) jTable.getHeaderRenderer()).setAlignment(DefaultTableHeaderRenderer.Alignment.LEFT);
    jTable.setHeaderResizeAllowed(false);
    jTable.setAllowSorting(false);
    jTable.registerCellEditor(String.class, new ReadOnlyTextCellEditor(true));
    PropListeningTableModel model = new PropListeningTableModel();
    ListPropCol colTag = new ListPropCol("Flag", Messages.getString("dialog.ConcordanceSearchDialog.colTag"), "Flag", -1);
    model.addColumn(colTag);
    jTable.getTableViewState().setColumnWidth(colTag, 55);
    if (strSrcLang != null) {
        PropCol ct1 = new PropCol("Source", strSrcLang, "Source");
        ct1.setEditable(false);
        model.addColumn(ct1);
        jTable.getTableViewState().setColumnWidth(ct1, 325);
    }
    if (strTgtLang != null) {
        PropCol col = new PropCol("Target", strTgtLang, "Target");
        model.addColumn(col);
        jTable.getTableViewState().setColumnWidth(col, 325);
    }
    for (int i = 0; i < lstLangs.size(); i++) {
        String strLang = lstLangs.get(i);
        ListPropCol col = new ListPropCol("Target", strLang, "LstTarget", i);
        col.setEditable(true);
        model.addColumn(col);
        jTable.getTableViewState().setColumnWidth(col, 0);
    }
    PropCol attrCol = new PropCol("Attribute", "Attribute", "Attribute");
    attrCol.setEditable(false);
    model.addColumn(attrCol);
    jTable.getTableViewState().setColumnWidth(attrCol, 325);
    tableModel = model;
    jTable.setHeaderHeight(20);
    jTable.setTableModel(tableModel);
    jTable.setDrawHeader(true);
    // jTable.getTableViewState().setRowHeightMode(ITableViewState.RowHeightMode.VARIABLE);
    jTable.registerCellRenderer(tableModel.getColumn(2), new TextCellRenderer());
    colCount = jTable.getColumnCount();
    for (int colNum = colCount - 2; colNum >= 3; colNum--) {
        IColumn column = jTable.getColumn(colNum);
        jTable.registerCellRenderer(tableModel.getColumn(colNum), new TextCellRenderer());
        jTable.getTableViewState().setColumnVisible(column, false);
    }
    ImageCellRender imgRender = new ImageCellRender();
    // 表示需要删除标记(记录有标记时要显示的图片)
    imgRender.addImageDescriptorMapping(Boolean.FALSE, "1", Activator.getImageDescriptor(ImageConstants.TAG_DELETE));
    // 表示需要添加标记(记录有标记时要显示的图片)
    imgRender.addImageDescriptorMapping(Boolean.TRUE, "2", Activator.getImageDescriptor(ImageConstants.TAG_ADD));
    jTable.registerCellRenderer(tableModel.getColumn(0), imgRender);
    jTable.getSelectionModel().setOnlyRowSelectionAllowed(true);
    jTable.getSelectionModel().setMultipleSelectionAllowed(false);
    Composite cmpPage = new Composite(groupTable, SWT.NONE);
    GridLayoutFactory.fillDefaults().spacing(3, 0).extendedMargins(0, 5, 0, 0).numColumns(3).equalWidth(false).applyTo(cmpPage);
    cmpPage.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    cmpPage.setBackground(cmpPage.getParent().getBackground());
    cmpPage.setBackgroundMode(SWT.INHERIT_FORCE);
    new Label(cmpPage, SWT.None).setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    ToolBar toolBar = new ToolBar(cmpPage, SWT.NO_FOCUS | SWT.FLAT);
    btnFirst = new ToolItem(toolBar, SWT.PUSH);
    btnFirst.setImage(firstImage);
    btnPre = new ToolItem(toolBar, SWT.NONE);
    btnPre.setImage(preImage);
    btnNext = new ToolItem(toolBar, SWT.NONE);
    btnNext.setImage(nextImage);
    btnLast = new ToolItem(toolBar, SWT.NONE);
    btnLast.setImage(lastImage);
    txtPage = new Text(cmpPage, SWT.BORDER);
    GridDataFactory.fillDefaults().hint(80, SWT.DEFAULT).applyTo(txtPage);
    readDialogSettings();
    updateCombo(cmbSearch, lstSearchHistory);
    updateCombo(cmbFilter, lstFilterHistory);
    if (!strSearchText.equals("")) {
        cmbSearch.setText(strSearchText);
    } else if (lstSearchHistory != null && lstSearchHistory.size() > 0) {
        cmbSearch.setText(lstSearchHistory.get(0));
    }
    cmbSearch.setSelection(new Point(0, cmbSearch.getText().length()));
    if (lstFilterHistory != null && lstFilterHistory.size() > 0) {
        cmbFilter.setText(lstFilterHistory.get(0));
        cmbFilter.setSelection(new Point(0, cmbFilter.getText().length()));
    }
    initListener();
    return parent;
}
Also used : StyleTextCellRenderer(net.heartsome.cat.ts.ui.jaret.renderer.StyleTextCellRenderer) TextCellRenderer(de.jaret.util.ui.table.renderer.TextCellRenderer) Group(org.eclipse.swt.widgets.Group) IExpansionListener(org.eclipse.ui.forms.events.IExpansionListener) FormToolkit(org.eclipse.ui.forms.widgets.FormToolkit) JaretTable(de.jaret.util.ui.table.JaretTable) Label(org.eclipse.swt.widgets.Label) Combo(org.eclipse.swt.widgets.Combo) PropListeningTableModel(de.jaret.util.ui.table.model.PropListeningTableModel) ImageCellRender(net.heartsome.cat.ts.ui.jaret.renderer.ImageCellRender) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) ToolItem(org.eclipse.swt.widgets.ToolItem) Composite(org.eclipse.swt.widgets.Composite) ExpandableComposite(org.eclipse.ui.forms.widgets.ExpandableComposite) Text(org.eclipse.swt.widgets.Text) Point(org.eclipse.swt.graphics.Point) Point(org.eclipse.swt.graphics.Point) IRow(de.jaret.util.ui.table.model.IRow) IColumn(de.jaret.util.ui.table.model.IColumn) PropCol(de.jaret.util.ui.table.model.PropCol) GridData(org.eclipse.swt.layout.GridData) ToolBar(org.eclipse.swt.widgets.ToolBar) DefaultTableHeaderRenderer(de.jaret.util.ui.table.renderer.DefaultTableHeaderRenderer) ExpansionEvent(org.eclipse.ui.forms.events.ExpansionEvent)

Example 2 with ExpansionEvent

use of org.eclipse.ui.forms.events.ExpansionEvent in project hale by halestudio.

the class MismatchDetailsPage method createMismatchSection.

@SuppressWarnings("unused")
private void createMismatchSection(Composite parent) {
    // create "Mismatch" Section
    Section sectionMismatch = toolkit.createSection(parent, Section.DESCRIPTION | Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED);
    ColumnLayoutData cd = new ColumnLayoutData();
    sectionMismatch.setLayoutData(cd);
    sectionMismatch.addExpansionListener(new ExpansionAdapter() {

        public void expansionStateChanged(ExpansionEvent e) {
            overviewForm.reflow(true);
        }
    });
    sectionMismatch.setText("Mismatch");
    sectionMismatch.setDescription("General information on this mismatch.");
    Composite sectionMismatchClient = toolkit.createComposite(sectionMismatch);
    sectionMismatchClient.setLayout(new GridLayout(2, false));
    Label labelType = toolkit.createLabel(sectionMismatchClient, "Type:");
    this.textType = toolkit.createText(sectionMismatchClient, "");
    this.textType.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
    this.textType.setEditable(false);
    Label labelProvenance = toolkit.createLabel(sectionMismatchClient, "Provenance:");
    this.textProvenance = toolkit.createText(sectionMismatchClient, "");
    this.textProvenance.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
    this.textProvenance.setEditable(false);
    Label labelStatus = toolkit.createLabel(sectionMismatchClient, "Status:");
    this.textStatus = toolkit.createText(sectionMismatchClient, "");
    this.textStatus.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
    Label labelComment = toolkit.createLabel(sectionMismatchClient, "Comments:");
    GridData gd = new GridData();
    gd.horizontalSpan = 2;
    labelComment.setLayoutData(gd);
    this.textComment = toolkit.createText(sectionMismatchClient, "", SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
    gd = new GridData();
    gd.horizontalSpan = 2;
    gd.grabExcessVerticalSpace = true;
    gd.grabExcessHorizontalSpace = true;
    gd.horizontalAlignment = SWT.FILL;
    gd.verticalAlignment = SWT.FILL;
    gd.heightHint = 40;
    textComment.setLayoutData(gd);
    toolkit.paintBordersFor(sectionMismatchClient);
    sectionMismatch.setClient(sectionMismatchClient);
}
Also used : GridLayout(org.eclipse.swt.layout.GridLayout) Composite(org.eclipse.swt.widgets.Composite) ColumnLayoutData(org.eclipse.ui.forms.widgets.ColumnLayoutData) Label(org.eclipse.swt.widgets.Label) GridData(org.eclipse.swt.layout.GridData) ExpansionAdapter(org.eclipse.ui.forms.events.ExpansionAdapter) Section(org.eclipse.ui.forms.widgets.Section) ExpansionEvent(org.eclipse.ui.forms.events.ExpansionEvent)

Example 3 with ExpansionEvent

use of org.eclipse.ui.forms.events.ExpansionEvent in project hale by halestudio.

the class MismatchDetailsPage method createReasonSection.

private void createReasonSection(Composite parent) {
    // create "Reason" Section
    Section sectionReason = toolkit.createSection(parent, Section.DESCRIPTION | Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED);
    ColumnLayoutData cd = new ColumnLayoutData();
    sectionReason.setLayoutData(cd);
    sectionReason.addExpansionListener(new ExpansionAdapter() {

        public void expansionStateChanged(ExpansionEvent e) {
            overviewForm.reflow(true);
        }
    });
    sectionReason.setText("Reason");
    sectionReason.setDescription("Why this mismatch occurs.");
    Composite sectionReasonClient = toolkit.createComposite(sectionReason);
    ColumnLayout reasonColumnLayout = new ColumnLayout();
    reasonColumnLayout.maxNumColumns = 1;
    sectionReasonClient.setLayout(reasonColumnLayout);
    Tree treeReason = toolkit.createTree(sectionReasonClient, SWT.NULL);
    treeReason.setLayout(new ColumnLayout());
    ColumnLayoutData treeLayoutData = new ColumnLayoutData(50, 123);
    treeReason.setLayoutData(treeLayoutData);
    toolkit.paintBordersFor(sectionReasonClient);
    sectionReason.setClient(sectionReasonClient);
    this.reasonTreeViewer = new TreeViewer(treeReason);
    this.reasonTreeViewer.setContentProvider(new ReasonContentProvider());
    this.reasonTreeViewer.setLabelProvider(new ReasonLabelProvider());
}
Also used : Composite(org.eclipse.swt.widgets.Composite) TreeViewer(org.eclipse.jface.viewers.TreeViewer) ColumnLayout(org.eclipse.ui.forms.widgets.ColumnLayout) ColumnLayoutData(org.eclipse.ui.forms.widgets.ColumnLayoutData) Tree(org.eclipse.swt.widgets.Tree) ExpansionAdapter(org.eclipse.ui.forms.events.ExpansionAdapter) Section(org.eclipse.ui.forms.widgets.Section) ExpansionEvent(org.eclipse.ui.forms.events.ExpansionEvent)

Example 4 with ExpansionEvent

use of org.eclipse.ui.forms.events.ExpansionEvent in project knime-core by knime.

the class PreferredRendererPreferencePage method createFieldEditors.

/**
 * {@inheritDoc}
 */
@Override
protected void createFieldEditors() {
    Map<String, List<ExtensibleUtilityFactory>> groupedUtilityFactories = new HashMap<String, List<ExtensibleUtilityFactory>>();
    // TODO retrieve the utility factories from the data type extension point once we have it
    for (ExtensibleUtilityFactory fac : ExtensibleUtilityFactory.getAllFactories()) {
        List<ExtensibleUtilityFactory> groupList = groupedUtilityFactories.get(fac.getGroupName());
        if (groupList == null) {
            groupList = new ArrayList<ExtensibleUtilityFactory>(16);
            groupedUtilityFactories.put(fac.getGroupName(), groupList);
        }
        groupList.add(fac);
    }
    List<String> groupNames = new ArrayList<String>(groupedUtilityFactories.keySet());
    Collections.sort(groupNames);
    for (String group : groupNames) {
        final Section sectionExpander = new Section(getFieldEditorParent(), ExpandableComposite.TWISTIE | ExpandableComposite.CLIENT_INDENT);
        sectionExpander.setText(group);
        final Composite section = new Composite(sectionExpander, SWT.NONE);
        sectionExpander.setClient(section);
        sectionExpander.addExpansionListener(new ExpansionAdapter() {

            @Override
            public void expansionStateChanged(final ExpansionEvent e) {
                Composite comp = section;
                while (!(comp instanceof ScrolledComposite)) {
                    comp = comp.getParent();
                }
                // this is to fix a bug in Eclipse, no scrollbar is shown when this is true
                ((ScrolledComposite) comp).setExpandVertical(false);
                comp = section;
                while (!(comp instanceof ScrolledComposite)) {
                    comp.setSize(comp.computeSize(SWT.DEFAULT, SWT.DEFAULT));
                    comp.layout();
                    comp = comp.getParent();
                }
            }
        });
        List<ExtensibleUtilityFactory> utilityFactories = groupedUtilityFactories.get(group);
        Collections.sort(utilityFactories, utilityFactoryComparator);
        for (ExtensibleUtilityFactory utilFac : utilityFactories) {
            List<DataValueRendererFactory> rendererFactories = new ArrayList<DataValueRendererFactory>(utilFac.getAvailableRenderers());
            Collections.sort(rendererFactories, rendererFactoryComparator);
            String[][] comboEntries = new String[utilFac.getAvailableRenderers().size()][2];
            int i = 0;
            for (DataValueRendererFactory rendFac : rendererFactories) {
                comboEntries[i++] = new String[] { rendFac.getDescription(), rendFac.getId() };
            }
            ComboFieldEditor c = new ComboFieldEditor(utilFac.getPreferenceKey(), utilFac.getName(), comboEntries, section);
            c.setEnabled(comboEntries.length > 1, section);
            addField(c);
            m_fieldEditors.put(utilFac.getPreferenceKey(), c);
        }
        // add a dummy control which occupies the second column so that the next expander is in a new row
        new Label(getFieldEditorParent(), SWT.NONE);
    }
    DefaultScope.INSTANCE.getNode(FrameworkUtil.getBundle(DataValueRendererFactory.class).getSymbolicName()).addPreferenceChangeListener(this);
}
Also used : Composite(org.eclipse.swt.widgets.Composite) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) ExpandableComposite(org.eclipse.ui.forms.widgets.ExpandableComposite) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Label(org.eclipse.swt.widgets.Label) ExpansionAdapter(org.eclipse.ui.forms.events.ExpansionAdapter) ComboFieldEditor(org.eclipse.jface.preference.ComboFieldEditor) Section(org.eclipse.ui.forms.widgets.Section) ExtensibleUtilityFactory(org.knime.core.data.ExtensibleUtilityFactory) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) ArrayList(java.util.ArrayList) List(java.util.List) DataValueRendererFactory(org.knime.core.data.renderer.DataValueRendererFactory) ExpansionEvent(org.eclipse.ui.forms.events.ExpansionEvent)

Example 5 with ExpansionEvent

use of org.eclipse.ui.forms.events.ExpansionEvent in project egit by eclipse.

the class CreateTagDialog method createAdvancedSection.

private void createAdvancedSection(final Composite composite) {
    if (commitId != null)
        return;
    ExpandableComposite advanced = new ExpandableComposite(composite, ExpandableComposite.TREE_NODE | ExpandableComposite.CLIENT_INDENT);
    advanced.setText(UIText.CreateTagDialog_advanced);
    advanced.setToolTipText(UIText.CreateTagDialog_advancedToolTip);
    advanced.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    Composite advancedComposite = new Composite(advanced, SWT.WRAP);
    advancedComposite.setLayout(GridLayoutFactory.swtDefaults().create());
    advancedComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    Label advancedLabel = new Label(advancedComposite, SWT.WRAP);
    advancedLabel.setText(UIText.CreateTagDialog_advancedMessage);
    advancedLabel.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    commitCombo = new CommitCombo(advancedComposite, SWT.NORMAL);
    commitCombo.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(300, SWT.DEFAULT).create());
    advanced.setClient(advancedComposite);
    advanced.addExpansionListener(new ExpansionAdapter() {

        @Override
        public void expansionStateChanged(ExpansionEvent e) {
            // fill the Combo lazily to improve UI responsiveness
            if (((Boolean) e.data).booleanValue() && commitCombo.getItemCount() == 0) {
                final Collection<RevCommit> commits = new ArrayList<>();
                try {
                    PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {

                        @Override
                        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                            getRevCommits(commits);
                        }
                    });
                } catch (InvocationTargetException e1) {
                    Activator.logError(e1.getMessage(), e1);
                } catch (InterruptedException e1) {
                // ignore here
                }
                for (RevCommit revCommit : commits) commitCombo.add(revCommit);
                // Set combo selection if a tag is selected
                if (existingTag != null)
                    commitCombo.setSelectedElement(existingTag.getObject());
            }
            composite.layout(true);
            composite.getShell().pack();
        }
    });
}
Also used : Composite(org.eclipse.swt.widgets.Composite) ExpandableComposite(org.eclipse.ui.forms.widgets.ExpandableComposite) Label(org.eclipse.swt.widgets.Label) ExpansionAdapter(org.eclipse.ui.forms.events.ExpansionAdapter) InvocationTargetException(java.lang.reflect.InvocationTargetException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) Collection(java.util.Collection) ExpandableComposite(org.eclipse.ui.forms.widgets.ExpandableComposite) ExpansionEvent(org.eclipse.ui.forms.events.ExpansionEvent) RevCommit(org.eclipse.jgit.revwalk.RevCommit)

Aggregations

ExpansionEvent (org.eclipse.ui.forms.events.ExpansionEvent)58 ExpansionAdapter (org.eclipse.ui.forms.events.ExpansionAdapter)53 GridData (org.eclipse.swt.layout.GridData)46 Composite (org.eclipse.swt.widgets.Composite)46 ExpandableComposite (org.eclipse.ui.forms.widgets.ExpandableComposite)46 GridLayout (org.eclipse.swt.layout.GridLayout)38 Section (org.eclipse.ui.forms.widgets.Section)30 SelectionEvent (org.eclipse.swt.events.SelectionEvent)12 TableViewer (org.eclipse.jface.viewers.TableViewer)11 ArrayList (java.util.ArrayList)7 ICellModifier (org.eclipse.jface.viewers.ICellModifier)7 TextCellEditor (org.eclipse.jface.viewers.TextCellEditor)7 ScrolledComposite (org.eclipse.swt.custom.ScrolledComposite)7 SelectionListener (org.eclipse.swt.events.SelectionListener)7 Point (org.eclipse.swt.graphics.Point)7 Label (org.eclipse.swt.widgets.Label)7 TableColumn (org.eclipse.swt.widgets.TableColumn)7 TableItem (org.eclipse.swt.widgets.TableItem)7 ParseTree (org.antlr.v4.runtime.tree.ParseTree)6 AddedParseTree (org.eclipse.titan.common.parsers.AddedParseTree)6