00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063 #ifndef INC_MI32_MXGRLIST_H
00064 #define INC_MI32_MXGRLIST_H
00065
00066 #ifndef INC_MI32_XDEFNS_H
00067 #include <mi32/xdefns.h>
00068 #endif
00069
00070 #ifndef INC_MI32_MCB_H
00071 #include <mi32/mcb.h>
00072 #endif
00073
00074
00075
00076 #define MxGraphList_OwnDrawReason 0x0001
00077 #define MxGraphList_ButtonPressReason 0x0002
00078 #define MxGraphList_ButtonReleaseReason 0x0004
00079 #define MxGraphList_ButtonReason 0x0006
00080 #define MxGraphList_MotionNotifyReason 0x0008
00081 #define MxGraphList_KeyPressReason 0x0010
00082 #define MxGraphList_KeyReleaseReason 0x0020
00083 #define MxGraphList_KeyReason 0x0030
00084 #define MxGraphList_HeaderDrawReason 0x0040
00085
00086 #define MxGraphList_SingleSelection 0
00087 #define MxGraphList_MultipleSelection 1
00088
00089 struct MxGraphListDrawStruct {
00090 Drawable window;
00091 Display *display;
00092 GC gc;
00093 int x;
00094 int y;
00095 int width;
00096 int height;
00097 };
00098
00099 struct MxGraphListButtonStruct {
00100 int px;
00101 int py;
00102 unsigned int state;
00103 unsigned int button;
00104 int x;
00105 int y;
00106 int width;
00107 int height;
00108 };
00109
00110 struct MxGraphListMotionStruct {
00111 int px;
00112 int py;
00113 unsigned int state;
00114 unsigned int is_hint;
00115 int x;
00116 int y;
00117 int width;
00118 int height;
00119 int x_root;
00120 int y_root;
00121 };
00122
00123 struct MxGraphListKeyStruct {
00124 unsigned int state;
00125 KeySym keysym;
00126 };
00127
00128 struct MxGraphListCallbackStruct {
00129 UINT32 reason;
00130 int item;
00131 int item_position;
00132 int item_state;
00133 MxGraphListDrawStruct draw;
00134 MxGraphListButtonStruct button;
00135 MxGraphListMotionStruct motion;
00136 MxGraphListKeyStruct key;
00137 };
00138
00139 #if defined(__cplusplus)
00140 extern "C" {
00141 #endif
00142
00155 int MxGraphListAddCallback (
00156 Widget w,
00157 void (*func)(McbAnyCallbackStruct *,void *),
00158 void *data,
00159 UINT32 reason
00160 );
00161
00165 Widget MxGraphListGetDrawingAreaWidget (
00166 Widget w
00167 );
00168
00172 Widget MxGraphListCreate (
00173 Widget parent,
00174 int Width,
00175 int Height,
00176 void *userdata,
00177 UINT32 flags,
00178 Arg *arg,
00179 int n
00180 );
00181
00183 void MxGraphListGetItemGeometry (
00184 Widget w,
00185 int *Width,
00186 int *Height
00187 );
00188
00190 void MxGraphListSetItemGeometry (
00191 Widget w,
00192 int Width,
00193 int Height
00194 );
00195
00197 void MxGraphListGetHeaderHeight (
00198 Widget w,
00199 int *height
00200 );
00201
00203 void MxGraphListSetHeaderHeight (
00204 Widget w,
00205 int height
00206 );
00207
00209 void MxGraphListGetVisibleItemsCount (
00210 Widget w,
00211 int *count
00212 );
00213
00215 void MxGraphListSetVisibleItemsCount (
00216 Widget w,
00217 int count
00218 );
00219
00221 void MxGraphListDrawPos (
00222 Widget w,
00223 int position
00224 );
00225
00227 void MxGraphListRedraw (
00228 Widget w
00229 );
00230
00232 void MxGraphListEnableRedraw (
00233 Widget w,
00234 int EnableRedraw
00235 );
00236
00240 int MxGraphListGetItemCount (
00241 Widget w
00242 );
00243
00245 void MxGraphListAddItem (
00246 Widget w,
00247 int item,
00248 int position
00249 );
00250
00252 void MxGraphListAddItems (
00253 Widget w,
00254 int *items,
00255 int item_count,
00256 int position
00257 );
00258
00260 void MxGraphListDeleteAllItems (
00261 Widget w
00262 );
00263
00265 void MxGraphListDeleteItem (
00266 Widget w,
00267 int item
00268 );
00269
00271 void MxGraphListDeleteItems (
00272 Widget w,
00273 int *items,
00274 int item_count
00275 );
00276
00278 void MxGraphListDeleteItemsPos (
00279 Widget w,
00280 int item_count,
00281 int position
00282 );
00283
00285 void MxGraphListDeletePos (
00286 Widget w,
00287 int position
00288 );
00289
00291 void MxGraphListDeselectAllItems (
00292 Widget w
00293 );
00294
00296 void MxGraphListDeselectItem (
00297 Widget w,
00298 int item
00299 );
00300
00302 void MxGraphListDeselectPos (
00303 Widget w,
00304 int position
00305 );
00306
00308 void MxGraphListSelectAllItems (
00309 Widget w
00310 );
00311
00313 void MxGraphListInvertSelect (
00314 Widget w
00315 );
00316
00318 void MxGraphListSelectItem (
00319 Widget w,
00320 int item
00321 );
00322
00324 void MxGraphListSelectPos (
00325 Widget w,
00326 int position
00327 );
00328
00330 void MxGraphListSetBottomItem (
00331 Widget w,
00332 int item
00333 );
00334
00336 void MxGraphListSetBottomPos (
00337 Widget w,
00338 int position
00339 );
00340
00342 void MxGraphListSetItem (
00343 Widget w,
00344 int item
00345 );
00346
00348 void MxGraphListSetPos (
00349 Widget w,
00350 int position
00351 );
00352
00354 void MxGraphListGetMatchPos (
00355 Widget w,
00356 int item,
00357 int **position_list,
00358 int *position_count
00359 );
00360
00364 int MxGraphListGetSelectedPos (
00365 Widget w,
00366 int **position_list,
00367 int *postion_count
00368 );
00369
00373 int MxGraphListGetSelectedItemCount (
00374 Widget w
00375 );
00376
00380 int MxGraphListItemExists (
00381 Widget w,
00382 int item
00383 );
00384
00388 int MxGraphListItemPos (
00389 Widget w,
00390 int item
00391 );
00392
00396 int MxGraphListGetItem (
00397 Widget w,
00398 int item
00399 );
00400
00404 int MxGraphListPosSelected (
00405 Widget w,
00406 int position
00407 );
00408
00412 int MxGraphListGetKbdItemPos (
00413 Widget w
00414 );
00415
00419 int MxGraphListSetKbdItemPos (
00420 Widget w,
00421 int position
00422 );
00423
00425 int MxGraphListGrabPointer (
00426 Widget w
00427 );
00428
00430 int MxGraphListUngrabPointer (
00431 Widget w
00432 );
00433
00441 int MxGraphListSetSelectionMode (
00442 Widget w,
00443 int mode
00444 );
00445
00446 #if defined(__cplusplus)
00447 }
00448 #endif
00449
00450 #endif
00451