schmitzm.geotools.gui
Class FeatureFilterPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by schmitzm.swing.JPanel
                      extended by schmitzm.swing.CaptionsChangeablePanel
                          extended by schmitzm.swing.OperationTreePanel
                              extended by schmitzm.geotools.gui.FeatureFilterPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, CaptionsChangeable
Direct Known Subclasses:
FeatureCollectionFilterPanel

public class FeatureFilterPanel
extends OperationTreePanel

Diese Klasse stellt ein Panel zur Verfuegung, mit der ein Filter in Form einer arithmetischen (und boolschen) Formel erstellt werden kann. Wie der String geparst wird (z.B. CQL), wird durch einen FilterParser bestimmt.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static String ATTRIBUTE_LABEL
          Konstante fuer das Label zur Tabelle der SimpleFeature-Attribute.
static String ATTRIBUTE_TABLE
          Konstante fuer die Tabelle der SimpleFeature-Attribute.
protected  JLabel attributeLabel
          Label ueber der Tabelle mit den SimpleFeature-Attributen.
protected  JTable attributeTable
          Tabelle in der die SimpleFeature-Attribute angegeben werden.
protected  FeatureTypeTableModel attributeTableModel
          Tabellen-Modell, das den Inhalt der SimpleFeature-Attribut-Tabelle bestimmt
protected  FilterParser filterParser
          Parser um aus dem im Panel eingegebenen String einen Filter zu erstellen.
 
Fields inherited from class schmitzm.swing.OperationTreePanel
layoutConstraints, OPERATOR_COMBOBOX, OPERATOR_LABEL, operators, opHints, rule, RULE_LABEL, RULE_TEXTFIELD, RULE_TOOLTIP, START_BUTTON, startButton, THIS
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
  FeatureFilterPanel(FilterParser parser,  fc)
          Erzeugt ein neues Panel.
  FeatureFilterPanel(FilterParser parser, SimpleFeatureType ftype)
          Erzeugt ein neues Panel.
protected FeatureFilterPanel(FilterParser parser, SimpleFeatureType ftype, boolean initGUI)
          Erzeugt ein neues Panel
 
Method Summary
 Filter createFilter()
          Liefert einen Filter zu der im Panel eingetragene Formel.
 AttributeTypeFilter getAttributeFilter()
          Liefert den Filter, der die dargestellten Attribute bestimmt.
 SimpleFeatureType getFeatureType()
          Liefert den SimpleFeatureType, dessen Attribute fuer die Filter-Formel angeboten werden.
 FilterParser getFilterParser()
          Liefert den Parser, mit dem aus der im Panel eingegebenen Formel ein Filter erstellt wird.
 String getRule()
          Liefert die im Panel eingetragene Formel.
protected  void initGUI()
          Initalisiert die GUI des Fensters.
 void resetCaptions(Map<String,Object> captionMap)
          Setzt die Labels des Panels neu.
 void setAttributeFilter(AttributeTypeFilter attrFilter)
          Setzt den Filter, der die dargestellten Attribute bestimmt.
 void setFeatureType(SimpleFeatureType ftype)
          Setzt den SimpleFeatureType, dessen Attribute fuer die Filter-Formel angeboten werden.
 void setFilterParser(FilterParser parser)
          Setzt den Parser, mit dem aus der im Panel eingegebenen Formel ein Filter erstellt wird.
 void setRule(String ruleString)
          Setzt die im Panel eingegebene Formel.
 
Methods inherited from class schmitzm.swing.OperationTreePanel
acceptOperator, checkInputsAndError, performCalculation, performOperatorInsert
 
Methods inherited from class schmitzm.swing.CaptionsChangeablePanel
resetCaptions, resetCaptions
 
Methods inherited from class schmitzm.swing.JPanel
print, setBackground, setEnabled
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ATTRIBUTE_LABEL

public static final String ATTRIBUTE_LABEL
Konstante fuer das Label zur Tabelle der SimpleFeature-Attribute.

See Also:
OperationTreePanel.layoutConstraints, resetCaptions(Map)

ATTRIBUTE_TABLE

public static final String ATTRIBUTE_TABLE
Konstante fuer die Tabelle der SimpleFeature-Attribute.

See Also:
OperationTreePanel.layoutConstraints

attributeLabel

protected JLabel attributeLabel
Label ueber der Tabelle mit den SimpleFeature-Attributen.


attributeTable

protected JTable attributeTable
Tabelle in der die SimpleFeature-Attribute angegeben werden.


attributeTableModel

protected FeatureTypeTableModel attributeTableModel
Tabellen-Modell, das den Inhalt der SimpleFeature-Attribut-Tabelle bestimmt


filterParser

protected FilterParser filterParser
Parser um aus dem im Panel eingegebenen String einen Filter zu erstellen.

Constructor Detail

FeatureFilterPanel

public FeatureFilterPanel(FilterParser parser,
                          SimpleFeatureType ftype)
Erzeugt ein neues Panel.

Parameters:
parser - Parser um aus dem im Panel eingegebenen String einen Filter zu erstellen.
ftype - definiert die zur Verfuegung gestellten Feature-Attribute
See Also:
FeatureCollection#getSchema()

FeatureFilterPanel

public FeatureFilterPanel(FilterParser parser,
                           fc)
Erzeugt ein neues Panel.

Parameters:
parser - Parser um aus dem im Panel eingegebenen String einen Filter zu erstellen.
fc - definiert die zur Verfuegung gestellten Feature-Attribute
See Also:
FeatureCollection#getSchema()

FeatureFilterPanel

protected FeatureFilterPanel(FilterParser parser,
                             SimpleFeatureType ftype,
                             boolean initGUI)
Erzeugt ein neues Panel

Parameters:
parser - Parser um aus dem im Panel eingegebenen String einen Filter zu erstellen.
ftype - definiert die zur Verfuegung gestellten Feature-Attribute
initGUI - Flag, ob initGUI() am Ende des Konstruktor aufgerufen werden soll (wenn false muss die explizit durch die Unterklasse erfolgen!)
Method Detail

initGUI

protected void initGUI()
Initalisiert die GUI des Fensters. Der "Start-Button" der durch die Oberklasse definiert wird, wird dabei aus dem Panel entfernt!

Overrides:
initGUI in class OperationTreePanel

resetCaptions

public void resetCaptions(Map<String,Object> captionMap)
Setzt die Labels des Panels neu.

Specified by:
resetCaptions in interface CaptionsChangeable
Overrides:
resetCaptions in class OperationTreePanel
Parameters:
captionMap - Map
See Also:
OperationTreePanel.resetCaptions(Map)

setFeatureType

public void setFeatureType(SimpleFeatureType ftype)
Setzt den SimpleFeatureType, dessen Attribute fuer die Filter-Formel angeboten werden.

Parameters:
ftype - ein SimpleFeatureType

getFeatureType

public SimpleFeatureType getFeatureType()
Liefert den SimpleFeatureType, dessen Attribute fuer die Filter-Formel angeboten werden.


getAttributeFilter

public AttributeTypeFilter getAttributeFilter()
Liefert den Filter, der die dargestellten Attribute bestimmt.


setAttributeFilter

public void setAttributeFilter(AttributeTypeFilter attrFilter)
Setzt den Filter, der die dargestellten Attribute bestimmt.

Parameters:
attrFilter - Filter
See Also:
FeatureTypeTableModel.setAttributeFilter(AttributeTypeFilter)

getRule

public String getRule()
Liefert die im Panel eingetragene Formel.


setRule

public void setRule(String ruleString)
Setzt die im Panel eingegebene Formel.

Parameters:
ruleString - Formel als String

setFilterParser

public void setFilterParser(FilterParser parser)
Setzt den Parser, mit dem aus der im Panel eingegebenen Formel ein Filter erstellt wird.

Parameters:
parser - der Parser

getFilterParser

public FilterParser getFilterParser()
Liefert den Parser, mit dem aus der im Panel eingegebenen Formel ein Filter erstellt wird.


createFilter

public Filter createFilter()
Liefert einen Filter zu der im Panel eingetragene Formel.

Returns:
TRUE-Regel, falls im Panel keine Formel eingetragen ist.