Back

InitListInfo()




    USAGE

    ListItem = (struct ListItem *) InitListInfo(ListInfo)

    FUNCTION

    This initialises a ListInfo structure, allocates Gadget structures for the scroll, clickdown, and list gadgets, and draw the list.

    When submitting the ListInfo structure, you must prepare the following fields:

    LeftEdge indicates the left boundary of the list.
    TopEdge indicates the top boundary of the list.
    Width indicates the width of the list.
    Height indicates the height of the list.
    ItemHeight specifies how tall each item is. This is divided into Height to determine how many items are displayed at once.
    ScrollID This is the GadgetID number you would like the scroll bar to have. A scroll gagdget will be created with this number in in its GadgeID field. Later, when your Program receives GADGETUP events with this GadgetID, call ScrollList to scroll the display.
    ListID This is the GadgetID number for the list display. Later, when your program receives a GADGETUP event with this GadgetID, this will indicate the user is clicking on an item in the list, so call GetListItem which will highlight that item and return a pointer to it.
    ClickUpID Yet another GadgetID number, this is for the arrow gadget at the top of the scroll bar, indicating the user wants to scroll the display down one. When you receive a GADGETUP event with this id call ClickList.
    ClickDownID The last GadgetID number, this is for the down arrow below the scroll bar. This is also used to call ClickList.
    BorderPen The pen number for the border of the box that surrounds the list.
    FillPen The pen number for the inside of the box.
    TopItem If you have a list of items to work with, put the pointer to the top one here. If not, this must be NULL.
    TopDisplayItem This is a pointer to the first item that should be displayed. This might be the top item, or could be somewhere in the middle of the list. If there is no list, make this NULL.
    ActiveItem This is the currently highlighted item. If there is none, make it NULL.
    Window You must provide a pointer to the window this list is being displayed in.
    DrawRoutine This is a pointer to a routine that you provide to display information about an item. When this routine is called later on, it is passed five parameters:
    • The rastport to draw in.
    • A pointer to the item to display.
    • X and Y coordinates for drawing.
    • A flag that is set to
      TRUE if this is to be highlighted,
      FALSE if not.
    How you go to highlighted is up to you.

    The remaining parameters should be left alone.

    When you are done displaying the list, call RemoveListInfo to clear it out and deallocate the gadgets.

    INPUTS

    ListInfo = Pointer to the ListInfo structure that describes the list.

    RESULT

    ListItem
    SEE ALSO

    GetListItem, DrawList, ScrollList, ClickList, InsterListItem, SetScrollBar, DupeListInfo, DeleteListInfo, RemoveListItem