package GridFieldTester;
import DisplayProject.CloseHideAdaptor;
import DisplayProject.Constants;
import DisplayProject.CursorMgr;
import DisplayProject.DataField;
import DisplayProject.GridField;
import DisplayProject.UDSWindow;
import DisplayProject.UIutils;
import DisplayProject.WindowManager;
import DisplayProject.WindowUsageMap;
import DisplayProject.actions.FrameWeight;
import DisplayProject.actions.HeightPolicy;
import DisplayProject.actions.UserWindow;
import DisplayProject.actions.WidthPolicy;
import DisplayProject.binding.BindingManager;
import DisplayProject.binding.beans.ExtendedPropertyChangeSupport;
import DisplayProject.binding.beans.Observable;
import DisplayProject.events.ClientEventManager;
import DisplayProject.factory.CompoundFieldFactory;
import DisplayProject.factory.DataFieldFactory;
import DisplayProject.factory.PushButtonFactory;
import DisplayProject.plaf.Win32LookAndFeel;
import Framework.ErrorMgr;
import Framework.EventHandle;
import Framework.EventManager;
import Framework.EventRegistration;
import Framework.File;
import Framework.ForteKeyboardFocusManager;
import Framework.RuntimeProperties;
import Framework.TextData;
import Framework.UsageException;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.KeyboardFocusManager;
import java.awt.Window;
import java.awt.event.ComponentListener;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;
import java.lang.String;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.ToolTipManager;
import javax.swing.UIManager;
/**
* SDIWindow<p>
* <p>
* @author Generated from Forte
* @since 19-Nov-2008
*/
@RuntimeProperties(isDistributed=false, isAnchored=false, isShared=false, isTransactional=false)
@UDSWindow()
@SuppressWarnings("serial")
public class SDIWindow
extends JFrame
implements Serializable, Observable
{
// ----------
// Attributes
// ----------
protected File DefaultHelpFile;
protected BindingManager bindingManager = null;
public PropertyChangeSupport qq_Listeners = new ExtendedPropertyChangeSupport(this, true);
private String s1;
private String s2;
// ------------
// Constructors
// ------------
public SDIWindow() {
// Explicitly call the superclass constructor to prevent the implicit call
super();
this.initialize();
}
// ----------------------
// Accessors and Mutators
// ----------------------
public File getDefaultHelpFile() {
return DefaultHelpFile;
}
public void setDefaultHelpFile(File defaultHelpFile) {
DefaultHelpFile = defaultHelpFile;
UserWindow.createHelp(this, defaultHelpFile);
}
public void setHelpURL(String urlString) {
try {
URL url = new URL(urlString);
UserWindow.createHelp(this, url);
} catch (MalformedURLException e) {
UsageException err = new UsageException("Cannot create help URL", e);
ErrorMgr.addError(err);
throw err;
}
}
protected BindingManager getBindingManager() {
if (this.bindingManager == null) {
this.bindingManager = new BindingManager(this);
}
return bindingManager;
}
public void setS1(String s1) {
String oldValue = this.s1;
this.s1 = s1;
this.qq_Listeners.firePropertyChange("s1", oldValue, this.s1);
}
public String getS1() {
return this.s1;
}
public void setS2(String s2) {
String oldValue = this.s2;
this.s2 = s2;
this.qq_Listeners.firePropertyChange("s2", oldValue, this.s2);
}
public String getS2() {
return this.s2;
}
// -------
// Methods
// -------
public void addPropertyChangeListener(String property, PropertyChangeListener listener) {
qq_Listeners.addPropertyChangeListener(property, listener);
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
qq_Listeners.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(String property, PropertyChangeListener listener) {
qq_Listeners.removePropertyChangeListener(property, listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
qq_Listeners.removePropertyChangeListener(listener);
}
/**
* display<p>
* <p>
*/
public void display() {
UserWindow.open(this);
// ----------
// Event Loop
// ----------
EventManager.startEventLoop();
try {
EventRegistration TaskHandle_Shutdown_langThreadcurrentThread = ClientEventManager.register( Thread.currentThread(), "Shutdown" );
File f = new File();
f.setLocalName(new TextData("c:\\sdiWindow.txt"));
f.open(Framework.Constants.SP_AM_WRITE, false);
UIutils.traceWidget(this);
f.close();
while (true) {
UIutils.processGUIActions();
EventHandle qq_currentEvent = EventManager.waitForEvent();
if (qq_currentEvent == null)
break;
// -------------
// task.Shutdown
// -------------
if (qq_currentEvent.isEvent(TaskHandle_Shutdown_langThreadcurrentThread)) {
try {
CursorMgr.startEvent();
// ================ Begin Forte Event Handler Translation ================
break;
// ================ End Forte Event Handler Translation ================
}
finally {
CursorMgr.endEvent();
}
}
}
EventManager.deregister( TaskHandle_Shutdown_langThreadcurrentThread );
}
//catch (Exception qq_error) {
//Logger.getLogger("task.part.Event").error("Event loop terminated by unhandled exception: " + qq_error.getMessage(), qq_error );
//throw qq_error;
//}
finally {
EventManager.endEventLoop();
UserWindow.close(this);
}
}
// ------------------
// Window Definitions
// ------------------
// <editor-fold defaultstate="collapsed" desc="Window Definitions">
private int qq_defaultSet = 1;
private int qq_msgNumber = 0;
private int qq_msgSet = 0;
protected Window primaryWindow = null;
protected int initialX;
protected int initialY;
protected int qq_SystemClosePolicy = Constants.SC_ENABLEDSHUTDOWN;
protected int qq_initialPositionPolicy = Constants.PP_SYSTEMDEFAULT;
public DataField qq_s1;
public DataField qq_s2;
public GridField qq_gfButtonSet;
public GridField qq_gfButtons;
public GridField qq_gfInner;
public GridField qq_gfOuter;
public GridField qq_gfStatus;
public JButton qq_Button1;
public JButton qq_Button2;
public JButton qq_Button3;
public JButton qq_Button4;
public JPanel Form;
/**
* qq_Button1: transformed from: qqds_PushButton
* TagId=15
* isInherited=FALSE
*/
public JButton getqq_Button1() {
if (qq_Button1 == null) {
qq_Button1 = PushButtonFactory.newInstance("Button1", "b1");
qq_Button1.setVerifyInputWhenFocusTarget(true);
WidthPolicy.set(qq_Button1, Constants.SP_NATURAL);
HeightPolicy.set(qq_Button1, Constants.SP_NATURAL);
qq_Button1.setMinimumSize(new Dimension(27, 23));
}
return qq_Button1;
}
public void setqq_Button1(JButton value) {
JButton oldValue = qq_Button1;
qq_Button1 = value;
this.qq_Listeners.firePropertyChange("qq_Button1", oldValue, value);
}
/**
* qq_Button2: transformed from: qqds_PushButton
* TagId=16
* isInherited=FALSE
*/
public JButton getqq_Button2() {
if (qq_Button2 == null) {
qq_Button2 = PushButtonFactory.newInstance("Button2", "b2");
qq_Button2.setVerifyInputWhenFocusTarget(true);
WidthPolicy.set(qq_Button2, Constants.SP_NATURAL);
HeightPolicy.set(qq_Button2, Constants.SP_NATURAL);
qq_Button2.setMinimumSize(new Dimension(27, 23));
}
return qq_Button2;
}
public void setqq_Button2(JButton value) {
JButton oldValue = qq_Button2;
qq_Button2 = value;
this.qq_Listeners.firePropertyChange("qq_Button2", oldValue, value);
}
/**
* qq_Button3: transformed from: qqds_PushButton
* TagId=17
* isInherited=FALSE
*/
public JButton getqq_Button3() {
if (qq_Button3 == null) {
qq_Button3 = PushButtonFactory.newInstance("Button3", "b3");
qq_Button3.setVerifyInputWhenFocusTarget(true);
WidthPolicy.set(qq_Button3, Constants.SP_NATURAL);
HeightPolicy.set(qq_Button3, Constants.SP_NATURAL);
qq_Button3.setMinimumSize(new Dimension(27, 23));
}
return qq_Button3;
}
public void setqq_Button3(JButton value) {
JButton oldValue = qq_Button3;
qq_Button3 = value;
this.qq_Listeners.firePropertyChange("qq_Button3", oldValue, value);
}
/**
* qq_Button4: transformed from: qqds_PushButton
* TagId=18
* isInherited=FALSE
*/
public JButton getqq_Button4() {
if (qq_Button4 == null) {
qq_Button4 = PushButtonFactory.newInstance("Button4", "b4");
qq_Button4.setVerifyInputWhenFocusTarget(true);
WidthPolicy.set(qq_Button4, Constants.SP_NATURAL);
HeightPolicy.set(qq_Button4, Constants.SP_NATURAL);
qq_Button4.setMinimumSize(new Dimension(27, 23));
}
return qq_Button4;
}
public void setqq_Button4(JButton value) {
JButton oldValue = qq_Button4;
qq_Button4 = value;
this.qq_Listeners.firePropertyChange("qq_Button4", oldValue, value);
}
/**
* qq_gfButtonSet: transformed from: qqds_GridField
* TagId=14
* isInherited=FALSE
* In forte this was a 4x1 grid field.
* There are no cell margins set
* The width policy is set to Natural, and the height policy is set to Natural.
*/
protected void setqq_gfButtonSetProperties() {
qq_gfButtonSet.setCollapsed(true);
qq_gfButtonSet.setHeightPolicy(Constants.SP_NATURAL);
qq_gfButtonSet.setWidthPolicy(Constants.SP_NATURAL);
qq_gfButtonSet.setBackground(null);
}
public GridField getqq_gfButtonSet() {
if (qq_gfButtonSet == null) {
qq_gfButtonSet = CompoundFieldFactory.newGridField("gfButtonSet", false);
setqq_gfButtonSetProperties();
qq_gfButtonSet.setMinimumSize(new Dimension(113, 23));
GridBagConstraints qq_gbc = new GridBagConstraints();
qq_gbc.gridx = 0; // Column 1
qq_gbc.gridy = 0; // Row 1
qq_gbc.weightx = 0;
qq_gbc.weighty = 0;
qq_gbc.anchor = GridBagConstraints.CENTER; // Gravity - original: CG_DEFAULT gf
qq_gbc.fill = GridBagConstraints.NONE; // Size to parent - original: No size to parent
qq_gbc.insets = new Insets(0, 0, 0, 0); // Top, Left, Bottom, Right Margin
qq_gfButtonSet.add( getqq_Button1(), qq_gbc );
GridBagConstraints qq_gbc1 = new GridBagConstraints();
qq_gbc1.gridx = 1; // Column 2
qq_gbc1.gridy = 0; // Row 1
qq_gbc1.weightx = 0;
qq_gbc1.weighty = 0;
qq_gbc1.anchor = GridBagConstraints.CENTER; // Gravity - original: CG_DEFAULT gf
qq_gbc1.fill = GridBagConstraints.NONE; // Size to parent - original: No size to parent
qq_gbc1.insets = new Insets(0, 0, 0, 0); // Top, Left, Bottom, Right Margin
qq_gfButtonSet.add( getqq_Button2(), qq_gbc1 );
GridBagConstraints qq_gbc2 = new GridBagConstraints();
qq_gbc2.gridx = 2; // Column 3
qq_gbc2.gridy = 0; // Row 1
qq_gbc2.weightx = 0;
qq_gbc2.weighty = 0;
qq_gbc2.anchor = GridBagConstraints.CENTER; // Gravity - original: CG_DEFAULT gf
qq_gbc2.fill = GridBagConstraints.NONE; // Size to parent - original: No size to parent
qq_gbc2.insets = new Insets(0, 0, 0, 0); // Top, Left, Bottom, Right Margin
qq_gfButtonSet.add( getqq_Button3(), qq_gbc2 );
GridBagConstraints qq_gbc3 = new GridBagConstraints();
qq_gbc3.gridx = 3; // Column 4
qq_gbc3.gridy = 0; // Row 1
qq_gbc3.weightx = 0;
qq_gbc3.weighty = 0;
qq_gbc3.anchor = GridBagConstraints.CENTER; // Gravity - original: CG_DEFAULT gf
qq_gbc3.fill = GridBagConstraints.NONE; // Size to parent - original: No size to parent
qq_gbc3.insets = new Insets(0, 4, 0, 0); // Top, Left, Bottom, Right Margin
qq_gfButtonSet.add( getqq_Button4(), qq_gbc3 );
}
return qq_gfButtonSet;
}
public void setqq_gfButtonSet(GridField value) {
GridField oldValue = qq_gfButtonSet;
qq_gfButtonSet = value;
this.qq_Listeners.firePropertyChange("qq_gfButtonSet", oldValue, value);
}
/**
* qq_gfButtons: transformed from: qqds_GridField
* TagId=13
* isInherited=FALSE
* In forte this was a 1x1 grid field.
* The cell margins are all 50 mils
* The width policy is set to Parent, and the height policy is set to Natural.
*/
protected void setqq_gfButtonsProperties() {
FrameWeight.set(qq_gfButtons, Constants.W_DEFAULT);
qq_gfButtons.setCellTopMargin(25);
qq_gfButtons.setCellBottomMargin(25);
qq_gfButtons.setCellLeftMargin(25);
qq_gfButtons.setCellRightMargin(25);
qq_gfButtons.setCollapsed(true);
qq_gfButtons.setHeightPolicy(Constants.SP_NATURAL);
qq_gfButtons.setWidthPolicy(Constants.SP_TO_PARENT);
qq_gfButtons.setBackground(null);
}
public GridField getqq_gfButtons() {
if (qq_gfButtons == null) {
qq_gfButtons = CompoundFieldFactory.newGridField("gfButtons", false);
setqq_gfButtonsProperties();
qq_gfButtons.setMinimumSize(new Dimension(0, 36));
GridBagConstraints qq_gbc = new GridBagConstraints();
qq_gbc.gridx = 0; // Column 1
qq_gbc.gridy = 0; // Row 1
qq_gbc.weightx = 0;
qq_gbc.weighty = 0;
qq_gbc.anchor = GridBagConstraints.WEST; // Gravity - original: CG_MIDDLELEFT
qq_gbc.fill = GridBagConstraints.NONE; // Size to parent - original: No size to parent
qq_gbc.insets = new Insets(2, 2, 2, 2); // Top, Left, Bottom, Right Margin
qq_gfButtons.add( getqq_gfButtonSet(), qq_gbc );
}
return qq_gfButtons;
}
public void setqq_gfButtons(GridField value) {
GridField oldValue = qq_gfButtons;
qq_gfButtons = value;
this.qq_Listeners.firePropertyChange("qq_gfButtons", oldValue, value);
}
/**
* qq_s1: transformed from: qqds_DataField
* TagId=23
* isInherited=FALSE
*/
public DataField getqq_s1() {
if (qq_s1 == null) {
// Mask type: MK_NONE
qq_s1 = DataFieldFactory.newDataField("s1", 9, Constants.MK_NONE);
qq_s1.setOriginalFormatText(null);
qq_s1.setOpaque(false);
qq_s1.setHorizontalAlignment(JTextField.LEFT);
getBindingManager().bindComponent(qq_s1, "s1");
WidthPolicy.set(qq_s1, Constants.SP_EXPLICIT);
HeightPolicy.set(qq_s1, Constants.SP_NATURAL);
qq_s1.setMinimumSize(new Dimension(72, 19));
qq_s1.setSize(new Dimension(72, 19));
}
return qq_s1;
}
public void setqq_s1(DataField value) {
DataField oldValue = qq_s1;
qq_s1 = value;
this.qq_Listeners.firePropertyChange("qq_s1", oldValue, value);
}
/**
* qq_s2: transformed from: qqds_DataField
* TagId=24
* isInherited=FALSE
*/
public DataField getqq_s2() {
if (qq_s2 == null) {
// Mask type: MK_NONE
qq_s2 = DataFieldFactory.newDataField("s2", 62, Constants.MK_NONE);
qq_s2.setOriginalFormatText(null);
qq_s2.setOpaque(false);
qq_s2.setHorizontalAlignment(JTextField.LEFT);
getBindingManager().bindComponent(qq_s2, "s2");
WidthPolicy.set(qq_s2, Constants.SP_TO_PARENT);
HeightPolicy.set(qq_s2, Constants.SP_NATURAL);
int width = UIutils.colsToPixels(0, qq_s2);
qq_s2.setMinimumSize(new Dimension(width, 19));
}
return qq_s2;
}
public void setqq_s2(DataField value) {
DataField oldValue = qq_s2;
qq_s2 = value;
this.qq_Listeners.firePropertyChange("qq_s2", oldValue, value);
}
/**
* qq_gfStatus: transformed from: qqds_GridField
* TagId=22
* isInherited=FALSE
* In forte this was a 2x1 grid field.
* There are no cell margins set
* The width policy is set to Parent, and the height policy is set to Natural.
*/
protected void setqq_gfStatusProperties() {
qq_gfStatus.setCollapsed(true);
qq_gfStatus.setHeightPolicy(Constants.SP_NATURAL);
qq_gfStatus.setWidthPolicy(Constants.SP_TO_PARENT);
qq_gfStatus.setBackground(null);
}
public GridField getqq_gfStatus() {
if (qq_gfStatus == null) {
qq_gfStatus = CompoundFieldFactory.newGridField("gfStatus", false);
setqq_gfStatusProperties();
qq_gfStatus.setMinimumSize(new Dimension(0, 19));
GridBagConstraints qq_gbc = new GridBagConstraints();
qq_gbc.gridx = 0; // Column 1
qq_gbc.gridy = 0; // Row 1
qq_gbc.weightx = 0;
qq_gbc.weighty = 0;
qq_gbc.anchor = GridBagConstraints.CENTER; // Gravity - original: CG_DEFAULT gf
qq_gbc.fill = GridBagConstraints.NONE; // Size to parent - original: No size to parent
qq_gbc.insets = new Insets(0, 0, 0, 0); // Top, Left, Bottom, Right Margin
qq_gfStatus.add( getqq_s1(), qq_gbc );
GridBagConstraints qq_gbc1 = new GridBagConstraints();
qq_gbc1.gridx = 1; // Column 2
qq_gbc1.gridy = 0; // Row 1
qq_gbc1.weightx = 1;
qq_gbc1.weighty = 0;
qq_gbc1.anchor = GridBagConstraints.CENTER; // Gravity - original: CG_DEFAULT gf
qq_gbc1.fill = GridBagConstraints.HORIZONTAL; // Size to parent - original: W = SP_TO_PARENT
qq_gbc1.insets = new Insets(0, 0, 0, 0); // Top, Left, Bottom, Right Margin
qq_gfStatus.add( getqq_s2(), qq_gbc1 );
}
return qq_gfStatus;
}
public void setqq_gfStatus(GridField value) {
GridField oldValue = qq_gfStatus;
qq_gfStatus = value;
this.qq_Listeners.firePropertyChange("qq_gfStatus", oldValue, value);
}
/**
* qq_gfInner: transformed from: qqds_GridField
* TagId=33
* isInherited=FALSE
* In forte this was a 0x0 grid field.
* There are no cell margins set
* The width policy is set to Parent, and the height policy is set to Parent.
*/
protected void setqq_gfInnerProperties() {
FrameWeight.set(qq_gfInner, Constants.W_ONEPIXEL);
qq_gfInner.setCollapsed(true);
qq_gfInner.setHeightPolicy(Constants.SP_TO_PARENT);
qq_gfInner.setWidthPolicy(Constants.SP_TO_PARENT);
qq_gfInner.setBackground(null);
}
public GridField getqq_gfInner() {
if (qq_gfInner == null) {
qq_gfInner = CompoundFieldFactory.newGridField("gfInner", false);
setqq_gfInnerProperties();
qq_gfInner.setMinimumSize(new Dimension(0, 0));
}
return qq_gfInner;
}
public void setqq_gfInner(GridField value) {
GridField oldValue = qq_gfInner;
qq_gfInner = value;
this.qq_Listeners.firePropertyChange("qq_gfInner", oldValue, value);
}
/**
* qq_gfOuter: transformed from: qqds_GridField
* TagId=12
* isInherited=FALSE
* In forte this was a 1x3 grid field.
* There are no cell margins set
* The width policy is set to Parent, and the height policy is set to Parent.
*/
protected void setqq_gfOuterProperties() {
qq_gfOuter.setCollapsed(true);
qq_gfOuter.setMinWidth(480);
qq_gfOuter.setMinHeight(384);
qq_gfOuter.setHeightPolicy(Constants.SP_TO_PARENT);
qq_gfOuter.setWidthPolicy(Constants.SP_TO_PARENT);
qq_gfOuter.setBackground(null);
qq_gfOuter.setLocation(8, 12);
}
public GridField getqq_gfOuter() {
if (qq_gfOuter == null) {
qq_gfOuter = CompoundFieldFactory.newGridField("gfOuter", false);
setqq_gfOuterProperties();
qq_gfOuter.setMinimumSize(new Dimension(480, 384));
GridBagConstraints qq_gbc = new GridBagConstraints();
qq_gbc.gridx = 0; // Column 1
qq_gbc.gridy = 0; // Row 1
qq_gbc.weightx = 0;
qq_gbc.weighty = 0;
qq_gbc.anchor = GridBagConstraints.CENTER; // Gravity - original: CG_DEFAULT gf
qq_gbc.fill = GridBagConstraints.HORIZONTAL; // Size to parent - original: W = SP_TO_PARENT
qq_gbc.insets = new Insets(0, 0, 0, 0); // Top, Left, Bottom, Right Margin
qq_gfOuter.add( getqq_gfButtons(), qq_gbc );
GridBagConstraints qq_gbc1 = new GridBagConstraints();
qq_gbc1.gridx = 0; // Column 1
qq_gbc1.gridy = 1; // Row 2
qq_gbc1.weightx = 0;
qq_gbc1.weighty = 10;
qq_gbc1.anchor = GridBagConstraints.CENTER; // Gravity - original: CG_DEFAULT gf
qq_gbc1.fill = GridBagConstraints.BOTH; // Size to parent - original: H & W = SP_TO_PARENT
qq_gbc1.insets = new Insets(0, 0, 0, 0); // Top, Left, Bottom, Right Margin
qq_gfOuter.add( getqq_gfInner(), qq_gbc1 );
GridBagConstraints qq_gbc2 = new GridBagConstraints();
qq_gbc2.gridx = 0; // Column 1
qq_gbc2.gridy = 2; // Row 3
qq_gbc2.weightx = 0;
qq_gbc2.weighty = 0;
qq_gbc2.anchor = GridBagConstraints.CENTER; // Gravity - original: CG_DEFAULT gf
qq_gbc2.fill = GridBagConstraints.HORIZONTAL; // Size to parent - original: W = SP_TO_PARENT
qq_gbc2.insets = new Insets(0, 0, 0, 0); // Top, Left, Bottom, Right Margin
qq_gfOuter.add( getqq_gfStatus(), qq_gbc2 );
}
return qq_gfOuter;
}
public void setqq_gfOuter(GridField value) {
GridField oldValue = qq_gfOuter;
qq_gfOuter = value;
this.qq_Listeners.firePropertyChange("qq_gfOuter", oldValue, value);
}
/**
* Form: transformed from: qqds_Panel
* TagId=1
* isInherited=FALSE
*/
protected void setFormProperties() {
Form.setOpaque( true );
}
public JPanel getForm() {
if (Form == null) {
Form = CompoundFieldFactory.newForm();
this.setFormProperties();
Form.add( getqq_gfOuter() );
}
return Form;
}
public void setForm(JPanel value) {
JPanel oldValue = Form;
Form = value;
this.qq_Listeners.firePropertyChange("Form", oldValue, value);
}
/**
* Gets the system close policy
*
* The SystemClosePolicy property determines how a window responds to user attempts to close it by using the native window system through the window close box or a window system menu command.
* SystemClosePolicy responds to window closure attempts according to the following parameters:
* <li>Constants.SC_DISABLED Does not allow window closure through window system.</li>
* <li>Constants.SC_ENABLEDNOFINALIZE Window can be closed, but the contents are not verified, guaranteeing that the window will close (for example, the user clicks the Cancel button).</li>
* <li>Constants.SC_ENABLEDFINALIZE Posts the RequestFinalize method on the window, with a reason code of zero.</li>
* <li>Constants.SC_ENABLEDSHUTDOWN Posts Shutdown event to window�s task and to all tasks started by that task. This is the default value.</li>
*/
public int getSystemClosePolicy() {
return qq_SystemClosePolicy;
}
/**
* Sets the system close policy
*
* The SystemClosePolicy property determines how a window responds to user attempts to close it by using the native window system through the window close box or a window system menu command.
* SystemClosePolicy responds to window closure attempts according to the following parameters:
* <li>Constants.SC_DISABLED Does not allow window closure through window system.</li>
* <li>Constants.SC_ENABLEDNOFINALIZE Window can be closed, but the contents are not verified, guaranteeing that the window will close (for example, the user clicks the Cancel button).</li>
* <li>Constants.SC_ENABLEDFINALIZE Posts the RequestFinalize method on the window, with a reason code of zero.</li>
* <li>Constants.SC_ENABLEDSHUTDOWN Posts Shutdown event to window�s task and to all tasks started by that task. This is the default value.</li>
*/
public void setSystemClosePolicy(int policy) {
this.qq_SystemClosePolicy = policy;
if (policy == Constants.SC_DISABLED) {
this.addComponentListener(new CloseHideAdaptor(this));
} else {
for (ComponentListener cl : this.getComponentListeners()) {
if (cl instanceof CloseHideAdaptor) {
this.removeComponentListener(cl);
break;
}
}
}
}
/**
* Gets the initial position policy
*
* The InitialPositionPolicy property sets the position of a main window when it is first displayed, relative to a primary window or the screen.
* You use the InitialPositionPolicy property in conjunction with the InitialX, InitialY properties.
* InitialPositionPolicy sets the position of a window according to the following values:
* <li>Constants.PP_SYSTEMDEFAULT Accepts the default window system placement specification.</li>
* <li>Constants.PP_PRIMARYCENTERED Centers the window relative to the window specified as the PrimaryWindow property.</li>
* <li>Constants.PP_PRIMARYRELATIVE Positions the window relative to the primary window, using the PrimaryWindow, InitialX and InitialY attributes.</li>
* <li>Constants.PP_SCREENCENTERED Centers the window relative to the screen.</li>
* <li>Constants.PP_SCREENRELATIVE Positions the window relative to the screen, using the InitialX and InitialY properties.</li>
*/
public int getInitialPositionPolicy() {
return qq_initialPositionPolicy;
}
/**
* Sets the initial position policy
*
* The InitialPositionPolicy property sets the position of a main window when it is first displayed, relative to a primary window or the screen.
* You use the InitialPositionPolicy property in conjunction with the InitialX, InitialY properties.
* InitialPositionPolicy sets the position of a window according to the following values:
* <li>Constants.PP_SYSTEMDEFAULT Accepts the default window system placement specification.</li>
* <li>Constants.PP_PRIMARYCENTERED Centers the window relative to the window specified as the PrimaryWindow property.</li>
* <li>Constants.PP_PRIMARYRELATIVE Positions the window relative to the primary window, using the PrimaryWindow, InitialX and InitialY attributes.</li>
* <li>Constants.PP_SCREENCENTERED Centers the window relative to the screen.</li>
* <li>Constants.PP_SCREENRELATIVE Positions the window relative to the screen, using the InitialX and InitialY properties.</li>
*/
public void setInitialPositionPolicy(int policy) {
this.qq_initialPositionPolicy = policy;
}
/**
* Gets the primary window
*
* The primary window property designates a window, known as a primary window, to serve as an initial position reference for the current window.
* When a main window first realizes itself through the Open method on the UserWindow, it assumes a position according to the InitialPositionPolicy attribute.
* When the InitialPositionPolicy property is set to PP_PRIMARYRELATIVE (relative to the primary window) or PP_PRIMARYCENTERED (centered on the primary window),
* the window realizes itself in a position relative to the designated primary window.<p>
* <p>
* To take a position relative to the primary window, a window uses the PrimaryWindow attribute in conjunction with the InitialX and InitialY properties, which specify the window�s horizontal and vertical coordinates.
*/
public Window getPrimaryWindow() {
return this.primaryWindow;
}
/**
* Sets the primary window
*
* The primary window property designates a window, known as a primary window, to serve as an initial position reference for the current window.
* When a main window first realizes itself through the Open method on the UserWindow, it assumes a position according to the InitialPositionPolicy attribute.
* When the InitialPositionPolicy property is set to PP_PRIMARYRELATIVE (relative to the primary window) or PP_PRIMARYCENTERED (centered on the primary window),
* the window realizes itself in a position relative to the designated primary window.<p>
* <p>
* To take a position relative to the primary window, a window uses the PrimaryWindow attribute in conjunction with the InitialX and InitialY properties, which specify the window�s horizontal and vertical coordinates.
*/
public void setPrimaryWindow(Window value) {
this.primaryWindow = value;
}
/**
* Gets the InitialX value
*
* The InitialX property (integer) is the window�s initial horizontal screen position, relative to a primary window or the screen. It is specified in mils.
* InitialX applies only to main windows and only when a window�s InitialPositionPolicy attribute is set to PP_PRIMARYRELATIVE (relative to the primary window) or PP_SCREENRELATIVE (relative to the screen).
* InitialX, and its corollary, InitialY, work in conjunction with the PrimaryWindow and InitialPositionPolicy attributes to determine the position of a main window when it is first realized.
*/
public int getInitialX() {
return initialX;
}
/**
* Sets the InitialX value
*
* The InitialX property (integer) is the window�s initial horizontal screen position, relative to a primary window or the screen. It is specified in mils.
* InitialX applies only to main windows and only when a window�s InitialPositionPolicy attribute is set to PP_PRIMARYRELATIVE (relative to the primary window) or PP_SCREENRELATIVE (relative to the screen).
* InitialX, and its corollary, InitialY, work in conjunction with the PrimaryWindow and InitialPositionPolicy attributes to determine the position of a main window when it is first realized.
*/
public void setInitialX(int value) {
this.initialX = value;
}
/**
* Gets the InitialY value
*
* The InitialY property (integer) is the window�s initial vertical screen position, relative to a primary window or the screen. It is specified in mils.
* InitialY applies only to main windows and only when a window�s InitialPositionPolicy attribute is set to PP_PRIMARYRELATIVE (relative to the primary window) or PP_SCREENRELATIVE (relative to the screen).
* InitialY, and its corollary, InitialX, work in conjunction with the PrimaryWindow and InitialPositionPolicy attributes to determine the position of a main window when it is first realized.
*/
public int getInitialY() {
return initialY;
}
/**
* Sets the InitialY value
*
* The InitialY property (integer) is the window�s initial vertical screen position, relative to a primary window or the screen. It is specified in mils.
* InitialY applies only to main windows and only when a window�s InitialPositionPolicy attribute is set to PP_PRIMARYRELATIVE (relative to the primary window) or PP_SCREENRELATIVE (relative to the screen).
* InitialY, and its corollary, InitialX, work in conjunction with the PrimaryWindow and InitialPositionPolicy attributes to determine the position of a main window when it is first realized.
*/
public void setInitialY(int value) {
this.initialY = value;
}
/**
* Gets the default message set number for the window and its widgets.
*/
public int getSetNum() {
return this.qq_defaultSet;
}
/**
* Sets the default message set number for the window and its widgets.
*/
public void setSetNum(int value) {
this.qq_defaultSet = value;
}
/**
* Gets the message set number for the message number of the window's title.
*/
public int getTitleSetNum() {
return this.qq_msgSet;
}
/**
* Sets the message set number for the message number of the window's title.
*/
public void setTitleSetNum(int value) {
this.qq_msgSet = value;
}
/**
* Gets the message number for the message number of the window's title.
*/
public int getTitleMsgNum() {
return this.qq_msgNumber;
}
/**
* Sets the message number for the message number of the window's title.
*/
public void setTitleMsgNum(int value) {
this.qq_msgNumber = value;
}
/**
* Initialise the window and all its children.
*/
protected void initialize() {
if (this.Form == null) {
this.setName( "SDIWindow" );
this.setTitle( "" );
this.setSystemClosePolicy(Constants.SC_ENABLEDSHUTDOWN);
if (this.getContentPane() != this.getForm()) {
this.setContentPane(getForm());
}
this.qq_setupWindowUsage();
this.setResizable( false );
this.setAlwaysOnTop(false);
UserWindow.setIconizeEnabled(this, true);
WindowManager.addWindowListener(this);
this.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
this.setUsage(DisplayProject.Constants.WU_UPDATE);
UIutils.processGUIActions();
this.pack();
this.setInitialX(0);
this.setInitialY(0);
this.setInitialPositionPolicy(Constants.PP_SYSTEMDEFAULT);
}
}
// ----------------
// Window usage
//-----------------
protected WindowUsageMap usage = new WindowUsageMap();
public int getUsage() {
return this.usage.getUsage();
}
public WindowUsageMap getUsageMap() {
return this.usage;
}
/**
* Sets the window usage
*
* The Usage property sets the state for all a window�s child widgets at once, providing collective widget state changes on a predefined basis. A widget�s state determines how the widget reacts to mouse actions and how it displays itself. A window�s Usage property provides a convenient way to control the states of a group of widgets in the context of their parent window. With the Usage attribute, you can synchronize widget states to conform to a pattern you establish for the window.
* The Usage attribute accepts the following values:
* <li>Constants.WU_EDIT Edit usage: widgets themselves are editable, but not underlying data.</li>
* <li>Constants.WU_QUERY Query only usage: widget data is editable, but not widgets themselves.</li>
* <li>Constants.WU_UPDATE Update usage: mouse actions and keyboard input accepted. Widgets themselves are changeable. This is the default.</li>
* <li>Constants.WU_USER1 A user-defined usage. Default values same as WU_UPDATE.</li>
* <li>Constants.WU_USER2 A user-defined usage. Default values same as WU_UPDATE.</li>
* <li>Constants.WU_USER3 A user-defined usage. Default values same as WU_UPDATE.</li>
* <li>Constants.WU_VIEW View-only usage: no keyboard input is accepted. Widget posts Click events for mouse clicks.</li>
*/
public void setUsage(int usage) {
this.usage.setUsage(usage);
}
public void qq_setupWindowUsage() {
this.usage = new WindowUsageMap();
this.usage.add(getqq_gfOuter(), Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_QUERY, Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_UPDATE);
this.usage.add(getqq_gfButtons(), Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_QUERY, Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_UPDATE);
this.usage.add(getqq_gfButtonSet(), Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_QUERY, Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_UPDATE);
this.usage.add(getqq_Button1(), Constants.FS_UPDATE, Constants.FS_VIEWONLY, Constants.FS_QUERY, Constants.FS_INACTIVE, Constants.FS_INACTIVE, Constants.FS_INACTIVE);
this.usage.add(getqq_Button2(), Constants.FS_UPDATE, Constants.FS_VIEWONLY, Constants.FS_QUERY, Constants.FS_INACTIVE, Constants.FS_INACTIVE, Constants.FS_INACTIVE);
this.usage.add(getqq_Button3(), Constants.FS_UPDATE, Constants.FS_VIEWONLY, Constants.FS_QUERY, Constants.FS_INACTIVE, Constants.FS_INACTIVE, Constants.FS_INACTIVE);
this.usage.add(getqq_Button4(), Constants.FS_UPDATE, Constants.FS_VIEWONLY, Constants.FS_QUERY, Constants.FS_INACTIVE, Constants.FS_INACTIVE, Constants.FS_INACTIVE);
this.usage.add(getqq_gfStatus(), Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_QUERY, Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_UPDATE);
this.usage.add(getqq_s1(), Constants.FS_VIEWONLY, Constants.FS_VIEWONLY, Constants.FS_QUERY, Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_UPDATE);
this.usage.add(getqq_s2(), Constants.FS_VIEWONLY, Constants.FS_VIEWONLY, Constants.FS_QUERY, Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_UPDATE);
this.usage.add(getqq_gfInner(), Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_QUERY, Constants.FS_UPDATE, Constants.FS_UPDATE, Constants.FS_UPDATE);
}
// </editor-fold>
// -----------
// Main method
// -----------
public static void main(String []args) {
KeyboardFocusManager.setCurrentKeyboardFocusManager(new ForteKeyboardFocusManager());
try {
UIManager.setLookAndFeel(new Win32LookAndFeel());
}
catch (Exception e) {}
ToolTipManager.sharedInstance().setDismissDelay(Integer.MAX_VALUE);
SDIWindow myClass = new SDIWindow();
myClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myClass.setVisible(true);
UIutils.processGUIActions();
}
} // end class SDIWindow
// c Pass 2 Conversion Time: 250 milliseconds