List.xml revision 421c997b
1<sect1 id="List_Widget"> 2<title>List Widget</title> 3<para> 4<!-- .LP --> 5<!-- .XS --> 6<!-- List Widget --> 7<!-- .XE --> 8<!-- .IN "List widget" "" "@DEF@" --> 9<literallayout class="monospaced"> 10<!-- .TA 2.0i --> 11<!-- .ta 2.0i --> 12<!-- .sp --> 13Application header file <X11/Xaw/List.h> 14<!-- .IN "List.h" "" --> 15Class header file <X11/Xaw/ListP.h> 16<!-- .IN "ListP.h" "" --> 17Class listWidgetClass 18<!-- .IN "listWidgetClass" "" --> 19Class Name List 20<!-- .IN "List widget" "class name" --> 21Superclass Simple 22<!-- .sp --> 23</literallayout> 24</para> 25<para> 26<!-- .LP --> 27 28The List widget contains a list of strings formatted into rows and 29columns. When one of the strings is selected, it is highlighted, and the 30List widget's <function>Notify</function> action is invoked, calling all routines on 31its callback list. Only one string may be selected at a time. 32</para> 33<sect2 id='List::Resources'> 34<title>Resources</title> 35<para> 36<!-- .LP --> 37When creating a List widget instance, the following resources are 38retrieved from the argument list or from the resource database: 39</para> 40<para> 41<!-- .LP --> 42<!-- .IN "List widget" "resources" --> 43<informaltable> 44 <tgroup cols='5' align='center'> 45 <colspec colname='c1'/> 46 <colspec colname='c2'/> 47 <colspec colname='c3'/> 48 <colspec colname='c4'/> 49 <colspec colname='c5'/> 50 <thead> 51 <row> 52 <entry>Name</entry> 53 <entry>Class</entry> 54 <entry>Type</entry> 55 <entry>Notes</entry> 56 <entry>Default Value</entry> 57 </row> 58 </thead> 59 <tbody> 60 <row> 61 <entry>accelerators</entry> 62 <entry>Accelerators</entry> 63 <entry>AcceleratorTable</entry> 64 <entry></entry> 65 <entry>NULL</entry> 66 </row> 67 <row> 68 <entry>ancestorSensitive</entry> 69 <entry>AncestorSensitive</entry> 70 <entry>Boolean</entry> 71 <entry>D</entry> 72 <entry>True</entry> 73 </row> 74 <row> 75 <entry>background</entry> 76 <entry>Background</entry> 77 <entry>Pixel</entry> 78 <entry></entry> 79 <entry>XtDefaultBackground</entry> 80 </row> 81 <row> 82 <entry>backgroundPixmap</entry> 83 <entry>Pixmap</entry> 84 <entry>Pixmap</entry> 85 <entry></entry> 86 <entry>XtUnspecifiedPixmap</entry> 87 </row> 88 <row> 89 <entry>borderColor</entry> 90 <entry>BorderColor</entry> 91 <entry>Pixel</entry> 92 <entry></entry> 93 <entry>XtDefaultForeground</entry> 94 </row> 95 <row> 96 <entry>borderPixmap</entry> 97 <entry>Pixmap</entry> 98 <entry>Pixmap</entry> 99 <entry></entry> 100 <entry>XtUnspecifiedPixmap</entry> 101 </row> 102 <row> 103 <entry>borderWidth</entry> 104 <entry>BorderWidth</entry> 105 <entry>Dimension</entry> 106 <entry></entry> 107 <entry>1</entry> 108 </row> 109 <row> 110 <entry>callback</entry> 111 <entry>Callback</entry> 112 <entry>Callback</entry> 113 <entry></entry> 114 <entry>NULL</entry> 115 </row> 116 <row> 117 <entry>colormap</entry> 118 <entry>Colormap</entry> 119 <entry>Colormap</entry> 120 <entry></entry> 121 <entry>Parent's Colormap</entry> 122 </row> 123 <row> 124 <entry>columnSpacing</entry> 125 <entry>Spacing</entry> 126 <entry>Dimension</entry> 127 <entry></entry> 128 <entry>6</entry> 129 </row> 130 <row> 131 <entry>cursor</entry> 132 <entry>Cursor</entry> 133 <entry>Cursor</entry> 134 <entry></entry> 135 <entry>XC_left_ptr</entry> 136 </row> 137 <row> 138 <entry>cursorName</entry> 139 <entry>Cursor</entry> 140 <entry>String</entry> 141 <entry></entry> 142 <entry>NULL</entry> 143 </row> 144 <row> 145 <entry>defaultColumns</entry> 146 <entry>Columns</entry> 147 <entry>int</entry> 148 <entry></entry> 149 <entry>2</entry> 150 </row> 151 <row> 152 <entry>depth</entry> 153 <entry>Depth</entry> 154 <entry>int</entry> 155 <entry>C</entry> 156 <entry>Parent's Depth</entry> 157 </row> 158 <row> 159 <entry>destroyCallback</entry> 160 <entry>Callback</entry> 161 <entry>XtCallbackList</entry> 162 <entry></entry> 163 <entry>NULL</entry> 164 </row> 165 <row> 166 <entry>font</entry> 167 <entry>Font</entry> 168 <entry>FontStruct</entry> 169 <entry></entry> 170 <entry>XtDefaultFont</entry> 171 </row> 172 <row> 173 <entry>fontSet</entry> 174 <entry>FontSet</entry> 175 <entry>XFontSet</entry> 176 <entry></entry> 177 <entry>XtDefaultFontSet</entry> 178 </row> 179 <row> 180 <entry>forceColumns</entry> 181 <entry>Columns</entry> 182 <entry>Boolean</entry> 183 <entry></entry> 184 <entry>False</entry> 185 </row> 186 <row> 187 <entry>foreground</entry> 188 <entry>Foreground</entry> 189 <entry>Pixel</entry> 190 <entry></entry> 191 <entry>XtDefaultForeground</entry> 192 </row> 193 <row> 194 <entry>height</entry> 195 <entry>Height</entry> 196 <entry>Dimension</entry> 197 <entry>A</entry> 198 <entry>Enough space to contain the list</entry> 199 </row> 200 <row> 201 <entry>insensitiveBorder</entry> 202 <entry>Insensitive</entry> 203 <entry>Pixmap</entry> 204 <entry></entry> 205 <entry>GreyPixmap</entry> 206 </row> 207 <row> 208 <entry>internalHeight</entry> 209 <entry>Height</entry> 210 <entry>Dimension</entry> 211 <entry></entry> 212 <entry>2</entry> 213 </row> 214 <row> 215 <entry>internalWidth</entry> 216 <entry>Width</entry> 217 <entry>Dimension</entry> 218 <entry></entry> 219 <entry>4</entry> 220 </row> 221 <row> 222 <entry>international</entry> 223 <entry>International</entry> 224 <entry>Boolean</entry> 225 <entry>C</entry> 226 <entry>False</entry> 227 </row> 228 <row> 229 <entry>list</entry> 230 <entry>List</entry> 231 <entry>Pointer</entry> 232 <entry></entry> 233 <entry>name of widget</entry> 234 </row> 235 <row> 236 <entry>longest</entry> 237 <entry>Longest</entry> 238 <entry>int</entry> 239 <entry>A</entry> 240 <entry>0</entry> 241 </row> 242 <row> 243 <entry>mappedWhenManaged</entry> 244 <entry>MappedWhenManaged</entry> 245 <entry>Boolean</entry> 246 <entry></entry> 247 <entry>True</entry> 248 </row> 249 <row> 250 <entry>numberStrings</entry> 251 <entry>NumberStrings</entry> 252 <entry>int</entry> 253 <entry>A</entry> 254 <entry>computed for NULL terminated list</entry> 255 </row> 256 <row> 257 <entry>pasteBuffer</entry> 258 <entry>Boolean</entry> 259 <entry>Boolean</entry> 260 <entry></entry> 261 <entry>False</entry> 262 </row> 263 <row> 264 <entry>pointerColor</entry> 265 <entry>Foreground</entry> 266 <entry>Pixel</entry> 267 <entry></entry> 268 <entry>XtDefaultForeground</entry> 269 </row> 270 <row> 271 <entry>pointerColorBackground</entry> 272 <entry>Background</entry> 273 <entry>Pixel</entry> 274 <entry></entry> 275 <entry>XtDefaultBackground</entry> 276 </row> 277 <row> 278 <entry>rowSpacing</entry> 279 <entry>Spacing</entry> 280 <entry>Dimension</entry> 281 <entry></entry> 282 <entry>2</entry> 283 </row> 284 <row> 285 <entry>screen</entry> 286 <entry>Screen</entry> 287 <entry>Screen</entry> 288 <entry>R</entry> 289 <entry>Parent's Screen</entry> 290 </row> 291 <row> 292 <entry>sensitive</entry> 293 <entry>Sensitive</entry> 294 <entry>Boolean</entry> 295 <entry></entry> 296 <entry>True</entry> 297 </row> 298 <row> 299 <entry>translations</entry> 300 <entry>Translations</entry> 301 <entry>TranslationTable</entry> 302 <entry></entry> 303 <entry>See below</entry> 304 </row> 305 <row> 306 <entry>verticalList</entry> 307 <entry>Boolean</entry> 308 <entry>Boolean</entry> 309 <entry></entry> 310 <entry>False</entry> 311 </row> 312 <row> 313 <entry>width</entry> 314 <entry>Width</entry> 315 <entry>Dimension</entry> 316 <entry>A</entry> 317 <entry>Enough space to contain the list</entry> 318 </row> 319 <row> 320 <entry>x</entry> 321 <entry>Position</entry> 322 <entry>Position</entry> 323 <entry></entry> 324 <entry>0</entry> 325 </row> 326 <row> 327 <entry>y</entry> 328 <entry>Position</entry> 329 <entry>Position</entry> 330 <entry></entry> 331 <entry>0</entry> 332 </row> 333 <row> 334 <entry>_</entry> 335 </row> 336 </tbody> 337 </tgroup> 338</informaltable> 339<!-- .Ac --> 340<!-- .As --> 341<!-- .Bg --> 342<!-- .Gp --> 343<!-- .Bc --> 344<!-- .Bp --> 345<!-- .Bw --> 346<variablelist> 347 <varlistentry> 348 <term> 349 <function>callback</function> 350 </term> 351 <listitem> 352 <para> 353All functions on this list are called whenever the <function>notify</function> action is 354invoked. The <emphasis remap='I'>call_data</emphasis> argument contains information about the element 355selected and is described in detail in the <function>List Callbacks</function> section. 356<!-- .Cm --> 357 </para> 358 </listitem> 359 </varlistentry> 360 <varlistentry> 361 <term> 362 <function>columnSpacing</function> 363 </term> 364 <listitem> 365 <para> 366<!-- .br --> 367<!-- .ns --> 368 </para> 369 </listitem> 370 </varlistentry> 371 <varlistentry> 372 <term> 373 <function>rowSpacing</function> 374 </term> 375 <listitem> 376 <para> 377The amount of space, in pixels, between each of the rows and columns 378in the list. 379<!-- .Cu --> 380<!-- .Cn --> 381 </para> 382 </listitem> 383 </varlistentry> 384 <varlistentry> 385 <term> 386 <function>defaultColumns</function> 387 </term> 388 <listitem> 389 <para> 390The default number of columns. This value is used when neither the 391width nor the height of the List widget is specified or when 392<function>forceColumns</function> is <function>True</function>. 393<!-- .Dp --> 394<!-- .Dc --> 395 </para> 396 </listitem> 397 </varlistentry> 398 <varlistentry> 399 <term> 400 <function>font</function> 401 </term> 402 <listitem> 403 <para> 404The text font to use when displaying the <function>list</function>, when the 405<function>international</function> resource is <function>false</function>. 406 </para> 407 </listitem> 408 </varlistentry> 409 <varlistentry> 410 <term> 411 <function>fontSet</function> 412 </term> 413 <listitem> 414 <para> 415The text font set to use when displaying the <function>list</function>, when the 416<function>international</function> resource is <function>true</function>. 417 </para> 418 </listitem> 419 </varlistentry> 420 <varlistentry> 421 <term> 422 <function>forceColumns</function> 423 </term> 424 <listitem> 425 <para> 426Forces the default number of columns to be used regardless of the 427List widget's current size. 428 </para> 429 </listitem> 430 </varlistentry> 431 <varlistentry> 432 <term> 433 <function>foreground</function> 434 </term> 435 <listitem> 436 <para> 437A pixel value which indexes the widget's colormap to derive the color 438used to paint the text of the list elements. 439<!-- .Hw --> 440<!-- .Ib --> 441 </para> 442 </listitem> 443 </varlistentry> 444 <varlistentry> 445 <term> 446 \fPinternalHeight\fP 447 </term> 448 <listitem> 449 <para> 450<!-- .br --> 451<!-- .ns --> 452 </para> 453 </listitem> 454 </varlistentry> 455 <varlistentry> 456 <term> 457 \fPinternalWidth\fP 458 </term> 459 <listitem> 460 <para> 461The margin, in pixels, between the edges of the list and the 462corresponding edge of the List widget's window. 463 </para> 464 </listitem> 465 </varlistentry> 466 <varlistentry> 467 <term> 468 <function>list</function> 469 </term> 470 <listitem> 471 <para> 472An array of text strings displayed in the List widget. If 473<function>numberStrings</function> is zero (the default) then the <function>list</function> must be 474NULL terminated. If a value is not specified for the <function>list</function>, then 475<function>numberStrings</function> is set to 1, and the name of the widget is used as 476the <function>list</function>, and <function>longest</function> is set to the length of the name of the 477widget. The <function>list</function> is used in place, and must be available 478to the List widget for the lifetime of this widget, or until it is 479changed with <xref linkend='XtSetValues' xrefstyle='select: title'/> or <xref linkend='XawListChange' xrefstyle='select: title'/>. 480<!-- .In --> 481 </para> 482 </listitem> 483 </varlistentry> 484 <varlistentry> 485 <term> 486 <function>longest</function> 487 </term> 488 <listitem> 489 <para> 490Specifies the width, in pixels, of the longest string in the current 491list. The List widget will compute this value if zero (the default) 492is specified. If this resource is set by hand, entries longer than this 493will be clipped to fit. 494<!-- .Mm --> 495 </para> 496 </listitem> 497 </varlistentry> 498 <varlistentry> 499 <term> 500 <function>numberStrings</function> 501 </term> 502 <listitem> 503 <para> 504The number of strings in the current list. If a value of zero (the 505default) is specified, the List widget will compute it. When computing 506the number of strings the List widget assumes that the <function>list</function> is NULL 507terminated. 508 </para> 509 </listitem> 510 </varlistentry> 511 <varlistentry> 512 <term> 513 <function>pasteBuffer</function> 514 </term> 515 <listitem> 516 <para> 517If this resource is set to <function>True</function> then the name of the currently 518selected list element will be put into <function>CUT_BUFFER_0</function>. 519<!-- .Pf --> 520<!-- .Pb --> 521<!-- .Sc --> 522<!-- .Se --> 523<!-- .Tr --> 524 </para> 525 </listitem> 526 </varlistentry> 527 <varlistentry> 528 <term> 529 <function>verticalList</function> 530 </term> 531 <listitem> 532 <para> 533If this resource is set to <function>True</function> then the list elements will be 534presented in column major order. 535<!-- .Xy --> 536 </para> 537 </listitem> 538 </varlistentry> 539</variablelist> 540</para> 541</sect2> 542<sect2 id="List_Actions"> 543<title>List Actions</title> 544<!-- .IN "List widget" "actions" --> 545<para> 546<!-- .LP --> 547The List widget supports the following actions: 548</para> 549<itemizedlist> 550 <listitem> 551 <para> 552Highlighting and unhighlighting the list element under the 553pointer with <function>Set</function> and <function>Unset</function> 554 </para> 555 </listitem> 556 <listitem> 557 <para> 558Processing application callbacks with <function>Notify</function> 559 </para> 560 </listitem> 561</itemizedlist> 562<para> 563<!-- .LP --> 564The following is the default translation table used by the List Widget: 565<!-- .IN "List widget" "default translation table" --> 566</para> 567<para> 568<!-- .LP --> 569<literallayout class="monospaced"> 570<!-- .TA .5i 2.25i --> 571<!-- .ta .5i 2.25i --> 572<Btn1Down>,<Btn1Up>: Set(\|) Notify(\|) 573<!-- .sp --> 574</literallayout> 575</para> 576<para> 577<!-- .LP --> 578The full list of actions supported by List widget is: 579<variablelist> 580 <varlistentry> 581 <term> 582 <function>Set</function>(\|) 583 </term> 584 <listitem> 585 <para> 586<emphasis remap='I'>Sets</emphasis> the list element that is currently under the pointer. To 587inform the user that this element is currently set, it is drawn with 588foreground and background colors reversed. If this action is called when 589there is no list element under the cursor, the currently <emphasis remap='I'>set</emphasis> 590element will be <emphasis remap='I'>unset</emphasis>. 591 </para> 592 </listitem> 593 </varlistentry> 594 <varlistentry> 595 <term> 596 <function>Unset</function>(\|) 597 </term> 598 <listitem> 599 <para> 600Cancels the <emphasis remap='I'>set</emphasis> state of the element under the pointer, 601and redraws it with normal foreground and background colors. 602 </para> 603 </listitem> 604 </varlistentry> 605 <varlistentry> 606 <term> 607 <function>Notify</function>(\|) 608 </term> 609 <listitem> 610 <para> 611Calls all callbacks on the List widget's callback list. Information 612about the currently selected list element is passed in the 613<emphasis remap='I'>call_data</emphasis> argument (see <function>List Callbacks</function> below). 614 </para> 615 </listitem> 616 </varlistentry> 617</variablelist> 618</para> 619</sect2> 620<sect2 id="List_Callbacks"> 621<title>List Callbacks</title> 622<!-- .IN "List widget" "callbacks" --> 623<para> 624<!-- .LP --> 625All procedures on the List widget's callback list will have a 626<function>XawListReturnStruct</function> passed to them as <emphasis remap='I'>call_data</emphasis>. The 627structure is defined in the List widget's application header file. 628</para> 629<!-- .LP --> 630<literallayout class="monospaced"> 631<!-- .TA .5i 2.25i --> 632<!-- .ta .5i 2.25i --> 633<!-- .IN "XawListReturnStruct" "" "@DEF@" --> 634typedef struct _XawListReturnStruct { 635 String string; /* string shown in the list. */ 636 int list_index; /* index of the item selected. */ 637} XawListReturnStruct; 638<!-- .IN "XawListReturnStruct" "" --> 639<!-- .NT --> 640</literallayout> 641<note><para> 642The <emphasis remap='I'>list_index</emphasis> item used to be called simply <emphasis remap='I'>index</emphasis>. 643Unfortunately, this name collided with a global name defined on some 644operating systems, and had to be changed. 645</para></note> 646<!-- .NE --> 647</sect2> 648<sect2 id="Changing_the_List"> 649<title>Changing the List</title> 650<para> 651<!-- .LP --> 652To change the list that is displayed, use 653<function>XawListChange .</function> 654<!-- .IN "XawListChange" "" "@DEF@" --> 655<funcsynopsis id='XawListChange'> 656<funcprototype> 657 <funcdef>void<function> XawListChange</function></funcdef> 658 <paramdef>Widget<parameter> w</parameter></paramdef> 659 <paramdef>String*<parameter> list</parameter></paramdef> 660 <paramdef>intnitems,<parameter> longest</parameter></paramdef> 661 <paramdef>Boolean<parameter> resize</parameter></paramdef> 662</funcprototype> 663</funcsynopsis> 664<!-- .FN --> 665<variablelist> 666 <varlistentry> 667 <term> 668 <emphasis remap='I'>w</emphasis> 669 </term> 670 <listitem> 671 <para> 672Specifies the List widget. 673 </para> 674 </listitem> 675 </varlistentry> 676 <varlistentry> 677 <term> 678 <emphasis remap='I'>list</emphasis> 679 </term> 680 <listitem> 681 <para> 682Specifies the new list for the List widget to display. 683 </para> 684 </listitem> 685 </varlistentry> 686 <varlistentry> 687 <term> 688 <emphasis remap='I'>nitems</emphasis> 689 </term> 690 <listitem> 691 <para> 692Specifies the number of items in the <emphasis remap='I'>list</emphasis>. If a value less than 1 693is specified, <emphasis remap='I'>list</emphasis> must be NULL terminated, and the number of 694items will be calculated by the List widget. 695 </para> 696 </listitem> 697 </varlistentry> 698 <varlistentry> 699 <term> 700 <emphasis remap='I'>longest</emphasis> 701 </term> 702 <listitem> 703 <para> 704Specifies the length of the longest item in the <emphasis remap='I'>list</emphasis> in pixels. 705If a value less than 1 is specified, the List widget will calculate the 706value. 707 </para> 708 </listitem> 709 </varlistentry> 710 <varlistentry> 711 <term> 712 <emphasis remap='I'>resize</emphasis> 713 </term> 714 <listitem> 715 <para> 716Specifies a Boolean value that if <function>True</function> indicates that the 717List widget should try to resize itself after making the change. 718The constraints of the List widget's parent are always enforced, 719regardless of the value specified here. 720 </para> 721 </listitem> 722 </varlistentry> 723</variablelist> 724</para> 725<para> 726<!-- .LP --> 727<xref linkend='XawListChange' xrefstyle='select: title'/> 728will <emphasis remap='I'>unset</emphasis> all list elements that are currently <function>set</function> before 729the list is actually changed. The <emphasis remap='I'>list</emphasis> is used in place, and must 730remain usable for the lifetime of the List widget, or until <emphasis remap='I'>list</emphasis> 731has been changed again with this function or with <xref linkend='XtSetValues' xrefstyle='select: title'/>. 732</para> 733</sect2> 734<sect2 id="Highlighting_an_Item"> 735<title>Highlighting an Item</title> 736<para> 737<!-- .LP --> 738To highlight an item in the list, use 739<function>XawListHighlight .</function> 740<!-- .IN "XawListHighlight" "" "@DEF@" --> 741<funcsynopsis id='XawListHighlight'> 742<funcprototype> 743 <funcdef>void<function> XawListHighlight</function></funcdef> 744 <paramdef>Widget<parameter> w</parameter></paramdef> 745 <paramdef>int<parameter> item</parameter></paramdef> 746</funcprototype> 747</funcsynopsis> 748<!-- .FN --> 749<variablelist> 750 <varlistentry> 751 <term> 752 <emphasis remap='I'>w</emphasis> 753 </term> 754 <listitem> 755 <para> 756Specifies the List widget. 757 </para> 758 </listitem> 759 </varlistentry> 760 <varlistentry> 761 <term> 762 <emphasis remap='I'>item</emphasis> 763 </term> 764 <listitem> 765 <para> 766Specifies an index into the current list that indicates the item to be 767highlighted. 768 </para> 769 </listitem> 770 </varlistentry> 771</variablelist> 772</para> 773<para> 774<!-- .LP --> 775Only one item can be highlighted at a time. 776If an item is already highlighted when 777<xref linkend='XawListHighlight' xrefstyle='select: title'/> 778is called, 779the highlighted item is unhighlighted before the new item is highlighted. 780</para> 781</sect2> 782<sect2 id="Unhighlighting_an_Item"> 783<title>Unhighlighting an Item</title> 784<para> 785<!-- .LP --> 786To unhighlight the currently highlighted item in the list, use 787<function>XawListUnhighlight .</function> 788<!-- .IN "XawListUnhighlight" "" "@DEF@" --> 789<funcsynopsis id='XawListUnhighlight'> 790<funcprototype> 791 <funcdef>void<function> XawListUnhighlight</function></funcdef> 792 <paramdef>Widget<parameter> w</parameter></paramdef> 793</funcprototype> 794</funcsynopsis> 795<!-- .FN --> 796<variablelist> 797 <varlistentry> 798 <term> 799 <emphasis remap='I'>w</emphasis> 800 </term> 801 <listitem> 802 <para> 803Specifies the List widget. 804 </para> 805 </listitem> 806 </varlistentry> 807</variablelist> 808</para> 809</sect2> 810<sect2 id="Retrieving_the_Currently_Selected_Item"> 811<title>Retrieving the Currently Selected Item</title> 812<para> 813<!-- .LP --> 814To retrieve the list element that is currently <emphasis remap='I'>set</emphasis>, use 815<function>XawListShowCurrent .</function> 816<!-- .IN "XawListShowCurrent" "" "@DEF@" --> 817<funcsynopsis id='XawListShowCurrent'> 818<funcprototype> 819 <funcdef>XawListReturnStruct<function> *XawListShowCurrent</function></funcdef> 820 <paramdef>Widget<parameter> w</parameter></paramdef> 821</funcprototype> 822</funcsynopsis> 823<!-- .FN --> 824<variablelist> 825 <varlistentry> 826 <term> 827 <emphasis remap='I'>w</emphasis> 828 </term> 829 <listitem> 830 <para> 831Specifies the List widget. 832 </para> 833 </listitem> 834 </varlistentry> 835</variablelist> 836</para> 837<para> 838<!-- .LP --> 839<function>XawListShowCurrent</function> 840returns a pointer to an 841<function>XawListReturnStruct</function> 842structure, 843containing the currently highlighted item. 844If the value of the index member is XAW_LIST_NONE, 845<!-- .IN "XAW_LIST_NONE" --> 846the string member is undefined, and no item is currently selected. 847</para> 848</sect2> 849<sect2 id="Restrictions"> 850<title>Restrictions</title> 851<para> 852<!-- .LP --> 853Many programmers create a ``scrolled list'' by putting a List 854widget with many entries as a child of a Viewport widget. The 855List continues to create a window as big as its contents, but 856that big window is only visible where it intersects the parent 857Viewport's window. (I.e., it is ``clipped.'') 858</para> 859<para> 860<!-- .LP --> 861While this is a useful technique, there is a serious drawback. 862X does not support windows above 32,767 pixels in width or 863height, but this height limit will be exceeded by a List's 864window when the List has many entries (i.e., with a 12 point 865font, about 3000 entries would be too many.) 866</para> 867<para> 868<!-- .LP --> 869 870</para> 871</sect2> 872</sect1> 873