2 NList.mcc/NListview.mcc/NFloattext.mcc/NListviews.mcp - Documentation
4 *********************************************************************
12 NList.mcc (C) 1996-2001 Gilles Masson
13 NList.mcc 2001 NList Open Source Team
15 This data is freely distributable, but copyrighted by me. This means
16 you may freely copy them as long as you do not charge more than a
17 nominal fee for copying. This data may be put on PD disks, especially
18 on Fred Fish's AmigaLibDisks and Fred's or Aminet CDROMs. If you want to
19 distribute the data you MUST keep this document with it. All documents,
20 programms and files must be distributed in their original unmodified
23 The authors can not be made responsible for any damage which is
24 caused by using these programs.
26 This class is FreeWare.
28 -------------------------------------------------------------------------
29 The AUTHOR of a program can include the NList.mcc, NListview.mcc,
30 NFloattext.mcc, NListviews.mcp and Install files in its program archive
31 as soon as the above is respected. You can install them from you're own
32 script or use the provided one as you want.
33 -------------------------------------------------------------------------
36 I'm interesting in who is using my classes in his own (free) programs,
37 so don't hesitate to contact me. (just a mail telling what you're doing
38 with NList would be nice :)
42 Send comments, suggestions or bug reports to:
44 NList Open Source Team <nlistdev@meanmachine.ch>
48 What are NList.mcc/NListview.mcc/NFloattext.mcc/NListviews.mcp ?
49 ****************************************************************
51 NList is a Custom Class for the Magic User Interface (c) by Stefan
52 Stuntz. It's a subclass of area-class which make the same stuffs
53 than the MUI List/Listview class, and more.
55 NList implement horizontal scrolling, built-in copy to clipboard,
56 classic char precision selection of area, drag and drop and some others.
58 NListview give NList scrollbars, vertical as Listview, but horizontal
61 NFloattext is like Floattext and do automatic word wrap. The interest
62 to do it with NList is the builtin copy to clipboard.
64 There is a mui pref class NListviews.mcp with it, which permit the
65 user to choose all default backgrounds, pens and fonts.
68 There is a Floattext.mui replacement which should work with all
69 programs. It's simply a stub to NFloattext.mcc.
70 To work that class must have the same major version number than original
71 have (ie 19.x for MUI 3.8), so it will surely have to be upgraded for next
72 MUI release and it should currently work only with MUI 3.8.
89 for all (this is done by the install script) :
91 copy MCC_NList/Libs/MUI/NFloattext.mcc MUI:Libs/MUI/
92 copy MCC_NList/Libs/MUI/NList.mcc MUI:Libs/MUI/
93 copy MCC_NList/Libs/MUI/NListview.mcc MUI:Libs/MUI/
94 copy MCC_NList/Libs/MUI/NListviews.mcp MUI:Libs/MUI/
96 start the NList-Demo program ;-)
98 and if you want to use the Floattext.mui replacement :
99 (keep a copy of original before !)
100 copy MCC_NList/Libs/MUI/Floattext.mui MUI:Libs/MUI/
106 copy MCC_NList/Developer/AutoDocs/MCC_NFloattext.doc AutoDoc:
107 copy MCC_NList/Developer/AutoDocs/MCC_NList.doc AutoDoc:
108 copy MCC_NList/Developer/AutoDocs/MCC_NListview.doc AutoDoc:
109 copy MCC_NList/Developer/Include/MUI/NFloattext_mcc.h Include:MUI/
110 copy MCC_NList/Developer/Include/MUI/NList_mcc.h Include:MUI/
111 copy MCC_NList/Developer/Include/MUI/NListview_mcc.h Include:MUI/
116 The Floattext.mui replacement is just a subclass to NFloattext.mcc and
117 perhaps it will have compatibility problems with original one.
118 If you have problem, try again with original, and tell me if it's really
119 a problem made by the replacement class. Think to try just increasing
120 the stack of the program which make problems using it !!!
123 Actually you can try to patch current Listtree.mcc, Dirlist.mui and Volumelist.mui
124 editing those files and replacing "List.mui\0\0" by "NList.mcc\0".
125 Of course doing that is at your own risks, but it seems to work in nearly
126 all cases. Keep a copy of original files before trying that... ;)
127 I use that for long time now, and the same work with many applications
128 which use MUI and List.mui/Listview.mui (AmFTP, YAM1.3.4 for example).
138 - By default the first column is not sortable. It's a feature, not a bug. Any
139 program can change that just setting the MUIA_NList_MinColSortable tag.
141 - Using *simple refresh mode* for the window can make redraw problems when using
142 context menu. It is a MUI bug !
144 - When the size of a NListview object can be changed because of a balance object,
145 there can be strange things when moving that balance object with keys shortcuts
146 because in that case the window layout don't work correctly when some object
147 do ADDMEMBER or ADDMEMBER because of those size changes.
148 This is a Balance object bug ! Which make problems with other objects too,
149 not only with NListview ones...
151 - Miscalaneous problems can come if stack is too low.
152 Think that when you call the mui prefs from some program the pref window and
153 all its objects will work in the program context, with the same stack, so
154 it can happens to have a stack to small only when the mui pref is opened...
155 It is a bug of you (set the stack bigger, i suggest > 12K) or from the program
156 (if it extends the stack to a too small value for a NList use).
158 - Some users have reported crash when going in NListviews prefs because
159 of old version of HotkeyString.mcc from Allan Odgaard.
164 What is to do in future ?
165 *************************
167 - Make a nice user configuration for title marks.
169 - Make NList subclasses. I think about Volumelist, Dirlist.
170 Tell me if you want to do one of them.
171 - Pref for the copy to clipboard key. (is there anyone which have a source
172 to test a rawkey event against a string pref (like 'alt c') ?).
173 - Pref for the mark/block qualifier key (both for mouse and key handling)
174 - Fix bugs you will find and inform me.
183 Think about a >12Kb (more?) stack to run it.
184 (i always use 16K stack with MUI programs when NList is used, and so always
185 because most MUI programs use Floattext.mui...)
188 If the .MCP custom MUI prefs freeze mui prefs with another program,
189 control its stack value, it could be too small !
192 Use SegTracker with Enforcer. You will have more information and know
193 in which .mcc/.mcc/.mui/program the hit happened !
195 If with some program you get enforcer or mungwall hit, tell me, but give
196 all usefull informations - your config, your commodities/patches/hacks.
200 Think to update the keybindings when you install a new MCC_NList release.
204 You can look on ftp://iutsoph.unice.fr/pub/amiga/mui/
205 or http://iutsoph.unice.fr/amiga/mui/ for new releases.
208 Email me if you want (beta) releases infos by email, or if you want to
209 receive (beta) releases by email (uuencoded).
213 Give me some feedback if you like it, don't like it, need some changes
222 Thanks to Stefan Stuntz for MUI.
224 Thanks to Klaus Melchior,
226 Troels Walsted Hansed,
233 and all others beta testers for ideas, reports and help to find bugs.
238 (C) 1996-2001 Gilles Masson masson@iutsoph.unice.fr
240 2001 NList Open Source Team nlistdev@meanmachine.ch
252 * NList.mcc 20.103 23.11.01 Sensei <sensei@box43.gnet.pl>
253 - added MUIM_NList_Construct, MUIM_NList_Destruct, MUIM_NList_Compare and
254 MUIM_NList_Display methods. Three first one was added in September, but
255 I don't remember when exactly.
256 - bumped version to V20.
258 * NList.mcc 19.101 24.06.01
259 - Enforcer hit on dispose removed.
260 - Again some speedups.
262 * NList.mcc 19.100 20.06.01
263 - Changed memory management, made some other speedups
264 (internal version only).
266 * NList.mcc 19.98 18.02.01
267 - added MUIM_NList_SelectChange method
269 * NList.mcc 19.97 30.11.98
270 - fixed MUIA_NList_SortType default is now MUIV_NList_SortType_None.
272 * NList.mcc 19.96 29.11.98
273 - added Support of a secondary title mark with MUIA_NList_TitleMark2.
274 - added Support of qualified titleclick (the qualifier have to be set in the prefs)
275 with MUIA_NList_TitleClick2.
276 - added Support of a secondary sort type value with MUIA_NList_SortType2.
277 Test and look the demo to have an example.
278 - added MUIM_NList_Sort3 method permit to set/change MUIA_NList_SortType,
279 MUIA_NList_SortType2 or both before doing the sort.
280 - fixed Returning NULL in the construct hook just skip the insert of the entry.
281 - added MUIM_NList_GetPos give the entry number where is the (next) given entry ptr.
283 * NList.mcc 19.95 02.11.98
284 - fixed There were a redraw out of the bounds of the list in some refresh cases.
285 - added Maximum visible drag items before 'Dragging xx Items...' pref support.
286 - fixed A LockLayer/UnLockLayer where forgotten in the refresh process.
287 - fixed The move/resize pointers could be shown when another window was in front
288 of the list (with the list's window active).
289 - fixed The esc-E sequence now make like esc-C when there is no text.
290 - fixed Setting WEIGHT=-1 in the Fromat string did not worked as not setting it
291 at all. The autodoc about default W=-1 didn't reflect exactly the way it
292 worked, it has been corrected and reflect how it works now.
293 - fixed After a Clear in Quiet mode the titles width were forgotten.
294 - fixed The Import and Export methods have been rewritten. Previous ones made a
295 system crash for some users (not for me and some others, i don't know why).
297 * NList.mcc 19.94 20.10.98
298 - fixed In MUIM_Export a pooled alloc were not freed.
299 - fixed There were many problems with the qualifiers of keybindings.
300 - fixed The multiselect qualifier started the drag in some case.
301 - fixed A little problem in MinLineHeight.
302 - added Better pointer colors possibilities, setting the wanted color number
303 for the black in prefs.
304 - added Support for the new MouseWheel prefs.
307 * NList.mcc 19.93 24.07.98
308 - fixed In some cases the last visible column was not resizable.
309 - fixed Going back to default width of a column didn't worked always.
310 - added The title marker can now loaded/saved like widths etc.
311 - added Shortcuts for the default width and order (see in pref to know what they are).
312 Double clicking on a separator do not default the width anymore, and RMB while
313 resizing cancel the resize.
314 - added Full configurable shortcuts and qualifiers.
316 * NList.mcc 19.92 15.07.98
317 - added Custom pointer colors changed (it appear that i don't use standard pointer
318 colors on my system). You can ask for previous ones in prefs.
319 - fixed In some cases column width was not saved for all columns.
320 - fixed The horiz scrollbar considered the length of the non-visible end of the
321 last column when the user have reduced its size.
322 - fixed This time serial mouse and tablet support should be ok, a special pref
323 has been added to permit D&D support with them (but list scrolling
324 while dragging can't work correctly) because of a MUI "bug".
325 - added Support mouse wheel using Alessandro Zummo OptMouse (beta) version.
327 * NList.mcc 19.91 21.06.98
328 - fixed Again some refresh problems in simple refresh more, should be ok now.
330 * NList.mcc 19.90 27.05.98
331 - fixed A stupid bug made Auto/FullAuto scrollers "freeze" the object when they
332 appear the first time the object is drawn.
334 * NList.mcc 19.89 25.05.98
335 - fixed Now the MUI window refresh is forced before trying to redraw anything else
336 in the list (this case happen only in simple refresh mode). It was not done,
337 so in some cases the drawing was clipped by the intuition refresh clipping !
338 - fixed There were some other refresh problems with the Redraw method when using
340 - fixed There were a little drawing bug while (simple) refresh at bottom of list.
341 - fixed Notifies were always done asynchronously (!), not done any more.
342 - fixed XEN buttons (and perhaps other ones ?) in NList objects had a little redraw
344 - fixed Having the last column less large than the remaining right space with a
345 separator bar is now possible (it can avoid the need of an extra empty column).
346 - fixed Use of graphic tablet instead of mouse should work again (i hope).
347 - fixed The copy to clipboard shortkeys unselect the area.
348 - added Read only list in char selection make auto copy to clipboard.
350 * NList.mcc 19.88 04.05.98
351 - fixed There still were a problem with MUIA_NList_AdjustHeight, should be ok now.
352 - fixed Now the changed mouse pointer are hires on V39+, no need any more to use a
353 hires pointer patch for NList when using AGA or CGFX... :)
354 - fixed Sorted Inserts are now faster. Anyway if you have 1000 sorted entries to
355 insert it is faster to insert them normally and do a sort after.
356 - fixed An enforcer hit happened when clicking on NFloattext object border.
357 - added MUIA_NList_MultiClickAlone which is notified only for the final multiclick
358 number, so if there are 3 clicks there will be only one multiclickalone
359 notified, a little (max time between 2 clicks) after the 3rd one.
360 - fixed There were some strange input problem since last release because of
361 changed made for tablet, but the fix made an other bug, so actually i
362 came back to the old code. I will re-make a big part of the eventhandler
365 * NList.mcc 19.87 29.04.98
366 - fixed In some cases the image objects shown in NList entries appeared disabled !
367 - fixed Selecting entries before the window containing the nlist object is open
369 - fixed MUIA_NList_AdjustWidth and MUIA_NList_AdjustHeight didn't worked as expected.
370 - added MUIA_NList_Columns now work.
372 * NList.mcc 19.86 13.04.98
373 - fixed MUIA_NList_AdjustWidth didn't worked any more, i don't know in which
374 release this happened...
375 - fixed most MUIV_NList_Jump_xxx were not implemented at all ! :(
376 - fixed MUIV_NList_Move_Next didn't work as it should.
377 - fixed the rastport softstyle was not always reset to initial state.
378 - fixed in the builtin comparehook: stricmp() replaced by Stricmp() which (i hope)
379 make a localized compare.
380 - fixed setting MUIA_NList_MinLineHeight didn't update and redraw the list in some cases.
381 - fixed MUIA_Disabled now disable all user input and redraw.
382 - added all MUIA_NList_Imports and MUIA_NList_Exports values are now usable, so the
383 NList object can now save/load columns width and order for example.
384 - added MUIM_NList_SetColumnCol permit to set which displayhook col is at some
386 - fixed The sort algorithm speed has been higly increased using the qsort().
387 It was very slow before, 50,000 entries were sorted in more than 8 hours,
388 but now it take less than 30 seconds ! :)
391 * NList.mcc 19.84 15.12.97
392 - fixed the Pointer changes now work ok when using the MCP Hires Pointer patch.
393 - fixed the background is not drawn any more twice (one by group subclass) when
394 a complete redraw is made (this was visible with complex background while
395 a resize of the list).
396 - fixed most of time, clicking on an image didn't activate the entry (this bug
397 was introduced in 19.81 by the "relverify button" code)
398 - added Notify can now be made on MUIA_NList_DragSortInsert to know when
399 DragSort have been done.
400 - fixed Notify can now be made on MUIA_NList_InsertPosition.
401 - added You can now mark one title column with MUIA_NList_TitleMark.
402 This can be usefull to show on which column a list is sorted for example.
404 * NList.mcc 19.83 08.12.97
405 - fixed MUI_NLPR_ONTOP flag was never set by TestPos method !
406 - added now the pointer is changed at mouse positions where column width is resizable.
407 - added double click on title column separator bar make the column width go to default.
408 - fixed RMB while changing a column width make all column width go to default.
409 - fixed An (not bitmap/bodychunk) image object in the text of a MailText.mcc made
410 the whole system freeze when set at init.
411 - added Now the columns can be sorted by the user using his mouse, the tag
412 MUIA_NList_MinColSortable is here to set the first sortable column (default=1).
413 - added NList can now save the active entry as List.mui does. Will be able to save more
416 * NList.mcc 19.82 28.10.97
417 - fixed The list should not show empty lines because the window size changed any more.
418 - fixed MUIA_Font is now settable, the change will take effect after next MUIM_Setup,
419 so you can set it until the DoSuperMethod call of the MUIM_Setup of a NList
421 - fixed HandleEvent didn't returned MUI_EventHandlerRC_Eat when Amiga-C/Amiga-X where
422 used to copy to clipboard.
423 - fixed When MUIA_NList_DefaultObjectOnClick is used and the user click outside the
424 list then the list is not the default object any more (until next click in
426 - fixed No notify is made any more on Active, First, Select,... for changes which
427 happend while in Quiet mode (unless using MUIV_NList_Quiet_Visual instead
428 of the classic/default MUIV_NList_Quiet_Full).
429 - added ESC t[N], ESC t[N<n>], ESC t[NM<n>], ESC t[NI<n>] sequences.
430 (see MUIA_NList_DisplayHook)
431 - added SIMPLEBAR=SBAR option in Format string to draw BAR as a simple black line.
433 * NList.mcc 19.81 15.07.97
434 - added some new hooks MUIA_NList_XxxxHook2 which are same as MUIA_NList_XxxxHook ones
435 but use a more standard way to be called, ie with the object in A2 and a
436 message in A1 which is a struct.
437 This give a correct access to the object, and permit the MUIA_NList_CompareHook2
438 hook to use the MUIA_NList_SortType value (see below).
439 - added MUIA_NList_SortType tag which can be set and get, is passed to the
440 MUIA_NList_CompareHook2 hook and can be directly setted in MUIM_NList_Sort2.
441 - added MUIM_NList_Sort2 method which set MUIA_NList_SortType value the do same as
442 MUIM_NList_Sort (its goal is to permit very easy sort using a single notify
443 on MUIA_NList_TitleClick.
444 - fixed MUIA_Listview_MultiSelect and MUIA_Listview_Input set on a Listview should
445 now work for a NList child.
446 - added MUIA_NList_ButtonClick and ESC O[...@<n>] or ESC o[...@<n>] sequences
447 to make relverify like buttons and get notifies when they are clicked.
448 - added MUIM_NList_CreateImage and MUIM_NList_UseImage now use the flags argument :
449 when ~0L NList don't make set(MUIA_FillArea,FALSE) on the object any more.
451 * NList.mcc 19.80 15.07.97
452 - fixed use HandleInput for MuiKeys as it seems they are not received by HandleEvent
453 in some cases. Intuition events are still handled in HandleEvent.
454 - fixed setting MUIA_NList_Active could make some delayed MUIA_NList_Active notify.
455 - fixed some horizontal scrollbar in fullauto mode problems should be fixed.
456 - added new escape sequence ESC t[..] which make ESC C and ESC E horiz bar
457 being thick (and filled with wanted color).
458 - fixed setting default to never have the NList context menu show it at the 1st RMB click.
460 * NList.mcc 19.79 09.07.97
461 - fixed NList didn't cleared entries when disposed, so destruct hook where never called
463 - fixed handleInput has been replaced by HandleEvent.
464 - added NList entries strings could be ended by \0 and \n only.
465 Now NList reconize \r and \r\n too as end of strings.
466 - fixed no MUIA_NList_Active (MUIA_List_Active) notify were sent when the list is cleared.
467 - fixed Drag in immediate mode don't start any more immediately but at first mouse move.
468 - fixed Insertion of entries containing ESC I[] while in quiet mode should be a little faster.
469 - fixed there were in some cases a problem with MUIA_NList_Active/MUIA_List_Active notify,
470 and that notify was never done when the list became cleared.
471 (works better when used in a standard Listview now)
472 - fixed Notifies on MUIA_Listview_SelectChange and MUIA_Listview_DoubleClick
473 (when using standard Listview) should now work.
474 - added MUIM_NList_ContextMenuBuild autodoc.
476 * NList.mcc 19.78 30.06.97
477 - fixed some improves in NList refreshes when in a virtual group.
478 - fixed now changes which happen while the list is in quiet mode will have the
479 notification delayed until the end of quiet mode.
480 - fixed the stack check will appear only one time now.
481 - fixed if silly stack values are found while the stack check is made then the
482 check will be automatically disabled.
484 * NList.mcc 19.75 24.06.97
485 - fixed with 19.74 custom ContextMenu didn't work for list with only one column.
486 - fixed In MUIA_NList_Format you can't any more use the same COL number for 2
488 - fixed MUIA_NList_DragColumnOnly has been renamed MUIA_NList_DragColOnly and use
489 displayhook col number.
490 - fixed MUIM_NList_ColWidth now use (displayhook) col number and not (visible) column number.
491 - fixed MUIA_NList_TitleClick now give (displayhook) col number and not (visible) column number.
492 - fixed All wrapcol method parameters are now displayhook col and not visible column
493 (in MUIP_NList_InsertSingleWrap,MUIP_NList_InsertWrap,MUIP_NList_ReplaceSingle
494 and struct MUI_NList_GetEntryInfo).
495 In struct MUI_NList_GetSelectInfo, start_col and end_col are renamed
496 start_column and end_column.
497 In struct MUIP_NList_ContextMenuBuild, col is renamed column.
498 - added MUIM_NList_ColToColumn and MUIM_NList_ColumnToCol methods, which permit
499 to converts visible column number to display hook col number, and converts
500 display hook col number to visible column number.
502 * NList.mcc 19.74 23.06.97
503 - fixed Major version number is now 19.
504 - fixed now MUIA_Draggable,TRUE do a MUIA_NList_DragType,MUIV_NList_DragType_Default
505 and MUIA_Draggable,FALSE do a MUIA_NList_DragType,MUIV_NList_DragType_None.
506 - fixed now NList handle MUIA_Dropable and MUIA_NList_DragSortable separately,
507 so each can be set/unset without breaking the effect of the other.
508 MUIA_Dropable defaults to TRUE (so is really handled by Drag_Query method).
509 - added MUIM_NList_DropEntryDrawErase method for more dropmark customisation
510 possibilities (see autodocs).
511 - added now all column default to TBAR (see MUIA_NList_Format) and
512 MUIA_NList_TitleSeparator defaults to TRUE. (add NOBAR to prevent it)
513 - fixed all NList shortkeys don't work any more when the mouse is onto the object
514 but when the object is active or the default one (like standard MUI keys)
515 - fixed Insert and Replace methods really inserted NULL entry(ies) (directly given
516 and/or return by the construct hook) ! not done any more.
517 - added MUIA_NList_StackCheck tag permit application to disable NList stack checking.
518 - fixed In the Format string, now WIDTH defaults to -1, as in standard List class.
519 - fixed no more (not visible) active entry when in char select mode.
520 - fixed Sizes and placement of images drawn with ESC O[] and ESC o[] didn't have
521 good defaults/values. Should be better now.
522 See the end of MUIA_NList_DisplayHook autodoc for more infos.
523 - fixed NList multiselect using keys now defaults to List like mode.
525 * NList.mcc 13.73 10.06.97
526 - fixed CreateImage and UseImage will not add non bitmap/bodychunk object
527 with any flag value. For bitmap/bodychunk object, NList will add
528 the it if flag is ~0, and make a private bitmap for other values.
529 When adding object, NList do a MUIA_FillArea,FALSE on it
530 (while the UseImage/CreateImage, you can do a MUIA_FillArea,TRUE
533 * NList.mcc 13.72 02.06.97
534 - fixed there where an enforcer hit (read one) when calling the Remove method
536 - fixed now the context menu is visible even when no column width has been
537 changed by the user (when 2 or more columns).
538 - fixed now the column separator bar is drawn on empty/non existing lines.
539 - fixed there were an error in some cases when recomputing columns width
540 after reseting them to default.
541 - fixed shift+space unselected the active entry in non-multiselect mode !
542 - fixed setting active entry didn't work as need in multiselect mode
543 when List like mode is set in prefs.
544 - added column balancing with shift key will try to change both column width
545 keeping other column as there were before (like shifted objects balancing).
546 - added NList now is able to draw partially visible chars on left and right
547 edges. This is settable in prefs.
548 - fixed MUIA_NList_VertDeltaFactor replaced by MUIA_NList_Prop_DeltaFactor and
549 MUIA_NList_HorizDeltaFactor replaced by MUIA_NList_Horiz_DeltaFactor
550 (for source compatibility old names are still usable).
552 * NList.mcc 13.71 30.05.97
553 - fixed notify on doubleclick made problems with some applications which
554 used TRUE as TrigValue instead of MUIV_EveryTime, so now NList
555 force MUIV_EveryTime for it.
556 - fixed some little redraw improvment.
557 the two-stages redraw (odd/even lines) should now be used only when
558 moving the scrollbar fast.
560 * NList.mcc 13.70 26.05.97
561 - fixed there were a major slowdown when using wrapping stuff (and so the
562 Mailtext class by Olaf Peters) since NList0.67.
563 - added MUIA_NList_First and MUIA_NList_Entries can now be used for notifications.
564 - fixed the dropmark was not cleared in some cases since 13.67.
565 - fixed NList didn't worked with original Listview class for some time, it
566 works again and is handled a little better.
567 - fixed MUIA_NList_AdjustHeight stuff improved (see autodoc).
569 * NList.mcc 13.69 21.05.97
570 - added direct visible column width dragging possibility.
571 - added list like key multiselection possibility with user pref.
572 - fixed redraw problems when inserting entries containing new images while
573 the nlist is visible.
574 - fixed redraw/re-wrap problems when inserting/moving/removing wrap entries.
575 - fixed MUIA_NList_AdjustHeight and MUIA_NList_AdjustWidth problems.
577 * NList.mcc 13.67 14.05.97
578 - fixed All ESC I[], ESC O[] and ESC o[] (except bitmap created object) where
579 not drawn when the NList object was in a virtual group.
580 - fixed There where in some cases refresh problems while nlist scrolling when
581 the NList object was in a virtual group which was in a virtual group...
582 - added MUIM_NList_RedrawEntry method which redraw the line(s) which show the
584 - added MUIM_NList_DoMethod which do the specified method for/on all/active/
585 selected entries (thanks to Steve Koren for the idea and partial source).
586 - added MUIM_NList_ColWidth which permit to restore default column width
587 (or set it as if changed by user or read the current user width) for all
588 or a specified column.
589 - added a default context menu which permit to restore default column width for
590 one or all columns (appear only if some column width is not default).
591 - fixed dragging column width separator now scroll the list when going on left
592 and right of the list.
593 - fixed MUIA_NList_DoubleClick now give the entry number where the clicks
594 happened, -1 when on title, -2 when on "nothing" (no notification
595 is made in that case).
596 - fixed Autodocs didn't said that double/multi-clicking on title made the
597 MUIA_NList_DoubleClick and MUIA_NList_MultiClick notifications too...
598 - added MUIA_NList_EntryClick, which permit notification for a click on an entry.
599 - added NOTITLEBUTTON=NOTB option in the MUIA_NList_Format string.
601 * NList.mcc 13.66 30.04.97
602 - fixed there were a general layout problem when using ESC I[] in some cases
603 when the topaz/8 font is patched.
604 - fixed dragging column width separator is no longer canceled going out of the
605 list on left or right.
606 - added the column width drag bar now defaults to the full list height. You can
607 change prefs to get it work as before.
609 * NList.mcc 13.64 22.04.97
610 - fixed Drag problems should be all removed now. MUIM_NList_QueryBeginning is
613 * NList.mcc 13.63 21.04.97
614 - fixed The horizontal scrollbar bar width wasn't correctly updated in some cases.
615 - added The columns width can now be changed by user with the mouse, dragging the bar
616 (vertical column separator) in the title (or the upper middle of first
617 visible line when there is no title). This work also when the bar is not
618 visible (just more difficult to know where to click to drag it) !
619 If while dragging a bar you press and release the RMB, the column
620 width will come back to its default.
621 - added The column titles now work like buttons (with simple frame as there are not
622 real buttons but directly handled by the list) if MUIA_NList_TitleClick has
623 been set or if a notify has been asked on it.
624 - added TBAR parameter in the Format, drawing the vertical separator bar only in
626 - added Two new tags are sent to nlist custom image object before it will be drawn,
627 MUIA_NLIMG_EntryCurrent and MUIA_NLIMG_EntryHeight (see MUIM_NList_CreateImage,
628 MUIM_NList_UseImage and demo example).
629 - added setting MUIA_NList_DragColumnOnly to a column number permit to get the
630 text of the column/entry in the drag window instead of the full visible
633 * NList.mcc 13.62 16.04.97
634 - fixed new images in ESC sequences could be mis-drawn in inserted lines
635 when the list was already visible, same when (re)setting title.
636 - fixed a remaining problem in column width update (then refresh) when
637 removing/replacing entries.
638 - added now NList will set the h_Data of struct Hook to the NList obj ptr
639 just before calling hooks if it found it NULL. In that case h_Data
640 will be reset to NULL when the hook return. Done for ALL hooks.
641 - fixed the columns width weren't recomputed when the used font is changed
644 * NList.mcc 13.61 15.04.97
645 - fixed Should finally works with V37+. It seems there is a problem with
646 LibCreatePool/LibDeletePool/LibAllocPooled/LibFreePooled which come
647 with ADE and libnix. NList now use those from amiga.lib.
648 - fixed There still where problems for refreshes when a NList object was in a
649 virtual group (now only the visible part is scrolled).
650 Should work now in all cases, in smart AND simple refresh modes. :)
652 * NList.mcc 13.60 11.04.97
653 - fixed 13.59 add a dead-end bug which came after 2-3 iconify/desiconify (or 2-3
654 open/close mui prefs).
655 - fixed Scroll handling in simple refresh mode has been highly improved.
656 - fixed Now user inputs (mouse clicks) are disabled while the smooth scrolling is
657 finishing (more exactly when first entry is partially visible).
659 * NList.mcc 13.59 08.04.97
660 - fixed The horiz scrollbar didn't go to left pos when the list was cleared.
661 - added A new tag MUIA_NList_TitleClick usable to give notify when a click is done on
662 the NList title (see autodoc).
663 - fixed MUIM_NList_TestPos now set the MUI_NLPR_TITLE flag if the specified position is
664 on the title. (see autodoc and NList_mcc.h)
666 * NList.mcc 13.58 01.04.97
667 - fixed minor change in library startup.
668 - added Two new methods MUIM_NList_DropType, MUIM_NList_DropDraw and a related tag
669 MUIA_NList_DropType to improve DropMark customisation.
670 - fixed User inputs (keys and mouse) are now off while the list is in Quiet mode.
671 - fixed New try to fix problems with V37.
673 * NList.mcc 13.57 28.03.97
674 - fixed The font of the dragging message "Dragging xxx Items..." was not the same of
676 - fixed The dragging message "Dragging xxx Items..." will now appear when using V37 too.
677 - fixed MUIA_Window_MouseObject didn't give the NList object pointer.
679 * NList.mcc 13.56 27.03.97
680 - fixed NList had a AllocPool error which freeze the system on V37 with LibFreePooled
681 but not with V39 FreePooled ??? Perhaps will it fix some erratic problems on
683 - fixed Using BitmapImages with NList now works for V37. The result pens are the closest
684 from the asked one without modifying any screen color.
686 * NList.mcc 13.55 25.03.97
687 - fixed The whole system could freeze when the window needed to be resized because to
688 it was too small for the minimum width and height of NList.
689 - fixed Sometimes scrollbars flickered more than needed.
691 * NList.mcc 13.54 24.03.97
692 - fixed A enforcer hit appeared since 0.52 when using escape sequence to change pen color.
693 - fixed V37 compatibility (i hope, still can't test it myself), now i have find that
694 SetABPenDrMd() is V39+, which is not mentioned in autodocs ! :(
696 * NList.mcc 13.53 21.03.97
697 - fixed There were bugs in columns width handling and refresh when inserting/removing entries.
698 All should be ok now. Some new improvments come with that fix...
699 - fixed a little redraw problem when scrolling to top/bottom while the list is a dropzone.
700 - xxxxx Still not work with V37, i still can't test it ! :(
701 - fixed Programs made with E don't have a standard stack. Stack check is (i hope)
702 automatically disable for them now.
703 - fixed E files are up to date (i finally include them in an archive before there are
704 obsolete...). Thanks Piotr.
706 * NList.mcc 13.52 18.03.97
707 - fixed There were a problem in word wrap (so NFloattext) computing.
708 - fixed Handling of FullAuto scrollbars has been improved.
709 Some others related things have been improved too and are now faster :)
710 - fixed First try for V37 compatibility. Should work, but i couldn't test it :(
712 * NList.mcc 13.51 17.03.97
713 - fixed Smooth scrolling has been highly improved and now react near like
714 original listview one.
715 - fixed NList objects with balance objects in show objects mode (ie not show frame)
716 didn't work (i never used that mode before so didn't see the problem !).
717 - fixed Auto and FullAuto scrollbars should now appear/disappear before the
718 NList contents is drawn.
719 - fixed The way column width are computed has been improved, making insert,
720 full redraw (after resizing etc.) and others faster.
721 - fixed The NList title is now always at top of the list area.
722 - added New keys working in multiselect mode (ctrl+space, ctrl+up/down,
723 ctrl+shift+up/down and ctrl+alt+up/down) which : toggle state of active
724 entry, copy state of current to prec/next entry and make it active,
725 same for page up/page down, and same for top/bottom.
727 * NList.mcc 13.50 05.03.97
728 - fixed Smooth scrolling has been improved.
729 - fixed Minimum width returned by the class is now smaller (near list one).
730 - added A system requester is now opened is there is less than 8K stack at init,
731 or if the free stack size is less than setted in prefs (none,1K,2K).
732 - added MUIM_NList_GetSelectInfo method, giving number of selected entries,
733 num of first and last selected, column and char pos in these ones
734 when in charselect mode.
735 - added MUIM_NList_CopyTo method, which permit to copy the contents of
736 NList entries (like MUIM_NList_CopyToClip) to a string or a file
737 (and so printer, using 'PRT:' as file name)
738 - added MUIA_NList_ForcePen which permit to set the same than the corresponding
739 user pref in the .mcp
740 - added Now NList object check the stack size at startup and succeed only
741 if it's 8Kb or more. NList do checks in some points of the code too,
742 looking for too small remaining free stack.
743 In both cases a warning (EasyRequest) will show up.
744 As NList is a subclass, many supermethod calls will of course cause
745 a biggest use of stack than NList will see. That's why the minimum
746 free check settable in prefs is 1Kb. Anyway i think that 2K or 3K
747 is better to prevent problems...
748 Set 3K if you use NList in a programm you are developping, to be
749 (nearly) sure users will never see it with the default 2K.
751 * NList.mcc 13.49 17.02.97
752 - fixed MUIM_NList_QueryBegining replaced by MUIM_NList_QueryBeginning. ;-)
754 - fixed Force Pen defaults now to FALSE.
756 * NList.mcc 13.48 09.02.97
757 - added ESC-E sequence, like ESC-C but the line is drawn only on the left and right
758 of the column contents
759 - fixed [...] after ESC-P, ESC-I, ESC-O and ESC-o sequences are not copied to
760 clipboard any more by the default hook.
761 - added Now you can ask NList to force the pen color of cursor/selected area
762 to be always the ones of prefs.
763 - added MUIM_NList_QueryBegining method, which must be used in any DragQuery
764 method in sub classes of NList (Read autodocs).
766 * NList.mcc 13.47 18.12.96
767 - fixed mow images are drawn when not full visible too.
768 - fixed some little bug in new stuffs of 13.46, read again MUIA_NList_DisplayHook
769 and MUIM_NList_CreateImage autodocs...
771 * NList.mcc 13.46 18.12.96
772 - fixed a little problem when setting Drag&Drog related tags at init.
773 - added the flags argument of MUIM_NList_CreateImage has now a meaning when its
774 value is ~0L. It's in test, read the autodoc and use with cautions.
775 - added MUIM_NList_UseImage has a new argument flags (update your code if you
776 use that method) with same meaning than flags of MUIM_NList_CreateImage.
777 - fixed some pooled allocs were not freed.
778 - added with ESC I[], ESC O[] and ESC o[], you can add a new parameter [...,<width>]
779 which will be the min width of image (see MUIA_NList_DisplayHook autodoc)
781 * NList.mcc 13.45 01.12.96
782 - fixed Drag of multiple (non consecutive or not all visible) entries has been
783 improved, showing the number of entries in the drag.
784 - fixed MUIV_NList_DragType_xxx value have changed to get default to value 1,
785 which is better because MUIV_Listview_DragType_Immediate was the only
786 one other than None and was 1, so it must be the default.
787 - added using MUIA_List_Format instead of MUIA_NList_Format, you'll get -1 as
788 WEIGHT default, like in List objects. Avoid it when you create a
789 program from scratch using NList, please.
791 * NList.mcc 13.44 27.11.96
792 - fixed a bug in a line length (then also in horiz scrollbar) sometimes when
793 playing with mouse in CharSel mode.
794 - fixed there were something wrong when moving selected with wrapped lines.
795 - added MUIA_NList_Select in CharSel mode now clear the selected zone when
796 set to MUIV_NList_Select_Off (with any entry number !).
797 - added MUIA_NList_Select in CharSel mode when set to MUIV_NList_Select_On
798 select just the given entry (or active or all).
799 - added MUIM_NList_NextSelected now works in CharSel mode.
801 * NList.mcc 13.43 26.11.96
802 - fixed There is no need to give the size of the ImageSpec to draw in the
803 ESC I[<s>] sequence any more :)
804 - fixed MUIA_List_TestPos was redirected directly to MUIA_NList_TestPos,
805 which was bad with some programs because both struct used to store
806 datas hadn't the same size, making some enforcer hits in special cases.
807 So think that both don't give the same result now...
808 - added Amiga-X key make the same as Amiga-C now (copy to clipboard)
809 There should be a pref for it later. For now you'll be able to use
810 it when there is a shortcut on Amiga-C...
811 - fixed some bad cycling with FullAuto scrollbars in a special case.
812 - added MUIA_NList_TitleSeparator, inserting an horiz bar *between* title and list.
815 * NList.mcc 13.42 22.11.96
816 - fixed there were an enforcer hit when (re)drawing the list title
817 when the list is/become empty.
818 - fixed better way to make the notifies (tracking which one are asked),
819 so MUIA_NList_ListCompatibility and setting MUIA_NList_DoubleClick
821 - added smooth scrolling for vertical scrollers.
823 * NList.mcc 13.41 18.11.96
824 - added word wrap capability (which can use justification).
825 - added a new preparse string possibility settable in the displayhook.
827 * NList.mcc 13.39 08.10.96
828 - fixed Auto/FullAuto scrollers didn't react when there were
829 insert/remove/clear and window isn't selected (because the
830 object don't receive intuiticks in that case).
831 - fixed Clicking on title don't do anything anymore.
832 - fixed (i hope) There was a bad selection made with multiselect
833 when going *very* fast across top or bottom of list.
835 * NList.mcc 13.38 06.10.96
836 - added MMB as shift multiselect is set in prefs.
837 - added Now use the drag qualifier which is set in prefs.
839 * NList.mcc 13.37 02.10.96
840 - fixed NList superclass was MUIC_Group instead of MUIC_Area because of a
841 mistache, making a empty group :(
842 - fixed the column width use for COLWIDTH and others in Format is no more
843 tf_XSize but the wider of bold italic 'w', 'W', 'm' and 'M'.
845 * NList.mcc 13.35 26.09.96
846 - added needed stuff to handle new NListview FullAuto/Auto stuffs.
847 - fixed InsertPosition which was wrong after a sort or insert sorted.
848 - fixed when last entries are removed you won't get blank lines.
850 * NList.mcc 13.34 22.09.96
851 - added MUIM_NList_UseImage method.
852 - fixed some bugs. WIDTH=-1 for last column seems to work without making
853 mungwall hits, anyway the column width layout need some improvments.
855 * NList.mcc 13.33 18.09.96
856 - improved drag stuff, now MUIV_NList_DragType_Borders exists.
857 - fixed LMB release isn't received when some string gadget is activated
858 when a Active or SelectChange notify is made.
860 * NList.mcc 13.32 17.09.96
861 - fixed setting MUIA_NList_Active before object is shown changed
862 the first visible entry to the set value + 1.
863 - added MUIA_NList_AutoVisible stuff
865 * NList.mcc 13.31 16.09.96
866 - added MUIA_NList_Active notify.
867 - added MUIV_NList_Remove_Selected stuff.
868 - fixed a minor bug with MUIV_NList_Active_Off when non-multiselect mode.
872 History of NListview.mcc
873 ************************
875 * NListview.mcc 19.62 02.11.98
876 - added MUIV_NListview_VSB_Left (and MUIV_Listview_ScrollerPos_Left) support.
878 * NListview.mcc 19.61 20.10.98
880 * NListview.mcc 19.60 13.04.98
882 * NListview.mcc 19.58 15.07.97
883 - added 2 tags used by NList.mcc.
885 * NListview.mcc 13.50 22.04.97
886 - fixed MUIM_NListview_QueryBeginning is now obsolete and does nothing.
888 * NListview.mcc 13.48 08.04.97
889 - added little add needed by a NList change.
891 * NListview.mcc 13.47 01.04.97
892 - fixed minor change in library startup.
894 * NListview.mcc 13.44 17.02.97
895 - fixed MUIM_NListview_QueryBegining replaced by MUIM_NListview_QueryBeginning. ;-)
898 * NListview.mcc 13.43 09.02.97
899 - fixed When the vert scrollbar appeared at start of the object, it
900 seems that 2 muigprop object where made (and only one were released
902 - added MUIM_NListview_QueryBegining method, which must be used in any DragQuery
903 method in sub classes of NListview (Read autodocs).
905 * NListview.mcc 13.42 18.12.96
906 - fixed a little problem when setting Drag&Drog related tags at init
907 in the listview object.
909 * NListview.mcc 13.34 26.09.96
910 - added scrollbars Auto and FullAuto modes.
912 * NListview.mcc 13.31 16.09.96
913 - added little change to give NList a better handling of DragSortable stuff.
917 History of NFloattext.mcc
918 *************************
920 * NFloattext.mcc 19.45 09.07.97
921 - fixed Now using MUIA_Floattext_Text really copy the supplied buffer like Floattext
922 and not use ConstructHook_String/DestructHook_String any more.
924 * NFloattext.mcc 19.44 23.06.97
925 - fixed Major version number is now 19.
926 - fixed using MUIA_Floattext_Text instead of MUIA_NFloattext_Text will
927 make NFloattext set MUIA_NList_ConstructHook to MUIV_NList_ConstructHook_String
928 and MUIA_NList_DestructHook to MUIV_NList_DestructHook_String, so the text
929 will be copied automatically like in Floattext class.
930 Should give Floattext compability in all cases.
932 * NFloattext.mcc 13.42 01.04.97
933 - fixed minor change in library startup.
935 * NFloattext.mcc 13.38 18.11.96
940 History of NListviews.mcp
941 *************************
943 * NListviews.mcp 19.61 29.11.98
944 - fixed Some users had a crash bug when going in NListviews prefs.
945 - added A qualifier key for secondary title mark.
946 - added Update keys button now permit to add the hotkey of functions
947 which are not in the keybinding list, so you can add new functions
948 hotkey without loosing previous changes.
949 - fixed miscs panels layout updated.
950 - fixed The Max Visible Drag Items value is now set to the good value.
952 * NListviews.mcp 19.60 02.11.98
953 - added Maximum visible drag items before 'Dragging xx Items...' pref.
954 - fixed miscs panels layout remade.
956 * NListviews.mcp 19.59 20.10.98
957 - added Pref for pointers colors now set the black color number.
958 - added Prefs (scroll speed and key qualifiers) for Mouse Wheel
959 (try using NewMouse from aminet)
961 * NListviews.mcp 19.58 24.07.98
962 - added keybindings panel.
963 - fixed panels layout remade.
965 * NListviews.mcp 19.57 15.07.98
966 - fixed the layout as been remade a little differently
967 (not finished at all in this intermediate release).
968 - added Pref for cursor colors.
970 * NListviews.mcp 19.56 27.05.98
971 - fixed There were "Allways" instead of "Always" !
972 - added Start of locale support, but actually no catalog...
974 * NListviews.mcp 19.55 25.05.98
975 - fixed added some info for the smooth scrolling.
977 * NListviews.mcp 19.54 13.04.98
979 * NListviews.mcp 19.53 23.06.97
980 - fixed Major version number is now 19.
982 * NListviews.mcp 13.52 02.06.97
983 - added Partial chars draw on left/right edges pref.
985 * NListviews.mcp 13.50 21.05.97
986 - added pref for visual column width.
987 - added pref for list like key multiselection.
989 * NListviews.mcp 13.49 14.05.97
992 * NListviews.mcp 13.48 30.04.97
993 - added pref for column width dragbar height.
995 * NListviews.mcp 13.46 01.04.97
996 - fixed minor change in library startup.
998 * NListviews.mcp 13.45 17.03.97
999 - fixed The smooth scrolling speed slider has been replaced by a single
1000 checkmark because now the scroll speed is the same as standard
1001 listviews one (so use listviews pref to change the scroll speed).
1003 * NListviews.mcp 13.44 05.03.97
1004 - fixed Smooth pref range is no 0 to 9, 0=no smooth, 1 is fastest and 9 slowest.
1005 - added a user pref for the NList stack warning.
1007 * NListviews.mcp 13.43 17.02.97
1008 - fixed Force Pen defaults now to FALSE.
1009 - fixed Little changes in the NList text.
1011 * NListviews.mcp 13.42 09.02.97
1012 - added Force user pref pen color for cursor/select or not from prefs.
1014 * NListviews.mcp 13.41 18.12.96
1015 - fixed my email in the list text (this one is valid while holidays) ;)
1017 * NListviews.mcp 13.40 26.11.96
1018 - added now use MUIA_NList_TitleSeparator :)
1019 - fixed my email in the list text ;)
1021 * NListviews.mcp 13.39 22.11.96
1022 - added smooth scrolling pref
1024 * NListviews.mcp 13.36 06.10.96
1025 - added MMB as shift multiselect pref.
1026 - added Drag qualifier prefs (see help bubble for correct entries).
1028 * NListviews.mcp 13.33 26.09.96
1029 - added scrollbars prefs.
1031 * NListviews.mcp 13.31 18.09.96
1032 - added new entry in Drag radio gadget for MUIV_NList_DragType_Borders.