home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / windows / openloo / 3678 < prev    next >
Encoding:
Text File  |  1992-09-01  |  3.2 KB  |  103 lines

  1. Xref: sparky comp.windows.open-look:3678 alt.toolkits.xview:811
  2. Path: sparky!uunet!autodesk!dansmith
  3. From: dansmith@Autodesk.COM (Daniel Smith)
  4. Newsgroups: comp.windows.open-look,alt.toolkits.xview
  5. Subject: Re: XView 3: PANEL_FONT for a scrolling list
  6. Message-ID: <17560@autodesk.COM>
  7. Date: 1 Sep 92 18:43:50 GMT
  8. References: <1992Sep1.022032.25886@sq.sq.com>
  9. Followup-To: comp.windows.open-look
  10. Organization: Autodesk Inc., Sausalito CA, USA
  11. Lines: 90
  12.  
  13. In <1992Sep1.022032.25886@sq.sq.com> lee@sq.sq.com (Liam R. E. Quin) writes:
  14.  
  15. > OK, how do I set the font for an entire scrolling list in XView 3, not
  16. > just an item at a time?  I can set the font of the parent panel, and this
  17. > affects the list.  I've even tried setting the set_font element in the 
  18. > (private) Panel_list_info struct, but this doesn't work.
  19.  
  20.     Don't think there is way around "an item at a time"...
  21.  
  22.             /* Set the current list string, as well as its proper font. */
  23.             xv_set(listbox->tile.item,
  24.                    PANEL_LIST_STRING, i, trunc_str, 
  25.                    PANEL_LIST_FONT, i, graphfont,
  26.                    NULL);
  27.  
  28.     Actually, if you're going to set a lot at once, then perhaps
  29. you'll go the attr_choice_list route (including code I got from
  30. someone on the net earlier this year, thanks!)
  31.  
  32. Attr_avlist create_attr_choice_list();
  33. Attr_avlist create_attr_scroll_list();
  34.  
  35. /*
  36.   create_attr_choice_list -> creates and returns an Attr_avlist.
  37.         INPUTS :
  38.                 strings -> pointer to a list of strings
  39.                 num -> number of strings to put in list
  40.  
  41.         OUTPUTS :
  42.                 size -> number of elements in the Attr_avlist
  43. */
  44.  
  45. Attr_avlist create_attr_choice_list(strings, num)
  46.         char *strings[];
  47.         int num;
  48. {
  49.         int i, size, row = 1;
  50.         Attr_avlist list;
  51.  
  52.         size = num + 3;
  53.         list = (Attr_avlist) malloc((unsigned)(size * sizeof(Attr_attribute)));
  54.         list[0] = (Attr_attribute) PANEL_CHOICE_STRINGS;
  55.  
  56.         for (i = 0; i< num; i++, row++)
  57.                 list[row] = (Attr_attribute) strings[i];
  58.  
  59.         list[row] = (Attr_attribute) NULL;
  60.         list[row + 1] = (Attr_attribute) NULL;
  61.  
  62.         return list;
  63. }
  64.  
  65.  
  66.  
  67.  
  68. Attr_avlist create_attr_scroll_list(strings, num)
  69.         char *strings[];
  70.         int num;
  71. {
  72.         int i, size, row = 1;
  73.         Attr_avlist list;
  74.  
  75.         size = num + 3;
  76.         list = (Attr_avlist) malloc((unsigned)(size * sizeof(Attr_attribute)));
  77.         list[0] = (Attr_attribute) PANEL_LIST_STRINGS;
  78.  
  79.         for (i = 0; i< num; i++, row++)
  80.                 list[row] = (Attr_attribute) strings[i];
  81.  
  82.         list[row] = (Attr_attribute) NULL;
  83.         list[row + 1] = (Attr_attribute) NULL;
  84.  
  85.         return list;
  86. }
  87.  
  88.  
  89.     and:
  90.  
  91.         attr_list = create_attr_choice_list(strings, strcnt);
  92.         xv_set(popup->tile.item, ATTR_LIST, attr_list, NULL);
  93.  
  94.     Something like that...adjust for scrolling list.  Hope
  95. this points in the right direction for you.
  96.  
  97.                 Daniel
  98. -- 
  99.             dansmith@autodesk.com            dansmith@well.sf.ca.us
  100.         Daniel Smith, Autodesk, Sausalito, California, (415) 332-2344 x 2580
  101.               Disclaimer: written by a highly caffeinated mammal
  102.  $|=1;for("..."," hacker"," perl"," a","just"){print $l=$_.$l,"\015";sleep 1;}
  103.