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;
}
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);
}
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());
}
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);
}
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();
}
});
}
Aggregations