net.xoetrope.swt
Class XApplet

java.lang.Object
  extended by org.eclipse.swt.widgets.Widget
      extended by org.eclipse.swt.widgets.Control
          extended by org.eclipse.swt.widgets.Scrollable
              extended by org.eclipse.swt.widgets.Composite
                  extended by net.xoetrope.swt.XApplet
All Implemented Interfaces:
XStartupObject, org.eclipse.swt.graphics.Drawable

public class XApplet
extends org.eclipse.swt.widgets.Composite
implements XStartupObject

This class is constructed with a window or frame and can be part of an applet or an application. The class acts as the main entry point to an XUI application and provides some of the infrastructure needed to support the application.

The applet can provide support for a frameset or a single page. Page display functions are also supported to allow the application to display more than a single page or change the page that is displayed.

By choosing either the AWT or Swing version of the XApplet you choose to have either an AWT or a Swing application/applet. In general once this choice has been made you should not mix toolkits.

Copyright (c) Xoetrope Ltd., 1998-2004
License: see license.txt


Field Summary
protected  XApplicationContext applicationContext
           
protected  org.eclipse.swt.widgets.Shell clientShell
           
protected  org.eclipse.swt.widgets.Display display
           
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Constructor Summary
XApplet()
          A default constructor.
XApplet(java.lang.String[] args, org.eclipse.swt.widgets.Shell f, org.eclipse.swt.widgets.Display d)
          Create a new application.
 
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, setting it up if it is not already added to the application frame
 java.lang.Object getContentPaneEx()
          Get the panel which has the content
 java.net.URL getDocumentBase()
          Gets of the document
 java.lang.Object getFrame()
          Gets the Frame containing the applet.
 java.lang.String getParameter(java.lang.String param)
          Get a startup parameter
 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.
static void main(java.lang.String[] args)
          main method to be invoked as an application.
 void refresh()
          Refresh the parent shell
 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 title to the parent shell
 void setIcon(java.awt.Image icon)
          Set the icon to the parent shell
 void setSize(java.awt.Dimension size)
          Sets the size to the shell
 void setupFrameset(java.util.Hashtable params)
          Setup frameset.
 void setupWindow(XApplicationContext context, XProject currentProject, int clientWidth, int clientHeight)
          Setup the windowing.
 void validate()
          Validates the Applet
 
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, computeSize, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

clientShell

protected org.eclipse.swt.widgets.Shell clientShell

display

protected org.eclipse.swt.widgets.Display display

applicationContext

protected XApplicationContext applicationContext
Constructor Detail

XApplet

public XApplet()
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.


XApplet

public XApplet(java.lang.String[] args,
               org.eclipse.swt.widgets.Shell f,
               org.eclipse.swt.widgets.Display d)
Create a new application. 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
f - the parent shell
d - the parent display
Method Detail

main

public static void main(java.lang.String[] args)
main method to be invoked as an application. This method is invoked as the entry point to the 'Application', it is not used if an Applet is being launched. This method establishes the frame within which the application runs. If overloading this method remeber to call the setup method.

Parameters:
args - the command line arguments

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()
Refresh the parent shell

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 panel which has the content

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

setAppTitle

public void setAppTitle(java.lang.String title)
Set the title to the parent shell

Specified by:
setAppTitle in interface XStartupObject

setIcon

public void setIcon(java.awt.Image icon)
Set the icon to the parent shell

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

setupWindow

public void setupWindow(XApplicationContext context,
                        XProject currentProject,
                        int clientWidth,
                        int clientHeight)
Setup the windowing.

Specified by:
setupWindow in interface XStartupObject
Parameters:
context - the owner application context
currentProject - the owner project
clientWidth - the desired width of the application
clientHeight - the desired height of the application

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 java.lang.Object getFrame()
Gets the Frame containing the applet.

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

validate

public void validate()
Validates the Applet

Specified by:
validate in interface XStartupObject

setSize

public void setSize(java.awt.Dimension size)
Sets the size to the shell

Specified by:
setSize in interface XStartupObject
Parameters:
size - size of the shell

getDocumentBase

public java.net.URL getDocumentBase()
Gets of the document

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

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

getApplicationMenuBar

public java.lang.Object getApplicationMenuBar()
Get the menubar, setting it up if it is not already added to the application frame

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