use of org.eclipse.swt.events.SelectionEvent in project translationstudio8 by heartsome.
the class PreTranslationDialog method createPageContent.
/**
* 创建页面内容
* @param parent
* ;
*/
private void createPageContent(Composite parent) {
Composite composite = new Composite(parent, SWT.NONE);
GridLayout gl_composite = new GridLayout(1, false);
gl_composite.marginHeight = 0;
gl_composite.marginWidth = 0;
gl_composite.verticalSpacing = 0;
composite.setLayout(gl_composite);
composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
viewer = new TableViewer(composite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
final Table table = viewer.getTable();
GridData tableGd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
tableGd.heightHint = 220;
table.setLayoutData(tableGd);
table.setLinesVisible(true);
table.setHeaderVisible(true);
String[] clmnTitles = new String[] { Messages.getString("dialog.PreTranslationDialog.clmnTitles1"), Messages.getString("dialog.PreTranslationDialog.clmnTitles2"), Messages.getString("dialog.PreTranslationDialog.clmnTitles3"), Messages.getString("dialog.PreTranslationDialog.clmnTitles4") };
int[] clmnBounds = { 80, 250, 100, 100 };
for (int i = 0; i < clmnTitles.length; i++) {
createTableViewerColumn(viewer, clmnTitles[i], clmnBounds[i], i);
}
viewer.setLabelProvider(new TableViewerLabelProvider());
viewer.setContentProvider(new ArrayContentProvider());
viewer.setInput(this.getTableViewerInput());
// 参数面板
Composite cmpPerTranParam = new Composite(composite, SWT.BORDER);
GridDataFactory.createFrom(new GridData(GridData.FILL_BOTH)).applyTo(cmpPerTranParam);
GridLayoutFactory.swtDefaults().numColumns(3).applyTo(cmpPerTranParam);
// 预翻译参数
Group groupMatch = new Group(cmpPerTranParam, SWT.NONE);
GridDataFactory.createFrom(new GridData(GridData.FILL_BOTH)).applyTo(groupMatch);
GridLayoutFactory.swtDefaults().applyTo(groupMatch);
groupMatch.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.match"));
Composite cmpPercent = new Composite(groupMatch, SWT.NONE);
GridDataFactory.createFrom(new GridData(GridData.FILL_BOTH)).applyTo(cmpPercent);
GridLayoutFactory.fillDefaults().numColumns(3).applyTo(cmpPercent);
Label lblLowest = new Label(cmpPercent, SWT.NONE);
lblLowest.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.lowestmatch"));
spinner = new Spinner(cmpPercent, SWT.BORDER);
spinner.setMinimum(1);
spinner.setIncrement(5);
spinner.setSelection(70);
Label lblPercentage = new Label(cmpPercent, SWT.NONE);
lblPercentage.setText("%");
btnIgnoreCase = new Button(groupMatch, SWT.CHECK);
btnIgnoreCase.setSelection(true);
btnIgnoreCase.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.ignorecase"));
GridDataFactory.swtDefaults().align(SWT.LEFT, SWT.CENTER).span(2, 1).applyTo(btnIgnoreCase);
btnIgnoretag = new Button(groupMatch, SWT.CHECK);
GridDataFactory.swtDefaults().align(SWT.LEFT, SWT.CENTER).span(2, 1).applyTo(btnIgnoretag);
btnIgnoretag.setSelection(true);
btnIgnoretag.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.ignoretag"));
btnIgnoretag.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
setPanalty(!btnIgnoretag.getSelection());
}
});
Composite cmpPenalty = new Composite(groupMatch, SWT.NONE);
cmpPenalty.setLayoutData(new GridData(GridData.FILL_BOTH));
GridLayoutFactory.fillDefaults().margins(15, 0).numColumns(2).applyTo(cmpPenalty);
lblTagPenalty = new Label(cmpPenalty, SWT.NONE);
lblTagPenalty.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.tagPenalty"));
spinnnerPanalty = new Spinner(cmpPenalty, SWT.BORDER);
spinnnerPanalty.setSelection(2);
setPanalty(false);
// 锁定参数
String lockGrpText = Messages.getString("dialog.PreTranslationDialog.pertrans.lock");
Group groupLockWhenPerTrans = new Group(cmpPerTranParam, SWT.MULTI | SWT.WRAP);
GridDataFactory.createFrom(new GridData(GridData.FILL_BOTH)).applyTo(groupLockWhenPerTrans);
GridLayoutFactory.swtDefaults().numColumns(1).applyTo(groupLockWhenPerTrans);
groupLockWhenPerTrans.setText(lockGrpText);
btn101Match = new Button(groupLockWhenPerTrans, SWT.CHECK);
btn101Match.setSelection(true);
btn101Match.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.fullMatch"));
btnContextMatch = new Button(groupLockWhenPerTrans, SWT.CHECK);
btnContextMatch.setSelection(true);
btnContextMatch.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.contextMatch"));
Label lbl = new Label(groupLockWhenPerTrans, SWT.NONE);
lbl.setText(lockGrpText);
lbl.setVisible(false);
// 覆盖策略
Group groupHandleOldTarget = new Group(cmpPerTranParam, SWT.NONE);
GridDataFactory.createFrom(new GridData(GridData.FILL_BOTH)).applyTo(groupHandleOldTarget);
GridLayoutFactory.swtDefaults().numColumns(1).applyTo(groupHandleOldTarget);
groupHandleOldTarget.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.handleTargetText"));
btnKeepOld = new Button(groupHandleOldTarget, SWT.RADIO);
btnKeepOld.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.keepOld"));
btnKeepBestMatch = new Button(groupHandleOldTarget, SWT.RADIO);
btnKeepBestMatch.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.keepBestMatch"));
btnKeepNew = new Button(groupHandleOldTarget, SWT.RADIO);
btnKeepNew.setText(Messages.getString("dialog.PreTranslationDialog.pertrans.keepNew"));
setDefaultValues();
}
use of org.eclipse.swt.events.SelectionEvent in project translationstudio8 by heartsome.
the class CatalogManagerDialog method initListener.
/**
* 给三个按钮添加事件 ;
*/
public void initListener() {
addBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
AddOrEditCatalogDialog addDialog = new AddOrEditCatalogDialog(getShell(), root, adHandler, true);
// 如果是点击的确定按钮,那么更新数据
if (addDialog.open() == IDialogConstants.OK_ID) {
String[][] cataValue = getCatalogValue();
tableViewer.setInput(cataValue);
tableViewer.getTable().setSelection(cataValue.length - 1);
tableViewer.getTable().showSelection();
}
}
});
// <public publicId="-//W3C//DTD XMLSCHEMA 200102//EN" uri="xml/XMLSchema.dtd"/>
// <system systemId="xliff.dtd" uri="xliff/xliff.dtd"/>
// <uri name="http://www.heartsome.net.cn/2008/XLFExtension" uri="heartsome/XLFExtension.xsd"/>
// <nextCatalog catalog="docbook5.0/catalog.xml"/>
deleteBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
if (table.getSelectionCount() >= 1) {
boolean response = MessageDialog.openConfirm(getShell(), Messages.getString("dialogs.CatalogManagerDialog.msgTitle"), Messages.getString("dialogs.CatalogManagerDialog.msg1"));
if (!response) {
return;
}
TableItem[] selectItems = table.getSelection();
List<String> xpathList = new LinkedList<String>();
List<String[]> dataList = new LinkedList<String[]>();
for (int i = 0; i < selectItems.length; i++) {
String name = selectItems[i].getText(1);
String id = selectItems[i].getText(2);
String url = selectItems[i].getText(3);
StringBuffer xpathSB = new StringBuffer();
if ("public".equalsIgnoreCase(name)) {
xpathSB.append("/catalog/public[@publicId='" + id + "' and @uri='" + url + "']");
} else if ("system".equalsIgnoreCase(name)) {
xpathSB.append("/catalog/system[@systemId='" + id + "' and @uri='" + url + "']");
} else if ("uri".equalsIgnoreCase(name)) {
xpathSB.append("/catalog/uri[@name='" + id + "' and @uri='" + url + "']");
} else if ("nextCatalog".equalsIgnoreCase(name)) {
xpathSB.append("/catalog/nextCatalog[@catalog='" + url + "']");
}
xpathList.add(xpathSB.toString());
dataList.add(new String[] { name, id, url });
}
adHandler.deleteCatalog(catalogXmlLocation, xpathList, dataList);
// 更新列表
tableViewer.setInput(getCatalogValue());
} else {
MessageDialog.openInformation(getShell(), Messages.getString("dialogs.CatalogManagerDialog.msgTitle2"), Messages.getString("dialogs.CatalogManagerDialog.msg2"));
}
}
});
editBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
editCatalog();
}
});
table.addMouseListener(new MouseAdapter() {
@Override
public void mouseDoubleClick(MouseEvent e) {
editCatalog();
}
});
}
use of org.eclipse.swt.events.SelectionEvent in project translationstudio8 by heartsome.
the class XmlConvertManagerDialog method initListener.
/**
* 给增删改三个按钮添加点击事件 ;
*/
protected void initListener() {
addBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
AddOrEditElementOfXmlConvertDialog dialog = new AddOrEditElementOfXmlConvertDialog(getShell(), true, elementsList);
int result = dialog.open();
if (result == IDialogConstants.OK_ID) {
refreshTable(dialog.getCurrentElement());
}
}
});
editBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
editElement();
}
});
deleteBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
ISelection selection = tableViewer.getSelection();
if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
if (MessageDialog.openConfirm(getShell(), Messages.getString("dialogs.XmlConvertManagerDialog.msgTitle1"), Messages.getString("dialogs.XmlConvertManagerDialog.msg1"))) {
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
@SuppressWarnings("unchecked") Iterator<ElementBean> iter = structuredSelection.iterator();
ElementBean bean = new ElementBean();
while (iter.hasNext()) {
bean = iter.next();
elementsList.remove(bean);
}
refreshTable(null);
}
} else {
MessageDialog.openInformation(getShell(), Messages.getString("dialogs.XmlConvertManagerDialog.msgTitle2"), Messages.getString("dialogs.XmlConvertManagerDialog.msg2"));
}
}
});
}
use of org.eclipse.swt.events.SelectionEvent in project translationstudio8 by heartsome.
the class XmlConverterConfigurationDialog method createHelpToolItem.
/**
* 添加帮助按钮,备注,这里的配置与其他的不一样
* robert 2012-09-06
*/
protected Control createHelpToolItem(Composite parent) {
// ROBERTHELP xml 转换器配置
String language = CommonFunction.getSystemLanguage();
final String helpUrl = MessageFormat.format("/net.heartsome.cat.ts.ui.help/html/{0}/ch08.html#configure-xml-converter", language);
Image helpImage = JFaceResources.getImage(DLG_IMG_HELP);
ToolBar toolBar = new ToolBar(parent, SWT.FLAT | SWT.NO_FOCUS);
toolBar.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
final Cursor cursor = new Cursor(parent.getDisplay(), SWT.CURSOR_HAND);
toolBar.setCursor(cursor);
toolBar.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
cursor.dispose();
}
});
ToolItem helpItem = new ToolItem(toolBar, SWT.NONE);
helpItem.setImage(helpImage);
//$NON-NLS-1$
helpItem.setToolTipText(JFaceResources.getString("helpToolTip"));
helpItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
PlatformUI.getWorkbench().getHelpSystem().displayHelpResource(helpUrl);
}
});
return toolBar;
}
use of org.eclipse.swt.events.SelectionEvent in project translationstudio8 by heartsome.
the class XmlConverterConfigurationDialog method createDialogArea.
@Override
protected Control createDialogArea(Composite parent) {
Composite tparent = (Composite) super.createDialogArea(parent);
GridDataFactory.fillDefaults().grab(true, true).hint(400, 450).minSize(400, 450).applyTo(tparent);
tableViewer = new TableViewer(tparent, SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
table = tableViewer.getTable();
table.setLinesVisible(true);
table.setHeaderVisible(true);
GridDataFactory.fillDefaults().grab(true, true).applyTo(table);
tableViewer.setLabelProvider(new TableViewerLabelProvider());
tableViewer.setContentProvider(new ArrayContentProvider());
String[] columnNames = new String[] { Messages.getString("dialogs.XmlConverterConfigurationDialog.columnNames1"), Messages.getString("dialogs.XmlConverterConfigurationDialog.columnNames2") };
int[] columnAlignments = new int[] { SWT.LEFT, SWT.LEFT };
for (int i = 0; i < columnNames.length; i++) {
TableColumn tableColumn = new TableColumn(table, columnAlignments[i]);
tableColumn.setText(columnNames[i]);
tableColumn.setWidth(50);
// 处理排序的问题
switch(i) {
case 0:
tableColumn.addSelectionListener(new SelectionAdapter() {
// 升序
boolean asc = true;
@Override
public void widgetSelected(SelectionEvent e) {
tableViewer.setSorter(asc ? XmlConvertOrder.index_ASC : XmlConvertOrder.index_DESC);
asc = !asc;
}
});
break;
case 1:
tableColumn.addSelectionListener(new SelectionAdapter() {
// 升序
boolean asc = true;
@Override
public void widgetSelected(SelectionEvent e) {
tableViewer.setSorter(asc ? XmlConvertOrder.xmlName_ASC : XmlConvertOrder.xmlName_DESC);
asc = !asc;
}
});
break;
default:
break;
}
}
tableViewer.setInput(getXmlConfigFilesInfo());
// 让列表列宽动态变化
table.addListener(SWT.Resize, new Listener() {
public void handleEvent(Event event) {
final Table table = ((Table) event.widget);
final TableColumn[] columns = table.getColumns();
event.widget.getDisplay().syncExec(new Runnable() {
public void run() {
double[] columnWidths = new double[] { 0.1, 0.85 };
for (int i = 0; i < columns.length; i++) columns[i].setWidth((int) (table.getBounds().width * columnWidths[i]));
}
});
}
});
tableViewer.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
editConfigXml();
}
});
return tparent;
}
Aggregations