public class DataAccessDialog extends JotyDialog
DataAccessPanel
instance(-s). This feature
is performed by adding to the JotyDialog#m_buttonPane
object all
typical command buttons for editing operations and by mapping them on
convenient control actions that, beyond internal processing, gives the user
visual and operative feedback.
The class is featured with the tools needed to manage the possible situations
in which the user seems implicitly to abandon the editing session and the
class is provided with convenient messages to the user in any of those
situation. One of these tools is the inner
EditAbandon_HooveringListener
class;
The JDialog object instantiated by means of this child class is not modal,
that is, at the same time, different application DataAccessDialog objects
can be opened, all of them originating from a different classes: it is not
possible (because it is not desired) to open more instance of the same class;
this is assured by the JotyDialog@tryCreate
method that takes care of
anything for leaving the user comfortable with that.
Even originating from different classes all DataAccessDialog objects opened at the same time can share the same data, especially in referencing them; since one of them (typically one only) can also modify these data a way to coordinate visual refreshing in all occurrences is needed: the Joty framework implements a publisher-subscribers model to fulfill memory update needs, keeping it simple and efficient. This class, indeed participates in the implementation.
Furthermore the class drives the behavior of other visual object.
Its initialization makes the application main frame to be reduced as small floating window.
It hosts a collection of ViewersManager
objects that address (each of
them) the life of a group of ViewerFrame
instances; the closing of
this class all the ViewersManager-s and the managed ViewerFrames.
This implementation is also responsible to store, in the workstation environment, the coordinate of the enclosing window and the sort information (the column and the sense) of main grid.
When in the overall data management the implementation class has a data navigation role it can be
conveniently instantiated by the
TermContainerPanel.acquireSelectedValueFrom
method; its behavior in
this case, is strongly determined by the context prepared by this caller.
ViewersManager
,
JotyFrame
,
JotyDialog
,
Serialized FormModifier and Type | Class and Description |
---|---|
class |
DataAccessDialog.EditAbandon_HooveringListener
In is a MouseListener implementation installed in the most critical
visual parts of the container class to help the identification of
antagonist scenarios, like JotyTextField validation on invalid content,
that itself is a blocking situation, versus the abandoning of the editing
session, that implicitly means renouncing to modifications made to the
data.
|
JotyDialog.CallContext
javax.swing.JDialog.AccessibleJDialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
JotyButton |
m_btnDelete |
JotyButton |
m_btnEditOrNew |
JotyButton |
m_btnHome |
JotyButton |
m_btnNew |
JotyButton |
m_btnNext |
JotyButton |
m_btnPrevious |
JotyButton |
m_btnSave |
JotyButton |
m_btnSelect |
boolean |
m_editAbandoning |
protected DataAccessDialog.EditAbandon_HooveringListener |
m_endEditHooveringListener |
boolean |
m_saving |
java.util.Vector<ViewersManager> |
m_viewersManagers |
m_accessorMode, m_actionEnabled, m_activatedByWindowsMenu, m_app, m_btnCancel, m_btnClose, m_btnOk, m_buttonPane, m_callContext, m_canceling, m_className, m_contentPanel, m_currSheet, m_dataUpdate_pending, m_defaultButton, m_dialogOpeningMode, m_editOrNew_command, m_enforcedVisible, m_entityName, m_frozen, m_gotData, m_gridManager, m_gridSelChanging, m_guiUpdate_pending, m_initAction, m_initializing, m_is_deleting, m_isEntityNamed, m_isViewer, m_keyElems, m_listenForPanelActions, m_needsExplicitCloseCommand, m_new_command, m_newDocument, m_panelsTobeInited, m_parentDataPanel, m_progressiveAction, m_queryBuilder
accessibleContext, rootPane, rootPaneCheckingEnabled
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
DataAccessDialog() |
DataAccessDialog(java.lang.Object callContext,
java.lang.Object openingMode) |
DataAccessDialog(java.lang.Object callContext,
java.lang.Object openingMode,
boolean initAction) |
Modifier and Type | Method and Description |
---|---|
protected DataAccessPanel |
addEnabling_driver() |
boolean |
askAndSave() |
protected void |
beginEditing() |
protected void |
checkForHooveringListener() |
void |
checkForHooveringListener(javax.swing.JComponent component) |
protected boolean |
checkForNormalBehavior() |
protected void |
checkForPublishings() |
protected java.lang.String |
classIdentityName() |
protected void |
clearAppReferences() |
boolean |
close() |
void |
closeDependentDialogs() |
protected boolean |
criticalValidation() |
protected boolean |
dataCreationEnabled() |
protected boolean |
dataToBeLoaded() |
protected DataAccessPanel |
deleteEnabling_driver() |
protected void |
deletionEffects() |
protected void |
doActivationChange(java.lang.Boolean activating) |
protected void |
endEditing(boolean justSaved) |
void |
filterInit(org.joty.data.WrappedField keyWField) |
protected boolean |
getAdd_EnablingState() |
GridManager |
getGridManager() |
java.lang.String |
getQuerySet() |
protected JotyButton |
getSelectorButton() |
java.lang.String |
getUpdatableSet() |
protected void |
initButtonPane() |
boolean |
initChildren() |
protected boolean |
initDialog() |
boolean |
isDeletable() |
boolean |
loadData() |
void |
onCancel() |
void |
onDelete() |
void |
onEditOrNew() |
void |
onNew() |
void |
onNext() |
void |
onPrevious() |
void |
onSave() |
protected void |
preInitChildren() |
protected java.lang.String |
query() |
protected void |
reloadAsLiteralStruct()
To be implemented when the data managed by the implementation class also
live in memory as a
LiteralStruct object. |
protected boolean |
save() |
protected java.lang.String |
selectiveQuery() |
protected java.lang.String |
selectiveUpdatableSet() |
void |
setRecordEntity(java.lang.String recordEntity) |
protected void |
setValidationUncritical() |
boolean |
shouldDo() |
boolean |
shouldDo(boolean leaveEditingOn) |
protected void |
showDirtyEffect() |
protected java.lang.String |
updatableSet() |
protected void |
updateCommandButtons(boolean Idle) |
addIdentifierFromCallerToTitle, afterPerformed, appLang, buildButton, checkAndSetLook, checkEnableAction, checkIfFrozen, checkPanelForNewRec, componentsEnabledOnIdle, compoundDocument, contextParameter, create, dialogStillLives, getGridManager, getInstance, getInstance, getInstance, getInstance, getMainSetSize, getMode, getSearcherExpandButton, guiDataExch, imageIcon, initContext, IsCreatable, isEditing, isInitializing, isViewer, jotyLang, keyElem, masterGridManager, onClose, onOK, openDetailsDialog, perform, processFault, repaint, resetPanel, setBounds, setContextParam, setContextParam, setContextParam, setEntityName, setIconImages, setToModal, showButton, showButton, showButton, tryCreate, tryCreate, tryCreate, tryCreate
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public JotyButton m_btnNew
public JotyButton m_btnEditOrNew
public JotyButton m_btnSave
public JotyButton m_btnDelete
public JotyButton m_btnNext
public JotyButton m_btnPrevious
public JotyButton m_btnHome
public JotyButton m_btnSelect
public java.util.Vector<ViewersManager> m_viewersManagers
public boolean m_editAbandoning
public boolean m_saving
protected DataAccessDialog.EditAbandon_HooveringListener m_endEditHooveringListener
public DataAccessDialog()
public DataAccessDialog(java.lang.Object callContext, java.lang.Object openingMode)
public DataAccessDialog(java.lang.Object callContext, java.lang.Object openingMode, boolean initAction)
protected DataAccessPanel addEnabling_driver()
public boolean askAndSave()
protected void beginEditing()
protected void checkForHooveringListener()
checkForHooveringListener
in class JotyDialog
public void checkForHooveringListener(javax.swing.JComponent component)
checkForHooveringListener
in class JotyDialog
protected boolean checkForNormalBehavior()
protected void checkForPublishings()
protected java.lang.String classIdentityName()
protected void clearAppReferences()
clearAppReferences
in class JotyDialog
public boolean close()
close
in class JotyDialog
public void closeDependentDialogs()
closeDependentDialogs
in class JotyDialog
protected boolean criticalValidation()
criticalValidation
in class JotyDialog
protected boolean dataCreationEnabled()
protected boolean dataToBeLoaded()
protected DataAccessPanel deleteEnabling_driver()
protected void deletionEffects()
protected void doActivationChange(java.lang.Boolean activating)
doActivationChange
in class JotyDialog
protected void endEditing(boolean justSaved)
public void filterInit(org.joty.data.WrappedField keyWField)
protected boolean getAdd_EnablingState()
public GridManager getGridManager()
getGridManager
in class JotyDialog
public java.lang.String getQuerySet()
protected JotyButton getSelectorButton()
getSelectorButton
in class JotyDialog
public java.lang.String getUpdatableSet()
protected void initButtonPane()
public boolean initChildren()
initChildren
in class JotyDialog
protected boolean initDialog()
initDialog
in class JotyDialog
public boolean isDeletable()
public boolean loadData()
public void onCancel()
onCancel
in class JotyDialog
public void onDelete()
public void onEditOrNew()
public void onNew()
public void onNext()
public void onPrevious()
public void onSave()
protected void preInitChildren()
preInitChildren
in class JotyDialog
protected java.lang.String query()
protected void reloadAsLiteralStruct()
LiteralStruct
object.protected boolean save()
protected java.lang.String selectiveQuery()
protected java.lang.String selectiveUpdatableSet()
public void setRecordEntity(java.lang.String recordEntity)
protected void setValidationUncritical()
setValidationUncritical
in class JotyDialog
public boolean shouldDo()
public boolean shouldDo(boolean leaveEditingOn)
protected void showDirtyEffect()
showDirtyEffect
in class JotyDialog
protected java.lang.String updatableSet()
protected void updateCommandButtons(boolean Idle)
updateCommandButtons
in class JotyDialog