Example usage for org.eclipse.jface.dialogs TrayDialog open

List of usage examples for org.eclipse.jface.dialogs TrayDialog open

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs TrayDialog open.

Prototype

public int open() 

Source Link

Document

Opens this window, creating it first if it has not yet been created.

Usage

From source file:org.eclipse.ui.tests.statushandlers.SupportTrayTest.java

License:Open Source License

public void testJFacePolicySupportProvider() {
    Map dialogState = new HashMap();
    StatusAdapter sa = new StatusAdapter(Status.OK_STATUS);
    dialogState.put(IStatusDialogConstants.CURRENT_STATUS_ADAPTER, sa);
    SupportTray st = new SupportTray(dialogState, new NullListener());

    assertNull(st.providesSupport(sa));//from   ww  w. jav  a2s. c o  m

    final IStatus[] _status = new IStatus[] { null };

    Policy.setErrorSupportProvider(new ErrorSupportProvider() {

        public Control createSupportArea(Composite parent, IStatus status) {
            _status[0] = status;
            return new Composite(parent, SWT.NONE);
        }
    });

    assertNotNull(st.providesSupport(sa));

    TrayDialog td = null;
    try {
        td = new TrayDialog(new Shell()) {
        };
        td.setBlockOnOpen(false);
        td.open();
        td.openTray(st);
    } finally {
        if (td != null)
            td.close();
    }

    assertEquals(Status.OK_STATUS, _status[0]);
}

From source file:org.talend.designer.mapper.ui.visualmap.table.DataMapTableView.java

License:Open Source License

/**
 * DOC amaumont Comment method "createExpressionFilter".
 * /*from  w  w w . jav  a 2  s .  c o m*/
 * @param defaultValue TODO
 */
protected void createExpressionFilter(final String defaultText) {
    if (mapperManager.isAdvancedMap() && getDataMapTable() instanceof AbstractInOutTable) {

        final AbstractInOutTable table = (AbstractInOutTable) getDataMapTable();

        IPreferenceStore preferenceStore = CorePlugin.getDefault().getPreferenceStore();

        expressionFilterText = new UnnotifiableColorStyledText(getCenterComposite(), SWT.BORDER | SWT.V_SCROLL,
                preferenceStore, LanguageManager.getCurrentLanguage().getName());
        // hywang add for 9225
        openExpressionBuilder = new Button(getCenterComposite(), SWT.PUSH);
        openExpressionBuilder.setImage(ImageProvider.getImage(EImage.THREE_DOTS_ICON));
        openExpressionBuilder.setVisible(table.isActivateExpressionFilter());
        openExpressionBuilder.addSelectionListener(new SelectionListener() {

            IService expressionBuilderDialogService = GlobalServiceRegister.getDefault()
                    .getService(IExpressionBuilderDialogService.class);

            IExpressionBuilderDialogController dialogForTable = ((IExpressionBuilderDialogService) expressionBuilderDialogService)
                    .getExpressionBuilderInstance(DataMapTableView.this.getCenterComposite(), null,
                            mapperManager.getAbstractMapComponent());

            public void widgetDefaultSelected(SelectionEvent e) {
            }

            public void widgetSelected(SelectionEvent e) {
                if (dialogForTable instanceof TrayDialog) {
                    TrayDialog parentDialog = (TrayDialog) dialogForTable;
                    dialogForTable.setDefaultExpression(expressionFilterText.getText());
                    if (Window.OK == parentDialog.open()) {
                        String expressionForTable = dialogForTable.getExpressionForTable();
                        ControlUtils.setText(expressionFilterText, expressionForTable);
                        if (isFilterEqualsToDefault(expressionForTable)) {
                            table.getExpressionFilter().setExpression(null);
                        } else {
                            table.getExpressionFilter().setExpression(expressionForTable);
                        }
                        checkProblemsForExpressionFilter(false, true);
                        ITableEntry currentExpressionFilterEntry = null;
                        StyledTextHandler textTarget = mapperManager.getUiManager().getTabFolderEditors()
                                .getStyledTextHandler();
                        if (textTarget.getCurrentEntry() != null) {
                            currentExpressionFilterEntry = textTarget.getCurrentEntry();
                        } else {
                            currentExpressionFilterEntry = table.getExpressionFilter();
                        }
                        mapperManager.getUiManager().parseNewExpression(textTarget.getStyledText().getText(),
                                currentExpressionFilterEntry, false);
                    }
                }
            }

        });
        if (mapperManager.componentIsReadOnly()) {
            expressionFilterText.setEditable(false);
            openExpressionBuilder.setEnabled(false);
        }
        GridData gridData1 = new GridData();
        gridData1.exclude = !table.isActivateExpressionFilter();
        openExpressionBuilder.setLayoutData(gridData1);
        //

        GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
        gridData.minimumHeight = 10;
        // gridData.grabExcessVerticalSpace = true;
        gridData.heightHint = 32;
        gridData.minimumWidth = 25;
        gridData.widthHint = 50;
        expressionFilterText.setLayoutData(gridData);

        String expressionFilter = table.getExpressionFilter().getExpression();
        if (expressionFilter != null && !"".equals(expressionFilter.trim())) { //$NON-NLS-1$
            expressionFilterText.setText(expressionFilter);
        } else {
            expressionFilterText.setText(defaultText);
        }

        new DragNDrop(mapperManager, expressionFilterText, false, true);

        expressionFilterText.setVisible(table.isActivateExpressionFilter());
        gridData.exclude = !table.isActivateExpressionFilter();

        expressionFilterText.addFocusListener(new FocusListener() {

            public void focusGained(FocusEvent e) {
                redrawExpressionFilter();
                Control text = (Control) e.getSource();
                if (defaultText.equals(ControlUtils.getText(text))) {
                    ControlUtils.setText(text, ""); //$NON-NLS-1$
                }

                ExpressionFilterEntry currentExpressionFilterEntry = table.getExpressionFilter();
                // currentExpressionFilterEntry.setExpression(ControlUtils.getText(text));

                mapperManager.getUiManager().selectLinks(DataMapTableView.this,
                        Arrays.<ITableEntry>asList(currentExpressionFilterEntry), true, false);
                if (!mapperManager.isSearchOption()) {
                    expressionFilterText.setBackground(null);
                    expressionFilterText.setForeground(null);
                }
                StyledTextHandler styledTextHandler = mapperManager.getUiManager().getTabFolderEditors()
                        .getStyledTextHandler();
                styledTextHandler.setCurrentEntry(currentExpressionFilterEntry);
                previousTextForExpressionFilter = currentExpressionFilterEntry.getExpression() == null ? "" //$NON-NLS-1$
                        : currentExpressionFilterEntry.getExpression();
                styledTextHandler.getStyledText().setText(previousTextForExpressionFilter);
                expressionFilterText.setToolTipText(null);
                styledTextHandler.getStyledText().setEnabled(true);
                styledTextHandler.getStyledText().setEditable(true);
                expressionProposalStyledText = styledTextHandler.getContentProposalAdapter();
                expressionProposalProviderForExpressionFilter.init(table,
                        getValidZonesForExpressionFilterField(), table.getExpressionFilter());
                if (expressionProposalStyledText != null) {
                    expressionProposalStyledText
                            .setContentProposalProvider(expressionProposalProviderForExpressionFilter);
                }
                mapperManager.getUiManager().selectLinks(DataMapTableView.this,
                        Arrays.<ITableEntry>asList(currentExpressionFilterEntry), true, false);
                colorExpressionFilterFromProblems(table, false);
            }

            public void focusLost(FocusEvent e) {
                Control text = (Control) e.getSource();
                if ("".equals(ControlUtils.getText(text).trim())) { //$NON-NLS-1$
                    ControlUtils.setText(text, defaultText);
                }
                setExpressionFilterFromStyledText(table, text);
                checkProblemsForExpressionFilter(false, true);
            }

        });

        Listener showTooltipErrorListener = new Listener() {

            public void handleEvent(Event event) {

                switch (event.type) {
                case SWT.MouseMove:
                    if (table.getExpressionFilter().getProblems() != null
                            && !expressionFilterText.isFocusControl()) {
                        String tooltip = createErrorContentForTooltip(
                                table.getExpressionFilter().getProblems());
                        expressionFilterText.setToolTipText(tooltip);
                    } else {
                        expressionFilterText.setToolTipText(null);
                    }

                    break;
                default:
                }
            }

        };
        expressionFilterText.addListener(SWT.MouseMove, showTooltipErrorListener);

        if (executionLimiterForExpressionFilterSetText == null) {
            executionLimiterForExpressionFilterSetText = new ExecutionLimiterImproved(50, true) {

                @Override
                public void execute(boolean isFinalExecution, Object data) {

                    if (isFinalExecution) {
                        expressionFilterText.getDisplay().syncExec(new Runnable() {

                            public void run() {
                                if (expressionFilterText.isDisposed()) {
                                    return;
                                }
                                // to correct bug of CR when content
                                // is multiline
                                if (expressionFilterText.getText() != null) {
                                    expressionFilterText.setText(expressionFilterText.getText());
                                }
                            }

                        });
                    }
                }

            };
        }

        expressionFilterText.addControlListener(new ControlListener() {

            public void controlMoved(ControlEvent e) {
                redrawExpressionFilter();
            }

            public void controlResized(ControlEvent e) {
                redrawExpressionFilter();
            }

        });

        ControlListener listenerForCorrectWrapBug = new ControlListener() {

            public void controlMoved(ControlEvent e) {
                redrawExpressionFilter();
            }

            public void controlResized(ControlEvent e) {
                correctAsynchStyledTextWrapBug();
            }
        };

        ScrolledComposite scrolledCompositeView = null;
        if (getZone() == Zone.INPUTS) {
            scrolledCompositeView = getMapperManager().getUiManager().getScrolledCompositeViewInputs();
        } else if (getZone() == Zone.OUTPUTS) {
            scrolledCompositeView = getMapperManager().getUiManager().getScrolledCompositeViewOutputs();
        }
        scrolledCompositeView.addControlListener(listenerForCorrectWrapBug);

        SelectionListener selectionListenerToCorrectWrapBug = new SelectionListener() {

            public void widgetDefaultSelected(SelectionEvent e) {
            }

            public void widgetSelected(SelectionEvent e) {
                redrawExpressionFilter();
            }

        };

        scrolledCompositeView.getVerticalBar().addSelectionListener(selectionListenerToCorrectWrapBug);

        expressionFilterText.getVerticalBar().addSelectionListener(selectionListenerToCorrectWrapBug);

        // expressionFilterText.addExtendedModifyListener(new
        // ExtendedModifyListener() {
        //
        // public void modifyText(ExtendedModifyEvent event) {
        // StyledTextHandler styledTextHandler =
        // mapperManager.getUiManager().getTabFolderEditors().getStyledTextHandler();
        // styledTextHandler.getStyledText().replaceTextRange(event.start,
        // event.length, event.replacedText);
        // }
        //
        // });

        ExpressionEditorToMapperStyledTextKeyListener keyAndModifyListener = new ExpressionEditorToMapperStyledTextKeyListener(
                expressionFilterText,
                mapperManager.getUiManager().getTabFolderEditors().getStyledTextHandler());
        expressionFilterText.addExtendedModifyListener(keyAndModifyListener);
        expressionFilterText.addKeyListener(keyAndModifyListener);

        // expressionFilterText.addKeyListener(new KeyListener() {
        //
        // /*
        // * (non-Javadoc)
        // *
        // * @see
        // org.eclipse.swt.events.KeyListener#keyPressed(org.eclipse.swt.events.KeyEvent)
        // */
        // public void keyPressed(KeyEvent e) {
        //
        // Control text = (Control) e.getSource();
        // setExpressionFilterFromStyledText(table, text);
        // StyledTextHandler styledTextHandler =
        // mapperManager.getUiManager().getTabFolderEditors()
        // .getStyledTextHandler();
        // styledTextHandler.getStyledText().setText(expressionFilterText.getText());
        //
        // }
        //
        // public void keyReleased(KeyEvent e) {
        //
        // mapperManager.getUiManager().parseNewExpression(expressionFilterText.getText(),
        // table.getExpressionFilter(), false);
        //
        // }
        // });

    }
}

From source file:org.talend.designer.pigmap.figures.tablesettings.TableFilterContainer.java

License:Open Source License

@Override
protected void addButtonListener() {
    IService expressionBuilderDialogService = GlobalServiceRegister.getDefault()
            .getService(IExpressionBuilderDialogService.class);
    final IExpressionBuilderDialogController dialog = ((IExpressionBuilderDialogService) expressionBuilderDialogService)
            .getExpressionBuilderInstance(parent, null, null, null, false);

    button.addMouseListener(new MouseListener() {

        @Override//from  ww w. j av a  2s  .  com
        public void mousePressed(MouseEvent me) {
            // Expression Builder
            List<Variable> vars = new ArrayList<Variable>();
            if (tableManager.getModel() != null && (tableManager.getModel() instanceof InputTable
                    || tableManager.getModel() instanceof OutputTable)) {
                if (tableManager.getModel().eContainer() != null
                        && tableManager.getModel().eContainer() instanceof PigMapData) {
                    PigMapData pigMapData = (PigMapData) tableManager.getModel().eContainer();
                    List<InputTable> inputTables = pigMapData.getInputTables();
                    for (InputTable table : inputTables) {
                        List<TableNode> nodes = table.getNodes();
                        for (TableNode node : nodes) {
                            Variable variable = new Variable();
                            variable.setName(table.getName());
                            variable.setValue(node.getName());
                            vars.add(variable);
                        }
                    }

                    if (GlobalServiceRegister.getDefault().isServiceRegistered(IPigMapService.class)) {
                        final IPigMapService service = (IPigMapService) GlobalServiceRegister.getDefault()
                                .getService(IPigMapService.class);
                        service.setPigMapData(pigMapData);
                    }
                }
            }

            if (dialog instanceof TrayDialog) {
                TrayDialog parentDialog = (TrayDialog) dialog;
                // if press the button ,should apply ExpressionCellEditor value
                MapperManager mapperManger = (MapperManager) tableManager.getMapperManger();
                mapperManger.fireCurrentDirectEditApply();
                dialog.setDefaultExpression(tableManager.getExpressionFilter());
                dialog.addVariables(vars);
                if (Window.OK == parentDialog.open()) {
                    String expressionForTable = dialog.getExpressionForTable();
                    tableManager.setExpressionFilter(expressionForTable);
                    tableManager.getEditPart().getViewer().getEditDomain().getCommandStack()
                            .execute(getFilterChangeCommand(tableManager.getModel(), expressionForTable));
                }
            }
        }

        @Override
        public void mouseReleased(MouseEvent me) {
            // TODO Auto-generated method stub
        }

        @Override
        public void mouseDoubleClicked(MouseEvent me) {
            // TODO Auto-generated method stub
        }
    });
}

From source file:org.talend.designer.xmlmap.figures.treesettings.XmlMapFilterContainer.java

License:Open Source License

@Override
protected void addButtonListener() {
    IService expressionBuilderDialogService = GlobalServiceRegister.getDefault()
            .getService(IExpressionBuilderDialogService.class);
    final IExpressionBuilderDialogController dialog = ((IExpressionBuilderDialogService) expressionBuilderDialogService)
            .getExpressionBuilderInstance(parent, null, null);

    button.addMouseListener(new MouseListener() {

        @Override/*  w  w w.j  a  v a2  s . c  o m*/
        public void mousePressed(MouseEvent me) {
            if (dialog instanceof TrayDialog) {
                TrayDialog parentDialog = (TrayDialog) dialog;
                // if press the button ,should apply ExpressionCellEditor value
                MapperManager mapperManger = (MapperManager) tableManager.getMapperManger();
                mapperManger.fireCurrentDirectEditApply();
                dialog.setDefaultExpression(tableManager.getExpressionFilter());
                if (Window.OK == parentDialog.open()) {
                    String expressionForTable = dialog.getExpressionForTable();
                    tableManager.setExpressionFilter(expressionForTable);
                    tableManager.getEditPart().getViewer().getEditDomain().getCommandStack()
                            .execute(getFilterChangeCommand(tableManager.getModel(), expressionForTable));
                }
            }
        }

        @Override
        public void mouseReleased(MouseEvent me) {
            // TODO Auto-generated method stub
        }

        @Override
        public void mouseDoubleClicked(MouseEvent me) {
            // TODO Auto-generated method stub
        }
    });
}