public class MultiPanelDialog extends DataAccessDialog
DataAccessPanel
object directly added
to its layout, it contains a TabbedPane
object capable to contain
several DataAccessPanel instances.
References to these instances is maintained in convenient data structures to provide facilities in accessing each of them and, above all, to have the currently selected one to be processed as the ancestor of this class does with the one only there available.
The class is able to change the equipment of the m_buttonPane
object
depending on the type of the panel currently selected
It manages the selection of pane by adding all is needed to guide the user in ending or maintaining active the editing session, depending on the target sheet being bound to the abandoning one from a relation of extension of it or not.
The class makes the availability of each pane depending on the resulting permission the user has on the panel associated: if no panel results accessible the dialog does not open at all.
The class hosts two different scenarios: one in which all the
DataAccessPanel instances are independent and a second in which all
instances are related to a main one, typically the first, that is an instance
of the DataScrollingPanel
class. In the second scenario the instance
of this class is said to host a 'multi-tab document'.
In the 'multi-tab document' case the master panel manages a navigation grid
that can be either internal to its layout (that is the master is an instance
of NavigatorPanel
or external in which case the Table
object
must be explicitly instantiated and notified to the panel by means of the
setController
method. The 'new' and the 'delete' user command have
different effect in each of these different scenarios: in the multi-tab
document circumstance and if the current panel is a single record panel, they
are referenced to the entity managed by the master panel, having, indeed, the
'new' command acting on its record and the 'delete' command acting on all
panel, basing on the binding relations.
DataAccessDialog.EditAbandon_HooveringListener
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 |
---|---|
java.util.Vector<DataAccessPanel> |
m_dataPanels |
protected int |
m_definedPanels |
protected int |
m_gridMasterClassIndex |
int |
m_gridMasterIdx |
int |
m_iCurrentPage |
org.joty.common.CaselessStringKeyMap<java.lang.Integer> |
m_panelsTitleMap |
boolean |
m_reloadTabOnActivate |
protected TabbedPane |
m_tabbedPane |
java.util.Vector<java.lang.Integer> |
m_tabPanePanelClassIndex |
m_btnDelete, m_btnEditOrNew, m_btnHome, m_btnNew, m_btnNext, m_btnPrevious, m_btnSave, m_btnSelect, m_editAbandoning, m_endEditHooveringListener, m_saving, 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 |
---|
MultiPanelDialog() |
MultiPanelDialog(java.lang.Object callContext) |
MultiPanelDialog(java.lang.Object callContext,
java.lang.Object openingMode) |
MultiPanelDialog(java.lang.Object callContext,
java.lang.Object openingMode,
boolean initAction) |
askAndSave, beginEditing, checkForHooveringListener, classIdentityName, close, criticalValidation, dataCreationEnabled, dataToBeLoaded, deletionEffects, doActivationChange, endEditing, getAdd_EnablingState, getGridManager, getQuerySet, getSelectorButton, getUpdatableSet, initButtonPane, loadData, onCancel, onEditOrNew, onNext, onPrevious, onSave, preInitChildren, query, reloadAsLiteralStruct, save, selectiveQuery, selectiveUpdatableSet, setRecordEntity, setValidationUncritical, shouldDo, shouldDo, showDirtyEffect, updatableSet, updateCommandButtons
addIdentifierFromCallerToTitle, afterPerformed, appLang, buildButton, checkEnableAction, checkIfFrozen, componentsEnabledOnIdle, contextParameter, create, dialogStillLives, getInstance, getInstance, getInstance, getInstance, getMainSetSize, getMode, getSearcherExpandButton, guiDataExch, imageIcon, initContext, IsCreatable, isEditing, isInitializing, isViewer, jotyLang, keyElem, onClose, onOK, openDetailsDialog, perform, repaint, 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
protected TabbedPane m_tabbedPane
public java.util.Vector<DataAccessPanel> m_dataPanels
public int m_iCurrentPage
public java.util.Vector<java.lang.Integer> m_tabPanePanelClassIndex
public boolean m_reloadTabOnActivate
public org.joty.common.CaselessStringKeyMap<java.lang.Integer> m_panelsTitleMap
public int m_gridMasterIdx
protected int m_gridMasterClassIndex
protected int m_definedPanels
public MultiPanelDialog()
public MultiPanelDialog(java.lang.Object callContext)
public MultiPanelDialog(java.lang.Object callContext, java.lang.Object openingMode)
public MultiPanelDialog(java.lang.Object callContext, java.lang.Object openingMode, boolean initAction)
protected DataAccessPanel addEnabling_driver()
addEnabling_driver
in class DataAccessDialog
protected void checkAndSetLook()
checkAndSetLook
in class JotyDialog
protected void checkForHooveringListener()
checkForHooveringListener
in class DataAccessDialog
protected boolean checkForNormalBehavior()
checkForNormalBehavior
in class DataAccessDialog
protected void checkForPublishings()
checkForPublishings
in class DataAccessDialog
protected void checkPanelForNewRec()
checkPanelForNewRec
in class JotyDialog
protected void checkPanelsCollaboration()
protected void clearAppReferences()
clearAppReferences
in class DataAccessDialog
public void closeDependentDialogs()
closeDependentDialogs
in class DataAccessDialog
public boolean compoundDocument()
compoundDocument
in class JotyDialog
protected DataAccessPanel deleteEnabling_driver()
deleteEnabling_driver
in class DataAccessDialog
public boolean dialogRecordLevel()
public void filterInit(org.joty.data.WrappedField keyWField)
filterInit
in class DataAccessDialog
public GridManager getGridManager(boolean DialogLevelImperative)
getGridManager
in class JotyDialog
public DataAccessPanel getGridMaster()
protected void gridSelectionChangeHandler()
protected GridManager identifyGridManager(DataAccessPanel masterPanel)
public boolean initChildren()
initChildren
in class DataAccessDialog
protected boolean initDialog()
initDialog
in class DataAccessDialog
public boolean isDeletable()
isDeletable
in class DataAccessDialog
public GridManager masterGridManager()
masterGridManager
in class JotyDialog
public void onDelete()
onDelete
in class DataAccessDialog
public void onNew()
onNew
in class DataAccessDialog
protected void processFault()
processFault
in class JotyDialog
public void resetPanel(java.lang.String panelTitle)
resetPanel
in class JotyDialog
public boolean sheetRecordLevel()
public void showingEffects(int iNewPage)