Search in sources :

Example 16 with LabelProvider

use of org.eclipse.jface.viewers.LabelProvider 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 17 with LabelProvider

use of org.eclipse.jface.viewers.LabelProvider in project tdi-studio-se by Talend.

the class DeploymentComposite method createControl.

private void createControl() {
    setLayout(new GridLayout());
    setBackground(getParent().getBackground());
    Composite composite = new Composite(this, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.horizontalSpacing = 10;
    layout.verticalSpacing = 10;
    composite.setLayout(layout);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    groupIdCheckbox = //$NON-NLS-1$
    widgetFactory.createButton(//$NON-NLS-1$
    composite, //$NON-NLS-1$
    Messages.getString("DeploymentComposite.gourpIdLabel"), SWT.CHECK);
    groupIdCheckbox.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    groupIdText = new Text(composite, SWT.BORDER);
    GridData groupIdTextData = new GridData(GridData.FILL_HORIZONTAL);
    groupIdTextData.widthHint = 200;
    groupIdText.setLayoutData(groupIdTextData);
    versionCheckbox = //$NON-NLS-1$
    widgetFactory.createButton(//$NON-NLS-1$
    composite, //$NON-NLS-1$
    Messages.getString("DeploymentComposite.versionLabel"), SWT.CHECK);
    versionCheckbox.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    versionText = new Text(composite, SWT.BORDER);
    GridData versionTextData = new GridData(GridData.FILL_HORIZONTAL);
    versionTextData.widthHint = 200;
    versionText.setLayoutData(versionTextData);
    //$NON-NLS-1$
    buildTypeLabel = widgetFactory.createLabel(composite, Messages.getString("DeploymentComposite.buildTypeLabel"));
    buildTypeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    buildTypeCombo = new ComboViewer(widgetFactory.createCCombo(composite, SWT.READ_ONLY | SWT.BORDER));
    final Control buildTypeControl = buildTypeCombo.getControl();
    GridData buildTypeComboData = new GridData(GridData.FILL_HORIZONTAL);
    buildTypeComboData.widthHint = 200;
    buildTypeControl.setLayoutData(buildTypeComboData);
    buildTypeCombo.setContentProvider(ArrayContentProvider.getInstance());
    buildTypeCombo.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof BuildType) {
                return ((BuildType) element).getLabel();
            }
            return super.getText(element);
        }
    });
}
Also used : GridLayout(org.eclipse.swt.layout.GridLayout) Control(org.eclipse.swt.widgets.Control) Composite(org.eclipse.swt.widgets.Composite) ComboViewer(org.eclipse.jface.viewers.ComboViewer) GridData(org.eclipse.swt.layout.GridData) BuildType(org.talend.core.runtime.repository.build.BuildType) Text(org.eclipse.swt.widgets.Text) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) LabelProvider(org.eclipse.jface.viewers.LabelProvider)

Example 18 with LabelProvider

use of org.eclipse.jface.viewers.LabelProvider in project tdi-studio-se by Talend.

the class FOXMultiSchemaUI method createCombo.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.designer.fileoutputxml.ui.FOXUI#createCombo(org.eclipse.swt.widgets.Composite)
     */
@Override
protected void createCombo(Composite parent) {
    metaTableViewer = new ComboViewer(parent, SWT.NONE);
    metaTableViewer.setContentProvider(new ArrayContentProvider());
    metaTableViewer.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof IConnection) {
                return ((IConnection) element).getUniqueName();
            }
            return super.getText(element);
        }
    });
    List<? extends IConnection> incomingConnections = NodeUtil.getIncomingConnections(externalNode, IConnectionCategory.FLOW);
    metaTableViewer.setInput(incomingConnections);
    final Combo combo = metaTableViewer.getCombo();
    combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    combo.select(0);
    combo.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) metaTableViewer.getSelection();
            Object obj = selection.getFirstElement();
            if (obj instanceof IConnection) {
                foxManager.setCurrentSchema(combo.getText());
                // xmlViewer.setInput(foxManager.getTreeData());
                xmlViewer.refresh();
                schemaViewer.setInput(((IConnection) obj).getMetadataTable().getListColumns());
                // record the schema
                // refreshXMLViewer(null);
                redrawLinkers();
            }
        }
    });
}
Also used : SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) IConnection(org.talend.core.model.process.IConnection) Combo(org.eclipse.swt.widgets.Combo) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) ComboViewer(org.eclipse.jface.viewers.ComboViewer) ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) LabelProvider(org.eclipse.jface.viewers.LabelProvider)

Example 19 with LabelProvider

use of org.eclipse.jface.viewers.LabelProvider in project tdi-studio-se by Talend.

the class ConfigureColumnsDialog method createColumnsViewer.

/**
     * Creates the columns viewer.
     * 
     * @param parent The parent composite
     */
private void createColumnsViewer(Composite parent) {
    Label label = new Label(parent, SWT.NONE);
    label.setText(Messages.configureColumnsMessage);
    GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.horizontalSpan = 2;
    label.setLayoutData(gridData);
    columnsViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    columnsViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
    columnsViewer.setLabelProvider(new LabelProvider());
    columnsViewer.setContentProvider(new ArrayContentProvider());
}
Also used : Label(org.eclipse.swt.widgets.Label) GridData(org.eclipse.swt.layout.GridData) ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) LabelProvider(org.eclipse.jface.viewers.LabelProvider)

Example 20 with LabelProvider

use of org.eclipse.jface.viewers.LabelProvider in project tdi-studio-se by Talend.

the class HL7OutputLinkUI method createCombo.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.designer.hl7.ui.HL7UI#createCombo(org.eclipse.swt.widgets.Composite)
     */
@Override
protected void createCombo(Composite mainComposite) {
    metaTableViewer = new ComboViewer(mainComposite, SWT.NONE | SWT.READ_ONLY);
    metaTableViewer.setContentProvider(new ArrayContentProvider());
    metaTableViewer.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof IConnection) {
                return ((IConnection) element).getUniqueName();
            }
            return super.getText(element);
        }
    });
    List<? extends IConnection> incomingConnections = NodeUtil.getIncomingConnections(externalNode, IConnectionCategory.FLOW);
    metaTableViewer.setInput(incomingConnections);
    final Combo combo = metaTableViewer.getCombo();
    combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    combo.select(0);
    combo.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            if (hl7Manager != null) {
                ((HL7OutputManager) hl7Manager).setCurrentSchema(combo.getText());
            }
            IStructuredSelection selection = (IStructuredSelection) metaTableViewer.getSelection();
            Object obj = selection.getFirstElement();
            xmlViewer.refresh();
            xmlViewer.expandAll();
            schemaViewer.setInput(((IConnection) obj).getMetadataTable().getListColumns());
            initlinkers();
        }
    });
}
Also used : SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) IConnection(org.talend.core.model.process.IConnection) Combo(org.eclipse.swt.widgets.Combo) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) ComboViewer(org.eclipse.jface.viewers.ComboViewer) ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) LabelProvider(org.eclipse.jface.viewers.LabelProvider)

Aggregations

LabelProvider (org.eclipse.jface.viewers.LabelProvider)25 GridData (org.eclipse.swt.layout.GridData)17 ArrayContentProvider (org.eclipse.jface.viewers.ArrayContentProvider)12 GridLayout (org.eclipse.swt.layout.GridLayout)11 Composite (org.eclipse.swt.widgets.Composite)11 ComboViewer (org.eclipse.jface.viewers.ComboViewer)10 SelectionEvent (org.eclipse.swt.events.SelectionEvent)10 Label (org.eclipse.swt.widgets.Label)10 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)8 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)7 Button (org.eclipse.swt.widgets.Button)7 Combo (org.eclipse.swt.widgets.Combo)7 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)6 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)6 Text (org.eclipse.swt.widgets.Text)6 ArrayList (java.util.ArrayList)5 ISelection (org.eclipse.jface.viewers.ISelection)5 StructuredSelection (org.eclipse.jface.viewers.StructuredSelection)5 Image (org.eclipse.swt.graphics.Image)5 List (java.util.List)4