use of org.eclipse.swt.events.DisposeListener in project translationstudio8 by heartsome.
the class NewProjectHandler method execute.
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
NewProjectWizard wizard = new NewProjectWizard();
TSWizardDialog dialog = new NewProjectWizardDialog(window.getShell(), wizard) {
@Override
protected void createButtonsForButtonBar(Composite parent) {
super.createButtonsForButtonBar(parent);
getButton(IDialogConstants.FINISH_ID).setText(Messages.getString("handlers.NewProjectHandler.finishLbl"));
}
// robert help 2012-09-06
@Override
protected Control createHelpControl(Composite parent) {
Image helpImage = JFaceResources.getImage(DLG_IMG_HELP);
ToolBar toolBar = new ToolBar(parent, SWT.FLAT | SWT.NO_FOCUS);
((GridLayout) parent.getLayout()).numColumns++;
toolBar.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
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) {
String language = CommonFunction.getSystemLanguage();
String helpUrl = "";
if (getCurrentPage() instanceof NewProjectWizardProjInfoPage) {
// ROBERTHELP 新建项目-项目信息
helpUrl = MessageFormat.format("/net.heartsome.cat.ts.ui.help/html/{0}/ch05s02.html#create-project-wizard-project-info", language);
PlatformUI.getWorkbench().getHelpSystem().displayHelpResource(helpUrl);
} else if (getCurrentPage() instanceof NewProjectWizardLanguagePage) {
// ROBERTHELP 新建项目-语言信息
helpUrl = MessageFormat.format("/net.heartsome.cat.ts.ui.help/html/{0}/ch05s02.html#create-project-wizard-languages", language);
PlatformUI.getWorkbench().getHelpSystem().displayHelpResource(helpUrl);
} else if (getCurrentPage() instanceof AbstractNewProjectWizardPage) {
if ("TM".equals(((AbstractNewProjectWizardPage) getCurrentPage()).getPageType())) {
// ROBERTHELP 新建项目-记忆库
helpUrl = MessageFormat.format("/net.heartsome.cat.ts.ui.help/html/{0}/ch05s02.html#create-project-wizard-tm", language);
PlatformUI.getWorkbench().getHelpSystem().displayHelpResource(helpUrl);
} else {
// ROBERTHELP 新建项目-术语库
helpUrl = MessageFormat.format("/net.heartsome.cat.ts.ui.help/html/{0}/ch05s02.html#create-project-wizard-tb", language);
PlatformUI.getWorkbench().getHelpSystem().displayHelpResource(helpUrl);
}
} else if (getCurrentPage() instanceof NewProjectWizardSourceFilePage) {
// ROBERTHELP 新建项目-源文件
helpUrl = MessageFormat.format("/net.heartsome.cat.ts.ui.help/html/{0}/ch05s02.html#create-project-wizard-source-file", language);
PlatformUI.getWorkbench().getHelpSystem().displayHelpResource(helpUrl);
}
}
});
return toolBar;
}
};
dialog.setHelpAvailable(true);
dialog.open();
return null;
}
use of org.eclipse.swt.events.DisposeListener in project translationstudio8 by heartsome.
the class HelpDialog method createHelpControl.
/**
* robert help 2012-08-06
*/
@Override
protected Control createHelpControl(Composite parent) {
Image helpImage = JFaceResources.getImage(DLG_IMG_HELP);
ToolBar toolBar = new ToolBar(parent, SWT.FLAT | SWT.NO_FOCUS);
((GridLayout) parent.getLayout()).numColumns++;
toolBar.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
final Cursor cursor = new Cursor(parent.getDisplay(), SWT.CURSOR_HAND);
toolBar.setCursor(cursor);
toolBar.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
cursor.dispose();
}
});
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.DisposeListener in project translationstudio8 by heartsome.
the class GridCopyEnable method initListener.
private void initListener() {
gridTable.addListener(SWT.MouseDown, new Listener() {
public void handleEvent(Event e) {
if ((e.button != 1) || (IS_MAC && (e.stateMask & SWT.MOD4) != 0)) {
return;
}
clickCount = e.count;
doMouseLocationChange(e.x, e.y, false);
}
});
gridTable.addListener(SWT.MouseUp, new Listener() {
public void handleEvent(Event e) {
clickCount = 0;
}
});
gridTable.addMouseMoveListener(new MouseMoveListener() {
public void mouseMove(MouseEvent e) {
if (clickCount > 0) {
gridTable.update();
doMouseLocationChange(e.x, e.y, true);
}
}
});
gridTable.addListener(SWT.KeyDown, new Listener() {
public void handleEvent(Event event) {
int t = event.keyCode | event.stateMask;
if (t == ('C' | SWT.MOD1) || t == ('c' | SWT.MOD1)) {
// copy event
doAction(ST.COPY);
}
}
});
gridTable.getVerticalBar().addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
handleVerticalScroll(event);
}
});
gridTable.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
if (clipboard != null) {
clipboard.dispose();
}
if (defaultCaret != null) {
defaultCaret.dispose();
}
}
});
}
use of org.eclipse.swt.events.DisposeListener in project translationstudio8 by heartsome.
the class TSTitleAreaDialog method createTitleArea.
/**
* Creates the dialog's title area.
*
* @param parent
* the SWT parent for the title area widgets
* @return Control with the highest x axis value.
*/
private Control createTitleArea(Composite parent) {
// add a dispose listener
parent.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
if (titleAreaColor != null) {
titleAreaColor.dispose();
}
}
});
// Determine the background color of the title bar
Display display = parent.getDisplay();
Color background;
Color foreground;
if (titleAreaRGB != null) {
titleAreaColor = new Color(display, titleAreaRGB);
background = titleAreaColor;
foreground = null;
} else {
background = JFaceColors.getBannerBackground(display);
foreground = JFaceColors.getBannerForeground(display);
}
parent.setBackground(background);
int verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
int horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
// Dialog image @ right
titleImageLabel = new Label(parent, SWT.CENTER);
titleImageLabel.setBackground(background);
if (titleAreaImage == null)
titleImageLabel.setImage(JFaceResources.getImage(DLG_IMG_TITLE_BANNER));
else
titleImageLabel.setImage(titleAreaImage);
FormData imageData = new FormData();
imageData.top = new FormAttachment(0, 0);
// Note: do not use horizontalSpacing on the right as that would be a
// regression from
// the R2.x style where there was no margin on the right and images are
// flush to the right
// hand side. see reopened comments in 41172
// horizontalSpacing
imageData.right = new FormAttachment(100, 0);
titleImageLabel.setLayoutData(imageData);
// Title label @ top, left
titleLabel = new Label(parent, SWT.LEFT);
JFaceColors.setColors(titleLabel, foreground, background);
titleLabel.setFont(JFaceResources.getBannerFont());
//$NON-NLS-1$
titleLabel.setText(" ");
FormData titleData = new FormData();
titleData.top = new FormAttachment(0, verticalSpacing);
titleData.right = new FormAttachment(titleImageLabel);
titleData.left = new FormAttachment(0, horizontalSpacing);
titleLabel.setLayoutData(titleData);
// Message image @ bottom, left
messageImageLabel = new Label(parent, SWT.CENTER);
messageImageLabel.setBackground(background);
// Message label @ bottom, center
messageLabel = new Label(parent, SWT.WRAP | SWT.READ_ONLY);
JFaceColors.setColors(messageLabel, foreground, background);
// two lines//$NON-NLS-1$
messageLabel.setText(" \n ");
messageLabel.setFont(JFaceResources.getDialogFont());
messageLabel.setBackground(JFaceColors.getBannerBackground(Display.getDefault()));
messageLabelHeight = messageLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
// Filler labels
leftFillerLabel = new Label(parent, SWT.CENTER);
leftFillerLabel.setBackground(background);
bottomFillerLabel = new Label(parent, SWT.CENTER);
bottomFillerLabel.setBackground(background);
setLayoutsForNormalMessage(verticalSpacing, horizontalSpacing);
determineTitleImageLargest();
if (titleImageLargest)
return titleImageLabel;
return messageLabel;
}
use of org.eclipse.swt.events.DisposeListener in project translationstudio8 by heartsome.
the class TmDbManagerDialog method createPageContainer.
/**
* 创建右侧页面内容
* @param parent
* 页面容器
* @return ;
*/
protected Composite createPageContainer(Composite parent) {
Composite outer = new Composite(parent, SWT.NONE);
GridData outerData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
outerData.horizontalIndent = IDialogConstants.HORIZONTAL_MARGIN;
outer.setLayout(new GridLayout());
outer.setLayoutData(outerData);
// Create an outer composite for spacing
ScrolledComposite scrolled = new ScrolledComposite(outer, SWT.V_SCROLL | SWT.H_SCROLL);
// always show the focus control
scrolled.setShowFocusedControl(true);
scrolled.setExpandHorizontal(true);
scrolled.setExpandVertical(true);
scrolled.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL));
GridLayout gld = new GridLayout(1, false);
gld.marginWidth = 0;
gld.marginHeight = 0;
scrolled.setLayout(gld);
Composite result = new Composite(scrolled, SWT.NONE);
GridData resultData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
result.setLayoutData(resultData);
GridLayout gl_result = new GridLayout(1, false);
gl_result.marginWidth = 0;
gl_result.marginHeight = 0;
result.setLayout(gl_result);
Group parameterGroup = new Group(result, SWT.NONE);
parameterGroup.setText(Messages.getString("dialog.TmDbManagerDialog.parameterGroup"));
GridLayout parameterLayout = new GridLayout(4, false);
parameterGroup.setLayout(parameterLayout);
GridData parameterGridData = new GridData(GridData.FILL_HORIZONTAL);
parameterGroup.setLayoutData(parameterGridData);
Label label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TmDbManagerDialog.lblHost"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
hostText = new Text(parameterGroup, SWT.BORDER);
hostText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TmDbManagerDialog.lblPort"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
portText = new Text(parameterGroup, SWT.BORDER);
label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TmDbManagerDialog.lblInstance"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
instanceText = new Text(parameterGroup, SWT.BORDER);
instanceText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
new Label(parameterGroup, SWT.NONE);
new Label(parameterGroup, SWT.NONE);
label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TmDbManagerDialog.lblLocation"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
locationText = new Text(parameterGroup, SWT.BORDER);
locationText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
borwserBtn = new Button(parameterGroup, SWT.NONE);
borwserBtn.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));
borwserBtn.setText(Messages.getString("dialog.TmDbManagerDialog.borwserBtn"));
borwserBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
DirectoryDialog dlg = new DirectoryDialog(getShell());
String path = dlg.open();
if (path != null) {
locationText.setText(path);
}
}
});
label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TmDbManagerDialog.lblUsername"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
usernameText = new Text(parameterGroup, SWT.BORDER);
usernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TmDbManagerDialog.lblPwd"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
passwordText = new Text(parameterGroup, SWT.BORDER | SWT.PASSWORD);
passwordText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
Composite btnComposite = new Composite(parameterGroup, SWT.NONE);
btnComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 4, 1));
GridLayout btnCompositeLayout = new GridLayout(1, false);
btnCompositeLayout.marginHeight = 0;
btnCompositeLayout.marginWidth = 0;
btnComposite.setLayout(btnCompositeLayout);
// remenmberBtn = new Button(btnComposite, SWT.CHECK|SWT.BORDER);
// remenmberBtn.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
// remenmberBtn.setText("将本次连接信息添加到数据库类型的快捷连接方式(&R)");
// remenmberBtn.setSelection(true);
searchBtn = new Button(btnComposite, SWT.NONE);
searchBtn.setText(Messages.getString("dialog.TmDbManagerDialog.searchBtn"));
searchBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
public void run() {
// 输入合法性检查
IStatus status = validator();
if (status.getSeverity() != IStatus.OK) {
MessageDialog.openInformation(getShell(), Messages.getString("dialog.TmDbManagerDialog.msgTitle"), status.getMessage());
return;
}
SystemDBOperator sysDbOp = getCurrSysDbOp();
if (sysDbOp == null) {
return;
}
// 连接检查
if (!sysDbOp.checkDbConnection()) {
MessageDialog.openInformation(getShell(), Messages.getString("dialog.TmDbManagerDialog.msgTitle"), Messages.getString("dialog.TmDbManagerDialog.msg1"));
return;
}
// if (remenmberBtn.getSelection() == true) {
// 当前数据库类型下的所有服务器
List<DatabaseModelBean> currDbTypeServers = treeInputMap.get(getCurrDbType());
if (currServer.getId().equals("")) {
addServerWithExistCheck(currServer, currDbTypeServers);
getTreeViewer().refresh();
// 在树上选择当前操作的节点
selectSaveItem();
}
// ISelection selection = getTreeViewer().getSelection();
// if (selection.isEmpty()) {
// return;
// }
// } else { // 不记住信息
executeSearch(sysDbOp);
// }
}
});
}
});
Group tableComposite = new Group(result, SWT.NONE);
tableComposite.setText(Messages.getString("dialog.TmDbManagerDialog.tableComposite"));
tableComposite.setLayout(new GridLayout(1, false));
tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
dbTableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
Table table = dbTableViewer.getTable();
table.setLinesVisible(true);
table.setHeaderVisible(true);
GridData tableGd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
tableGd.heightHint = 180;
table.setLayoutData(tableGd);
createColumn(dbTableViewer);
if (getDialogUseFor() == TYPE_DBSELECTED) {
dbTableViewer.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
okPressed();
}
});
}
dbTableViewer.setContentProvider(new ArrayContentProvider());
currServerdbListInput = new WritableList(currServerdbList, DatabaseManagerDbListBean.class);
dbTableViewer.setInput(currServerdbListInput);
Composite composite = new Composite(tableComposite, SWT.NONE);
GridLayout gl_composite = new GridLayout(3, false);
gl_composite.marginHeight = 0;
gl_composite.marginWidth = 0;
composite.setLayout(gl_composite);
composite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
Button btnc = new Button(composite, SWT.NONE);
btnc.setText(Messages.getString("dialog.TmDbManagerDialog.btnc"));
btnc.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
createNewDatabase();
}
});
Button btnd_1 = new Button(composite, SWT.NONE);
btnd_1.setText(Messages.getString("dialog.TmDbManagerDialog.btnd_1"));
btnd_1.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
public void run() {
ISelection selection = getDbTableViewer().getSelection();
if (selection.isEmpty()) {
return;
}
if (MessageDialog.openConfirm(getShell(), Messages.getString("dialog.TmDbManagerDialog.msgTitle"), Messages.getString("dialog.TmDbManagerDialog.msg2"))) {
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
@SuppressWarnings("unchecked") List<DatabaseManagerDbListBean> needDeletes = structuredSelection.toList();
SystemDBOperator dbop = getCurrSysDbOp();
for (int i = 0; i < needDeletes.size(); i++) {
try {
String dbName = needDeletes.get(i).getDbName();
dbop.dropDb(dbName);
dbop.removeSysDb(dbName);
} catch (Exception e1) {
logger.error(Messages.getString("dialog.TmDbManagerDialog.logger1"), e1);
MessageDialog.openError(getShell(), Messages.getString("dialog.TmDbManagerDialog.msgTitle"), Messages.getString("dialog.TmDbManagerDialog.msg3") + e1.getMessage());
break;
}
currServerdbListInput.remove(needDeletes.get(i));
}
}
}
});
}
});
Button importBtn = new Button(composite, SWT.NONE);
importBtn.setText(Messages.getString("dialog.TmDbManagerDialog.importBtn"));
importBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
ISelection selection = getDbTableViewer().getSelection();
if (selection.isEmpty()) {
MessageDialog.openError(getShell(), Messages.getString("dialog.TmDbManagerDialog.msgTitle"), Messages.getString("dialog.TmDbManagerDialog.msg4"));
return;
}
IStructuredSelection stcSel = (IStructuredSelection) selection;
DatabaseManagerDbListBean dbBean = (DatabaseManagerDbListBean) stcSel.getFirstElement();
DatabaseModelBean dbModelBean = new DatabaseModelBean();
currServer.copyToOtherIntance(dbModelBean);
dbModelBean.setDbName(dbBean.getDbName());
ImportTmxWizard wizard = new ImportTmxWizard(dbModelBean);
ImportTmxWizardDialog dlg = new ImportTmxWizardDialog(getShell(), wizard) {
// robert help 2012-09-06
@Override
protected Control createHelpControl(Composite parent) {
// ROBERTHELP 记忆库管理-导入TMX
String language = CommonFunction.getSystemLanguage();
final String helpUrl = MessageFormat.format("/net.heartsome.cat.ts.ui.help/html/{0}/ch05s03.html#create-tm-wizard-import-tmx", language);
Image helpImage = JFaceResources.getImage(DLG_IMG_HELP);
ToolBar toolBar = new ToolBar(parent, SWT.FLAT | SWT.NO_FOCUS);
((GridLayout) parent.getLayout()).numColumns++;
toolBar.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
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;
}
};
dlg.setHelpAvailable(true);
if (dlg.open() == 0) {
// 重新加载内容
executeSearch(getCurrSysDbOp());
}
}
});
Point searchPoint = searchBtn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
Point createPoint = btnc.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
Point remPoint = btnd_1.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
Point importPoint = importBtn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
int width = Math.max(importPoint.x, Math.max(remPoint.x, Math.max(searchPoint.x, createPoint.x)));
GridData btnData = new GridData();
btnData.widthHint = width + 10;
btnc.setLayoutData(btnData);
btnd_1.setLayoutData(btnData);
importBtn.setLayoutData(btnData);
searchBtn.getLayoutData();
GridData searchData = new GridData(SWT.RIGHT, SWT.CENTER, true, true, 4, 1);
searchData.widthHint = width + 10;
searchBtn.setLayoutData(searchData);
scrolled.setContent(result);
scrolled.setMinSize(getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT));
return result;
}
Aggregations