1 /* 2 3 MCC_Listtree (c) by kMel, Klaus Melchior 4 5 Registered class of the Magic User Interface. 6 7 Listtree_mcc.h 8 9 */ 10 11 12 /*** Include stuff ***/ 13 14 #ifndef LISTTREE_MCC_H 15 #define LISTTREE_MCC_H 16 17 #ifndef LIBRARIES_MUI_H 18 #include <libraries/mui.h> 19 #endif 20 21 #pragma pack(2) 22 23 24 /*** MUI Defines ***/ 25 26 #define MUIC_Listtree "Listtree.mcc" 27 #define ListtreeObject MUI_NewObject(MUIC_Listtree 28 29 30 31 /*** Methods ***/ 32 33 #define MUIM_Listtree_Close 0x8002001f 34 #define MUIM_Listtree_Exchange 0x80020008 35 #define MUIM_Listtree_FindName 0x8002003c 36 #define MUIM_Listtree_GetEntry 0x8002002b 37 #define MUIM_Listtree_GetNr 0x8002000e 38 #define MUIM_Listtree_Insert 0x80020011 39 #define MUIM_Listtree_Move 0x80020009 40 #define MUIM_Listtree_Open 0x8002001e 41 #define MUIM_Listtree_Remove 0x80020012 42 #define MUIM_Listtree_Rename 0x8002000c 43 #define MUIM_Listtree_SetDropMark 0x8002004c 44 #define MUIM_Listtree_Sort 0x80020029 45 #define MUIM_Listtree_TestPos 0x8002004b 46 47 /*** Method structs ***/ 48 49 struct MUIP_Listtree_Close { 50 ULONG MethodID; 51 APTR ListNode; 52 APTR TreeNode; 53 ULONG Flags; 54 }; 55 56 struct MUIP_Listtree_Exchange { 57 ULONG MethodID; 58 APTR ListNode1; 59 APTR TreeNode1; 60 APTR ListNode2; 61 APTR TreeNode2; 62 ULONG Flags; 63 }; 64 65 struct MUIP_Listtree_FindName { 66 ULONG MethodID; 67 APTR ListNode; 68 char *Name; 69 ULONG Flags; 70 }; 71 72 struct MUIP_Listtree_GetEntry { 73 ULONG MethodID; 74 APTR Node; 75 LONG Position; 76 ULONG Flags; 77 }; 78 79 struct MUIP_Listtree_GetNr { 80 ULONG MethodID; 81 APTR TreeNode; 82 ULONG Flags; 83 }; 84 85 struct MUIP_Listtree_Insert { 86 ULONG MethodID; 87 char *Name; 88 APTR User; 89 APTR ListNode; 90 APTR PrevNode; 91 ULONG Flags; 92 }; 93 94 struct MUIP_Listtree_Move { 95 ULONG MethodID; 96 APTR OldListNode; 97 APTR OldTreeNode; 98 APTR NewListNode; 99 APTR NewTreeNode; 100 ULONG Flags; 101 }; 102 103 struct MUIP_Listtree_Open { 104 ULONG MethodID; 105 APTR ListNode; 106 APTR TreeNode; 107 ULONG Flags; 108 }; 109 110 struct MUIP_Listtree_Remove { 111 ULONG MethodID; 112 APTR ListNode; 113 APTR TreeNode; 114 ULONG Flags; 115 }; 116 117 struct MUIP_Listtree_Rename { 118 ULONG MethodID; 119 APTR TreeNode; 120 char *NewName; 121 ULONG Flags; 122 }; 123 124 struct MUIP_Listtree_SetDropMark { 125 ULONG MethodID; 126 LONG Entry; 127 ULONG Values; 128 }; 129 130 struct MUIP_Listtree_Sort { 131 ULONG MethodID; 132 APTR ListNode; 133 ULONG Flags; 134 }; 135 136 struct MUIP_Listtree_TestPos { 137 ULONG MethodID; 138 LONG X; 139 LONG Y; 140 APTR Result; 141 }; 142 143 144 /*** Special method values ***/ 145 146 #define MUIV_Listtree_Close_ListNode_Root 0 147 #define MUIV_Listtree_Close_ListNode_Parent -1 148 #define MUIV_Listtree_Close_ListNode_Active -2 149 150 #define MUIV_Listtree_Close_TreeNode_Head 0 151 #define MUIV_Listtree_Close_TreeNode_Tail -1 152 #define MUIV_Listtree_Close_TreeNode_Active -2 153 #define MUIV_Listtree_Close_TreeNode_All -3 154 155 #define MUIV_Listtree_Exchange_ListNode1_Root 0 156 #define MUIV_Listtree_Exchange_ListNode1_Active -2 157 158 #define MUIV_Listtree_Exchange_TreeNode1_Head 0 159 #define MUIV_Listtree_Exchange_TreeNode1_Tail -1 160 #define MUIV_Listtree_Exchange_TreeNode1_Active -2 161 162 #define MUIV_Listtree_Exchange_ListNode2_Root 0 163 #define MUIV_Listtree_Exchange_ListNode2_Active -2 164 165 #define MUIV_Listtree_Exchange_TreeNode2_Head 0 166 #define MUIV_Listtree_Exchange_TreeNode2_Tail -1 167 #define MUIV_Listtree_Exchange_TreeNode2_Active -2 168 #define MUIV_Listtree_Exchange_TreeNode2_Up -5 169 #define MUIV_Listtree_Exchange_TreeNode2_Down -6 170 171 #define MUIV_Listtree_FindName_ListNode_Root 0 172 #define MUIV_Listtree_FindName_ListNode_Active -2 173 174 #define MUIV_Listtree_GetEntry_ListNode_Root 0 175 #define MUIV_Listtree_GetEntry_ListNode_Active -2 176 177 #define MUIV_Listtree_GetEntry_Position_Head 0 178 #define MUIV_Listtree_GetEntry_Position_Tail -1 179 #define MUIV_Listtree_GetEntry_Position_Active -2 180 #define MUIV_Listtree_GetEntry_Position_Next -3 181 #define MUIV_Listtree_GetEntry_Position_Previous -4 182 #define MUIV_Listtree_GetEntry_Position_Parent -5 183 184 #define MUIV_Listtree_GetNr_TreeNode_Active -2 185 186 #define MUIV_Listtree_Insert_ListNode_Root 0 187 #define MUIV_Listtree_Insert_ListNode_Active -2 188 189 #define MUIV_Listtree_Insert_PrevNode_Head 0 190 #define MUIV_Listtree_Insert_PrevNode_Tail -1 191 #define MUIV_Listtree_Insert_PrevNode_Active -2 192 #define MUIV_Listtree_Insert_PrevNode_Sorted -4 193 194 #define MUIV_Listtree_Move_OldListNode_Root 0 195 #define MUIV_Listtree_Move_OldListNode_Active -2 196 197 #define MUIV_Listtree_Move_OldTreeNode_Head 0 198 #define MUIV_Listtree_Move_OldTreeNode_Tail -1 199 #define MUIV_Listtree_Move_OldTreeNode_Active -2 200 201 #define MUIV_Listtree_Move_NewListNode_Root 0 202 #define MUIV_Listtree_Move_NewListNode_Active -2 203 204 #define MUIV_Listtree_Move_NewTreeNode_Head 0 205 #define MUIV_Listtree_Move_NewTreeNode_Tail -1 206 #define MUIV_Listtree_Move_NewTreeNode_Active -2 207 #define MUIV_Listtree_Move_NewTreeNode_Sorted -4 208 209 #define MUIV_Listtree_Open_ListNode_Root 0 210 #define MUIV_Listtree_Open_ListNode_Parent -1 211 #define MUIV_Listtree_Open_ListNode_Active -2 212 #define MUIV_Listtree_Open_TreeNode_Head 0 213 #define MUIV_Listtree_Open_TreeNode_Tail -1 214 #define MUIV_Listtree_Open_TreeNode_Active -2 215 #define MUIV_Listtree_Open_TreeNode_All -3 216 217 #define MUIV_Listtree_Remove_ListNode_Root 0 218 #define MUIV_Listtree_Remove_ListNode_Active -2 219 #define MUIV_Listtree_Remove_TreeNode_Head 0 220 #define MUIV_Listtree_Remove_TreeNode_Tail -1 221 #define MUIV_Listtree_Remove_TreeNode_Active -2 222 #define MUIV_Listtree_Remove_TreeNode_All -3 223 224 #define MUIV_Listtree_Rename_TreeNode_Active -2 225 226 #define MUIV_Listtree_SetDropMark_Entry_None -1 227 228 #define MUIV_Listtree_SetDropMark_Values_None 0 229 #define MUIV_Listtree_SetDropMark_Values_Above 1 230 #define MUIV_Listtree_SetDropMark_Values_Below 2 231 #define MUIV_Listtree_SetDropMark_Values_Onto 3 232 #define MUIV_Listtree_SetDropMark_Values_Sorted 4 233 234 #define MUIV_Listtree_Sort_ListNode_Root 0 235 #define MUIV_Listtree_Sort_ListNode_Active -2 236 237 #define MUIV_Listtree_TestPos_Result_Flags_None 0 238 #define MUIV_Listtree_TestPos_Result_Flags_Above 1 239 #define MUIV_Listtree_TestPos_Result_Flags_Below 2 240 #define MUIV_Listtree_TestPos_Result_Flags_Onto 3 241 #define MUIV_Listtree_TestPos_Result_Flags_Sorted 4 242 243 244 /*** Special method flags ***/ 245 246 #define MUIV_Listtree_Close_Flags_Nr (1<<15) 247 #define MUIV_Listtree_Close_Flags_Visible (1<<14) 248 249 #define MUIV_Listtree_FindName_Flags_SameLevel (1<<15) 250 #define MUIV_Listtree_FindName_Flags_Visible (1<<14) 251 252 #define MUIV_Listtree_GetEntry_Flags_SameLevel (1<<15) 253 #define MUIV_Listtree_GetEntry_Flags_Visible (1<<14) 254 255 #define MUIV_Listtree_GetNr_Flags_ListEmpty (1<<12) 256 #define MUIV_Listtree_GetNr_Flags_CountList (1<<13) 257 #define MUIV_Listtree_GetNr_Flags_CountLevel (1<<14) 258 #define MUIV_Listtree_GetNr_Flags_CountAll (1<<15) 259 260 #define MUIV_Listtree_Insert_Flags_Nr (1<<15) 261 #define MUIV_Listtree_Insert_Flags_Visible (1<<14) 262 #define MUIV_Listtree_Insert_Flags_Active (1<<13) 263 #define MUIV_Listtree_Insert_Flags_NextNode (1<<12) 264 265 #define MUIV_Listtree_Move_Flags_Nr (1<<15) 266 #define MUIV_Listtree_Move_Flags_Visible (1<<14) 267 268 #define MUIV_Listtree_Open_Flags_Nr (1<<15) 269 #define MUIV_Listtree_Open_Flags_Visible (1<<14) 270 271 #define MUIV_Listtree_Remove_Flags_Nr (1<<15) 272 #define MUIV_Listtree_Remove_Flags_Visible (1<<14) 273 274 #define MUIV_Listtree_Rename_Flags_User (1<<8) 275 #define MUIV_Listtree_Rename_Flags_NoRefresh (1<<9) 276 277 #define MUIV_Listtree_Sort_Flags_Nr (1<<15) 278 #define MUIV_Listtree_Sort_Flags_Visible (1<<14) 279 280 281 282 /*** Attributes ***/ 283 284 #define MUIA_Listtree_Active 0x80020020 285 #define MUIA_Listtree_CloseHook 0x80020033 286 #define MUIA_Listtree_ConstructHook 0x80020016 287 #define MUIA_Listtree_DestructHook 0x80020017 288 #define MUIA_Listtree_DisplayHook 0x80020018 289 #define MUIA_Listtree_DoubleClick 0x8002000d 290 #define MUIA_Listtree_DragDropSort 0x80020031 291 #define MUIA_Listtree_DuplicateNodeName 0x8002003d 292 #define MUIA_Listtree_EmptyNodes 0x80020030 293 #define MUIA_Listtree_Format 0x80020014 294 #define MUIA_Listtree_MultiSelect 0x800200c3 295 #define MUIA_Listtree_NList 0x800200c4 296 #define MUIA_Listtree_OpenHook 0x80020032 297 #define MUIA_Listtree_Quiet 0x8002000a 298 #define MUIA_Listtree_SortHook 0x80020010 299 #define MUIA_Listtree_Title 0x80020015 300 #define MUIA_Listtree_TreeColumn 0x80020013 301 302 /*** Special attribute values ***/ 303 304 #define MUIV_Listtree_Active_Off 0 305 306 #define MUIV_Listtree_ConstructHook_String -1 307 308 #define MUIV_Listtree_DestructHook_String -1 309 310 #define MUIV_Listtree_DisplayHook_Default -1 311 312 #define MUIV_Listtree_DoubleClick_Off -1 313 #define MUIV_Listtree_DoubleClick_All -2 314 #define MUIV_Listtree_DoubleClick_Tree -3 315 316 #define MUIV_Listtree_SortHook_Head 0 317 #define MUIV_Listtree_SortHook_Tail -1 318 #define MUIV_Listtree_SortHook_LeavesTop -2 319 #define MUIV_Listtree_SortHook_LeavesMixed -3 320 #define MUIV_Listtree_SortHook_LeavesBottom -4 321 322 323 324 /*** Structures, Flags & Values ***/ 325 326 struct MUIS_Listtree_TreeNode { 327 LONG tn_Private1; 328 LONG tn_Private2; 329 char *tn_Name; 330 UWORD tn_Flags; 331 APTR tn_User; 332 }; 333 334 struct MUIS_Listtree_TestPos_Result { 335 APTR tpr_TreeNode; 336 UWORD tpr_Flags; 337 LONG tpr_ListEntry; 338 UWORD tpr_ListFlags; 339 }; 340 341 342 #define TNF_OPEN (1<<00) 343 #define TNF_LIST (1<<01) 344 #define TNF_FROZEN (1<<02) 345 #define TNF_NOSIGN (1<<03) 346 347 348 349 350 /*** Configs ***/ 351 352 353 #pragma pack() 354 355 #endif /* LISTTREE_MCC_H */ 356 357 /* PrMake.rexx 0.10 (16.2.1996) Copyright 1995 kmel, Klaus Melchior */ 358