home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD5.iso / workbench / datatypes / switchwindowal.lha / sw.projectclass.c.doc < prev    next >
Encoding:
Text File  |  1996-03-18  |  5.1 KB  |  163 lines

  1. TABLE OF CONTENTS
  2.  
  3. switchwindow/projectclass
  4. switchwindow/projectclass                           switchwindow/projectclass
  5.  
  6.    NAME
  7.        projectclass -- root object for application project instances
  8.  
  9.    FUNCTION
  10.        This class represents an project in an application.
  11.        It handels all other objects with names, classes or groups,
  12.        supports object locking (attrlock, memberlock etc.),
  13.        online help through AmigaGuide documents and a memory pool and
  14.        a global semaphore.
  15.  
  16.        Class:        projectclass
  17.        Superclass:   icclass
  18.  
  19.    METHODS
  20.        OM_NEW -- Create a new project object, locking the requested public
  21.            screen and opens the specified amigaguide document on request.
  22.  
  23.        OM_SET -- Set an object's attribute
  24.  
  25.        OM_GET -- Obtain the value of an attribute.
  26.  
  27.        OM_UPDATE -- Update some attributes.
  28.            When PROJECTA_NOTIFYMEMBERNAME/PROJECTA_NOTIFYMEMBER is given, the
  29.            msg will be routed to that object which name/ptr is given
  30.            in (ti -> ti_Data).
  31.  
  32.            When PROJECTA_HELPMEMBERNAME/PROJECTA_HELPMEMBER is given,
  33.            this object will be the current helpobject.
  34.  
  35.        OM_ADDMEMBER -- Add a member.
  36.            Object must be a frontendclass object or NULL.
  37.  
  38.        OM_REMMEMBER -- Remove a member.
  39.            Object should be a valid member of this project.
  40.            The ptr given will be checked (random ptrs will be ignored) and
  41.            may be NULL.
  42.  
  43.        OM_DISPOSE -- Dispose object and all connected members.
  44.  
  45.        ...
  46.    TAGS
  47.        PROJECTA_PROJECTNAME (STRPTR) -- Project's name.
  48.  
  49.            Applicability is (ISG).
  50.  
  51.        PROJECTA_PROJECTTITLE (STRPTR) -- Project's title.
  52.  
  53.            Applicability is (ISG).
  54.  
  55.        PROJECTA_PROJECTDESCR (STRPTR) -- Litte description of this project.
  56.  
  57.            Applicability is (ISG).
  58.  
  59.        PROJECTA_APPLICATIONNAME (STRPTR) -- Applications name.
  60.  
  61.            Applicability is (IG).
  62.  
  63.        PROJECTA_PORTBASENAME (STRPTR) -- rexx port base name.
  64.            The public port list unique name should be created like this:
  65.            <PROJECTA_PORTBASENAME>.<PROJECTA_PROJECTCOUNT>(.<unique id>)
  66.            The unique id may only be given if any public port list entry with
  67.            this name already exists.
  68.  
  69.            Applicability is (IG).
  70.  
  71.        ...
  72.  
  73.        PROJECTA_PROJECTCOUNT (ULONG) -- Number of project.
  74.  
  75.            Applicability is (ISG).
  76.  
  77.        PROJECTA_MEMPOOLPUDDLESIZE (ULONG) -- Puddlesize for project's
  78.            mempool.
  79.            See also exec.library/CreatePool()
  80.  
  81.            Applicability is (I).
  82.  
  83.        PROJECTA_MEMPOOLTHRESHSIZE (ULONG) -- Threshsize for project's
  84.            mempool.
  85.            See also exec.library/CreatePool()
  86.  
  87.            Applicability is (I).
  88.  
  89.        PROJECTA_NOTIFYMEMBERNAME (STRPTR) -- When OM_UPDATE is send,
  90.            the msg will also be passed to the named (ti -> ti_Data) member.
  91.  
  92.            Applicability is (U).
  93.  
  94.        PROJECTA_NOTIFYMEMBER (Object *) -- Like PROJECTA_NOTIFYMEMBERNAME,
  95.            but use a direct Object ptr.
  96.            ti_Data may be a frontendclass stub or another object, but
  97.            it must be a valid member of this project.
  98.            Note: PROJECTA_NOTIFYMEMBER will cause a PROJECTM_VALIDMEMBER
  99.            to implement this feature.
  100.  
  101.            Applicability is (U).
  102.  
  103.        PROJECTA_HELPMEMBERID (UWORD) --
  104.  
  105.        PROJECTA_HELPMEMBERNAME (STRPTR) --
  106.  
  107.        PROJECTA_HELPMEMBER (Object *) --
  108.  
  109.        PROJECTA_HELPGROUP (ULONG) -- Project's unique helpgroup,
  110.            obtained by utility.library/GetUniqueID().
  111.  
  112.        PROJECTA_SHOWHELP (BOOL) -- Determine whether the AmigaGuide
  113.            document is shown.  Defaults to FALSE.
  114.  
  115.            Applicability is (ISG).
  116.  
  117.        PROJECTA_CONTINOUSHELP (BOOL) -- Every PROJECTA_HELPMEMBER#? will
  118.            cause the connected amigaguide node
  119.            (see frontendclass/OBJA_HELPNODE) to be shown.
  120.            Defaults to FALSE.
  121.  
  122.            Applicability is (ISG).
  123.  
  124.        PROJECTA_GUIDENAME (STRPTR) -- Name of projects amigaguide document.
  125.            Defaults to NULL.
  126.  
  127.            Applicability is (ISG).
  128.  
  129.        PROJECTA_LOCALENAME (STRPTR) -- Name of locale prefs file.
  130.  
  131.            Applicability is (ISG).
  132.  
  133.        ...
  134.  
  135.        PROJECTA_PUBSCREENNAME (STRPTR) -- Name of publicscreen to appear.
  136.            When changed, this attribute is also notified to project's
  137.            ICA_TARGET. (PROJECTA_PUBSCREEN will also passed in this msg).
  138.  
  139.            Applicability is (ISGUN).
  140.  
  141.        ...
  142.  
  143.        PROJECTA_SHOWGUI (BOOL) -- Indicates if projects GUI should be
  144.            visible or not. This attribute will NOT be cached. It will only
  145.            be notified to project's ICA_TARGET.
  146.  
  147.            Applicability is (SUN).
  148.  
  149.        PROJECTA_DONE (BOOL) -- The project will dispose itself.
  150.            The object will add itself to a list of those projects,
  151.            which should be disposed/closed.
  152.  
  153.            Applicability is (SU):
  154.  
  155.        ...
  156.  
  157.    BUGS
  158.        Whenever PROJECTA_PUBSCREENNAME is changed, the AmigaGuide
  159.        document window will be closed and not reopened if it was
  160.        already open. Can't be fixed yet because I don't know how to
  161.        determinate if the AG window was open.
  162.  
  163.