@database @tab 2 @node main "pageclass.guide" @{" Search " SYSTEM "RUN >nil: SearchGuide pageclass.guide"} TABLE OF CONTENTS @{"pageclass/--background--" LINK "--background--"} @{"pageclass/GRM_ADDMEMBER" LINK "GRM_ADDMEMBER"} @{"pageclass/GRM_INSERTMEMBER" LINK "GRM_INSERTMEMBER"} @{"pageclass/GRM_REMMEMBER" LINK "GRM_REMMEMBER"} @{"pageclass/GRM_REPLACEMEMBER" LINK "GRM_REPLACEMEMBER"} @{"pageclass/GRM_WHICHOBJECT" LINK "GRM_WHICHOBJECT"} @{"pageclass/OM_DISPOSE" LINK "OM_DISPOSE"} @{"pageclass/PAGE_Active" LINK "PAGE_Active"} @{"pageclass/PAGE_Inverted" LINK "PAGE_Inverted"} @{"pageclass/PAGE_Member" LINK "PAGE_Member"} @{"pageclass/PAGE_NoBufferRP" LINK "PAGE_NoBufferRP"} @endnode @node "--background--" "pageclass/--background--" NAME Class: pageclass Superclass: baseclass Include File: FUNCTION To provide a gadget which can keep track of "pages" of gadgets of which one is displayed at a time. The pages can contain a groupclass object which has a set of members or it can contain a single gadget. Objects from this class send out the following attribute pairs in their notification events: PAGE_Active - Currently active page number. @endnode @node "GRM_ADDMEMBER" "pageclass/GRM_ADDMEMBER" NAME GRM_ADDMEMBER -- Add a object to a page group. SYNOPSIS err = DoMethod( obj, GRM_ADDMEMBER, member, tag, data, ... ); ULONG err; Object *member; Tag tag; ULONG data; FUNCTION This method can be used to add a member to an existing page group. INPUTS member - A pointer to the object which you want to add to the group. tag,data - This is simply a tagitem array terminated by a TAG_DONE. The following attributes are possible: LGO_Relayout -- Normally the group is layed-out again if adding the new member to the group succeeds. Setting this tag to FALSE prevents this so you may do that later calling GRM_RELAYOUT explicitly. RESULT err - TRUE uppon success, FALSE uppon failure. If this method was successfull you do not need to dispose of the added member anymore. This will be disposed of as soon as the group to which the member was added is disposed of. SEE ALSO GRM_INSERTMEMBER, GRM_REMMEMBER, GRM_REPLACEMEMBER @endnode @node "GRM_INSERTMEMBER" "pageclass/GRM_INSERTMEMBER" NAME GRM_INSERTMEMBER -- Insert a member behind an existing member. SYNOPSIS err = DoMethod( obj, GRM_INSERTMEMBER, member, pred, tag, data, ... ); ULONG err; Object *member; Object *pred; Tag tag; ULONG data; FUNCTION This method is basically the same as GRM_ADDMEMBER with the exception that you can determine the object after which the object is added. INPUTS member - A pointer to the object to insert. pred - This must point to the object after which the new member is inserted. You may set this to NULL in which case the new member is inserted at the start of the list. tag,data - Here you can pass a set of tagitems in which layout specific attributes can be defined. Please refer to the GRM_ADDMEMBER section for more information on the available attributes. RESULT err - TRUE uppon success, FALSE uppon failure. If this method was successful you do not need to dispose of the added member anymore. This will be disposed of as soon as the group to which the member was added is disposed of. SEE ALSO GRM_ADDMEMBER, GRM_REMMEMBER, GRM_REPLACEMEMBER @endnode @node "GRM_REMMEMBER" "pageclass/GRM_REMMEMBER" NAME GRM_REMMEMBER -- Remove an object from the group. SYNOPSIS DoMethod( obj, GRM_REMMEMBER, member ); Object *member; FUNCTION To remove an object previously added create time or with the GRM_ADDMEMBER, GRM_INSERTMEMBER, GRM_REPLACEMEMBER, methods. INPUTS member - A pointer to the object which is to be removed from the group. RESULT No return code specified. NOTE After the object has been removed you are responsible for disposing of the removed object. SEE ALSO GRM_ADDMEMBER, GRM_INSERTMEMBER, GRM_REPLACEMEMBER, intuition.library/DisposeObject() @endnode @node "GRM_REPLACEMEMBER" "pageclass/GRM_REPLACEMEMBER" NAME GRM_REPLACEMEMBER -- Replace an object with another. SYNOPSIS rep = DoMethod( obj, GRM_REPLACEMEMBER, rem, add, tag, data, ... ) Object *rep; Object *rem; Object *add; Tag tag; ULONG data; FUNCTION This method can be used to replace a member of a group with another member. INPUTS rem - This should point to the object which is to be replaced. add - This should point to the object which is to replace the object described in "rem". tag,data - This is an array of attributes which control the way the new object is layouted. The attributes allowed here are exactly the same as the attributes you can use with the GRM_ADDMEMBER method. RESULT rep - A pointer to the replaced object uppon success, and NULL uppon failure. If this method was successful you do not need to dispose of the member which replaces the other member anymore. This will be disposed of as soon as the group to which the member was added is disposed of. You are however responsible to dispose of the object which you have replaced. SEE ALSO GRM_ADDMEMBER, GRM_INSERTMEMBER, GRM_REMMEMBER @endnode @node "GRM_WHICHOBJECT" "pageclass/GRM_WHICHOBJECT" NAME GRM_WHICHOBJECT -- Find the object at the specified coordinates. SYNOPSIS obj = DoMethod( obj, GRM_WHICHOBJECT, xy ); Object *obj; ULONG xy; FUNCTION This method should be used to find out which object is located under the given X/Y coordinates. INPUTS xy - A 32bit unsigned integer which holds the horizontal coordinate in the upper 16 bits and the vertical coordinate in the lower 16 bits. The coordinates should be relative to the upper-left corner of the window. NOTE Please note that this method will only work properly when the window in which the page group is located is open. This method is primarily used for the tool tips but may also be useful for the application programmer. RESULT Returns the object under the coordinates or NULL if there is no object under the given coordinates. @endnode @node "OM_DISPOSE" "pageclass/OM_DISPOSE" NAME OM_DISPOSE FUNCTION When this method is called it will also dispose of all pages of objects attached to this object. @endnode @node "PAGE_Active" "pageclass/PAGE_Active" NAME PAGE_Active -- ( ULONG ) FUNCTION Set the page number currently active (I.E. displayed on the window). The active page is the only page that can receive input. DEFAULT 0. APPLICABILITY (ISGNU). @endnode @node "PAGE_Inverted" "pageclass/PAGE_Inverted" NAME PAGE_Inverted -- ( BOOL ) FUNCTION To force the members added at create time to be AddHead()'ed to the member list instead of AddTail()'ed. This is necessary for the assembly macros of the BGUI package. DEFAULT FALSE. APPLICABILITY (I). @endnode @node "PAGE_Member" "pageclass/PAGE_Member" NAME PAGE_Member -- ( Object * ) FUNCTION To add a page of gadgets. The object may be a groupclass object having any number of members or it may be a single gadget object. DEFAULT NULL. APPLICABILITY (I). @endnode @node "PAGE_NoBufferRP" "pageclass/PAGE_NoBufferRP" NAME PAGE_NoBufferRP -- ( BOOL ) FUNCTION When this attribute is set to TRUE the pageclass will tell the layout engine not to setup a buffer RastPort which means that all rendering occurs on-screen. This may be handy when you use objects which take some time to render like the colorwheel.gadget on 256 colour screens. DEFAULT FALSE. APPLICABILITY (I). @endnode