home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / EGS / egssys71.lha / EGSClusterInc.lha / EGSIcon.def < prev    next >
Encoding:
Text File  |  1994-12-13  |  23.1 KB  |  809 lines

  1. |##########|
  2. |#MAGIC   #|DBGFFCCI
  3. |#PROJECT #|""
  4. |#PATHS   #|"EGSProject"
  5. |#FLAGS   #|xx---x--x---xxx-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|x----x----------
  9. |##########|
  10. DEFINITION MODULE EGSIcon;
  11.  
  12. FROM EGSIntui AS I IMPORT EIntuiMsg,EGSWBObject;
  13. FROM System        IMPORT SysStringPtr,Regs;
  14. FROM Exec          IMPORT Library,MsgPortPtr;
  15. FROM EGSGfx        IMPORT EFontPtr;
  16.                    IMPORT Workbench;
  17.                    IMPORT EGS;
  18.  
  19. |
  20. | UseCounts...
  21. |
  22. | Arguments:
  23. |
  24. |   [0] : The usecount is not changed
  25. |   [-] : The usecount will be decremented = ReleaseObject
  26. |   [+] : The usecount will be incremented = GrepObject
  27. |
  28. | Results:
  29. |
  30. |   All objects are returned with an incremented usecount. They have to
  31. |   be released after use.
  32. |
  33.  
  34. TYPE
  35.   Process      = EGSWBObject;
  36.   Symbol       = EGSWBObject;
  37.  
  38.   ParamList    = CLASSPTR TO ARRAY OF EGSWBObject;
  39.   ParamListPtr = POINTER TO ARRAY OF EGSWBObject;
  40.  
  41.   ErrorDescPtr = POINTER TO EGSWBObject;
  42.  
  43.   Destructor   = PROCEDURE(data IN A1 : ANYPTR;
  44.                            ptr  IN A2 : ANYPTR);
  45.  
  46.  
  47. CONST
  48.   |
  49.   | Portname for the port where execution requests have to be posted
  50.   |
  51.   EGSWBPortName  = "WOMBAT";
  52.  
  53. TYPE
  54.   EObjectMsgPtr  = POINTER TO EObjectMsg;
  55.   EObjectMsg     = RECORD OF EIntuiMsg;
  56.                      |
  57.                      | the class of all messages that you get from
  58.                      | EGSIcon is "iWBObjectMsg". You can use the same
  59.                      | port for EIDCMP and EGSIcon.
  60.                      |
  61.  
  62.                      |
  63.                      |
  64.                      | the senders process, when the message is a request
  65.                      | to a server.
  66.                      |
  67.                      process  : Process;
  68.  
  69.                      |
  70.                      | Server:
  71.                      |
  72.                      |   Represents self, the object that received the message.
  73.                      |
  74.                      |   Comes with incremented usecount, and will be released
  75.                      |   by the library, after the message was returned.
  76.                      |
  77.                      | Client:
  78.                      |
  79.                      |   The object to receive the message.
  80.                      |
  81.                      |   [-]
  82.                      |
  83.                      receiver : EGSWBObject;
  84.  
  85.                      |
  86.                      | symbol representing the methodname
  87.                      |
  88.                      method   : Symbol;
  89.  
  90.                      |
  91.                      | Server:
  92.                      |
  93.                      |   Array of arguments for your method execution.
  94.                      |   All objects come with an incremented usecount,
  95.                      |   and will be released by the library, after the
  96.                      |   method was returned.
  97.                      |
  98.                      | Client:
  99.                      |
  100.                      |   The arguments for your message.
  101.                      |
  102.                      |   [-]
  103.                      |
  104.                      params   : ParamList;
  105.  
  106.                      |
  107.                      | Server:
  108.                      |
  109.                      |   The result of the method invocation,
  110.                      |   if the method has no result, the server should
  111.                      |   return self.
  112.                      |
  113.                      |    ...
  114.                      |    GrepObject(msg.receiver);
  115.                      |    msg.result:=msg.receiver;
  116.                      |    ...
  117.                      |
  118.                      |   [-]
  119.                      |
  120.                      |   In an error case, this one gets the extension
  121.                      |   information or simple NIL
  122.                      |
  123.                      | Client:
  124.                      |
  125.                      |   The result of your message, if the message
  126.                      |   endet successfull. The usecount is incremented,
  127.                      |   so it has to be decremented after use.
  128.                      |
  129.                      result   : EGSWBObject;
  130.                      |
  131.                      | error result from or to library.
  132.                      |
  133.                      | Server:
  134.                      |
  135.                      |   This is normally NIL for no error. If you want
  136.                      |   to return an error, this one gets the Errorsymbol.
  137.                      |
  138.                      |   e.g.
  139.                      |
  140.                      |     msg.error:=GetSym("MisallignedUser");
  141.                      |
  142.                      | Client:
  143.                      |
  144.                      |   This is either NIL for no error, or an error
  145.                      |   object describing the error.  You can get
  146.                      |   more information by using FindSlot.
  147.                      |
  148.                      |   e.g.
  149.                      |
  150.                      |     ...
  151.                      |     type:=FindSlot(msg.error,typeSym);
  152.                      |     extension:=FindSlot(msg.error,extensionSym);
  153.                      |     location:=FindSlot(msg.error,locationSym);
  154.                      |     ...
  155.                      |
  156.                      |   "type" shall be a Symbol, extension may be anything.
  157.                      |   For example in "CreateRoutine" it is the char pos
  158.                      |   of the error in the source code.
  159.                      |
  160.                      |   "location" is the activation frame, where the error
  161.                      |   occurred. You can also retrieve some information
  162.                      |   from the frame.
  163.                      |
  164.                      |     ...
  165.                      |     method:=DoMethodA(location,getMethodSym,NIL...);
  166.                      |     charPos:=DoMethodA(location,getCharPosSym,NIL...);
  167.                      |     ...
  168.                      |
  169.                      error    : EGSWBObject;
  170.                    END;
  171.  
  172.  
  173.   |
  174.   | Hook, used in iterative procedures.
  175.   |
  176.   |  obj  : the curent object in this iteration step
  177.   |  sym  :  "   "     symbol  "  "     "         "
  178.   |  data : your pointer to freedom and independency
  179.   |
  180.   | You will receive the object with an incremented usecount. It will be
  181.   | released by the library after your return.
  182.   |
  183.   ObjectIterator = PROCEDURE(obj  IN A0 : EGSWBObject;
  184.                              sym  IN D0 : Symbol;
  185.                              data IN A1 : ANYPTR);
  186.  
  187.   |
  188.   | This message is send to a newly created server. The object self
  189.   | is only valid until you return the message.
  190.   | You should call "AddObjectPort" before you return the message.
  191.   |
  192.   EGSWBStartupMsgPtr = POINTER TO EGSWBStartupMsg;
  193.   EGSWBStartupMsg    = RECORD OF Workbench.WBStartup;
  194.                          self : EGSWBObject;
  195.                        END;
  196.  
  197. TYPE
  198.   IconStyle      = (normal,small,text);
  199.   IconGadFlags   = (selected,igf31=31);
  200.   IconGadFlagSet = SET OF IconGadFlags;
  201.   IconGadPtr     = POINTER TO IconGadget;
  202.   IconGadget     = RECORD OF I.MasterGadget;
  203.                      |
  204.                      | the object for this gadget
  205.                      |
  206.                      object        : EGSWBObject;
  207.                      |
  208.                      | flags for this icon (eg. selected)
  209.                      |
  210.                      iconFlags     : IconGadFlagSet;
  211.                      nextIcon,
  212.                      prevIcon      : IconGadPtr;
  213.                      normalImage,
  214.                      selectedImage : I.IntuiGfxPtr;
  215.                      name          : STRING(32);
  216.                      win           : I.WindowPtr;
  217.                      click         : I.UserGadget;
  218.                      drop          : I.DropGadget;
  219.                      seconds,
  220.                      micros        : LONGINT;
  221.                    END;
  222.  
  223. VAR
  224.   EGSIconBase  : POINTER TO RECORD OF Library;
  225.                  END;
  226.  
  227. |
  228. | ############################################################################
  229. |
  230. | Symbolmanagement
  231. |
  232.  
  233.  
  234. |
  235. | Get a unique longword value for a string. Every call with a value equal
  236. | string will return the same value. Symbols are system global, they are
  237. | shared by all processes.
  238. |
  239. LIBRARY EGSIconBase BY - 30
  240.   PROCEDURE GetSym(REF name IN A0 : STRING):Symbol;
  241.  
  242. |
  243. | Reconvert a symbol to a string.
  244. |
  245. LIBRARY EGSIconBase BY - 36
  246.   PROCEDURE SymToStr(sym IN D0 : Symbol):SysStringPtr;
  247.  
  248. |
  249. | ############################################################################
  250. |
  251. | Einfachobjekte, Konvertierung
  252. |
  253.  
  254. |
  255. | Create a string object, from a string value. The value may be
  256. | discarded after the call.
  257. |
  258. LIBRARY EGSIconBase BY - 42
  259.   PROCEDURE CreateString(REF str IN A0 : STRING):EGSWBObject;
  260.  
  261. |
  262. | Copy the string value of an object into a supplied buffer.
  263. | Returns 0 if successfull, -1 if the object was no string, or
  264. | the size of the string, if the buffer was not large enough.
  265. |
  266. | obj [0]
  267. |
  268. LIBRARY EGSIconBase BY - 48
  269.   PROCEDURE GetStringValue(    obj      IN A0 : EGSWBObject;
  270.                            REF buff     IN A1 : STRING;
  271.                                buffSize IN D0 : INTEGER):INTEGER;
  272.  
  273.  
  274. |
  275. | Create an integer object. The value must be in the range:
  276. |
  277. |   -$40000000..$3FFFFFFF
  278. |
  279. LIBRARY EGSIconBase BY - 54
  280.   PROCEDURE CreateInteger(val IN D0 : LONGINT):EGSWBObject;
  281.  
  282. |
  283. | Returns the value of an integer object. If the object was no integer,
  284. | the result will be: $7FFFFFFF.
  285. |
  286. | obj [0]
  287. |
  288. LIBRARY EGSIconBase BY - 60
  289.   PROCEDURE GetIntegerValue(obj IN D0 : EGSWBObject):LONGINT;
  290.  
  291.  
  292. |
  293. | Creates an object of type array and number of possible elements size.
  294. | Returns NIL, if the call fails
  295. |
  296. LIBRARY EGSIconBase BY -288
  297.   PROCEDURE CreateArray(size IN D0 : LONGINT):EGSWBObject;
  298.  
  299. |
  300. | Put an object in an array object
  301. |
  302. | array [0]
  303. | obj   [-]
  304. |
  305. LIBRARY EGSIconBase BY -294
  306.   PROCEDURE ArrayPutAt(array IN A0,obj IN A1 : EGSWBObject;at IN D0 : LONGINT);
  307.  
  308. |
  309. | Gets an object out of an array object. Returns NIL, if the call fails.
  310. |
  311. | array [0]
  312. |
  313. LIBRARY EGSIconBase BY -300
  314.   PROCEDURE ArrayGetAt(array IN A0 : EGSWBObject;at IN D0 : LONGINT):EGSWBObject;
  315.  
  316.  
  317.  
  318. |
  319. | Compile a method object from a source string. If the compile failed,
  320. | the character position of the error is an integer object in err.extension
  321. |
  322. LIBRARY EGSIconBase BY - 66
  323.   PROCEDURE CreateRoutine(REF str IN A0 : STRING;
  324.                               err IN A1 : ErrorDescPtr):EGSWBObject;
  325.  
  326. |
  327. | Get the sourcecode of a method object.
  328. | Returns 0 if successfull, -1 if the object was no method, or
  329. | the size of the string, if the buffer was not large enough.
  330. |
  331. | obj [0]
  332. |
  333. LIBRARY EGSIconBase BY - 72
  334.   PROCEDURE GetRoutineValue(    obj      IN A0 : EGSWBObject;
  335.                             REF buff     IN A1 : STRING;
  336.                                 buffSize IN D0 : INTEGER):INTEGER;
  337.  
  338. |
  339. | Try to create the sourcecode for a constant, that defines the
  340. | value of this object, or the object itself, if it is a disk object
  341. | Returns 0 if successfull, -1 if the object was no method, or
  342. | the size of the string, if the buffer was not large enough.
  343. |
  344. | obj [0]
  345. |
  346. LIBRARY EGSIconBase BY -222
  347.   PROCEDURE GetConstString(    obj      IN A0 : EGSWBObject;
  348.                            REF buff     IN A1 : STRING;
  349.                                buffSize IN D0 : INTEGER):INTEGER;
  350.  
  351. |
  352. | Tries to create or retrieve an object from a textual description.
  353. | If the compile failed, the character position of the error is an
  354. | integer object in err.extension
  355. |
  356. LIBRARY EGSIconBase BY -228
  357.   PROCEDURE CompileConst(REF str IN A0 : STRING;
  358.                              err IN A1 : ErrorDescPtr):EGSWBObject;
  359.  
  360. |
  361. | Associate an external pointer/value with an object. In case that
  362. | the object is marked dead by the garbage collector, your destructor
  363. | procedure will be called (only if non NIL). During this call no
  364. | EGSIcon functions should be called. If you need to do so, make this
  365. | call a message send to your server.
  366. |
  367. | obj [0]
  368. |
  369. LIBRARY EGSIconBase BY -318
  370.   PROCEDURE SetObjectPtr(obj      IN A0 : EGSWBObject;
  371.                          ptr      IN A1 : ANYPTR;
  372.                          destruct IN A2 : Destructor;
  373.                          data     IN A3 : ANYPTR);
  374.  
  375. |
  376. | Gets the external pointer that is associated with this object, or
  377. | NIL if no pointer was linked to it.
  378. |
  379. LIBRARY EGSIconBase BY -324
  380.   PROCEDURE GetObjectPtr(obj IN A0 : EGSWBObject):ANYPTR;
  381.  
  382. LIBRARY EGSIconBase BY -354
  383.   PROCEDURE CreateMapImage(map IN A0 : EGS.EBitMapPtr):EGSWBObject;
  384.  
  385. LIBRARY EGSIconBase BY -360
  386.   PROCEDURE CreatePlaneImage(image IN A0 : EGS.ImagePtr):EGSWBObject;
  387.  
  388.  
  389. |
  390. | ############################################################################
  391. |
  392. | Objektresourcemanagement
  393. |
  394.  
  395. |
  396. | Increment the usecount of an object
  397. |
  398. | obj [+]
  399. |
  400. LIBRARY EGSIconBase BY - 78
  401.   PROCEDURE GrepObject(obj IN A0 : EGSWBObject);
  402.  
  403. LIBRARY EGSIconBase BY - 78
  404.   PROCEDURE GO(obj IN A0 : EGSWBObject):EGSWBObject;
  405.  
  406. |
  407. | ????
  408. |
  409. LIBRARY EGSIconBase BY - 84
  410.   PROCEDURE LockObject(obj IN A0 : EGSWBObject);
  411.  
  412. |
  413. | Decrement the usecount of an object
  414. |
  415. | obj [-]
  416. |
  417. LIBRARY EGSIconBase BY - 90
  418.   PROCEDURE ReleaseObject(obj IN A0 : EGSWBObject);
  419.  
  420. |
  421. | Get an object, that is public available by its short name
  422. |
  423. LIBRARY EGSIconBase BY - 96
  424.   PROCEDURE GrepPublicObject(name IN A0 : Symbol):EGSWBObject;
  425.  
  426. |
  427. | Create an empty object out of hot air.
  428. | The normal way to create an object of a specific class, is to send
  429. | a create message to the class.
  430. |
  431. LIBRARY EGSIconBase BY -102
  432.   PROCEDURE CreateObject():EGSWBObject;
  433.  
  434. |
  435. | ???
  436. |
  437. LIBRARY EGSIconBase BY -108
  438.   PROCEDURE CloneObject(obj IN A0 : EGSWBObject):EGSWBObject;
  439.  
  440. |
  441. | ############################################################################
  442. |
  443. | Klassenverwaltung
  444. |
  445.  
  446. |
  447. | Tests if an object belongs to a given class, and returns TRUE if so.
  448. |
  449. | obj   [0]
  450. | class [0]
  451. |
  452. LIBRARY EGSIconBase BY -312
  453.   PROCEDURE is(obj IN A0,class IN A1 : EGSWBObject):BOOLEAN;
  454.  
  455.  
  456. |
  457. | Free all parents, slots and methods of an object and make it pure
  458. | and innocent.
  459. |
  460. | obj   [0]
  461. |
  462. LIBRARY EGSIconBase BY -306
  463.   PROCEDURE ClearObject(obj IN A0 : EGSWBObject);
  464.  
  465. |
  466. | Add a parent class to an existing object
  467. |
  468. | obj   [0]
  469. | class [0]
  470. |
  471. LIBRARY EGSIconBase BY -114
  472.   PROCEDURE AddParent(obj   IN A0 : EGSWBObject;
  473.                       class IN A1 : EGSWBObject;
  474.                       err   IN A2 : ErrorDescPtr);
  475.  
  476. |
  477. | Remove a parent from a class
  478. |
  479. | obj   [0]
  480. | class [0]
  481. |
  482. LIBRARY EGSIconBase BY -120
  483.   PROCEDURE RemParent(obj   IN A0 : EGSWBObject;
  484.                       class IN A1 : EGSWBObject;
  485.                       err   IN A2 : ErrorDescPtr);
  486.  
  487. |
  488. | Iterate through all parents of an object. The symbol value in the
  489. | iteration method is not valid.
  490. |
  491. | obj   [0]
  492. |
  493. LIBRARY EGSIconBase BY -126
  494.   PROCEDURE IterateParents(obj  IN A0 : EGSWBObject;
  495.                            call IN A1 : ObjectIterator;
  496.                            data IN A2 : ANYPTR;
  497.                            err  IN A3 : ErrorDescPtr);
  498.  
  499. |
  500. | Add a method to an existing object. The method must be a method object.
  501. | The method may not exist before in the current object.
  502. |
  503. | obj  [0]
  504. | code [-]
  505. |
  506. LIBRARY EGSIconBase BY -132
  507.   PROCEDURE AddMethod(obj    IN A0 : EGSWBObject;
  508.                       sym    IN D0 : Symbol;
  509.                       code   IN A1 : EGSWBObject;
  510.                       err    IN A2 : ErrorDescPtr);
  511.  
  512. |
  513. | Changes an existing method of an object. A method with the same name must
  514. | exist in the object before.
  515. |
  516. | obj  [0]
  517. | code [-]
  518. |
  519. LIBRARY EGSIconBase BY -138
  520.   PROCEDURE ChangeMethod(obj    IN A0 : EGSWBObject;
  521.                          sym    IN D0 : Symbol;
  522.                          code   IN A1 : EGSWBObject;
  523.                          err    IN A2 : ErrorDescPtr);
  524.  
  525. |
  526. | Look for a method in a object. Returns NIL, if the method could not be found.
  527. | This function may also return the method of a parent class.
  528. |
  529. | obj  [0]
  530. |
  531. LIBRARY EGSIconBase BY -144
  532.   PROCEDURE FindMethod(obj   IN A0 : EGSWBObject;
  533.                        sym   IN D0 : Symbol;
  534.                        err   IN A1 : ErrorDescPtr):EGSWBObject;
  535.  
  536. |
  537. | Delete an existing method of an object. This function will not delete the
  538. | method of a parent class.
  539. |
  540. | obj  [0]
  541. |
  542. LIBRARY EGSIconBase BY -150
  543.   PROCEDURE DeleteMethod(obj    IN A0 : EGSWBObject;
  544.                          sym    IN D0 : Symbol;
  545.                          err    IN A1 : ErrorDescPtr);
  546.  
  547. |
  548. | Iterate through all methods of an object.
  549. |
  550. | obj  [0]
  551. |
  552. LIBRARY EGSIconBase BY -156
  553.   PROCEDURE IterateMethods(obj  IN A0 : EGSWBObject;
  554.                            call IN A1 : ObjectIterator;
  555.                            data IN A2 : ANYPTR;
  556.                            err  IN A3 : ErrorDescPtr);
  557.  
  558.  
  559.  
  560. |
  561. | Look for the value of a slot of a object or one of its parents. Returns
  562. | NIL, if the slot could not be found.
  563. |
  564. | obj  [0]
  565. |
  566. LIBRARY EGSIconBase BY -162
  567.   PROCEDURE FindSlot(obj IN A0 : EGSWBObject;
  568.                      sym IN D0 : Symbol;
  569.                      err IN A1 : ErrorDescPtr):EGSWBObject;
  570.  
  571. |
  572. | Adds a slot and a value to an object. The slot may not have existed before
  573. |
  574. | obj  [0]
  575. | data [0]
  576. |
  577. LIBRARY EGSIconBase BY -168
  578.   PROCEDURE AddSlot(obj  IN A0 : EGSWBObject;
  579.                     sym  IN D0 : Symbol;
  580.                     data IN A1 : EGSWBObject;
  581.                     err  IN A2 : ErrorDescPtr);
  582.  
  583. |
  584. | Changes the value of an existing slot. The slot must exist either in the
  585. | object or in one of its parents.
  586. |
  587. | obj  [0]
  588. | data [0]
  589. |
  590. LIBRARY EGSIconBase BY -174
  591.   PROCEDURE ChangeSlot(obj  IN A0 : EGSWBObject;
  592.                        sym  IN D0 : Symbol;
  593.                        data IN A1 : EGSWBObject;
  594.                        err  IN A2 : ErrorDescPtr);
  595.  
  596. |
  597. | Delete a slot from an object. This function does not delete the slot of
  598. | any parent.
  599. |
  600. | obj  [0]
  601. |
  602. LIBRARY EGSIconBase BY -180
  603.   PROCEDURE DeleteSlot(obj IN A0 : EGSWBObject;
  604.                        sym IN D0 : Symbol;
  605.                        err IN A1 : ErrorDescPtr);
  606.  
  607. |
  608. | Iterates through all slots of an object.
  609. |
  610. | obj  [0]
  611. |
  612. LIBRARY EGSIconBase BY -186
  613.   PROCEDURE IterateSlots(obj  IN A0 : EGSWBObject;
  614.                          call IN A1 : ObjectIterator;
  615.                          data IN A2 : ANYPTR;
  616.                          err  IN A3 : ErrorDescPtr);
  617.  
  618. |
  619. | ############################################################################
  620. |
  621. | Diskobjekte
  622. |
  623.  
  624. |
  625. | Attempts to access an named object. The object may either reside on disk
  626. | or in memory. Returns NIL if the object could not be found.
  627. |
  628. LIBRARY EGSIconBase BY -192
  629.   PROCEDURE GetDiskObject(REF name IN A0 : STRING):EGSWBObject;
  630.  
  631. |
  632. | Writes a disk object in memory back to the disk.
  633. |
  634. | obj  [0]
  635. |
  636. LIBRARY EGSIconBase BY -198
  637.   PROCEDURE CopyBackDiskObject(obj IN A0 : EGSWBObject);
  638.  
  639. |
  640. | Name a disk object. The name may not have existed before. The name must be
  641. | a valid file name. If you need a temporary name, use "t:xxx".
  642. |
  643. | ### should get a success return value !!! ###
  644. |
  645. | obj  [0]
  646. |
  647. LIBRARY EGSIconBase BY -204
  648.   PROCEDURE NameDiskObject(REF name IN A0 : STRING;
  649.                                obj  IN A1 : EGSWBObject);
  650. |
  651. | Delete a disk object
  652. |
  653. | obj  [0]
  654. |
  655. LIBRARY EGSIconBase BY -210
  656.   PROCEDURE DeleteDiskObject(REF name IN A0 : STRING);
  657.  
  658. |
  659. | Get the name of a named object the name is only valid as long as
  660. | the object is locked.
  661. |
  662. | obj  [0]
  663. |
  664. LIBRARY EGSIconBase BY -216
  665.   PROCEDURE GetDiskObjectName(obj IN A0 : EGSWBObject):SysStringPtr;
  666.  
  667. |
  668. | ############################################################################
  669. |
  670. | Gadgets
  671. |
  672.  
  673. |
  674. | Create a gadget for an object. Each object can only have one of this gadgets.
  675. |
  676. |   If the object has no name, you can give a name to the icon. If name is
  677. |   NIL, the name of the object will be used (the last part of the filename).
  678. |
  679. |   id is the id value of the created master gadget.
  680. |
  681. | object [-]
  682. |
  683. LIBRARY EGSIconBase BY -234
  684.   PROCEDURE CreateIconGadget(object IN A0 : EGSWBObject;
  685.                              style  IN D0 : IconStyle;
  686.                              font   IN A1 : EFontPtr;
  687.                              x      IN D1,
  688.                              y      IN D2 : INTEGER;
  689.                              name   IN A2 : SysStringPtr;
  690.                              id     IN D3 : LONGINT;
  691.                              scr    IN A3 : I.ScreenPtr):IconGadPtr;
  692.  
  693. |
  694. | Deletes a gadget that has been created by CreateIconGadget.
  695. |
  696. LIBRARY EGSIconBase BY -240
  697.   PROCEDURE DeleteIconGadget(gadget IN A0 : IconGadPtr);
  698.  
  699. |
  700. | Change the left/top coordinates of an IconGadget, the gadget is not
  701. | really moved. You should use this function only when the gadget is
  702. | not attached to a window.
  703. |
  704. LIBRARY EGSIconBase BY -246
  705.   PROCEDURE MoveIconGadget(gadget IN A0 : IconGadPtr;
  706.                            x      IN D0,
  707.                            y      IN D1 : INTEGER);
  708.  
  709. |
  710. | Deselect all currently selected icons.
  711. |
  712. LIBRARY EGSIconBase BY -252
  713.   PROCEDURE DeactivateIcons;
  714.  
  715. |
  716. | Get an object that contains all currently selected objects. If more than
  717. | one gadget is selected, this will return an "array" of gadgets.
  718. | Returns NIL, if no gadget was selected.
  719. |
  720. LIBRARY EGSIconBase BY -258
  721.   PROCEDURE GetActiveIcons():EGSWBObject;
  722.  
  723. |
  724. | Get the icon gadget that is linked to an object.
  725. |
  726. LIBRARY EGSIconBase BY -264
  727.   PROCEDURE GetObjectIcon(obj IN A0 : EGSWBObject):IconGadPtr;
  728.  
  729. |
  730. | Create a gadget for the window background. This gadget must be the first
  731. | one in the window.
  732. |
  733. LIBRARY EGSIconBase BY -270
  734.   PROCEDURE CreateIconWindowGadget(w IN D0,h IN D1 : INTEGER):I.DropGadPtr;
  735.  
  736. |
  737. | Delete a gadget that has been created by CreateIconWindowGadget
  738. |
  739. LIBRARY EGSIconBase BY -276
  740.   PROCEDURE DeleteIconWindowGadget(gad IN A0 : I.DropGadPtr);
  741.  
  742. |
  743. | ############################################################################
  744. |
  745. | Methodinvocation
  746. |
  747.  
  748. |
  749. | Invoke a method and wait until its finished. If you do not supply a reply
  750. | port, this routine will create one temporary for you. The list of arguments
  751. | may either be NIL for no arguments or a NIL terminated array/list of
  752. | EGSWBObjects.
  753. |
  754. | receiver     [-]
  755. | arguments..  [-]
  756. |
  757. LIBRARY EGSIconBase BY -282
  758.   PROCEDURE DoMethod(receiver  IN A0 : EGSWBObject;
  759.                      method    IN D0 : Symbol;
  760.                      error     IN A1 : ErrorDescPtr;
  761.                      port      IN A2 : Exec.MsgPortPtr;
  762.                      arguments IN A3 : LIST OF EGSWBObject):EGSWBObject;
  763.  
  764. LIBRARY EGSIconBase BY -282
  765.   PROCEDURE DoMethodA(receiver  IN A0 : EGSWBObject;
  766.                       method    IN D0 : Symbol;
  767.                       error     IN A1 : ErrorDescPtr;
  768.                       port      IN A2 : Exec.MsgPortPtr;
  769.                       arguments IN A3 : ParamListPtr):EGSWBObject;
  770.  
  771. LIBRARY EGSIconBase BY -342
  772.   PROCEDURE SendMethod(receiver  IN A0 : EGSWBObject;
  773.                        method    IN D0 : Symbol;
  774.                        port      IN A1 : Exec.MsgPortPtr;
  775.                        arguments IN A3 : LIST OF EGSWBObject);
  776.  
  777. LIBRARY EGSIconBase BY -342
  778.   PROCEDURE SendMethodA(receiver  IN A0 : EGSWBObject;
  779.                         method    IN D0 : Symbol;
  780.                         port      IN A1 : Exec.MsgPortPtr;
  781.                         arguments IN A3 : ParamListPtr);
  782.  
  783. LIBRARY EGSIconBase BY -348
  784.   PROCEDURE ReceiveMethod(msg    IN A0 : EObjectMsgPtr;
  785.                           error  IN A1 : ErrorDescPtr):EGSWBObject;
  786.  
  787. |
  788. | ############################################################################
  789. |
  790. | Server related stuff
  791. |
  792.  
  793. |
  794. | Add the port to your server object.
  795. |
  796. | obj [0]
  797. |
  798. LIBRARY EGSIconBase BY -330
  799.   PROCEDURE AddObjectPort(obj   IN A0 : EGSWBObject;
  800.                           port  IN A1 : MsgPortPtr):BOOLEAN;
  801.  
  802. |
  803. | Remove the port from your server object.
  804. |
  805. LIBRARY EGSIconBase BY -336
  806.   PROCEDURE RemObjectPort(obj   IN A0 : EGSWBObject);
  807.  
  808. END EGSIcon.
  809.