] (ESC O[ . should be an 8 hex digits number).|
Draw the MUIM_NList_CreateImage at adress
(
ESC o[|
Draw the MUIM_NList_UseImage number
don't exist or has been set to NULL, no image is drawn.
ESC P[] Use default front pen.
ESC P[
make MUI_ObtainPen and MUI_ReleasePen for it yourself,
best to do it is in Setup() and Cleanup() of a subclass).
ESC T Draw horizontal line on top of the entry for the col.
ESC C Draw horizontal line centered in the entry for the col.
ESC B Draw horizontal line on bottom of the entry for the col.
ESC E Draw horizontal line centered in the entry for the col,
but only on the left and right of the line contents.
ESC t , ESC t[
Make the ESC C and ESC E horizontal line become thick and filled
with some color :
default is MPEN_FILL.
[
[M
[I
"intuition/screens.h")
ESC t[N], ESC t[N
Make the ESC T, ESC C,ESC B, ESC E become a single black line,
or not black when using a
('N' is for Not thick ;)
with ESC O[] and ESC o[], you can add [...@
act as a relverify button. When this "button" is released NList will notify
MUIA_NList_ButtonClick with the value
with ESC I[], ESC O[] and ESC o[], you can add [...|
[...|
[...,
-1 means default image width unless
0 means default image width.
-1 means default image height (entry height is max).
0 means entry height.
when present, default height become entry height and
width become minwidth (if minwdith is bigger than image default
width), unless you set
SEE ALSO
MUIA_NList_Format
MUIA_Text_Contents
MUIA_List_DisplayHook
MUIA_List_DisplayHook
GO TO CONTENTS
NList.mcc/MUIA_NList_DisplayHook2
MUIA_NList_DisplayHook2 -- [IS.], struct Hook *
Same function as MUIA_NList_DisplayHook but A2 will be the object
and A1 a NList_DisplayMessage struct pointer.
SEE ALSO
MUIA_NList_DisplayHook
GO TO CONTENTS
NList.mcc/MUIA_NList_DisplayRecall
MUIA_NList_DisplayRecall -- [.S.], BOOL
If for some unusual reason you modify one of the buffer that
your DisplayHook function usually return anywhere else than
in the DisplayHook function when called by the NList object,
you must set it to TRUE, so the object will know it.
SEE ALSO
MUIA_NList_DisplayHook
GO TO CONTENTS
NList.mcc/MUIA_NList_DoubleClick
MUIA_NList_DoubleClick -- [..GN], LONG
You'll get a notify on it each time the user double
clicks on an entry in the list, or on the title.
The value is the entry number, which will be -1 when
it's the title.
You'll get a notify on it too when you press the 'return' key
and the NList object is active or default.
If you get() it, you'll get the last click position, which
can be -2 if it was on nothing (ie not entry or title).
For triple clicks and more, use MUIA_NList_MultiClick.
NOTE
Disabled for the title when MUIA_NList_TitleClick is used.
SEE ALSO
MUIA_NList_MultiClick
MUIA_NList_TitleClick
MUIM_NList_TestPos.
GO TO CONTENTS
NList.mcc/MUIA_NList_DragColOnly
MUIA_NList_DragColOnly -- [ISG], LONG
When set to a col number (displayhook col number, not the visible
one), only the text of that col for the selected entry will
be dragged instead of the visible part of the entry.
Set it to -1 to come back to standard/default mode when you have
changed it !
GO TO CONTENTS
NList.mcc/MUIA_NList_DragSortable
MUIA_NList_DragSortable -- [ISG], BOOL
Same function as List.mui/MUIA_List_DragSortable.
DragType will be MUIV_NList_DragType_Default unless you set it.
No need for you to set MUIA_Dropable or MUIA_Draggable.
DEFAULT
FALSE
GO TO CONTENTS
NList.mcc/MUIA_NList_DragSortInsert
MUIA_NList_DragSortInsert -- [..GN], BOOL
Same as MUIA_NList_InsertPosition but the notify is made only after
a MUIA_NList_DragSortable move.
GO TO CONTENTS
NList.mcc/MUIA_NList_DragType
MUIA_NList_DragType -- [ISG], LONG
SPECIAL INPUTS
MUIV_NList_DragType_None no drag
MUIV_NList_DragType_Default as set in prefs.
MUIV_NList_DragType_Immediate drag on borders and with qualifier, and
immediate drag if non-multiselect mode.
MUIV_NList_DragType_Borders drag on borders and with qualifier.
MUIV_NList_DragType_Qualifier drag only using qualifier.
Same function as Listview.mui/MUIA_Listview_DragType.
If you want the user to be able to drag items out of
your list, you must set this.
Don't use MUIA_Draggable with NList or NListview.
GO TO CONTENTS
NList.mcc/MUIA_NList_DropMark
MUIA_NList_DropMark -- [..G], LONG
Same function as List.mui/MUIA_List_DropMark.
After a successfull drop operation, this attribute holds
the position where we should insert the new entry(ies).
SEE ALSO
MUIA_NList_DropType
MUIM_NList_DropType
MUIM_NList_DropDraw
GO TO CONTENTS
NList.mcc/MUIA_NList_DropType
MUIA_NList_DropType -- [..G], LONG
Same function as MUIA_NList_DropMark but will return the
current DropMark type instead of the DropMark entry number.
After a successfull drop operation, this attribute holds
the type of dropmark which where drawn.
SEE ALSO
MUIA_NList_DropMark
MUIM_NList_DropType
MUIM_NList_DropDraw
GO TO CONTENTS
NList.mcc/MUIA_NList_Entries
MUIA_NList_Entries -- [..GN], LONG
Same function as List.mui/MUIA_List_Entries.
SEE ALSO
MUIA_NList_First
MUIA_NList_Visible
MUIA_NList_Active
GO TO CONTENTS
NList.mcc/MUIA_NList_EntryClick
MUIA_NList_EntryClick -- [..GN], LONG
You'll get a notify on it each time the user click
on an entry in the list (on the title, use
MUIA_NList_TitleClick for that).
The value is the entry number.
You'll get a notify on it too when you press the 'return' key
and the NList object is active or default, but only if there
is no notify asked on MUIA_NList_DoubleClick.
If you get() it, you'll get the last click position, which
can be -1 when on title and -2 if it was on nothing.
SEE ALSO
MUIA_NList_MultiClick
MUIA_NList_TitleClick
MUIM_NList_TestPos.
GO TO CONTENTS
NList.mcc/MUIA_NList_EntryValueDependent
MUIA_NList_EntryValueDependent -- [ISG], BOOL
If your display hook return different strings when the
entry num value change for a identical entry pointer
then you should set it.
DEFAULT
FALSE
SEE ALSO
MUIA_NList_DisplayHook
GO TO CONTENTS
NList.mcc/MUIA_NList_Exports
MUIA_NList_Exports -- [ISG], LONG
Tell the NList object what parts of it's state will have to
be saved in MUIM_Export method (which is called by the
MUIM_Application_Save method if the object has a ObjectID).
SPECIAL INPUTS
MUIV_NList_Exports_Active save active entry number.
MUIV_NList_Exports_Selected save selected entries numbers.
MUIV_NList_Exports_First save first visible entry number.
MUIV_NList_Exports_ColWidth save widths of columns.
MUIV_NList_Exports_ColOrder save order of columns.
MUIV_NList_Exports_Cols save all about columns (width and order actually).
MUIV_NList_Exports_All
NOTE
MUIV_NList_Exports_Selected can make a very long export (so a big program
.cfg file) if the list has many selected entries. It take one long int
(ie 4 bytes) for each selected entry...
Active and First are always exported by the MUIM_Export method,
having MUIV_NList_Exports_Active and MUIV_NList_Exports_First set or not.
DEFAULT
(MUIV_NList_Exports_Active | MUIV_NList_Exports_First | MUIV_NList_Exports_Cols)
SEE ALSO
MUIA_NList_Imports
GO TO CONTENTS
NList.mcc/MUIA_NList_First
MUIA_NList_First -- [ISGN], LONG
SPECIAL INPUTS
MUIV_NList_First_Top
MUIV_NList_First_Bottom
MUIV_NList_First_Up
MUIV_NList_First_Down
MUIV_NList_First_PageUp
MUIV_NList_First_PageDown
Get the number of the first visible entry.
You can set it to change the first entry you want to be visible.
SEE ALSO
MUIA_NList_Visible
MUIA_NList_Entries
MUIA_NList_Active
GO TO CONTENTS
NList.mcc/MUIA_NList_ForcePen
MUIA_NList_ForcePen -- [ISG], LONG
SPECIAL INPUTS
MUIV_NList_ForcePen_On
MUIV_NList_ForcePen_Off
MUIV_NList_ForcePen_Default
Set the ForcePen mode, when on it force the 'selected pen' color
in all the selected area. Else the color is forced only at the
beginning of the area and can be changed by text escape sequences.
The default is set by the user in the pref .mcp class.
Getting in will give its current value.
GO TO CONTENTS
NList.mcc/MUIA_NList_Format
MUIA_NList_Format -- [ISG], STRPTR
NList is able to handle multi column lists. To define
how many columns should be displayed and how they
should be formatted, you specify a format string.
This format string must contain one entry for each column
you want to see. Entries are seperated by commas, one
entry is parsed via dos.library/ReadArgs().
The template for a single entry looks like this:
DELTA=D/N,PREPARSE=P/K,COL=C/N,BAR/S,TBAR/S,NOBAR=NB/S,
SIMPLEBAR=SBAR/S,NOTITLEBUTTON=NOTB/S,
WEIGHT=W/N,MINWIDTH=MIW/N,MAXWIDTH=MAW/N,
COLWIDTH=CW/N,MINCOLWIDTH=MICW/N,MAXCOLWIDTH=MACW/N,
PIXWIDTH=PW/N,MINPIXWIDTH=MIPW/N,MAXPIXWIDTH=MAPW/N
First ones are like (or nearly) MUIA_List_Format ones :
DELTA
Space in pixel between this column and the next.
the last displayed column ignores this setting.
Defaults to 4.
PREPARSE
A preparse string for this column.
COL
This value adjusts the col number of the current column.
Defaults to current column number (0,1,...)
You can't use identical COL values for 2 or more columns.
BAR
Will draw a vertical bar between this and the next column.
WEIGHT
The weight of the column. As for MUI's group.
MINWIDTH
Minimum percentage of the list width for the current column.
MAXWIDTH
Maximum percentage of the list width for the current column.
These are new ones :
TBAR
Will draw a vertical bar between this and the next column
but only in the title (ignored if BAR is set).
THIS IS A DEFAULT !
NOBAR
Don't draw a vertical bar between this and the next column at all.
SIMPLEBAR
Make te vertical bar a simple black one.
NOTITLEBUTTON
Will prevent the title of the column to act as a relverify
button when you set MUIA_NList_TitleClick (or make a notify
on it).
COLWIDTH
Wanted number of chars for the current column.
You will get as PIXWIDTH with number*font_with.
Possibly more than number chars will fit in the
column if you use proportional font, anyway you
are sure than number non italic chars will fit.
MINCOLWIDTH
Minimum number of chars for the current column.
MAXCOLWIDTH
Maximum number of chars for the current column.
PIXWIDTH
Wanted number of chars for the current column.
MINPIXWIDTH
Minimum number of chars for the current column.
MAXPIXWIDTH
Maximum number of chars for the current column.
Note: You will have as many columns in your list as
entries in the format string (i.e. number of
commas + 1). Empty entries, e.g. with a format
string of ",,,," are perfectly ok.
MINPIXWIDTH, MAXPIXWIDTH, MINCOLWIDTH, MAXCOLWIDTH,
MINWIDTH and MAXWIDTH will not be used if PIXWIDTH,
or COLWIDTH is used.
Only one of PIXWIDTH, COLWIDTH and WEIGHT will be
used, the first find in this order.
Biggest of MINPIXWIDTH, MINCOLWIDTH and MINWIDTH.
Smallest of MAXPIXWIDTH, MAXCOLWIDTH and MAXWIDTH.
If the min is bigger than the max the min will be used.
You shoul used PIX ones only for columns with images,
and COL ones when you want to be sure to get as many
chars you want.
All chars/images will be drawn for the last column
always, you should specify some width for it anyway
as it will be used for centered and right aligned texts !
Default values : WEIGHT=-1, MINWIDTH=5, MAXWIDTH=10000.
Use MINWIDTH=0 if you don't use PIXWIDTH or COLWIDTH and
don't want any min value.
If you want to use WEIGHT values as percentage of the list
width, just choose them to have their total being 100.
WEIGHT = -1 mean that you want the column to have
the width of the largest entry's column contents.
MINWIDTH = -1 have the same meaning as for WEIGHT but for
the min value.
-1 will be replaced by 100 for the last column, anyway you
can set -2 if you really want to force it.
Be aware that it can take long time to do that when there
are many entries since this need a call to the dislpayhook,
parse and find real length of all entries.
Anyway using such stuff for one or more column has the
same overhead.
The default list format is an empty string (""), this
means a one column list without special formatting.
NOTE
Actually MUIA_NList_Format will not try to see if the new
format is similar to previous one. It means that all
column width will be re-computed (and all entries parsed
if WEIGHT or MINWIDTH is -1), same for wrapping
which will be recomputed for all entries.
So, it's better to do it before inserting entries
if you want to do both.
If you want to clear, insert, and set the format, the
best is to set the format after the clear (fastest, no
entry to parse) and before the insert.
BUGS (FEATURE)
Currently there is a maximum of 64 columns for a list.
SEE ALSO
MUIA_NList_DisplayHook
MUIA_NList_TitleSeparator.
GO TO CONTENTS
NList.mcc/MUIA_NList_Horiz_DeltaFactor
MUIA_NList_Horiz_DeltaFactor -- [..GN], LONG
Used for NListview. You can make a notification on it
if you want to attach your own horizontal scrollbar
and set the increment value of scrollbar's arrows :
DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_DeltaFactor,MUIV_EveryTime,
SBobj, 3, MUIM_Set,MUIA_Prop_DeltaFactor,MUIV_TriggerValue);
SEE ALSO
MUIA_NList_Horiz_Entries
MUIA_NList_Horiz_First
MUIA_NList_Horiz_Visible
GO TO CONTENTS
NList.mcc/MUIA_NList_Horiz_Entries
MUIA_NList_Horiz_Entries -- [..GN], LONG
Used for NListview. You can make a notification on it
if you want to attach your own horizontal scrollbar :
DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_Entries,MUIV_EveryTime,
SBobj, 3, MUIM_Set,MUIA_Prop_Entries,MUIV_TriggerValue);
SEE ALSO
MUIA_NList_Horiz_DeltaFactor
MUIA_NList_Horiz_First
MUIA_NList_Horiz_Visible
GO TO CONTENTS
NList.mcc/MUIA_NList_Horiz_First
MUIA_NList_Horiz_First -- [.SGN], LONG
Used for NListview. You can make a notification on it
if you want to attach your own horizontal scrollbar :
DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_First,MUIV_EveryTime,
SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_First,MUIV_TriggerValue);
DoMethod(SBobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
NLobj, 3, MUIM_NoNotifySet,MUIA_NList_Horiz_First,MUIV_TriggerValue);
SEE ALSO
MUIA_NList_Horiz_DeltaFactor
MUIA_NList_Horiz_Entries
MUIA_NList_Horiz_Visible
GO TO CONTENTS
NList.mcc/MUIA_NList_Horiz_Visible
MUIA_NList_Horiz_Visible -- [..GN], LONG
Used for NListview. You can make a notification on it
if you want to attach your own horizontal scrollbar :
DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_Visible,MUIV_EveryTime,
SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Visible,MUIV_TriggerValue);
SEE ALSO
MUIA_NList_Horiz_DeltaFactor
MUIA_NList_Horiz_Entries
MUIA_NList_Horiz_First
GO TO CONTENTS
NList.mcc/MUIA_NList_Imports
MUIA_NList_Imports -- [ISG], LONG
Tell the NList object what parts of it's state must be loaded
(and used) in MUIM_Import method (which is called by the
MUIM_Application_Load method if the object has a ObjectID).
SPECIAL INPUTS
MUIV_NList_Imports_Active load previous active entry number (and make it active).
MUIV_NList_Imports_Selected load previous selected entries numbers (and make them selected).
MUIV_NList_Imports_First load previous first visible entry number (and make it the first visible).
MUIV_NList_Imports_ColWidth load previous widths of columns (and set them).
MUIV_NList_Imports_ColOrder load previous order of columns (and set it).
MUIV_NList_Imports_Cols load all about columns (width and order actually).
MUIV_NList_Imports_All
DEFAULT
(MUIV_NList_Imports_Active | MUIV_NList_Imports_First | MUIV_NList_Imports_Cols)
SEE ALSO
MUIA_NList_Exports
GO TO CONTENTS
NList.mcc/MUIA_NList_Input
MUIA_NList_Input -- [ISG], BOOL
Same function as NListview.mcc/MUIA_Listview_Input.
DEFAULT
TRUE
SEE ALSO
MUIA_NList_MultiSelect
GO TO CONTENTS
NList.mcc/MUIA_NList_InsertPosition
MUIA_NList_InsertPosition -- [..GN], LONG
Same function as List.mui/MUIA_List_InsertPosition.
GO TO CONTENTS
NList.mcc/MUIA_NList_KeepActive
MUIA_NList_KeepActive -- [.S.], Obj *
Usefull when MUIA_NList_DefaultObjectOnClick if you
don't want the specified object to be desactivated.
A NListview object set it to it's NList child at
creation time, so you should not have to use that tag.
SEE ALSO
MUIA_NList_DefaultObjectOnClick
MUIA_NList_MakeActive
GO TO CONTENTS
NList.mcc/MUIA_NList_LineHeight
MUIA_NList_LineHeight -- [..GN], LONG
Get the current line height.
GO TO CONTENTS
NList.mcc/MUIA_NList_MakeActive
MUIA_NList_MakeActive -- [.S.], Obj *
Use it if you want an object to be activated when you click
in the list object.
If you want to be able to control the list with key, you
should use MUIA_NList_DefaultObjectOnClick instead.
If you use both MUIA_NList_MakeActive and
MUIA_NList_DefaultObjectOnClick then the specified object
will be activated only if there is already an active one.
The only object which should be set should be the NListview
parent object of the current NList one.
SEE ALSO
MUIA_NList_DefaultObjectOnClick
MUIA_NList_KeepActive
GO TO CONTENTS
NList.mcc/MUIA_NList_MinColSortable
MUIA_NList_MinColSortable -- [ISG], LONG
Sets the number of the first visible column which
can be sorted, ie exchanged with some other one.
Default is 1, making the leftmost (0) column not sortable.
Just set it to a big number (100 for example) to forbid
the columns sorting.
GO TO CONTENTS
NList.mcc/MUIA_NList_MinLineHeight
MUIA_NList_MinLineHeight -- [IS.], LONG
Same function as List.mui/MUIA_List_MinLineHeight.
Sets the minimum line height for lists in pixels.
If <= 0 then it's absolute value will replace the
'Leading' value of prefs which is added to the
font height.
It seems that original MUIA_List_MinLineHeight use
its positive value as a 'leading' one, which is not
logical when i read its doc (!), so i do the
change internally to get it works like with list...
GO TO CONTENTS
NList.mcc/MUIA_NList_MultiClick
MUIA_NList_MultiClick -- [..GN], LONG
You'll get a notify on it each time the user
multiclicks more than 2 times on an entry in the
list, or on the title. You'll get the number of
the click (3, 4, 5...) for each. Note that you'll
not get MUIA_NList_MultiClick for a double click;
you must use MUIA_NList_DoubleClick for that.
The time between each click must be less or equal
to the double click time set in Amiga Input prefs.
You can know on which entry the multiclick was made
getting MUIA_NList_DoubleClick value.
So you can make a notification on it.
NOTE
Disabled for the title when MUIA_NList_TitleClick is used.
SEE ALSO
MUIA_NList_MultiClickAlone
MUIA_NList_DoubleClick
MUIA_NList_TitleClick
MUIA_NList_TitleClick
GO TO CONTENTS
NList.mcc/MUIA_NList_MultiClickAlone
MUIA_NList_MultiClickAlone -- [..GN], LONG
You'll get a notify only for the final multiclick number,
so if there are 3 clicks there will be only one multiclickalone
notified, a little (max time between 2 clicks) after the 3rd one.
It is the major change with classic MUIA_NList_DoubleClick and
MUIA_NList_MultiClick which do the notify for all clicks.
The drawback is the unavoidable delay between the last click
and the notify.
You can know on which entry the multiclickalone was made
getting MUIA_NList_DoubleClick value.
You can make a notification on it.
SEE ALSO
MUIA_NList_MultiClick
MUIA_NList_DoubleClick
MUIA_NList_TitleClick
MUIA_NList_TitleClick
GO TO CONTENTS
NList.mcc/MUIA_NList_MultiSelect
MUIA_NList_MultiSelect -- (V7 ) [I..], LONG
SPECIAL INPUTS
MUIV_NList_MultiSelect_None
MUIV_NList_MultiSelect_Default
MUIV_NList_MultiSelect_Shifted
MUIV_NList_MultiSelect_Always
Same function as Listview.mui/MUIA_Listview_MultiSelect.
< At the moment MultiSelect_Default is the same
as MultiSelect_Shifted >
SEE ALSO
MUIA_NList_MultiTestHook
GO TO CONTENTS
NList.mcc/MUIA_NList_MultiTestHook
MUIA_NList_MultiTestHook -- [IS.], struct Hook *
Same function as List.mui/MUIA_List_MultiTestHook.
SEE ALSO
MUIA_NList_ConstructHook
MUIA_NList_DestructHook
GO TO CONTENTS
NList.mcc/MUIA_NList_Pool
MUIA_NList_Pool -- [I..], APTR
Same function as List.mui/MUIA_List_Pool.
SEE ALSO
MUIA_NList_PoolPuddleSize
MUIA_NList_PoolThreshSize
GO TO CONTENTS
NList.mcc/MUIA_NList_PoolPuddleSize
MUIA_NList_PoolPuddleSize -- [I..], ULONG
Same function as List.mui/MUIA_List_PoolPuddleSize.
SEE ALSO
MUIA_NList_PoolThreshSize
MUIA_NList_Pool
GO TO CONTENTS
NList.mcc/MUIA_NList_PoolThreshSize
MUIA_NList_PoolThreshSize -- [I..], ULONG
Same function as List.mui/MUIA_List_PoolThreshSize.
SEE ALSO
MUIA_NList_PoolPuddleSize
MUIA_NList_Pool
GO TO CONTENTS
NList.mcc/MUIA_NList_PrivateData
MUIA_NList_PrivateData -- [ISG], APTR
It's a private data of the object that is unused by NList.
You can use it as you want, as for MUIA_UserData.
SEE ALSO
MUIA_NList_DisplayHook
MUIA_NList_CopyEntryToClipHook
lipHook
GO TO CONTENTS
NList.mcc/MUIA_NList_Prop_DeltaFactor
MUIA_NList_Prop_DeltaFactor -- [..GN], LONG
Used for NListview. You can make a notification on it
if you want to attach your own vertical scrollbar
and set the increment value of scrollbar's arrows :
DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_DeltaFactor,MUIV_EveryTime,
SBobj, 3, MUIM_Set,MUIA_Prop_DeltaFactor,MUIV_TriggerValue);
SEE ALSO
MUIA_NList_Prop_Entries
MUIA_NList_Prop_First
MUIA_NList_Prop_Visible
GO TO CONTENTS
NList.mcc/MUIA_NList_Prop_Entries
MUIA_NList_Prop_Entries -- [..GN], LONG
Used for NListview. You can make a notification on it
if you want to attach your own vertical scrollbar :
DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_Entries,MUIV_EveryTime,
SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Entries,MUIV_TriggerValue);
SEE ALSO
MUIA_NList_Prop_DeltaFactor
MUIA_NList_Prop_First
MUIA_NList_Prop_Visible
GO TO CONTENTS
NList.mcc/MUIA_NList_Prop_First
MUIA_NList_Prop_First -- [.SGN], LONG
Used for NListview. You can make a notification on it
if you want to attach your own vertical scrollbar :
DoMethod(NLobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
SBobj, 3, MUIM_Set,MUIA_Prop_First,MUIV_TriggerValue);
DoMethod(SBobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
NLobj, 3, MUIM_Set,MUIA_Prop_First,MUIV_TriggerValue);
SEE ALSO
MUIA_NList_Prop_DeltaFactor
MUIA_NList_Prop_Entries
MUIA_NList_Prop_Visible
GO TO CONTENTS
NList.mcc/MUIA_NList_Prop_Visible
MUIA_NList_Prop_Visible -- [..GN], LONG
Used for NListview. You can make a notification on it
if you want to attach your own vertical scrollbar :
DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_Visible,MUIV_EveryTime,
SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Visible,MUIV_TriggerValue);
SEE ALSO
MUIA_NList_Prop_DeltaFactor
MUIA_NList_Prop_Entries
MUIA_NList_Prop_First
GO TO CONTENTS
NList.mcc/MUIA_NList_Quiet
MUIA_NList_Quiet -- [.S.], BOOL
Same function as List.mui/MUIA_List_Quiet.
Think about using it when you insert/remove several entries
one by one, it will go much faster.
In all cases all changes which can be done later are delayed.
Quiet_Full mean that no notify caused by changes in the list will
be made, while Quiet_Visual will done them (but delayed to after
the Quiet_None).
SPECIAL INPUTS
MUIV_NList_Quiet_None same as FALSE.
MUIV_NList_Quiet_Full all values but FALSE and MUIV_NList_Quiet_Visual (-2).
MUIV_NList_Quiet_Visual
SEE ALSO
MUIM_NList_Insert
MUIM_NList_Remove
GO TO CONTENTS
NList.mcc/MUIA_NList_SelectChange
MUIA_NList_SelectChange -- [...N], BOOL
Same function as Listview.mui/MUIA_Listview_SelectChange.
A set(NLobj,MUIA_NList_SelectChange,TRUE) is made by NList
whenever the selection state of one or more items in the
list is changing.
DEFAULT
FALSE
SEE ALSO
MUIA_NList_MultiSelect
GO TO CONTENTS
NList.mcc/MUIA_NList_ShowDropMarks
MUIA_NList_ShowDropMarks -- [ISG], BOOL
Same function as List.mui/MUIA_List_ShowDropMarks.
DEFAULT
FALSE
SEE ALSO
MUIA_NList_DropMark
GO TO CONTENTS
NList.mcc/MUIA_NList_SkipChars
MUIA_NList_SkipChars -- [ISG], char *
Same function as Floattext.mui/MUIA_Floattext_SkipChars.
GO TO CONTENTS
NList.mcc/MUIA_NList_SortType
MUIA_NList_SortType -- [ISGN], LONG
This value will be set in the NList_CompareMessage struct
of MUIA_NList_CompareHook2 hook function.
It is set by MUIM_NList_Sort2 method too.
SEE ALSO
MUIA_NList_CompareHook2
MUIM_NList_Sort2
GO TO CONTENTS
NList.mcc/MUIA_NList_SourceArray
MUIA_NList_SourceArray -- [I..], APTR
Same function as List.mui/MUIA_List_SourceArray.
GO TO CONTENTS
NList.mcc/MUIA_NList_SourceInsert
MUIA_NList_SourceInsert -- [I..], struct MUIP_NList_InsertWrap *
Same as DoMethod(obj,MUIM_NList_InsertWrap,...)
with ... same as the contents of the passed struct,
but at init.
SEE ALSO
MUIM_NList_InsertWrap
GO TO CONTENTS
NList.mcc/MUIA_NList_SourceString
MUIA_NList_SourceString -- [I..], char *
Same as
DoMethod(obj,MUIM_List_Insert,string,-2,MUIV_NList_Insert_Bottom)
but at init.
SEE ALSO
MUIM_List_Insert
GO TO CONTENTS
NList.mcc/MUIA_NList_StackCheck
MUIA_NList_StackCheck -- [I..], BOOL
Can be used to disable the stack checking done by NList.
You should use it only if you make a stack exchange or if
the stack has been changed for some other reason and is
not compatible with the check.
DEFAULT
TRUE
GO TO CONTENTS
NList.mcc/MUIA_NList_TabSize
MUIA_NList_TabSize -- [ISG], ULONG
Same function as Floattext.mui/MUIA_Floattext_TabSize.
Set how many spaces is the tabulation.
Default is 8.
GO TO CONTENTS
NList.mcc/MUIA_NList_Title
MUIA_NList_Title -- [ISG], char *
Same function as List.mui/MUIA_List_Title.
The title will be redraw each time you set it.
When you use a display hook, its value is used as a BOOL/LONG
which can have any value (just not NULL if you want to see it).
The value returned by get() will be the same than the last one
given in the set() or at init.
SEE ALSO
MUIA_NList_DisplayHook
MUIA_NList_TitleSeparator
GO TO CONTENTS
NList.mcc/MUIA_NList_TitleClick
MUIA_NList_TitleClick -- [ISGN], LONG
You'll get a notify on it each time the user
clicks one the title (only if on a column, so not on the
vertical bar column separator which is used to modify the
column width with mouse).
The returned value is the col number (display hook col number).
If you get that value later, it will still be the latest
*title* click col that you'll get.
If you ask for a notify on that tag, or if you set it (with any
value) the title will act as if each of its column titles were
separated buttons, notifying that tag when there are released.
The (released) look for those title "buttons" will be better
if you use MUIA_NList_TitleSeparator and BAR or TBAR for each
column in the MUIA_NList_Format string.
There is no shortkeys for these custom buttons and never be,
so think to give another way to access the related stuffs.
Don't ask for customized frames for them : there are not real
MUI and separated buttons but directly handled by NList, and i
found it nice as is.
NOTE
When you use MUIA_NList_TitleClick, you'll not receive
MUIA_NList_DoubleClick and MUIA_NList_MultiClick when clicking
on the title any more.
SEE ALSO
MUIM_NList_TestPos
MUIA_NList_DoubleClick
MUIA_NList_MultiClick
ator
MUIA_NList_Format
MUIA_NList_Format
GO TO CONTENTS
NList.mcc/MUIA_NList_TitleMark
MUIA_NList_TitleMark -- [ISG], LONG
Draw a mark on the corresponding display hook column.
The value give 2 informations : the column and the type of mark.
SPECIAL INPUTS
MUIV_NList_TitleMark_None
MUIV_NList_TitleMark_Down | col
MUIV_NList_TitleMark_Up | col
MUIV_NList_TitleMark_Box | col
MUIV_NList_TitleMark_Circle | col
GO TO CONTENTS
NList.mcc/MUIA_NList_TitleSeparator
MUIA_NList_TitleSeparator -- [ISG], BOOL
If you set it, you get an horizontal bar between the
title and the first visible entry (only when some title
is visible).
DEFAULT
TRUE
SEE ALSO
MUIA_NList_Title
GO TO CONTENTS
NList.mcc/MUIA_NList_TypeSelect
MUIA_NList_TypeSelect -- [IS.], LONG
SPECIAL INPUTS
MUIV_NList_TypeSelect_Line
MUIV_NList_TypeSelect_Char
Setting this tag you can choose between the classic
list selection by line, or using a char precision
selection.
This should be used only for textviewer like stuff,
and never for standard lists.
Anyway its the only way to make direct copytoclip
of a part of a line...
Default is MUIV_NList_TypeSelect_Line of course.
SEE ALSO
MUIM_NList_Select
MUIM_List_Select
GO TO CONTENTS
NList.mcc/MUIA_NList_Visible
MUIA_NList_Visible -- [..G], LONG
Same function as List.mui/MUIA_List_Visible.
SEE ALSO
MUIA_NList_First
MUIA_NList_Entries
MUIA_NList_Active
GO TO CONTENTS
NList.mcc/MUIA_NList_XXXBackground
MUIA_NList_TitleBackground -- [ISG], LONG
MUIA_NList_ListBackground -- [ISG], LONG
MUIA_NList_SelectBackground -- [ISG], LONG
MUIA_NList_CursorBackground -- [ISG], LONG
MUIA_NList_UnselCurBackground -- [ISG], LONG
You can set all backgroungs of NList with these attributes,
look at Area.mui/MUIA_Background and Image.mui/MUIA_Image_Spec
to see what kind of value can be used.
Anyway, you can set the defaults with prefs and so should
not set it yourself.
GO TO CONTENTS
NList.mcc/MUIA_NList_XXXPen
MUIA_NList_TitlePen -- [ISG], LONG
MUIA_NList_ListPen -- [ISG], LONG
MUIA_NList_SelectPen -- [ISG], LONG
MUIA_NList_CursorPen -- [ISG], LONG
MUIA_NList_UnselCurPen -- [ISG], LONG
You can set all pens of NList with these attributes, their
value must be of the type Pendisplay.mui/MUIA_Pendisplay_Spec.
Look at Pendisplay.mui, Area.mui/MUIA_Background and
Image.mui/MUIA_Image_Spec.
Anyway, you can set the defaults with prefs and so should
not set it yourself.
GO TO CONTENTS
NList.mcc/MUIM_NList_Clear
MUIM_NList_Clear --
SYNOPSIS
DoMethod(obj,MUIM_NList_Clear,);
Same function as List.mui/MUIM_List_Clear.
SEE ALSO
MUIM_NList_Insert
MUIA_NList_DestructHook
GO TO CONTENTS
NList.mcc/MUIM_NList_ColWidth
MUIM_NList_ColWidth --
SYNOPSIS
DoMethod(obj,MUIM_NList_ColWidth,LONG col,LONG width);
Set a width for a col as if changed by the user with mouse, or
reset it to its default size.
Permit to get the user width of a col too.
INPUTS
col number of the col (numbered as in display hook).
special value :
MUIV_NList_ColWidth_All will set it for all columns.
width width to set (4 is the minimum width accepted).
special values :
MUIV_NList_ColWidth_Default reset to default.
MUIV_NList_ColWidth_Get set nothing, only return current.
RESULT
When a col is specified (ie not MUIV_NList_ColWidth_All), the current
*user* width of the col will be returned :
o -1 mean that the col has its default width, ie not set by the user
or with this method.
o 0 mean that the specified col is not valid.
When MUIV_NList_ColWidth_All you'll get always 0.
GO TO CONTENTS
NList.mcc/MUIM_NList_ColToColumn
MUIM_NList_ColToColumn --
SYNOPSIS
DoMethod(obj,MUIM_NList_ColToColumn,LONG col);
converts display hook col number to visible column number.
INPUTS
col number of the col (numbered as in display hook).
RESULT
column number, -1 if no column use that col number.
SEE ALSO
MUIM_NList_ColumnToCol
MUIM_NList_SetColumnCol
MUIA_NList_Columns
GO TO CONTENTS
NList.mcc/MUIM_NList_ColumnToCol
MUIM_NList_ColumnToCol --
SYNOPSIS
DoMethod(obj,MUIM_NList_ColumnToCol,LONG column);
converts visible column number to display hook col number.
INPUTS
column number of the column (visible).
RESULT
col number, -1 if the column is not valid.
SEE ALSO
MUIM_NList_ColToColumn
MUIM_NList_SetColumnCol
MUIA_NList_Columns
GO TO CONTENTS
NList.mcc/MUIM_NList_ContextMenuBuild
MUIM_NList_ContextMenuBuild --
SYNOPSIS
DoMethod(obj,MUIM_NList_ContextMenuBuild, LONG mx, LONG my, LONG pos,
LONG column, LONG flags,LONG ontop);
Give possibilities to use MUIM_ContextMenuBuild builtin in NList
and a custom context menu for a NList subclass.
Here is how NList MUIM_ContextMenuBuild work :
If MUIA_ContextMenu is NULL, NULL is returned (no menu).
If MUIA_ContextMenu is none of special values, the supermethod is called.
If MUIA_ContextMenu is MUIV_NList_ContextMenu_Never, MUIA_ContextMenu is
set to NULL and NULL is returned.
Else (it's a special value) MUIM_NList_ContextMenuBuild is called :
If MUIM_NList_ContextMenuBuild return -1, NULL will be returned (no menu).
If MUIM_NList_ContextMenuBuild return NULL, NList will return its own
context menu, depending on prefs (it's the default case).
If MUIM_NList_ContextMenuBuild return an menu object, NList will
enable/disable its own menu entries in the menu if it found some,
then return thqt object.
2 special menuitems are reconized by NList, and are found by :
DoMethod(MenuObj,MUIM_FindUData,MUIV_NList_Menu_Default_This)
and
DoMethod(MenuObj,MUIM_FindUData,MUIV_NList_Menu_Default_All)
MUIA_ContextMenu special values are actuallly used :
MUIV_NList_ContextMenu_Default replaced by one of followings.
MUIV_NList_ContextMenu_TopOnly only on title/top of list.
MUIV_NList_ContextMenu_Always always.
MUIV_NList_ContextMenu_Never never, repaced by NULL after.
when using MUIV_NList_ContextMenu_TopOnly NList will set MUIA_ContextMenu
NULL/non-NULL when the mouse move, which should permit to have
the window menu avaible when the contents menu is not visible.
Anyway actually (MUI 3.8) MUI has a bug/feature which make the
MUIA_ContextMenu being looked at only when the mouse *enter*
within the object bounds. MUIV_NList_ContextMenu_TopOnly stuff
will be nicer when that MUI problem is fixed...
Of course if you want NList to do what has to be done when a menu item
has been selected, your MUIM_ContextMenuChoice should call the supermethod.
INPUTS (for MUIM_NList_ContextMenuBuild)
mx current mouse x.
my current mouse y.
pos entry number returned by NList_TestPos.
column column returned by NList_TestPos.
flags flags returned by NList_TestPos.
ontop TRUE if mouse is on title/top of the list.
RESULT
NULL, -1 or a menustrip object.
EXEMPLES
To make a ContextMenu but have the NList one appear when the
mouse in on title/top, just set MUIA_ContextMenu,MUIV_NList_ContextMenu_Always
and make MUIM_NList_ContextMenuBuild return NULL when ontop in TRUE (else
return your menustrip object). Call MUIM_ContextMenuChoice supermethod too.
To make your own context menu which have the same menuitems as ones
in NList context menu, set MUIA_ContextMenu,MUIV_NList_ContextMenu_Always
and make MUIM_NList_ContextMenuBuild return always your menustrip object.
Make 4 menuitems in your menustrip object which will be like these :
{ NM_ITEM , "Default Width: this" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefWidth_This },
{ NM_ITEM , "Default Width: all" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefWidth_All },
{ NM_ITEM , "Default Order: this" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefOrder_This },
{ NM_ITEM , "Default Order: all" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefOrder_All },
They will be automatically enabled/disabled as needed by NList :)
Call MUIM_ContextMenuChoice supermethod too.
GO TO CONTENTS
NList.mcc/MUIM_NList_CopyTo
MUIM_NList_CopyTo --
SYNOPSIS
DoMethod(obj,MUIM_NList_CopyTo, LONG pos, char *filename,
APTR *result, APTR *entries);
Do a copy to clipboard from some list entries or strings.
INPUTS
pos entry number to be copied.
if MUIA_NList_CopyToClipHook is specified, it's what
it will return which will be copied instead of just
using the entry pointer as a string pointer.
special values :
MUIV_NList_CopyTo_Active copy list active entry
MUIV_NList_CopyTo_Selected copy list selected entries
MUIV_NList_CopyTo_All copy all list entries
MUIV_NList_CopyTo_Entries copy specified entries
MUIV_NList_CopyTo_Entry copy specified entry
a "\n" will be insert after each entry contents.
filename name of the file to copy to. If NULL then the copy will be
done to a string (strptr).
result LONG pointer which fill be filled with MUIV_NLCT_Success if
no error occured while opening and writing in the file, else
it will be filled with MUIV_NLCT_OpenErr, MUIV_NLCT_WriteErr
or MUIV_NLCT_Failed (failed somewhere when making copy data).
if filename is NULL, result will be filled with a string pointer
to a string allocated by AllocVec(). Datas will have been copied
in that string. YOU'LL HAVE TO FREE TAHT string pointer YOURSELF,
with a FreeVec(). If the returned string pointer is NULL then
the copy failed.
entries pointer to some entry, string, entries array or string array.
Its use depend on the pos value :
if MUIV_NList_CopyTo_Entry then it's an entry pointer.
if MUIV_NList_CopyTo_Entries then it's an entry pointer
array NULL terminated.
else : not used, set to NULL.
EXEMPLES
LONG result = 0;
DoMethod(obj,MUIM_NList_CopyTo, 5, "RAM:test.txt", &result, NULL, NULL);
will copy the 5th entry to file RAM:test.txt, using
MUIA_NList_CopyToClipHook if set.
LONG result = 0;
DoMethod(obj,MUIM_NList_CopyTo, MUIV_NList_CopyToClip_Selected,
"PRT:", &result, NULL, NULL);
will copy all selected entries to printer, using
MUIA_NList_CopyToClipHook for each if set.
char *strptr = NULL;
DoMethod(obj,MUIM_NList_CopyTo, MUIV_NList_CopyTo_All,
NULL, &strptr, NULL, NULL);
will copy all list entries to the string returned in strptr.
you must make a FreeVec(strptr) by yourself after.
SEE ALSO
MUIM_NList_CopyToClip
MUIA_NList_CopyToClipHook
GO TO CONTENTS
NList.mcc/MUIM_NList_CopyToClip
MUIM_NList_CopyToClip --
SYNOPSIS
DoMethod(obj,MUIM_NList_CopyToClip, LONG pos, ULONG clipnum,
APTR *entries, struct Hook *hook);
Do a copy to clipboard from some list entries or strings.
INPUTS
pos entry number to be copied.
if MUIA_NList_CopyToClipHook is specified, it's what
it will return which will be copied instead of just
using the entry pointer as a string pointer.
special values :
MUIV_NList_CopyToClip_Active copy list active entry
MUIV_NList_CopyToClip_Selected copy list selected entries
MUIV_NList_CopyToClip_All copy all list entries
MUIV_NList_CopyToClip_Entries copy specified entries
MUIV_NList_CopyToClip_Entry copy specified entry
MUIV_NList_CopyToClip_Strings copy specified strings using hook
MUIV_NList_CopyToClip_String copy specified string using hook
a "\n" will be insert after each entry contents, for all but
MUIV_NList_CopyToClip_Strings and MUIV_NList_CopyToClip_String.
clipnum clipboard number to copy to.
entries pointer to some entry, string, entries array or string array.
Its use depend on the pos value :
if MUIV_NList_CopyToClip_Entry then it's an entry pointer.
if MUIV_NList_CopyToClip_Entries then it's an entry pointer
array NULL terminated.
if MUIV_NList_CopyToClip_String then it's a string pointer.
if MUIV_NList_CopyToClip_Strings then it's an string pointer
array NULL terminated.
else : not used, set to NULL.
hook hook function which will be used (if not NULL) for
MUIV_NList_CopyToClip_Strings and
MUIV_NList_CopyToClip_String
instead of MUIA_NList_CopyToClipHook
Should be NULL most of time.
EXEMPLES
DoMethod(obj,MUIM_NList_CopyToClip, 5, 0, NULL, NULL);
will copy the 5th entry to clipboard 0, using
MUIA_NList_CopyToClipHook if set.
DoMethod(obj,MUIM_NList_CopyToClip, MUIV_NList_CopyToClip_Selected,
0, NULL, NULL);
will copy all selected entries to clipboard 0, using
MUIA_NList_CopyToClipHook for each if set.
DoMethod(obj,MUIM_NList_CopyToClip, MUIV_NList_CopyToClip_String,
0, "my string", NULL);
will copy "my string" to clipboard 0.
NOTE
MUIV_NList_CopyToClip_Strings and MUIV_NList_CopyToClip_String
are here to permit simple text copy to clipboard for non nlist
object related stuff (anyway a NList object must be here to use
them...). They can use their own hook instead of nlist one if
non NULL, anyway look at MUIA_NList_CopyToClipHook to see how
this hook will be used.
SEE ALSO
MUIA_NList_CopyToClipHook
MUIA_NList_CopyToClip_Key
MUIM_NList_CopyTo
GO TO CONTENTS
NList.mcc/MUIM_NList_CreateImage
MUIM_NList_CreateImage --
SYNOPSIS
DoMethod(obj,MUIM_NList_CreateImage,Object *imgobj, ULONG flags);
Same function as List.mui/MUIM_List_CreateImage.
Any transparent color in the source Bitmap/Bodychunk
object will work (except if flags is ~0L).
You must use MUIM_NList_CreateImage in Setup() or after
and MUIM_NList_DeleteImage in Cleanup() or before,
because the mri of the NList object must be valid.
Setup() and Cleanup() are the best because MUI_ObtainPen()
and MUI_ReleasePen() are used, and then pens will be
released while iconification and will be re-obtained
if the screen change.
Take a look at MUIM_NList_UseImage which is far easier to
use.
Standard flags value is 0.
If flags is ~0L then FillArea will not be set to FALSE on the object
(for any other value, FillArea is set to FALSE)
If flags is ~0L for a Bitmap/Bodychunk then it will be really the
given object which will be drawn, as for non Bitmap/Bodychunk objects.
The imgobj can (nearly) be any object, but take care of that :
- the object should not test and use user inputs, the object
should just be able to draw itself within the _left(obj),
_top(obj), _width(obj) and height(obj) it will have when its
Draw method is called.
- the object class MUST NOT be Group or subclass of it.
- the given imgobj must not be attached to any group object
anywhere else, because a ADDMEMBER will be done with it.
- Each imgobj can be used with one and only one NList object.
- you can use the return pointer with ESC O[
- the object will receive two tags just before its Draw method will
be called : set(imgobj,MUIA_NLIMG_EntryCurrent,current_entry_number) and
set(imgobj,MUIA_NLIMG_EntryHeight,height_of_each_entry_of_the_list)
which are usefull in some case to draw things (see demo example).
- a new stuff is to use it with ESC O[
a set(imgobj,tag,value) will be done just before drawing it, so
you can make an object which will draw different things when that tag
value is changed. Setting this tag MUST NOT make the object being
redrawn !!!
- if you use ;
use it everywhere you use that imgobj because there is no default for it.
- The imgobj height will always be set to the entries height.
- The mindefheight of imgobj will become the min height for entries.
- Think it's still a new testing stuff...
Note:
Previously the object was disposed by NList at its end, actually a call
to MUIM_NList_DeleteImage will REMMEMBER it, and so you have to dispose
it yourself after !
Look the demo program to see a way to use it...
RESULT
The result you get is a struct BitMapImage pointer which
will exist between the MUIM_NList_CreateImage and
MUIM_NList_DeleteImage, with a valid bitmap, width and
height for the current screen.
If you use it for a non Bitmap/Bodychunk object (or with flags
set to ~0L) then the mask and imgbmp fields of the returned
struct BitMapImage are not valid, and obtainpens is a pointer to
the object.
The only thing you should do with it is to include it in
\33O[%08lx]. The result may be NULL in which case NList
was unable to create the image, but the \33O[] combination
simply draws nothing when receiving a NULL.
ATTENTION:
The returned pointer doesn't give the same structure than
MUIM_List_CreateImage (in standard List class) would do :
both are not compatible at all !
SEE ALSO
MUIM_NList_DeleteImage
MUIM_NList_UseImage
GO TO CONTENTS
NList.mcc/MUIM_NList_DeleteImage
MUIM_NList_DeleteImage --
SYNOPSIS
DoMethod(obj,MUIM_NList_DeleteImage,APTR listimg);
Same function as List.mui/MUIM_List_DeleteImage.
Delete the image pointer returned from MUIM_NList_CreateImage.
Read explains in MUIM_NList_CreateImage.
SEE ALSO
MUIM_NList_CreateImage
MUIM_NList_UseImage
GO TO CONTENTS
NList.mcc/MUIM_NList_DoMethod
MUIM_NList_DoMethod --
SYNOPSIS
DoMethod(obj,MUIM_NList_DoMethod,LONG pos,
APTR DestObj,ULONG FollowParams,ULONG method,...);
The given method will be executed for each selected entry, the
active entry, all entries, or one specified entry of the NList
object.
Each DoMethod() can be done on the NList object, its _app object,
a specified object, or the entry pointer if (and only if) it's
an object.
Following arguments can be automatically adjusted for each call
using special values, like in the MUIM_Notify method (you must
specified the numer of following argument too, as there will be
copied in a temporary buffer - alloced in the stack).
INPUTS
pos - the entry number for which you want to do the method.
special values :
MUIV_NList_DoMethod_Active do it for the active entry.
MUIV_NList_DoMethod_Selected do it for all selected entries.
MUIV_NList_DoMethod_All do it
DestObj - the object on which the method will be done.
special values :
MUIV_NList_DoMethod_Entry use entry pointer as target object for method.
MUIV_NList_DoMethod_Self use the NList object as target for method.
MUIV_NList_DoMethod_App use the _app(NList object) as target for method.
FollowParams - the number of following parameters (including "method").
(maximum 40 to prevent errors and stack overflow)
method - the method which will be done.
... - the method parameters.
special values :
MUIV_NList_EntryValue replaced by the "current" entry pointer.
MUIV_NList_EntryPosValue replaced by the "current" entry number.
MUIV_NList_SelfValue replaced by the NList object.
MUIV_NList_AppValue replaced by _app(NList object)
NOTES
Don't use this to do things on the NList object when a specific way
to do it exists (don't use it to remove entries in the nlist object
itself for example).
When using it in a notification, MUIV_TriggerValue and MUIV_TriggerValue
special values will be replaced by the notify superclass as usual.
EXAMPLES
Insert all entries from nlist L1 to nlist L2 :
DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_All,
L2, 3,
MUIM_NList_InsertSingle, MUIV_NList_EntryValue, MUIV_NList_Insert_Bottom);
(it would be better to make set(L2,MUIA_NList_Quiet,TRUE) before and
set(L2,MUIA_NList_Quiet,FALSE) after when there are many entries...)
If the entries of nlist L1 are objects (and only in that case), you can do
that to call a method (MUIM_Foo,x) for each selected of them :
DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_Selected,
MUIV_NList_DoMethod_Entry, 2,
MUIM_Foo,x);
GO TO CONTENTS
NList.mcc/MUIM_NList_DropDraw
MUIM_NList_DropDraw --
SYNOPSIS
DoMethod(obj,MUIM_NList_DropDraw, LONG pos, LONG type,
LONG minx,LONG maxx,LONG miny,LONG maxy);
This method MUST NOT be called directly !
It will be called by NList, and will draw the drop mark previously fixed
(pos and type) by MUIM_NList_DropType within the minx, maxx, miny, maxy
in the _rp(obj) rasport. You must not draw outside of the given box,
because only the corresponding NList entry will be refreshed to erase what
is drawn in that method.
Calling the supermethod (so the builtin MUIM_NList_DropDraw method) will draw
the standard dropmark specified by (type & MUIV_NList_DropType_Mask), so
MUIV_NList_DropType_None,MUIV_NList_DropType_Above,MUIV_NList_DropType_Below
or MUIV_NList_DropType_Onto.
You can draw directly in the rastport (or a clone of it) in that method,
because it will be called from the Draw method within the DragReport in
Refresh mode.
SEE ALSO
MUIM_NList_DropType
MUIA_NList_DropType
MUIA_NList_DropMark
MUIA_NList_DropMark
GO TO CONTENTS
NList.mcc/MUIM_NList_DropEntryDrawErase
MUIM_NList_DropEntryDrawErase --
SYNOPSIS
DoMethod(obj,MUIM_NList_DropEntryDrawErase,LONG type,LONG drawpos,LONG erasepos);
This method MUST NOT be called directly !
It will be called by NList while the DragReport just before the redraw
which will draw a new mark or erase the old one.
This method can be used to change something so your displayhook will return
something different for the marked entry, like changing its color or making
it bold or italic.
Don't call the superclass unless you know that the superclass use it.
You should return 0.
INPUTS
type has the same meaning as *type in MUIM_NList_DropType, it will be useless
in most cases (and has no meanning at all for erasepos).
drawpos is the entry number which will be draw with a dropmark, -1 mean none.
erasepos is the entry number which is not any more the dropmark one, -1 mean none.
SEE ALSO
MUIM_NList_DropDraw
MUIA_NList_DropType
MUIA_NList_DropMark
GO TO CONTENTS
NList.mcc/MUIM_NList_DropType
MUIM_NList_DropType --
SYNOPSIS
DoMethod(obj,MUIM_NList_DropType, LONG *pos,LONG *type,
LONG minx,LONG maxx,LONG miny,LONG maxy,
LONG mousex,LONG mousey);
This method MUST NOT be called directly !
It will be called by NList while the DragReport, with default *pos and *type
values depending on the drag pointer position that you can modify as you want.
Default *type can be MUIV_NList_DropType_Above or MUIV_NList_DropType_Below.
You can change it to any of MUIV_NList_DropType_None,MUIV_NList_DropType_Above,
MUIV_NList_DropType_Below and MUIV_NList_DropType_Onto if you want, using
the mouse position and the entry box.
You can make you own *type value as soon as you don't set it in
MUIV_NList_DropType_Mask, and so draw what you want depending on that value
in the MUIM_NList_DropDraw method.
Note that any MUIV_NList_DropType_Below *type will be changed to
MUIV_NList_DropType_Above with a *pos incremented by 1 just after the
return of that method.
If you change the *pos, the list will be scrolled to see it (if the value is
correct).
getting MUIA_NList_DropType or MUIA_NList_DropMark will return the same values
as *pos and *type.
If your subclass is a direct NList subclass, then there is no need to call
the supermethod which done nothing at all !
SEE ALSO
MUIM_NList_DropDraw
MUIA_NList_DropType
MUIA_NList_DropMark
MUIA_NList_DropMark
GO TO CONTENTS
NList.mcc/MUIM_NList_Exchange
MUIM_NList_Exchange --
SYNOPSIS
DoMethod(obj,MUIM_NList_Exchange,LONG pos1, LONG pos2);
Same function as List.mui/MUIM_List_Exchange.
Exchange two entries in a NList object.
INPUTS
pos1 - number of the first entry.
pos2 - number of the second entry.
MUIV_NList_Exchange_Top
MUIV_NList_Exchange_Active
MUIV_NList_Exchange_Bottom
MUIV_NList_Exchange_Next only valid for second parameter
MUIV_NList_Exchange_Previous only valid for second parameter
SEE ALSO
MUIM_NList_Insert
MUIM_NList_Remove
MUIM_NList_Move
GO TO CONTENTS
NList.mcc/MUIM_NList_GetEntry
MUIM_NList_GetEntry --
SYNOPSIS
DoMethod(obj,MUIM_NList_GetEntry,LONG pos, APTR *entry);
Same function as List.mui/MUIM_List_GetEntry.
SPECIAL INPUTS
MUIV_NList_GetEntry_Active give active entry (or NULL if none)
SEE ALSO
MUIM_NList_Insert
MUIM_NList_Remove
MUIM_NList_GetEntryInfo
GO TO CONTENTS
NList.mcc/MUIM_NList_GetEntryInfo
MUIM_NList_GetEntryInfo --
SYNOPSIS
DoMethod(obj,MUIM_NList_GetEntryInfo,struct MUI_NList_GetEntryInfo *res);
You get usefull informations about some entry from its number,
or from the real line number which can be different when there
is word wrap in the list.
INPUTS
res - pointer to a MUI_NList_GetEntryInfo struct :
LONG pos; number of entry you want info about */
LONG line; real line number */
LONG entry_pos; entry number of returned entry ptr */
APTR entry; entry pointer */
LONG wrapcol; NOWRAP, WRAPCOLx, or WRAPPED|WRAPCOLx */
LONG charpos; start char number in string (unused if NOWRAP) */
LONG charlen; string lenght (unused if NOWRAP) */
if pos is MUIV_NList_GetEntryInfo_Line then the method will
use the line number to search infos, else line will be set
to its correct number for the value of pos.
entry is the entry ptr, think that if it's a word wrapped
entry then it come from the returned entry_pos entry.
Think too that if wrapcol tell you that it's a WRAPPED entry,
only the WRAPCOLx col is drawn, from the charpos position
in the string returned by DisplayHook for the column and for
entry_pos/entry.
SEE ALSO
MUIM_NList_GetEntry
GO TO CONTENTS
NList.mcc/MUIM_NList_GetSelectInfo
MUIM_NList_GetSelectInfo --
SYNOPSIS
DoMethod(obj,MUIM_NList_GetSelectInfo,struct MUI_NList_GetSelectInfo *res);
You get usefull informations about selected entries state.
INPUTS
res - pointer to a MUI_NList_GetSelectInfo struct :
LONG start num of first selected *REAL* entry/line (first of wrapped from which start is issued)
LONG end num of last selected *REAL* entry/line (first of wrapped from which start is issued)
LONG num not used
LONG start_column column of start of selection in 'start' entry
LONG end_column column of end of selection in 'end' entry
LONG start_pos char pos of start of selection in 'start_column' entry
LONG end_pos char pos of end of selection in 'end_column' entry
LONG vstart num of first visually selected entry (ie can be the 2nd or 3rd line of a word wrap entry)
LONG vend num of last visually selected entry (ie can be the 2nd or 3rd line of a word wrap entry)
LONG vnum number of visually selected entries
NOTE
If no entry is selected, then start, end, vstart, vend are -1, vnum is 0.
When start_column, end_column, start_pos, end_pos are -1 then the whole line/entry/column
is selected.
start_column, end_columb, start_pos and end_pos have the same meaning than
parameters passed to the MUIA_NList_CopyEntryToClipHook.
remember than in case of automatically added word wrapped entries, only
the concerned column have any contents. You get that case for 'vstart'
when 'start' is different, and for 'end' when 'vend' is different.
GO TO CONTENTS
NList.mcc/MUIM_NList_Insert
MUIM_NList_Insert --
SYNOPSIS
DoMethod(obj,MUIM_NList_Insert,APTR *entries, LONG count, LONG pos);
Same function as List.mui/MUIM_List_Insert.
Entry (display) contents will be display until \0 , \n or \r.
You can insert a multiline string with count==-2.
INPUTS
entries - pointer to an array of pointers to be inserted.
Warning: This is a pointer to a pointer.
It's a pointer to string if count==-2.
count - Number of elements to be inserted. If count==-1,
entries will be inserted until NULL pointer in
the entries array is found.
If count==-2 then entries must be a string pointer
which can be multiline with \n , \r or \r\n separators.
You'll get as many entries inserted as lines in the string.
The end char is \0.
pos - New entries will be added in front of this entry.
MUIV_NList_Insert_Top insert as first entry.
MUIV_NList_Insert_Active insert in front of the active entry.
MUIV_NList_Insert_Sorted insert sorted (all entries will be
sorted if necessary).
MUIV_NList_Insert_Bottom insert as last entry.
SEE ALSO
MUIM_NList_Remove
MUIA_NList_ConstructHook
MUIM_NList_InsertSingle
tWrap
GO TO CONTENTS
NList.mcc/MUIM_NList_InsertSingle
MUIM_NList_InsertSingle --
SYNOPSIS
DoMethod(obj,MUIM_NList_InsertSingle,APTR entry, LONG pos);
Same function as List.mui/MUIM_List_InsertSingle.
INPUTS
entry - item to insert.
pos - New entry will be added in front of this entry.
MUIV_NList_Insert_Top insert as first entry.
MUIV_NList_Insert_Active insert in front of the active entry.
MUIV_NList_Insert_Sorted insert sorted (all entries will be
sorted if necessary).
MUIV_NList_Insert_Bottom insert as last entry.
SEE ALSO
MUIM_NList_Remove
MUIA_NList_ConstructHook
MUIM_NList_Insert
tWrap
GO TO CONTENTS
NList.mcc/MUIM_NList_InsertSingleWrap
MUIM_NList_InsertSingleWrap --
SYNOPSIS
DoMethod(obj,MUIM_NList_InsertSingleWrap,
APTR entry, LONG pos, LONG wrapcol, LONG align);
Same function as MUIM_NList_InsertSingle but permit word wrap
and alignement for the entry.
INPUTS
entry - item to insert.
pos - New entry will be added in front of this entry.
MUIV_NList_Insert_Top insert as first entry.
MUIV_NList_Insert_Active insert in front of the active entry.
MUIV_NList_Insert_Sorted insert sorted (all entries will be
sorted if necessary).
MUIV_NList_Insert_Bottom insert as last entry.
wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
other col. NOWRAP if you don't want word wrap.
So only one of (display hook) col 0 to 6 can be wrapped.
align - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
be aware that align will be used if there is no escape
align sequence in the preparses or column entry string.
SEE ALSO
MUIM_NList_Remove
MUIA_NList_ConstructHook
MUIM_NList_Insert
p
GO TO CONTENTS
NList.mcc/MUIM_NList_InsertWrap
MUIM_NList_InsertWrap --
SYNOPSIS
DoMethod(obj,MUIM_NList_InsertWrap, APTR *entries,
LONG count, LONG pos, LONG wrapcol, LONG align);
Same function as MUIM_NList_Insert but permit word wrap and
alignement for the entry.
INPUTS
entries - pointer to an array of pointers to be inserted.
Warning: This is a pointer to a pointer.
It's a pointer to string if count==-2.
count - Number of elements to be inserted. If count==-1,
entries will be inserted until NULL pointer in
the entries array is found.
If count==-2 then entries must be a string pointer
which can be multiline with \n , \r or \r\n separators.
You'll get as many entries inserted as lines in the string.
The end char is \0.
pos - New entry will be added in front of this entry.
MUIV_NList_Insert_Top insert as first entry.
MUIV_NList_Insert_Active insert in front of the active entry.
MUIV_NList_Insert_Sorted insert sorted (all entries will be
sorted if necessary).
MUIV_NList_Insert_Bottom insert as last entry.
wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
other col. NOWRAP if you don't want word wrap.
So only one of (display hook) col 0 to 6 can be wrapped.
align - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
be aware that align will be used if there is no escape
align sequence in the preparses or column entry string.
SEE ALSO
MUIM_NList_Remove
MUIA_NList_ConstructHook
MUIM_NList_Insert
gleWrap
GO TO CONTENTS
NList.mcc/MUIM_NList_Jump
MUIM_NList_Jump --
SYNOPSIS
DoMethod(obj,MUIM_NList_Jump,LONG pos);
Same function as List.mui/MUIM_List_Jump.
INPUTS
pos - Number of the entry that should be made visible.
Use MUIV_NList_Jump_Active to jump to the active
entry.
SEE ALSO
MUIA_NList_Active
MUIA_NList_First
GO TO CONTENTS
NList.mcc/MUIM_NList_Move
MUIM_NList_Move --
SYNOPSIS
DoMethod(obj,MUIM_NList_Move,LONG from, LONG to);
Same function as List.mui/MUIM_List_Move.
INPUTS
pos1 - number of the first entry.
pos2 - number of the second entry.
Possible special values :
MUIV_NList_Move_Top
MUIV_NList_Move_Active
MUIV_NList_Move_Bottom
MUIV_NList_Move_Next only valid for second parameter
if first one is not Move_Selected
MUIV_NList_Move_Previous only valid for second parameter
if first one is not Move_Selected
MUIV_NList_Move_Selected only valid for first parameter
SEE ALSO
MUIM_NList_Insert
MUIM_NList_Remove
MUIM_NList_Exchange
GO TO CONTENTS
NList.mcc/MUIM_NList_NextSelected
MUIM_NList_NextSelected --
SYNOPSIS
DoMethod(obj,MUIM_NList_NextSelected,LONG *pos);
Same function as List.mui/MUIM_List_NextSelected.
In TypeSelect_Char mode you'll get all entries of the selected
area, even the first and last which can be very partially selected.
INPUTS
pos - a pointer to longword that will hold the number
of the returned entry. Must be set to
MUIV_NList_NextSelected_Start at start of iteration.
Is set to MUIV_NList_NextSelected_End when iteration
is finished.
SEE ALSO
MUIM_NList_Select
MUIM_NList_PrevSelected
GO TO CONTENTS
NList.mcc/MUIM_NList_PrevSelected
MUIM_NList_PrevSelected --
SYNOPSIS
DoMethod(obj,MUIM_NList_PrevSelected,LONG *pos);
Work like MUIM_NList_NextSelected but give previous selected entry.
In TypeSelect_Char mode you'll get all entries of the selected
area, even the first and last which can be very partially selected.
INPUTS
pos - a pointer to longword that will hold the number
of the returned entry. Must be set to
MUIV_NList_PrevSelected_Start at start of iteration.
Is set to MUIV_NList_PrevSelected_End when iteration
is finished.
SEE ALSO
MUIM_NList_Select
MUIM_NList_NextSelected
GO TO CONTENTS
NList.mcc/MUIM_NList_Redraw
MUIM_NList_Redraw --
SYNOPSIS
DoMethod(obj,MUIM_NList_Redraw,LONG pos);
Same function as List.mui/MUIM_List_Redraw.
Redraw some entry or all.
INPUTS
pos - Number of the line to redraw. When the line is not
currently visible, nothing will happen. Specials:
MUIV_NList_Redraw_Active redraw the active line (if any),
MUIV_NList_Redraw_All redraw all lines.
MUIV_NList_Redraw_Title redraw the title.
SEE ALSO
MUIM_NList_RedrawEntry
GO TO CONTENTS
NList.mcc/MUIM_NList_RedrawEntry
MUIM_NList_RedrawEntry --
SYNOPSIS
DoMethod(obj,MUIM_NList_RedrawEntry,APTR entry);
Redraw some entry, like MUIM_NList_Redraw, but using the entry
pointer instead of the entry number.
INPUTS
entry - Entry ptr of the entry (entries) you want to be redraw.
SEE ALSO
MUIM_NList_Redraw
GO TO CONTENTS
NList.mcc/MUIM_NList_Remove
MUIM_NList_Remove --
SYNOPSIS
DoMethod(obj,MUIM_NList_Remove,LONG pos);
Same function as List.mui/MUIM_List_Remove.
INPUTS
pos - number of the entry to be removed or one of
MUIV_NList_Remove_First
MUIV_NList_Remove_Active
MUIV_NList_Remove_Selected
MUIV_NList_Remove_Last
When the active or a selected entry is removed,
the following entry will become active.
When the active is the removed and is the last,
the new last become active.
SEE ALSO
MUIM_NList_Insert
MUIA_NList_DestructHook
GO TO CONTENTS
NList.mcc/MUIM_NList_ReplaceSingle
MUIM_NList_ReplaceSingle --
DoMethod(obj,MUIM_NList_ReplaceSingle,
APTR entry, LONG pos, LONG wrapcol, LONG align);
Same function as MUIM_NList_InsertSingleWrap but replace an existing
entry rather than inserting.
It's better to do a direct replace than remove then insert it !
INPUTS
entry - item to insert.
pos - New entry will be added in front of this entry.
MUIV_NList_Insert_Top insert as first entry.
MUIV_NList_Insert_Active insert in front of the active entry.
MUIV_NList_Insert_Sorted insert sorted (all entries will be
sorted if necessary).
MUIV_NList_Insert_Bottom insert as last entry.
wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
other col. NOWRAP if you don't want word wrap.
So only one of (display hook) col 0 to 6 can be wrapped.
align - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
be aware that align will be used if there is no escape
align sequence in the preparses or column entry string.
SEE ALSO
MUIM_NList_Remove
MUIM_NList_InsertSingleWrap
GO TO CONTENTS
NList.mcc/MUIM_NList_Select
MUIM_NList_Select --
SYNOPSIS
DoMethod(obj,MUIM_NList_Select,LONG pos, LONG seltype, LONG *state);
Same function as List.mui/MUIM_List_Select when in TypeSelect_Line mode.
In TypeSelect_Char mode, MUIV_NList_Select_Off will clear the selected
area (don't look what is pos). MUIV_NList_Select_On will select the
pos entry only (can be MUIV_NList_Select_Active or MUIV_NList_Select_All).
MUIV_NList_Select_Ask will give the number off entry in the selected area.
INPUTS
pos - Number of the entry or
MUIV_NList_Select_Active for the active entry.
MUIV_NList_Select_All for all entries.
seltype - MUIV_NList_Select_Off unselect entry.
MUIV_NList_Select_On select entry.
MUIV_NList_Select_Toggle toggle entry.
MUIV_NList_Select_Ask just ask about the state.
state - Pointer to a longword. If not NULL, this will
be filled with the current selection state.
SEE ALSO
MUIA_NList_TypeSelect
MUIA_NList_MultiTestHook
GO TO CONTENTS
NList.mcc/MUIM_NList_SetColumnCol
MUIM_NList_SetColumnCol --
SYNOPSIS
DoMethod(obj,MUIM_NList_SetColumnCol,LONG column,LONG col);
set which displayhook col is at the visible column.
INPUTS
column number of the column (visible).
if MUIV_NList_SetColumnCol_Default then the given (diplayhook) col
will come back to its default/original (from List_Format) position.
col col number (displayhook one).
if MUIV_NList_SetColumnCol_Default then the given visible column
will come back to its default/original (from List_Format) position.
both set to MUIV_NList_SetColumnCol_Default make all columns
come back to their default/original (from List_Format) position.
RESULT
None.
NOTE
MUIM_NList_SetColumnCol always exchange the moved column with the column
which was were it move.
SEE ALSO
MUIM_NList_ColToColumn
MUIM_NList_ColumnToCol
MUIA_NList_Columns
GO TO CONTENTS
NList.mcc/MUIM_NList_Sort
MUIM_NList_Sort --
SYNOPSIS
DoMethod(obj,MUIM_NList_Sort);
Same function as List.mui/MUIM_List_Sort.
SEE ALSO
MUIA_NList_CompareHook
GO TO CONTENTS
NList.mcc/MUIM_NList_Sort2
MUIM_NList_Sort2 --
SYNOPSIS
DoMethod(obj,MUIM_NList_Sort2,LONG sort_type, LONG sort_type_add);
Same function as MUIM_NList_Sort but will set MUIA_NList_SortType
before starting the sort.
It is really usefull only if you use MUIA_NList_CompareHook2 instead
of classic MUIA_NList_CompareHook so your hook will be able to do
different type of sort when NList_SortType change.
INPUTS
sort_type - The new MUIA_NList_SortType value (see below).
sort_type_add - If 0 then sort_type will be the new MUIA_NList_SortType,
else if current MUIA_NList_SortType & MUIV_NList_SortTypeValue_Mask
is same as sort_type then sort_type_add will be added to the
MUIA_NList_SortType value,
else sort_type will be the new MUIA_NList_SortType.
See examples for special values.
EXAMPLES
Many times this method will be used to sort multicolumn list in different
ways when the user click on title buttons :
DoMethod(list,MUIM_Notify,MUIA_NList_TitleClick, MUIV_EveryTime,
list, 3, MUIM_NList_Sort, MUIV_TriggerValue, MUIV_NList_SortTypeAdd_xxx);
if MUIV_NList_SortTypeAdd_None then the hook sort_type value will be the column
number.
if MUIV_NList_SortTypeAdd_2Values then the hook sort_type value will be a cycle of
values which change on each click :
o Column number (first time)
o Column number + MUIV_NList_SortTypeAdd_2Values
o back to column number ...
if MUIV_NList_SortTypeAdd_4Values then the hook sort_type value will be a cycle of
values which change on each click :
o Column number (first time)
o Column number + MUIV_NList_SortTypeAdd_4Values
o Column number + MUIV_NList_SortTypeAdd_4Values*2
o Column number + MUIV_NList_SortTypeAdd_4Values*3
o back to column number ...
SEE ALSO
MUIA_NList_CompareHook2
MUIM_NList_Sort
MUIA_NList_SortType
GO TO CONTENTS
NList.mcc/MUIM_NList_TestPos
MUIM_NList_TestPos --
SYNOPSIS
DoMethod(obj,MUIM_NList_TestPos,LONG x, LONG y, struct MUI_NList_TestPos_Result *res);
Find out which informations of a list which is currently
displayed at a certain position.
You must give a pointer to a valid MUI_NList_TestPos_Result struct.
Set x AND y to MUI_MAXMAX to get infos about the last click position !
See NList_mcc.h to know what values will be set in the struct.
Preset char_number to -2 in the struct to not get char_number and char_xoffset
informations. It's usefull if you don't need them because it will be
faster for the method without finding them. the -2 value will stay valid
for next call.
You'll get char number from what you return from the DisplayHook if there is
one, else from the beginning of the string/entry ptr.
Be aware: if you use MUIM_List_TestPos you have to give a pointer to a
struct MUI_List_TestPos_Result, and you'll get same infos as using a List object.
It wasn't done as is before, makeing enforcer hits when trying to use NList
or NFloattext with a Listview instead of a NListview (avoid it please, it's not
done for it as Listview try to make many things itself, with possible conficts),
because struct MUI_NList_TestPos_Result is bigger !!!
NOTE
column in the struct MUI_NList_TestPos_Result is the visible column number !
GO TO CONTENTS
NList.mcc/MUIM_NList_UseImage
MUIM_NList_UseImage --
SYNOPSIS
DoMethod(obj,MUIM_NList_UseImage,Object *obj, ULONG imgnum, ULONG flags);
If you want to use MUIM_NList_CreateImage/MUIM_NList_DeleteImage
as you should, you must make a NList subclass which call them
from Setup() and Cleanup(), and it's sometime complicated.
To avoid that, you can use MUIM_NList_UseImage. NList will
store the Bitmap/Bodychunk object you give and will make
CreateImage and DeleteImage itself !
MUIM_NList_UseImage can use same object as MUIM_NList_CreateImage !
NULL is a valid obj. It will erase any previously UseImage
with the same imgnum.
The imgnum you give is the number that you will use in
\33o[
MUIM_NList_UseImage will accept 0 <= imgnum < 8192, anyway
use small value if you can because an array will be allocated
with the biggest imgnum value as size to store the
Bitmap/Bodychunk objects.
DoMethod(obj,MUIM_NList_UseImage,NULL, -1, 0) will set NULL to
all stored objects, so you'll be able to dispose your
Bitmap/Bodychunk objects if you want, without waiting the NList
objet dispose.
flags is the same than for MUIM_NList_CreateImage (0 unless special case).
RESULT
TRUE if succeeded to store the obj (and allocate the array
if needed), else FALSE.
There is no way to know if the MUIM_NList_CreateImage
needed to draw will succeed/has succeeded.
ATTENTION:
The given Bitmap/Bodychunk object MUST be valid until the
NList object is disposed or you set another object (or NULL)
at the same imgnum !
The Bitmap/Bodychunk object can be shared with other NList
object because NList just use it to get informations, anyway
you mustn't change informations of that object. If you to do
so, do a UseImage,NULL,x , change it then do UseImage,imgobj,x
again.
SEE ALSO
MUIM_NList_CreateImage
MUIM_NList_DeleteImage