X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=org.eclipse.linuxtools.lttng2.ui%2Fsrc%2Forg%2Feclipse%2Flinuxtools%2Finternal%2Flttng2%2Fui%2Fviews%2Fcontrol%2Fdialogs%2FAddContextDialog.java;h=a560219f62c261b7903d87bf794bc524fa9c7e23;hb=152ba1a7fabe7175ba1a6f267eda2b3891cbcb63;hp=a8b00d44fb42faf2801be0eaaaf31a355d6ad397;hpb=20f27c02913b3cbb73aa3ac0998e3313ae6ec234;p=deliverable%2Ftracecompass.git diff --git a/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/AddContextDialog.java b/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/AddContextDialog.java index a8b00d44fb..a560219f62 100644 --- a/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/AddContextDialog.java +++ b/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/AddContextDialog.java @@ -1,12 +1,12 @@ /********************************************************************** - * Copyright (c) 2012 Ericsson - * + * Copyright (c) 2012, 2014 Ericsson + * * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * + * Contributors: * Bernd Hufmann - Initial API and implementation **********************************************************************/ package org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs; @@ -24,7 +24,7 @@ import org.eclipse.jface.viewers.ICheckStateListener; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; import org.eclipse.linuxtools.internal.lttng2.ui.Activator; -import org.eclipse.linuxtools.internal.lttng2.ui.views.control.Messages; +import org.eclipse.linuxtools.internal.lttng2.ui.views.control.messages.Messages; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.GridData; @@ -35,74 +35,67 @@ import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Shell; /** - * AddContextDialog *

* Dialog box for collecting information about contexts to be added to channels/events. *

+ * + * @author Bernd Hufmann */ public class AddContextDialog extends Dialog implements IAddContextDialog { // ------------------------------------------------------------------------ // Constants // ------------------------------------------------------------------------ - + /** * The icon file for this dialog box. */ - public static final String ADD_CONTEXT_ICON_FILE = "icons/elcl16/add-context.gif"; //$NON-NLS-1$ + public static final String ADD_CONTEXT_ICON_FILE = "icons/elcl16/add-context.gif"; //$NON-NLS-1$ // ------------------------------------------------------------------------ // Attributes // ------------------------------------------------------------------------ - /** - * The dialog composite. - */ - private Composite fDialogComposite; + /** * A tree viewer for displaying and selection of available contexts. */ private CheckboxTreeViewer fContextsViewer; + /** * A Tree model for the checkbox tree viewer. */ - private ContextModel fContextModel = new ContextModel(); + private final ContextModel fContextModel = new ContextModel(); + /** * The contexts to add. */ - private List fSelectedContexts = new ArrayList(); - + private final List fSelectedContexts = new ArrayList<>(); + // ------------------------------------------------------------------------ // Constructors // ------------------------------------------------------------------------ + /** * Constructor * @param shell - a shell for the display of the dialog */ public AddContextDialog(Shell shell) { super(shell); - setShellStyle(SWT.RESIZE); + setShellStyle(SWT.RESIZE | getShellStyle()); } - + // ------------------------------------------------------------------------ // Accessors // ------------------------------------------------------------------------ - - /* - * (non-Javadoc) - * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IAddContextDialog#setAvalibleContexts(java.util.List) - */ + @Override public void setAvalibleContexts(List contexts) { fContextModel.setAvalibleContexts(contexts); } - - /* - * (non-Javadoc) - * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IAddContextDialog#getContexts() - */ + @Override public List getContexts() { - List ret = new ArrayList(); + List ret = new ArrayList<>(); ret.addAll(fSelectedContexts); return ret; } @@ -110,10 +103,7 @@ public class AddContextDialog extends Dialog implements IAddContextDialog { // ------------------------------------------------------------------------ // Operations // ------------------------------------------------------------------------ - /* - * (non-Javadoc) - * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) - */ + @Override protected void configureShell(Shell newShell) { super.configureShell(newShell); @@ -121,53 +111,42 @@ public class AddContextDialog extends Dialog implements IAddContextDialog { newShell.setImage(Activator.getDefault().loadIcon(ADD_CONTEXT_ICON_FILE)); } - /* - * (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) - */ @Override protected Control createDialogArea(Composite parent) { // Main dialog panel - fDialogComposite = new Composite(parent, SWT.NONE); + Composite dialogComposite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(1, true); - fDialogComposite.setLayout(layout); - fDialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); + dialogComposite.setLayout(layout); + dialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); // Contexts list - Group contextGroup = new Group(fDialogComposite, SWT.SHADOW_NONE); + Group contextGroup = new Group(dialogComposite, SWT.SHADOW_NONE); contextGroup.setText(Messages.TraceControl_AddContextAvailableContextsLabel); layout = new GridLayout(1, true); contextGroup.setLayout(layout); contextGroup.setLayoutData(new GridData(GridData.FILL_BOTH)); - + fContextsViewer = new CheckboxTreeViewer(contextGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); - fContextsViewer.getTree().setToolTipText(Messages.TraceControl_AddContextAvailableContextsTooltip); + fContextsViewer.getTree().setToolTipText(Messages.TraceControl_AddContextAvailableContextsTooltip); fContextsViewer.setContentProvider(new ContextsContentProvider()); fContextsViewer.setLabelProvider(new ContextsLabelProvider()); fContextsViewer.addCheckStateListener(new ContextCheckListener()); fContextsViewer.setInput(fContextModel); fContextsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); - - getShell().setMinimumSize(new Point(500, 650)); - - return fDialogComposite; + + getShell().setMinimumSize(new Point(500, 450)); + + return dialogComposite; } - /* - * (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite) - */ @Override protected void createButtonsForButtonBar(Composite parent) { + createButton(parent, IDialogConstants.CANCEL_ID, "&Cancel", true); //$NON-NLS-1$ createButton(parent, IDialogConstants.OK_ID, "&Ok", true); //$NON-NLS-1$ } - /* - * (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#okPressed() - */ @Override protected void okPressed() { fSelectedContexts.clear(); @@ -179,18 +158,18 @@ public class AddContextDialog extends Dialog implements IAddContextDialog { fSelectedContexts.add(component.getName()); } } - + // validation successful -> call super.okPressed() super.okPressed(); } - + // ------------------------------------------------------------------------ // Helper classes and methods // ------------------------------------------------------------------------ /** * Content provider for the contexts tree */ - final public static class ContextsContentProvider implements ITreeContentProvider { + public static final class ContextsContentProvider implements ITreeContentProvider { @Override public void dispose() { @@ -233,10 +212,10 @@ public class AddContextDialog extends Dialog implements IAddContextDialog { /** * Label provider for the contexts tree */ - final public static class ContextsLabelProvider extends ColumnLabelProvider { + public static final class ContextsLabelProvider extends ColumnLabelProvider { @Override public String getText(Object element) { - + if ((element != null) && (element instanceof IContextModelComponent)) { return ((IContextModelComponent)element).getName(); } @@ -244,18 +223,18 @@ public class AddContextDialog extends Dialog implements IAddContextDialog { return "";//$NON-NLS-1$ } } - + /** - * Check state listener for the contexts tree. + * Check state listener for the contexts tree. */ - final public class ContextCheckListener implements ICheckStateListener { + public final class ContextCheckListener implements ICheckStateListener { @Override public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { if (event.getElement() instanceof AllContexts) { fContextsViewer.setSubtreeChecked(event.getElement(), true); - } - } else { + } + } else { if (event.getElement() instanceof AllContexts) { fContextsViewer.setSubtreeChecked(event.getElement(), false); } else { @@ -271,21 +250,30 @@ public class AddContextDialog extends Dialog implements IAddContextDialog { */ public static class ContextModel implements IContextModelComponent { - private AllContexts fAllContexts; - + private final AllContexts fAllContexts; + + /** + * Constructor + */ public ContextModel() { fAllContexts = new AllContexts(this); } + /** + * Sets the available contexts + * + * @param contexts + * The contexts to set + */ public void setAvalibleContexts(List contexts) { fAllContexts.setAvalibleContexts(contexts); } - + @Override public String getName() { return "root"; //$NON-NLS-1$ } - + @Override public Object getParent() { return null; @@ -305,25 +293,37 @@ public class AddContextDialog extends Dialog implements IAddContextDialog { } /** - * Model element (to select/deselect) all contexts) for the context tree viewer + * Model element (to select/deselect) all contexts) for the context tree viewer */ public static class AllContexts implements IContextModelComponent { /** * The available list of contexts. */ private List fAvailableContexts; - - private IContextModelComponent fParent; + private final IContextModelComponent fParent; + + /** + * Constructor + * + * @param parent + * The parent component + */ public AllContexts(IContextModelComponent parent) { fParent = parent; } - + + /** + * Sets the available contexts + * + * @param contexts + * The contexts to set + */ public void setAvalibleContexts(List contexts) { - fAvailableContexts = new ArrayList(); + fAvailableContexts = new ArrayList<>(); if (contexts != null) { for (Iterator iterator = contexts.iterator(); iterator.hasNext();) { - String name = (String) iterator.next(); + String name = iterator.next(); fAvailableContexts.add(new Context(this, name)); } } @@ -333,17 +333,17 @@ public class AddContextDialog extends Dialog implements IAddContextDialog { public String getName() { return Messages.TraceControl_AddContextAllLabel; } - + @Override public Object[] getChildren() { return fAvailableContexts.toArray(); } - + @Override public Object getParent() { return fParent; } - + @Override public boolean hasChildren() { return true; @@ -351,18 +351,26 @@ public class AddContextDialog extends Dialog implements IAddContextDialog { } /** - * Model element (the context) for the context tree viewer + * Model element (the context) for the context tree viewer */ public static class Context implements IContextModelComponent { - private String fContextName; - private IContextModelComponent fParent; - + private final String fContextName; + private final IContextModelComponent fParent; + + /** + * Constructor + * + * @param parent + * The parent component + * @param name + * The name of this context + */ public Context(IContextModelComponent parent, String name) { fParent = parent; fContextName = name; } - + @Override public String getName() { return fContextName; @@ -385,12 +393,28 @@ public class AddContextDialog extends Dialog implements IAddContextDialog { } /** - * Interface for the tree model used for the context tree viewer. + * Interface for the tree model used for the context tree viewer. */ public interface IContextModelComponent { - public String getName(); - public Object getParent(); - public Object[] getChildren(); - public boolean hasChildren(); + + /** + * @return The name of this component + */ + String getName(); + + /** + * @return The parent component + */ + Object getParent(); + + /** + * @return The array of children of this component + */ + Object[] getChildren(); + + /** + * @return If this component has children or not + */ + boolean hasChildren(); } }