Search in sources :

Example 96 with SelectionEvent

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();
}
Also used : Group(org.eclipse.swt.widgets.Group) Table(org.eclipse.swt.widgets.Table) Composite(org.eclipse.swt.widgets.Composite) Spinner(org.eclipse.swt.widgets.Spinner) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Label(org.eclipse.swt.widgets.Label) Point(org.eclipse.swt.graphics.Point) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) GridData(org.eclipse.swt.layout.GridData) ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) SelectionEvent(org.eclipse.swt.events.SelectionEvent) TableViewer(org.eclipse.jface.viewers.TableViewer)

Example 97 with SelectionEvent

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();
        }
    });
}
Also used : MouseEvent(org.eclipse.swt.events.MouseEvent) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) SelectionEvent(org.eclipse.swt.events.SelectionEvent) MouseAdapter(org.eclipse.swt.events.MouseAdapter) LinkedList(java.util.LinkedList) List(java.util.List)

Example 98 with SelectionEvent

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"));
            }
        }
    });
}
Also used : ElementBean(net.heartsome.cat.ts.ui.advanced.model.ElementBean) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ISelection(org.eclipse.jface.viewers.ISelection) Iterator(java.util.Iterator) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection)

Example 99 with SelectionEvent

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;
}
Also used : DisposeListener(org.eclipse.swt.events.DisposeListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) ToolBar(org.eclipse.swt.widgets.ToolBar) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Image(org.eclipse.swt.graphics.Image) Cursor(org.eclipse.swt.graphics.Cursor) DisposeEvent(org.eclipse.swt.events.DisposeEvent) ToolItem(org.eclipse.swt.widgets.ToolItem)

Example 100 with SelectionEvent

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;
}
Also used : DisposeListener(org.eclipse.swt.events.DisposeListener) Listener(org.eclipse.swt.widgets.Listener) IDoubleClickListener(org.eclipse.jface.viewers.IDoubleClickListener) Table(org.eclipse.swt.widgets.Table) Composite(org.eclipse.swt.widgets.Composite) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) DoubleClickEvent(org.eclipse.jface.viewers.DoubleClickEvent) TableColumn(org.eclipse.swt.widgets.TableColumn) TableViewerLabelProvider(net.heartsome.cat.ts.ui.advanced.TableViewerLabelProvider) IDoubleClickListener(org.eclipse.jface.viewers.IDoubleClickListener) ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) SelectionEvent(org.eclipse.swt.events.SelectionEvent) DisposeEvent(org.eclipse.swt.events.DisposeEvent) Event(org.eclipse.swt.widgets.Event) DoubleClickEvent(org.eclipse.jface.viewers.DoubleClickEvent) SelectionEvent(org.eclipse.swt.events.SelectionEvent) TableViewer(org.eclipse.jface.viewers.TableViewer)

Aggregations

SelectionEvent (org.eclipse.swt.events.SelectionEvent)971 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)831 GridData (org.eclipse.swt.layout.GridData)572 GridLayout (org.eclipse.swt.layout.GridLayout)481 Composite (org.eclipse.swt.widgets.Composite)479 Button (org.eclipse.swt.widgets.Button)468 Label (org.eclipse.swt.widgets.Label)314 Text (org.eclipse.swt.widgets.Text)221 SelectionListener (org.eclipse.swt.events.SelectionListener)185 Group (org.eclipse.swt.widgets.Group)168 ModifyEvent (org.eclipse.swt.events.ModifyEvent)143 ModifyListener (org.eclipse.swt.events.ModifyListener)143 Combo (org.eclipse.swt.widgets.Combo)118 MenuItem (org.eclipse.swt.widgets.MenuItem)89 ToolItem (org.eclipse.swt.widgets.ToolItem)89 Menu (org.eclipse.swt.widgets.Menu)88 TableViewer (org.eclipse.jface.viewers.TableViewer)84 Point (org.eclipse.swt.graphics.Point)82 ArrayList (java.util.ArrayList)79 ToolBar (org.eclipse.swt.widgets.ToolBar)76