Moving to main tree, needed by SysExplorer
[AROS.git] / workbench / classes / zune / nlist / docs / MCC_NList.doc
blobe48f88ff27b5787440b987d221de075bc0552a86
1 TABLE OF CONTENTS
3 NList.mcc/NList.mcc
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-2010 by NList Open Source Team
138     $Id$
140     This MCC public custom class is very similar to the MUI's list
141     class.
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
149     scrollbar.
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
169                           but only at init.
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.
185         MUIA_ContextMenu
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
204     NAME
205         MUIA_NList_Active -- [ISGN], LONG
207     SPECIAL INPUTS
208         MUIV_NList_Active_Off
209         MUIV_NList_Active_Top
210         MUIV_NList_Active_Bottom
211         MUIV_NList_Active_Up
212         MUIV_NList_Active_Down
213         MUIV_NList_Active_PageUp
214         MUIV_NList_Active_PageDown
216     FUNCTION
217         Same function as List.mui/MUIA_List_Active.
219     SEE ALSO
220         MUIA_NList_Entries, MUIA_NList_First, MUIA_NList_Visible
221 \fNList.mcc/MUIA_NList_ActiveObjectOnClick
223     NAME
224         MUIA_NList_ActiveObjectOnClick -- [ISG], BOOL
226     FUNCTION
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
233         keys pressed.
235     DEFAULT
236         FALSE
238     SEE ALSO
239         MUIA_NList_DefaultObjectOnClick
240         MUIA_NList_KeepActive
241         MUIA_NList_MakeActive
242 \fNList.mcc/MUIA_NList_AdjustHeight
244     NAME
245         MUIA_NList_AdjustHeight -- [I..], BOOL
247     FUNCTION
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.
258     DEFAULT
259         FALSE
261     SEE ALSO
262         MUIA_List_AdjustHeight, MUIA_NList_AdjustWidth
263 \fNList.mcc/MUIA_NList_AdjustWidth
265     NAME
266         MUIA_NList_AdjustWidth -- [I..], BOOL
268     FUNCTION
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.
275     DEFAULT
276         FALSE
278     SEE ALSO
279         MUIA_List_AdjustWidth, MUIA_NList_AdjustHeight
281 \fNList.mcc/MUIA_NList_AutoClip
283     NAME
284         MUIA_NList_AutoClip -- [ISG], BOOL
286     FUNCTION
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
290         mouse.
292     DEFAULT
293         TRUE
295     WARNING
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.
301     SEE ALSO
302         MUIA_NList_Input
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
310     NAME
311         MUIA_NList_AutoCopyToClip -- [IS.], BOOL
313     FUNCTION
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!
324     DEFAULT
325         TRUE
327     SEE ALSO
328         MUIA_NList_AutoClip
329         MUIA_NList_CopyColumnToClipHook
330         MUIA_NList_CopyEntryToClipHook
331         MUIM_NList_CopyToClip
332 \fNList.mcc/MUIA_NList_AutoVisible
334     NAME
335         MUIA_NList_AutoVisible -- [ISG], BOOL
337     FUNCTION
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.
343     DEFAULT
344         FALSE
346    SEE ALSO
347         MUIA_List_AutoVisible, MUIA_NList_Active
348 \fNList.mcc/MUIA_NList_ButtonClick
350     NAME
351         MUIA_NList_ButtonClick -- [..GN], LONG
353     FUNCTION
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.
363     SEE ALSO
364         MUIA_NList_DisplayHook, MUIA_NList_DoubleClick, MUIA_NList_MultiClick,
365         MUIA_NList_EntryClick, MUIA_NList_TitleClick
366 \fNList.mcc/MUIA_NList_ClickColumn
368     NAME
369         MUIA_NList_ClickColumn -- [..G], LONG
371     FUNCTION
372         Same function as Listview.mui/MUIA_Listview_ClickColumn.
374     SEE ALSO
375         MUIA_Listview_ClickColumn, MUIA_NList_DefClickColumn
376 \fNList.mcc/MUIA_NList_Columns
378     NAME
379         MUIA_NList_Columns -- [ISGN], BYTE *
381     FUNCTION
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.
392     NOTE
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
396         is ok.
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).
401     SEE ALSO
402         MUIM_NList_SetColumnCol, MUIM_NList_ColToColumn, MUIM_NList_ColumnToCol
403 \fNList.mcc/MUIA_NList_CompareHook
405     NAME
406         MUIA_NList_CompareHook -- [IS.], struct Hook *
408     FUNCTION
409         Same function as List.mui/MUIA_List_CompareHook.
411     SEE ALSO
412         MUIA_NList_ConstructHook, MUIA_NList_DestructHook
413 \fNList.mcc/MUIA_NList_CompareHook2
415     NAME
416         MUIA_NList_CompareHook2 -- [IS.], struct Hook *
418     FUNCTION
419         Same function as MUIA_NList_CompareHook but A2 will be the object
420         and A1 a NList_CompareMessage struct pointer.
422     EXAMPLES
423         See NList-Demo program.
425     SEE ALSO
426         MUIA_NList_CompareHook
427 \fNList.mcc/MUIA_NList_ConstructHook
429     NAME
430         MUIA_NList_ConstructHook -- [IS.], struct Hook *
432     FUNCTION
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.
440     SPECIAL INPUTS
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
446         too if you use it.
448     SEE ALSO
449         MUIA_NList_DestructHook, MUIA_NList_DisplayHook
450 \fNList.mcc/MUIA_NList_ConstructHook2
452     NAME
453         MUIA_NList_ConstructHook2 -- [IS.], struct Hook *
455     FUNCTION
456         Same function as MUIA_NList_ConstructHook but A2 will be the object
457         and A1 a NList_ConstructMessage struct pointer.
459     SEE ALSO
460         MUIA_NList_ConstructHook
461 \fNList.mcc/MUIA_NList_CopyColumnToClipHook
463     NAME
464         MUIA_NList_CopyColumnToClipHook -- [IS.], struct Hook *
466     FUNCTION
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
474         char and the last+1.
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.
483     SEE ALSO
484         MUIM_NList_CopyToClip, MUIA_NList_CopyEntryToClipHook,
485         MUIA_NList_DisplayHook
486 \fNList.mcc/MUIA_NList_CopyColumnToClipHook2
488     NAME
489         MUIA_NList_CopyColumnToClipHook2 -- [IS.], struct Hook *
491     FUNCTION
492         Same function as MUIA_NList_CopyColumnToClipHook but A2 will be the object
493         and A1 a NList_CopyColumnToClipMessage struct pointer.
495     SEE ALSO
496         MUIA_NList_CopyColumnToClipHook
497 \fNList.mcc/MUIA_NList_CopyEntryToClipHook
499     NAME
500         MUIA_NList_CopyEntryToClipHook -- [IS.], struct Hook *
502     FUNCTION
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,
513         else it's -1.
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
527         not be included.
529         You should use MUIA_NList_CopyColumnToClipHook unless you don't
530         want to be copied what is seen in the list.
532     SEE ALSO
533         MUIM_NList_CopyToClip, MUIA_NList_CopyColumnToClipHook,
534         MUIA_NList_DisplayHook
535 \fNList.mcc/MUIA_NList_CopyEntryToClipHook2
537     NAME
538         MUIA_NList_CopyEntryToClipHook2 -- [IS.], struct Hook *
540     FUNCTION
541         Same function as MUIA_NList_CopyEntryToClipHook but A2 will be the object
542         and A1 a NList_CopyEntryToClipMessage struct pointer.
544     SEE ALSO
545         MUIA_NList_CopyEntryToClipHook
546 \fNList.mcc/MUIA_NList_DefaultObjectOnClick
548     NAME
549         MUIA_NList_DefaultObjectOnClick -- [ISG], BOOL
551     FUNCTION
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)
564     DEFAULT
565         TRUE
567     SEE ALSO
568         MUIA_NList_KeepActive,MUIA_NList_MakeActive
569 \fNList.mcc/MUIA_NList_DefClickColumn
571     NAME
572         MUIA_NList_DefClickColumn -- [ISG], LONG
574     FUNCTION
575         Same function as Listview.mui/MUIA_Listview_DefClickColumn.
577     SEE ALSO
578         MUIA_Listview_DefClickColumn, MUIA_NList_ClickColumn
579 \fNList.mcc/MUIA_NList_DestructHook
581     NAME
582         MUIA_NList_DestructHook -- [IS.], struct Hook *
584     FUNCTION
585         Same function as List.mui/MUIA_List_DestructHook.
587     SPECIAL INPUTS
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.
594     SEE ALSO
595         MUIA_NList_ConstructHook, MUIA_NList_DisplayHook
596 \fNList.mcc/MUIA_NList_DestructHook2
598     NAME
599         MUIA_NList_DestructHook2 -- [IS.], struct Hook *
601     FUNCTION
602         Same function as MUIA_NList_DestructHook but A2 will be the object
603         and A1 a NList_DestructMessage struct pointer.
605     SEE ALSO
606         MUIA_NList_DestructHook
607 \fNList.mcc/MUIA_NList_DisplayHook
609     NAME
610         MUIA_NList_DisplayHook -- [IS.], struct Hook *
612     FUNCTION
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
627         you want to display.
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
633         string.
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
648         columns contents).
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
690                     with some color :
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).
720     SEE ALSO
721         MUIA_NList_Format, MUIA_Text_Contents, MUIA_List_DisplayHook,
722         MUIA_NList_DisplayRecall
723 \fNList.mcc/MUIA_NList_DisplayHook2
725     NAME
726         MUIA_NList_DisplayHook2 -- [IS.], struct Hook *
728     FUNCTION
729         Same function as MUIA_NList_DisplayHook but A2 will be the object
730         and A1 a NList_DisplayMessage struct pointer.
732     SEE ALSO
733         MUIA_NList_DisplayHook
734 \fNList.mcc/MUIA_NList_DisplayRecall
736     NAME
737         MUIA_NList_DisplayRecall -- [.S.], BOOL
739     FUNCTION
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.
745     SEE ALSO
746         MUIA_NList_DisplayHook
747 \fNList.mcc/MUIA_NList_DoubleClick
749     NAME
750         MUIA_NList_DoubleClick -- [..GN], LONG
752     FUNCTION
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
757         it's the title.
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.
767     NOTE
768         Disabled for the title when MUIA_NList_TitleClick is used.
770     SEE ALSO
771         MUIA_NList_MultiClick, MUIA_NList_TitleClick,
772         MUIA_NList_EntryClick, MUIM_NList_TestPos.
773 \fNList.mcc/MUIA_NList_DragColOnly
775     NAME
776         MUIA_NList_DragColOnly -- [ISG], LONG
778     FUNCTION
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
784         changed it !
785 \fNList.mcc/MUIA_NList_DragSortable
787     NAME
788         MUIA_NList_DragSortable -- [ISG], BOOL
790     FUNCTION
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.
797     DEFAULT
798         FALSE
799 \fNList.mcc/MUIA_NList_DragSortInsert
801     NAME
802         MUIA_NList_DragSortInsert -- [..GN], BOOL
804     FUNCTION
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
809     NAME
810         MUIA_NList_DragType -- [ISG], LONG
812     SPECIAL INPUTS
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.
820     FUNCTION
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
828     NAME
829         MUIA_NList_DropMark -- [..G], LONG
831     FUNCTION
832         Same function as List.mui/MUIA_List_DropMark.
834         After a successfull drop operation, this attribute holds
835         the position where we should insert the new entry(ies).
837     SEE ALSO
838         MUIA_NList_DropType, MUIM_NList_DropType, MUIM_NList_DropDraw
839 \fNList.mcc/MUIA_NList_DropType
841     NAME
842         MUIA_NList_DropType -- [..G], LONG
844     FUNCTION
845         Same function as MUIA_NList_DropMark but will return the
846         current DropMark type instead of the DropMark entry number.
848         After a successfull drop operation, this attribute holds
849         the type of dropmark which where drawn.
851     SEE ALSO
852         MUIA_NList_DropMark, MUIM_NList_DropType, MUIM_NList_DropDraw
853 \fNList.mcc/MUIA_NList_Entries
855     NAME
856         MUIA_NList_Entries -- [..GN], LONG
858     FUNCTION
859         Same function as List.mui/MUIA_List_Entries.
861     SEE ALSO
862         MUIA_NList_First, MUIA_NList_Visible, MUIA_NList_Active
863 \fNList.mcc/MUIA_NList_EntryClick
865     NAME
866         MUIA_NList_EntryClick -- [..GN], LONG
868     FUNCTION
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.
882     SEE ALSO
883         MUIA_NList_MultiClick, MUIA_NList_TitleClick,
884         MUIA_NList_DoubleClick, MUIM_NList_TestPos.
885 \fNList.mcc/MUIA_NList_EntryValueDependent
887     NAME
888         MUIA_NList_EntryValueDependent -- [ISG], BOOL
890     FUNCTION
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.
895     DEFAULT
896         FALSE
898     SEE ALSO
899         MUIA_NList_DisplayHook
900 \fNList.mcc/MUIA_NList_Exports
902     NAME
903         MUIA_NList_Exports -- [ISG], LONG
905     FUNCTION
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).
910     SPECIAL INPUTS
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
919     NOTE
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.
927     DEFAULT
928         (MUIV_NList_Exports_Active | MUIV_NList_Exports_First | MUIV_NList_Exports_Cols)
930     SEE ALSO
931         MUIA_NList_Imports
932 \fNList.mcc/MUIA_NList_First
934     NAME
935         MUIA_NList_First -- [ISGN], LONG
937     SPECIAL INPUTS
938         MUIV_NList_First_Top
939         MUIV_NList_First_Bottom
940         MUIV_NList_First_Up
941         MUIV_NList_First_Down
942         MUIV_NList_First_PageUp
943         MUIV_NList_First_PageDown
945     FUNCTION
946         Get the number of the first visible entry.
947         You can set it to change the first entry you want to be visible.
949     SEE ALSO
950         MUIA_NList_Visible, MUIA_NList_Entries, MUIA_NList_Active
951 \fNList.mcc/MUIA_NList_ForcePen
953     NAME
954         MUIA_NList_ForcePen -- [ISG], LONG
956     SPECIAL INPUTS
957         MUIV_NList_ForcePen_On
958         MUIV_NList_ForcePen_Off
959         MUIV_NList_ForcePen_Default
961     FUNCTION
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
971     NAME
972         MUIA_NList_Format -- [ISG], STRPTR
974     FUNCTION
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,
990         PARTCOLSUBST=PCS/K
992     First ones are like (or nearly) MUIA_List_Format ones :
994         DELTA
995            Space in pixel between this column and the next.
996            the last displayed column ignores this setting.
997            Defaults to 4.
999         PREPARSE
1000            A preparse string for this column.
1002         COL
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.
1007         BAR
1008            Will draw a vertical bar between this and the next column.
1010         WEIGHT
1011            The weight of the column. As for MUI's group.
1013         MINWIDTH
1014            Minimum percentage of the list width for the current column.
1016         MAXWIDTH
1017            Maximum percentage of the list width for the current column.
1019         TBAR
1020            Will draw a vertical bar between this and the next column
1021            but only in the title (ignored if BAR is set).
1022            THIS IS A DEFAULT !
1024         NOBAR
1025            Don't draw a vertical bar between this and the next column at all.
1027         SIMPLEBAR
1028            Make te vertical bar a simple black one.
1030         NOTITLEBUTTON
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
1033            on it).
1035         COLWIDTH
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.
1042         MINCOLWIDTH
1043            Minimum number of chars for the current column.
1045         MAXCOLWIDTH
1046            Maximum number of chars for the current column.
1048         PIXWIDTH
1049            Wanted number of chars for the current column.
1051         MINPIXWIDTH
1052            Minimum number of chars for the current column.
1054         MAXPIXWIDTH
1055            Maximum number of chars for the current column.
1057         PARTCOLSUBST
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
1065            this option are:
1067               DISABLED
1068                 explicitly disables this feature for this
1069                 column
1071               LEFT
1072                 put "..." on the left side and strip text
1073                 left aligned.
1075               CENTER
1076                 put "..." at the center of the column and
1077                 strip text on both sides around it.
1079               RIGHT
1080                 put "..." on the right side and strip text
1081                 right aligned.
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
1101         chars you want.
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
1118         the min value.
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
1127         same overhead.
1129         The default list format is an empty string (""), this
1130         means a one column list without special formatting.
1132     NOTE
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.
1144     BUGS (FEATURE)
1145         Currently there is a maximum of 64 columns for a list.
1147     SEE ALSO
1148         MUIA_NList_DisplayHook, MUIA_NList_TitleSeparator.
1149 \fNList.mcc/MUIA_NList_Horiz_DeltaFactor
1151     NAME
1152         MUIA_NList_Horiz_DeltaFactor -- [..GN], LONG
1154     FUNCTION
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);
1162     SEE ALSO
1163         MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_First, MUIA_NList_Horiz_Visible
1164 \fNList.mcc/MUIA_NList_Horiz_Entries
1166     NAME
1167         MUIA_NList_Horiz_Entries -- [..GN], LONG
1169     FUNCTION
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);
1176     SEE ALSO
1177         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_First, MUIA_NList_Horiz_Visible
1178 \fNList.mcc/MUIA_NList_Horiz_First
1180     NAME
1181         MUIA_NList_Horiz_First -- [.SGN], LONG
1183     FUNCTION
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);
1192     SEE ALSO
1193         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_Visible
1194 \fNList.mcc/MUIA_NList_Horiz_Visible
1196     NAME
1197         MUIA_NList_Horiz_Visible -- [..GN], LONG
1199     FUNCTION
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);
1206     SEE ALSO
1207         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_First
1208 \fNList.mcc/MUIA_NList_IgnoreSpecialChars
1210     NAME
1211         MUIA_NList_IgnoreSpecialChars -- [ISG], const char *
1213     FUNCTION
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
1218         breaking space".
1219         This string will *NOT* be copied by NList and must remain valid as long
1220         as the object exists!
1222     DEFAULT
1223         NULL
1224 \fNList.mcc/MUIA_NList_Imports
1226     NAME
1227         MUIA_NList_Imports -- [ISG], LONG
1229     FUNCTION
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).
1234     SPECIAL INPUTS
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
1243     DEFAULT
1244         (MUIV_NList_Imports_Active | MUIV_NList_Imports_First | MUIV_NList_Imports_Cols)
1246     SEE ALSO
1247         MUIA_NList_Exports
1248 \fNList.mcc/MUIA_NList_Input
1250     NAME
1251         MUIA_NList_Input -- [ISG], BOOL
1253     FUNCTION
1254         Same function as NListview.mcc/MUIA_Listview_Input.
1256     DEFAULT
1257         TRUE
1259     SEE ALSO
1260         MUIA_NList_MultiSelect
1261 \fNList.mcc/MUIA_NList_InsertPosition
1263     NAME
1264         MUIA_NList_InsertPosition -- [..GN], LONG
1266     FUNCTION
1267         Same function as List.mui/MUIA_List_InsertPosition.
1269 \fNList.mcc/MUIA_NList_KeepActive
1271     NAME
1272         MUIA_NList_KeepActive -- [.S.], Obj *
1274     FUNCTION
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.
1280     SEE ALSO
1281         MUIA_NList_DefaultObjectOnClick,MUIA_NList_MakeActive
1282 \fNList.mcc/MUIA_NList_KeyUpFocus
1284     NAME
1285         MUIA_NList_KeyUpFocus -- [ISG], Object *
1287     FUNCTION
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
1291         scroll up.
1293     SEE ALSO
1294         MUIA_NList_KeyDownFocus
1295         MUIA_NList_KeyLeftFocus
1296         MUIA_NList_KeyRightFocus
1298 \fNList.mcc/MUIA_NList_KeyDownFocus
1300     NAME
1301         MUIA_NList_KeyDownFocus -- [ISG], Object *
1303     FUNCTION
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
1307         scroll down.
1309     SEE ALSO
1310         MUIA_NList_KeyUpFocus
1311         MUIA_NList_KeyLeftFocus
1312         MUIA_NList_KeyRightFocus
1314 \fNList.mcc/MUIA_NList_KeyLeftFocus
1316     NAME
1317         MUIA_NList_KeyLeftFocus -- [ISG], Object *
1319     FUNCTION
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
1323         scroll to the left.
1325     SEE ALSO
1326         MUIA_NList_KeyUpFocus
1327         MUIA_NList_KeyDownFocus
1328         MUIA_NList_KeyRightFocus
1330 \fNList.mcc/MUIA_NList_KeyRightFocus
1332     NAME
1333         MUIA_NList_KeyRightFocus -- [ISG], Object *
1335     FUNCTION
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.
1341     SEE ALSO
1342         MUIA_NList_KeyUpFocus
1343         MUIA_NList_KeyDownFocus
1344         MUIA_NList_KeyLeftFocus
1346 \fNList.mcc/MUIA_NList_LineHeight
1348     NAME
1349         MUIA_NList_LineHeight -- [..GN], LONG
1351     FUNCTION
1352         Get the current line height.
1353 \fNList.mcc/MUIA_NList_MakeActive
1355     NAME
1356         MUIA_NList_MakeActive -- [.S.], Obj *
1358     FUNCTION
1359         Use it if you want an object to be activated when you click
1360         in the list object.
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.
1371     SEE ALSO
1372         MUIA_NList_DefaultObjectOnClick,MUIA_NList_KeepActive
1373 \fNList.mcc/MUIA_NList_MinColSortable
1375     NAME
1376         MUIA_NList_MinColSortable -- [ISG], LONG
1378     FUNCTION
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
1388     NAME
1389         MUIA_NList_MinLineHeight -- [IS.], LONG
1391     FUNCTION
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
1398         font height.
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
1406     NAME
1407         MUIA_NList_MultiClick -- [..GN], LONG
1409     FUNCTION
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.
1424     NOTE
1425         Disabled for the title when MUIA_NList_TitleClick is used.
1427     SEE ALSO
1428         MUIA_NList_MultiClickAlone, MUIA_NList_DoubleClick, MUIA_NList_TitleClick,
1429         MUIA_NList_EntryClick, MUIM_NList_TestPos.
1430 \fNList.mcc/MUIA_NList_MultiClickAlone
1432     NAME
1433         MUIA_NList_MultiClickAlone -- [..GN], LONG
1435     FUNCTION
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
1443         and the notify.
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.
1450     SEE ALSO
1451         MUIA_NList_MultiClick, MUIA_NList_DoubleClick, MUIA_NList_TitleClick,
1452         MUIA_NList_EntryClick, MUIM_NList_TestPos.
1453 \fNList.mcc/MUIA_NList_MultiSelect
1455     NAME
1456         MUIA_NList_MultiSelect -- (V7 ) [I..], LONG
1458     SPECIAL INPUTS
1459         MUIV_NList_MultiSelect_None
1460         MUIV_NList_MultiSelect_Default
1461         MUIV_NList_MultiSelect_Shifted
1462         MUIV_NList_MultiSelect_Always
1464     FUNCTION
1465         Same function as Listview.mui/MUIA_Listview_MultiSelect.
1467         < At the moment MultiSelect_Default is the same
1468         as MultiSelect_Shifted >
1470     SEE ALSO
1471         MUIA_NList_MultiTestHook
1472 \fNList.mcc/MUIA_NList_MultiTestHook
1474     NAME
1475         MUIA_NList_MultiTestHook -- [IS.], struct Hook *
1477     FUNCTION
1478         Same function as List.mui/MUIA_List_MultiTestHook.
1480     SEE ALSO
1481         MUIA_NList_ConstructHook, MUIA_NList_DestructHook
1482 \fNList.mcc/MUIA_NList_Pool
1484     NAME
1485         MUIA_NList_Pool -- [I..], APTR
1487     FUNCTION
1488         Same function as List.mui/MUIA_List_Pool.
1490     SEE ALSO
1491         MUIA_NList_PoolPuddleSize, MUIA_NList_PoolThreshSize
1492 \fNList.mcc/MUIA_NList_PoolPuddleSize
1494     NAME
1495         MUIA_NList_PoolPuddleSize -- [I..], ULONG
1497     FUNCTION
1498         Same function as List.mui/MUIA_List_PoolPuddleSize.
1500     SEE ALSO
1501         MUIA_NList_PoolThreshSize, MUIA_NList_Pool
1502 \fNList.mcc/MUIA_NList_PoolThreshSize
1504     NAME
1505         MUIA_NList_PoolThreshSize -- [I..], ULONG
1507     FUNCTION
1508         Same function as List.mui/MUIA_List_PoolThreshSize.
1510     SEE ALSO
1511         MUIA_NList_PoolPuddleSize, MUIA_NList_Pool
1512 \fNList.mcc/MUIA_NList_PrivateData
1514     NAME
1515         MUIA_NList_PrivateData -- [ISG], APTR
1517     FUNCTION
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.
1521     SEE ALSO
1522         MUIA_NList_DisplayHook, MUIA_NList_CopyEntryToClipHook,
1523         MUIA_NList_CopyColumnToClipHook
1524 \fNList.mcc/MUIA_NList_Prop_DeltaFactor
1526     NAME
1527         MUIA_NList_Prop_DeltaFactor -- [..GN], LONG
1529     FUNCTION
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);
1537     SEE ALSO
1538         MUIA_NList_Prop_Entries, MUIA_NList_Prop_First, MUIA_NList_Prop_Visible
1539 \fNList.mcc/MUIA_NList_Prop_Entries
1541     NAME
1542         MUIA_NList_Prop_Entries -- [..GN], LONG
1544     FUNCTION
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);
1551     SEE ALSO
1552         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_First, MUIA_NList_Prop_Visible
1553 \fNList.mcc/MUIA_NList_Prop_First
1555     NAME
1556         MUIA_NList_Prop_First -- [.SGN], LONG
1558     FUNCTION
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);
1567     SEE ALSO
1568         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_Entries, MUIA_NList_Prop_Visible
1569 \fNList.mcc/MUIA_NList_Prop_Visible
1571     NAME
1572         MUIA_NList_Prop_Visible -- [..GN], LONG
1574     FUNCTION
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);
1581     SEE ALSO
1582         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_Entries, MUIA_NList_Prop_First
1583 \fNList.mcc/MUIA_NList_Quiet
1585     NAME
1586         MUIA_NList_Quiet -- [.S.], BOOL
1588     FUNCTION
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
1596         the Quiet_None).
1598     SPECIAL INPUTS
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
1603     SEE ALSO
1604         MUIM_NList_Insert, MUIM_NList_Remove
1605 \fNList.mcc/MUIA_NList_SelectChange
1607     NAME
1608         MUIA_NList_SelectChange -- [...N], BOOL
1610     FUNCTION
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
1615         list is changing.
1617     DEFAULT
1618         FALSE
1620     SEE ALSO
1621         MUIA_NList_MultiSelect
1622 \fNList.mcc/MUIA_NList_ShowDropMarks
1624     NAME
1625         MUIA_NList_ShowDropMarks -- [ISG], BOOL
1627     FUNCTION
1628         Same function as List.mui/MUIA_List_ShowDropMarks.
1630     DEFAULT
1631         FALSE
1633     SEE ALSO
1634         MUIA_NList_DropMark
1635 \fNList.mcc/MUIA_NList_SkipChars
1637     NAME
1638         MUIA_NList_SkipChars -- [ISG], char *
1640     FUNCTION
1641         Same function as Floattext.mui/MUIA_Floattext_SkipChars.
1642 \fNList.mcc/MUIA_NList_SortType
1644     NAME
1645         MUIA_NList_SortType -- [ISGN], LONG
1647     FUNCTION
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.
1653     EXAMPLES
1654         See NList-Demo program.
1656     SEE ALSO
1657         MUIA_NList_CompareHook2, MUIM_NList_Sort2, MUIM_NList_Sort3, MUIA_NList_SortType2
1658 \fNList.mcc/MUIA_NList_SortType2
1660     NAME
1661         MUIA_NList_SortType2 -- [ISGN], LONG
1663     FUNCTION
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.
1669     EXAMPLES
1670         See NList-Demo program.
1672     SEE ALSO
1673         MUIA_NList_CompareHook2, MUIM_NList_Sort2, MUIM_NList_Sort3, MUIA_NList_SortType
1674 \fNList.mcc/MUIA_NList_SourceArray
1676     NAME
1677         MUIA_NList_SourceArray -- [I..], APTR
1679     FUNCTION
1680         Same function as List.mui/MUIA_List_SourceArray.
1681 \fNList.mcc/MUIA_NList_SourceInsert
1683     NAME
1684         MUIA_NList_SourceInsert -- [I..], struct MUIP_NList_InsertWrap *
1686     FUNCTION
1687         Same as DoMethod(obj,MUIM_NList_InsertWrap,...)
1688         with ... same as the contents of the passed struct,
1689         but at init.
1691     SEE ALSO
1692         MUIM_NList_InsertWrap
1693 \fNList.mcc/MUIA_NList_SourceString
1695     NAME
1696         MUIA_NList_SourceString -- [I..], char *
1698     FUNCTION
1699         Same as
1700         DoMethod(obj,MUIM_List_Insert,string,-2,MUIV_NList_Insert_Bottom)
1701         but at init.
1703     SEE ALSO
1704         MUIM_List_Insert
1705 \fNList.mcc/MUIA_NList_TabSize
1707     NAME
1708         MUIA_NList_TabSize -- [ISG], ULONG
1710     FUNCTION
1711         Same function as Floattext.mui/MUIA_Floattext_TabSize.
1713         Set how many spaces is the tabulation.
1715         Default is 8.
1716 \fNList.mcc/MUIA_NList_Title
1718     NAME
1719         MUIA_NList_Title -- [ISG], char *
1721     FUNCTION
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.
1732     SEE ALSO
1733         MUIA_NList_DisplayHook, MUIA_NList_TitleSeparator
1734 \fNList.mcc/MUIA_NList_TitleClick
1736     NAME
1737         MUIA_NList_TitleClick -- [ISGN], LONG
1739     FUNCTION
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.
1765     NOTE
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.
1770     EXAMPLES
1771         See NList-Demo program.
1773     SEE ALSO
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
1779     NAME
1780         MUIA_NList_TitleClick2 -- [ISGN], LONG
1782     FUNCTION
1783         Works like MUIA_NList_TitleClick but when the qualifier is press while clicking
1785     EXAMPLES
1786         See NList-Demo program.
1788     SEE ALSO
1789         MUIA_NList_TitleClick, MUIA_NList_TitleMark, MUIA_NList_TitleMark2
1790 \fNList.mcc/MUIA_NList_TitleMark
1792     NAME
1793         MUIA_NList_TitleMark -- [ISG], LONG
1795     FUNCTION
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).
1803     SPECIAL INPUTS
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
1810     EXAMPLES
1811         See NList-Demo program.
1813     SEE ALSO
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
1818     NAME
1819         MUIA_NList_TitleMark2 -- [ISG], LONG
1821     FUNCTION
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).
1829     SPECIAL INPUTS
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
1836     EXAMPLES
1837         See NList-Demo program.
1839     SEE ALSO
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
1844     NAME
1845         MUIA_NList_TitleSeparator -- [ISG], BOOL
1847     FUNCTION
1848         If you set it, you get an horizontal bar between the
1849         title and the first visible entry (only when some title
1850         is visible).
1852     DEFAULT
1853         TRUE
1855     SEE ALSO
1856         MUIA_NList_Title
1857 \fNList.mcc/MUIA_NList_TypeSelect
1859     NAME
1860         MUIA_NList_TypeSelect -- [IS.], LONG
1862     SPECIAL INPUTS
1863         MUIV_NList_TypeSelect_Line
1864         MUIV_NList_TypeSelect_Char
1866     FUNCTION
1867         Setting this tag you can choose between the classic
1868         list selection by line, or using a char precision
1869         selection.
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.
1878     SEE ALSO
1879         MUIM_NList_Select, MUIM_List_Select
1880 \fNList.mcc/MUIA_NList_Visible
1882     NAME
1883         MUIA_NList_Visible -- [..G], LONG
1885     FUNCTION
1886         Same function as List.mui/MUIA_List_Visible.
1888     SEE ALSO
1889         MUIA_NList_First, MUIA_NList_Entries, MUIA_NList_Active
1890 \fNList.mcc/MUIA_NList_XXXBackground
1892     NAME
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
1899     FUNCTION
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
1907     NAME
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
1914     FUNCTION
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
1924     NAME
1925         MUIM_NList_Clear --
1927     SYNOPSIS
1928         DoMethod(obj,MUIM_NList_Clear,);
1930     FUNCTION
1931         Same function as List.mui/MUIM_List_Clear.
1933     SEE ALSO
1934         MUIM_NList_Insert, MUIA_NList_DestructHook
1935 \fNList.mcc/MUIM_NList_ColWidth
1937     NAME
1938         MUIM_NList_ColWidth --
1940     SYNOPSIS
1941         DoMethod(obj,MUIM_NList_ColWidth,LONG col,LONG width);
1943     FUNCTION
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.
1948     INPUTS
1949         col     number of the col (numbered as in display hook).
1951                 special value :
1952               MUIV_NList_ColWidth_All     will set it for all columns.
1954         width   width to set (4 is the minimum width accepted).
1956                 special values :
1957               MUIV_NList_ColWidth_Default reset to default.
1958               MUIV_NList_ColWidth_Get     set nothing, only return current.
1960     RESULT
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
1969     NAME
1970         MUIM_NList_ColToColumn --
1972     SYNOPSIS
1973         DoMethod(obj,MUIM_NList_ColToColumn,LONG col);
1975     FUNCTION
1976         converts display hook col number to visible column number.
1978     INPUTS
1979         col     number of the col (numbered as in display hook).
1981     RESULT
1982         column number, -1 if no column use that col number.
1984     SEE ALSO
1985         MUIM_NList_ColumnToCol, MUIM_NList_SetColumnCol, MUIA_NList_Columns
1986 \fNList.mcc/MUIM_NList_ColumnToCol
1988     NAME
1989         MUIM_NList_ColumnToCol --
1991     SYNOPSIS
1992         DoMethod(obj,MUIM_NList_ColumnToCol,LONG column);
1994     FUNCTION
1995         converts visible column number to display hook col number.
1997     INPUTS
1998         column   number of the column (visible).
2000     RESULT
2001         col number, -1 if the column is not valid.
2003     SEE ALSO
2004         MUIM_NList_ColToColumn, MUIM_NList_SetColumnCol, MUIA_NList_Columns
2005 \fNList.mcc/MUIM_NList_Compare
2007         NAME
2008                 MUIM_NList_Compare --
2010         SYNOPSIS
2011                 DoMethod(obj,MUIM_NList_Compare,APTR entry1,APTR entry2,
2012         ULONG sort_type1,ULONG sort_type2);
2014         FUNCTION
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
2023         in that case.
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.
2029         INPUTS
2030                 entry1     - First entry to compare.
2032                 entry2     - Second entry to compare.
2034                 sort_type1 - Sort type 1.
2036                 sort_type2 - Sort type 2.
2038         RESULTS
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.
2043         NOTE
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.
2051         SEE ALSO
2052                 MUIA_NList_CompareHook, MUIA_NList_CompareHook2,
2053                 MUIM_NList_Construct, MUIM_NList_Destruct, MUIM_NList_Display
2055 \fNList.mcc/MUIM_NList_Construct
2057         NAME
2058                 MUIM_NList_Construct --
2060         SYNOPSIS
2061         DoMethod(obj,MUIM_NList_Construct,APTR entry,APTR pool);
2063     FUNCTION
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.
2078         INPUTS
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.
2086     RESULT
2087                 New entry, similar as returned by one of construct hooks.
2089         NOTE
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.
2097         SEE ALSO
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
2104     NAME
2105         MUIM_NList_ContextMenuBuild --
2107     SYNOPSIS
2108         DoMethod(obj,MUIM_NList_ContextMenuBuild, LONG mx, LONG my, LONG pos,
2109                                                 LONG column, LONG flags,LONG ontop);
2111     FUNCTION
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)
2137           and
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)
2163         mx      current mouse x.
2164         my      current mouse y.
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.
2170     RESULT
2171         NULL, -1 or a menustrip object.
2173     EXEMPLES
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
2191     NAME
2192         MUIM_NList_CopyTo --
2194     SYNOPSIS
2195         DoMethod(obj,MUIM_NList_CopyTo, LONG pos, char *filename,
2196                                         APTR *result, APTR *entries);
2198     FUNCTION
2199         Do a copy to clipboard from some list entries or strings.
2201     INPUTS
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.
2207                  special values :
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
2228                  the copy failed.
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.
2236     EXEMPLES
2237         LONG result = 0;
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.
2244         LONG result = 0;
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.
2257     SEE ALSO
2258         MUIM_NList_CopyToClip, MUIA_NList_CopyToClipHook
2259 \fNList.mcc/MUIM_NList_CopyToClip
2261     NAME
2262         MUIM_NList_CopyToClip --
2264     SYNOPSIS
2265         DoMethod(obj,MUIM_NList_CopyToClip, LONG pos, ULONG clipnum,
2266                                             APTR *entries, struct Hook *hook);
2268     FUNCTION
2269         Do a copy to clipboard from some list entries or strings.
2271     INPUTS
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.
2277                  special values :
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.
2306     EXEMPLES
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,
2312                                             0, NULL, NULL);
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.
2320     NOTE
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.
2328     SEE ALSO
2329         MUIA_NList_CopyToClipHook, MUIA_NList_CopyToClip_Key, MUIM_NList_CopyTo
2330 \fNList.mcc/MUIM_NList_CreateImage
2332     NAME
2333         MUIM_NList_CreateImage --
2335     SYNOPSIS
2336         DoMethod(obj,MUIM_NList_CreateImage,Object *imgobj, ULONG flags);
2338     FUNCTION
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
2353         use.
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
2383           redrawn !!!
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...
2391         Note:
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
2394           it yourself after !
2396         Look the demo program to see a way to use it...
2399     RESULT
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
2408         the object.
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.
2415         ATTENTION:
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 !
2420     SEE ALSO
2421         MUIM_NList_DeleteImage, MUIM_NList_UseImage
2422 \fNList.mcc/MUIM_NList_DeleteImage
2424     NAME
2425         MUIM_NList_DeleteImage --
2427     SYNOPSIS
2428         DoMethod(obj,MUIM_NList_DeleteImage,APTR listimg);
2430     FUNCTION
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.
2436     SEE ALSO
2437         MUIM_NList_CreateImage, MUIM_NList_UseImage
2438 \fNList.mcc/MUIM_NList_Destruct
2440         NAME
2441                 MUIM_NList_Destruct --
2443         SYNOPSIS
2444                 DoMethod(obj,MUIM_NList_Destruct,APTR entry,APTR pool);
2446     FUNCTION
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
2455         case.
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.
2461     INPUTS
2462                 entry - entry pointer returned by MUIM_NList_Construct method.
2464                 pool  - pool header pointer.
2466     RESULT
2467         Currently undefined. If you are overriding it completely,  please
2468         return 0, if not use the value returned by super class!
2470         NOTE
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.
2478         SEE ALSO
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
2485         NAME
2486                 MUIM_NList_Display --
2488         SYNOPSIS
2489                 DoMethod(obj,MUIM_NList_Display,APTR entry,ULONG entry_pos,
2490                     STRPTR *strings,STRPTR *preparses);
2492     FUNCTION
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
2501         case.
2503     INPUTS
2504                 entry - Entry  pointer  returned  by  f.e.  MUIM_NList_Construct,
2505                                 MUIA_NList_ConstructHook or MUIA_NList_ConstructHook2
2506                                 hooks.
2508                 entry_pos - Entry position.
2510                 strings   - Pointer to strings table.
2512                 preparses - Pointer to preparse strings table.
2514     RESULT
2515         Currently undefined. If you are overriding it completely,  please
2516         return 0, if not use the value returned by super class!
2518         NOTE
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.
2526         SEE ALSO
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
2534     NAME
2535         MUIM_NList_DoMethod --
2537     SYNOPSIS
2538         DoMethod(obj,MUIM_NList_DoMethod,LONG pos,
2539                       APTR DestObj,ULONG FollowParams,ULONG method,...);
2541     FUNCTION
2542         The given method will be executed for each selected entry, the
2543         active entry, all entries, or one specified entry of the NList
2544         object.
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
2548         an object.
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).
2555     INPUTS
2556         pos -           the entry number for which you want to do the method.
2558           special values :
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.
2565           special values :
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.
2577           special values :
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)
2583     NOTES
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.
2591     EXAMPLES
2592         Insert all entries from nlist L1 to nlist L2 :
2594         DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_All,
2595           L2, 3,
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,
2607           MUIM_Foo,x);
2608 \fNList.mcc/MUIM_NList_DropDraw
2610     NAME
2611         MUIM_NList_DropDraw --
2613     SYNOPSIS
2614         DoMethod(obj,MUIM_NList_DropDraw, LONG pos, LONG type,
2615                                           LONG minx,LONG maxx,LONG miny,LONG maxy);
2617     FUNCTION
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
2633         Refresh mode.
2635     SEE ALSO
2636         MUIM_NList_DropType, MUIA_NList_DropType, MUIA_NList_DropMark,
2637         MUIM_NList_DropEntryDrawErase
2638 \fNList.mcc/MUIM_NList_DropEntryDrawErase
2640     NAME
2641         MUIM_NList_DropEntryDrawErase --
2643     SYNOPSIS
2644         DoMethod(obj,MUIM_NList_DropEntryDrawErase,LONG type,LONG drawpos,LONG erasepos);
2646     FUNCTION
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
2654         it bold or italic.
2656         Don't call the superclass unless you know that the superclass use it.
2658         You should return 0.
2660     INPUTS
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.
2668     SEE ALSO
2669         MUIM_NList_DropDraw, MUIA_NList_DropType, MUIA_NList_DropMark
2670 \fNList.mcc/MUIM_NList_DropType
2672     NAME
2673         MUIM_NList_DropType --
2675     SYNOPSIS
2676         DoMethod(obj,MUIM_NList_DropType, LONG *pos,LONG *type,
2677                                           LONG minx,LONG maxx,LONG miny,LONG maxy,
2678                                           LONG mousex,LONG mousey);
2680     FUNCTION
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
2700         correct).
2702         getting MUIA_NList_DropType or MUIA_NList_DropMark will return the same values
2703         as *pos and *type.
2705         If your subclass is a direct NList subclass, then there is no need to call
2706         the supermethod which done nothing at all !
2708     SEE ALSO
2709         MUIM_NList_DropDraw, MUIA_NList_DropType, MUIA_NList_DropMark,
2710         MUIM_NList_DropEntryDrawErase
2711 \fNList.mcc/MUIM_NList_Exchange
2713     NAME
2714         MUIM_NList_Exchange --
2716     SYNOPSIS
2717         DoMethod(obj,MUIM_NList_Exchange,LONG pos1, LONG pos2);
2719     FUNCTION
2720         Same function as List.mui/MUIM_List_Exchange.
2722         Exchange two entries in a NList object.
2724     INPUTS
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
2734     SEE ALSO
2735         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_Move
2736 \fNList.mcc/MUIM_NList_GetEntry
2738     NAME
2739         MUIM_NList_GetEntry --
2741     SYNOPSIS
2742         DoMethod(obj,MUIM_NList_GetEntry,LONG pos, APTR *entry);
2744     FUNCTION
2745         Same function as List.mui/MUIM_List_GetEntry.
2747     SPECIAL INPUTS
2748         MUIV_NList_GetEntry_Active    give active entry (or NULL if none)
2750     SEE ALSO
2751         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_GetEntryInfo
2752 \fNList.mcc/MUIM_NList_GetEntryInfo
2754     NAME
2755         MUIM_NList_GetEntryInfo --
2757     SYNOPSIS
2758         DoMethod(obj,MUIM_NList_GetEntryInfo,struct MUI_NList_GetEntryInfo *res);
2760     FUNCTION
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.
2765     INPUTS
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
2783               entry_pos/entry.
2785     SEE ALSO
2786         MUIM_NList_GetEntry
2787 \fNList.mcc/MUIM_NList_GetPos
2789     NAME
2790         MUIM_NList_GetPos --
2792     SYNOPSIS
2793         DoMethod(obj,MUIM_NList_GetPos,APTR entry,LONG *pos);
2795     FUNCTION
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.
2800     INPUTS
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
2811     NAME
2812         MUIM_NList_GetSelectInfo --
2814     SYNOPSIS
2815         DoMethod(obj,MUIM_NList_GetSelectInfo,struct MUI_NList_GetSelectInfo *res);
2817     FUNCTION
2818         You get usefull informations about selected entries state.
2820     INPUTS
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)
2824             LONG num          not used
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
2833     NOTE
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
2837         is selected.
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
2847     NAME
2848         MUIM_NList_Insert --
2850     SYNOPSIS
2851         DoMethod(obj,MUIM_NList_Insert,APTR *entries, LONG count, LONG pos, LONG flags);
2853     FUNCTION
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.
2860     INPUTS
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.
2873                   The end char is \0.
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.
2889     SEE ALSO
2890         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_InsertSingle
2891         MUIM_NList_InsertSingleWrap, MUIM_NList_InsertWrap
2892 \fNList.mcc/MUIM_NList_InsertSingle
2894     NAME
2895         MUIM_NList_InsertSingle --
2897     SYNOPSIS
2898         DoMethod(obj,MUIM_NList_InsertSingle,APTR entry, LONG pos);
2900     FUNCTION
2901         Same function as List.mui/MUIM_List_InsertSingle.
2903     INPUTS
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.
2913     SEE ALSO
2914         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
2915         MUIM_NList_InsertSingleWrap, MUIM_NList_InsertWrap
2916 \fNList.mcc/MUIM_NList_InsertSingleWrap
2918     NAME
2919         MUIM_NList_InsertSingleWrap --
2921     SYNOPSIS
2922         DoMethod(obj,MUIM_NList_InsertSingleWrap,
2923                       APTR entry, LONG pos, LONG wrapcol, LONG align);
2925     FUNCTION
2926         Same function as MUIM_NList_InsertSingle but permit word wrap
2927         and alignement for the entry.
2929     INPUTS
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.
2947     SEE ALSO
2948         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
2949         MUIM_NList_InsertSingle, MUIM_NList_InsertWrap
2950 \fNList.mcc/MUIM_NList_InsertWrap
2952     NAME
2953         MUIM_NList_InsertWrap --
2955     SYNOPSIS
2956         DoMethod(obj,MUIM_NList_InsertWrap, APTR *entries,
2957                       LONG count, LONG pos, LONG wrapcol, LONG align);
2959     FUNCTION
2960         Same function as MUIM_NList_Insert but permit word wrap and
2961         alignement for the entry.
2963     INPUTS
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.
2976                   The end char is \0.
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.
2993     SEE ALSO
2994         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
2995         MUIM_NList_InsertSingle, MUIM_NList_InsertSingleWrap
2996 \fNList.mcc/MUIM_NList_Jump
2998     NAME
2999         MUIM_NList_Jump --
3001     SYNOPSIS
3002         DoMethod(obj,MUIM_NList_Jump,LONG pos);
3004     FUNCTION
3005         Same function as List.mui/MUIM_List_Jump.
3007     INPUTS
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
3012               listview.
3014     SEE ALSO
3015         MUIA_NList_Active, MUIA_NList_First
3016 \fNList.mcc/MUIM_NList_Move
3018     NAME
3019         MUIM_NList_Move --
3021     SYNOPSIS
3022         DoMethod(obj,MUIM_NList_Move,LONG from, LONG to);
3024     FUNCTION
3025         Same function as List.mui/MUIM_List_Move.
3027     INPUTS
3028         pos1 - number of the first entry.
3029         pos2 - number of the second entry.
3031         Possible special values :
3033         MUIV_NList_Move_Top
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
3042     SEE ALSO
3043         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_Exchange
3044 \fNList.mcc/MUIM_NList_NextSelected
3046     NAME
3047         MUIM_NList_NextSelected --
3049     SYNOPSIS
3050         DoMethod(obj,MUIM_NList_NextSelected,LONG *pos);
3052     FUNCTION
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.
3058     INPUTS
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
3063               is finished.
3065     SEE ALSO
3066         MUIM_NList_Select, MUIM_NList_PrevSelected
3067 \fNList.mcc/MUIM_NList_PrevSelected
3069     NAME
3070         MUIM_NList_PrevSelected --
3072     SYNOPSIS
3073         DoMethod(obj,MUIM_NList_PrevSelected,LONG *pos);
3075     FUNCTION
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.
3081     INPUTS
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
3086               is finished.
3088     SEE ALSO
3089         MUIM_NList_Select, MUIM_NList_NextSelected
3090 \fNList.mcc/MUIM_NList_Redraw
3092     NAME
3093         MUIM_NList_Redraw --
3095     SYNOPSIS
3096         DoMethod(obj,MUIM_NList_Redraw,LONG pos);
3098     FUNCTION
3099         Same function as List.mui/MUIM_List_Redraw.
3100         Redraw some entry or all.
3102     INPUTS
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.
3109     SEE ALSO
3110         MUIM_NList_RedrawEntry
3111 \fNList.mcc/MUIM_NList_RedrawEntry
3113     NAME
3114         MUIM_NList_RedrawEntry --
3116     SYNOPSIS
3117         DoMethod(obj,MUIM_NList_RedrawEntry,APTR entry);
3119     FUNCTION
3120         Redraw some entry, like MUIM_NList_Redraw, but using the entry
3121         pointer instead of the entry number.
3123     INPUTS
3124         entry - Entry ptr of the entry (entries) you want to be redraw.
3126     SEE ALSO
3127         MUIM_NList_Redraw
3128 \fNList.mcc/MUIM_NList_Remove
3130     NAME
3131         MUIM_NList_Remove --
3133     SYNOPSIS
3134         DoMethod(obj,MUIM_NList_Remove,LONG pos);
3136     FUNCTION
3137         Same function as List.mui/MUIM_List_Remove.
3139     INPUTS
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.
3150     SEE ALSO
3151         MUIM_NList_Insert, MUIA_NList_DestructHook
3152 \fNList.mcc/MUIM_NList_ReplaceSingle
3154     NAME
3155         MUIM_NList_ReplaceSingle --
3157     FUNCTION
3158         DoMethod(obj,MUIM_NList_ReplaceSingle,
3159                       APTR entry, LONG pos, LONG wrapcol, LONG align);
3161     FUNCTION
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 !
3166     INPUTS
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.
3183     SEE ALSO
3184         MUIM_NList_Remove, MUIM_NList_InsertSingleWrap
3185 \fNList.mcc/MUIM_NList_Select
3187     NAME
3188         MUIM_NList_Select --
3190     SYNOPSIS
3191         DoMethod(obj,MUIM_NList_Select,LONG pos, LONG seltype, LONG *state);
3193     FUNCTION
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.
3201     INPUTS
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.
3215     SEE ALSO
3216         MUIA_NList_TypeSelect, MUIA_NList_MultiTestHook
3217 \fNList.mcc/MUIM_NList_SelectChange
3219     NAME
3220         MUIM_NList_SelectChange -- Called on every selection change (V19.98)
3222     SYNOPSIS
3223         DoMethod(obj,MUIM_NList_SelectChange,LONG pos, LONG state, ULONG flags);
3225     FUNCTION
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.
3239     INPUTS
3241     SEE ALSO
3242         MUIA_NList_SelectChange, MUIA_NList_TypeSelect, MUIM_NList_Select
3243 \fNList.mcc/MUIM_NList_SetActive
3245     NAME
3246         MUIM_NList_SetActive -- make a specific entry the active one (v20.125)
3248     SYNOPSIS
3249         DoMethod(obj, MUIM_NList_SetActive, LONG pos, ULONG flags);
3251     FUNCTION
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
3256         listview.
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.
3263     INPUTS
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
3280                     this entry active.
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.
3288     SEE ALSO
3289         MUIA_NList_Active, MUIM_NList_Jump
3290 \fNList.mcc/MUIM_NList_SetColumnCol
3292     NAME
3293         MUIM_NList_SetColumnCol --
3295     SYNOPSIS
3296         DoMethod(obj,MUIM_NList_SetColumnCol,LONG column,LONG col);
3298     FUNCTION
3299         set which displayhook col is at the visible column.
3301     INPUTS
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.
3314     RESULT
3315         None.
3317     NOTE
3318         MUIM_NList_SetColumnCol always exchange the moved column with the column
3319         which was were it move.
3321     SEE ALSO
3322         MUIM_NList_ColToColumn, MUIM_NList_ColumnToCol, MUIA_NList_Columns
3323 \fNList.mcc/MUIM_NList_Sort
3325     NAME
3326         MUIM_NList_Sort --
3328     SYNOPSIS
3329         DoMethod(obj,MUIM_NList_Sort);
3331     FUNCTION
3332         Same function as List.mui/MUIM_List_Sort.
3334     SEE ALSO
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
3339     NAME
3340         MUIM_NList_Sort2 --
3342     SYNOPSIS
3343         DoMethod(obj,MUIM_NList_Sort2,LONG sort_type, LONG sort_type_add);
3345     FUNCTION
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.
3353     INPUTS
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.
3364     EXAMPLES
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
3372                                           number.
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.
3388     SEE ALSO
3389         MUIA_NList_CompareHook2, MUIM_NList_Sort, MUIM_NList_Sort3, MUIA_NList_SortType,
3390         MUIA_NList_SortType2
3391 \fNList.mcc/MUIM_NList_Sort3
3393     NAME
3394         MUIM_NList_Sort3 --
3396     SYNOPSIS
3397         DoMethod(obj,MUIM_NList_Sort3,LONG sort_type, LONG sort_type_add, LONG which);
3399     FUNCTION
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.
3411     INPUTS
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.
3425     EXAMPLES
3426         See NList-Demo program.
3428     SEE ALSO
3429         MUIA_NList_CompareHook2, MUIM_NList_Sort, MUIM_NList_Sort2, MUIA_NList_SortType,
3430         MUIA_NList_SortType2
3431 \fNList.mcc/MUIM_NList_TestPos
3433     NAME
3434         MUIM_NList_TestPos --
3436     SYNOPSIS
3437         DoMethod(obj,MUIM_NList_TestPos,LONG x, LONG y, struct MUI_NList_TestPos_Result *res);
3439     FUNCTION
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
3452         for next call.
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 !!!
3464     NOTE
3465         column in the struct MUI_NList_TestPos_Result is the visible column number !
3466 \fNList.mcc/MUIM_NList_UseImage
3468     NAME
3469         MUIM_NList_UseImage --
3471     SYNOPSIS
3472         DoMethod(obj,MUIM_NList_UseImage,Object *obj, ULONG imgnum, ULONG flags);
3474     FUNCTION
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
3498         objet dispose.
3500         flags is the same than for MUIM_NList_CreateImage (0 unless special case).
3502     RESULT
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.
3509         ATTENTION:
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
3517         again.
3519     SEE ALSO
3520         MUIM_NList_CreateImage, MUIM_NList_DeleteImage