Search in sources :

Example 21 with InputDialog

use of org.eclipse.jface.dialogs.InputDialog in project cubrid-manager by CUBRID.

the class ExportTypePage method createControl.

/* (non-Javadoc)
	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
	 */
@Override
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    container.setLayout(new FormLayout());
    setTitle(Messages.titleExportStep1);
    setDescription(Messages.exportWizardTypeDescription);
    setControl(container);
    Composite leftComposite = new Composite(container, SWT.NONE);
    FormData leftData = new FormData();
    leftData.top = new FormAttachment(0, 5);
    leftData.bottom = new FormAttachment(100, 0);
    leftData.left = new FormAttachment(0, 5);
    leftData.right = new FormAttachment(50, 0);
    GridLayout leftLayout = new GridLayout();
    leftLayout.verticalSpacing = 0;
    leftComposite.setLayout(leftLayout);
    leftComposite.setLayoutData(leftData);
    Composite rightComposite = new Composite(container, SWT.NONE);
    FormData rightData = new FormData();
    rightData.top = new FormAttachment(0, 5);
    rightData.bottom = new FormAttachment(100, 0);
    rightData.left = new FormAttachment(50, 0);
    rightData.right = new FormAttachment(100, -5);
    GridLayout rightLayout = new GridLayout();
    rightLayout.verticalSpacing = 0;
    rightComposite.setLayout(rightLayout);
    rightComposite.setLayoutData(rightData);
    fileButton = new Button(leftComposite, SWT.RADIO);
    fileButton.setText(Messages.exportWizardType1);
    fileButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    fileButton.addSelectionListener(new SelectionListener() {

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

        public void widgetSelected(SelectionEvent e) {
            historyButton.setSelection(!fileButton.getSelection());
            loadDBButton.setSelection(!fileButton.getSelection());
            changeHistoryCompStatus();
        }
    });
    Group fileLabelGroup = new Group(leftComposite, SWT.None);
    fileLabelGroup.setLayoutData(CommonUITool.createGridData(1, 1, 370, 100));
    fileLabelGroup.setLayout(new FillLayout());
    Label fileLabel = new Label(fileLabelGroup, SWT.WRAP);
    fileLabel.setText(Messages.exportWizardTypeDescription1);
    Label separator1Label = new Label(leftComposite, SWT.None);
    separator1Label.setLayoutData(CommonUITool.createGridData(1, 1, 0, 20));
    historyButton = new Button(leftComposite, SWT.RADIO);
    historyButton.setText(Messages.exportWizardType3);
    historyButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    historyButton.addSelectionListener(new SelectionListener() {

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

        public void widgetSelected(SelectionEvent e) {
            fileButton.setSelection(!historyButton.getSelection());
            loadDBButton.setSelection(!historyButton.getSelection());
            changeHistoryCompStatus();
            setPageComplete(true);
        }
    });
    Group historyLabelGroup = new Group(leftComposite, SWT.None);
    historyLabelGroup.setLayoutData(CommonUITool.createGridData(1, 1, 370, 100));
    historyLabelGroup.setLayout(new FillLayout());
    Label historyLabel = new Label(historyLabelGroup, SWT.WRAP);
    historyLabel.setText(Messages.exportWizardTypeDescription3);
    Composite historyComposite = new Composite(leftComposite, SWT.None);
    historyComposite.setLayout(new GridLayout(3, false));
    historyComposite.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    historyCombo = new Combo(historyComposite, SWT.READ_ONLY);
    historyCombo.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    historyCombo.setEnabled(false);
    historyCombo.addListener(SWT.Modify, new Listener() {

        public void handleEvent(Event event) {
            ExportConfig historyExportConfigModel = ExportConfigManager.getInstance().getConfig(historyCombo.getText());
            if (historyExportConfigModel != null) {
                ExportConfig exportConfigModel = cloneExportConfigModel(historyExportConfigModel);
                getExportDataWizardWizard().setConfigModel(exportConfigModel);
            }
            firePageStatusChanged(new StatusInfo(IStatus.INFO, ""));
            setPageComplete(true);
        }
    });
    final ExportConfigManager configManager = ExportConfigManager.getInstance();
    List<ExportConfig> configList = configManager.getAllConfigs();
    for (ExportConfig model : configList) {
        historyCombo.add(model.getName());
    }
    renameButton = new Button(historyComposite, SWT.None);
    renameButton.setText(Messages.btnRenameHistory);
    renameButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    renameButton.setEnabled(false);
    renameButton.addSelectionListener(new SelectionListener() {

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

        public void widgetSelected(SelectionEvent e) {
            String historyName = historyCombo.getText();
            if (historyName == null || historyName.trim().length() == 0) {
                return;
            }
            ExportConfig model = configManager.getConfig(historyName);
            if (model == null) {
                return;
            }
            InputDialog dialog = new InputDialog(getShell(), Messages.titleExportRenameDialog, Messages.descExportRenameDialog, historyName, new IInputValidator() {

                public String isValid(String newText) {
                    if (newText == null || newText.trim().length() == 0) {
                        return Messages.msgExportRenamePleaseInputNewName;
                    }
                    if (configManager.getConfig(newText) != null) {
                        return Messages.msgExportRenameAlreadyExists;
                    }
                    return null;
                }
            });
            if (dialog.open() == IDialogConstants.OK_ID) {
                String newName = dialog.getValue();
                model.setName(newName);
                configManager.saveConfigs();
                historyCombo.remove(historyName);
                historyCombo.add(newName);
                historyCombo.setText(newName);
            }
        }
    });
    deleteButton = new Button(historyComposite, SWT.None);
    deleteButton.setText(Messages.btnDeleteHistory);
    deleteButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    deleteButton.setEnabled(false);
    deleteButton.addSelectionListener(new SelectionListener() {

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

        public void widgetSelected(SelectionEvent e) {
            if (!CommonUITool.openConfirmBox(Messages.confirmDeleteExportHistory)) {
                return;
            }
            String historyName = historyCombo.getText();
            if (historyName == null || historyName.trim().length() == 0) {
                return;
            }
            configManager.removeConfig(configManager.getConfig(historyName));
            configManager.saveConfigs();
            historyCombo.remove(historyName);
        }
    });
    loadDBButton = new Button(rightComposite, SWT.RADIO);
    loadDBButton.setText(Messages.exportWizardType2);
    loadDBButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    loadDBButton.addSelectionListener(new SelectionListener() {

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

        public void widgetSelected(SelectionEvent e) {
            fileButton.setSelection(!loadDBButton.getSelection());
            historyButton.setSelection(!loadDBButton.getSelection());
            changeHistoryCompStatus();
            historyButton.setSelection(false);
            fileButton.setSelection(false);
        }
    });
    Group loadDBLabelGroup = new Group(rightComposite, SWT.None);
    loadDBLabelGroup.setLayoutData(CommonUITool.createGridData(1, 1, 370, 100));
    loadDBLabelGroup.setLayout(new FillLayout());
    Label loadDBLabel = new Label(loadDBLabelGroup, SWT.WRAP);
    loadDBLabel.setText(Messages.exportWizardTypeDescription2);
}
Also used : FormLayout(org.eclipse.swt.layout.FormLayout) FormData(org.eclipse.swt.layout.FormData) Group(org.eclipse.swt.widgets.Group) Listener(org.eclipse.swt.widgets.Listener) SelectionListener(org.eclipse.swt.events.SelectionListener) InputDialog(org.eclipse.jface.dialogs.InputDialog) Composite(org.eclipse.swt.widgets.Composite) Label(org.eclipse.swt.widgets.Label) Combo(org.eclipse.swt.widgets.Combo) FillLayout(org.eclipse.swt.layout.FillLayout) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) StatusInfo(com.cubrid.common.ui.spi.StatusInfo) ExportConfig(com.cubrid.common.ui.cubrid.table.progress.ExportConfig) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Event(org.eclipse.swt.widgets.Event) PageChangedEvent(org.eclipse.jface.dialogs.PageChangedEvent) PageChangingEvent(org.eclipse.jface.dialogs.PageChangingEvent) SelectionEvent(org.eclipse.swt.events.SelectionEvent) FormAttachment(org.eclipse.swt.layout.FormAttachment) SelectionListener(org.eclipse.swt.events.SelectionListener) IInputValidator(org.eclipse.jface.dialogs.IInputValidator)

Example 22 with InputDialog

use of org.eclipse.jface.dialogs.InputDialog in project ACS by ACS-Community.

the class CategoriesView method createViewWidgets.

private void createViewWidgets(Composite parent) {
    SashForm sash = new SashForm(parent, SWT.HORIZONTAL);
    sash.setLayout(new FillLayout());
    /* Left pane */
    Composite categoriesComp = new Composite(sash, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;
    categoriesComp.setLayout(layout);
    _listGroup = new Group(categoriesComp, SWT.SHADOW_ETCHED_IN);
    GridData gd = new GridData();
    gd.horizontalAlignment = SWT.FILL;
    gd.verticalAlignment = SWT.FILL;
    gd.grabExcessHorizontalSpace = true;
    gd.grabExcessVerticalSpace = true;
    _listGroup.setLayoutData(gd);
    GridLayout gl = new GridLayout();
    gl.numColumns = 1;
    _listGroup.setLayout(gl);
    _listGroup.setText("Categories List");
    _categoriesList = new List(_listGroup, SWT.BORDER | SWT.V_SCROLL);
    _categoriesList.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    _categoriesList.addSelectionListener(new SelectionListener() {

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

        public void widgetSelected(SelectionEvent e) {
            Control c = _compInitial.getChildren()[0];
            if (c instanceof Label) {
                c.dispose();
            }
            _comp.setVisible(true);
            _comp.layout();
            /* and is shown with a "*" in the list */
            if (_categoriesList.getSelection() == null || _categoriesList.getSelection().length == 0) {
                _comp.setVisible(false);
                _comp.layout();
                return;
            }
            String categoryName = _categoriesList.getSelection()[0];
            if (categoryName.startsWith("*"))
                fillCategoryInfo((String) _categoriesList.getData());
            else
                fillCategoryInfo(categoryName);
            if (_ffList.getItemCount() == 0)
                _errorMessageLabel.setText("You have to select at least one Fault Family");
        }
    });
    /* Add and remove buttons */
    Composite categoriesButtonsComp = new Composite(categoriesComp, SWT.NONE);
    layout = new GridLayout();
    layout.numColumns = 2;
    categoriesButtonsComp.setLayout(layout);
    categoriesButtonsComp.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, false));
    _addCategoryButton = new Button(categoriesButtonsComp, SWT.None);
    _addCategoryButton.setText("Add");
    _addCategoryButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));
    _deleteCategoryButton = new Button(categoriesButtonsComp, SWT.None);
    _deleteCategoryButton.setText("Delete");
    _deleteCategoryButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ETOOL_DELETE));
    Listener addCategory = new Listener() {

        public void handleEvent(Event event) {
            InputDialog dialog = new InputDialog(CategoriesView.this.getViewSite().getShell(), "New Category", "Enter the Category name", null, new IInputValidator() {

                public String isValid(String newText) {
                    if (newText.trim().compareTo("") == 0)
                        return "The name is empty";
                    return null;
                }
            });
            dialog.setBlockOnOpen(true);
            dialog.open();
            int returnCode = dialog.getReturnCode();
            if (returnCode == InputDialog.OK) {
                if (_categoryManager.getCategoryByPath(dialog.getValue()) != null) {
                    ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Category already exist", "The Category " + dialog.getValue() + " already exists in the current configuration", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", "The Category " + dialog.getValue() + " already exists in the current configuration"), IStatus.ERROR);
                    error.setBlockOnOpen(true);
                    error.open();
                    return;
                }
                Category newCategory = new Category();
                newCategory.setPath(dialog.getValue());
                InputDialog dialog2 = new InputDialog(CategoriesView.this.getViewSite().getShell(), "Category Description", "Enter the Description for the Category", null, new IInputValidator() {

                    public String isValid(String newText) {
                        if (newText.trim().compareTo("") == 0)
                            return "The name is empty";
                        return null;
                    }
                });
                dialog2.setBlockOnOpen(true);
                dialog2.open();
                String description = dialog2.getValue();
                if (description == null)
                    return;
                if (returnCode == InputDialog.OK)
                    newCategory.setDescription(description);
                java.util.List<String> ffnames = sortFullFaultFamilyList();
                ListSelectionDialog dialog3 = new ListSelectionDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell(), ffnames, new ArrayContentProvider(), new LabelProvider(), "");
                dialog3.setTitle("Fault Family Selection");
                dialog3.setMessage("List of Fault Families");
                dialog3.setBlockOnOpen(true);
                dialog3.open();
                Object[] ffselected = dialog3.getResult();
                if (ffselected == null)
                    return;
                if (ffselected.length == 0) {
                    try {
                        _categoryManager.addCategory(newCategory);
                    } catch (IllegalOperationException e) {
                        ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Category already exist", "The Category " + dialog.getValue() + " already exists in the current configuration", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR);
                        error.setBlockOnOpen(true);
                        error.open();
                        return;
                    }
                } else {
                    Alarms alarms = new Alarms();
                    for (int i = 0; i < ffselected.length; i++) {
                        try {
                            alarms.addFaultFamily(_alarmManager.getFaultFamily((String) ffselected[i]).getName());
                        //alarms.setFaultFamily(i, (String)ffselected[i]);					  		
                        } catch (NullPointerException e) {
                        }
                        newCategory.setAlarms(alarms);
                    }
                    try {
                        _categoryManager.addCategory(newCategory);
                    } catch (IllegalOperationException e) {
                        ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Category already exist", "The Category " + dialog.getValue() + " already exists in the current configuration", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR);
                        error.setBlockOnOpen(true);
                        error.open();
                        return;
                    }
                }
                String[] items = new String[1];
                items[0] = dialog.getValue();
                refreshContents();
                _categoriesList.setSelection(items);
                Event e = new Event();
                _categoriesList.notifyListeners(SWT.Selection, e);
                IWorkbenchWindow _window = getViewSite().getWorkbenchWindow();
                IViewReference[] views = _window.getActivePage().getViewReferences();
                IMyViewPart view = ((IMyViewPart) views[3].getView(false));
                //view.refreshContents();
                view.fillWidgets();
                if (_ffList.getItemCount() == 0)
                    _errorMessageLabel.setText("You have to select at least one Fault Family");
            } else
                return;
        }
    };
    _addCategoryButton.addListener(SWT.Selection, addCategory);
    Listener deleteCategory = new Listener() {

        public void handleEvent(Event event) {
            boolean choice = MessageDialog.openQuestion(CategoriesView.this.getViewSite().getShell(), "Confirmation", "Are you sure you want to delete this Category");
            if (choice == true) {
                String[] tmp = _categoriesList.getSelection();
                if (tmp == null || tmp.length == 0) {
                    ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Empty selection", "There are no Categories selected to be deleted", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", ""), IStatus.ERROR);
                    error.setBlockOnOpen(true);
                    error.open();
                    return;
                }
                String category = tmp[0];
                if (category.startsWith("*")) {
                    ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Cannot delete Category", "The Category cannot be deleted", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", "There must be one default category. Please select a different one before removing this category."), IStatus.ERROR);
                    error.setBlockOnOpen(true);
                    error.open();
                    return;
                }
                try {
                    _categoryManager.deleteCategory(_categoryManager.getCategoryByPath(category));
                } catch (IllegalOperationException e) {
                    ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Cannot delete Category", "The Category cannot be deleted", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR);
                    error.setBlockOnOpen(true);
                    error.open();
                    return;
                }
                String[] items = null;
                if (_categoriesList.getSelection() != null && _categoriesList.getSelection().length != 0) {
                    items = _categoriesList.getSelection();
                    refreshContents();
                    if (items == null)
                        if (_categoriesList.getItemCount() > 0)
                            _categoriesList.setSelection(0);
                } else
                    _categoriesList.setSelection(items);
                Event e = new Event();
                _categoriesList.notifyListeners(SWT.Selection, e);
                IWorkbenchWindow _window = getViewSite().getWorkbenchWindow();
                IViewReference[] views = _window.getActivePage().getViewReferences();
                IMyViewPart view = ((IMyViewPart) views[3].getView(false));
                //view.refreshContents();
                view.fillWidgets();
            }
        }
    };
    _deleteCategoryButton.addListener(SWT.Selection, deleteCategory);
    /* To delete a FF from a given Category */
    Listener deleteFaultFamily = new Listener() {

        public void handleEvent(Event event) {
            Category c = _categoryManager.getCategoryByPath(_pathText.getText());
            try {
                String[] ff = c.getAlarms().getFaultFamily();
                Alarms alarms = new Alarms();
                String[] temp = _ffList.getSelection();
                //int j = 0;
                for (int i = 0; i < ff.length; i++) {
                    if (ff[i].compareTo(temp[0]) == 0) {
                        _ffList.remove(temp[0]);
                        c.getAlarms().removeFaultFamily(ff[i]);
                    } else {
                        alarms.addFaultFamily(ff[i]);
                    //alarms.setFaultFamily(j, ff[i]);
                    //j++;
                    }
                }
                c.setAlarms(alarms);
                _categoryManager.updateCategory(c, c);
                if (_ffList.getItemCount() == 0)
                    _errorMessageLabel.setText("You have to select at least one Fault Family");
                IWorkbenchWindow _window = getViewSite().getWorkbenchWindow();
                IViewReference[] views = _window.getActivePage().getViewReferences();
                IMyViewPart view = ((IMyViewPart) views[3].getView(false));
                //view.refreshContents();
                view.fillWidgets();
                boolean inUse = false;
                boolean def = false;
                String defCat = "";
                for (Category cat : _categoryManager.getAllCategories()) {
                    String[] ffs = cat.getAlarms().getFaultFamily();
                    for (String tff : ffs) {
                        if (tff.compareTo(temp[0]) == 0)
                            inUse = true;
                    }
                    if (cat.getIsDefault()) {
                        def = true;
                        defCat = cat.getPath();
                    }
                }
                if (!inUse) {
                    String msg;
                    if (def)
                        msg = "Default category: " + defCat;
                    else
                        msg = "No default category";
                    ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Fault Family isn't in any Categoty", "The Fault Family is not part of any Category", new Status(IStatus.WARNING, "cl.utfsm.acs.acg", "The Fault Family " + temp[0] + " is not part of any Category (" + msg + ")"), IStatus.WARNING);
                    error.setBlockOnOpen(true);
                    error.open();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    };
    /* To delete all FF from a given Category */
    Listener deleteAllFaultFamily = new Listener() {

        public void handleEvent(Event event) {
            Category c = _categoryManager.getCategoryByPath(_pathText.getText());
            try {
                String[] ff = c.getAlarms().getFaultFamily();
                Alarms alarms = new Alarms();
                for (int i = 0; i < ff.length; i++) {
                    _ffList.remove(ff[i]);
                    c.getAlarms().removeFaultFamily(ff[i]);
                }
                c.setAlarms(alarms);
                _categoryManager.updateCategory(c, c);
                IWorkbenchWindow _window = getViewSite().getWorkbenchWindow();
                IViewReference[] views = _window.getActivePage().getViewReferences();
                IMyViewPart view = ((IMyViewPart) views[3].getView(false));
                //view.refreshContents();
                view.fillWidgets();
                java.util.List<String> ffList = new ArrayList<String>();
                boolean def = false;
                String defCat = "";
                for (String cff : ff) {
                    Boolean inUse = false;
                    for (Category cat : _categoryManager.getAllCategories()) {
                        String[] ffs = cat.getAlarms().getFaultFamily();
                        for (String tff : ffs) {
                            if (tff.compareTo(cff) == 0)
                                inUse = true;
                        }
                        if (cat.getIsDefault()) {
                            def = true;
                            defCat = cat.getPath();
                        }
                    }
                    if (!inUse)
                        ffList.add(cff);
                }
                if (ffList.size() > 0) {
                    String list = "";
                    for (String ffel : ffList) list = list + ffel + ", ";
                    list.substring(0, list.length() - 2);
                    String msg;
                    if (def)
                        msg = "Default category: " + defCat;
                    else
                        msg = "No default category";
                    ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Fault Family isn't in any Categoty", "The Fault Family is not part of any Category", new Status(IStatus.WARNING, "cl.utfsm.acs.acg", "The Fault Family(ies) " + list + " is not part of any Category (" + msg + ")"), IStatus.WARNING);
                    error.setBlockOnOpen(true);
                    error.open();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            if (_ffList.getItemCount() == 0)
                _errorMessageLabel.setText("You have to select at least one Fault Family");
        }
    };
    /* To add a new FF to a Category */
    Listener addFaultFamily = new Listener() {

        public void handleEvent(Event event) {
            Category c = _categoryManager.getCategoryByPath(_pathText.getText());
            java.util.List<String> currentffs = new ArrayList<String>();
            try {
                String[] ffss = c.getAlarms().getFaultFamily();
                for (int i = 0; i < ffss.length; i++) {
                    currentffs.add(ffss[i]);
                }
            } catch (NullPointerException e) {
                e.printStackTrace();
            }
            java.util.List<String> ffnames = sortFullFaultFamilyList();
            ListSelectionDialog dialog3 = new ListSelectionDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell(), ffnames, new ArrayContentProvider(), new LabelProvider(), "");
            dialog3.setTitle("Fault Family Selection");
            dialog3.setMessage("List of Fault Families");
            dialog3.setBlockOnOpen(true);
            if (currentffs != null)
                dialog3.setInitialElementSelections(currentffs);
            dialog3.open();
            if (dialog3.getReturnCode() == InputDialog.OK) {
                Object[] ffselected = dialog3.getResult();
                try {
                    Alarms alarms = new Alarms();
                    for (int i = 0; i < ffselected.length; i++) alarms.addFaultFamily(_alarmManager.getFaultFamily((String) ffselected[i]).getName());
                    c.setAlarms(alarms);
                    _categoryManager.updateCategory(c, c);
                    sortCategoryFaultFamilyList(c.getPath());
                } catch (Exception e) {
                    e.printStackTrace();
                }
                String[] items = _categoriesList.getSelection();
                refreshContents();
                _categoriesList.setSelection(items);
                Event e = new Event();
                _categoriesList.notifyListeners(SWT.Selection, e);
                IWorkbenchWindow _window = getViewSite().getWorkbenchWindow();
                IViewReference[] views = _window.getActivePage().getViewReferences();
                IMyViewPart view = ((IMyViewPart) views[3].getView(false));
                //view.refreshContents();
                view.fillWidgets();
                if (_ffList.getItemCount() == 0)
                    _errorMessageLabel.setText("You have to select at least one Fault Family");
            }
        }
    };
    /* Initial label when no categories are selected */
    _compInitial = new Composite(sash, SWT.NONE);
    _compInitial.setLayout(new GridLayout());
    new Label(_compInitial, SWT.NONE).setText("Select a category");
    /* Fill the right pane Group that will be shown when
		 * a category is selected in the left list */
    layout = new GridLayout();
    layout.numColumns = 2;
    GridData gridData = new GridData();
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalAlignment = SWT.FILL;
    gridData.verticalAlignment = SWT.FILL;
    _comp = new Group(_compInitial, SWT.SHADOW_ETCHED_IN);
    _comp.setText("Category information");
    _comp.setLayout(layout);
    _comp.setLayoutData(gridData);
    _pathLabel = new Label(_comp, SWT.NONE);
    _pathLabel.setText("Category name");
    _pathText = new Text(_comp, SWT.SINGLE | SWT.BORDER);
    gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = true;
    _pathText.setLayoutData(gridData);
    _descriptionLabel = new Label(_comp, SWT.NONE);
    _descriptionLabel.setText("Category description");
    _descriptionText = new Text(_comp, SWT.SINGLE | SWT.BORDER);
    gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = true;
    _descriptionText.setLayoutData(gridData);
    _isDefaultLabel = new Label(_comp, SWT.NONE);
    _isDefaultLabel.setText("Is default category?");
    _isDefaultCheck = new Button(_comp, SWT.CHECK);
    _ffLabel = new Label(_comp, SWT.NONE);
    _ffLabel.setText("Fault Families:");
    gridData = new GridData();
    gridData.verticalAlignment = SWT.TOP;
    gridData.horizontalSpan = 2;
    _ffLabel.setLayoutData(gridData);
    _ffList = new List(_comp, SWT.V_SCROLL | SWT.BORDER);
    gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.verticalAlignment = SWT.FILL;
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalSpan = 2;
    _ffList.setLayoutData(gridData);
    _errorMessageLabel = new Label(_comp, SWT.NONE);
    _errorMessageLabel.setText("A");
    _errorMessageLabel.setForeground(getViewSite().getShell().getDisplay().getSystemColor(SWT.COLOR_RED));
    gd = new GridData();
    gd.grabExcessHorizontalSpace = true;
    gd.horizontalAlignment = SWT.FILL;
    gd.horizontalSpan = 2;
    _errorMessageLabel.setLayoutData(gd);
    /* Adding a click right menu to modify the FF of a given Category */
    Menu treePopUp1 = new Menu(parent);
    MenuItem treePopUpAddFF = new MenuItem(treePopUp1, SWT.PUSH);
    treePopUpAddFF.setText("Add a new Fault Family");
    treePopUpAddFF.addListener(SWT.Selection, addFaultFamily);
    MenuItem treePopUpDeleteFF = new MenuItem(treePopUp1, SWT.PUSH);
    treePopUpDeleteFF.setText("Delete this Fault Family");
    treePopUpDeleteFF.addListener(SWT.Selection, deleteFaultFamily);
    MenuItem treePopUpDeleteAllFF = new MenuItem(treePopUp1, SWT.PUSH);
    treePopUpDeleteAllFF.setText("Delete All Fault Families");
    treePopUpDeleteAllFF.addListener(SWT.Selection, deleteAllFaultFamily);
    _ffList.setMenu(treePopUp1);
    /* Adding a click menu to add/delete Categories */
    Menu treePopUp2 = new Menu(parent);
    MenuItem treePopUpaddCategory = new MenuItem(treePopUp2, SWT.PUSH);
    treePopUpaddCategory.setText("Add a new Category");
    treePopUpaddCategory.addListener(SWT.Selection, addCategory);
    MenuItem treePopUpdeleteCategory = new MenuItem(treePopUp2, SWT.PUSH);
    treePopUpdeleteCategory.setText("Delete this Category");
    treePopUpdeleteCategory.addListener(SWT.Selection, deleteCategory);
    _categoriesList.setMenu(treePopUp2);
    _comp.setVisible(false);
    /* Set a weight for each side of the view */
    sash.setWeights(new int[] { 3, 5 });
    Listener updateCategory = new Listener() {

        public void handleEvent(Event e) {
            updateName();
        }
    };
    _descriptionText.addListener(SWT.Modify, updateCategory);
    _pathText.addListener(SWT.Modify, updateCategory);
    _isDefaultCheck.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            String category;
            if (_categoriesList.getSelection()[0].startsWith("*"))
                category = (String) _categoriesList.getData();
            else
                category = _categoriesList.getSelection()[0];
            if (_categoryManager.getCategoryByPath(category).getIsDefault() == true) {
                _isDefaultCheck.setSelection(true);
                MessageBox messageBox = new MessageBox(PlatformUI.getWorkbench().getDisplay().getActiveShell(), SWT.ICON_ERROR);
                messageBox.setMessage("The Default Category always must exist, you can only change it");
                messageBox.open();
            } else {
                _categoryManager.updateDefaultCategory(_categoryManager.getCategoryByPath(_categoriesList.getSelection()[0]));
                String[] items = _categoriesList.getSelection();
                refreshContents();
                items[0] = "* " + items[0];
                _categoriesList.setSelection(items);
                Event e2 = new Event();
                _categoriesList.notifyListeners(SWT.Selection, e2);
                IWorkbenchWindow _window = getViewSite().getWorkbenchWindow();
                IViewReference[] views = _window.getActivePage().getViewReferences();
                IMyViewPart view = ((IMyViewPart) views[3].getView(false));
                //view.refreshContents();
                view.fillWidgets();
            }
        }
    });
}
Also used : Group(org.eclipse.swt.widgets.Group) Listener(org.eclipse.swt.widgets.Listener) SelectionListener(org.eclipse.swt.events.SelectionListener) Category(alma.acs.alarmsystem.generated.Category) Label(org.eclipse.swt.widgets.Label) ArrayList(java.util.ArrayList) GridLayout(org.eclipse.swt.layout.GridLayout) Control(org.eclipse.swt.widgets.Control) Button(org.eclipse.swt.widgets.Button) IViewReference(org.eclipse.ui.IViewReference) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ArrayList(java.util.ArrayList) List(org.eclipse.swt.widgets.List) Menu(org.eclipse.swt.widgets.Menu) IStatus(org.eclipse.core.runtime.IStatus) Status(org.eclipse.core.runtime.Status) IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) InputDialog(org.eclipse.jface.dialogs.InputDialog) Composite(org.eclipse.swt.widgets.Composite) Alarms(alma.acs.alarmsystem.generated.Alarms) ErrorDialog(org.eclipse.jface.dialogs.ErrorDialog) Text(org.eclipse.swt.widgets.Text) MenuItem(org.eclipse.swt.widgets.MenuItem) FillLayout(org.eclipse.swt.layout.FillLayout) IllegalOperationException(cl.utfsm.acs.acg.core.IllegalOperationException) IllegalOperationException(cl.utfsm.acs.acg.core.IllegalOperationException) MessageBox(org.eclipse.swt.widgets.MessageBox) SashForm(org.eclipse.swt.custom.SashForm) GridData(org.eclipse.swt.layout.GridData) ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) Event(org.eclipse.swt.widgets.Event) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ListSelectionDialog(org.eclipse.ui.dialogs.ListSelectionDialog) LabelProvider(org.eclipse.jface.viewers.LabelProvider) SelectionListener(org.eclipse.swt.events.SelectionListener) IInputValidator(org.eclipse.jface.dialogs.IInputValidator)

Example 23 with InputDialog

use of org.eclipse.jface.dialogs.InputDialog in project cubrid-manager by CUBRID.

the class EditAliasNameAction method run.

/**
	 * Edit alias name
	 * 
	 * @see org.eclipse.jface.action.Action#run()
	 */
public void run() {
    Object[] objArr = this.getSelectedObj();
    if (objArr == null || objArr.length <= 0 || !isSupported(objArr[0])) {
        setEnabled(false);
        return;
    }
    HANode haNode = null;
    if (objArr[0] instanceof HostMonitorPart) {
        HostMonitorPart hostMonPart = (HostMonitorPart) objArr[0];
        haNode = (HANode) hostMonPart.getModel();
    } else if (objArr[0] instanceof DatabaseMonitorPart) {
        DatabaseMonitorPart dbMonPart = (DatabaseMonitorPart) objArr[0];
        haNode = (HANode) dbMonPart.getModel();
    } else if (objArr[0] instanceof BrokerMonitorPart) {
        BrokerMonitorPart brokerMonPart = (BrokerMonitorPart) objArr[0];
        haNode = (HANode) brokerMonPart.getModel();
    } else if (objArr[0] instanceof ClientMonitorPart) {
        ClientMonitorPart clientMonitorPart = (ClientMonitorPart) objArr[0];
        haNode = (HANode) clientMonitorPart.getModel();
    } else if (objArr[0] instanceof BrokerDBListMonitorPart) {
        BrokerDBListMonitorPart brokerDBListMonitorPart = (BrokerDBListMonitorPart) objArr[0];
        haNode = (HANode) brokerDBListMonitorPart.getModel();
    }
    if (haNode == null) {
        return;
    }
    InputDialog dialog = new InputDialog(getShell(), Messages.titleEditNickNameDialog, Messages.msgEditNickNameDialog, haNode.getName(), new IInputValidator() {

        public String isValid(String newText) {
            if (newText == null || newText.trim().length() == 0) {
                return Messages.errEditNickName;
            }
            return null;
        }
    });
    if (IDialogConstants.OK_ID == dialog.open()) {
        String aliasName = dialog.getValue();
        haNode.setName(aliasName);
    }
}
Also used : BrokerDBListMonitorPart(com.cubrid.cubridmanager.ui.mondashboard.editor.parts.BrokerDBListMonitorPart) InputDialog(org.eclipse.jface.dialogs.InputDialog) BrokerMonitorPart(com.cubrid.cubridmanager.ui.mondashboard.editor.parts.BrokerMonitorPart) ClientMonitorPart(com.cubrid.cubridmanager.ui.mondashboard.editor.parts.ClientMonitorPart) HostMonitorPart(com.cubrid.cubridmanager.ui.mondashboard.editor.parts.HostMonitorPart) DatabaseMonitorPart(com.cubrid.cubridmanager.ui.mondashboard.editor.parts.DatabaseMonitorPart) HANode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HANode) IInputValidator(org.eclipse.jface.dialogs.IInputValidator)

Example 24 with InputDialog

use of org.eclipse.jface.dialogs.InputDialog in project tdi-studio-se by Talend.

the class ConnectionCreateCommand method askForConnectionName.

private String askForConnectionName(String nodeLabel, String oldName) {
    // check if the source got the ELT Table parameter, if yes, take the name by default
    //$NON-NLS-1$
    IElementParameter elementParam = source.getElementParameter("ELT_TABLE_NAME");
    if (source.isELTComponent() && elementParam != null && elementParam.getFieldType().equals(EParameterFieldType.TEXT)) {
        String name2 = elementParam.getValue().toString();
        if (name2 != null) {
            name2 = TalendTextUtils.removeQuotes(name2);
            if (!name2.equals("")) {
                //$NON-NLS-1$
                return name2;
            }
        }
    }
    // check if the target got the ELT Table parameter, if yes, take the name by default
    //$NON-NLS-1$
    elementParam = target.getElementParameter("ELT_TABLE_NAME");
    if (target.isELTComponent() && elementParam != null && elementParam.getFieldType().equals(EParameterFieldType.TEXT)) {
        String name2 = elementParam.getValue().toString();
        if (name2 != null) {
            name2 = TalendTextUtils.removeQuotes(name2);
            if (!name2.equals("")) {
                //$NON-NLS-1$
                return name2;
            }
        }
    }
    if (source.isELTComponent()) {
        InputDialog id = new //$NON-NLS-1$
        InputDialog(//$NON-NLS-1$
        null, //$NON-NLS-1$
        nodeLabel + Messages.getString("ConnectionCreateAction.dialogTitle"), Messages.getString("ConnectionCreateAction.dialogMessage"), oldName, new //$NON-NLS-1$ 
        IInputValidator() {

            @Override
            public String isValid(String newText) {
                if (newText != null) {
                    if (!source.getProcess().checkValidConnectionName(newText, creatingConnection) || KeywordsValidator.isKeyword(newText) || KeywordsValidator.isSqlKeyword(newText)) {
                        //$NON-NLS-1$
                        return Messages.getString("ConnectionCreateCommand.inputValid");
                    }
                }
                return null;
            }
        });
        id.open();
        if (id.getReturnCode() == InputDialog.CANCEL) {
            //$NON-NLS-1$
            return "";
        }
        return id.getValue();
    } else {
        InputDialog id = new //$NON-NLS-1$
        InputDialog(//$NON-NLS-1$
        null, //$NON-NLS-1$
        nodeLabel + Messages.getString("ConnectionCreateAction.dialogTitle"), Messages.getString("ConnectionCreateAction.dialogMessage"), oldName, new //$NON-NLS-1$ 
        IInputValidator() {

            @Override
            public String isValid(String newText) {
                if (newText != null) {
                    if (!source.getProcess().checkValidConnectionName(newText, creatingConnection) || KeywordsValidator.isKeyword(newText) || newText.equals("ErrorReject")) {
                        //$NON-NLS-1$
                        return Messages.getString("ConnectionCreateCommand.inputValid");
                    }
                }
                return null;
            }
        });
        id.open();
        if (id.getReturnCode() == InputDialog.CANCEL) {
            //$NON-NLS-1$
            return "";
        }
        return id.getValue();
    }
}
Also used : InputDialog(org.eclipse.jface.dialogs.InputDialog) IElementParameter(org.talend.core.model.process.IElementParameter)

Example 25 with InputDialog

use of org.eclipse.jface.dialogs.InputDialog in project tdi-studio-se by Talend.

the class UIManager method openNewOutputCreationDialog.

/**
     * DOC amaumont Comment method "openAddNewOutputDialog".
     */
public String openNewOutputCreationDialog() {
    final IProcess process = mapperManager.getComponent().getProcess();
    //$NON-NLS-1$
    String outputName = process.generateUniqueConnectionName("newOutput");
    InputDialog id = new //$NON-NLS-1$
    InputDialog(//$NON-NLS-1$
    getMapperContainer().getShell(), //$NON-NLS-1$
    Messages.getString("UIManager.addNewOutputTable"), Messages.getString("UIManager.typeTableName"), outputName, new //$NON-NLS-1$
    IInputValidator() {

        @Override
        public String isValid(String newText) {
            if (KeywordsValidator.isKeyword(newText) || KeywordsValidator.isSqlKeyword(newText)) {
                //$NON-NLS-1$
                return Messages.getString("UIManager.tableNameIsNotValid");
            }
            if (newText != null && !process.checkValidConnectionName(newText, true)) {
                //$NON-NLS-1$
                return Messages.getString("UIManager.nameExistOrNull");
            }
            return null;
        }
    });
    int response = id.open();
    if (response == InputDialog.OK) {
        return id.getValue();
    }
    return null;
}
Also used : InputDialog(org.eclipse.jface.dialogs.InputDialog) IProcess(org.talend.core.model.process.IProcess) Point(org.eclipse.swt.graphics.Point)

Aggregations

InputDialog (org.eclipse.jface.dialogs.InputDialog)31 IInputValidator (org.eclipse.jface.dialogs.IInputValidator)12 Composite (org.eclipse.swt.widgets.Composite)7 SelectionEvent (org.eclipse.swt.events.SelectionEvent)5 SelectionListener (org.eclipse.swt.events.SelectionListener)5 FillLayout (org.eclipse.swt.layout.FillLayout)5 GridLayout (org.eclipse.swt.layout.GridLayout)5 Button (org.eclipse.swt.widgets.Button)5 Group (org.eclipse.swt.widgets.Group)5 Label (org.eclipse.swt.widgets.Label)5 IStatus (org.eclipse.core.runtime.IStatus)4 Control (org.eclipse.swt.widgets.Control)4 Event (org.eclipse.swt.widgets.Event)4 Listener (org.eclipse.swt.widgets.Listener)4 IllegalOperationException (cl.utfsm.acs.acg.core.IllegalOperationException)3 ArrayList (java.util.ArrayList)3 Status (org.eclipse.core.runtime.Status)3 ErrorDialog (org.eclipse.jface.dialogs.ErrorDialog)3 SashForm (org.eclipse.swt.custom.SashForm)3 TreeNode (org.talend.designer.xmlmap.model.emf.xmlmap.TreeNode)3