org.tentackle.appworx
Class AppDbObjectFieldPanel

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 org.tentackle.ui.FormPanel
                      extended by org.tentackle.ui.FormComponentPanel
                          extended by org.tentackle.ui.FormFieldComponentPanel
                              extended by org.tentackle.appworx.AppDbObjectFieldPanel
All Implemented Interfaces:
DropTargetListener, ContainerListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, FormComponent, FormContainer, FormFieldComponent

public class AppDbObjectFieldPanel
extends FormFieldComponentPanel
implements DropTargetListener

A panel containing a FormField representing the key to select the data object and buttons for editing/viewing/searching.

See Also:
AppDbObjectLinkPanel, 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
 
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
AppDbObjectFieldPanel()
          Creates an application database object field panel.
 
Method Summary
 void dragEnter(DropTargetDragEvent event)
          Called while a drag operation is ongoing, when the mouse pointer enters the operable part of the drop site for the DropTarget registered with this listener.
 void dragExit(DropTargetEvent event)
          Called while a drag operation is ongoing, when the mouse pointer has exited the operable part of the drop site for the DropTarget registered with this listener.
 void dragOver(DropTargetDragEvent event)
          Called when a drag operation is ongoing, while the mouse pointer is still over the operable part of the drop site for the DropTarget registered with this listener.
 void drop(DropTargetDropEvent event)
          Called when the drag operation has terminated with a drop on the operable part of the drop site for the DropTarget registered with this listener.
 void dropActionChanged(DropTargetDragEvent event)
          Called if the user has modified the current drop gesture.
 int getInfoColumns()
          Get columns of info field
 AppDbObject getLink()
          Gets the object.
 long getLinkId()
          Gets the object Id of the link.
 QbfParameter getQbfParameter()
          Gets the qbf parameter.
 QbfPlugin getQbfPlugin()
          Gets the plugin.
 boolean isInfoFieldVisible()
          Gets the infofield's visibility.
 void setChangeable(boolean changeable)
          Set the component to be changeable.
This is a unified abstraction and will be translated to setEditable or setEnabled, whatever is appropriate to this component.
 void setInfoColumns(int col)
          Sets columns of the info field.
 void setInfoFieldVisible(boolean visible)
          Sets the infofield's visibility.
 void setLink(AppDbObject object)
          sets the link object (if plugin matches)
 void setLink(Class<? extends AppDbObject> clazz, ContextDb db, long linkedId)
          Sets the link with default plugin.
 void setLink(Class<? extends AppDbObject> clazz, ContextDb db, long linkedId, boolean keepPlugin)
          Sets the link with default plugin.
 void setLink(QbfPlugin plugin, long linkedId)
          Sets the link.
 void updateCodeAndInfoField(AppDbObject linkedObject)
          Updates both the code- and the info field.
 
Methods inherited from class org.tentackle.ui.FormFieldComponentPanel
clearText, doActionPerformed, doFormat, downRight, getAdjust, getBaseline, getCaretPosition, getColumns, getConvert, getConverter, getErrorOffset, getFiller, getFormat, getFormFieldComponent, getHorizontalAlignment, getInvalidChars, getMaxColumns, getText, getToolTipText, getValidChars, getVerticalAlignment, isAutoNext, isAutoSelect, isAutoUpdate, isCaretLeft, isCaretRight, isEmpty, isEraseFirst, isInhibitAutoSelect, isOverwrite, isStartEditLeftmost, setAdjust, setAutoNext, setAutoSelect, setAutoUpdate, setCaretLeft, setCaretPosition, setCaretRight, setColumns, setConvert, setConverter, setEraseFirst, setFiller, setFormat, setFormFieldComponent, setHorizontalAlignment, setInhibitAutoSelect, setInvalidChars, setMaxColumns, setOverwrite, setStartEditLeftmost, setText, setToolTipText, setValidChars, setVerticalAlignment, upLeft
 
Methods inherited from class org.tentackle.ui.FormComponentPanel
addValueListener, fireValueChanged, fireValueEntered, getFormComponent, getFormValue, getHelpURL, getParentWindow, hasFocus, invalidateParentInfo, isCellEditorUsage, isChangeable, isFireRunning, isFormTraversable, isHonourChangeable, isValueChanged, prepareFocusLost, removeValueListener, requestFocusLater, saveValue, setCellEditorUsage, setFireRunning, setFormComponent, setFormTraversable, setFormValue, setFormWrapWindow, setHelpURL, setHonourChangeable, showHelp, triggerValueChanged, wasFocusGainedFromTransfer, wasFocusGainedFromTransferBackward, wasTransferFocus, wasTransferFocusBackward, wasTransferFocusByEnter
 
Methods inherited from class org.tentackle.ui.FormPanel
addActionListener, areValuesChanged, componentAdded, componentRemoved, fireActionPerformed, getFormValues, getTitle, isAllChangeable, isHonourAllChangeable, removeActionListener, saveValues, setAllChangeable, setFormValues, setFormValuesKeepChanged, setHonourAllChangeable, setTitle, triggerValuesChanged
 
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, 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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, 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, 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
 
Methods inherited from interface org.tentackle.ui.FormComponent
addValueListener, fireValueChanged, fireValueEntered, getFormValue, getHelpURL, getParentWindow, hasFocus, invalidateParentInfo, isCellEditorUsage, isChangeable, isFireRunning, isFormTraversable, isHonourChangeable, isValueChanged, prepareFocusLost, removeValueListener, requestFocusLater, saveValue, setCellEditorUsage, setFireRunning, setFormTraversable, setFormValue, setFormWrapWindow, setHelpURL, setHonourChangeable, showHelp, transferFocus, transferFocusBackward, triggerValueChanged, wasFocusGainedFromTransfer, wasFocusGainedFromTransferBackward, wasTransferFocus, wasTransferFocusBackward, wasTransferFocusByEnter
 

Constructor Detail

AppDbObjectFieldPanel

public AppDbObjectFieldPanel()
Creates an application database object field panel.

Pressing F2 in the key field will open a search dialog. F3 will edit the object. Drag and drop is supported as well.
By default, the editing component is a StringFormField.

Method Detail

setLink

public void setLink(QbfPlugin plugin,
                    long linkedId)
Sets the link.

Parameters:
plugin - is the QbfPlugin to be used
linkedId - the original, i.e. current Id of the linked object

setLink

public void setLink(AppDbObject object)
sets the link object (if plugin matches)

Parameters:
object - the data object

setLink

public void setLink(Class<? extends AppDbObject> clazz,
                    ContextDb db,
                    long linkedId,
                    boolean keepPlugin)
Sets the link with default plugin.

Parameters:
clazz - the class of the linked object, e.g. Konto.class
db - is the db-connection with context
linkedId - the original, i.e. current Id of the linked object
keepPlugin - is true if keep plugin if already initialized

setLink

public void setLink(Class<? extends AppDbObject> clazz,
                    ContextDb db,
                    long linkedId)
Sets the link with default plugin.

Parameters:
clazz - the class of the linked object, e.g. Konto.class
db - is the db-connection with context
linkedId - the original, i.e. current Id of the linked object

getLinkId

public long getLinkId()
Gets the object Id of the link.

Returns:
the object id, 0 = no object linked

getLink

public AppDbObject getLink()
Gets the object.

Returns:
the data object, null = no object linked

getQbfParameter

public QbfParameter getQbfParameter()
Gets the qbf parameter.

Returns:
the qbf parameter

getQbfPlugin

public QbfPlugin getQbfPlugin()
Gets the plugin.

Returns:
the qbf plugin

setInfoColumns

public void setInfoColumns(int col)
Sets columns of the info field.

Parameters:
col - the columns

getInfoColumns

public int getInfoColumns()
Get columns of info field

Returns:
the columns

updateCodeAndInfoField

public void updateCodeAndInfoField(AppDbObject linkedObject)
Updates both the code- and the info field. Override this if the default does not match your objects behaviour!

Parameters:
linkedObject - the data object

setInfoFieldVisible

public void setInfoFieldVisible(boolean visible)
Sets the infofield's visibility. Sometimes useful if getTreeText() is not appropriate for non-ShortLongText objects.

Parameters:
visible - true if info field is visible (default)

isInfoFieldVisible

public boolean isInfoFieldVisible()
Gets the infofield's visibility.

Returns:
true if visible

setChangeable

public void setChangeable(boolean changeable)
Description copied from interface: FormComponent
Set the component to be changeable.
This is a unified abstraction and will be translated to setEditable or setEnabled, whatever is appropriate to this component.

Specified by:
setChangeable in interface FormComponent
Overrides:
setChangeable in class FormComponentPanel
Parameters:
changeable - true the user can edit the data, false if show only

dragEnter

public void dragEnter(DropTargetDragEvent event)
Description copied from interface: java.awt.dnd.DropTargetListener
Called while a drag operation is ongoing, when the mouse pointer enters the operable part of the drop site for the DropTarget registered with this listener.

Specified by:
dragEnter in interface DropTargetListener
Parameters:
event - the DropTargetDragEvent

dragExit

public void dragExit(DropTargetEvent event)
Description copied from interface: java.awt.dnd.DropTargetListener
Called while a drag operation is ongoing, when the mouse pointer has exited the operable part of the drop site for the DropTarget registered with this listener.

Specified by:
dragExit in interface DropTargetListener
Parameters:
event - the DropTargetEvent

dragOver

public void dragOver(DropTargetDragEvent event)
Description copied from interface: java.awt.dnd.DropTargetListener
Called when a drag operation is ongoing, while the mouse pointer is still over the operable part of the drop site for the DropTarget registered with this listener.

Specified by:
dragOver in interface DropTargetListener
Parameters:
event - the DropTargetDragEvent

dropActionChanged

public void dropActionChanged(DropTargetDragEvent event)
Description copied from interface: java.awt.dnd.DropTargetListener
Called if the user has modified the current drop gesture.

Specified by:
dropActionChanged in interface DropTargetListener
Parameters:
event - the DropTargetDragEvent

drop

public void drop(DropTargetDropEvent event)
Description copied from interface: java.awt.dnd.DropTargetListener
Called when the drag operation has terminated with a drop on the operable part of the drop site for the DropTarget registered with this listener.

This method is responsible for undertaking the transfer of the data associated with the gesture. The DropTargetDropEvent provides a means to obtain a Transferable object that represents the data object(s) to be transfered.

From this method, the DropTargetListener shall accept or reject the drop via the acceptDrop(int dropAction) or rejectDrop() methods of the DropTargetDropEvent parameter.

Subsequent to acceptDrop(), but not before, DropTargetDropEvent's getTransferable() method may be invoked, and data transfer may be performed via the returned Transferable's getTransferData() method.

At the completion of a drop, an implementation of this method is required to signal the success/failure of the drop by passing an appropriate boolean to the DropTargetDropEvent's dropComplete(boolean success) method.

Note: The data transfer should be completed before the call to the DropTargetDropEvent's dropComplete(boolean success) method. After that, a call to the getTransferData() method of the Transferable returned by DropTargetDropEvent.getTransferable() is guaranteed to succeed only if the data transfer is local; that is, only if DropTargetDropEvent.isLocalTransfer() returns true. Otherwise, the behavior of the call is implementation-dependent.

Specified by:
drop in interface DropTargetListener
Parameters:
event - the DropTargetDropEvent


Copyright © 2001-2008 Harald Krake, Bergstr. 48, 78098 Triberg, Germany, harald@krake.de