123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- (******************************************************************************
- *
- * Copyright (c) 1994-2000 Palm, Inc. or its subsidiaries.
- * All rights reserved.
- *
- * File: List.h
- *
- * Release: Palm OS SDK 4.0 (63220)
- *
- * Description:
- * This file defines list structures and routines.
- *
- * History:
- * November 3, 1994 Created by Roger Flores
- * Name Date Description
- * ---- ---- -----------
- * bob 2/9/99 fixed const stuff
- *
- *****************************************************************************)
- unit list;
- interface
- uses palmos, coretraps, rect, font, window, control;
- const
- noListSelection = -1;
- //-------------------------------------------------------------------
- // List structures
- //-------------------------------------------------------------------
- type
- ListAttrType = record
- {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_LISTS} // These fields will not be available in the next OS release!
- Bits: UInt16;
- {
- UInt16 usable :1; // set if part of ui
- UInt16 enabled :1; // set if interactable (not grayed out)
- UInt16 visible :1; // set if drawn
- UInt16 poppedUp :1; // set if choices displayed in popup win.
- UInt16 hasScrollBar:1; // set if the list has a scroll bar
- UInt16 search :1; // set if incremental search is enabled
- UInt16 reserved :2;
- }
- {$endif}
- end;
- ListAttrTag = ^ListAttrType;
- // Load data callback routine prototype
- type
- ListDrawDataFuncType = procedure (itemNum: Int16; bounds: RectanglePtr; var itemsText: PChar);
- ListDrawDataFuncPtr = ListDrawDataFuncType;
- type
- ListType = record
- {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_LISTS} // These fields will not be available in the next OS release!
- id: UInt16;
- bounds: RectangleType;
- attr: ListAttrType;
- itemsText: ^PChar;
- numItems: Int16; // number of choices in the list
- currentItem: Int16; // currently display choice
- topItem: Int16; // top item visible when poped up
- font: FontID; // font used to draw list
- reserved: UInt8;
- popupWin: WinHandle; // used only by popup lists
- drawItemsCallback: ListDrawDataFuncPtr; // 0 indicates no function
- {$endif}
- end;
- ListPtr = ^ListType;
- //-------------------------------------------------------------------
- // List routines
- //-------------------------------------------------------------------
- procedure LstDrawList(listP: ListPtr); syscall sysTrapLstDrawList;
- procedure LstEraseList(listP: ListPtr); syscall sysTrapLstEraseList;
- function LstGetSelection(const listP: ListPtr): Int16; syscall sysTrapLstGetSelection;
- function LstGetSelectionText(const listP: ListPtr; itemNum: Int16): PChar; syscall sysTrapLstGetSelectionText;
- function LstHandleEvent(listP: ListPtr; const eventP: EventPtr): Boolean; syscall sysTrapLstHandleEvent;
- procedure LstSetHeight(listP: ListPtr; visibleItems: Int16); syscall sysTrapLstSetHeight;
- procedure LstSetPosition(listP: ListPtr; x, y: Coord); syscall sysTrapLstSetPosition;
- procedure LstSetSelection(listP: ListPtr; itemNum: Int16); syscall sysTrapLstSetSelection;
- procedure LstSetListChoices(listP: ListPtr; var itemsText: PChar; numItems: Int16); syscall sysTrapLstSetListChoices;
- procedure LstSetDrawFunction(listP: ListPtr; func: ListDrawDataFuncPtr); syscall sysTrapLstSetDrawFunction;
- procedure LstSetTopItem(listP: ListPtr; itemNum: Int16); syscall sysTrapLstSetTopItem;
- procedure LstMakeItemVisible(listP: ListPtr; itemNum: Int16); syscall sysTrapLstMakeItemVisible;
- function LstGetNumberOfItems(const listP: ListPtr): Int16; syscall sysTrapLstGetNumberOfItems;
- function LstPopupList(listP: ListPtr): Int16; syscall sysTrapLstPopupList;
- function LstScrollList(listP: ListPtr; direction: WinDirectionType; itemCount: Int16): Boolean; syscall sysTrapLstScrollList;
- function LstGetVisibleItems(const listP: ListPtr): Int16; syscall sysTrapLstGetVisibleItems;
- function LstNewList(formPP: PointerPtr; id: UInt16; x, y, width, height: Coord;
- font: FontID; visibleItems, triggerId: Int16): Err; syscall sysTrapLstNewList;
- function LstGetTopItem(const listP: ListPtr): Int16; syscall sysTrapLstGetTopItem;
- implementation
- end.
|