home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / sys / amiga / programm / 11487 < prev    next >
Encoding:
Internet Message Format  |  1992-07-22  |  4.2 KB

  1. Path: sparky!uunet!cis.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!rutgers!cbmvax!cbmehq!cbmden!hemmer!hemmer
  2. From: hemmer@hemmer.adsp.sub.org (Franz Hemmer)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: Scrollbars for windows
  5. Message-ID: <hemmer.019e@hemmer.adsp.sub.org>
  6. Date: 22 Jul 92 06:41:04 GMT
  7. References: <1992Jul20.085237.16721@syma.sussex.ac.uk>
  8. Organization: InterActivsion
  9. Lines: 85
  10.  
  11. In article <1992Jul20.085237.16721@syma.sussex.ac.uk> mpue2@syma.sussex.ac.uk
  12. (James E. Talbut) writes:
  13.  
  14. >Is it possible to access the imagery that GadTools (or Workbench) uses
  15. >for its UP/DOWN buttons?
  16.  
  17. This can be done by calling NewObject() using the 'sysiclass' (read:
  18. System Image Class), which is a subclass to imageclass. The example
  19. expects intuition.library to be open, and that a window has already
  20. been opened (struct Window *TestWin) :
  21.  
  22.    /*---------------------------------------------------------------*/
  23.    /* Getting Draw Info from Workbench screen (used by NewObject()) */
  24.    /*---------------------------------------------------------------*/
  25.    drinfo = GetScreenDrawInfo (TestWin->WScreen);
  26.  
  27.    /*------------------------*/
  28.    /* Get system's UP image. */
  29.    /*------------------------*/
  30.    upimage = (struct Image *) NewObject (NULL, "sysiclass",
  31.                                          SYSIA_Size,     0,
  32.                                          SYSIA_Which,    UPIMAGE,
  33.                                          SYSIA_DrawInfo, drinfo,
  34.                                          TAG_END);
  35.  
  36.    /*--------------------------*/
  37.    /* Get system's DOWN image. */
  38.    /*--------------------------*/
  39.    downimage = (struct Image *) NewObject (NULL, "sysiclass",
  40.                                            SYSIA_Size,     0,
  41.                                            SYSIA_Which,    DOWNIMAGE,
  42.                                            SYSIA_DrawInfo, drinfo,
  43.                                            TAG_END);
  44.  
  45.    /*-----------------------------------------------------------*/
  46.    /* Let tmpgad point to first in list of gadgets (empty now). */
  47.    /*-----------------------------------------------------------*/
  48.    tmpgad = (struct Gadget *) &GList;
  49.  
  50.    /*--------------------*/
  51.    /* Build DOWN gadget. */
  52.    /*--------------------*/
  53.    downarrowg = (struct Gadget *) NewObject (NULL, "buttongclass",
  54.                                              GA_IMAGE,     downimage,
  55.                                              GA_TOP,       44,
  56.                                              GA_LEFT,      180,
  57.                                              GA_ID,        GD_DOWN,
  58.                                              GA_PREVIOUS,  tmpgad,
  59.                                              GA_IMMEDIATE, TRUE,
  60.                                              GA_RELVERIFY, TRUE,
  61.                                              TAG_END);
  62.  
  63.    /*------------------*/
  64.    /* Build UP gadget. */
  65.    /*------------------*/
  66.    downarrowg = (struct Gadget *)
  67.                 NewObject (NULL, "buttongclass",
  68.                            GA_IMAGE,     upimage,
  69.                            GA_TOP,       44,
  70.                            GA_LEFT,      180 + (downarrowg ?
  71.                                                 downarrowg->Width : 0),
  72.                            GA_ID,        GD_UP,
  73.                            GA_PREVIOUS,  tmpgad,
  74.                            GA_IMMEDIATE, TRUE,
  75.                            GA_RELVERIFY, TRUE,
  76.                            TAG_END);
  77.  
  78.    /*------------------------------------------------*/
  79.    /* Adding the gadgets to our windows gadget list. */
  80.    /*------------------------------------------------*/
  81.    AddGList (TestWin, GList, -1, -1, NULL);
  82.    RefreshGList (GList, TestWin, NULL, -1);
  83.  
  84. >Thanks for any help.
  85.  
  86. Welcome... "Isn't Boopsi wonderful ?!!"
  87.  
  88. --
  89. *-------------------------------------------------------------------------*
  90. |         _   UseNet: (uunet|rutgers|pyramid)!cbmvax!cbmehq!cbmden!hemmer |
  91. |         \\ _                         CBMNET: hemmer@hemmer.adsp.sub.org |
  92. | InterActi\X/ision - The name of precision                               |
  93. | Best regards                         >> Carpe Diem! - Seize the day! << |
  94. | Franz Hemmer - Software Developer.                                      |
  95. *-------------------------------------------------------------------------*
  96.