home *** CD-ROM | disk | FTP | other *** search
- /* List Manager definitions
- Walter R. Smith, 21 April 1986
- This code is hereby placed in the public domain.
- */
-
- #ifndef _ListMgr_
- #define _ListMgr_
-
- #ifndef _MacTypes_
- #include "MacTypes.h"
- #endif
-
- #ifndef _ControlMgr_
- #include "ControlMgr.h"
- #endif
-
- /* Masks for automatic scrolling */
- enum {
- lDoHAutoScroll = 1,
- lDoVAutoScroll
- };
-
- /* Masks for selection flags */
- enum {
- lNoNilHilite = 2,
- lUseSense = 4,
- lNoRect = 8,
- lNoExtend = 16,
- lNoDisjoint = 32,
- lExtendDrag = 64,
- lOnlyOne = 128
- };
-
- /* Messages to list definition procedures */
- enum {
- lInitMsg,
- lDrawMsg,
- lHiliteMsg,
- lCloseMsg
- };
-
- typedef Point Cell;
- typedef char DataArray[32000];
- typedef DataArray *DataPtr, **DataHandle;
- typedef struct {
- Rect rView;
- GrafPtr port;
- Point indent;
- Point cellSize;
- Rect visible;
- ControlHandle vScroll;
- ControlHandle hScroll;
- Byte selFlags;
- Byte lActive;
- Byte lReserved;
- Byte listFlags;
- long clikTime;
- Point clikLoc;
- Point mouseLoc;
- Ptr lClikLoop;
- Cell lastClick;
- long refCon;
- Handle listDefProc;
- Handle userHandle;
- Rect dataBounds;
- DataHandle cells;
- int maxIndex;
- int cellArray[1];
- } ListRec;
- typedef ListRec *ListPtr, **ListHandle;
-
- extern pascal ListHandle LNew();
- extern pascal int LAddColumn(), LAddRow();
- extern pascal Boolean LGetSelect(), LClick(), LNextCell(), LSearch();
- extern pascal long LLastClick();
- extern pascal void LDispose(), LDelColumn(), LDelRow(), LAddToCell(),
- LClrCell(), LGetCell(), LSetCell(), LCellSize(), LSetSelect(),
- LFind(), LRect(), LSize(), LDraw(), LDoDraw(), LScroll(),
- LAutoScroll(), LUpdate(), LActivate();
-
- #endif
-