Package org.compiere.apps
Class APanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.compiere.swing.CPanel
-
- org.compiere.apps.APanel
-
- All Implemented Interfaces:
ActionListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,ChangeListener,IProcessUI,DataStatusListener
public final class APanel extends CPanel implements DataStatusListener, ChangeListener, ActionListener, IProcessUI
Main Panel of application window.Structure: (MenuBar) -> to be added to owning window northPanel (ToolBar) tabPanel southPanel (StatusBar)- Version:
- $Id: APanel.java,v 1.4 2006/07/30 00:51:27 jjanke Exp $ Colin Rooney 2007/03/20 RFE#1670185 & related BUG#1684142 - Extend Sec to Info Queries
- Author:
- Jorg Janke, Teo Sarca, SC ARHIPAC SERVICE SRL
- BF [ 1824621 ] History button can't be canceled
- BF [ 1941271 ] VTreePanel is modifying even if is save wasn't successfull
- FR [ 1943731 ] Window data export functionality
- FR [ 1974354 ] VCreateFrom.create should be more flexible
- BF [ 1996056 ] Report error message is not displayed
- BF [ 1998575 ] Document Print is discarding any error, Teo Sarca, teo.sarca@gmail.com
- BF [ 2876892 ] Save included tab before calling button action https://sourceforge.net/tracker/?func=detail&aid=2876892&group_id=176962&atid=879332, victor.perez@e-evolution.com, Cristina Ghita, www.arhipac.ro, hengsin, hengsin.low@idalica.com
- See Also:
[ 1966328 ] New Window Info to MRP and CRP into View http://sourceforge.net/tracker/index.php?func=detail=1966328=176962=879335,[ 2877111 ] See identifiers columns when delete records https://sourceforge.net/tracker/?func=detail=879335=2877111=176962,[2887701] https://sourceforge.net/tracker/?func=detail=879335=2887701=176962, 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 Modifier and Type Field Description AppsActionaIgnoreIgnore ButtonAppsActionaLockPrivate Lock ButtonAppsActionaSaveSave ButtonAppsActionaSaveAndCreateSave & Create Button-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description APanel(AWindow window)APanel(GridController gc, int windowNo)Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(ActionEvent e)Action Listenervoidask(String message, Callback<Boolean> callback)Prompt for user input.voidaskForInput(String message, Callback<String> callback)voidcmd_process()opens a pulldown menu to start processes from "Button" type fields.booleancmd_save(boolean manualCmd)If required ask if you want to save and save itbooleancmd_saveAndCreate(boolean manualCmd)voiddataStatusChanged(DataStatusEvent e)Data Status Listener (row change) ^ | vvoiddispose()Disposevoiddownload(File file)add to list of file available for download after process endvoidexecuteASync(ProcessInfo pi)Method to be executed async.GridTabgetCurrentTab()Get Current TabJTabbedPanegetCurrentTabbedPane()ImagegetImage()Get Window ImageJMenuBargetMenuBar()Return MenuBarintgetSelectedTabIndex()Get the selected tab index of the panels JTabbedPane.StringgetSelectedTabName()Get the name of the selected tab in the panels JTabbedPane.StringgetTitle()Get Title of WindowintgetWindowNo()Get Current Window NobooleaninitPanel(int AD_Workbench_ID, int AD_Window_ID, MQuery query)Dynamic Panel Initialization - either single window or workbench.booleanisNested()booleanisUILocked()Is the UI locked (Internal method)voidlockUI(ProcessInfo pi)Lock User Interface.intnoOfTabs()Get the number of tabs in the panels JTabbedPane.voidsetSelectedTabIndex(int index)Set the tab index of the panels JTabbedPane.voidsetStatusLine(String text, boolean error)Set Status Line to textvoidstateChanged(ChangeEvent e)Change Listener - (tab change) <->voidstatusUpdate(String message)Provide status feedback to userStringtoString()String representationvoidunlockUI(ProcessInfo pi)Unlock User Interface.-
Methods inherited from class org.compiere.swing.CPanel
getBackgroundColor, getTabLevel, setBackground, setBackgroundColor, setTabLevel
-
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.adempiere.util.IProcessUI
askForInput, showInfoWindow, showReports
-
-
-
-
Field Detail
-
aIgnore
public AppsAction aIgnore
Ignore Button
-
aSave
public AppsAction aSave
Save Button
-
aSaveAndCreate
public AppsAction aSaveAndCreate
Save & Create Button
-
aLock
public AppsAction aLock
Private Lock Button
-
-
Constructor Detail
-
APanel
public APanel(GridController gc, int windowNo)
Constructs a new instance. Need to call initPanel for dynamic initialization
-
APanel
public APanel(AWindow window)
-
-
Method Detail
-
dispose
public void dispose()
Dispose
-
getMenuBar
public JMenuBar getMenuBar()
Return MenuBar- Returns:
- JMenuBar
-
getTitle
public String getTitle()
Get Title of Window- Returns:
- String with Title
-
initPanel
public boolean initPanel(int AD_Workbench_ID, int AD_Window_ID, MQuery query)Dynamic Panel Initialization - either single window or workbench.either - Workbench tabPanel (VTabbedPane) - Tab (GridController) or - Workbench tabPanel (VTabbedPane) - Window (VTabbedPane) - Tab (GridController)tabPanel- Parameters:
AD_Workbench_ID- if > 0 this is a workbench, AD_Window_ID ignoredAD_Window_ID- if not a workbench, Window IDquery- if not a Workbench, Zoom Query - additional SQL where clause- Returns:
- true if Panel is initialized successfully
-
getWindowNo
public int getWindowNo()
Get Current Window No- Returns:
- win no
-
getImage
public Image getImage()
Get Window Image- Returns:
- image or null
-
dataStatusChanged
public void dataStatusChanged(DataStatusEvent e)
Data Status Listener (row change) ^ | v- Specified by:
dataStatusChangedin interfaceDataStatusListener- Parameters:
e- event
-
setStatusLine
public void setStatusLine(String text, boolean error)
Set Status Line to text- Parameters:
text- clear texterror- error flag
-
stateChanged
public void stateChanged(ChangeEvent e)
Change Listener - (tab change) <->- Specified by:
stateChangedin interfaceChangeListener- Parameters:
e- event
-
actionPerformed
public void actionPerformed(ActionEvent e)
Action Listener- Specified by:
actionPerformedin interfaceActionListener- Parameters:
e- event
-
cmd_save
public boolean cmd_save(boolean manualCmd)
If required ask if you want to save and save it- Parameters:
manualCmd- true if invoked manually (i.e. force)- Returns:
- true if saved
-
cmd_saveAndCreate
public boolean cmd_saveAndCreate(boolean manualCmd)
-
cmd_process
public void cmd_process()
opens a pulldown menu to start processes from "Button" type fields.
-
lockUI
public void lockUI(ProcessInfo pi)
Lock User Interface. Called from the Worker before processing- Specified by:
lockUIin interfaceIProcessUI- Parameters:
pi- process info
-
unlockUI
public void unlockUI(ProcessInfo pi)
Unlock User Interface. Called from the Worker when processing is done- Specified by:
unlockUIin interfaceIProcessUI- Parameters:
pi- of execute ASync call
-
isUILocked
public boolean isUILocked()
Is the UI locked (Internal method)- Specified by:
isUILockedin interfaceIProcessUI- Returns:
- true, if UI is locked
-
executeASync
public void executeASync(ProcessInfo pi)
Method to be executed async. Called from the ASyncProcess worker- Parameters:
pi- process info
-
getCurrentTab
public GridTab getCurrentTab()
Get Current Tab- Returns:
- current tab
-
noOfTabs
public int noOfTabs()
Get the number of tabs in the panels JTabbedPane.- Returns:
- no of tabs in the JTabbedPane of the panel
-
getSelectedTabIndex
public int getSelectedTabIndex()
Get the selected tab index of the panels JTabbedPane.- Returns:
- selected index of JTabbedPane
-
setSelectedTabIndex
public void setSelectedTabIndex(int index)
Set the tab index of the panels JTabbedPane.
-
getSelectedTabName
public String getSelectedTabName()
Get the name of the selected tab in the panels JTabbedPane.- Returns:
- name of selected tab
-
toString
public String toString()
String representation
-
isNested
public boolean isNested()
- Returns:
- boolean
-
getCurrentTabbedPane
public JTabbedPane getCurrentTabbedPane()
- Returns:
- JTabbedPane
-
statusUpdate
public void statusUpdate(String message)
Description copied from interface:IProcessUIProvide status feedback to user- Specified by:
statusUpdatein interfaceIProcessUI
-
ask
public void ask(String message, Callback<Boolean> callback)
Description copied from interface:IProcessUIPrompt for user input. Example Usage in process:final StringBuffer answer = new StringBuffer(); aProcessMonitor.ask(adMessage, new Callback() { - Specified by:
askin interfaceIProcessUI
-
download
public void download(File file)
Description copied from interface:IProcessUIadd to list of file available for download after process end- Specified by:
downloadin interfaceIProcessUI
-
askForInput
public void askForInput(String message, Callback<String> callback)
- Specified by:
askForInputin interfaceIProcessUI
-
-