net.xoetrope.swing.app
Class XuiProxy

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 net.xoetrope.swing.app.XuiProxy
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, XStartupObject

public class XuiProxy
extends javax.swing.JPanel
implements XStartupObject

The XuiProxy acts as a context for a XUI application embedded within another application, such as a Swing application. The proxy does not setup a frame or window as with other startup objects and instead it expects to be embedded within a container such as a JPanel. It is the launch application's reposnsibility to size and position the proxy as needed.

Copyright (c) Xoetrope Ltd., 1998-2006. See license.txt for more details

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  XApplicationContext applicationContext
           
protected  java.awt.Window appWindow
          The application window
protected  boolean bUseWindow
          true if a popup window is in use
protected  javax.swing.JFrame clientFrame
          The Application frame
protected  java.awt.Container pageHolder
          The panel holding the page content
 
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
XuiProxy()
          A default constructor.
XuiProxy(java.lang.String[] args, javax.swing.JFrame frame)
          Create a new aplication.
 
Method Summary
 java.lang.Object displayDecoration(PageSupport page, java.lang.String constraint)
          Display a window decoration, for example a toolbar
 java.lang.Object getApplicationMenuBar()
          Get the menubar.
 java.lang.Object getContentPaneEx()
          Get the content pane used by XUI - the container in which pages are displayed
 java.net.URL getDocumentBase()
          Gets the URL of the document in which this applet is embedded.
 javax.swing.JFrame getFrame()
          Gets the Frame containing the applet.
 java.lang.String getParameter(java.lang.String param)
          Get a startup parameter Returns null in this instance
 java.lang.Object getParentObject()
          Get the parent object
 java.lang.String getWidgetClassPackage()
          Get the package name for the default widget set
 void init()
          Invoked when used as an applet.
 void refresh()
          Validate and repaint the display
 void restoreViews()
          Restore the normal page views, as in the case of the docking layout where panels may be zoomed or minimized.
 void setApplicationMenuBar(java.lang.Object mb)
          Set the menubar
 void setAppTitle(java.lang.String title)
          Set the application title.
 void setIcon(java.awt.Image icon)
          Set the application icon
 void setMenuBar(javax.swing.JMenuBar mb)
          Set the menubar.
 void setupFrameset(java.util.Hashtable params)
          Setup frameset.
 void setupWindow(XApplicationContext context, XProject currentProject, int clientWidth, int clientHeight)
          Setup the main application window
 
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, 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, 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
 
Methods inherited from interface net.xoetrope.xui.XStartupObject
setSize, validate
 

Field Detail

appWindow

protected java.awt.Window appWindow
The application window


clientFrame

protected javax.swing.JFrame clientFrame
The Application frame


bUseWindow

protected boolean bUseWindow
true if a popup window is in use


applicationContext

protected XApplicationContext applicationContext

pageHolder

protected java.awt.Container pageHolder
The panel holding the page content

Constructor Detail

XuiProxy

public XuiProxy()
A default constructor. Most of the setup work is actually done by the initialize method and is called by the main method or the init method depending on whether or not an application of applet is being launched.

Parameters:
args - the application command-line arguments
frame - the parent frame

XuiProxy

public XuiProxy(java.lang.String[] args,
                javax.swing.JFrame frame)
Create a new aplication. Most of the setup work is actually done by the initialize method and is called by the main method or the init method depending on whether or not an application of applet is being launched.

Method Detail

getParentObject

public java.lang.Object getParentObject()
Get the parent object

Specified by:
getParentObject in interface XStartupObject
Returns:
the parent

getWidgetClassPackage

public java.lang.String getWidgetClassPackage()
Get the package name for the default widget set

Specified by:
getWidgetClassPackage in interface XStartupObject
Returns:
the class name of the widget set

setupFrameset

public void setupFrameset(java.util.Hashtable params)
Setup frameset. This method is called prior to the addition of any target areas in the framset and prior to the display of any pages. Since this applet does not support configurable framesets, this method ignores the parameter values passed.

Specified by:
setupFrameset in interface XStartupObject
Parameters:
params - the framset parameters if any

displayDecoration

public java.lang.Object displayDecoration(PageSupport page,
                                          java.lang.String constraint)
Display a window decoration, for example a toolbar

Specified by:
displayDecoration in interface XStartupObject
Parameters:
page - the new page
constraint - a value controlling how and where the decoration is displayed, this value is application type specific
Returns:
the page being displayed

refresh

public void refresh()
Validate and repaint the display

Specified by:
refresh in interface XStartupObject

restoreViews

public void restoreViews()

Restore the normal page views, as in the case of the docking layout where panels may be zoomed or minimized. The method is called prior to the display of a new page.

In this context the method has no effect.

Specified by:
restoreViews in interface XStartupObject

getContentPaneEx

public java.lang.Object getContentPaneEx()
Get the content pane used by XUI - the container in which pages are displayed

Specified by:
getContentPaneEx in interface XStartupObject
Returns:
the page container

setAppTitle

public void setAppTitle(java.lang.String title)
Description copied from interface: XStartupObject
Set the application title. This method is called just before the first page is displayed, when all the other resources should have been loaded.

Specified by:
setAppTitle in interface XStartupObject

setIcon

public void setIcon(java.awt.Image icon)
Set the application icon

Specified by:
setIcon in interface XStartupObject
Parameters:
img - the image name

setupWindow

public void setupWindow(XApplicationContext context,
                        XProject currentProject,
                        int clientWidth,
                        int clientHeight)
Setup the main application window

Specified by:
setupWindow in interface XStartupObject
Parameters:
context - the application context for the new application
currentProject - the current project
clientWidth - the desired width for the new window
clientHeight - the desired height for the new window

init

public void init()
Invoked when used as an applet. Sets up the startup file and initialises the application. Reads the applet parameters and calls initialize.


getFrame

public javax.swing.JFrame getFrame()
Gets the Frame containing the applet.

Returns:
Frame which is the applet or application's parent

setMenuBar

public void setMenuBar(javax.swing.JMenuBar mb)
Set the menubar.

Parameters:
mb - the new menu bar

getApplicationMenuBar

public java.lang.Object getApplicationMenuBar()
Get the menubar.

Specified by:
getApplicationMenuBar in interface XStartupObject
Returns:
the menu bar

setApplicationMenuBar

public void setApplicationMenuBar(java.lang.Object mb)
Set the menubar

Specified by:
setApplicationMenuBar in interface XStartupObject
Parameters:
mb - the menubar

getDocumentBase

public java.net.URL getDocumentBase()

Gets the URL of the document in which this applet is embedded.

Returns null in this instance

Specified by:
getDocumentBase in interface XStartupObject
Returns:
the URL of the document that contains this applet.
See Also:
Applet.getCodeBase()

getParameter

public java.lang.String getParameter(java.lang.String param)
Get a startup parameter

Returns null in this instance

Specified by:
getParameter in interface XStartupObject
Parameters:
param - the name of the parameter