TreeData.def: Translation to Stony Brook Modula-2

Last updated: 6. 3.1998, 23:27

<*/NOWARN:F*>
DEFINITION MODULE TreeData;

(*-----------------------------------------
   TREEDATA.H -- Control Macro data definitions.
                 (c) Paul Yao, 1995
  -----------------------------------------*)
IMPORT SYSTEM;
IMPORT TreeView;
IMPORT COMMCTRL;
IMPORT WIN32;
TYPE
  TypeOfFolder = [0..2];

TYPE
   ITEM = RECORD
              nType     : TypeOfFolder;             (* Type (TYPE_ITEM or TYPE_FOLDER)        *)
              hItem     : COMMCTRL.HTREEITEM;       (* Handle to TreeView item                *)
              pName     : WIN32.LPSTR;              (* Message name                           *)
              pMacro    : WIN32.LPSTR;              (* Macro                                  *)
          END;
   LPITEM = POINTER TO ITEM;

TYPE
   FOLDER = RECORD
                nType     : TypeOfFolder;           (* Type (TYPE_ITEM or TYPE_FOLDER)        *)
                hItem     : COMMCTRL.HTREEITEM;     (* Handle to TreeView item                *)
                pName     : WIN32.LPSTR;            (* Name of folder                         *)
                piChild   : LPITEM;                 (* Pointer to macro data array            *)
             END;
    LPFOLDER = POINTER TO FOLDER;

CONST LASTITEM = SYSTEM.CAST(COMMCTRL.HTREEITEM, 0ffffh);

CONST TYPE_FOLDER = 01H;
CONST TYPE_ITEM = 02H;

(*-----------------------------------------
   TREEDATA.H -- Control Macro data definitions.
                 (c) Paul Yao, 1995
  -----------------------------------------*)
(*-------------------------------------------------------------------          *)
(* ********** Animation Control Messages**********                             *)
(*-------------------------------------------------------------------          *)
TYPE
  ItemAnimateArray = ARRAY[0..5] OF ITEM;
VAR
     itemAnimate : ItemAnimateArray;

(*******************************************************************-          *)
(* ********** Header Control Messages**********                                *)
(*******************************************************************-          *)
TYPE
  ItemHeaderArray = ARRAY[0..7] OF ITEM;
VAR
     itemHeader  : ItemHeaderArray;


(*******************************************************************-          *)
(* ********** Hot Key Control Messages **********                              *)
(*******************************************************************-          *)
TYPE
  ItemHotKeyArray = ARRAY[0..3] OF ITEM;
VAR
     itemHotKey : ItemHotKeyArray;

(*******************************************************************-          *)
(* ********** Image List Control Messages **********                           *)
(*******************************************************************-          *)
(* Create\Destroy\Save Image List                                              *)
TYPE
  ItemImageList1Array = ARRAY[0..7] OF ITEM;
VAR
     itemImageList1 : ItemImageList1Array;

(* Modify Image List                                                           *)
TYPE
  ItemImageList2Array = ARRAY[0..8] OF ITEM;
VAR
     itemImageList2 : ItemImageList2Array;

(* Drag Images                                                                 *)
TYPE
  ItemImageList3Array = ARRAY[0..8] OF ITEM;
VAR
     itemImageList3 : ItemImageList3Array;

(* Draw Images                                                                 *)
TYPE
  ItemImageList4Array = ARRAY[0..2] OF ITEM;
VAR
     itemImageList4 : ItemImageList4Array;

(* Create Icon\Cursor from Image List                                          *)
TYPE
  ItemImageList5Array = ARRAY[0..2] OF ITEM;
VAR
     itemImageList5 : ItemImageList5Array;

(* Set\Query Attributes                                                        *)
TYPE
  ItemImageList6Array = ARRAY[0..6] OF ITEM;
VAR
     itemImageList6 : ItemImageList6Array;

TYPE
  FldImageListArray = ARRAY[0..6] OF FOLDER;
VAR
     fldImageList : FldImageListArray;
(*******************************************************************-          *)
(* ********** List View Control Messages **********                            *)
(*******************************************************************-          *)
(* Modify Item List                                                            *)
TYPE
  ItemListView1Array = ARRAY[0..3] OF ITEM;
VAR
     itemListView1 : ItemListView1Array;

(* Control Attributes                                                          *)

TYPE
  ItemListView2Array = ARRAY[0..5] OF ITEM;
VAR
     itemListView2 : ItemListView2Array;

(* Drawing Attributes                                                          *)
TYPE
  ItemListView3Array = ARRAY[0..11] OF ITEM;
VAR
     itemListView3 : ItemListView3Array;

(* Item Attributes                                                             *)
TYPE
  ItemListView4Array = ARRAY[0..11] OF ITEM;
VAR
     itemListView4 : ItemListView4Array;

(* Column Attributes                                                           *)
TYPE
  ItemListView5Array = ARRAY[0..6] OF ITEM;
VAR
     itemListView5 : ItemListView5Array;

(* Reorganize or Redraw List                                                   *)
TYPE
  ItemListView6Array = ARRAY[0..4] OF ITEM;
VAR
     itemListView6 : ItemListView6Array;

(* Scrolling Attributes                                                        *)
TYPE
  ItemListView7Array = ARRAY[0..4] OF ITEM;
VAR
     itemListView7 : ItemListView7Array;

(* Search Item List                                                            *)
TYPE
  ItemListView8Array = ARRAY[0..2] OF ITEM;
VAR
     itemListView8 : ItemListView8Array;

(* Mouse \ Keyboard Input                                                      *)
TYPE
  ItemListView9Array = ARRAY[0..3] OF ITEM;
VAR
     itemListView9 : ItemListView9Array;

(* In-Place Label Editing                                                      *)
TYPE
  ItemListView0Array = ARRAY[0..2] OF ITEM;
VAR
     itemListView0 : ItemListView0Array;

TYPE
  FldListViewArray = ARRAY[0..10] OF FOLDER;
VAR
     fldListView : FldListViewArray;
(*******************************************************************-          *)
TYPE
  ItemProgressArray = ARRAY[0..5] OF ITEM;
VAR
     itemProgress  : ItemProgressArray;

(*******************************************************************-          *)
(* ********** Property Sheet Control Messages **********                       *)
(*******************************************************************-          *)
(* Modify Property Sheet                                                       *)
TYPE
  ItemPropSheet1Array = ARRAY[0..3] OF ITEM;
VAR
     itemPropSheet1 : ItemPropSheet1Array;

(* Property Sheet Button State                                                 *)
TYPE
  ItemPropSheet2Array = ARRAY[0..5] OF ITEM;
VAR
     itemPropSheet2 : ItemPropSheet2Array;

(* Wizard Button State                                                         *)
TYPE
  ItemPropSheet3Array = ARRAY[0..3] OF ITEM;
VAR
     itemPropSheet3 : ItemPropSheet3Array;

(* System Restart                                                              *)
TYPE
  ItemPropSheet4Array = ARRAY[0..2] OF ITEM;
VAR
     itemPropSheet4 : ItemPropSheet4Array;

(* Query Window Handle                                                         *)
TYPE
  ItemPropSheet5Array = ARRAY[0..2] OF ITEM;
VAR
     itemPropSheet5 : ItemPropSheet5Array;

(* Activate Specific Page                                                      *)
TYPE
  ItemPropSheet6Array = ARRAY[0..2] OF ITEM;
VAR
     itemPropSheet6 : ItemPropSheet6Array;

(* Forward Message to All Property Pages                                       *)
TYPE
  ItemPropSheet7Array = ARRAY[0..2] OF ITEM;
VAR
     itemPropSheet7 : ItemPropSheet7Array;

TYPE
  FldPropSheetArray = ARRAY[0..7] OF FOLDER;
VAR
     fldPropSheet  : FldPropSheetArray;
(*******************************************************************-          *)
(* ********** Rich Edit Control Messages **********                            *)
(*******************************************************************-          *)
(* Read\Write Text                                                             *)
TYPE
  ItemRichEdit1Array = ARRAY[0..6] OF ITEM;
VAR
     itemRichEdit1 : ItemRichEdit1Array;

(* Search                                                                      *)
TYPE
  ItemRichEdit2Array = ARRAY[0..3] OF ITEM;
VAR
     itemRichEdit2 : ItemRichEdit2Array;

(* Text Selection                                                              *)
TYPE
  ItemRichEdit3Array = ARRAY[0..5] OF ITEM;
VAR
     itemRichEdit3 : ItemRichEdit3Array;

(* Text Attributes                                                             *)
TYPE
  ItemRichEdit4Array = ARRAY[0..7] OF ITEM;
VAR
     itemRichEdit4 : ItemRichEdit4Array;

(* Scrolling                                                                   *)
TYPE
  ItemRichEdit5Array = ARRAY[0..2] OF ITEM;
VAR
     itemRichEdit5 : ItemRichEdit5Array;

(* Text Query                                                                  *)
TYPE
  ItemRichEdit6Array = ARRAY[0..7] OF ITEM;
VAR
     itemRichEdit6 : ItemRichEdit6Array;

(* Edit Menu Features                                                          *)
TYPE
  ItemRichEdit7Array = ARRAY[0..5] OF ITEM;
VAR
     itemRichEdit7 : ItemRichEdit7Array;

(* Window state                                                                *)
TYPE
  ItemRichEdit8Array = ARRAY[0..6] OF ITEM;
VAR
     itemRichEdit8 : ItemRichEdit8Array;

(* Set \ Get Word Break Proc                                                   *)
TYPE
  ItemRichEdit9Array = ARRAY[0..2] OF ITEM;
VAR
     itemRichEdit9 : ItemRichEdit9Array;

(* Printing                                                                    *)
TYPE
  ItemRichEdit10Array = ARRAY[0..3] OF ITEM;
VAR
     itemRichEdit10 : ItemRichEdit10Array;

(* Formatting                                                                  *)
TYPE
  ItemRichEdit11Array = ARRAY[0..8] OF ITEM;
VAR
     itemRichEdit11 : ItemRichEdit11Array;

(* Event Notification Messages                                                 *)
TYPE
  ItemRichEdit12Array = ARRAY[0..3] OF ITEM;
VAR
     itemRichEdit12 : ItemRichEdit12Array;

(* OLE Support                                                                 *)
TYPE
  ItemRichEdit13Array = ARRAY[0..2] OF ITEM;
VAR
     itemRichEdit13 : ItemRichEdit13Array;

(* Stream Support                                                              *)
TYPE
  ItemRichEdit14Array = ARRAY[0..2] OF ITEM;
VAR
     itemRichEdit14 : ItemRichEdit14Array;

TYPE
  FldRichEditArray = ARRAY[0..14] OF FOLDER;
VAR
     fldRichEdit : FldRichEditArray;
(*******************************************************************-          *)
(* ********** Status Bar Control Messages **********                           *)
(*******************************************************************-          *)
TYPE
  ItemStatusArray = ARRAY[0..9] OF ITEM;
VAR
     itemStatus : ItemStatusArray;

(*******************************************************************-          *)
(* ********** Tab Control Messages **********                                  *)
(*******************************************************************-          *)
(* Initialization                                                              *)
TYPE
  ItemTab1Array = ARRAY[0..1] OF ITEM;
VAR
     itemTab1 : ItemTab1Array;

(* Query                                                                       *)
TYPE
  ItemTab2Array = ARRAY[0..5] OF ITEM;
VAR
     itemTab2 : ItemTab2Array;

(* Modify Tab List                                                             *)
TYPE
  ItemTab3Array = ARRAY[0..7] OF ITEM;
VAR
     itemTab3 : ItemTab3Array;

(* Image List and Tool Tips                                                    *)
TYPE
  ItemTab4Array = ARRAY[0..5] OF ITEM;
VAR
     itemTab4 : ItemTab4Array;



(* Selection and Focus                                                         *)
TYPE
  ItemTab5Array = ARRAY[0..4] OF ITEM;
VAR
     itemTab5 : ItemTab5Array;

TYPE
  FldTabArray = ARRAY[0..5] OF FOLDER;
VAR
     fldTab : FldTabArray;
(*******************************************************************-          *)
(* ********** Tool Bar Control Messages **********                             *)
(*******************************************************************-          *)
(* Initialization                                                              *)
TYPE
  ItemToolBar1Array = ARRAY[0..7] OF ITEM;
VAR
     itemToolBar1 : ItemToolBar1Array;

(* Handle WM_SIZE Message                                                      *)
TYPE
  ItemToolBar2Array = ARRAY[0..1] OF ITEM;
VAR
     itemToolBar2 : ItemToolBar2Array;

(* Modify Button List                                                          *)
TYPE
  ItemToolBar3Array = ARRAY[0..3] OF ITEM;
VAR
     itemToolBar3 : ItemToolBar3Array;

(* Button State                                                                *)
TYPE
  ItemToolBar4Array = ARRAY[0..12] OF ITEM;
VAR
     itemToolBar4 : ItemToolBar4Array;

(* Button Attributes                                                           *)
TYPE
  ItemToolBar5Array = ARRAY[0..6] OF ITEM;
VAR
     itemToolBar5 : ItemToolBar5Array;

(* Tool Bar Attributes                                                         *)
TYPE
  ItemToolBar6Array = ARRAY[0..4] OF ITEM;
VAR
     itemToolBar6 : ItemToolBar6Array;

(* Display Customize Dialog Box                                                *)
TYPE
  ItemToolBar7Array = ARRAY[0..1] OF ITEM;
VAR
     itemToolBar7 : ItemToolBar7Array;

(* Tool Tip Support                                                            *)
TYPE
  ItemToolBar8Array = ARRAY[0..2] OF ITEM;
VAR
     itemToolBar8 : ItemToolBar8Array;

(* Read \ Write Registry Data                                                  *)
TYPE
  ItemToolBar9Array = ARRAY[0..1] OF ITEM;
VAR
     itemToolBar9 : ItemToolBar9Array;

TYPE
  FldToolBarArray = ARRAY[0..9] OF FOLDER;
VAR
     fldToolBar : FldToolBarArray;
(*******************************************************************-          *)
(* ********** Tool Tip Control Messages **********                             *)
(*******************************************************************-          *)
(* Modify Tool List                                                            *)
TYPE
  ItemToolTip1Array = ARRAY[0..5] OF ITEM;
VAR
     itemToolTip1 : ItemToolTip1Array;

(* Query                                                                       *)
TYPE
  ItemToolTip2Array = ARRAY[0..6] OF ITEM;
VAR
     itemToolTip2 : ItemToolTip2Array;

(* Set Tooltip Window State                                                    *)
TYPE
  ItemToolTip3Array = ARRAY[0..2] OF ITEM;
VAR
     itemToolTip3 : ItemToolTip3Array;

(* Pass Mouse Message                                                          *)
TYPE
  ItemToolTip4Array = ARRAY[0..1] OF ITEM;
VAR
     itemToolTip4 : ItemToolTip4Array;

(* Support Subclassing of Tooltips                                             *)
TYPE
  ItemToolTip5Array = ARRAY[0..1] OF ITEM;
VAR
     itemToolTip5 : ItemToolTip5Array;

TYPE
  FldToolTipArray = ARRAY[0..5] OF FOLDER;
VAR
     fldToolTip : FldToolTipArray;
(*******************************************************************-          *)
(* ********** Track Bar Control Messages **********                            *)
(*******************************************************************-          *)
(* Trackbar Ticks                                                              *)
TYPE
  ItemTrackBar1Array = ARRAY[0..7] OF ITEM;
VAR
     itemTrackBar1 : ItemTrackBar1Array;

(* Line and Page Increments                                                    *)
TYPE
  ItemTrackBar2Array = ARRAY[0..4] OF ITEM;
VAR
     itemTrackBar2 : ItemTrackBar2Array;

(* Slider Position                                                             *)
TYPE
  ItemTrackBar3Array = ARRAY[0..2] OF ITEM;
VAR
     itemTrackBar3 : ItemTrackBar3Array;

(* Slider Range                                                                *)
TYPE
  ItemTrackBar4Array = ARRAY[0..5] OF ITEM;
VAR
     itemTrackBar4 : ItemTrackBar4Array;

(* Trackbar Selection                                                          *)
TYPE
  ItemTrackBar5Array = ARRAY[0..6] OF ITEM;
VAR
     itemTrackBar5 : ItemTrackBar5Array;

(* Trackbar Appearance                                                         *)
TYPE
  ItemTrackBar6Array = ARRAY[0..1] OF ITEM;
VAR
     itemTrackBar6 : ItemTrackBar6Array;

(* Slider (Thumb) Attributes                                                   *)
TYPE
  ItemTrackBar7Array = ARRAY[0..3] OF ITEM;
VAR
     itemTrackBar7 : ItemTrackBar7Array;

TYPE
  FldTrackBarArray = ARRAY[0..7] OF FOLDER;
VAR
     fldTrackBar : FldTrackBarArray;
(*******************************************************************-          *)
(* ********** Tree View Control Messages **********                            *)
(*******************************************************************-          *)
(* Modify List                                                                 *)
TYPE
  ItemTreeView1Array = ARRAY[0..5] OF ITEM;
VAR
     itemTreeView1 : ItemTreeView1Array;

(* Item Layout, Display, and Order                                             *)
TYPE
  ItemTreeView2Array = ARRAY[0..6] OF ITEM;
VAR
     itemTreeView2 : ItemTreeView2Array;

(* Query                                                                       *)
TYPE
  ItemTreeView3Array = ARRAY[0..5] OF ITEM;
VAR
     itemTreeView3 : ItemTreeView3Array;

(* Image List                                                                  *)
TYPE
  ItemTreeView4Array = ARRAY[0..3] OF ITEM;
VAR
     itemTreeView4 : ItemTreeView4Array;

(* In-Place Label Edit                                                         *)
TYPE
  ItemTreeView5Array = ARRAY[0..3] OF ITEM;
VAR
     itemTreeView5 : ItemTreeView5Array;

(* Enumerate Items                                                             *)
TYPE
  ItemTreeView6Array = ARRAY[0..11] OF ITEM;
VAR
     itemTreeView6 : ItemTreeView6Array;

(* Select Items                                                                *)
TYPE
  ItemTreeView7Array = ARRAY[0..4] OF ITEM;
VAR
     itemTreeView7 : ItemTreeView7Array;

TYPE
  FldTreeViewArray = ARRAY[0..7] OF FOLDER;
VAR
     fldTreeView : FldTreeViewArray;
(*******************************************************************-          *)
(* ********** Up\Down Control Messages **********                              *)
(*******************************************************************-          *)
TYPE
  ItemUpDownArray = ARRAY[0..10] OF ITEM;
VAR
     itemUpDown : ItemUpDownArray;

TYPE
  FldRootArray = ARRAY[0..14] OF FOLDER;
VAR
     fldRoot : FldRootArray;
VAR
  cRootFolders : INTEGER = SIZE(fldRoot) / SIZE(FOLDER);
END TreeData.