4 NList.mcc/MUIA_NList_Active
5 NList.mcc/MUIA_NList_ActiveObjectOnClick
6 NList.mcc/MUIA_NList_AdjustHeight
7 NList.mcc/MUIA_NList_AdjustWidth
8 NList.mcc/MUIA_NList_AutoCopyToClip
9 NList.mcc/MUIA_NList_AutoVisible
10 NList.mcc/MUIA_NList_ButtonClick
11 NList.mcc/MUIA_NList_ClickColumn
12 NList.mcc/MUIA_NList_Columns
13 NList.mcc/MUIA_NList_CompareHook
14 NList.mcc/MUIA_NList_CompareHook2
15 NList.mcc/MUIA_NList_ConstructHook
16 NList.mcc/MUIA_NList_ConstructHook2
17 NList.mcc/MUIA_NList_CopyColumnToClipHook
18 NList.mcc/MUIA_NList_CopyColumnToClipHook2
19 NList.mcc/MUIA_NList_CopyEntryToClipHook
20 NList.mcc/MUIA_NList_CopyEntryToClipHook2
21 NList.mcc/MUIA_NList_DefaultObjectOnClick
22 NList.mcc/MUIA_NList_DefClickColumn
23 NList.mcc/MUIA_NList_DestructHook
24 NList.mcc/MUIA_NList_DestructHook2
25 NList.mcc/MUIA_NList_DisplayHook
26 NList.mcc/MUIA_NList_DisplayHook2
27 NList.mcc/MUIA_NList_DisplayRecall
28 NList.mcc/MUIA_NList_DoubleClick
29 NList.mcc/MUIA_NList_DragColOnly
30 NList.mcc/MUIA_NList_DragSortable
31 NList.mcc/MUIA_NList_DragSortInsert
32 NList.mcc/MUIA_NList_DragType
33 NList.mcc/MUIA_NList_DropMark
34 NList.mcc/MUIA_NList_DropType
35 NList.mcc/MUIA_NList_Entries
36 NList.mcc/MUIA_NList_EntryClick
37 NList.mcc/MUIA_NList_EntryValueDependent
38 NList.mcc/MUIA_NList_Exports
39 NList.mcc/MUIA_NList_First
40 NList.mcc/MUIA_NList_ForcePen
41 NList.mcc/MUIA_NList_Format
42 NList.mcc/MUIA_NList_Horiz_DeltaFactor
43 NList.mcc/MUIA_NList_Horiz_Entries
44 NList.mcc/MUIA_NList_Horiz_First
45 NList.mcc/MUIA_NList_Horiz_Visible
46 NList.mcc/MUIA_NList_IgnoreSpecialChars
47 NList.mcc/MUIA_NList_Imports
48 NList.mcc/MUIA_NList_Input
49 NList.mcc/MUIA_NList_InsertPosition
50 NList.mcc/MUIA_NList_KeepActive
51 NList.mcc/MUIA_NList_KeyUpFocus
52 NList.mcc/MUIA_NList_KeyDownFocus
53 NList.mcc/MUIA_NList_KeyLeftFocus
54 NList.mcc/MUIA_NList_KeyRightFocus
55 NList.mcc/MUIA_NList_LineHeight
56 NList.mcc/MUIA_NList_MakeActive
57 NList.mcc/MUIA_NList_MinColSortable
58 NList.mcc/MUIA_NList_MinLineHeight
59 NList.mcc/MUIA_NList_MultiClick
60 NList.mcc/MUIA_NList_MultiClickAlone
61 NList.mcc/MUIA_NList_MultiSelect
62 NList.mcc/MUIA_NList_MultiTestHook
63 NList.mcc/MUIA_NList_Pool
64 NList.mcc/MUIA_NList_PoolPuddleSize
65 NList.mcc/MUIA_NList_PoolThreshSize
66 NList.mcc/MUIA_NList_PrivateData
67 NList.mcc/MUIA_NList_Prop_DeltaFactor
68 NList.mcc/MUIA_NList_Prop_Entries
69 NList.mcc/MUIA_NList_Prop_First
70 NList.mcc/MUIA_NList_Prop_Visible
71 NList.mcc/MUIA_NList_Quiet
72 NList.mcc/MUIA_NList_SelectChange
73 NList.mcc/MUIA_NList_ShowDropMarks
74 NList.mcc/MUIA_NList_SkipChars
75 NList.mcc/MUIA_NList_SortType
76 NList.mcc/MUIA_NList_SortType2
77 NList.mcc/MUIA_NList_SourceArray
78 NList.mcc/MUIA_NList_SourceInsert
79 NList.mcc/MUIA_NList_SourceString
80 NList.mcc/MUIA_NList_TabSize
81 NList.mcc/MUIA_NList_Title
82 NList.mcc/MUIA_NList_TitleClick
83 NList.mcc/MUIA_NList_TitleClick2
84 NList.mcc/MUIA_NList_TitleMark
85 NList.mcc/MUIA_NList_TitleMark2
86 NList.mcc/MUIA_NList_TitleSeparator
87 NList.mcc/MUIA_NList_TypeSelect
88 NList.mcc/MUIA_NList_Visible
89 NList.mcc/MUIA_NList_XXXBackground
90 NList.mcc/MUIA_NList_XXXPen
91 NList.mcc/MUIM_NList_Clear
92 NList.mcc/MUIM_NList_ColWidth
93 NList.mcc/MUIM_NList_ColToColumn
94 NList.mcc/MUIM_NList_ColumnToCol
95 NList.mcc/MUIM_NList_Compare
96 NList.mcc/MUIM_NList_Construct
97 NList.mcc/MUIM_NList_ContextMenuBuild
98 NList.mcc/MUIM_NList_CopyTo
99 NList.mcc/MUIM_NList_CopyToClip
100 NList.mcc/MUIM_NList_CreateImage
101 NList.mcc/MUIM_NList_DeleteImage
102 NList.mcc/MUIM_NList_Destruct
103 NList.mcc/MUIM_NList_Display
104 NList.mcc/MUIM_NList_DoMethod
105 NList.mcc/MUIM_NList_DropDraw
106 NList.mcc/MUIM_NList_DropEntryDrawErase
107 NList.mcc/MUIM_NList_DropType
108 NList.mcc/MUIM_NList_Exchange
109 NList.mcc/MUIM_NList_GetEntry
110 NList.mcc/MUIM_NList_GetEntryInfo
111 NList.mcc/MUIM_NList_GetPos
112 NList.mcc/MUIM_NList_GetSelectInfo
113 NList.mcc/MUIM_NList_Insert
114 NList.mcc/MUIM_NList_InsertSingle
115 NList.mcc/MUIM_NList_InsertSingleWrap
116 NList.mcc/MUIM_NList_InsertWrap
117 NList.mcc/MUIM_NList_Jump
118 NList.mcc/MUIM_NList_Move
119 NList.mcc/MUIM_NList_NextSelected
120 NList.mcc/MUIM_NList_PrevSelected
121 NList.mcc/MUIM_NList_Redraw
122 NList.mcc/MUIM_NList_RedrawEntry
123 NList.mcc/MUIM_NList_Remove
124 NList.mcc/MUIM_NList_ReplaceSingle
125 NList.mcc/MUIM_NList_Select
126 NList.mcc/MUIM_NList_SelectChange
127 NList.mcc/MUIM_NList_SetActive
128 NList.mcc/MUIM_NList_SetColumnCol
129 NList.mcc/MUIM_NList_Sort
130 NList.mcc/MUIM_NList_Sort2
131 NList.mcc/MUIM_NList_Sort3
132 NList.mcc/MUIM_NList_TestPos
133 NList.mcc/MUIM_NList_UseImage
134 \fNList.mcc/NList.mcc
136 *******************************************************************
137 Copyright (C) 2001-2014 NList Open Source Team
140 This MCC public custom class is very similar to the MUI's list
143 It handles directly most attributes which are handled by Listview
144 in the original couple List/Listview.
146 The NListview exist anyway to provide a complete object with
147 scrollbars, so you should use it as child of NListview. Anyway,
148 you can use NList without NListview if you don't want any builtin
151 NOTE: NList class will not work with Listview without some
152 conflicts, and NListview class can't use List as child but
153 only NList or a NList subclass.
155 MUIM_NList_TestPos and MUIM_List_TestPos are similar
156 but use a different struct to store data.
157 MUIM_List_TestPos works like with a List object.
159 NOTE: Avoid as possible to do many things in MUIM_Show and
160 MUIM_Hide methods because when an object is in
161 a virtual group, your object will receive them
162 for each one of its moves !!!
165 Standard tags with NList special values :
167 MUIA_Background has the same meaning than
168 MUIA_NList_ListBackground
171 MUIA_Font is settable only at init.
172 MUIV_NList_Font, MUIV_NList_Font_Little
173 and MUIV_NList_Font_Fixed are special
174 values usable for it (settable in prefs)
175 but standard values are usable too.
177 MUIA_Frame you can override the defaults frames
178 of the classe by setting it, but it will
179 be overrided again by defaults if a
180 set(obj,MUIA_NList_Input,bool) is made after.
181 if MUIA_NList_Input is TRUE then the
182 default is MUIV_Frame_InputList, if FALSE
183 it's MUIV_Frame_ReadList.
186 MUIM_ContextMenuBuild
187 MUIM_ContextMenuChoice
188 read MUIM_NList_ContextMenuBuild.
191 The gadget was originally written in 1996 by Gilles Masson. In 2001
192 it was released under the LGPL license and is now maintained by a
193 free Open Source Team.
195 It is released and distributed under the terms of the GNU Lesser
196 General Public License (LGPL) and available free of charge.
198 Please visit http://www.sf.net/projects/nlist-classes/ for
199 the very latest version and information regarding NList
200 *******************************************************************
202 \fNList.mcc/MUIA_NList_Active
205 MUIA_NList_Active -- [ISGN], LONG
208 MUIV_NList_Active_Off
209 MUIV_NList_Active_Top
210 MUIV_NList_Active_Bottom
212 MUIV_NList_Active_Down
213 MUIV_NList_Active_PageUp
214 MUIV_NList_Active_PageDown
217 Same function as List.mui/MUIA_List_Active.
220 MUIA_NList_Entries, MUIA_NList_First, MUIA_NList_Visible
221 \fNList.mcc/MUIA_NList_ActiveObjectOnClick
224 MUIA_NList_ActiveObjectOnClick -- [ISG], BOOL
227 If set to TRUE, the NList object will become the
228 MUIA_Window_ActiveObject of its window when you
229 click on it. In addition, the active selected entries
230 will switch an inactive color (e.g. grey) in case the
231 NList object isn't currently active. As soon as the
232 object is active it will then also receive all user
239 MUIA_NList_DefaultObjectOnClick
240 MUIA_NList_KeepActive
241 MUIA_NList_MakeActive
242 \fNList.mcc/MUIA_NList_AdjustHeight
245 MUIA_NList_AdjustHeight -- [I..], BOOL
248 Same function as List.mui/MUIA_List_AdjustHeight.
250 Will adjust the nlist height if the nlist object is in a virtual
251 group or if MUIA_NList_SourceInsert, MUIA_NList_SourceString,
252 MUIA_NList_SourceArray or MUIA_List_SourceArray was used.
254 When the object is in a virtual group, a re-layout of this one
255 will be forced when the entries number of the NList object change,
256 so all entries should always be visible.
262 MUIA_List_AdjustHeight, MUIA_NList_AdjustWidth
263 \fNList.mcc/MUIA_NList_AdjustWidth
266 MUIA_NList_AdjustWidth -- [I..], BOOL
269 Same function as List.mui/MUIA_List_AdjustWidth.
271 Will adjust the nlist width if the nlist object is in a virtual
272 group or if MUIA_NList_SourceInsert, MUIA_NList_SourceString,
273 MUIA_NList_SourceArray or MUIA_List_SourceArray was used.
279 MUIA_List_AdjustWidth, MUIA_NList_AdjustHeight
281 \fNList.mcc/MUIA_NList_AutoClip
284 MUIA_NList_AutoClip -- [ISG], BOOL
287 If set to TRUE and the NList object is in read-only (NoInput) mode and
288 is set to select char-wide rather than by line, the selected content is
289 immediately copied to the clipboard as soon as it is selected via the
296 Please note that due to historical reasons this feature is turned
297 on per default. However, due to violating the Amiga style guides, new
298 or revised applications are adviced to disable auto clipping as
299 manually performing the copy operation should be the preferred method.
303 MUIA_NList_TypeSelect
304 MUIA_NList_AutoCopyToClip
305 MUIA_NList_CopyColumnToClipHook
306 MUIA_NList_CopyEntryToClipHook
307 MUIM_NList_CopyToClip
308 \fNList.mcc/MUIA_NList_AutoCopyToClip
311 MUIA_NList_AutoCopyToClip -- [IS.], BOOL
314 If set to TRUE you can copy the selected area to the
315 clipboard 0 with Amiga-C and Amiga-X (Amiga-X because
316 i have seen that sometimes Amiga-C is a shortcut !).
317 (works with both Right-Amiga and Left-Amiga keys)
319 MUIA_NList_AutoCopyToClip == TRUE also requires that the NList object
320 is either the window's active object (see MUIA_Window_ActiveObject) or
321 the attached list object is window's default object (see
322 MUIA_Window_DefaultObject). Otherwise nothing will ever be copied!
329 MUIA_NList_CopyColumnToClipHook
330 MUIA_NList_CopyEntryToClipHook
331 MUIM_NList_CopyToClip
332 \fNList.mcc/MUIA_NList_AutoVisible
335 MUIA_NList_AutoVisible -- [ISG], BOOL
338 Same function as List.mui/MUIA_List_AutoVisible.
340 Seting this to TRUE, the NList object will automatically and
341 always jump to show the active entry.
347 MUIA_List_AutoVisible, MUIA_NList_Active
348 \fNList.mcc/MUIA_NList_ButtonClick
351 MUIA_NList_ButtonClick -- [..GN], LONG
354 You'll get a notify on it each time the user
355 clicks one of the buttons made by ESC O[...@<n>] or ESC o[...@<n>].
357 The returned value is the <n> of the clicked image/object.
358 (see MUIA_NList_DisplayHook for more).
360 If you get that value later, it will still be <n> of the latest
361 image/object clicked that you'll get.
364 MUIA_NList_DisplayHook, MUIA_NList_DoubleClick, MUIA_NList_MultiClick,
365 MUIA_NList_EntryClick, MUIA_NList_TitleClick
366 \fNList.mcc/MUIA_NList_ClickColumn
369 MUIA_NList_ClickColumn -- [..G], LONG
372 Same function as Listview.mui/MUIA_Listview_ClickColumn.
375 MUIA_Listview_ClickColumn, MUIA_NList_DefClickColumn
376 \fNList.mcc/MUIA_NList_Columns
379 MUIA_NList_Columns -- [ISGN], BYTE *
382 With this tag you can set/get the visible order of columns (as if changed
383 by the user). It work for all columns in one time (use MUIM_NList_SetColumnCol
384 if you want to exchange 2 columns).
386 The value is a pointer on an BYTE array, each byte is for a column
387 (in the visible order) and have the value of the display hook col
388 which have to be displayed in it.
390 The array must be ended with a -1 value.
393 The returned array is always the same : it's its contents which change.
395 You can set your own array or modify the returned one and set it, both
398 In future it will be possible to have <-1 values for hidden columns
399 (it's not yet implemented but you should skip those values).
402 MUIM_NList_SetColumnCol, MUIM_NList_ColToColumn, MUIM_NList_ColumnToCol
403 \fNList.mcc/MUIA_NList_CompareHook
406 MUIA_NList_CompareHook -- [IS.], struct Hook *
409 Same function as List.mui/MUIA_List_CompareHook.
412 MUIA_NList_ConstructHook, MUIA_NList_DestructHook
413 \fNList.mcc/MUIA_NList_CompareHook2
416 MUIA_NList_CompareHook2 -- [IS.], struct Hook *
419 Same function as MUIA_NList_CompareHook but A2 will be the object
420 and A1 a NList_CompareMessage struct pointer.
423 See NList-Demo program.
426 MUIA_NList_CompareHook
427 \fNList.mcc/MUIA_NList_ConstructHook
430 MUIA_NList_ConstructHook -- [IS.], struct Hook *
433 Same function as List.mui/MUIA_List_ConstructHook.
435 Think to finish lines entries on a \0 , \n and \r.
436 The list will not display anything which come after
437 a \n , \r or \0, so finish lines entries on a \0, \r
438 and \n if you dont want to waste memory.
441 MUIV_NList_ConstructHook_String
443 It's a builtin hook that copy a string entry.
444 (so original string can be trash after)
445 you must set MUIV_NList_DestructHook_String
449 MUIA_NList_DestructHook, MUIA_NList_DisplayHook
450 \fNList.mcc/MUIA_NList_ConstructHook2
453 MUIA_NList_ConstructHook2 -- [IS.], struct Hook *
456 Same function as MUIA_NList_ConstructHook but A2 will be the object
457 and A1 a NList_ConstructMessage struct pointer.
460 MUIA_NList_ConstructHook
461 \fNList.mcc/MUIA_NList_CopyColumnToClipHook
464 MUIA_NList_CopyColumnToClipHook -- [IS.], struct Hook *
467 This hook will be called while a MUIM_NList_CopyToClip
468 for each column string. You'll certainly get in entry
469 a string given by your own MUIA_NList_DisplayHook/2, so
470 you must not use the same buffer for both !
472 You'll get the entry num in -1 element of the given array,
473 elements 1 and 2 are the positions of the first selected
476 You must return the pointer of the string to copy to
477 clipboard in element 0, a the string length in element 1.
479 The builtin hook skip all ESC chars plus their next char
480 (and [...] for ESC-P, ESC-I, ESC-O and ESC-o), and add a
481 tab char between columns.
484 MUIM_NList_CopyToClip, MUIA_NList_CopyEntryToClipHook,
485 MUIA_NList_DisplayHook
486 \fNList.mcc/MUIA_NList_CopyColumnToClipHook2
489 MUIA_NList_CopyColumnToClipHook2 -- [IS.], struct Hook *
492 Same function as MUIA_NList_CopyColumnToClipHook but A2 will be the object
493 and A1 a NList_CopyColumnToClipMessage struct pointer.
496 MUIA_NList_CopyColumnToClipHook
497 \fNList.mcc/MUIA_NList_CopyEntryToClipHook
500 MUIA_NList_CopyEntryToClipHook -- [IS.], struct Hook *
503 This work near like MUIA_NList_DisplayHook, execpt
504 that it is not called when the NList object want to
505 display its lines but when it want to copy them
506 to clipboard (or other). See MUIM_NList_CopyToClip.
508 You can return only one string pointer (only one
509 column for copy), as element 0 of the array.
511 The -1 element is the entry number only when
512 you don't give a entry pointer to NList_CopyToClip method,
515 Elements 1,2,3 and 4 of the given array are first column/pos
516 and last column/pos which are selected.
517 Elements 5 and 6 are 2, 1 or 0 when the 1th and 3rd pos are
518 in the format preparse string, the special entry preparse string
519 or in the normal string for that entry/columns.
521 For column, -1 is the first and -2 the last, else it's its number.
522 This is the number of displayed columns and not the corresponding
523 entry in the array return by DisplayHook. Anyway, positions are
524 calculated from strings returned by DisplayHook.
526 For pos, -1 is left of column and -2 its end. The last pos should
529 You should use MUIA_NList_CopyColumnToClipHook unless you don't
530 want to be copied what is seen in the list.
533 MUIM_NList_CopyToClip, MUIA_NList_CopyColumnToClipHook,
534 MUIA_NList_DisplayHook
535 \fNList.mcc/MUIA_NList_CopyEntryToClipHook2
538 MUIA_NList_CopyEntryToClipHook2 -- [IS.], struct Hook *
541 Same function as MUIA_NList_CopyEntryToClipHook but A2 will be the object
542 and A1 a NList_CopyEntryToClipMessage struct pointer.
545 MUIA_NList_CopyEntryToClipHook
546 \fNList.mcc/MUIA_NList_DefaultObjectOnClick
549 MUIA_NList_DefaultObjectOnClick -- [ISG], BOOL
552 If set to TRUE, the NList object will become the
553 MUIA_Window_DefaultObject of its window when you
554 click on it, so the user will be able to control
555 the list with keys. The MUIA_Window_ActiveObject
556 will be set to None, unless the current active
557 object is the NList one itself or if it's the
558 MUIA_NList_KeepActive one.
560 There is a special meaning if you use both
561 DefaultObjectOnClick and MUIA_NList_MakeActive.
562 (see MUIA_NList_MakeActive)
568 MUIA_NList_KeepActive,MUIA_NList_MakeActive
569 \fNList.mcc/MUIA_NList_DefClickColumn
572 MUIA_NList_DefClickColumn -- [ISG], LONG
575 Same function as Listview.mui/MUIA_Listview_DefClickColumn.
578 MUIA_Listview_DefClickColumn, MUIA_NList_ClickColumn
579 \fNList.mcc/MUIA_NList_DestructHook
582 MUIA_NList_DestructHook -- [IS.], struct Hook *
585 Same function as List.mui/MUIA_List_DestructHook.
588 MUIV_NList_DestructHook_String
590 It's a builtin hook that free the string entry
591 previously allocated and copied by
592 the MUIV_NList_ConstructHook_String builtin hook.
595 MUIA_NList_ConstructHook, MUIA_NList_DisplayHook
596 \fNList.mcc/MUIA_NList_DestructHook2
599 MUIA_NList_DestructHook2 -- [IS.], struct Hook *
602 Same function as MUIA_NList_DestructHook but A2 will be the object
603 and A1 a NList_DestructMessage struct pointer.
606 MUIA_NList_DestructHook
607 \fNList.mcc/MUIA_NList_DisplayHook
610 MUIA_NList_DisplayHook -- [IS.], struct Hook *
613 Same function as List.mui/MUIA_List_DisplayHook.
615 Do not modify the buffers you return in the hook anywhere
616 else than in the hook when called by NList.
617 (if you do so you MUST set MUIA_NList_DisplayRecall)
620 You should return the same thing if its called another
621 time with the same inputs !
622 The hook will be called with a pointer to the
623 entry to be displayed in A1 and a pointer to
624 a string array containing as many entries as
625 your list may have cols in A2.
626 You must fill this array with the strings that
628 The array is DISPLAY_ARRAY_MAX*2 large.
629 In the DISPLAY_ARRAY_MAX+col element you can set a
630 preparse string for the corresponding col element.
631 Using it you'll be able to avoid copying the string in
632 a buffer to add something in the beginning of the col
635 The display hook also gets the position of the current entry
636 as additional parameter. It is stored in the longword
637 preceding the col array (don't forget it's a LONG).
638 (setting that LONG value to -2 is another way to tell the object
639 to not consider the return string pointeur as valid next time
640 he will want to use it, and he will recall the hook).
642 When the hook function will be called to get the title strings,
643 you'll get NULL in A1, and -1 as position of current entry.
646 The hook function will be called each time a line (or a part of
647 it) need to be drawn (and when NList need to compute lenght of
651 Here are the escape sequence known by the parsing of NList :
652 (If you use C, ESC b can be written "\033b")
654 \t Tabulation. Go to the next tab boundary of the col.
655 tab positions are separated by 8 spaces by default.
656 ESC - Disable text engine, following chars will be printed
657 without further parsing.
658 ESC u Set the soft style to underline.
659 ESC b Set the soft style to bold.
660 ESC i Set the soft style to italic.
661 ESC n Set the soft style back to normal.
662 ESC <n> Use pen number n (2..9) as front pen. n must be a valid
663 DrawInfo pen as specified in "intuition/screens.h".
664 ESC c Center current line. only valid at the beginning.
665 ESC r Right justify current line. only valid at the beginning.
666 ESC l Left justify current line. only valid at the beginning.
668 These ones are new or modified :
670 ESC j Justify left and right current line. only at beginning.
671 ESC I[<s>] Draw MUI image with specification <s>.
672 See Image.mui/MUIA_Image_Spec for image spec definition.
673 ESC O[<p>] (ESC O[<s>|<width>|<height>,<minwidth>])
674 Draw the MUIM_NList_CreateImage at adress <p>.
675 (<p> should be an 8 hex digits number).
676 ESC o[<n>] (ESC o[<s>|<width>|<height>,<minwidth>])
677 Draw the MUIM_NList_UseImage number <n>. If the <n> UseImage
678 don't exist or has been set to NULL, no image is drawn.
679 ESC P[] Use default front pen.
680 ESC P[<n>] Use pen number <n>. (it's a direct pen number, so you must
681 make MUI_ObtainPen and MUI_ReleasePen for it yourself,
682 best to do it is in Setup() and Cleanup() of a subclass).
683 ESC T Draw horizontal line on top of the entry for the col.
684 ESC C Draw horizontal line centered in the entry for the col.
685 ESC B Draw horizontal line on bottom of the entry for the col.
686 ESC E Draw horizontal line centered in the entry for the col,
687 but only on the left and right of the line contents.
688 ESC t , ESC t[<n>] , ESC t[M<n>] , ESC t[I<n>]
689 Make the ESC C and ESC E horizontal line become thick and filled
691 default is MPEN_FILL.
692 [<n>] means than <n> is a direct pen color, like for ESC P[<n>]
693 [M<n>] means that <n> is MUI pen color number (MPEN_xxx ie 0..8)
694 [I<n>] means that <n> is Intuition dri pen number 0..11 (see
695 "intuition/screens.h")
696 ESC t[N], ESC t[N<n>], ESC t[NM<n>], ESC t[NI<n>]
697 Make the ESC T, ESC C,ESC B, ESC E become a single black line,
698 or not black when using a <n>, M<n> or I<n> pen color.
699 ('N' is for Not thick ;)
701 with ESC O[] and ESC o[], you can add [...@<n>] which will make the image/object
702 act as a relverify button. When this "button" is released NList will notify
703 MUIA_NList_ButtonClick with the value <n>.
705 with ESC I[], ESC O[] and ESC o[], you can add [...|<width>] or
706 [...|<width>|<height>] or [...|<width>|<height>,<minwidth>] or
707 [...,<minwidth>] where :
708 <width> will be the width in pixels of the image/object.
709 -1 means default image width unless <minwidth> is set.
710 0 means default image width.
711 <height> will be the height in pixels of the image/object.
712 -1 means default image height (entry height is max).
713 0 means entry height.
714 <minwidth> will be the min width in pixels before the next char/string/image.
715 when present, default height become entry height and
716 width become minwidth (if minwdith is bigger than image default
717 width), unless you set <width> and/or <height>.
718 <minwidth> <width> and <height> must be a decimal number (%ld).
721 MUIA_NList_Format, MUIA_Text_Contents, MUIA_List_DisplayHook,
722 MUIA_NList_DisplayRecall
723 \fNList.mcc/MUIA_NList_DisplayHook2
726 MUIA_NList_DisplayHook2 -- [IS.], struct Hook *
729 Same function as MUIA_NList_DisplayHook but A2 will be the object
730 and A1 a NList_DisplayMessage struct pointer.
733 MUIA_NList_DisplayHook
734 \fNList.mcc/MUIA_NList_DisplayRecall
737 MUIA_NList_DisplayRecall -- [.S.], BOOL
740 If for some unusual reason you modify one of the buffer that
741 your DisplayHook function usually return anywhere else than
742 in the DisplayHook function when called by the NList object,
743 you must set it to TRUE, so the object will know it.
746 MUIA_NList_DisplayHook
747 \fNList.mcc/MUIA_NList_DoubleClick
750 MUIA_NList_DoubleClick -- [..GN], LONG
753 You'll get a notify on it each time the user double
754 clicks on an entry in the list, or on the title.
756 The value is the entry number, which will be -1 when
759 You'll get a notify on it too when you press the 'return' key
760 and the NList object is active or default.
762 If you get() it, you'll get the last click position, which
763 can be -2 if it was on nothing (ie not entry or title).
765 For triple clicks and more, use MUIA_NList_MultiClick.
768 Disabled for the title when MUIA_NList_TitleClick is used.
771 MUIA_NList_MultiClick, MUIA_NList_TitleClick,
772 MUIA_NList_EntryClick, MUIM_NList_TestPos.
773 \fNList.mcc/MUIA_NList_DragColOnly
776 MUIA_NList_DragColOnly -- [ISG], LONG
779 When set to a col number (displayhook col number, not the visible
780 one), only the text of that col for the selected entry will
781 be dragged instead of the visible part of the entry.
783 Set it to -1 to come back to standard/default mode when you have
785 \fNList.mcc/MUIA_NList_DragSortable
788 MUIA_NList_DragSortable -- [ISG], BOOL
791 Same function as List.mui/MUIA_List_DragSortable.
793 DragType will be MUIV_NList_DragType_Default unless you set it.
795 No need for you to set MUIA_Dropable or MUIA_Draggable.
799 \fNList.mcc/MUIA_NList_DragSortInsert
802 MUIA_NList_DragSortInsert -- [..GN], BOOL
805 Same as MUIA_NList_InsertPosition but the notify is made only after
806 a MUIA_NList_DragSortable move.
807 \fNList.mcc/MUIA_NList_DragType
810 MUIA_NList_DragType -- [ISG], LONG
813 MUIV_NList_DragType_None no drag
814 MUIV_NList_DragType_Default as set in prefs.
815 MUIV_NList_DragType_Immediate drag on borders and with qualifier, and
816 immediate drag if non-multiselect mode.
817 MUIV_NList_DragType_Borders drag on borders and with qualifier.
818 MUIV_NList_DragType_Qualifier drag only using qualifier.
821 Same function as Listview.mui/MUIA_Listview_DragType.
823 If you want the user to be able to drag items out of
824 your list, you must set this.
825 Don't use MUIA_Draggable with NList or NListview.
826 \fNList.mcc/MUIA_NList_DropMark
829 MUIA_NList_DropMark -- [..G], LONG
832 Same function as List.mui/MUIA_List_DropMark.
834 After a successful drop operation, this attribute holds
835 the position where we should insert the new entry(ies).
838 MUIA_NList_DropType, MUIM_NList_DropType, MUIM_NList_DropDraw
839 \fNList.mcc/MUIA_NList_DropType
842 MUIA_NList_DropType -- [..G], LONG
845 Same function as MUIA_NList_DropMark but will return the
846 current DropMark type instead of the DropMark entry number.
848 After a successful drop operation, this attribute holds
849 the type of dropmark which where drawn.
852 MUIA_NList_DropMark, MUIM_NList_DropType, MUIM_NList_DropDraw
853 \fNList.mcc/MUIA_NList_Entries
856 MUIA_NList_Entries -- [..GN], LONG
859 Same function as List.mui/MUIA_List_Entries.
862 MUIA_NList_First, MUIA_NList_Visible, MUIA_NList_Active
863 \fNList.mcc/MUIA_NList_EntryClick
866 MUIA_NList_EntryClick -- [..GN], LONG
869 You'll get a notify on it each time the user click
870 on an entry in the list (on the title, use
871 MUIA_NList_TitleClick for that).
873 The value is the entry number.
875 You'll get a notify on it too when you press the 'return' key
876 and the NList object is active or default, but only if there
877 is no notify asked on MUIA_NList_DoubleClick.
879 If you get() it, you'll get the last click position, which
880 can be -1 when on title and -2 if it was on nothing.
883 MUIA_NList_MultiClick, MUIA_NList_TitleClick,
884 MUIA_NList_DoubleClick, MUIM_NList_TestPos.
885 \fNList.mcc/MUIA_NList_EntryValueDependent
888 MUIA_NList_EntryValueDependent -- [ISG], BOOL
891 If your display hook return different strings when the
892 entry num value change for a identical entry pointer
893 then you should set it.
899 MUIA_NList_DisplayHook
900 \fNList.mcc/MUIA_NList_Exports
903 MUIA_NList_Exports -- [ISG], LONG
906 Tell the NList object what parts of it's state will have to
907 be saved in MUIM_Export method (which is called by the
908 MUIM_Application_Save method if the object has a ObjectID).
911 MUIV_NList_Exports_Active save active entry number.
912 MUIV_NList_Exports_Selected save selected entries numbers.
913 MUIV_NList_Exports_First save first visible entry number.
914 MUIV_NList_Exports_ColWidth save widths of columns.
915 MUIV_NList_Exports_ColOrder save order of columns.
916 MUIV_NList_Exports_Cols save all about columns (width and order actually).
917 MUIV_NList_Exports_All
920 MUIV_NList_Exports_Selected can make a very long export (so a big program
921 .cfg file) if the list has many selected entries. It take one long int
922 (ie 4 bytes) for each selected entry...
924 Active and First are always exported by the MUIM_Export method,
925 having MUIV_NList_Exports_Active and MUIV_NList_Exports_First set or not.
928 (MUIV_NList_Exports_Active | MUIV_NList_Exports_First | MUIV_NList_Exports_Cols)
932 \fNList.mcc/MUIA_NList_First
935 MUIA_NList_First -- [ISGN], LONG
939 MUIV_NList_First_Bottom
941 MUIV_NList_First_Down
942 MUIV_NList_First_PageUp
943 MUIV_NList_First_PageDown
946 Get the number of the first visible entry.
947 You can set it to change the first entry you want to be visible.
950 MUIA_NList_Visible, MUIA_NList_Entries, MUIA_NList_Active
951 \fNList.mcc/MUIA_NList_ForcePen
954 MUIA_NList_ForcePen -- [ISG], LONG
957 MUIV_NList_ForcePen_On
958 MUIV_NList_ForcePen_Off
959 MUIV_NList_ForcePen_Default
962 Set the ForcePen mode, when on it force the 'selected pen' color
963 in all the selected area. Else the color is forced only at the
964 beginning of the area and can be changed by text escape sequences.
966 The default is set by the user in the pref .mcp class.
968 Getting in will give its current value.
969 \fNList.mcc/MUIA_NList_Format
972 MUIA_NList_Format -- [ISG], STRPTR
975 NList is able to handle multi column lists. To define
976 how many columns should be displayed and how they
977 should be formatted, you specify a format string.
979 This format string must contain one entry for each column
980 you want to see. Entries are seperated by commas, one
981 entry is parsed via dos.library/ReadArgs().
983 The template for a single entry looks like this:
985 DELTA=D/N,PREPARSE=P/K,COL=C/N,BAR/S,TBAR/S,NOBAR=NB/S,
986 SIMPLEBAR=SBAR/S,NOTITLEBUTTON=NOTB/S,
987 WEIGHT=W/N,MINWIDTH=MIW/N,MAXWIDTH=MAW/N,
988 COLWIDTH=CW/N,MINCOLWIDTH=MICW/N,MAXCOLWIDTH=MACW/N,
989 PIXWIDTH=PW/N,MINPIXWIDTH=MIPW/N,MAXPIXWIDTH=MAPW/N,
992 First ones are like (or nearly) MUIA_List_Format ones :
995 Space in pixel between this column and the next.
996 the last displayed column ignores this setting.
1000 A preparse string for this column.
1003 This value adjusts the col number of the current column.
1004 Defaults to current column number (0,1,...)
1005 You can't use identical COL values for 2 or more columns.
1008 Will draw a vertical bar between this and the next column.
1011 The weight of the column. As for MUI's group.
1014 Minimum percentage of the list width for the current column.
1017 Maximum percentage of the list width for the current column.
1020 Will draw a vertical bar between this and the next column
1021 but only in the title (ignored if BAR is set).
1025 Don't draw a vertical bar between this and the next column at all.
1028 Make te vertical bar a simple black one.
1031 Will prevent the title of the column to act as a relverify
1032 button when you set MUIA_NList_TitleClick (or make a notify
1036 Wanted number of chars for the current column.
1037 You will get as PIXWIDTH with number*font_with.
1038 Possibly more than number chars will fit in the
1039 column if you use proportional font, anyway you
1040 are sure than number non italic chars will fit.
1043 Minimum number of chars for the current column.
1046 Maximum number of chars for the current column.
1049 Wanted number of chars for the current column.
1052 Minimum number of chars for the current column.
1055 Maximum number of chars for the current column.
1058 If the partial column feature is turned on by the
1059 user (in his configuration) and the application
1060 developer has specified this option for a particular
1061 column, then a "..." text is displayed at the
1062 defined position if not all text fits into the
1063 column rather than showing a dotted vertical line
1064 at the end of the column. Possible values for
1068 explicitly disables this feature for this
1072 put "..." on the left side and strip text
1076 put "..." at the center of the column and
1077 strip text on both sides around it.
1080 put "..." on the right side and strip text
1084 Note: You will have as many columns in your list as
1085 entries in the format string (i.e. number of
1086 commas + 1). Empty entries, e.g. with a format
1087 string of ",,,," are perfectly ok.
1089 MINPIXWIDTH, MAXPIXWIDTH, MINCOLWIDTH, MAXCOLWIDTH,
1090 MINWIDTH and MAXWIDTH will not be used if PIXWIDTH,
1091 or COLWIDTH is used.
1093 Only one of PIXWIDTH, COLWIDTH and WEIGHT will be
1094 used, the first find in this order.
1095 Biggest of MINPIXWIDTH, MINCOLWIDTH and MINWIDTH.
1096 Smallest of MAXPIXWIDTH, MAXCOLWIDTH and MAXWIDTH.
1097 If the min is bigger than the max the min will be used.
1099 You should used PIX ones only for columns with images,
1100 and COL ones when you want to be sure to get as many
1103 All chars/images will be drawn for the last column
1104 always, you should specify some width for it anyway
1105 as it will be used for centered and right aligned texts !
1107 Default values : WEIGHT=-1, MINWIDTH=5, MAXWIDTH=10000.
1109 Use MINWIDTH=0 if you don't use PIXWIDTH or COLWIDTH and
1110 don't want any min value.
1112 If you want to use WEIGHT values as percentage of the list
1113 width, just choose them to have their total being 100.
1115 WEIGHT = -1 mean that you want the column to have
1116 the width of the largest entry's column contents.
1117 MINWIDTH = -1 have the same meaning as for WEIGHT but for
1119 Default will be 100 for the last column, set it to -1 or
1120 -2 if you want to force it when more than one column, and
1121 to -2 to force it when only one column.
1123 Be aware that it can take long time to do that when there
1124 are many entries since this need a call to the dislpayhook,
1125 parse and find real length of all entries.
1126 Anyway using such stuff for one or more column has the
1129 The default list format is an empty string (""), this
1130 means a one column list without special formatting.
1133 Actually MUIA_NList_Format will not try to see if the new
1134 format is similar to previous one. It means that all
1135 column width will be re-computed (and all entries parsed
1136 if WEIGHT or MINWIDTH is -1), same for wrapping
1137 which will be recomputed for all entries.
1138 So, it's better to do it before inserting entries
1139 if you want to do both.
1140 If you want to clear, insert, and set the format, the
1141 best is to set the format after the clear (fastest, no
1142 entry to parse) and before the insert.
1145 Currently there is a maximum of 64 columns for a list.
1148 MUIA_NList_DisplayHook, MUIA_NList_TitleSeparator.
1149 \fNList.mcc/MUIA_NList_Horiz_DeltaFactor
1152 MUIA_NList_Horiz_DeltaFactor -- [..GN], LONG
1155 Used for NListview. You can make a notification on it
1156 if you want to attach your own horizontal scrollbar
1157 and set the increment value of scrollbar's arrows :
1159 DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_DeltaFactor,MUIV_EveryTime,
1160 SBobj, 3, MUIM_Set,MUIA_Prop_DeltaFactor,MUIV_TriggerValue);
1163 MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_First, MUIA_NList_Horiz_Visible
1164 \fNList.mcc/MUIA_NList_Horiz_Entries
1167 MUIA_NList_Horiz_Entries -- [..GN], LONG
1170 Used for NListview. You can make a notification on it
1171 if you want to attach your own horizontal scrollbar :
1173 DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_Entries,MUIV_EveryTime,
1174 SBobj, 3, MUIM_Set,MUIA_Prop_Entries,MUIV_TriggerValue);
1177 MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_First, MUIA_NList_Horiz_Visible
1178 \fNList.mcc/MUIA_NList_Horiz_First
1181 MUIA_NList_Horiz_First -- [.SGN], LONG
1184 Used for NListview. You can make a notification on it
1185 if you want to attach your own horizontal scrollbar :
1187 DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_First,MUIV_EveryTime,
1188 SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_First,MUIV_TriggerValue);
1189 DoMethod(SBobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
1190 NLobj, 3, MUIM_NoNotifySet,MUIA_NList_Horiz_First,MUIV_TriggerValue);
1193 MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_Visible
1194 \fNList.mcc/MUIA_NList_Horiz_Visible
1197 MUIA_NList_Horiz_Visible -- [..GN], LONG
1200 Used for NListview. You can make a notification on it
1201 if you want to attach your own horizontal scrollbar :
1203 DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_Visible,MUIV_EveryTime,
1204 SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Visible,MUIV_TriggerValue);
1207 MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_First
1208 \fNList.mcc/MUIA_NList_IgnoreSpecialChars
1211 MUIA_NList_IgnoreSpecialChars -- [ISG], const char *
1214 Used to let NList ignore a list of user definable characters during
1215 string parsing. Some greek fonts need the 0xA0 character to display
1216 an Alpha characters. In this case the string "\xa0" should be supplied
1217 to make NList ignore this character and not treat 0xA0 as a "non
1219 This string will *NOT* be copied by NList and must remain valid as long
1220 as the object exists!
1224 \fNList.mcc/MUIA_NList_Imports
1227 MUIA_NList_Imports -- [ISG], LONG
1230 Tell the NList object what parts of it's state must be loaded
1231 (and used) in MUIM_Import method (which is called by the
1232 MUIM_Application_Load method if the object has a ObjectID).
1235 MUIV_NList_Imports_Active load previous active entry number (and make it active).
1236 MUIV_NList_Imports_Selected load previous selected entries numbers (and make them selected).
1237 MUIV_NList_Imports_First load previous first visible entry number (and make it the first visible).
1238 MUIV_NList_Imports_ColWidth load previous widths of columns (and set them).
1239 MUIV_NList_Imports_ColOrder load previous order of columns (and set it).
1240 MUIV_NList_Imports_Cols load all about columns (width and order actually).
1241 MUIV_NList_Imports_All
1244 (MUIV_NList_Imports_Active | MUIV_NList_Imports_First | MUIV_NList_Imports_Cols)
1248 \fNList.mcc/MUIA_NList_Input
1251 MUIA_NList_Input -- [ISG], BOOL
1254 Same function as NListview.mcc/MUIA_Listview_Input.
1260 MUIA_NList_MultiSelect
1261 \fNList.mcc/MUIA_NList_InsertPosition
1264 MUIA_NList_InsertPosition -- [..GN], LONG
1267 Same function as List.mui/MUIA_List_InsertPosition.
1269 \fNList.mcc/MUIA_NList_KeepActive
1272 MUIA_NList_KeepActive -- [.S.], Obj *
1275 Usefull when MUIA_NList_DefaultObjectOnClick if you
1276 don't want the specified object to be desactivated.
1277 A NListview object set it to it's NList child at
1278 creation time, so you should not have to use that tag.
1281 MUIA_NList_DefaultObjectOnClick,MUIA_NList_MakeActive
1282 \fNList.mcc/MUIA_NList_KeyUpFocus
1285 MUIA_NList_KeyUpFocus -- [ISG], Object *
1288 Allows to specify a specific object that will be set as the new
1289 window's active object in case the user pressed the UP cursor key
1290 and the NList object itself doesn't have anything further to
1294 MUIA_NList_KeyDownFocus
1295 MUIA_NList_KeyLeftFocus
1296 MUIA_NList_KeyRightFocus
1298 \fNList.mcc/MUIA_NList_KeyDownFocus
1301 MUIA_NList_KeyDownFocus -- [ISG], Object *
1304 Allows to specify a specific object that will be set as the new
1305 window's active object in case the user pressed the DOWN cursor key
1306 and the NList object itself doesn't have anything further to
1310 MUIA_NList_KeyUpFocus
1311 MUIA_NList_KeyLeftFocus
1312 MUIA_NList_KeyRightFocus
1314 \fNList.mcc/MUIA_NList_KeyLeftFocus
1317 MUIA_NList_KeyLeftFocus -- [ISG], Object *
1320 Allows to specify a specific object that will be set as the new
1321 window's active object in case the user pressed the LEFT cursor key
1322 and the NList object itself doesn't have anything further to
1326 MUIA_NList_KeyUpFocus
1327 MUIA_NList_KeyDownFocus
1328 MUIA_NList_KeyRightFocus
1330 \fNList.mcc/MUIA_NList_KeyRightFocus
1333 MUIA_NList_KeyRightFocus -- [ISG], Object *
1336 Allows to specify a specific object that will be set as the new
1337 window's active object in case the user pressed the RIGHT cursor key
1338 and the NList object itself doesn't have anything further to
1339 scroll to the right.
1342 MUIA_NList_KeyUpFocus
1343 MUIA_NList_KeyDownFocus
1344 MUIA_NList_KeyLeftFocus
1346 \fNList.mcc/MUIA_NList_LineHeight
1349 MUIA_NList_LineHeight -- [..GN], LONG
1352 Get the current line height.
1353 \fNList.mcc/MUIA_NList_MakeActive
1356 MUIA_NList_MakeActive -- [.S.], Obj *
1359 Use it if you want an object to be activated when you click
1361 If you want to be able to control the list with key, you
1362 should use MUIA_NList_DefaultObjectOnClick instead.
1364 If you use both MUIA_NList_MakeActive and
1365 MUIA_NList_DefaultObjectOnClick then the specified object
1366 will be activated only if there is already an active one.
1368 The only object which should be set should be the NListview
1369 parent object of the current NList one.
1372 MUIA_NList_DefaultObjectOnClick,MUIA_NList_KeepActive
1373 \fNList.mcc/MUIA_NList_MinColSortable
1376 MUIA_NList_MinColSortable -- [ISG], LONG
1379 Sets the number of the first visible column which
1380 can be sorted, ie exchanged with some other one.
1382 Default is 1, making the leftmost (0) column not sortable.
1384 Just set it to a big number (100 for example) to forbid
1385 the columns sorting.
1386 \fNList.mcc/MUIA_NList_MinLineHeight
1389 MUIA_NList_MinLineHeight -- [IS.], LONG
1392 Same function as List.mui/MUIA_List_MinLineHeight.
1394 Sets the minimum line height for lists in pixels.
1396 If <= 0 then it's absolute value will replace the
1397 'Leading' value of prefs which is added to the
1400 It seems that original MUIA_List_MinLineHeight use
1401 its positive value as a 'leading' one, which is not
1402 logical when i read its doc (!), so i do the
1403 change internally to get it works like with list...
1404 \fNList.mcc/MUIA_NList_MultiClick
1407 MUIA_NList_MultiClick -- [..GN], LONG
1410 You'll get a notify on it each time the user
1411 multiclicks more than 2 times on an entry in the
1412 list, or on the title. You'll get the number of
1413 the click (3, 4, 5...) for each. Note that you'll
1414 not get MUIA_NList_MultiClick for a double click;
1415 you must use MUIA_NList_DoubleClick for that.
1416 The time between each click must be less or equal
1417 to the double click time set in Amiga Input prefs.
1419 You can know on which entry the multiclick was made
1420 getting MUIA_NList_DoubleClick value.
1422 So you can make a notification on it.
1425 Disabled for the title when MUIA_NList_TitleClick is used.
1428 MUIA_NList_MultiClickAlone, MUIA_NList_DoubleClick, MUIA_NList_TitleClick,
1429 MUIA_NList_EntryClick, MUIM_NList_TestPos.
1430 \fNList.mcc/MUIA_NList_MultiClickAlone
1433 MUIA_NList_MultiClickAlone -- [..GN], LONG
1436 You'll get a notify only for the final multiclick number,
1437 so if there are 3 clicks there will be only one multiclickalone
1438 notified, a little (max time between 2 clicks) after the 3rd one.
1439 It is the major change with classic MUIA_NList_DoubleClick and
1440 MUIA_NList_MultiClick which do the notify for all clicks.
1442 The drawback is the unavoidable delay between the last click
1445 You can know on which entry the multiclickalone was made
1446 getting MUIA_NList_DoubleClick value.
1448 You can make a notification on it.
1451 MUIA_NList_MultiClick, MUIA_NList_DoubleClick, MUIA_NList_TitleClick,
1452 MUIA_NList_EntryClick, MUIM_NList_TestPos.
1453 \fNList.mcc/MUIA_NList_MultiSelect
1456 MUIA_NList_MultiSelect -- (V7 ) [I..], LONG
1459 MUIV_NList_MultiSelect_None
1460 MUIV_NList_MultiSelect_Default
1461 MUIV_NList_MultiSelect_Shifted
1462 MUIV_NList_MultiSelect_Always
1465 Same function as Listview.mui/MUIA_Listview_MultiSelect.
1467 < At the moment MultiSelect_Default is the same
1468 as MultiSelect_Shifted >
1471 MUIA_NList_MultiTestHook
1472 \fNList.mcc/MUIA_NList_MultiTestHook
1475 MUIA_NList_MultiTestHook -- [IS.], struct Hook *
1478 Same function as List.mui/MUIA_List_MultiTestHook.
1481 MUIA_NList_ConstructHook, MUIA_NList_DestructHook
1482 \fNList.mcc/MUIA_NList_Pool
1485 MUIA_NList_Pool -- [I..], APTR
1488 Same function as List.mui/MUIA_List_Pool.
1491 MUIA_NList_PoolPuddleSize, MUIA_NList_PoolThreshSize
1492 \fNList.mcc/MUIA_NList_PoolPuddleSize
1495 MUIA_NList_PoolPuddleSize -- [I..], ULONG
1498 Same function as List.mui/MUIA_List_PoolPuddleSize.
1501 MUIA_NList_PoolThreshSize, MUIA_NList_Pool
1502 \fNList.mcc/MUIA_NList_PoolThreshSize
1505 MUIA_NList_PoolThreshSize -- [I..], ULONG
1508 Same function as List.mui/MUIA_List_PoolThreshSize.
1511 MUIA_NList_PoolPuddleSize, MUIA_NList_Pool
1512 \fNList.mcc/MUIA_NList_PrivateData
1515 MUIA_NList_PrivateData -- [ISG], APTR
1518 It's a private data of the object that is unused by NList.
1519 You can use it as you want, as for MUIA_UserData.
1522 MUIA_NList_DisplayHook, MUIA_NList_CopyEntryToClipHook,
1523 MUIA_NList_CopyColumnToClipHook
1524 \fNList.mcc/MUIA_NList_Prop_DeltaFactor
1527 MUIA_NList_Prop_DeltaFactor -- [..GN], LONG
1530 Used for NListview. You can make a notification on it
1531 if you want to attach your own vertical scrollbar
1532 and set the increment value of scrollbar's arrows :
1534 DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_DeltaFactor,MUIV_EveryTime,
1535 SBobj, 3, MUIM_Set,MUIA_Prop_DeltaFactor,MUIV_TriggerValue);
1538 MUIA_NList_Prop_Entries, MUIA_NList_Prop_First, MUIA_NList_Prop_Visible
1539 \fNList.mcc/MUIA_NList_Prop_Entries
1542 MUIA_NList_Prop_Entries -- [..GN], LONG
1545 Used for NListview. You can make a notification on it
1546 if you want to attach your own vertical scrollbar :
1548 DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_Entries,MUIV_EveryTime,
1549 SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Entries,MUIV_TriggerValue);
1552 MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_First, MUIA_NList_Prop_Visible
1553 \fNList.mcc/MUIA_NList_Prop_First
1556 MUIA_NList_Prop_First -- [.SGN], LONG
1559 Used for NListview. You can make a notification on it
1560 if you want to attach your own vertical scrollbar :
1562 DoMethod(NLobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
1563 SBobj, 3, MUIM_Set,MUIA_Prop_First,MUIV_TriggerValue);
1564 DoMethod(SBobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
1565 NLobj, 3, MUIM_Set,MUIA_Prop_First,MUIV_TriggerValue);
1568 MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_Entries, MUIA_NList_Prop_Visible
1569 \fNList.mcc/MUIA_NList_Prop_Visible
1572 MUIA_NList_Prop_Visible -- [..GN], LONG
1575 Used for NListview. You can make a notification on it
1576 if you want to attach your own vertical scrollbar :
1578 DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_Visible,MUIV_EveryTime,
1579 SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Visible,MUIV_TriggerValue);
1582 MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_Entries, MUIA_NList_Prop_First
1583 \fNList.mcc/MUIA_NList_Quiet
1586 MUIA_NList_Quiet -- [.S.], BOOL
1589 Same function as List.mui/MUIA_List_Quiet.
1591 Think about using it when you insert/remove several entries
1592 one by one, it will go much faster.
1593 In all cases all changes which can be done later are delayed.
1594 Quiet_Full mean that no notify caused by changes in the list will
1595 be made, while Quiet_Visual will done them (but delayed to after
1599 MUIV_NList_Quiet_None same as FALSE.
1600 MUIV_NList_Quiet_Full all values but FALSE and MUIV_NList_Quiet_Visual (-2).
1601 MUIV_NList_Quiet_Visual
1604 MUIM_NList_Insert, MUIM_NList_Remove
1605 \fNList.mcc/MUIA_NList_SelectChange
1608 MUIA_NList_SelectChange -- [...N], BOOL
1611 Same function as Listview.mui/MUIA_Listview_SelectChange.
1613 A set(NLobj,MUIA_NList_SelectChange,TRUE) is made by NList
1614 whenever the selection state of one or more items in the
1621 MUIA_NList_MultiSelect
1622 \fNList.mcc/MUIA_NList_ShowDropMarks
1625 MUIA_NList_ShowDropMarks -- [ISG], BOOL
1628 Same function as List.mui/MUIA_List_ShowDropMarks.
1635 \fNList.mcc/MUIA_NList_SkipChars
1638 MUIA_NList_SkipChars -- [ISG], char *
1641 Same function as Floattext.mui/MUIA_Floattext_SkipChars.
1642 \fNList.mcc/MUIA_NList_SortType
1645 MUIA_NList_SortType -- [ISGN], LONG
1648 This value will be set in the NList_CompareMessage struct
1649 of MUIA_NList_CompareHook2 hook function.
1651 It is set by MUIM_NList_Sort2 and MUIM_NList_Sort3 methods too.
1654 See NList-Demo program.
1657 MUIA_NList_CompareHook2, MUIM_NList_Sort2, MUIM_NList_Sort3, MUIA_NList_SortType2
1658 \fNList.mcc/MUIA_NList_SortType2
1661 MUIA_NList_SortType2 -- [ISGN], LONG
1664 This value will be set in the NList_CompareMessage struct
1665 of MUIA_NList_CompareHook2 hook function.
1667 It is set by MUIM_NList_Sort3 method too.
1670 See NList-Demo program.
1673 MUIA_NList_CompareHook2, MUIM_NList_Sort2, MUIM_NList_Sort3, MUIA_NList_SortType
1674 \fNList.mcc/MUIA_NList_SourceArray
1677 MUIA_NList_SourceArray -- [I..], APTR
1680 Same function as List.mui/MUIA_List_SourceArray.
1681 \fNList.mcc/MUIA_NList_SourceInsert
1684 MUIA_NList_SourceInsert -- [I..], struct MUIP_NList_InsertWrap *
1687 Same as DoMethod(obj,MUIM_NList_InsertWrap,...)
1688 with ... same as the contents of the passed struct,
1692 MUIM_NList_InsertWrap
1693 \fNList.mcc/MUIA_NList_SourceString
1696 MUIA_NList_SourceString -- [I..], char *
1700 DoMethod(obj,MUIM_List_Insert,string,-2,MUIV_NList_Insert_Bottom)
1705 \fNList.mcc/MUIA_NList_TabSize
1708 MUIA_NList_TabSize -- [ISG], ULONG
1711 Same function as Floattext.mui/MUIA_Floattext_TabSize.
1713 Set how many spaces is the tabulation.
1716 \fNList.mcc/MUIA_NList_Title
1719 MUIA_NList_Title -- [ISG], char *
1722 Same function as List.mui/MUIA_List_Title.
1724 The title will be redraw each time you set it.
1726 When you use a display hook, its value is used as a BOOL/LONG
1727 which can have any value (just not NULL if you want to see it).
1729 The value returned by get() will be the same than the last one
1730 given in the set() or at init.
1733 MUIA_NList_DisplayHook, MUIA_NList_TitleSeparator
1734 \fNList.mcc/MUIA_NList_TitleClick
1737 MUIA_NList_TitleClick -- [ISGN], LONG
1740 You'll get a notify on it each time the user
1741 clicks one the title (only if on a column, so not on the
1742 vertical bar column separator which is used to modify the
1743 column width with mouse).
1745 The returned value is the col number (display hook col number).
1747 If you get that value later, it will still be the latest
1748 *title* click col that you'll get.
1750 If you ask for a notify on that tag, or if you set it (with any
1751 value) the title will act as if each of its column titles were
1752 separated buttons, notifying that tag when there are released.
1754 The (released) look for those title "buttons" will be better
1755 if you use MUIA_NList_TitleSeparator and BAR or TBAR for each
1756 column in the MUIA_NList_Format string.
1758 There is no shortkeys for these custom buttons and never be,
1759 so think to give another way to access the related stuffs.
1761 Don't ask for customized frames for them : there are not real
1762 MUI and separated buttons but directly handled by NList, and i
1763 found it nice as is.
1766 When you use MUIA_NList_TitleClick, you'll not receive
1767 MUIA_NList_DoubleClick and MUIA_NList_MultiClick when clicking
1768 on the title any more.
1771 See NList-Demo program.
1774 MUIA_NList_TitleMark, MUIA_NList_TitleMark2, MUIA_NList_SortType,
1775 MUIA_NList_SortType2, MUIM_NList_Sort3, MUIA_NList_TitleClick,
1776 MUIA_NList_TitleClick2.
1777 \fNList.mcc/MUIA_NList_TitleClick2
1780 MUIA_NList_TitleClick2 -- [ISGN], LONG
1783 Works like MUIA_NList_TitleClick but when the qualifier is press while clicking
1786 See NList-Demo program.
1789 MUIA_NList_TitleClick, MUIA_NList_TitleMark, MUIA_NList_TitleMark2
1790 \fNList.mcc/MUIA_NList_TitleMark
1793 MUIA_NList_TitleMark -- [ISG], LONG
1796 Draw a mark on the corresponding display hook column.
1798 The value give 2 informations : the column and the type of mark.
1800 Usually set to the MUIA_NList_SortType value (which is set by
1801 MUIM_NList_Sort3, this one called from a MUIA_NList_TitleClick notify).
1804 MUIV_NList_TitleMark_None
1805 MUIV_NList_TitleMark_Down | col
1806 MUIV_NList_TitleMark_Up | col
1807 MUIV_NList_TitleMark_Box | col
1808 MUIV_NList_TitleMark_Circle | col
1811 See NList-Demo program.
1814 MUIA_NList_TitleMark2, MUIA_NList_SortType, MUIA_NList_SortType2, MUIM_NList_Sort3,
1815 MUIA_NList_TitleClick, MUIA_NList_TitleClick2
1816 \fNList.mcc/MUIA_NList_TitleMark2
1819 MUIA_NList_TitleMark2 -- [ISG], LONG
1822 Draw a secondary mark on the corresponding display hook column.
1824 The value give 2 informations : the column and the type of mark.
1826 Usually set to the MUIA_NList_SortType2 value (which is set by
1827 MUIM_NList_Sort3, this one called from a MUIA_NList_TitleClick/2 notify).
1830 MUIV_NList_TitleMark2_None
1831 MUIV_NList_TitleMark2_Down | col
1832 MUIV_NList_TitleMark2_Up | col
1833 MUIV_NList_TitleMark2_Box | col
1834 MUIV_NList_TitleMark2_Circle | col
1837 See NList-Demo program.
1840 MUIA_NList_TitleMark, MUIA_NList_SortType, MUIA_NList_SortType2, MUIM_NList_Sort3,
1841 MUIA_NList_TitleClick, MUIA_NList_TitleClick2
1842 \fNList.mcc/MUIA_NList_TitleSeparator
1845 MUIA_NList_TitleSeparator -- [ISG], BOOL
1848 If you set it, you get an horizontal bar between the
1849 title and the first visible entry (only when some title
1857 \fNList.mcc/MUIA_NList_TypeSelect
1860 MUIA_NList_TypeSelect -- [IS.], LONG
1863 MUIV_NList_TypeSelect_Line
1864 MUIV_NList_TypeSelect_Char
1867 Setting this tag you can choose between the classic
1868 list selection by line, or using a char precision
1871 This should be used only for textviewer like stuff,
1872 and never for standard lists.
1873 Anyway its the only way to make direct copytoclip
1874 of a part of a line...
1876 Default is MUIV_NList_TypeSelect_Line of course.
1879 MUIM_NList_Select, MUIM_List_Select
1880 \fNList.mcc/MUIA_NList_Visible
1883 MUIA_NList_Visible -- [..G], LONG
1886 Same function as List.mui/MUIA_List_Visible.
1889 MUIA_NList_First, MUIA_NList_Entries, MUIA_NList_Active
1890 \fNList.mcc/MUIA_NList_XXXBackground
1893 MUIA_NList_TitleBackground -- [ISG], LONG
1894 MUIA_NList_ListBackground -- [ISG], LONG
1895 MUIA_NList_SelectBackground -- [ISG], LONG
1896 MUIA_NList_CursorBackground -- [ISG], LONG
1897 MUIA_NList_UnselCurBackground -- [ISG], LONG
1900 You can set all backgroungs of NList with these attributes,
1901 look at Area.mui/MUIA_Background and Image.mui/MUIA_Image_Spec
1902 to see what kind of value can be used.
1903 Anyway, you can set the defaults with prefs and so should
1904 not set it yourself.
1905 \fNList.mcc/MUIA_NList_XXXPen
1908 MUIA_NList_TitlePen -- [ISG], LONG
1909 MUIA_NList_ListPen -- [ISG], LONG
1910 MUIA_NList_SelectPen -- [ISG], LONG
1911 MUIA_NList_CursorPen -- [ISG], LONG
1912 MUIA_NList_UnselCurPen -- [ISG], LONG
1915 You can set all pens of NList with these attributes, their
1916 value must be of the type Pendisplay.mui/MUIA_Pendisplay_Spec.
1917 Look at Pendisplay.mui, Area.mui/MUIA_Background and
1918 Image.mui/MUIA_Image_Spec.
1920 Anyway, you can set the defaults with prefs and so should
1921 not set it yourself.
1922 \fNList.mcc/MUIM_NList_Clear
1928 DoMethod(obj,MUIM_NList_Clear,);
1931 Same function as List.mui/MUIM_List_Clear.
1934 MUIM_NList_Insert, MUIA_NList_DestructHook
1935 \fNList.mcc/MUIM_NList_ColWidth
1938 MUIM_NList_ColWidth --
1941 DoMethod(obj,MUIM_NList_ColWidth,LONG col,LONG width);
1944 Set a width for a col as if changed by the user with mouse, or
1945 reset it to its default size.
1946 Permit to get the user width of a col too.
1949 col number of the col (numbered as in display hook).
1952 MUIV_NList_ColWidth_All will set it for all columns.
1954 width width to set (4 is the minimum width accepted).
1957 MUIV_NList_ColWidth_Default reset to default.
1958 MUIV_NList_ColWidth_Get set nothing, only return current.
1961 When a col is specified (ie not MUIV_NList_ColWidth_All), the current
1962 *user* width of the col will be returned :
1963 o -1 mean that the col has its default width, ie not set by the user
1964 or with this method.
1965 o 0 mean that the specified col is not valid.
1966 When MUIV_NList_ColWidth_All you'll get always 0.
1967 \fNList.mcc/MUIM_NList_ColToColumn
1970 MUIM_NList_ColToColumn --
1973 DoMethod(obj,MUIM_NList_ColToColumn,LONG col);
1976 converts display hook col number to visible column number.
1979 col number of the col (numbered as in display hook).
1982 column number, -1 if no column use that col number.
1985 MUIM_NList_ColumnToCol, MUIM_NList_SetColumnCol, MUIA_NList_Columns
1986 \fNList.mcc/MUIM_NList_ColumnToCol
1989 MUIM_NList_ColumnToCol --
1992 DoMethod(obj,MUIM_NList_ColumnToCol,LONG column);
1995 converts visible column number to display hook col number.
1998 column number of the column (visible).
2001 col number, -1 if the column is not valid.
2004 MUIM_NList_ColToColumn, MUIM_NList_SetColumnCol, MUIA_NList_Columns
2005 \fNList.mcc/MUIM_NList_Compare
2008 MUIM_NList_Compare --
2011 DoMethod(obj,MUIM_NList_Compare,APTR entry1,APTR entry2,
2012 ULONG sort_type1,ULONG sort_type2);
2015 This method is called ONLY by NList.mcc when application needs to
2016 compare two list entries f.e. when MUIM_NList_Sort,
2017 MUIM_NList_Sort2, MUIM_NList_Sort3 are called. So, this method is
2018 only useful within NList.mcc subclass, function method should
2019 looks like normal MUIA_NList_CompareHook or
2020 MUIA_NList_CompareHook2 hook function. If your subclass will not
2021 override this method NList.mcc implementation will be used, and
2022 it'll call MUIA_NList_CompareHook or MUIA_NList_CompareHook2 hook
2025 When you are overriding this method you probably would like to
2026 override MUIM_NList_Construct, MUIM_NList_Destruct and
2027 MUIM_NList_Display method as well.
2030 entry1 - First entry to compare.
2032 entry2 - Second entry to compare.
2034 sort_type1 - Sort type 1.
2036 sort_type2 - Sort type 2.
2039 If entry1 > entry2 1, if entry1 == entry2 0 and if entry1 <
2040 entry2 -1. i.e. the same as MUIA_NList_Compare,
2041 MUIA_NList_CompareHook2 or strcmp() alike functions.
2044 Do not even think about calling it by yourself! Method parameters
2045 structure might grow in the future! Be warned.
2047 Internal implementation of this method can use internal or passed
2048 arguments, so please do not cheating and if you are not
2049 overriding it, pass the original arguments to super class.
2052 MUIA_NList_CompareHook, MUIA_NList_CompareHook2,
2053 MUIM_NList_Construct, MUIM_NList_Destruct, MUIM_NList_Display
2055 \fNList.mcc/MUIM_NList_Construct
2058 MUIM_NList_Construct --
2061 DoMethod(obj,MUIM_NList_Construct,APTR entry,APTR pool);
2064 This method is called ONLY by NList.mcc when application is
2065 creating new entry f.e. when MUIM_NList_Insert,
2066 MUIM_NList_InsertSingle or MUIM_NList_Replace is called. So, this
2067 method is only useful within NList.mcc subclass, function method
2068 should looks like normal MUIA_NList_ConstructHook or
2069 MUIA_NList_ConstructHook2 hook function. If your subclass will
2070 not override this method NList.mcc implementation will be used,
2071 and it'll call MUIA_NList_ContructHook or
2072 MUIA_NList_ConstructHook2 hook in that case.
2074 When you are overriding this method you probably would like to
2075 override MUIM_NList_Destruct, MUIM_NList_Compare and
2076 MUIM_NList_Display method as well.
2079 entry - original entry pointer passed to f.e. MUIM_NList_Insert
2080 method. Equivalent of A1 register of
2081 MUIA_NList_ConstructHook.
2083 pool - pool header pointer. Equivalent of A2 register of
2084 MUIA_NList_ConstructHook.
2087 New entry, similar as returned by one of construct hooks.
2090 Do not even think about calling it by yourself! Method parameters
2091 structure might grow in the future! Be warned.
2093 Internal implementation of this method can use internal or passed
2094 arguments, so please do not cheating and if you are not
2095 overriding it, pass the original arguments to super class.
2098 MUIA_NList_ConstructHook, MUIA_NList_ConstructHook2,
2099 MUIM_NList_Insert, MUIM_NList_InsertSingle, MUIM_NList_Replace,
2100 MUIM_NList_Destruct, MUIM_NList_Compare, MUIM_NList_Display
2102 \fNList.mcc/MUIM_NList_ContextMenuBuild
2105 MUIM_NList_ContextMenuBuild --
2108 DoMethod(obj,MUIM_NList_ContextMenuBuild, LONG mx, LONG my, LONG pos,
2109 LONG column, LONG flags,LONG ontop);
2112 Give possibilities to use MUIM_ContextMenuBuild builtin in NList
2113 and a custom context menu for a NList subclass.
2115 Here is how NList MUIM_ContextMenuBuild work :
2117 If MUIA_ContextMenu is NULL, NULL is returned (no menu).
2119 If MUIA_ContextMenu is none of special values, the supermethod is called.
2121 If MUIA_ContextMenu is MUIV_NList_ContextMenu_Never, MUIA_ContextMenu is
2122 set to NULL and NULL is returned.
2124 Else (it's a special value) MUIM_NList_ContextMenuBuild is called :
2126 If MUIM_NList_ContextMenuBuild return -1, NULL will be returned (no menu).
2128 If MUIM_NList_ContextMenuBuild return NULL, NList will return its own
2129 context menu, depending on prefs (it's the default case).
2131 If MUIM_NList_ContextMenuBuild return an menu object, NList will
2132 enable/disable its own menu entries in the menu if it found some,
2133 then return thqt object.
2135 2 special menuitems are reconized by NList, and are found by :
2136 DoMethod(MenuObj,MUIM_FindUData,MUIV_NList_Menu_Default_This)
2138 DoMethod(MenuObj,MUIM_FindUData,MUIV_NList_Menu_Default_All)
2142 MUIA_ContextMenu special values are actuallly used :
2144 MUIV_NList_ContextMenu_Default replaced by one of followings.
2145 MUIV_NList_ContextMenu_TopOnly only on title/top of list.
2146 MUIV_NList_ContextMenu_Always always.
2147 MUIV_NList_ContextMenu_Never never, repaced by NULL after.
2149 when using MUIV_NList_ContextMenu_TopOnly NList will set MUIA_ContextMenu
2150 NULL/non-NULL when the mouse move, which should permit to have
2151 the window menu avaible when the contents menu is not visible.
2153 Anyway actually (MUI 3.8) MUI has a bug/feature which make the
2154 MUIA_ContextMenu being looked at only when the mouse *enter*
2155 within the object bounds. MUIV_NList_ContextMenu_TopOnly stuff
2156 will be nicer when that MUI problem is fixed...
2158 Of course if you want NList to do what has to be done when a menu item
2159 has been selected, your MUIM_ContextMenuChoice should call the supermethod.
2161 INPUTS (for MUIM_NList_ContextMenuBuild)
2165 pos entry number returned by NList_TestPos.
2166 column column returned by NList_TestPos.
2167 flags flags returned by NList_TestPos.
2168 ontop TRUE if mouse is on title/top of the list.
2171 NULL, -1 or a menustrip object.
2174 To make a ContextMenu but have the NList one appear when the
2175 mouse in on title/top, just set MUIA_ContextMenu,MUIV_NList_ContextMenu_Always
2176 and make MUIM_NList_ContextMenuBuild return NULL when ontop in TRUE (else
2177 return your menustrip object). Call MUIM_ContextMenuChoice supermethod too.
2179 To make your own context menu which have the same menuitems as ones
2180 in NList context menu, set MUIA_ContextMenu,MUIV_NList_ContextMenu_Always
2181 and make MUIM_NList_ContextMenuBuild return always your menustrip object.
2182 Make 4 menuitems in your menustrip object which will be like these :
2183 { NM_ITEM , "Default Width: this" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefWidth_This },
2184 { NM_ITEM , "Default Width: all" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefWidth_All },
2185 { NM_ITEM , "Default Order: this" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefOrder_This },
2186 { NM_ITEM , "Default Order: all" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefOrder_All },
2187 They will be automatically enabled/disabled as needed by NList :)
2188 Call MUIM_ContextMenuChoice supermethod too.
2189 \fNList.mcc/MUIM_NList_CopyTo
2192 MUIM_NList_CopyTo --
2195 DoMethod(obj,MUIM_NList_CopyTo, LONG pos, char *filename,
2196 APTR *result, APTR *entries);
2199 Do a copy to clipboard from some list entries or strings.
2202 pos entry number to be copied.
2203 if MUIA_NList_CopyToClipHook is specified, it's what
2204 it will return which will be copied instead of just
2205 using the entry pointer as a string pointer.
2209 MUIV_NList_CopyTo_Active copy list active entry
2210 MUIV_NList_CopyTo_Selected copy list selected entries
2211 MUIV_NList_CopyTo_All copy all list entries
2212 MUIV_NList_CopyTo_Entries copy specified entries
2213 MUIV_NList_CopyTo_Entry copy specified entry
2215 a "\n" will be insert after each entry contents.
2217 filename name of the file to copy to. If NULL then the copy will be
2218 done to a string (strptr).
2219 result LONG pointer which fill be filled with MUIV_NLCT_Success if
2220 no error occured while opening and writing in the file, else
2221 it will be filled with MUIV_NLCT_OpenErr, MUIV_NLCT_WriteErr
2222 or MUIV_NLCT_Failed (failed somewhere when making copy data).
2224 if filename is NULL, result will be filled with a string pointer
2225 to a string allocated by AllocVec(). Datas will have been copied
2226 in that string. YOU'LL HAVE TO FREE TAHT string pointer YOURSELF,
2227 with a FreeVec(). If the returned string pointer is NULL then
2229 entries pointer to some entry, string, entries array or string array.
2230 Its use depend on the pos value :
2231 if MUIV_NList_CopyTo_Entry then it's an entry pointer.
2232 if MUIV_NList_CopyTo_Entries then it's an entry pointer
2233 array NULL terminated.
2234 else : not used, set to NULL.
2238 DoMethod(obj,MUIM_NList_CopyTo, 5, "RAM:test.txt", &result, NULL, NULL);
2240 will copy the 5th entry to file RAM:test.txt, using
2241 MUIA_NList_CopyToClipHook if set.
2245 DoMethod(obj,MUIM_NList_CopyTo, MUIV_NList_CopyToClip_Selected,
2246 "PRT:", &result, NULL, NULL);
2247 will copy all selected entries to printer, using
2248 MUIA_NList_CopyToClipHook for each if set.
2251 char *strptr = NULL;
2252 DoMethod(obj,MUIM_NList_CopyTo, MUIV_NList_CopyTo_All,
2253 NULL, &strptr, NULL, NULL);
2254 will copy all list entries to the string returned in strptr.
2255 you must make a FreeVec(strptr) by yourself after.
2258 MUIM_NList_CopyToClip, MUIA_NList_CopyToClipHook
2259 \fNList.mcc/MUIM_NList_CopyToClip
2262 MUIM_NList_CopyToClip --
2265 DoMethod(obj,MUIM_NList_CopyToClip, LONG pos, ULONG clipnum,
2266 APTR *entries, struct Hook *hook);
2269 Do a copy to clipboard from some list entries or strings.
2272 pos entry number to be copied.
2273 if MUIA_NList_CopyToClipHook is specified, it's what
2274 it will return which will be copied instead of just
2275 using the entry pointer as a string pointer.
2279 MUIV_NList_CopyToClip_Active copy list active entry
2280 MUIV_NList_CopyToClip_Selected copy list selected entries
2281 MUIV_NList_CopyToClip_All copy all list entries
2282 MUIV_NList_CopyToClip_Entries copy specified entries
2283 MUIV_NList_CopyToClip_Entry copy specified entry
2284 MUIV_NList_CopyToClip_Strings copy specified strings using hook
2285 MUIV_NList_CopyToClip_String copy specified string using hook
2287 a "\n" will be insert after each entry contents, for all but
2288 MUIV_NList_CopyToClip_Strings and MUIV_NList_CopyToClip_String.
2290 clipnum clipboard number to copy to.
2291 entries pointer to some entry, string, entries array or string array.
2292 Its use depend on the pos value :
2293 if MUIV_NList_CopyToClip_Entry then it's an entry pointer.
2294 if MUIV_NList_CopyToClip_Entries then it's an entry pointer
2295 array NULL terminated.
2296 if MUIV_NList_CopyToClip_String then it's a string pointer.
2297 if MUIV_NList_CopyToClip_Strings then it's an string pointer
2298 array NULL terminated.
2299 else : not used, set to NULL.
2300 hook hook function which will be used (if not NULL) for
2301 MUIV_NList_CopyToClip_Strings and
2302 MUIV_NList_CopyToClip_String
2303 instead of MUIA_NList_CopyToClipHook
2304 Should be NULL most of time.
2307 DoMethod(obj,MUIM_NList_CopyToClip, 5, 0, NULL, NULL);
2308 will copy the 5th entry to clipboard 0, using
2309 MUIA_NList_CopyToClipHook if set.
2311 DoMethod(obj,MUIM_NList_CopyToClip, MUIV_NList_CopyToClip_Selected,
2313 will copy all selected entries to clipboard 0, using
2314 MUIA_NList_CopyToClipHook for each if set.
2316 DoMethod(obj,MUIM_NList_CopyToClip, MUIV_NList_CopyToClip_String,
2317 0, "my string", NULL);
2318 will copy "my string" to clipboard 0.
2321 MUIV_NList_CopyToClip_Strings and MUIV_NList_CopyToClip_String
2322 are here to permit simple text copy to clipboard for non nlist
2323 object related stuff (anyway a NList object must be here to use
2324 them...). They can use their own hook instead of nlist one if
2325 non NULL, anyway look at MUIA_NList_CopyToClipHook to see how
2326 this hook will be used.
2329 MUIA_NList_CopyToClipHook, MUIA_NList_CopyToClip_Key, MUIM_NList_CopyTo
2330 \fNList.mcc/MUIM_NList_CreateImage
2333 MUIM_NList_CreateImage --
2336 DoMethod(obj,MUIM_NList_CreateImage,Object *imgobj, ULONG flags);
2339 Same function as List.mui/MUIM_List_CreateImage.
2341 Any transparent color in the source Bitmap/Bodychunk
2342 object will work (except if flags is ~0L).
2344 You must use MUIM_NList_CreateImage in Setup() or after
2345 and MUIM_NList_DeleteImage in Cleanup() or before,
2346 because the mri of the NList object must be valid.
2347 Setup() and Cleanup() are the best because MUI_ObtainPen()
2348 and MUI_ReleasePen() are used, and then pens will be
2349 released while iconification and will be re-obtained
2350 if the screen change.
2352 Take a look at MUIM_NList_UseImage which is far easier to
2355 Standard flags value is 0.
2357 If flags is ~0L then FillArea will not be set to FALSE on the object
2358 (for any other value, FillArea is set to FALSE)
2360 If flags is ~0L for a Bitmap/Bodychunk then it will be really the
2361 given object which will be drawn, as for non Bitmap/Bodychunk objects.
2364 The imgobj can (nearly) be any object, but take care of that :
2366 - the object should not test and use user inputs, the object
2367 should just be able to draw itself within the _left(obj),
2368 _top(obj), _width(obj) and height(obj) it will have when its
2369 Draw method is called.
2370 - the object class MUST NOT be Group or subclass of it.
2371 - the given imgobj must not be attached to any group object
2372 anywhere else, because a ADDMEMBER will be done with it.
2373 - Each imgobj can be used with one and only one NList object.
2374 - you can use the return pointer with ESC O[<ptr>] and ESC o[<num>].
2375 - the object will receive two tags just before its Draw method will
2376 be called : set(imgobj,MUIA_NLIMG_EntryCurrent,current_entry_number) and
2377 set(imgobj,MUIA_NLIMG_EntryHeight,height_of_each_entry_of_the_list)
2378 which are usefull in some case to draw things (see demo example).
2379 - a new stuff is to use it with ESC O[<ptr>;<tag>;<value>], in that case
2380 a set(imgobj,tag,value) will be done just before drawing it, so
2381 you can make an object which will draw different things when that tag
2382 value is changed. Setting this tag MUST NOT make the object being
2384 <tag> and <value> must both be in hexadecimal (%lx).
2385 - if you use ;<tag>;<value> in one ESC sequence for an imgobj, you should
2386 use it everywhere you use that imgobj because there is no default for it.
2387 - The imgobj height will always be set to the entries height.
2388 - The mindefheight of imgobj will become the min height for entries.
2389 - Think it's still a new testing stuff...
2392 Previously the object was disposed by NList at its end, actually a call
2393 to MUIM_NList_DeleteImage will REMMEMBER it, and so you have to dispose
2396 Look the demo program to see a way to use it...
2400 The result you get is a struct BitMapImage pointer which
2401 will exist between the MUIM_NList_CreateImage and
2402 MUIM_NList_DeleteImage, with a valid bitmap, width and
2403 height for the current screen.
2405 If you use it for a non Bitmap/Bodychunk object (or with flags
2406 set to ~0L) then the mask and imgbmp fields of the returned
2407 struct BitMapImage are not valid, and obtainpens is a pointer to
2410 The only thing you should do with it is to include it in
2411 \33O[%08lx]. The result may be NULL in which case NList
2412 was unable to create the image, but the \33O[] combination
2413 simply draws nothing when receiving a NULL.
2416 The returned pointer doesn't give the same structure than
2417 MUIM_List_CreateImage (in standard List class) would do :
2418 both are not compatible at all !
2421 MUIM_NList_DeleteImage, MUIM_NList_UseImage
2422 \fNList.mcc/MUIM_NList_DeleteImage
2425 MUIM_NList_DeleteImage --
2428 DoMethod(obj,MUIM_NList_DeleteImage,APTR listimg);
2431 Same function as List.mui/MUIM_List_DeleteImage.
2433 Delete the image pointer returned from MUIM_NList_CreateImage.
2434 Read explains in MUIM_NList_CreateImage.
2437 MUIM_NList_CreateImage, MUIM_NList_UseImage
2438 \fNList.mcc/MUIM_NList_Destruct
2441 MUIM_NList_Destruct --
2444 DoMethod(obj,MUIM_NList_Destruct,APTR entry,APTR pool);
2447 This method is called ONLY by NList.mcc when application is
2448 deleting entry f.e. when MUIM_NList_Remove or MUIM_NList_Replace
2449 are called. So, this method is only useful within NList.mcc
2450 subclass, function method should looks like normal
2451 MUIA_NList_DestructHook or MUIA_NList_DestructHook2 hook
2452 function. If your subclass will not override this method
2453 NList.mcc implementation will be used, and it'll call
2454 MUIA_NList_DestructHook or MUIA_NList_DestructHook2 hook in that
2457 When you are overriding this method you must override
2458 MUIM_NList_Construct and probably MUIM_NList_Compare and
2459 MUIM_NList_Display method as well.
2462 entry - entry pointer returned by MUIM_NList_Construct method.
2464 pool - pool header pointer.
2467 Currently undefined. If you are overriding it completely, please
2468 return 0, if not use the value returned by super class!
2471 Do not even think about calling it by yourself! Method parameters
2472 structure might grow in the future! Be warned.
2474 Internal implementation of this method can use internal or passed
2475 arguments, so please do not cheating and if you are not
2476 overriding it, pass the original arguments to super class.
2479 MUIA_NList_ConstructHook, MUIA_NList_ConstructHook2,
2480 MUIM_NList_Insert, MUIM_NList_InsertSingle, MUIM_NList_Replace,
2481 MUIM_NList_Destruct, MUIM_NList_Compare, MUIM_NList_Display
2483 \fNList.mcc/MUIM_NList_Display
2486 MUIM_NList_Display --
2489 DoMethod(obj,MUIM_NList_Display,APTR entry,ULONG entry_pos,
2490 STRPTR *strings,STRPTR *preparses);
2493 This method is called ONLY by NList.mcc when application is
2494 displaying entry f.e. when MUI_Redraw(), MUIM_NList_Redraw or
2495 MUIM_NList_RedrawEntry are called. So, this method is only useful
2496 within NList.mcc subclass, function method should looks like
2497 normal MUIA_NList_DisplayHook or MUIA_NList_DisplayHook2 hook
2498 function. If your subclass will not override this method
2499 NList.mcc implementation will be used, and it'll call
2500 MUIA_NList_DisplayHook or MUIA_NList_DisplayHook2 hook in that
2504 entry - Entry pointer returned by f.e. MUIM_NList_Construct,
2505 MUIA_NList_ConstructHook or MUIA_NList_ConstructHook2
2508 entry_pos - Entry position.
2510 strings - Pointer to strings table.
2512 preparses - Pointer to preparse strings table.
2515 Currently undefined. If you are overriding it completely, please
2516 return 0, if not use the value returned by super class!
2519 Do not even think about calling it by yourself! Method parameters
2520 structure might grow in the future! Be warned.
2522 Internal implementation of this method can use internal or passed
2523 arguments, so please do not cheating and if you are not
2524 overriding it, pass the original arguments to super class.
2527 MUIA_NList_ConstructHook, MUIA_NList_ConstructHook2,
2528 MUIA_NList_DisplayHook, MUIA_NList_DisplayHook2,
2529 MUIM_NList_Insert, MUIM_NList_InsertSingle, MUIM_NList_Replace,
2530 MUIM_NList_Construct, MUIM_NList_Destruct, MUIM_NList_Compare
2532 \fNList.mcc/MUIM_NList_DoMethod
2535 MUIM_NList_DoMethod --
2538 DoMethod(obj,MUIM_NList_DoMethod,LONG pos,
2539 APTR DestObj,ULONG FollowParams,ULONG method,...);
2542 The given method will be executed for each selected entry, the
2543 active entry, all entries, or one specified entry of the NList
2546 Each DoMethod() can be done on the NList object, its _app object,
2547 a specified object, or the entry pointer if (and only if) it's
2550 Following arguments can be automatically adjusted for each call
2551 using special values, like in the MUIM_Notify method (you must
2552 specified the numer of following argument too, as there will be
2553 copied in a temporary buffer - alloced in the stack).
2556 pos - the entry number for which you want to do the method.
2559 MUIV_NList_DoMethod_Active do it for the active entry.
2560 MUIV_NList_DoMethod_Selected do it for all selected entries.
2561 MUIV_NList_DoMethod_All do it
2563 DestObj - the object on which the method will be done.
2566 MUIV_NList_DoMethod_Entry use entry pointer as target object for method.
2567 MUIV_NList_DoMethod_Self use the NList object as target for method.
2568 MUIV_NList_DoMethod_App use the _app(NList object) as target for method.
2570 FollowParams - the number of following parameters (including "method").
2571 (maximum 40 to prevent errors and stack overflow)
2573 method - the method which will be done.
2575 ... - the method parameters.
2578 MUIV_NList_EntryValue replaced by the "current" entry pointer.
2579 MUIV_NList_EntryPosValue replaced by the "current" entry number.
2580 MUIV_NList_SelfValue replaced by the NList object.
2581 MUIV_NList_AppValue replaced by _app(NList object)
2584 Don't use this to do things on the NList object when a specific way
2585 to do it exists (don't use it to remove entries in the nlist object
2586 itself for example).
2588 When using it in a notification, MUIV_TriggerValue and MUIV_TriggerValue
2589 special values will be replaced by the notify superclass as usual.
2592 Insert all entries from nlist L1 to nlist L2 :
2594 DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_All,
2596 MUIM_NList_InsertSingle, MUIV_NList_EntryValue, MUIV_NList_Insert_Bottom);
2598 (it would be better to make set(L2,MUIA_NList_Quiet,TRUE) before and
2599 set(L2,MUIA_NList_Quiet,FALSE) after when there are many entries...)
2602 If the entries of nlist L1 are objects (and only in that case), you can do
2603 that to call a method (MUIM_Foo,x) for each selected of them :
2605 DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_Selected,
2606 MUIV_NList_DoMethod_Entry, 2,
2608 \fNList.mcc/MUIM_NList_DropDraw
2611 MUIM_NList_DropDraw --
2614 DoMethod(obj,MUIM_NList_DropDraw, LONG pos, LONG type,
2615 LONG minx,LONG maxx,LONG miny,LONG maxy);
2618 This method MUST NOT be called directly !
2620 It will be called by NList, and will draw the drop mark previously fixed
2621 (pos and type) by MUIM_NList_DropType within the minx, maxx, miny, maxy
2622 in the _rp(obj) rasport. You must not draw outside of the given box,
2623 because only the corresponding NList entry will be refreshed to erase what
2624 is drawn in that method.
2626 Calling the supermethod (so the builtin MUIM_NList_DropDraw method) will draw
2627 the standard dropmark specified by (type & MUIV_NList_DropType_Mask), so
2628 MUIV_NList_DropType_None,MUIV_NList_DropType_Above,MUIV_NList_DropType_Below
2629 or MUIV_NList_DropType_Onto.
2631 You can draw directly in the rastport (or a clone of it) in that method,
2632 because it will be called from the Draw method within the DragReport in
2636 MUIM_NList_DropType, MUIA_NList_DropType, MUIA_NList_DropMark,
2637 MUIM_NList_DropEntryDrawErase
2638 \fNList.mcc/MUIM_NList_DropEntryDrawErase
2641 MUIM_NList_DropEntryDrawErase --
2644 DoMethod(obj,MUIM_NList_DropEntryDrawErase,LONG type,LONG drawpos,LONG erasepos);
2647 This method MUST NOT be called directly !
2649 It will be called by NList while the DragReport just before the redraw
2650 which will draw a new mark or erase the old one.
2652 This method can be used to change something so your displayhook will return
2653 something different for the marked entry, like changing its color or making
2656 Don't call the superclass unless you know that the superclass use it.
2658 You should return 0.
2661 type has the same meaning as *type in MUIM_NList_DropType, it will be useless
2662 in most cases (and has no meanning at all for erasepos).
2664 drawpos is the entry number which will be draw with a dropmark, -1 mean none.
2666 erasepos is the entry number which is not any more the dropmark one, -1 mean none.
2669 MUIM_NList_DropDraw, MUIA_NList_DropType, MUIA_NList_DropMark
2670 \fNList.mcc/MUIM_NList_DropType
2673 MUIM_NList_DropType --
2676 DoMethod(obj,MUIM_NList_DropType, LONG *pos,LONG *type,
2677 LONG minx,LONG maxx,LONG miny,LONG maxy,
2678 LONG mousex,LONG mousey);
2681 This method MUST NOT be called directly !
2683 It will be called by NList while the DragReport, with default *pos and *type
2684 values depending on the drag pointer position that you can modify as you want.
2686 Default *type can be MUIV_NList_DropType_Above or MUIV_NList_DropType_Below.
2687 You can change it to any of MUIV_NList_DropType_None,MUIV_NList_DropType_Above,
2688 MUIV_NList_DropType_Below and MUIV_NList_DropType_Onto if you want, using
2689 the mouse position and the entry box.
2691 You can make you own *type value as soon as you don't set it in
2692 MUIV_NList_DropType_Mask, and so draw what you want depending on that value
2693 in the MUIM_NList_DropDraw method.
2695 Note that any MUIV_NList_DropType_Below *type will be changed to
2696 MUIV_NList_DropType_Above with a *pos incremented by 1 just after the
2697 return of that method.
2699 If you change the *pos, the list will be scrolled to see it (if the value is
2702 getting MUIA_NList_DropType or MUIA_NList_DropMark will return the same values
2705 If your subclass is a direct NList subclass, then there is no need to call
2706 the supermethod which done nothing at all !
2709 MUIM_NList_DropDraw, MUIA_NList_DropType, MUIA_NList_DropMark,
2710 MUIM_NList_DropEntryDrawErase
2711 \fNList.mcc/MUIM_NList_Exchange
2714 MUIM_NList_Exchange --
2717 DoMethod(obj,MUIM_NList_Exchange,LONG pos1, LONG pos2);
2720 Same function as List.mui/MUIM_List_Exchange.
2722 Exchange two entries in a NList object.
2725 pos1 - number of the first entry.
2726 pos2 - number of the second entry.
2728 MUIV_NList_Exchange_Top
2729 MUIV_NList_Exchange_Active
2730 MUIV_NList_Exchange_Bottom
2731 MUIV_NList_Exchange_Next only valid for second parameter
2732 MUIV_NList_Exchange_Previous only valid for second parameter
2735 MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_Move
2736 \fNList.mcc/MUIM_NList_GetEntry
2739 MUIM_NList_GetEntry --
2742 DoMethod(obj,MUIM_NList_GetEntry,LONG pos, APTR *entry);
2745 Same function as List.mui/MUIM_List_GetEntry.
2748 MUIV_NList_GetEntry_Active give active entry (or NULL if none)
2751 MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_GetEntryInfo
2752 \fNList.mcc/MUIM_NList_GetEntryInfo
2755 MUIM_NList_GetEntryInfo --
2758 DoMethod(obj,MUIM_NList_GetEntryInfo,struct MUI_NList_GetEntryInfo *res);
2761 You get usefull informations about some entry from its number,
2762 or from the real line number which can be different when there
2763 is word wrap in the list.
2766 res - pointer to a MUI_NList_GetEntryInfo struct :
2767 LONG pos; number of entry you want info about */
2768 LONG line; real line number */
2769 LONG entry_pos; entry number of returned entry ptr */
2770 APTR entry; entry pointer */
2771 LONG wrapcol; NOWRAP, WRAPCOLx, or WRAPPED|WRAPCOLx */
2772 LONG charpos; start char number in string (unused if NOWRAP) */
2773 LONG charlen; string lenght (unused if NOWRAP) */
2775 if pos is MUIV_NList_GetEntryInfo_Line then the method will
2776 use the line number to search infos, else line will be set
2777 to its correct number for the value of pos.
2778 entry is the entry ptr, think that if it's a word wrapped
2779 entry then it come from the returned entry_pos entry.
2780 Think too that if wrapcol tell you that it's a WRAPPED entry,
2781 only the WRAPCOLx col is drawn, from the charpos position
2782 in the string returned by DisplayHook for the column and for
2787 \fNList.mcc/MUIM_NList_GetPos
2790 MUIM_NList_GetPos --
2793 DoMethod(obj,MUIM_NList_GetPos,APTR entry,LONG *pos);
2796 Give the (next) entry number which have the given entry number.
2797 It's the entry ptr which is stored in the list, ie the one returned
2798 by the ConstructHook if any.
2801 entry - Entry ptr of the entry you want to get the pos.
2803 pos - a pointer to longword that will hold the next entry number
2804 of the given entry ptr. Must be set to MUIV_NList_GetPos_Start
2805 if you want to search from the beginning of the list.
2806 Is set to MUIV_NList_GetPos_End no more is found.
2809 \fNList.mcc/MUIM_NList_GetSelectInfo
2812 MUIM_NList_GetSelectInfo --
2815 DoMethod(obj,MUIM_NList_GetSelectInfo,struct MUI_NList_GetSelectInfo *res);
2818 You get usefull informations about selected entries state.
2821 res - pointer to a MUI_NList_GetSelectInfo struct :
2822 LONG start num of first selected *REAL* entry/line (first of wrapped from which start is issued)
2823 LONG end num of last selected *REAL* entry/line (first of wrapped from which start is issued)
2825 LONG start_column column of start of selection in 'start' entry
2826 LONG end_column column of end of selection in 'end' entry
2827 LONG start_pos char pos of start of selection in 'start_column' entry
2828 LONG end_pos char pos of end of selection in 'end_column' entry
2829 LONG vstart num of first visually selected entry (ie can be the 2nd or 3rd line of a word wrap entry)
2830 LONG vend num of last visually selected entry (ie can be the 2nd or 3rd line of a word wrap entry)
2831 LONG vnum number of visually selected entries
2834 If no entry is selected, then start, end, vstart, vend are -1, vnum is 0.
2836 When start_column, end_column, start_pos, end_pos are -1 then the whole line/entry/column
2839 start_column, end_columb, start_pos and end_pos have the same meaning than
2840 parameters passed to the MUIA_NList_CopyEntryToClipHook.
2842 remember than in case of automatically added word wrapped entries, only
2843 the concerned column have any contents. You get that case for 'vstart'
2844 when 'start' is different, and for 'end' when 'vend' is different.
2845 \fNList.mcc/MUIM_NList_Insert
2848 MUIM_NList_Insert --
2851 DoMethod(obj,MUIM_NList_Insert,APTR *entries, LONG count, LONG pos, LONG flags);
2854 Same function as List.mui/MUIM_List_Insert.
2856 Entry (display) contents will be display until \0 , \n or \r.
2858 You can insert a multiline string with count==-2.
2861 entries - pointer to an array of pointers to be inserted.
2862 Warning: This is a pointer to a pointer.
2864 It's a pointer to string if count==-2.
2866 count - Number of elements to be inserted. If count==-1,
2867 entries will be inserted until NULL pointer in
2868 the entries array is found.
2870 If count==-2 then entries must be a string pointer
2871 which can be multiline with \n , \r or \r\n separators.
2872 You'll get as many entries inserted as lines in the string.
2875 pos - New entries will be added in front of this entry.
2876 MUIV_NList_Insert_Top insert as first entry.
2877 MUIV_NList_Insert_Active insert in front of the active entry.
2878 MUIV_NList_Insert_Sorted insert sorted (all entries will be
2879 sorted if necessary).
2880 MUIV_NList_Insert_Bottom insert as last entry.
2882 flags - Special flags for the insert operation or 0.
2883 MUIV_NList_Insert_Flag_Raw insert the entries without the automatic
2884 reordering of the columns. This could
2885 speed up the insert of entries very
2886 significant but will not automatically
2887 change the width of a column.
2890 MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_InsertSingle
2891 MUIM_NList_InsertSingleWrap, MUIM_NList_InsertWrap
2892 \fNList.mcc/MUIM_NList_InsertSingle
2895 MUIM_NList_InsertSingle --
2898 DoMethod(obj,MUIM_NList_InsertSingle,APTR entry, LONG pos);
2901 Same function as List.mui/MUIM_List_InsertSingle.
2904 entry - item to insert.
2906 pos - New entry will be added in front of this entry.
2907 MUIV_NList_Insert_Top insert as first entry.
2908 MUIV_NList_Insert_Active insert in front of the active entry.
2909 MUIV_NList_Insert_Sorted insert sorted (all entries will be
2910 sorted if necessary).
2911 MUIV_NList_Insert_Bottom insert as last entry.
2914 MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
2915 MUIM_NList_InsertSingleWrap, MUIM_NList_InsertWrap
2916 \fNList.mcc/MUIM_NList_InsertSingleWrap
2919 MUIM_NList_InsertSingleWrap --
2922 DoMethod(obj,MUIM_NList_InsertSingleWrap,
2923 APTR entry, LONG pos, LONG wrapcol, LONG align);
2926 Same function as MUIM_NList_InsertSingle but permit word wrap
2927 and alignement for the entry.
2930 entry - item to insert.
2932 pos - New entry will be added in front of this entry.
2933 MUIV_NList_Insert_Top insert as first entry.
2934 MUIV_NList_Insert_Active insert in front of the active entry.
2935 MUIV_NList_Insert_Sorted insert sorted (all entries will be
2936 sorted if necessary).
2937 MUIV_NList_Insert_Bottom insert as last entry.
2939 wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
2940 other col. NOWRAP if you don't want word wrap.
2941 So only one of (display hook) col 0 to 6 can be wrapped.
2943 align - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
2944 be aware that align will be used if there is no escape
2945 align sequence in the preparses or column entry string.
2948 MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
2949 MUIM_NList_InsertSingle, MUIM_NList_InsertWrap
2950 \fNList.mcc/MUIM_NList_InsertWrap
2953 MUIM_NList_InsertWrap --
2956 DoMethod(obj,MUIM_NList_InsertWrap, APTR *entries,
2957 LONG count, LONG pos, LONG wrapcol, LONG align);
2960 Same function as MUIM_NList_Insert but permit word wrap and
2961 alignement for the entry.
2964 entries - pointer to an array of pointers to be inserted.
2965 Warning: This is a pointer to a pointer.
2967 It's a pointer to string if count==-2.
2969 count - Number of elements to be inserted. If count==-1,
2970 entries will be inserted until NULL pointer in
2971 the entries array is found.
2973 If count==-2 then entries must be a string pointer
2974 which can be multiline with \n , \r or \r\n separators.
2975 You'll get as many entries inserted as lines in the string.
2978 pos - New entry will be added in front of this entry.
2979 MUIV_NList_Insert_Top insert as first entry.
2980 MUIV_NList_Insert_Active insert in front of the active entry.
2981 MUIV_NList_Insert_Sorted insert sorted (all entries will be
2982 sorted if necessary).
2983 MUIV_NList_Insert_Bottom insert as last entry.
2985 wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
2986 other col. NOWRAP if you don't want word wrap.
2987 So only one of (display hook) col 0 to 6 can be wrapped.
2989 align - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
2990 be aware that align will be used if there is no escape
2991 align sequence in the preparses or column entry string.
2994 MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
2995 MUIM_NList_InsertSingle, MUIM_NList_InsertSingleWrap
2996 \fNList.mcc/MUIM_NList_Jump
3002 DoMethod(obj,MUIM_NList_Jump,LONG pos);
3005 Same function as List.mui/MUIM_List_Jump.
3008 pos - Number of the entry that should be made visible.
3009 Use MUIV_NList_Jump_Active to jump to the active
3010 entry. And use MUIV_NList_Jump_Active_Center to
3011 make the active entry visible centered in the
3015 MUIA_NList_Active, MUIA_NList_First
3016 \fNList.mcc/MUIM_NList_Move
3022 DoMethod(obj,MUIM_NList_Move,LONG from, LONG to);
3025 Same function as List.mui/MUIM_List_Move.
3028 pos1 - number of the first entry.
3029 pos2 - number of the second entry.
3031 Possible special values :
3034 MUIV_NList_Move_Active
3035 MUIV_NList_Move_Bottom
3036 MUIV_NList_Move_Next only valid for second parameter
3037 if first one is not Move_Selected
3038 MUIV_NList_Move_Previous only valid for second parameter
3039 if first one is not Move_Selected
3040 MUIV_NList_Move_Selected only valid for first parameter
3043 MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_Exchange
3044 \fNList.mcc/MUIM_NList_NextSelected
3047 MUIM_NList_NextSelected --
3050 DoMethod(obj,MUIM_NList_NextSelected,LONG *pos);
3053 Same function as List.mui/MUIM_List_NextSelected.
3055 In TypeSelect_Char mode you'll get all entries of the selected
3056 area, even the first and last which can be very partially selected.
3059 pos - a pointer to longword that will hold the number
3060 of the returned entry. Must be set to
3061 MUIV_NList_NextSelected_Start at start of iteration.
3062 Is set to MUIV_NList_NextSelected_End when iteration
3066 MUIM_NList_Select, MUIM_NList_PrevSelected
3067 \fNList.mcc/MUIM_NList_PrevSelected
3070 MUIM_NList_PrevSelected --
3073 DoMethod(obj,MUIM_NList_PrevSelected,LONG *pos);
3076 Work like MUIM_NList_NextSelected but give previous selected entry.
3078 In TypeSelect_Char mode you'll get all entries of the selected
3079 area, even the first and last which can be very partially selected.
3082 pos - a pointer to longword that will hold the number
3083 of the returned entry. Must be set to
3084 MUIV_NList_PrevSelected_Start at start of iteration.
3085 Is set to MUIV_NList_PrevSelected_End when iteration
3089 MUIM_NList_Select, MUIM_NList_NextSelected
3090 \fNList.mcc/MUIM_NList_Redraw
3093 MUIM_NList_Redraw --
3096 DoMethod(obj,MUIM_NList_Redraw,LONG pos);
3099 Same function as List.mui/MUIM_List_Redraw.
3100 Redraw some entry or all.
3103 pos - Number of the line to redraw. When the line is not
3104 currently visible, nothing will happen. Specials:
3105 MUIV_NList_Redraw_Active redraw the active line (if any),
3106 MUIV_NList_Redraw_All redraw all lines.
3107 MUIV_NList_Redraw_Title redraw the title.
3110 MUIM_NList_RedrawEntry
3111 \fNList.mcc/MUIM_NList_RedrawEntry
3114 MUIM_NList_RedrawEntry --
3117 DoMethod(obj,MUIM_NList_RedrawEntry,APTR entry);
3120 Redraw some entry, like MUIM_NList_Redraw, but using the entry
3121 pointer instead of the entry number.
3124 entry - Entry ptr of the entry (entries) you want to be redraw.
3128 \fNList.mcc/MUIM_NList_Remove
3131 MUIM_NList_Remove --
3134 DoMethod(obj,MUIM_NList_Remove,LONG pos);
3137 Same function as List.mui/MUIM_List_Remove.
3140 pos - number of the entry to be removed or one of
3141 MUIV_NList_Remove_First
3142 MUIV_NList_Remove_Active
3143 MUIV_NList_Remove_Selected
3144 MUIV_NList_Remove_Last
3145 When the active or a selected entry is removed,
3146 the following entry will become active.
3147 When the active is the removed and is the last,
3148 the new last become active.
3151 MUIM_NList_Insert, MUIA_NList_DestructHook
3152 \fNList.mcc/MUIM_NList_ReplaceSingle
3155 MUIM_NList_ReplaceSingle --
3158 DoMethod(obj,MUIM_NList_ReplaceSingle,
3159 APTR entry, LONG pos, LONG wrapcol, LONG align);
3162 Same function as MUIM_NList_InsertSingleWrap but replace an existing
3163 entry rather than inserting.
3164 It's better to do a direct replace than remove then insert it !
3167 entry - item to insert.
3169 pos - position of the entry to be replaced
3170 MUIV_NList_Insert_Top replace the first entry.
3171 MUIV_NList_Insert_Active replace the active entry.
3172 MUIV_NList_Insert_Bottom replace the last entry.
3173 Invalid positions will cause the replacement to fail!
3175 wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
3176 other col. NOWRAP if you don't want word wrap.
3177 So only one of (display hook) col 0 to 6 can be wrapped.
3179 align - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
3180 be aware that align will be used if there is no escape
3181 align sequence in the preparses or column entry string.
3184 MUIM_NList_Remove, MUIM_NList_InsertSingleWrap
3185 \fNList.mcc/MUIM_NList_Select
3188 MUIM_NList_Select --
3191 DoMethod(obj,MUIM_NList_Select,LONG pos, LONG seltype, LONG *state);
3194 Same function as List.mui/MUIM_List_Select when in TypeSelect_Line mode.
3196 In TypeSelect_Char mode, MUIV_NList_Select_Off will clear the selected
3197 area (don't look what is pos). MUIV_NList_Select_On will select the
3198 pos entry only (can be MUIV_NList_Select_Active or MUIV_NList_Select_All).
3199 MUIV_NList_Select_Ask will give the number off entry in the selected area.
3203 pos - Number of the entry or
3204 MUIV_NList_Select_Active for the active entry.
3205 MUIV_NList_Select_All for all entries.
3207 seltype - MUIV_NList_Select_Off unselect entry.
3208 MUIV_NList_Select_On select entry.
3209 MUIV_NList_Select_Toggle toggle entry.
3210 MUIV_NList_Select_Ask just ask about the state.
3212 state - Pointer to a longword. If not NULL, this will
3213 be filled with the current selection state.
3216 MUIA_NList_TypeSelect, MUIA_NList_MultiTestHook
3217 \fNList.mcc/MUIM_NList_SelectChange
3220 MUIM_NList_SelectChange -- Called on every selection change (V19.98)
3223 DoMethod(obj,MUIM_NList_SelectChange,LONG pos, LONG state, ULONG flags);
3226 This method cannot/should not be called. It's purpose is only to indicate
3227 selection state changes of entries in a more powerfull form than
3228 MUIA_NList_SelectChange does.
3229 It is only called when you are in line mode ie. MUIA_NList_TypeSelect is
3230 set to MUIV_NList_TypeSelect_Line, which is the default.
3232 pos - The position of the (un)selected entry. Can be
3233 MUIV_NList_Active_Off or something.
3234 state - The resulting state of the entry which can be MUIV_NList_Select_On,
3235 MUIV_NList_Select_Off or MUIV_NList_Select_Active.
3236 flags - Can be MUIV_NList_SelectChange_Flag_Multi for now which means
3237 that the entry was selected while holding down the mouse button.
3242 MUIA_NList_SelectChange, MUIA_NList_TypeSelect, MUIM_NList_Select
3243 \fNList.mcc/MUIM_NList_SetActive
3246 MUIM_NList_SetActive -- make a specific entry the active one (v20.125)
3249 DoMethod(obj, MUIM_NList_SetActive, LONG pos, ULONG flags);
3252 This method is a replacement function for the old-style way of making an
3253 entry active via a simple set(obj, MUIA_NList_Active, pos) call. While the
3254 old method still works, this new function has the advantage that it allows
3255 to set an entry active together with making it immediately visible in the
3257 Previously, a developer had to do a combination of a set() call to set
3258 MUIA_NList_Active and then immediately perform a MUIM_NList_Jump function
3259 call so that the entry becomes visible at the specific position. With this
3260 new function both operations are combined, potentially allowing future
3261 enhancements to be added via the additional 'flags' variable.
3264 The parameter description is as followed:
3266 pos - The position (int) of the entry which should be made the new
3267 active entry. This can also be MUIV_NList_Active_XXXX values as
3268 explained in the MUIA_NList_Active documentation. Furthermore,
3269 pos might also be perfectly a pointer to the entry directly in
3270 case you have specified the correct flag.
3272 flags - Can be a combination of the following flags:
3274 MUIV_NList_SetActive_Entry:
3276 the parameter 'pos' will be a pointer to the entry rather
3277 than the position (int) of the entry to be made active. If
3278 this flag is set NList will perform an internal GetPos()
3279 operation to first obtain the position and then set
3282 MUIV_NList_SetActive_Jump_Center:
3284 Together with making the specified entry the new active one
3285 the listview will also be scrolled so that the new entry
3286 will be shown centered instead of having it simply visible.
3289 MUIA_NList_Active, MUIM_NList_Jump
3290 \fNList.mcc/MUIM_NList_SetColumnCol
3293 MUIM_NList_SetColumnCol --
3296 DoMethod(obj,MUIM_NList_SetColumnCol,LONG column,LONG col);
3299 set which displayhook col is at the visible column.
3302 column number of the column (visible).
3303 if MUIV_NList_SetColumnCol_Default then the given (diplayhook) col
3304 will come back to its default/original (from List_Format) position.
3306 col col number (displayhook one).
3307 if MUIV_NList_SetColumnCol_Default then the given visible column
3308 will come back to its default/original (from List_Format) position.
3311 both set to MUIV_NList_SetColumnCol_Default make all columns
3312 come back to their default/original (from List_Format) position.
3318 MUIM_NList_SetColumnCol always exchange the moved column with the column
3319 which was were it move.
3322 MUIM_NList_ColToColumn, MUIM_NList_ColumnToCol, MUIA_NList_Columns
3323 \fNList.mcc/MUIM_NList_Sort
3329 DoMethod(obj,MUIM_NList_Sort);
3332 Same function as List.mui/MUIM_List_Sort.
3335 MUIA_NList_CompareHook, MUIA_NList_CompareHook2, MUIM_NList_Sort, MUIM_NList_Sort3,
3336 MUIA_NList_SortType, MUIA_NList_SortType2
3337 \fNList.mcc/MUIM_NList_Sort2
3343 DoMethod(obj,MUIM_NList_Sort2,LONG sort_type, LONG sort_type_add);
3346 Same function as MUIM_NList_Sort but will set MUIA_NList_SortType
3347 before starting the sort.
3349 It is really usefull only if you use MUIA_NList_CompareHook2 instead
3350 of classic MUIA_NList_CompareHook so your hook will be able to do
3351 different type of sort when NList_SortType change.
3354 sort_type - The new MUIA_NList_SortType value (see below).
3356 sort_type_add - If 0 then sort_type will be the new MUIA_NList_SortType,
3357 else if current MUIA_NList_SortType & MUIV_NList_SortTypeValue_Mask
3358 is same as sort_type then sort_type_add will be added to the
3359 MUIA_NList_SortType value,
3360 else sort_type will be the new MUIA_NList_SortType.
3362 See examples for special values.
3365 Many times this method will be used to sort multicolumn list in different
3366 ways when the user click on title buttons :
3368 DoMethod(list,MUIM_Notify,MUIA_NList_TitleClick, MUIV_EveryTime,
3369 list, 3, MUIM_NList_Sort2, MUIV_TriggerValue, MUIV_NList_SortTypeAdd_xxx);
3371 if MUIV_NList_SortTypeAdd_None then the hook sort_type value will be the column
3373 if MUIV_NList_SortTypeAdd_2Values then the hook sort_type value will be a cycle of
3374 values which change on each click :
3375 o Column number (first time)
3376 o Column number + MUIV_NList_SortTypeAdd_2Values
3377 o back to column number ...
3379 if MUIV_NList_SortTypeAdd_4Values then the hook sort_type value will be a cycle of
3380 values which change on each click :
3381 o Column number (first time)
3382 o Column number + MUIV_NList_SortTypeAdd_4Values
3383 o Column number + MUIV_NList_SortTypeAdd_4Values*2
3384 o Column number + MUIV_NList_SortTypeAdd_4Values*3
3385 o back to column number ...
3386 See NList-Demo program.
3389 MUIA_NList_CompareHook2, MUIM_NList_Sort, MUIM_NList_Sort3, MUIA_NList_SortType,
3390 MUIA_NList_SortType2
3391 \fNList.mcc/MUIM_NList_Sort3
3397 DoMethod(obj,MUIM_NList_Sort3,LONG sort_type, LONG sort_type_add, LONG which);
3400 Same function as MUIM_NList_Sort2 but will set MUIA_NList_SortType,
3401 MUIA_NList_SortType2 or both before starting the sort.
3403 When using MUIV_NList_Sort3_SortType_Both the method will change
3404 MUIA_NList_SortType exactly the same way as MUIM_NList_Sort2 would do
3405 it, then copy that value to MUIA_NList_SortType2.
3407 It is really usefull only if you use MUIA_NList_CompareHook2 instead
3408 of classic MUIA_NList_CompareHook so your hook will be able to do
3409 different type of sort when NList_SortType change.
3412 sort_type - The new MUIA_NList_SortType/2 value.
3414 sort_type_add - If 0 then sort_type will be the new MUIA_NList_SortType/2,
3415 else if current MUIA_NList_SortType/2 & MUIV_NList_SortTypeValue_Mask
3416 is same as sort_type then sort_type_add will be added to the
3417 MUIA_NList_SortType/2 value,
3418 else sort_type will be the new MUIA_NList_SortType/2.
3420 which - MUIV_NList_Sort3_SortType_1 set MUIA_NList_SortType value.
3421 MUIV_NList_Sort3_SortType_2 set MUIA_NList_SortType2 value.
3422 MUIV_NList_Sort3_SortType_Both set MUIA_NList_SortType value
3423 then copy it to MUIA_NList_SortType2.
3426 See NList-Demo program.
3429 MUIA_NList_CompareHook2, MUIM_NList_Sort, MUIM_NList_Sort2, MUIA_NList_SortType,
3430 MUIA_NList_SortType2
3431 \fNList.mcc/MUIM_NList_TestPos
3434 MUIM_NList_TestPos --
3437 DoMethod(obj,MUIM_NList_TestPos,LONG x, LONG y, struct MUI_NList_TestPos_Result *res);
3440 Find out which informations of a list which is currently
3441 displayed at a certain position.
3443 You must give a pointer to a valid MUI_NList_TestPos_Result struct.
3445 Set x AND y to MUI_MAXMAX to get infos about the last click position !
3447 See NList_mcc.h to know what values will be set in the struct.
3449 Preset char_number to -2 in the struct to not get char_number and char_xoffset
3450 informations. It's usefull if you don't need them because it will be
3451 faster for the method without finding them. the -2 value will stay valid
3454 You'll get char number from what you return from the DisplayHook if there is
3455 one, else from the beginning of the string/entry ptr.
3457 Be aware: if you use MUIM_List_TestPos you have to give a pointer to a
3458 struct MUI_List_TestPos_Result, and you'll get same infos as using a List object.
3459 It wasn't done as is before, makeing enforcer hits when trying to use NList
3460 or NFloattext with a Listview instead of a NListview (avoid it please, it's not
3461 done for it as Listview try to make many things itself, with possible conficts),
3462 because struct MUI_NList_TestPos_Result is bigger !!!
3465 column in the struct MUI_NList_TestPos_Result is the visible column number !
3466 \fNList.mcc/MUIM_NList_UseImage
3469 MUIM_NList_UseImage --
3472 DoMethod(obj,MUIM_NList_UseImage,Object *obj, ULONG imgnum, ULONG flags);
3475 If you want to use MUIM_NList_CreateImage/MUIM_NList_DeleteImage
3476 as you should, you must make a NList subclass which call them
3477 from Setup() and Cleanup(), and it's sometime complicated.
3479 To avoid that, you can use MUIM_NList_UseImage. NList will
3480 store the Bitmap/Bodychunk object you give and will make
3481 CreateImage and DeleteImage itself !
3483 MUIM_NList_UseImage can use same object as MUIM_NList_CreateImage !
3485 NULL is a valid obj. It will erase any previously UseImage
3486 with the same imgnum.
3488 The imgnum you give is the number that you will use in
3489 \33o[<n>] sequence as the <n> number.
3490 MUIM_NList_UseImage will accept 0 <= imgnum < 8192, anyway
3491 use small value if you can because an array will be allocated
3492 with the biggest imgnum value as size to store the
3493 Bitmap/Bodychunk objects.
3495 DoMethod(obj,MUIM_NList_UseImage, NULL, MUIV_NList_UseImage_All, 0)
3496 will set NULL to all stored objects, so you'll be able to dispose your
3497 Bitmap/Bodychunk objects if you want, without waiting the NList
3500 flags is the same than for MUIM_NList_CreateImage (0 unless special case).
3503 TRUE if succeeded to store the obj (and allocate the array
3504 if needed), else FALSE.
3506 There is no way to know if the MUIM_NList_CreateImage
3507 needed to draw will succeed/has succeeded.
3510 The given Bitmap/Bodychunk object MUST be valid until the
3511 NList object is disposed or you set another object (or NULL)
3512 at the same imgnum !
3513 The Bitmap/Bodychunk object can be shared with other NList
3514 object because NList just use it to get informations, anyway
3515 you mustn't change informations of that object. If you to do
3516 so, do a UseImage,NULL,x , change it then do UseImage,imgobj,x
3520 MUIM_NList_CreateImage, MUIM_NList_DeleteImage