LPane is the fundamental visual class in PowerPlant. Every area you draw in, and everything you draw, descends from LPane. There are LPane derivative classes for text, pictures, lists, tables, controls and more.
Methods :
The methods in this class are:
Data Members:
The data members in this class are:
Operation:
LPane is one of the central classes to the magic of PowerPlant. In order to learn how to use it effectively, you should read about it in The PowerPlant Book on your documentation CD.
Source files:
See also:
Purpose:
The constructor creates the object using the passed-in parameters.
Access:
Prototype:
LPane();
LPane( const LPane &inOriginal );
LPane( const SPaneInfo &inPaneInfo );
LPane( LStream *inStream );Parameters:
The parameters for these contructors are:
Purpose:
The destructor destroys the object.
Access:
Prototype:
virtual ~LPane();
Purpose:
Access:
Prototype:
virtual void Activate();Parameters:
Return:
Purpose:
This is called when a pane is being activated. You should override this method for pane classes that change appearance when activated.
Access:
Prototype:
virtual void ActivateSelf();Parameters:
Return:
Purpose:
Adjust the state of the pane when installed in a new parent pane.
Access:
Prototype:
virtual void AdaptToNewSurroundings();Parameters:
Return:
Purpose:
Adjust the state of the pane when the size of the superview's frame changes by the specified amounts.
Access:
Prototype:
virtual void AdaptToSuperFrameSize(Parameters:
SInt32 inSurrWidthDelta,
SInt32 inSurrHeightDelta,
Boolean inRefresh);
The parameters for this method are:
Return:
Purpose:
Adjust the state of the pane when its superview scrolls by the specified amounts.
Access:
Prototype:
virtual void AdaptToSuperScroll(Parameters:
SInt32 inHorizScroll,
SInt32 inVertScroll);
The parameters for this method are:
Return:
Purpose:
Wrapper function for setting the cursor shape.
Access:
Prototype:
virtual void AdjustCursor(Parameters:
Point inPortPt,
const EventRecord &inMacEvent );
The parameters for this method are:
Return:
Purpose:
Set the cursor shape when the cursor is inside a pane.
Access:
Prototype:
virtual void AdjustCursorSelf(Parameters:
Point inPortPt,
const EventRecord& inMacEvent);
The parameters for this method are:
Return:
Purpose:
Set the foreground and background colors of the current port. The pane must already be focused.
Access:
Prototype:
virtual void ApplyForeAndBackColors() const;Parameters:
Return:
Purpose:
Calculate the pane's frame rectangle in local (Image) coordinates.
Access:
Prototype:
virtual Boolean CalcLocalFrameRect(Parameters:
Rect &outRect ) const;
The parameter for this method is:
Return:
Returns true if the frame is within QuickDraw space (16-bit), and returns
false if the frame is outside QuickDraw space with outRect is unchanged.
Purpose:
Calculate the pane's frame rectangle in Port coordinates.
Returns true if the frame is within QuickDraw space (16-bit) Returns false if the frame is outside QuickDraw space and outRect is unchanged
Access:
Prototype:
virtual Boolean CalcPortFrameRect(Parameters:
Rect &outRect ) const;
The parameter for this method is:
Return:
Returns true if the frame is within QuickDraw space (16-bit), and returns
false if the frame is outside QuickDraw space with outRect is unchanged.
Purpose:
This is a wrapper method for handling a click inside a pane.
This method does some bookkeeping, executes Attachments, then calls ClickSelf() to actually respond to the click.
Access:
Prototype:
virtual void Click(Parameters:
SMouseDownEvent &inMouseDown );
The parameter for this method is:
Return:
Purpose:
Respond to click inside this pane. You should override this to do something when the user clicks inside a pane.
Access:
Prototype:
virtual void ClickSelf(Parameters:
const SMouseDownEvent& inMouseDown );
The parameter for this method is:
Return:
Purpose:
Indicate whether the time between the specified time and the time of the last mouse down are close enough to be considered a double-click.
Access:
Prototype:
virtual Boolean ClickTimesAreClose(Parameters:
UInt32 inLastClickTime ) const;
The parameter for this method is:
Return:
Returns true if a double-click, else false.
Purpose:
Indicates whether a pane contains the specified point, which is in Port coordinates.
Note: This function just calls PointIsInFrame(), but is exists so that you can override it to change how the FindDeepSubPaneContaining() and FindShallowSubPaneContaining() search for Panes.
Access:
Prototype:
virtual Boolean Contains(Parameters:
SInt32 inHorizPort,
SInt32 inVertPort ) const;
The parameters for this method are:
Return:
Returns true if the pane contains the point, else returns false.
Purpose:
Indicate the number of horizontal and vertical panels. A panel is a "frameful" of a pane.
Access:
Prototype:
virtual void CountPanels(Parameters:
UInt32 &outHorizPanels,
UInt32 &outVertPanels );
The parameters for this method are:
Return:
Purpose:
Access:
Prototype:
virtual void Deactivate();Parameters:
Return:
Purpose:
This is called when a pane is being deactivated. You should override this for pane classes that change appearance when deactivated.
Access:
Prototype:
virtual void DeactivateSelf();Parameters:
Return:
Purpose:
Access:
Prototype:
virtual void Disable();Parameters:
Return:
Purpose:
Pane is being disabled. You should override this for pane classes that change appearance when disabled. To avoid flicker, a pane can draw immediately from this method rather than refreshing and drawing at the next update event.
Access:
Prototype:
virtual void DisableSelf();Parameters:
Return:
Purpose:
Validate the area occupied by a pane. This removes the pane area from the update region so that the pane won't be redrawn during the next update event.
Access:
Prototype:
virtual void DontRefresh( Boolean inOKIfHidden );Parameters:
The parameter for this method is:
Return:
Purpose:
Try to draw the contents of a pane.
This is a wrapper function which calls DrawSelf() if it is proper for the pane to draw. This means that:
Prototype:
virtual void Draw( RgnHandle inSuperDrawRgnH );Parameters:
The parameter for this method is:
Return:
Purpose:
This draws a box around the pane and a diagonal line from the top left to the bottom right corner using the default foreground and background colors for the pane.
On entry, the clipping region is the revealed area of the pane's superview. Therefore, it is possible for a pane to draw outside of its frame. You will not normally do this.
The port, coordinate system, and clipping region are set on entry. They must be the same upon exit. You are responsible for setting the Pen state and text characteristics to the proper values for your pane.
Access:
Prototype:
virtual void DrawSelf();Parameters:
Return:
Purpose:
Access:
Prototype:
virtual void Enable();Parameters:
Return:
Purpose:
Pane is being enabled. You should override this for pane classes that change appearance when enabled. To avoid flicker, a pane can draw immediately from this function rather than refreshing and drawing at the next update event.
Access:
Prototype:
virtual void EnableSelf();Parameters:
Return:
Purpose:
Respond to a mouse up event following a click (mouse down) inside a pane.
Access:
Prototype:
virtual void EventMouseUp(Parameters:
const EventRecord &inMouseUp );
The parameter for this method is:
Return:
Purpose:
Find the pane of a View which has the specified ID. This method
searches all Panes contained within this View, not just direct
subpanes. Returns nil if pane with the target ID is not found.
Use when you only want to inspect (and not change) the pane.
Access:
Prototype:
virtual const LPane* FindConstPaneByID(Parameters:
PaneIDT inPaneID ) const;
The parameter for this method is:
Return:
Purpose:
Return the most deeply nested subpane which contains the specified point, which is in Port coordinates.
Access:
Prototype:
virtual LPane* FindDeepSubPaneContaining(Parameters:
SInt32 inHorizPort,
SInt32 inVertPort ) const;
The parameters for this method are:
Return:
Return nil if no subpane contains the point, else returns a pointer to the
pane.
Purpose:
Find the pane of a View which has the specified ID. This method searches all Panes contained within this View, not just direct subpanes.
Access:
Prototype:
virtual LPane* FindPaneByID( PaneIDT inPaneID );Parameters:
The parameter for this method is:
Return:
Returns nil if pane with the target ID is not found.
FindShallowSubPaneContaining()
Purpose:
Return the immediate subpane which contains the specified point, which is in Port coordinates.
Same as FindSubPaneHitBy() except that it tests using Contains() rather than IsHitBy(). Contains() does not check if the pane is enabled.
Access:
Prototype:
virtual LPane* FindShallowSubPaneContaining(Parameters:
SInt32 inHorizPort,
SInt32 inVertPort ) const;
The parameters for this method are:
Return:
Return nil if no subpane contains the point, else returns a pointer to the
pane.
Purpose:
Find the subpane of this pane that is hit by the specified point.
Access:
Prototype:
virtual LPane* FindSubPaneHitBy(Parameters:
SInt32 inHorizPort,
SInt32 inVertPort ) const;
The parameters for this method are:
Return:
Return nil if no subpane is hit, else return a pointer to the pane.
Remarks:
inHorizPort and inVertPort are in Port coordinates.
Purpose:
Wrapper function for FinishCreateSelf(). You will rarely want to override this function.
Subpanes are told to FinishCreateSelf before their superview. Therefore, a superview is assured that all its
subpanes have finished creating when its FinishCreateSelf function gets called.
Access:
Prototype:
virtual void FinishCreate();Parameters:
Return:
Purpose:
Override this method to perform finishing touches that depend on the entire pane hierarchy being constructed.
For example, if a View wants to store a pointer to a subpane,
it should override this function to call FindPaneByID() for that pane. This saves the overhead of repeatedly calling
FindPaneByID() when the View wants to access that subpane. You can't do this
from a constructor because subpanes are created after their superview.
Access:
Prototype:
virtual void FinishCreateSelf();Parameters:
Return:
Purpose:
Prepare for drawing in the pane. Throws an exception if the pane has no superview. A pane does not have its own coordinate system and clipping region.
This method relies on its superview to set the focus. Even if
FocusDraw() returns false, the pane's GrafPort and clipping region of its superview will
be set (unless pane has no superview)
Access:
Prototype:
virtual Boolean FocusDraw( LPane* inSubPane );Parameters:
The parameter for this method is:
Return:
Returns true if superview is focused.
Purpose:
Prepare for drawing in the pane.
A pane is exposed when all the following conditions are true:
pane's "visible" flag is on pane has a superview superview is exposed pane's frame intersects exposed area of its superview
Since a pane does not have its own coordinate system, focusing a pane sets up the port, coordinate system, and clipping region of its superview.
Access:
Prototype:
virtual Boolean FocusExposed(Parameters:
Boolean inAlwaysFocus );
The parameter for this method is:
Return:
Returns true if a View is exposed, meaning that it is visible and that it
is revealed through the Frames of all its SuperViews.
Purpose:
Indicate the state of the pane, stored in the mActive data member.
Access:
Prototype:
ETriState GetActiveState() const;Parameters:
Return:
Purpose:
Indicate the value of the sClickCount data member.
Access:
Prototype:
static SInt16 GetClickCount();Parameters:
Return:
The value of sClickCount.
Purpose:
Returns the value of sDefaultView.
Access:
Prototype:
static LView* GetDefaultView();Parameters:
Return:
Purpose:
Returns the descriptor string for a pane.
Access:
Prototype:
virtual StringPtr GetDescriptor(Parameters:
Str255 outDescriptor ) const;
The parameter for this method is:
Return:
A pointer to the descriptor string.
Purpose:
Returns the value of the mEnabled data member.
Access:
Prototype:
ETriState GetEnabledState() const;Parameters:
Return:
Returns the value of mEnabled.
Purpose:
Retrieves the value of mFrameBinding.
Access:
Prototype:
void GetFrameBinding(Parameters:
SBooleanRect &outFrameBinding ) const;
The parameter for this method is:
Return:
Purpose:
Get the location of a pane's frame, in 32-bit Port coordinates.
Access:
Prototype:
void GetFrameLocation(Parameters:
SPoint32 &outLocation ) const;
The parameter for this method is:
Return:
Purpose:
Get the width and height, in pixels, of the frame of a pane
Access:
Prototype:
void GetFrameSize(Parameters:
SDimension16 &outSize ) const;
The parameter for this method is:
Return:
Purpose:
Returns the value of the sLastPaneClicked data member.
Access:
Prototype:
static LPane* GetLastPaneClicked();Parameters:
Return:
A pointer to the last pane clicked.
Purpose:
Returns the value of the sLastPaneMoused data member.
Access:
Prototype:
static LPane* GetLastPaneMoused();Parameters:
Return:
A pointer to the last pane moused.
Purpose:
Return the region being updated. The region will be empty if called outside of a Draw() operation
Access:
Prototype:
virtual RgnHandle GetLocalUpdateRgn();Parameters:
Return:
Remarks:
This region is non-empty only within the scope of a Draw() operation. Call this function from a DrawSelf() function if you want to know the actual area that requires redrawing.
Most of the time, you will just draw everything and let the clipping
region mask out unnecessary drawing. However, if your drawing
is complex, your program might run faster if you only draw the
portion which is inside the update region.
Purpose:
Access:
Prototype:
virtual GrafPtr GetMacPort() const;Parameters:
Return:
A pointer to the Mac OS GrafPort.
Purpose:
Returns the value of the mPaneID data member.
Access:
Prototype:
PaneIDT GetPaneID() const;Parameters:
Return:
The value of mPaneID.
Purpose:
Returns the value of mSuperView.
Access:
Prototype:
LView* GetSuperView() const;Parameters:
Return:
A pointer to the LView held in mSuperView.
Purpose:
Return the value of mUserCon.
Access:
Prototype:
virtual SInt32 GetUserCon() const;Parameters:
Return:
Return the value of mUserCon.
Purpose:
Returns the value for the pane. You should override this if you want this method to return something other than 0.
Access:
Prototype:
virtual SInt32 GetValue() const;Parameters:
Return:
Purpose:
Return the value of the mVisible data member.
Access:
Prototype:
ETriState GetVisibleState() const;Parameters:
Return:
The value of mVisible.
Purpose:
Convert a global point to a Port point.
Access:
Prototype:
virtual void GlobalToPortPoint(Parameters:
Point &ioPoint ) const;
The parameter for this method is:
Return:
Purpose:
Access:
Prototype:
virtual void Hide();Parameters:
Return:
Purpose:
Pane is being made invisible. You should override this method for pane classes that need to be informed when they are made invisible
Access:
Prototype:
virtual void HideSelf();Parameters:
Return:
Purpose:
Access:
Prototype:
void InitPane( const SPaneInfo &inPaneInfo );Parameters:
The parameter for this method is:
Return:
Purpose:
Invalidate the Port rectangle.
All rectangles and regions must be in Port coordinates.
Access:
Prototype:
virtual void InvalPortRect( const Rect *inRect );Parameters:
The parameter for this method is:
Return:
Remarks:
You should use these routines rather than the Toolbox traps InvalRect, InvalRgn, ValidRect, and ValidRgn. Those traps require that the current GrafPort be a Window. However,
a pane could be in another kind of GrafPort, such as a Printer
Port or GWorld, where calling one of those traps would cause a
crash (when the Toolbox tries to access a nonexistant update region).
Purpose:
Access:
Prototype:
virtual void InvalPortRgn(Parameters:
RgnHandle inRgnH );
The parameter for this method is:
Return:
Purpose:
Indicates whether a pane is active. A pane is "active" if its active flag is on and it is visible.
Access:
Prototype:
Boolean IsActive() const;Parameters:
Return:
Returns true if the pane is active, else false.
Purpose:
Indicates whether an area is inQuickDraw space.
Access:
Prototype:
static Boolean IsAreaInQDSpace(Parameters:
SInt32 inLeft,
SInt32 inTop,
SInt16 inWidth,
SInt16 inHeight );
The parameters for this method are:
Return:
Returns true if the area is in the space, else false.
Purpose:
Return whether a pane is enabled. A pane is "enabled" if its enabled flag is on and it is visible.
Access:
Prototype:
Boolean IsEnabled() const;Parameters:
Return:
Returns true if the pane is enabled, else returns false.
Purpose:
Indicates whether a pane is hit by the specified point, which is in Port coordinates. A pane is hit if the point is inside its frame and the pane is enabled.
Access:
Prototype:
virtual Boolean IsHitBy(Parameters:
SInt32 inHorizPort,
SInt32 inVertPort );
The parameters for this method are:
Return:
Returns true if the pane is hit by the specified point, else returns false.
Purpose:
Indicates whether a pane is visible. A pane is "visible" if its visible flag is on.
Access:
Prototype:
Boolean IsVisible() const;Parameters:
Return:
Returns true if the pane is visible.
Purpose:
Convert point from Local to Port coordinates.
Access:
Prototype:
virtual void LocalToPortPoint(Parameters:
Point &ioPoint ) const;
The parameter for this method is:
Return:
Purpose:
This method could be overrided to provide useful functionality when the mouse pointer enters the pane.
Access:
Prototype:
virtual void MouseEnter(Parameters:
Point inPortPt,
const EventRecord& inMacEvent );
The parameter for this method is:
Return:
Purpose:
This method could be overrided to provide useful functionality when the mouse pointer leaves the pane.
Access:
Prototype:
virtual void MouseLeave();Parameters:
Return:
Purpose:
Override this method to provide useful functionality when the mouse pointer is within the pane.
Access:
Prototype:
virtual void MouseWithin(Parameters:
Point inPortPt,
const EventRecord& inMacEvent );
The parameters for this method are:
Return:
Purpose:
Move the location of the frame by the specified amounts. This specifies, in pixels, how far to move the frame (within its surrounding Image).
inHorizDelta and inVertDelta specify, in pixels, how far to move the frame (within its surrounding
Image).
Access:
Prototype:
virtual void MoveBy(Parameters:
SInt32 inHorizDelta,
SInt32 inVertDelta,
Boolean inRefresh );
The parameters for this method are:
Return:
Purpose:
Place the pane at a location relative to the frame of its superview.
Access:
Prototype:
void PlaceInSuperFrameAt(Parameters:
SInt32 inHorizOffset,
SInt32 inVertOffset,
Boolean inRefresh);
The parameters for this method are:
|
Return:
Purpose:
Place the pane within the Image of its superview.
Access:
Prototype:
virtual void PlaceInSuperImageAt(Parameters:
SInt32 inHorizOffset,
SInt32 inVertOffset,
Boolean inRefresh );
The parameters for this method are:
|
Return:
Purpose:
This method determines whether a given coordinate is within the perimeter of the button.
Access:
Prototype:
virtual Boolean PointIsInFrame( SInt32 inHoriz,Parameters:
SInt32 inVert ) const;
This method has the following parameters:
Return:
Boolean of true if the point is within the perimeter, false otherwise.
Purpose:
Return whether the two points are close enough to be part of a multi-click. Points are in Local coordinates.
Access:
Prototype:
virtual Boolean PointsAreClose(Parameters:
Point inFirstPt,
Point inSecondPt ) const;
This method has the following parameters:
Return:
Returns true if the points are close enough to be a multi-click, else false.
Purpose:
Convert a point to global coordinates.
Access:
Prototype:
virtual void PortToGlobalPoint(Parameters:
Point &ioPoint ) const;
The parameter for this method is:
Return:
Purpose:
Convert point from Port to Local coordinates.
Access:
Prototype:
virtual void PortToLocalPoint(Parameters:
Point &ioPoint ) const;
The parameter for this method is:
Return:
Purpose:
Try to print a panel of a pane. Since a pane does not scroll, it just prints itself for every panel.
This is a wrapper function which calls PrintPanelSelf() if it is proper for the pane to print. This means that:
pane is visible pane's frame is in QuickDraw space pane's frame intersects inSuperDrawRgnH pane can be focused Access:
Prototype:
virtual void PrintPanel(Parameters:
const PanelSpec &inPanel,
RgnHandle inSuperPrintRgnH );
The parameters for this method are:
Return:
Purpose:
Access:
Prototype:
virtual void PrintPanelSelf(Parameters:
const PanelSpec& inPanel);
The parameter for this method is:
Return:
Purpose:
Put pane inside the specified View. Location is unspecified.
InitPane() calls PutInside() with inOrient set to false since the pane is not fully constructed at that point, meaning
that any functions called by OrientSubPane() will be the ones for LPane, and not any overrides. This may result
in the pane not being properly oriented. After creating a pane,
you should call FinishCreate(), which will call OrientSubPane() for the fully constructed pane object.
Access:
Prototype:
void PutInside( LView *inView, Boolean inOrient );Parameters:
The parameters for this method are:
Return:
Purpose:
Invalidate the area occupied by a pane. This forces an update event that, when processed, will redraw the pane. This method does nothing if the pane is not exposed.
Access:
Prototype:
virtual void Refresh();Parameters:
Return:
Purpose:
Change the frame size by the specified amounts.
inWidthDelta and inHeightDelta specify, in pixels, how much larger to make the frame. Positive
deltas increase the size, negative deltas reduce the size.
Access:
Prototype:
virtual void ResizeFrameBy(Parameters:
SInt16 inWidthDelta,
SInt16 inHeightDelta,
Boolean inRefresh );
The parameters for this method are:
Return:
Remarks:
Note that this function only changes the frame size, not the bounds of any enclosing view. To change the actual size (on screen) of an LWindow object, call ResizeWindowBy() or ResizeWindowTo().
Purpose:
Set the dimensions of the frame.
inWidthDelta and inHeightDelta specify, in pixels, how much larger to make the frame. Positive
deltas increase the size, negative deltas reduce the size.
Access:
Prototype:
void ResizeFrameTo(Parameters:
SInt16 inWidth,
SInt16 inHeight,
Boolean inRefresh );
The parameters for this method are:
Return:
Purpose:
Read size and location information stored in a Stream by the SavePlace() function
Access:
Prototype:
virtual void RestorePlace( LStream *inPlace );Parameters:
The parameter for this method is:
Return:
Purpose:
Write size and location information to a Stream for later retrieval by the RestorePlace() function.
Access:
Prototype:
virtual void SavePlace( LStream *outPlace );Parameters:
The parameter for this method is:
Return:
Purpose:
Scroll pane to the specified panel. Panes do not scroll, so just
return true indicating that the panel is always valid
Access:
Prototype:
virtual Boolean ScrollToPanel(Parameters:
const PanelSpec &inPanel );
The parameter for this method is:
Return:
Return whether the specified panel exists. If it doesn't, View is not scrolled.
Purpose:
Return the value of the sDefaultView data member.
Access:
Prototype:
static void SetDefaultView( LView *inView);Parameters:
Return:
Return the value of the sDefaultView.
Purpose:
Access:
Prototype:
virtual void SetDescriptor(Parameters:
ConstStringPtr inDescriptor );
The parameter for this method is:
Return:
Purpose:
Specify the foreground and/or background colors of a Window. Specify
nil for inForeColor and/or inBackColor to leave that color trait unchanged
Access:
Prototype:
virtual void SetForeAndBackColors(Parameters:
const RGBColor *inForeColor,
const RGBColor *inBackColor );
The parameters for this method are:
Return:
Purpose:
This method sets the value of the mFrameBinding data member.
Access:
Prototype:
void SetFrameBinding(Parameters:
const SBooleanRect &inFrameBinding );
The parameter for this method is:
Return:
Purpose:
This data member sets the value of the sLastPaneMoused data member.
Access:
Prototype:
static void SetLastPaneMoused( LPane *inPane );Parameters:
The parameter for this method is:
Return:
Purpose:
Set the value of the mPaneID data member.
Access:
Prototype:
void SetPaneID( PaneIDT inPaneID );Parameters:
The parameter for this method is:
Return:
Purpose:
This method sets the value of the mRefreshAllWhenResized data member.
Access:
Prototype:
void SetRefreshAllWhenResized(Parameters:
Boolean inRefreshAll );
The parameter for this method is:
Return:
Purpose:
Set the mUserCon data member.
Access:
Prototype:
virtual void SetUserCon( SInt32 inUserCon );Parameters:
The parameter for this method is:
Return:
Purpose:
Override this method to provide useful functionality for setting the value of a pane.
Access:
Prototype:
virtual void SetValue( SInt32 inValue );Parameters:
The parameter for this method is:
Return:
Purpose:
Access:
Prototype:
virtual void Show();Parameters:
Return:
Purpose:
Pane is being made visible. You should override this method for pane classes that need to be informed when they are made visible.
Access:
Prototype:
virtual void ShowSelf();Parameters:
Return:
Purpose:
The superview of a pane has been activated.
Access:
Prototype:
virtual void SuperActivate();Parameters:
Return:
Purpose:
The superview of a pane has been deactivated.
Access:
Prototype:
virtual void SuperDeactivate();Parameters:
Return:
Purpose:
The superview of a pane has been disabled.
Access:
Prototype:
virtual void SuperDisable();Parameters:
Return:
Purpose:
The superview of a pane has been enabled.
Access:
Prototype:
virtual void SuperEnable();Parameters:
Return:
Purpose:
The superview of a pane has been hidden.
Access:
Prototype:
virtual void SuperHide();Parameters:
Return:
Purpose:
superview is printing a panel. The View is not in control of pagination. In general, it is not clear how to print nested scrolling views. This function just prints the View at its current location, without scrolling to a particular panel.
Access:
Prototype:
virtual void SuperPrintPanel(Parameters:
const PanelSpec &inSuperPanel,
RgnHandle inSuperPrintRgnH );
The parameters for this method are:
Return:
Purpose:
The superview of a pane has become visible.
Access:
Prototype:
virtual void SuperShow();Parameters:
Return:
Purpose:
Determine if the mouse down is part of a multi-click and set internal counters.
Access:
Prototype:
virtual void UpdateClickCount(Parameters:
const SMouseDownEvent &inMouseDown );
The parameter for this method is:
Return:
Purpose:
Redraw invalidated area of the Port containing the pane.
For Panes that are in a Window Port (i.e., the ultimate super view is a Window), this forces an immediate redraw of the update region of the Window. Since this message is really directed at the Port containing the pane (rather than the pane itself), the update occurs even if the pane is not visible.
Panes that maintain a Mac GrafPort must override this function if they support updating.
Access:
Prototype:
virtual void UpdatePort();Parameters:
Return:
Purpose:
Access:
Prototype:
virtual void ValidPortRect( const Rect *inRect );Parameters:
The parameter for this method is:
Return:
Purpose:
Access:
Prototype:
virtual void ValidPortRgn( RgnHandle inRgnH );Parameters:
The parameter for this method is:
Return:
Purpose:
The default view pointer storage.
Access:
Prototype:
static LView *sDefaultView;
Purpose:
The storage for the last pane clicked.
Access:
Prototype:
static LPane *sLastPaneClicked;
Purpose:
The storage for the last pane moused.
Access:
Prototype:
static LPane *sLastPaneMoused;
Purpose:
Storage for when the last mouse up occurred.
Access:
Prototype:
static UInt32 sWhenLastMouseUp
Purpose:
Storage for when the last mouse down occurred.
Access:
Prototype:
static UInt32 sWhenLastMouseDown;
Purpose:
Storage for where the last mouse down occurred.
Access:
Prototype:
static Point sWhereLastMouseDown;
Purpose:
Access:
Prototype:
static SInt16 sClickCount;
Purpose:
Access:
Prototype:
PaneIDT mPaneID;
Purpose:
The storage for the frame size.
Access:
Prototype:
SDimension16 mFrameSize;
Purpose:
Storage for the frame location.
Access:
Prototype:
SPoint32 mFrameLocation;
Purpose:
Storage for the frame binding.
Access:
Prototype:
SBooleanRect mFrameBinding;
Purpose:
Storage for the UserCon storage area.
Access:
Prototype:
SInt32 mUserCon;
Purpose:
Access:
Prototype:
LView *mSuperView;
Purpose:
Storage for whether the pane is visible or not.
Access:
Prototype:
ETriState mVisible;
Purpose:
This is storage for whether the pane is active or not.
Access:
Prototype:
ETriState mActive;
Purpose:
This is storage for whether the pane is enabled or not.
Access:
Prototype:
ETriState mEnabled;
Purpose:
Storage for whether to resize all when the pane is resized.
Access:
Prototype:
Boolean mRefreshAllWhenResized;