Class FilterMenu
- java.lang.Object
-
- org.eclipse.swt.widgets.Widget
-
- org.eclipse.swt.widgets.Control
-
- org.eclipse.swt.widgets.Scrollable
-
- org.eclipse.swt.widgets.Composite
-
- net.ssehub.easy.producer.ui.productline_editor.AbstractHeaderMenu
-
- net.ssehub.easy.producer.ui.productline_editor.configuration.AbstractConfigMenu
-
- net.ssehub.easy.producer.ui.productline_editor.configuration.FilterMenu
-
- All Implemented Interfaces:
IConfigurationChangeListener,org.eclipse.swt.graphics.Drawable
public class FilterMenu extends AbstractConfigMenu
Graphical Menu for filtering configuration items (variables) displayed inside the GUI. Supported filters are:- Author:
- El-Sharkawy
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceFilterMenu.IAttributeSelectionChangedListenerDefines a listener which is notified about the changed value of an attribute.
-
Field Summary
Fields Modifier and Type Field Description private FilterMenu.IAttributeSelectionChangedListenerattributeChangedListenerprivate AttributesComboViewerattributesComboprivate org.eclipse.jface.viewers.ComboViewerattributeValueComboprivate org.eclipse.swt.widgets.ButtonbtnAddFilterprivate IOButtonchkAssignmentFilterActiveprivate IOButtonchkAttributeFilterActiveprivate IOButtonchkInterfaceActiveprivate IOButtonchkNameFilterActiveprivate IOButtonchkNamespaceFilterActiveprivate org.eclipse.swt.widgets.CombocomboAssignmentSelectionprivate InterfaceDropDowncomboInterfaceSelectionprivate org.eclipse.swt.widgets.CombocomboProjectSelectionprivate GUIConfigurationFilterfilters
-
Constructor Summary
Constructors Constructor Description FilterMenu(org.eclipse.swt.widgets.Composite parent, ProductLineProject plp)Sole constructor for this class, creates a new graphical filter menu, which can be (un-)folded.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcreateAssignmentStateFilter()Created GUI elements for filtering the configuration for variables having a specific assignment state.private voidcreateAttributeComboListeners()Creates the listeners for the two combo boxes of the attribute value filter selection.private voidcreateAttributeFilter()Created GUI elements for filtering the configuration for variables where a certain attribute value was set.private voidcreateInterfaceFilter()Created GUI elements for filtering the configuration for variables exported by a project defined interface.private voidcreateNameFilter()Created GUI elements for filtering the configuration for variables having a certain variable name.private voidcreateNamespaceFilter()Created GUI elements for filtering the configuration for variables created in a specific project.private voidnotifyAttributeChangedListener()Notifies the attribute changed listener in case that the selection changed.voidrevalidateButtons()Enables or disables the buttons, depending on whether a the related action is possible.private voidselectInterfaceFilter(ProjectInterface iface)Part of theSelectionListenerof the interface selection combo box.voidsetAttributeChangedListener(FilterMenu.IAttributeSelectionChangedListener attributeChangedListener)Defines the listener which reacts on changed attributes.private voidsetNameFilter(org.eclipse.swt.widgets.Text txtNameFilter)Sets the variable name filter.-
Methods inherited from class net.ssehub.easy.producer.ui.productline_editor.configuration.AbstractConfigMenu
clearErrorMessages, configurationRefreshed, getConfigContainer, itemChanged, setErrorMessages, setFilter, setGUIConfiguration, stateChanged
-
Methods inherited from class net.ssehub.easy.producer.ui.productline_editor.AbstractHeaderMenu
close, getProductLineProject, setLayout
-
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, computeSize, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
-
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar
-
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
-
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString
-
-
-
-
Field Detail
-
filters
private GUIConfigurationFilter filters
-
attributesCombo
private AttributesComboViewer attributesCombo
-
attributeValueCombo
private org.eclipse.jface.viewers.ComboViewer attributeValueCombo
-
comboProjectSelection
private org.eclipse.swt.widgets.Combo comboProjectSelection
-
comboAssignmentSelection
private org.eclipse.swt.widgets.Combo comboAssignmentSelection
-
comboInterfaceSelection
private InterfaceDropDown comboInterfaceSelection
-
attributeChangedListener
private FilterMenu.IAttributeSelectionChangedListener attributeChangedListener
-
chkNameFilterActive
private IOButton chkNameFilterActive
-
chkNamespaceFilterActive
private IOButton chkNamespaceFilterActive
-
chkAttributeFilterActive
private IOButton chkAttributeFilterActive
-
chkAssignmentFilterActive
private IOButton chkAssignmentFilterActive
-
chkInterfaceActive
private IOButton chkInterfaceActive
-
btnAddFilter
private org.eclipse.swt.widgets.Button btnAddFilter
-
-
Constructor Detail
-
FilterMenu
public FilterMenu(org.eclipse.swt.widgets.Composite parent, ProductLineProject plp)Sole constructor for this class, creates a new graphical filter menu, which can be (un-)folded.- Parameters:
parent- The parent holding this menu.plp- The current editedProductLineProject
-
-
Method Detail
-
setAttributeChangedListener
public void setAttributeChangedListener(FilterMenu.IAttributeSelectionChangedListener attributeChangedListener)
Defines the listener which reacts on changed attributes.- Parameters:
attributeChangedListener- the listener which reacts on changed attributes
-
createAttributeFilter
private void createAttributeFilter()
Created GUI elements for filtering the configuration for variables where a certain attribute value was set.
-
createAttributeComboListeners
private void createAttributeComboListeners()
Creates the listeners for the two combo boxes of the attribute value filter selection.
-
notifyAttributeChangedListener
private void notifyAttributeChangedListener()
Notifies the attribute changed listener in case that the selection changed.
-
createNameFilter
private void createNameFilter()
Created GUI elements for filtering the configuration for variables having a certain variable name.
-
setNameFilter
private void setNameFilter(org.eclipse.swt.widgets.Text txtNameFilter)
Sets the variable name filter.- Parameters:
txtNameFilter- The text field of the namefilter.
-
createAssignmentStateFilter
private void createAssignmentStateFilter()
Created GUI elements for filtering the configuration for variables having a specific assignment state.
-
createInterfaceFilter
private void createInterfaceFilter()
Created GUI elements for filtering the configuration for variables exported by a project defined interface.
-
selectInterfaceFilter
private void selectInterfaceFilter(ProjectInterface iface)
Part of theSelectionListenerof the interface selection combo box. Reads the current selection of the combo box. If [all] was selected (index = 0), no filter is set, otherwise the selected interface is used to filter the configuration.- Parameters:
iface- The selected propject interface or null if no interface was selected.
-
createNamespaceFilter
private void createNamespaceFilter()
Created GUI elements for filtering the configuration for variables created in a specific project.
-
revalidateButtons
public void revalidateButtons()
Description copied from class:AbstractHeaderMenuEnables or disables the buttons, depending on whether a the related action is possible. This check should be performed whenever the page becomes activated.- Specified by:
revalidateButtonsin classAbstractHeaderMenu
-
-