~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to packages/extra/palmunits/table.pp

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
(******************************************************************************
2
 
 *
3
 
 * Copyright (c) 1994-2000 Palm, Inc. or its subsidiaries.
4
 
 * All rights reserved.
5
 
 *
6
 
 * File: Table.h
7
 
 *
8
 
 * Release: Palm OS SDK 4.0 (63220)
9
 
 *
10
 
 * Description:
11
 
 *   This file defines table structures and routines.
12
 
 *
13
 
 * History:
14
 
 *    September 1, 1994 Created by Art Lamb
15
 
 *
16
 
 *****************************************************************************)
17
 
 
18
 
unit table;
19
 
 
20
 
interface
21
 
 
22
 
uses palmos, coretraps, rect, font, field, control;
23
 
 
24
 
//-------------------------------------------------------------------
25
 
// Table structures
26
 
//-------------------------------------------------------------------
27
 
 
28
 
const
29
 
  tableDefaultColumnSpacing = 1;
30
 
  tableNoteIndicatorWidth   = 7;
31
 
  tableNoteIndicatorHeight  = 11;
32
 
  tableMaxTextItemSize      = 255; // does not incude terminating null
33
 
 
34
 
  tblUnusableRow            = $ffff;
35
 
 
36
 
// Display style of a table item
37
 
//
38
 
type
39
 
  tableItemStyles = Enum;
40
 
 
41
 
const
42
 
  checkboxTableItem = 0;
43
 
  customTableItem = Succ(checkboxTableItem);
44
 
  dateTableItem = Succ(customTableItem);
45
 
  labelTableItem = Succ(dateTableItem);
46
 
  numericTableItem = Succ(labelTableItem);
47
 
  popupTriggerTableItem = Succ(numericTableItem);
48
 
  textTableItem = Succ(popupTriggerTableItem);
49
 
  textWithNoteTableItem = Succ(textTableItem);
50
 
  timeTableItem = Succ(textWithNoteTableItem);
51
 
  narrowTextTableItem = Succ(timeTableItem);
52
 
  tallCustomTableItem = Succ(narrowTextTableItem);
53
 
 
54
 
 
55
 
type
56
 
  TableItemStyleType = tableItemStyles;
57
 
 
58
 
  TableItemType = record
59
 
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_TABLES} // These fields will not be available in the next OS release!
60
 
    itemType: TableItemStyleType;
61
 
    fontID: FontID; // font for drawing text
62
 
    intValue: Int16;
63
 
    ptr: PChar;
64
 
  {$endif}
65
 
  end;
66
 
  TableItemTag = TableItemType;
67
 
  TableItemPtr = ^TableItemType;
68
 
 
69
 
// Draw item callback routine prototype, used only by customTableItem.
70
 
  TableDrawItemFuncType = procedure(tableP: Pointer; row, column: Int16; var bounds: RectangleType);
71
 
 
72
 
  TableDrawItemFuncPtr = TableDrawItemFuncType;
73
 
 
74
 
// Load data callback routine prototype
75
 
  TableLoadDataFuncType = function(tableP: Pointer; row, column: Int16; editable: Boolean;
76
 
                                   var dataH: MemHandle; var dataOffset, dataSize: Int16; fld: FieldPtr): Err;
77
 
 
78
 
  TableLoadDataFuncPtr = TableLoadDataFuncType;
79
 
 
80
 
// Save data callback routine prototype
81
 
  TableSaveDataFuncType = function(tableP: Pointer; row, column: Int16): Boolean;
82
 
 
83
 
  TableSaveDataFuncPtr = TableSaveDataFuncType;
84
 
 
85
 
  TableColumnAttrType = record
86
 
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_TABLES} // These fields will not be available in the next OS release!
87
 
    width: Coord; // width in pixels
88
 
    Bits: UInt16;
89
 
{
90
 
    UInt16 reserved1       : 5;
91
 
    UInt16 masked          : 1;  // if both row + column masked, draw only grey box
92
 
    UInt16 editIndicator   : 1;
93
 
    UInt16 usable          : 1;
94
 
    UInt16 reserved2       : 8;
95
 
}
96
 
    spacing: Coord; // space after column
97
 
    drawCallback: TableDrawItemFuncPtr;
98
 
    loadDataCallback: TableLoadDataFuncPtr;
99
 
    saveDataCallback: TableSaveDataFuncPtr;
100
 
  {$endif}
101
 
  end;
102
 
  TableColumnAttrTag = TableColumnAttrType;
103
 
 
104
 
  TableRowAttrType = record
105
 
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_TABLES} // These fields will not be available in the next OS release!
106
 
    id: UInt16;
107
 
    height: Coord;                 // row height in pixels
108
 
    data: UInt32;
109
 
    Bits: UInt16;
110
 
{
111
 
    UInt16 reserved1       : 7;
112
 
    UInt16 usable          : 1;
113
 
    UInt16 reserved2       : 4;
114
 
    UInt16 masked          : 1;  // if both row + column masked, draw only grey box
115
 
    UInt16 invalid         : 1;    // true if redraw needed
116
 
    UInt16 staticHeight    : 1;  // Set if height does not expands as text is entered
117
 
    UInt16 selectable      : 1;
118
 
 }
119
 
    reserved3: UInt16;
120
 
  {$endif}
121
 
  end;
122
 
  TableRowAttrTag = TableRowAttrType;
123
 
 
124
 
  TableAttrType = record
125
 
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_TABLES} // These fields will not be available in the next OS release!
126
 
    Bits: UInt16;
127
 
{
128
 
    UInt16 visible:1;          // Set if drawn, used internally
129
 
    UInt16 editable:1;         // Set if editable
130
 
    UInt16 editing:1;          // Set if in edit mode
131
 
    UInt16 selected:1;         // Set if the current item is selected
132
 
    UInt16 hasScrollBar:1; // Set if the table has a scroll bar
133
 
    UInt16 usable:1;         // Set if in table is visible in the current form
134
 
    UInt16 reserved:10;
135
 
}
136
 
  {$endif}
137
 
  end;
138
 
  TableAttrTag = TableAttrType;
139
 
 
140
 
  TableType = record
141
 
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_TABLES} // These fields will not be available in the next OS release!
142
 
    id: UInt16;
143
 
    bounds: RectangleType;
144
 
    attr: TableAttrType;
145
 
    numColumns: Int16;
146
 
    numRows: Int16;
147
 
    currentRow: Int16;
148
 
    currentColumn: Int16;
149
 
    topRow: Int16;
150
 
    columnAttrs: ^TableColumnAttrType;
151
 
    rowAttrs: ^TableRowAttrType;
152
 
    items: TableItemPtr;
153
 
    currentField: FieldType;
154
 
  {$endif}
155
 
  end;
156
 
 
157
 
  TablePtr = ^TableType;
158
 
 
159
 
//-------------------------------------------------------------------
160
 
// Table routines
161
 
//-------------------------------------------------------------------
162
 
 
163
 
procedure TblDrawTable(tableP: TablePtr); syscall sysTrapTblDrawTable;
164
 
 
165
 
procedure TblRedrawTable(tableP: TablePtr); syscall sysTrapTblRedrawTable;
166
 
 
167
 
procedure TblEraseTable(tableP: TablePtr); syscall sysTrapTblEraseTable;
168
 
 
169
 
function TblHandleEvent(tableP: TablePtr; event: EventPtr): Boolean; syscall sysTrapTblHandleEvent;
170
 
 
171
 
procedure TblGetItemBounds(const tableP: TablePtr; row, column: Int16; var rP: RectangleType); syscall sysTrapTblGetItemBounds;
172
 
 
173
 
procedure TblSelectItem(tableP: TablePtr; row, column: Int16); syscall sysTrapTblSelectItem;
174
 
 
175
 
function TblGetItemInt(const tableP: TablePtr; row, column: Int16): Int16; syscall sysTrapTblGetItemInt;
176
 
 
177
 
procedure TblSetItemInt(tableP: TablePtr; row, column, value: Int16); syscall sysTrapTblSetItemInt;
178
 
 
179
 
procedure TblSetItemPtr(tableP: TablePtr; row, column: Int16; value: Pointer); syscall sysTrapTblSetItemPtr;
180
 
 
181
 
procedure TblSetItemStyle(tableP: TablePtr; row, column: Int16; type_: TableItemStyleType); syscall sysTrapTblSetItemStyle;
182
 
 
183
 
procedure TblUnhighlightSelection(tableP: TablePtr); syscall sysTrapTblUnhighlightSelection;
184
 
 
185
 
function TblRowUsable(const tableP: TablePtr; row: Int16): Boolean; syscall sysTrapTblRowUsable;
186
 
 
187
 
procedure TblSetRowUsable(tableP: TablePtr; row: Int16; usable: Boolean); syscall sysTrapTblSetRowUsable;
188
 
 
189
 
function TblGetLastUsableRow(const tableP: TablePtr): Int16; syscall sysTrapTblGetLastUsableRow;
190
 
 
191
 
procedure TblSetColumnUsable(tableP: TablePtr; column: Int16; usable: Boolean); syscall sysTrapTblSetColumnUsable;
192
 
 
193
 
procedure TblSetRowSelectable(tableP: TablePtr; row: Int16; selectable: Boolean); syscall sysTrapTblSetRowSelectable;
194
 
 
195
 
function TblRowSelectable(const tableP: TablePtr; row: Int16): Boolean; syscall sysTrapTblRowSelectable;
196
 
 
197
 
function TblGetNumberOfRows(const tableP: TablePtr): Int16; syscall sysTrapTblGetNumberOfRows;
198
 
 
199
 
procedure TblSetCustomDrawProcedure(tableP: TablePtr; column: Int16; drawCallback: TableDrawItemFuncPtr); syscall sysTrapTblSetCustomDrawProcedure;
200
 
 
201
 
procedure TblSetLoadDataProcedure(tableP: TablePtr; column: Int16; loadDataCallback: TableLoadDataFuncPtr); syscall sysTrapTblSetLoadDataProcedure;
202
 
 
203
 
procedure TblSetSaveDataProcedure(tableP: TablePtr; column: Int16; saveDataCallback: TableSaveDataFuncPtr); syscall sysTrapTblSetSaveDataProcedure;
204
 
 
205
 
procedure TblGetBounds(const tableP: TablePtr; var rP: RectangleType); syscall sysTrapTblGetBounds;
206
 
 
207
 
procedure TblSetBounds(tableP: TablePtr; {const} var rP: RectangleType); syscall sysTrapTblSetBounds;
208
 
 
209
 
function TblGetRowHeight(const tableP: TablePtr; row: Int16): Coord; syscall sysTrapTblGetRowHeight;
210
 
 
211
 
procedure TblSetRowHeight(tableP: TablePtr; row: Int16; height: Coord); syscall sysTrapTblSetRowHeight;
212
 
 
213
 
function TblGetColumnWidth(const tableP: TablePtr; column: Int16): Coord; syscall sysTrapTblGetColumnWidth;
214
 
 
215
 
procedure TblSetColumnWidth(tableP: TablePtr; column: Int16; width: Coord); syscall sysTrapTblSetColumnWidth;
216
 
 
217
 
function TblGetColumnSpacing(const tableP: TablePtr; column: Int16): Coord; syscall sysTrapTblGetColumnSpacing;
218
 
 
219
 
procedure TblSetColumnSpacing(tableP: TablePtr; column: Int16; spacing: Coord); syscall sysTrapTblSetColumnSpacing;
220
 
 
221
 
function TblFindRowID(const tableP: TablePtr; id: UInt16; var rowP: Int16): Boolean; syscall sysTrapTblFindRowID;
222
 
 
223
 
function TblFindRowData(const tableP: TablePtr; data: UInt32; var rowP: Int16): Boolean; syscall sysTrapTblFindRowData;
224
 
 
225
 
function TblGetRowID(const tableP: TablePtr; row: Int16): UInt16; syscall sysTrapTblGetRowID;
226
 
 
227
 
procedure TblSetRowID(tableP: TablePtr; row, id: Int16); syscall sysTrapTblSetRowID;
228
 
 
229
 
function TblGetRowData(const tableP: TablePtr; row: Int16): UInt32; syscall sysTrapTblGetRowData;
230
 
 
231
 
procedure TblSetRowData(tableP: TablePtr; row: Int16; data: UInt32); syscall sysTrapTblSetRowData;
232
 
 
233
 
function TblRowInvalid(const tableP: TablePtr; row: Int16): Boolean; syscall sysTrapTblRowInvalid;
234
 
 
235
 
procedure TblMarkRowInvalid(tableP: TablePtr; row: Int16); syscall sysTrapTblMarkRowInvalid;
236
 
 
237
 
procedure TblMarkTableInvalid(tableP: TablePtr); syscall sysTrapTblMarkTableInvalid;
238
 
 
239
 
function TblGetSelection(const tableP: TablePtr; var rowP, columnP: Int16): Boolean; syscall sysTrapTblGetSelection;
240
 
 
241
 
procedure TblInsertRow(tableP: TablePtr; row: Int16); syscall sysTrapTblInsertRow;
242
 
 
243
 
procedure TblRemoveRow(tableP: TablePtr; row: Int16); syscall sysTrapTblRemoveRow;
244
 
 
245
 
procedure TblReleaseFocus(tableP: TablePtr); syscall sysTrapTblReleaseFocus;
246
 
 
247
 
function TblEditing(const tableP: TablePtr): Boolean; syscall sysTrapTblEditing;
248
 
 
249
 
function TblGetCurrentField(const tableP: TablePtr): FieldPtr; syscall sysTrapTblGetCurrentField;
250
 
 
251
 
procedure TblGrabFocus(tableP: TablePtr; row, column: Int16); syscall sysTrapTblGrabFocus;
252
 
 
253
 
procedure TblSetColumnEditIndicator(tableP: TablePtr; column: Int16; editIndicator: Boolean); syscall sysTrapTblSetColumnEditIndicator;
254
 
 
255
 
procedure TblSetRowStaticHeight(tableP: TablePtr; row: Int16; staticHeight: Boolean); syscall sysTrapTblSetRowStaticHeight;
256
 
 
257
 
procedure TblHasScrollBar(tableP: TablePtr; hasScrollBar: Boolean); syscall sysTrapTblHasScrollBar;
258
 
 
259
 
function TblGetItemFont(const tableP: TablePtr; row, column: Int16): FontID; syscall sysTrapTblGetItemFont;
260
 
 
261
 
procedure TblSetItemFont(tableP: TablePtr; row, column: Int16; fontID: FontID); syscall sysTrapTblSetItemFont;
262
 
 
263
 
function TblGetItemPtr(const tableP: TablePtr; row, column: Int16): Pointer; syscall sysTrapTblGetItemPtr;
264
 
 
265
 
function TblRowMasked(const tableP: TablePtr; row: Int16): Boolean; syscall sysTrapTblRowMasked;
266
 
 
267
 
procedure TblSetRowMasked(tableP: TablePtr; row: Int16; masked: Boolean); syscall sysTrapTblSetRowMasked;
268
 
 
269
 
procedure TblSetColumnMasked(tableP: TablePtr; column: Int16; masked: Boolean); syscall sysTrapTblSetColumnMasked;
270
 
 
271
 
function TblGetNumberOfColumns(const tableP: TablePtr): Int16; syscall sysTrapTblGetNumberOfColumns;
272
 
 
273
 
function TblGetTopRow(const tableP: TablePtr): Int16; syscall sysTrapTblGetTopRow;
274
 
 
275
 
procedure TblSetSelection(tableP: TablePtr; row, column: Int16); syscall sysTrapTblSetSelection;
276
 
 
277
 
implementation
278
 
 
279
 
end.
 
 
b'\\ No newline at end of file'