InspectorWindow Class Reference

Inherits WindowWithPaletteButtons.

Inheritance diagram for InspectorWindow:

Inheritance graph
[legend]
Collaboration diagram for InspectorWindow:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void Constructor ()
boolean IncludeInZoneWidth ()
boolean IsLeftAlignedToScreen ()
void ReceivePaletteResult (,)

Public Attributes

Controls
Canvas CentreCoordsLabel
RadioButton CentreCoordsRadio
PushButton ChoosePictureButton
StaticText degreesLabel
StaticText heightLabel
EditField location
Canvas LockedLabel
StaticText noObjText
Canvas PrintableLabel
Canvas rotLabel
ADOutlineSwatchCanvas sBorderColorCanvas
EditField sBorderWidth
Canvas sBorderWidthLabel
ADSwatchCanvas sFillColorCanvas
EditField sheight
CheckBox slock
CheckBox sprint
EditField srot
EditField swidth
EditField sx
EditField sy
Canvas TopLeftCoordsLabel
RadioButton TopLeftCoordsRadio
StaticText unitsLabel
StaticText widLabel
StaticText xLabel
StaticText yLabel

Protected Member Functions

void ClosePopups ()
void CreatePopupsAndSetSwatches (ADOutlineSwatchCanvas inBorders, ADSwatchCanvas inFill, string inBordersTitle, string inFillTitle)
void HidePopups ()
void MovePopups ()
void ResetPopup (FSPopupWindow inPopup)
void ShowPopups ()

Package Attributes

boolean mAdjustLayoutWhenResized
ADOutlineSwatchCanvas mBorderSwatchCanvas
BumperZone mBumperZone
FSPopupWindow mFillPopup
ADSwatchCanvas mFillSwatchCanvas
boolean mInOpen
FSPopupWindow mLineColorPopup
FSPopupWindow mLinePopup
boolean mMouseDown
boolean mReactingToResized

Detailed Description

The inspector window is a resonably lightweight implementation even though it can exhibit complex behaviour patterns. The inspector window can only handle the display of simple instance data on its own. For more complex data display it sends messages to relavent shape instances for them to handle the operation. The inspector instance can handle simple operations such as enable and disable of members as well as resizing its display window based upon shape instance requirements.

The inspector window has three main functions to control its operation.

Handleupdate is called to update the inspector window with the current shape instance data.

UpdateInspectorParams is called to push the current shape instances data into the inspector window. This is a three step operation involving hiding all inspector controls, then sending a message to the shape isntance to update its specific controls, and finally update the ADBaseShape member variables which are displayed in the inspector.

UpdateShapeParams is called to push the data from the inspector window into the current shape instance. This is a two step operation which calls a shape instance member function to copy data from the inspector window into its member variables followed by a call to the application to update the document, thus ensuring that any modifications are refreshed for the user.

Many inspector controls send an UpdateShapeParams message when focus is lost so the user can see the changes to the shape parameters immediately. There are a few controls where this is not done, mainly for performance reasons.

Resizing:
(courtesy email from Gary 10 May 2004) You must handle all resizing yourself. The inspector starts off at a defined small size. When a shape send an UpdateInspectorWindow(sp?) call it is actually saying to the inspector window 'whatever size you currently are, add this much more to the width and height please'. Shapes NEVER change the top-left position of the inspector window. They merely ADD to its height and width. Whenever you select a new shape the inspector is reset to its initial small size. Each shapes UpdateInspector call calls its parent first then itself. This means that a picture shape only adds enough extra height to include the image path field. The superclass has already added its bit to allow enough room for the co-ordinate fields.
I do re-position controls somewhat but that is limited to only a couple of shape types. RB does NOT adjust the window size to fully display a control.


Member Function Documentation

void WindowWithPaletteButtons.ClosePopups (  )  [protected, inherited]

void Bumper.Constructor (  )  [inherited]

void WindowWithPaletteButtons.CreatePopupsAndSetSwatches ( ADOutlineSwatchCanvas  inBorders,
ADSwatchCanvas  inFill,
string  inBordersTitle,
string  inFillTitle 
) [protected, inherited]

void WindowWithPaletteButtons.HidePopups (  )  [protected, inherited]

boolean Bumper.IncludeInZoneWidth (  )  [inherited]

boolean Bumper.IsLeftAlignedToScreen (  )  [inherited]

void WindowWithPaletteButtons.MovePopups (  )  [protected, inherited]

void WindowWithPaletteButtons.ReceivePaletteResult (  )  [inherited]

void WindowWithPaletteButtons.ResetPopup ( FSPopupWindow  inPopup  )  [protected, inherited]

void WindowWithPaletteButtons.ShowPopups (  )  [protected, inherited]


Member Data Documentation

Canvas InspectorWindow.CentreCoordsLabel

RadioButton InspectorWindow.CentreCoordsRadio

PushButton InspectorWindow.ChoosePictureButton

StaticText InspectorWindow.degreesLabel

StaticText InspectorWindow.heightLabel

EditField InspectorWindow.location

Canvas InspectorWindow.LockedLabel

boolean Bumper.mAdjustLayoutWhenResized [package, inherited]

ADOutlineSwatchCanvas WindowWithPaletteButtons.mBorderSwatchCanvas [package, inherited]

BumperZone Bumper.mBumperZone [package, inherited]

FSPopupWindow WindowWithPaletteButtons.mFillPopup [package, inherited]

ADSwatchCanvas WindowWithPaletteButtons.mFillSwatchCanvas [package, inherited]

boolean Bumper.mInOpen [package, inherited]

FSPopupWindow WindowWithPaletteButtons.mLineColorPopup [package, inherited]

FSPopupWindow WindowWithPaletteButtons.mLinePopup [package, inherited]

boolean Bumper.mMouseDown [package, inherited]

boolean Bumper.mReactingToResized [package, inherited]

StaticText InspectorWindow.noObjText

Canvas InspectorWindow.PrintableLabel

Canvas InspectorWindow.rotLabel

ADOutlineSwatchCanvas InspectorWindow.sBorderColorCanvas

EditField InspectorWindow.sBorderWidth

Canvas InspectorWindow.sBorderWidthLabel

ADSwatchCanvas InspectorWindow.sFillColorCanvas

EditField InspectorWindow.sheight

CheckBox InspectorWindow.slock

CheckBox InspectorWindow.sprint

EditField InspectorWindow.srot

EditField InspectorWindow.swidth

EditField InspectorWindow.sx

EditField InspectorWindow.sy

Canvas InspectorWindow.TopLeftCoordsLabel

RadioButton InspectorWindow.TopLeftCoordsRadio

StaticText InspectorWindow.unitsLabel

StaticText InspectorWindow.widLabel

StaticText InspectorWindow.xLabel

StaticText InspectorWindow.yLabel


The documentation for this class was generated from the following file:
Generated on Sat Nov 11 10:53:07 2006 for mf2 by  doxygen 1.5.1