home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 117 / af117sub.adf / HomeBank.lzx / HomeBank / Docs / NList_mcc.doc < prev    next >
Text File  |  1998-09-22  |  45KB  |  938 lines

  1.  
  2. NList.mcc/NListview.mcc/NFloattext.mcc/NListviews.mcp - Documentation
  3.  
  4. *********************************************************************
  5.  
  6.  
  7.  
  8.  
  9. Copyright
  10. *********
  11.  
  12.    NList.mcc (C) 1996-1998 Gilles Masson
  13.  
  14.    This data is freely distributable, but copyrighted by me. This means
  15. you may freely copy them as long as you do not charge more than a
  16. nominal fee for copying. This data may be put on PD disks, especially
  17. on Fred Fish's AmigaLibDisks and Fred's or Aminet CDROMs. If you want to
  18. distribute the data you MUST keep this document with it. All documents,
  19. programms and files must be distributed in their original unmodified
  20. form.
  21.  
  22.    The author can not be made responsible for any damage which is
  23. caused by using these programs.
  24.  
  25. -------------------------------------------------------------------------
  26.  This class is FreeWare for end users, but ShareWare for developers :
  27.  Anyone which make a Shareware or commercial application using it
  28.  must send me a registered/full working release of the application
  29.  and updates, there is no other fee (and will not ever).
  30. -------------------------------------------------------------------------
  31.  
  32.  Anyway, i'll be happy if you send me something...  ;-)
  33.  
  34.  
  35. -------------------------------------------------------------------------
  36.  The AUTHOR of a program can include the NList.mcc, NListview.mcc,
  37.  NFloattext.mcc, NListviews.mcp and Install files in its program archive
  38.  as soon as the above is respected. You can install them from you're own
  39.  script or use the provided one as you want.
  40. -------------------------------------------------------------------------
  41.  
  42.  
  43.    I'm interesting in who is using my classes in his own (free) programs,
  44. so don't hesitate to contact me. (just a mail telling what you're doing
  45. with NList would be nice :)
  46.  
  47.  
  48.  
  49.    Send comments, suggestions or bug reports, or some money ;)  to:
  50.  
  51.      Gilles Masson,
  52.      Les Balcons d'Antipolis
  53.      Bloc C
  54.      15, Traverse du Barri
  55.      06560 VALBONNE
  56.      FRANCE
  57.  
  58.      e-mail:  masson@iutsoph.unice.fr
  59.  
  60.  
  61.  
  62. What are NList.mcc/NListview.mcc/NFloattext.mcc/NListviews.mcp ?
  63. ****************************************************************
  64.  
  65.    NList is a Custom Class for the Magic User Interface (c) by Stefan
  66. Stuntz. It's a subclass of area-class which make the same stuffs
  67. than the MUI List/Listview class, and more.
  68.  
  69.    NList implement horizontal scrolling, built-in copy to clipboard,
  70. classic char precision selection of area, drag and drop and some others.
  71.  
  72.    NListview give NList scrollbars, vertical as Listview, but horizontal
  73. too.
  74.  
  75.    NFloattext is like Floattext and do automatic word wrap. The interest
  76. to do it with NList is the builtin copy to clipboard.
  77.  
  78.    There is a mui pref class NListviews.mcp with it, which permit the
  79. user to choose all default backgrounds, pens and fonts.
  80.  
  81.  
  82.    There is a Floattext.mui replacement which should work with all
  83. programs. It's simply a stub to NFloattext.mcc.
  84. To work that class must have the same major version number than original
  85. have (ie 19.x for MUI 3.8), so it will surely have to be upgraded for next
  86. MUI release and it should currently work only with MUI 3.8.
  87.  
  88.  
  89.  
  90.  
  91. What you need !
  92. ***************
  93.  
  94.    - MUI 3.6+
  95.    - AmigaOS V37+ (2.x)
  96.  
  97.  
  98.  
  99.  
  100. How to install!
  101. ***************
  102.  
  103. for all (this is done by the install script) :
  104.  
  105.   copy MCC_NList/Libs/MUI/NFloattext.mcc  MUI:Libs/MUI/
  106.   copy MCC_NList/Libs/MUI/NList.mcc       MUI:Libs/MUI/
  107.   copy MCC_NList/Libs/MUI/NListview.mcc   MUI:Libs/MUI/
  108.   copy MCC_NList/Libs/MUI/NListviews.mcp  MUI:Libs/MUI/
  109.  
  110.   start the NList-Demo program  ;-)
  111.  
  112. and if you want to use the Floattext.mui replacement :
  113.           (keep a copy of original before !)
  114.   copy MCC_NList/Libs/MUI/Floattext.mui   MUI:Libs/MUI/
  115.  
  116.  
  117.  
  118. for developpers :
  119.  
  120.   copy MCC_NList/Developer/AutoDocs/MCC_NFloattext.doc   AutoDoc:
  121.   copy MCC_NList/Developer/AutoDocs/MCC_NList.doc        AutoDoc:
  122.   copy MCC_NList/Developer/AutoDocs/MCC_NListview.doc    AutoDoc:
  123.   copy MCC_NList/Developer/Include/MUI/NFloattext_mcc.h  Include:MUI/
  124.   copy MCC_NList/Developer/Include/MUI/NList_mcc.h       Include:MUI/
  125.   copy MCC_NList/Developer/Include/MUI/NListview_mcc.h   Include:MUI/
  126.  
  127.  
  128.  
  129. NOTE :
  130.   The Floattext.mui replacement is just a subclass to NFloattext.mcc and
  131.   perhaps it will have compatibility problems with original one.
  132.   If you have problem, try again with original, and tell me if it's really
  133.   a problem made by the replacement class. Think to try just increasing
  134.   the stack of the program which make problems using it !!!
  135.  
  136. NOTE2 :
  137.   Actually you can try to patch current Listtree.mcc, Dirlist.mui and Volumelist.mui
  138.   editing those files and replacing "List.mui\0\0" by "NList.mcc\0".
  139.   Of course doing that is at your own risks, but it seems to work in nearly
  140.   all cases. Keep a copy of original files before trying that...  ;)
  141.   I use that for long time now, and the same work with many applications
  142.   which use MUI and List.mui/Listview.mui (AmFTP, YAM1.3.4 for example).
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149. Known bugs
  150. **********
  151.  
  152. - By default the first column is not sortable. It's a feature, not a bug. Any
  153.   program can change that just setting the MUIA_NList_MinColSortable tag.
  154.  
  155. - Using *simple refresh mode* for the window can make redraw problems when using
  156.   context menu. It is a MUI bug !
  157.  
  158. - When the size of a NListview object can be changed because of a balance object,
  159.   there can be strange things when moving that balance object with keys shortcuts
  160.   because in that case the window layout don't work correctly when some object
  161.   do ADDMEMBER or ADDMEMBER because of those size changes.
  162.   This is a Balance object bug ! Which make problems with other objects too,
  163.   not only with NListview ones...
  164.  
  165. - Miscalaneous problems can come if stack is too low.
  166.   Think that when you call the mui prefs from some program the pref window and
  167.   all its objects will work in the program context, with the same stack, so
  168.   it can happens to have a stack to small only when the mui pref is opened...
  169.   It is a bug of you (set the stack bigger, i suggest > 12K) or from the program
  170.   (if it extends the stack to a too small value for a NList use).
  171.  
  172.  
  173.  
  174.  
  175. What is to do in future ?
  176. *************************
  177.  
  178. - Add key bindings pref.
  179. - Improve the "relverify" object/image stuff.
  180. - Give direct handling of "multilines" images.
  181.  
  182. - Make NList subclasses. I think about Volumelist, Dirlist, Listtree clones.
  183.   Tell me if you want to do one of them.
  184.   It seems that 'kmel' is making his Listtree.mcc use NList :  NListtree.mcc.
  185.   It seems that some NewDirList, which could replace both Dirlist and
  186.   Volumelist is on work, by JFP (Jean-François Pik).
  187. - Pref for the copy to clipboard key. (is there anyone which have a source
  188.   to test a rawkey event against a string pref (like 'alt c') ?).
  189. - Pref for the mark/block qualifier key (both for mouse and key handling)
  190. - Fix bugs you will find and inform me.
  191.  
  192.  
  193.  
  194.  
  195.  
  196. Notes
  197. *****
  198.  
  199. Think about a  >12Kb (more?) stack to run it.
  200. (i always use 16K stack with MUI programs when NList is used, and so always
  201. because most MUI programs use Floattext.mui...)
  202.  
  203.  
  204. If the .MCP custom MUI prefs freeze mui prefs with another program,
  205. control its stack value, it could be too small !
  206.  
  207.  
  208. Use SegTracker with Enforcer. You will have more information and know
  209. in which .mcc/.mcc/.mui/program the hit happened !
  210.  
  211. If with some program you get enforcer or mungwall hit, tell me, but give
  212. all usefull informations - your config, your commodities/patches/hacks.
  213.  
  214.  
  215.  
  216.  
  217.  
  218. You can look on ftp://iutsoph.unice.fr/pub/amiga/mui/ for new releases.
  219.  
  220. Email me if you want (beta) releases infos by email, or if you want to
  221. receive (beta) releases by email (uuencoded).
  222.  
  223.  
  224.  
  225. Give me some feedback if you like it, don't like it, need some changes
  226. or adds, please.
  227.  
  228.  
  229.  
  230.  
  231. Thanks
  232. ******
  233.  
  234. Thanks to Stefan Stuntz   for MUI.
  235.  
  236. Thanks to Klaus Melchior,
  237.           Piotr Pawlow,
  238.           Troels Walsted Hansed,
  239.           Troy Davis,
  240.           Stephane Barbaray,
  241.           Allan Odgaard,
  242.           Marcin Orlowski,
  243.           Stefane Barbaray,
  244.  
  245.           and all others beta testers for ideas, reports and help to find bugs.
  246.  
  247.  
  248.  
  249.  
  250. (C) 1996-1998  Gilles Masson                       masson@iutsoph.unice.fr
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259. History of NList.mcc
  260. ********************
  261.  
  262. * NList.mcc         19.90     27.05.98
  263.   - fixed A stupid bug made Auto/FullAuto scrollers "freeze" the object when they
  264.           appear the first time the object is drawn.
  265.  
  266. * NList.mcc         19.89     25.05.98
  267.   - fixed Now the MUI window refresh is forced before trying to redraw anything else
  268.           in the list (this case happen only in simple refresh mode). It was not done,
  269.           so in some cases the drawing was clipped by the intuition refresh clipping !
  270.   - fixed There were some other refresh problems with the Redraw method when using
  271.           simple refresh mode.
  272.   - fixed There were a little drawing bug while (simple) refresh at bottom of list.
  273.   - fixed Notifies were always done asynchronously (!), not done any more.
  274.   - fixed XEN buttons (and perhaps other ones ?) in NList objects had a little redraw
  275.           position problem.
  276.   - fixed Having the last column less large than the remaining right space with a
  277.           separator bar is now possible (it can avoid the need of an extra empty column).
  278.   - fixed Use of graphic tablet instead of mouse should work again (i hope).
  279.   - fixed The copy to clipboard shortkeys unselect the area.
  280.   - added Read only list in char selection make auto copy to clipboard.
  281.  
  282. * NList.mcc         19.88     04.05.98
  283.   - fixed There still were a problem with MUIA_NList_AdjustHeight, should be ok now.
  284.   - fixed Now the changed mouse pointer are hires on V39+, no need any more to use a
  285.           hires pointer patch for NList when using AGA or CGFX...  :)
  286.   - fixed Sorted Inserts are now faster. Anyway if you have 1000 sorted entries to
  287.           insert it is faster to insert them normally and do a sort after.
  288.   - fixed An enforcer hit happened when clicking on NFloattext object border.
  289.   - added MUIA_NList_MultiClickAlone which is notified only for the final multiclick
  290.           number, so if there are 3 clicks there will be only one multiclickalone
  291.           notified, a little (max time between 2 clicks) after the 3rd one.
  292.   - fixed There were some strange input problem since last release because of
  293.           changed made for tablet, but the fix made an other bug, so actually i
  294.           came back to the old code. I will re-make a big part of the eventhandler
  295.           later to fix both.
  296.  
  297. * NList.mcc         19.87     29.04.98
  298.   - fixed In some cases the image objects shown in NList entries appeared disabled !
  299.   - fixed Selecting entries before the window containing the nlist object is open
  300.           didn't worked.
  301.   - fixed MUIA_NList_AdjustWidth and MUIA_NList_AdjustHeight didn't worked as expected.
  302.   - added MUIA_NList_Columns now work.
  303.  
  304. * NList.mcc         19.86     13.04.98
  305.   - fixed MUIA_NList_AdjustWidth didn't worked any more, i don't know in which
  306.           release this happened...
  307.   - fixed most MUIV_NList_Jump_xxx were not implemented at all !  :(
  308.   - fixed MUIV_NList_Move_Next didn't work as it should.
  309.   - fixed the rastport softstyle was not always reset to initial state.
  310.   - fixed in the builtin comparehook: stricmp() replaced by Stricmp() which (i hope)
  311.           make a localized compare.
  312.   - fixed setting MUIA_NList_MinLineHeight didn't update and redraw the list in some cases.
  313.   - fixed MUIA_Disabled now disable all user input and redraw.
  314.   - added all MUIA_NList_Imports and MUIA_NList_Exports values are now usable, so the
  315.           NList object can now save/load columns width and order for example.
  316.   - added MUIM_NList_SetColumnCol permit to set which displayhook col is at some
  317.           visible column.
  318.   - fixed The sort algorithm speed has been higly increased using the qsort().
  319.           It was very slow before, 50,000 entries were sorted in more than 8 hours,
  320.           but now it take less than 30 seconds !   :)
  321.  
  322.  
  323. * NList.mcc         19.84     15.12.97
  324.   - fixed the Pointer changes now work ok when using the MCP Hires Pointer patch.
  325.   - fixed the background is not drawn any more twice (one by group subclass) when
  326.           a complete redraw is made (this was visible with complex background while
  327.           a resize of the list).
  328.   - fixed most of time, clicking on an image didn't activate the entry (this bug
  329.           was introduced in 19.81 by the "relverify button" code)
  330.   - added Notify can now be made on MUIA_NList_DragSortInsert to know when
  331.           DragSort have been done.
  332.   - fixed Notify can now be made on MUIA_NList_InsertPosition.
  333.   - added You can now mark one title column with MUIA_NList_TitleMark.
  334.           This can be usefull to show on which column a list is sorted for example.
  335.  
  336. * NList.mcc         19.83     08.12.97
  337.   - fixed MUI_NLPR_ONTOP flag was never set by TestPos method !
  338.   - added now the pointer is changed at mouse positions where column width is resizable.
  339.   - added double click on title column separator bar make the column width go to default.
  340.   - fixed RMB while changing a column width make all column width go to default.
  341.   - fixed An (not bitmap/bodychunk) image object in the text of a MailText.mcc made
  342.           the whole system freeze when set at init.
  343.   - added Now the columns can be sorted by the user using his mouse, the tag
  344.           MUIA_NList_MinColSortable is here to set the first sortable column (default=1).
  345.   - added NList can now save the active entry as List.mui does. Will be able to save more
  346.           really soon.
  347.  
  348. * NList.mcc         19.82     28.10.97
  349.   - fixed The list should not show empty lines because the window size changed any more.
  350.   - fixed MUIA_Font is now settable, the change will take effect after next MUIM_Setup,
  351.           so you can set it until the DoSuperMethod call of the MUIM_Setup of a NList
  352.           subclass.
  353.   - fixed HandleEvent didn't returned MUI_EventHandlerRC_Eat when Amiga-C/Amiga-X where
  354.           used to copy to clipboard.
  355.   - fixed When MUIA_NList_DefaultObjectOnClick is used and the user click outside the
  356.           list then the list is not the default object any more (until next click in
  357.           the list of course).
  358.   - fixed No notify is made any more on Active, First, Select,... for changes which
  359.           happend while in Quiet mode (unless using MUIV_NList_Quiet_Visual instead
  360.           of the classic/default MUIV_NList_Quiet_Full).
  361.   - added ESC t[N], ESC t[N<n>], ESC t[NM<n>], ESC t[NI<n>] sequences.
  362.           (see MUIA_NList_DisplayHook)
  363.   - added SIMPLEBAR=SBAR option in Format string to draw BAR as a simple black line.
  364.  
  365. * NList.mcc         19.81     15.07.97
  366.   - added some new hooks MUIA_NList_XxxxHook2 which are same as MUIA_NList_XxxxHook ones
  367.           but use a more standard way to be called, ie with the object in A2 and a
  368.           message in A1 which is a struct.
  369.           This give a correct access to the object, and permit the MUIA_NList_CompareHook2
  370.           hook to use the MUIA_NList_SortType value (see below).
  371.   - added MUIA_NList_SortType tag which can be set and get, is passed to the
  372.           MUIA_NList_CompareHook2 hook and can be directly setted in MUIM_NList_Sort2.
  373.   - added MUIM_NList_Sort2 method which set MUIA_NList_SortType value the do same as
  374.           MUIM_NList_Sort (its goal is to permit very easy sort using a single notify
  375.           on MUIA_NList_TitleClick.
  376.   - fixed MUIA_Listview_MultiSelect and MUIA_Listview_Input set on a Listview should
  377.           now work for a NList child.
  378.   - added MUIA_NList_ButtonClick and ESC O[...@<n>] or ESC o[...@<n>] sequences
  379.           to make relverify like buttons and get notifies when they are clicked.
  380.   - added MUIM_NList_CreateImage and MUIM_NList_UseImage now use the flags argument :
  381.           when ~0L NList don't make set(MUIA_FillArea,FALSE) on the object any more.
  382.  
  383. * NList.mcc         19.80     15.07.97
  384.   - fixed use HandleInput for MuiKeys as it seems they are not received by HandleEvent
  385.           in some cases. Intuition events are still handled in HandleEvent.
  386.   - fixed setting MUIA_NList_Active could make some delayed MUIA_NList_Active notify.
  387.   - fixed some horizontal scrollbar in fullauto mode problems should be fixed.
  388.   - added new escape sequence ESC t[..] which make ESC C and ESC E horiz bar
  389.           being thick (and filled with wanted color).
  390.   - fixed setting default to never have the NList context menu show it at the 1st RMB click.
  391.  
  392. * NList.mcc         19.79     09.07.97
  393.   - fixed NList didn't cleared entries when disposed, so destruct hook where never called
  394.           in that case !
  395.   - fixed handleInput has been replaced by HandleEvent.
  396.   - added NList entries strings could be ended by \0 and \n only.
  397.           Now NList reconize \r and \r\n too as end of strings.
  398.   - fixed no MUIA_NList_Active (MUIA_List_Active) notify were sent when the list is cleared.
  399.   - fixed Drag in immediate mode don't start any more immediately but at first mouse move.
  400.   - fixed Insertion of entries containing ESC I[] while in quiet mode should be a little faster.
  401.   - fixed there were in some cases a problem with MUIA_NList_Active/MUIA_List_Active notify,
  402.           and that notify was never done when the list became cleared.
  403.           (works better when used in a standard Listview now)
  404.   - fixed Notifies on MUIA_Listview_SelectChange and MUIA_Listview_DoubleClick
  405.           (when using standard Listview) should now work.
  406.   - added MUIM_NList_ContextMenuBuild autodoc.
  407.  
  408. * NList.mcc         19.78     30.06.97
  409.   - fixed some improves in NList refreshes when in a virtual group.
  410.   - fixed now changes which happen while the list is in quiet mode will have the
  411.           notification delayed until the end of quiet mode.
  412.   - fixed the stack check will appear only one time now.
  413.   - fixed if silly stack values are found while the stack check is made then the
  414.           check will be automatically disabled.
  415.  
  416. * NList.mcc         19.75     24.06.97
  417.   - fixed with 19.74 custom ContextMenu didn't work for list with only one column.
  418.   - fixed In MUIA_NList_Format you can't any more use the same COL number for 2
  419.           visible columns.
  420.   - fixed MUIA_NList_DragColumnOnly has been renamed MUIA_NList_DragColOnly and use
  421.           displayhook col number.
  422.   - fixed MUIM_NList_ColWidth now use (displayhook) col number and not (visible) column number.
  423.   - fixed MUIA_NList_TitleClick now give (displayhook) col number and not (visible) column number.
  424.   - fixed All wrapcol method parameters are now displayhook col and not visible column
  425.           (in MUIP_NList_InsertSingleWrap,MUIP_NList_InsertWrap,MUIP_NList_ReplaceSingle
  426.           and struct MUI_NList_GetEntryInfo).
  427.           In struct MUI_NList_GetSelectInfo, start_col and end_col are renamed
  428.           start_column and end_column.
  429.           In struct  MUIP_NList_ContextMenuBuild, col is renamed column.
  430.   - added MUIM_NList_ColToColumn and MUIM_NList_ColumnToCol methods, which permit
  431.           to converts visible column number to display hook col number, and converts
  432.           display hook col number to visible column number.
  433.  
  434. * NList.mcc         19.74     23.06.97
  435.   - fixed Major version number is now 19.
  436.   - fixed now MUIA_Draggable,TRUE do a MUIA_NList_DragType,MUIV_NList_DragType_Default
  437.           and MUIA_Draggable,FALSE do a MUIA_NList_DragType,MUIV_NList_DragType_None.
  438.   - fixed now NList handle MUIA_Dropable and MUIA_NList_DragSortable separately,
  439.           so each can be set/unset without breaking the effect of the other.
  440.           MUIA_Dropable defaults to TRUE (so is really handled by Drag_Query method).
  441.   - added MUIM_NList_DropEntryDrawErase method for more dropmark customisation
  442.           possibilities (see autodocs).
  443.   - added now all column default to TBAR (see MUIA_NList_Format) and
  444.           MUIA_NList_TitleSeparator defaults to TRUE. (add NOBAR to prevent it)
  445.   - fixed all NList shortkeys don't work any more when the mouse is onto the object
  446.           but when the object is active or the default one (like standard MUI keys)
  447.   - fixed Insert and Replace methods really inserted NULL entry(ies) (directly given
  448.           and/or return by the construct hook) !  not done any more.
  449.   - added MUIA_NList_StackCheck tag permit application to disable NList stack checking.
  450.   - fixed In the Format string, now WIDTH defaults to -1, as in standard List class.
  451.   - fixed no more (not visible) active entry when in char select mode.
  452.   - fixed Sizes and placement of images drawn with ESC O[] and ESC o[] didn't have
  453.           good defaults/values. Should be better now.
  454.           See the end of MUIA_NList_DisplayHook autodoc for more infos.
  455.   - fixed NList multiselect using keys now defaults to List like mode.
  456.  
  457. * NList.mcc         13.73     10.06.97
  458.   - fixed CreateImage and UseImage will not add non bitmap/bodychunk object
  459.           with any flag value. For bitmap/bodychunk object, NList will add
  460.           the it if flag is ~0, and make a private bitmap for other values.
  461.           When adding object, NList do a MUIA_FillArea,FALSE on it
  462.           (while the UseImage/CreateImage, you can do a MUIA_FillArea,TRUE
  463.           after if you want).
  464.  
  465. * NList.mcc         13.72     02.06.97
  466.   - fixed there where an enforcer hit (read one) when calling the Remove method
  467.           on an empty list.
  468.   - fixed now the context menu is visible even when no column width has been
  469.           changed by the user (when 2 or more columns).
  470.   - fixed now the column separator bar is drawn on empty/non existing lines.
  471.   - fixed there were an error in some cases when recomputing columns width
  472.           after reseting them to default.
  473.   - fixed shift+space unselected the active entry in non-multiselect mode !
  474.   - fixed setting active entry didn't work as need in multiselect mode
  475.           when List like mode is set in prefs.
  476.   - added column balancing with shift key will try to change both column width
  477.           keeping other column as there were before (like shifted objects balancing).
  478.   - added NList now is able to draw partially visible chars on left and right
  479.           edges. This is settable in prefs.
  480.   - fixed MUIA_NList_VertDeltaFactor replaced by MUIA_NList_Prop_DeltaFactor and
  481.           MUIA_NList_HorizDeltaFactor replaced by MUIA_NList_Horiz_DeltaFactor
  482.           (for source compatibility old names are still usable).
  483.  
  484. * NList.mcc         13.71     30.05.97
  485.   - fixed notify on doubleclick made problems with some applications which
  486.           used TRUE as TrigValue instead of MUIV_EveryTime, so now NList
  487.           force MUIV_EveryTime for it.
  488.   - fixed some little redraw improvment.
  489.           the two-stages redraw (odd/even lines) should now be used only when
  490.           moving the scrollbar fast.
  491.  
  492. * NList.mcc         13.70     26.05.97
  493.   - fixed there were a major slowdown when using wrapping stuff (and so the
  494.           Mailtext class by Olaf Peters) since NList0.67.
  495.   - added MUIA_NList_First and MUIA_NList_Entries can now be used for notifications.
  496.   - fixed the dropmark was not cleared in some cases since 13.67.
  497.   - fixed NList didn't worked with original Listview class for some time, it
  498.           works again and is handled a little better.
  499.   - fixed MUIA_NList_AdjustHeight stuff improved (see autodoc).
  500.  
  501. * NList.mcc         13.69     21.05.97
  502.   - added direct visible column width dragging possibility.
  503.   - added list like key multiselection possibility with user pref.
  504.   - fixed redraw problems when inserting entries containing new images while
  505.           the nlist is visible.
  506.   - fixed redraw/re-wrap problems when inserting/moving/removing wrap entries.
  507.   - fixed MUIA_NList_AdjustHeight and MUIA_NList_AdjustWidth problems.
  508.  
  509. * NList.mcc         13.67     14.05.97
  510.   - fixed All ESC I[], ESC O[] and ESC o[] (except bitmap created object) where
  511.           not drawn when the NList object was in a virtual group.
  512.   - fixed There where in some cases refresh problems while nlist scrolling when
  513.           the NList object was in a virtual group which was in a virtual group...
  514.   - added MUIM_NList_RedrawEntry method which redraw the line(s) which show the
  515.           given entry pointer.
  516.   - added MUIM_NList_DoMethod which do the specified method for/on all/active/
  517.           selected entries (thanks to Steve Koren for the idea and partial source).
  518.   - added MUIM_NList_ColWidth which permit to restore default column width
  519.           (or set it as if changed by user or read the current user width) for all
  520.           or a specified column.
  521.   - added a default context menu which permit to restore default column width for
  522.           one or all columns (appear only if some column width is not default).
  523.   - fixed dragging column width separator now scroll the list when going on left
  524.           and right of the list.
  525.   - fixed MUIA_NList_DoubleClick now give the entry number where the clicks
  526.           happened, -1 when on title, -2 when on "nothing" (no notification
  527.           is made in that case).
  528.   - fixed Autodocs didn't said that double/multi-clicking on title made the
  529.           MUIA_NList_DoubleClick and MUIA_NList_MultiClick notifications too...
  530.   - added MUIA_NList_EntryClick, which permit notification for a click on an entry.
  531.   - added NOTITLEBUTTON=NOTB option in the MUIA_NList_Format string.
  532.  
  533. * NList.mcc         13.66     30.04.97
  534.   - fixed there were a general layout problem when using ESC I[] in some cases
  535.           when the topaz/8 font is patched.
  536.   - fixed dragging column width separator is no longer canceled going out of the
  537.           list on left or right.
  538.   - added the column width drag bar now defaults to the full list height. You can
  539.           change prefs to get it work as before.
  540.  
  541. * NList.mcc         13.64     22.04.97
  542.   - fixed Drag problems should be all removed now. MUIM_NList_QueryBeginning is
  543.           now obsolete.
  544.  
  545. * NList.mcc         13.63     21.04.97
  546.   - fixed The horizontal scrollbar bar width wasn't correctly updated in some cases.
  547.   - added The columns width can now be changed by user with the mouse, dragging the bar
  548.           (vertical column separator) in the title (or the upper middle of first
  549.           visible line when there is no title). This work also when the bar is not
  550.           visible (just more difficult to know where to click to drag it) !
  551.           If while dragging a bar you press and release the RMB, the column
  552.           width will come back to its default.
  553.   - added The column titles now work like buttons (with simple frame as there are not
  554.           real buttons but directly handled by the list) if MUIA_NList_TitleClick has
  555.           been set or if a notify has been asked on it.
  556.   - added TBAR parameter in the Format, drawing the vertical separator bar only in
  557.           the title.
  558.   - added Two new tags are sent to nlist custom image object before it will be drawn,
  559.           MUIA_NLIMG_EntryCurrent and MUIA_NLIMG_EntryHeight (see MUIM_NList_CreateImage,
  560.           MUIM_NList_UseImage and demo example).
  561.   - added setting MUIA_NList_DragColumnOnly to a column number permit to get the
  562.           text of the column/entry in the drag window instead of the full visible
  563.           part of the entry.
  564.  
  565. * NList.mcc         13.62     16.04.97
  566.   - fixed new images in ESC sequences could be mis-drawn in inserted lines
  567.           when the list was already visible, same when (re)setting title.
  568.   - fixed a remaining problem in column width update (then refresh) when
  569.           removing/replacing entries.
  570.   - added now NList will set the h_Data of struct Hook to the NList obj ptr
  571.           just before calling hooks if it found it NULL. In that case h_Data
  572.           will be reset to NULL when the hook return. Done for ALL hooks.
  573.   - fixed the columns width weren't recomputed when the used font is changed
  574.           in prefs.
  575.  
  576. * NList.mcc         13.61     15.04.97
  577.   - fixed Should finally works with V37+. It seems there is a problem with
  578.           LibCreatePool/LibDeletePool/LibAllocPooled/LibFreePooled which come
  579.           with ADE and libnix. NList now use those from amiga.lib.
  580.   - fixed There still where problems for refreshes when a NList object was in a
  581.           virtual group (now only the visible part is scrolled).
  582.           Should work now in all cases, in smart AND simple refresh modes. :)
  583.  
  584. * NList.mcc         13.60     11.04.97
  585.   - fixed 13.59 add a dead-end bug which came after 2-3 iconify/desiconify (or 2-3
  586.           open/close mui prefs).
  587.   - fixed Scroll handling in simple refresh mode has been highly improved.
  588.   - fixed Now user inputs (mouse clicks) are disabled while the smooth scrolling is
  589.           finishing (more exactly when first entry is partially visible).
  590.  
  591. * NList.mcc         13.59     08.04.97
  592.   - fixed The horiz scrollbar didn't go to left pos when the list was cleared.
  593.   - added A new tag MUIA_NList_TitleClick usable to give notify when a click is done on
  594.           the NList title (see autodoc).
  595.   - fixed MUIM_NList_TestPos now set the MUI_NLPR_TITLE flag if the specified position is
  596.           on the title. (see autodoc and NList_mcc.h)
  597.  
  598. * NList.mcc         13.58     01.04.97
  599.   - fixed minor change in library startup.
  600.   - added Two new methods MUIM_NList_DropType, MUIM_NList_DropDraw and a related tag
  601.           MUIA_NList_DropType to improve DropMark customisation.
  602.   - fixed User inputs (keys and mouse) are now off while the list is in Quiet mode.
  603.   - fixed New try to fix problems with V37.
  604.  
  605. * NList.mcc         13.57     28.03.97
  606.   - fixed The font of the dragging message "Dragging xxx Items..." was not the same of
  607.           the list.
  608.   - fixed The dragging message "Dragging xxx Items..." will now appear when using V37 too.
  609.   - fixed MUIA_Window_MouseObject didn't give the NList object pointer.
  610.  
  611. * NList.mcc         13.56     27.03.97
  612.   - fixed NList had a AllocPool error which freeze the system on V37 with LibFreePooled
  613.           but not with V39 FreePooled ???  Perhaps will it fix some erratic problems on
  614.           V39 too...
  615.   - fixed Using BitmapImages with NList now works for V37. The result pens are the closest
  616.           from the asked one without modifying any screen color.
  617.  
  618. * NList.mcc         13.55     25.03.97
  619.   - fixed The whole system could freeze when the window needed to be resized because to
  620.           it was too small for the minimum width and height of NList.
  621.   - fixed Sometimes scrollbars flickered more than needed.
  622.  
  623. * NList.mcc         13.54     24.03.97
  624.   - fixed A enforcer hit appeared since 0.52 when using escape sequence to change pen color.
  625.   - fixed V37 compatibility (i hope, still can't test it myself), now i have find that
  626.           SetABPenDrMd() is V39+, which is not mentioned in autodocs !  :(
  627.  
  628. * NList.mcc         13.53     21.03.97
  629.   - fixed There were bugs in columns width handling and refresh when inserting/removing entries.
  630.           All should be ok now. Some new improvments come with that fix...
  631.   - fixed a little redraw problem when scrolling to top/bottom while the list is a dropzone.
  632.   - xxxxx Still not work with V37, i still can't test it !    :(
  633.   - fixed Programs made with E don't have a standard stack. Stack check is (i hope)
  634.           automatically disable for them now.
  635.   - fixed E files are up to date (i finally include them in an archive before there are
  636.           obsolete...). Thanks Piotr.
  637.  
  638. * NList.mcc         13.52     18.03.97
  639.   - fixed There were a problem in word wrap (so NFloattext) computing.
  640.   - fixed Handling of FullAuto scrollbars has been improved.
  641.           Some others related things have been improved too and are now faster  :)
  642.   - fixed First try for V37 compatibility. Should work, but i couldn't test it :(
  643.  
  644. * NList.mcc         13.51     17.03.97
  645.   - fixed Smooth scrolling has been highly improved and now react near like
  646.           original listview one.
  647.   - fixed NList objects with balance objects in show objects mode (ie not show frame)
  648.           didn't work (i never used that mode before so didn't see the problem !).
  649.   - fixed Auto and FullAuto scrollbars should now appear/disappear before the
  650.           NList contents is drawn.
  651.   - fixed The way column width are computed has been improved, making insert,
  652.           full redraw (after resizing etc.) and others faster.
  653.   - fixed The NList title is now always at top of the list area.
  654.   - added New keys working in multiselect mode (ctrl+space, ctrl+up/down,
  655.           ctrl+shift+up/down and ctrl+alt+up/down) which : toggle state of active
  656.           entry, copy state of current to prec/next entry and make it active,
  657.           same for page up/page down, and same for top/bottom.
  658.  
  659. * NList.mcc         13.50     05.03.97
  660.   - fixed Smooth scrolling has been improved.
  661.   - fixed Minimum width returned by the class is now smaller (near list one).
  662.   - added A system requester is now opened is there is less than 8K stack at init,
  663.           or if the free stack size is less than setted in prefs (none,1K,2K).
  664.   - added MUIM_NList_GetSelectInfo method, giving number of selected entries,
  665.           num of first and last selected, column and char pos in these ones
  666.           when in charselect mode.
  667.   - added MUIM_NList_CopyTo method, which permit to copy the contents of
  668.           NList entries (like MUIM_NList_CopyToClip) to a string or a file
  669.           (and so printer, using 'PRT:' as file name)
  670.   - added MUIA_NList_ForcePen which permit to set the same than the corresponding
  671.           user pref in the .mcp
  672.   - added Now NList object check the stack size at startup and succeed only
  673.           if it's 8Kb or more. NList do checks in some points of the code too,
  674.           looking for too small remaining free stack.
  675.           In both cases a warning (EasyRequest) will show up.
  676.           As NList is a subclass, many supermethod calls will of course cause
  677.           a biggest use of stack than NList will see. That's why the minimum
  678.           free check settable in prefs is 1Kb. Anyway i think that 2K or 3K
  679.           is better to prevent problems...
  680.           Set 3K if you use NList in a programm you are developping, to be
  681.           (nearly) sure users will never see it with the default 2K.
  682.  
  683. * NList.mcc         13.49     17.02.97
  684.   - fixed MUIM_NList_QueryBegining replaced by MUIM_NList_QueryBeginning.  ;-)
  685.                               ^                                    ^^
  686.   - fixed Force Pen defaults now to FALSE.
  687.  
  688. * NList.mcc         13.48     09.02.97
  689.   - added ESC-E sequence, like ESC-C but the line is drawn only on the left and right
  690.           of the column contents
  691.   - fixed [...] after ESC-P, ESC-I, ESC-O and ESC-o sequences are not copied to
  692.           clipboard any more by the default hook.
  693.   - added Now you can ask NList to force the pen color of cursor/selected area
  694.           to be always the ones of prefs.
  695.   - added MUIM_NList_QueryBegining method, which must be used in any DragQuery
  696.           method in sub classes of NList (Read autodocs).
  697.  
  698. * NList.mcc         13.47     18.12.96
  699.   - fixed mow images are drawn when not full visible too.
  700.   - fixed some little bug in new stuffs of 13.46, read again MUIA_NList_DisplayHook
  701.           and MUIM_NList_CreateImage autodocs...
  702.  
  703. * NList.mcc         13.46     18.12.96
  704.   - fixed a little problem when setting Drag&Drog related tags at init.
  705.   - added the flags argument of MUIM_NList_CreateImage has now a meaning when its
  706.           value is ~0L. It's in test, read the autodoc and use with cautions.
  707.   - added MUIM_NList_UseImage has a new argument flags (update your code if you
  708.           use that method) with same meaning than flags of MUIM_NList_CreateImage.
  709.   - fixed some pooled allocs were not freed.
  710.   - added with ESC I[], ESC O[] and ESC o[], you can add a new parameter [...,<width>]
  711.           which will be the min width of image (see MUIA_NList_DisplayHook autodoc)
  712.  
  713. * NList.mcc         13.45     01.12.96
  714.   - fixed Drag of multiple (non consecutive or not all visible) entries has been
  715.           improved, showing the number of entries in the drag.
  716.   - fixed MUIV_NList_DragType_xxx value have changed to get default to value 1,
  717.           which is better because MUIV_Listview_DragType_Immediate was the only
  718.           one other than None and was 1, so it must be the default.
  719.   - added using MUIA_List_Format instead of MUIA_NList_Format, you'll get -1 as
  720.           WEIGHT default, like in List objects. Avoid it when you create a
  721.           program from scratch using NList, please.
  722.  
  723. * NList.mcc         13.44     27.11.96
  724.   - fixed a bug in a line length (then also in horiz scrollbar) sometimes when
  725.           playing with mouse in CharSel mode.
  726.   - fixed there were something wrong when moving selected with wrapped lines.
  727.   - added MUIA_NList_Select in CharSel mode now clear the selected zone when
  728.           set to MUIV_NList_Select_Off (with any entry number !).
  729.   - added MUIA_NList_Select in CharSel mode when set to MUIV_NList_Select_On
  730.           select just the given entry (or active or all).
  731.   - added MUIM_NList_NextSelected now works in CharSel mode.
  732.  
  733. * NList.mcc         13.43     26.11.96
  734.   - fixed There is no need to give the size of the ImageSpec to draw in the
  735.           ESC I[<s>] sequence any more  :)
  736.   - fixed MUIA_List_TestPos was redirected directly to MUIA_NList_TestPos,
  737.           which was bad with some programs because both struct used to store
  738.           datas hadn't the same size, making some enforcer hits in special cases.
  739.           So think that both don't give the same result now...
  740.   - added Amiga-X key make the same as Amiga-C now (copy to clipboard)
  741.           There should be a pref for it later. For now you'll be able to use
  742.           it when there is a shortcut on Amiga-C...
  743.   - fixed some bad cycling with FullAuto scrollbars in a special case.
  744.   - added MUIA_NList_TitleSeparator, inserting an horiz bar *between* title and list.
  745.  
  746.  
  747. * NList.mcc         13.42     22.11.96
  748.   - fixed there were an enforcer hit when (re)drawing the list title
  749.           when the list is/become empty.
  750.   - fixed better way to make the notifies (tracking which one are asked),
  751.           so MUIA_NList_ListCompatibility and setting MUIA_NList_DoubleClick
  752.           are now obsolete.
  753.   - added smooth scrolling for vertical scrollers.
  754.  
  755. * NList.mcc         13.41     18.11.96
  756.   - added word wrap capability (which can use justification).
  757.   - added a new preparse string possibility settable in the displayhook.
  758.  
  759. * NList.mcc         13.39     08.10.96
  760.   - fixed Auto/FullAuto scrollers didn't react when there were
  761.           insert/remove/clear and window isn't selected (because the
  762.           object don't receive intuiticks in that case).
  763.   - fixed Clicking on title don't do anything anymore.
  764.   - fixed (i hope) There was a bad selection made with multiselect
  765.           when going *very* fast across top or bottom of list.
  766.  
  767. * NList.mcc         13.38     06.10.96
  768.   - added MMB as shift multiselect is set in prefs.
  769.   - added Now use the drag qualifier which is set in prefs.
  770.  
  771. * NList.mcc         13.37     02.10.96
  772.   - fixed NList superclass was MUIC_Group instead of MUIC_Area because of a
  773.           mistache, making a empty group :(
  774.   - fixed the column width use for COLWIDTH and others in Format is no more
  775.           tf_XSize but the wider of bold italic 'w', 'W', 'm' and 'M'.
  776.  
  777. * NList.mcc         13.35     26.09.96
  778.   - added needed stuff to handle new NListview FullAuto/Auto stuffs.
  779.   - fixed InsertPosition which was wrong after a sort or insert sorted.
  780.   - fixed when last entries are removed you won't get blank lines.
  781.  
  782. * NList.mcc         13.34     22.09.96
  783.   - added MUIM_NList_UseImage method.
  784.   - fixed some bugs. WIDTH=-1 for last column seems to work without making
  785.           mungwall hits, anyway the column width layout need some improvments.
  786.  
  787. * NList.mcc         13.33     18.09.96
  788.   - improved drag stuff, now MUIV_NList_DragType_Borders exists.
  789.   - fixed LMB release isn't received when some string gadget is activated
  790.           when a Active or SelectChange notify is made.
  791.  
  792. * NList.mcc         13.32     17.09.96
  793.   - fixed setting MUIA_NList_Active before object is shown changed
  794.           the first visible entry to the set value + 1.
  795.   - added MUIA_NList_AutoVisible stuff
  796.  
  797. * NList.mcc         13.31     16.09.96
  798.   - added MUIA_NList_Active notify.
  799.   - added MUIV_NList_Remove_Selected stuff.
  800.   - fixed a minor bug with MUIV_NList_Active_Off when non-multiselect mode.
  801.  
  802.  
  803.  
  804. History of NListview.mcc
  805. ************************
  806.  
  807. * NListview.mcc     19.60     13.04.98
  808.  
  809.  
  810. * NListview.mcc     19.58     15.07.97
  811.   - added 2 tags used by NList.mcc.
  812.  
  813. * NListview.mcc     13.50     22.04.97
  814.   - fixed MUIM_NListview_QueryBeginning is now obsolete and does nothing.
  815.  
  816. * NListview.mcc     13.48     08.04.97
  817.   - added little add needed by a NList change.
  818.  
  819. * NListview.mcc     13.47     01.04.97
  820.   - fixed minor change in library startup.
  821.  
  822. * NListview.mcc     13.44     17.02.97
  823.   - fixed MUIM_NListview_QueryBegining replaced by MUIM_NListview_QueryBeginning.  ;-)
  824.                                   ^                                        ^^
  825.  
  826. * NListview.mcc     13.43     09.02.97
  827.   - fixed When the vert scrollbar appeared at start of the object, it
  828.           seems that 2 muigprop object where made (and only one were released
  829.           at the end).
  830.   - added MUIM_NListview_QueryBegining method, which must be used in any DragQuery
  831.           method in sub classes of NListview (Read autodocs).
  832.  
  833. * NListview.mcc     13.42     18.12.96
  834.   - fixed a little problem when setting Drag&Drog related tags at init
  835.           in the listview object.
  836.  
  837. * NListview.mcc     13.34     26.09.96
  838.   - added scrollbars Auto and FullAuto modes.
  839.  
  840. * NListview.mcc     13.31     16.09.96
  841.   - added little change to give NList a better handling of DragSortable stuff.
  842.  
  843.  
  844.  
  845. History of NFloattext.mcc
  846. *************************
  847.  
  848. * NFloattext.mcc    19.46     13.04.97
  849.  
  850.  
  851. * NFloattext.mcc    19.45     09.07.97
  852.   - fixed Now using MUIA_Floattext_Text really copy the supplied buffer like Floattext
  853.           and not use ConstructHook_String/DestructHook_String any more.
  854.  
  855. * NFloattext.mcc    19.44     23.06.97
  856.   - fixed Major version number is now 19.
  857.   - fixed using MUIA_Floattext_Text  instead of MUIA_NFloattext_Text will
  858.           make NFloattext set MUIA_NList_ConstructHook to MUIV_NList_ConstructHook_String
  859.           and MUIA_NList_DestructHook to MUIV_NList_DestructHook_String, so the text
  860.           will be copied automatically like in Floattext class.
  861.           Should give Floattext compability in all cases.
  862.  
  863. * NFloattext.mcc    13.42     01.04.97
  864.   - fixed minor change in library startup.
  865.  
  866. * NFloattext.mcc    13.38     18.11.96
  867.   - first release.
  868.  
  869.  
  870.  
  871. History of NListviews.mcp
  872. *************************
  873.  
  874. * NListviews.mcp    19.56     27.05.98
  875.   - fixed There were "Allways" instead of "Always" !
  876.   - added Start of locale support, but actually no catalog...
  877.  
  878. * NListviews.mcp    19.55     25.05.98
  879.   - fixed added some info for the smooth scrolling.
  880.  
  881. * NListviews.mcp    19.54     13.04.98
  882.  
  883. * NListviews.mcp    19.53     23.06.97
  884.   - fixed Major version number is now 19.
  885.  
  886. * NListviews.mcp    13.52     02.06.97
  887.   - added Partial chars draw on left/right edges pref.
  888.  
  889. * NListviews.mcp    13.50     21.05.97
  890.   - added pref for visual column width.
  891.   - added pref for list like key multiselection.
  892.  
  893. * NListviews.mcp    13.49     14.05.97
  894.   - added some prefs.
  895.  
  896. * NListviews.mcp    13.48     30.04.97
  897.   - added pref for column width dragbar height.
  898.  
  899. * NListviews.mcp    13.46     01.04.97
  900.   - fixed minor change in library startup.
  901.  
  902. * NListviews.mcp    13.45     17.03.97
  903.   - fixed The smooth scrolling speed slider has been replaced by a single
  904.           checkmark because now the scroll speed is the same as standard
  905.           listviews one (so use listviews pref to change the scroll speed).
  906.  
  907. * NListviews.mcp    13.44     05.03.97
  908.   - fixed Smooth pref range is no 0 to 9, 0=no smooth, 1 is fastest and 9 slowest.
  909.   - added a user pref for the NList stack warning.
  910.  
  911. * NListviews.mcp    13.43     17.02.97
  912.   - fixed Force Pen defaults now to FALSE.
  913.   - fixed Little changes in the NList text.
  914.  
  915. * NListviews.mcp    13.42     09.02.97
  916.   - added Force user pref pen color for cursor/select or not from prefs.
  917.  
  918. * NListviews.mcp    13.41     18.12.96
  919.   - fixed my email in the list text (this one is valid while holidays) ;)
  920.  
  921. * NListviews.mcp    13.40     26.11.96
  922.   - added now use MUIA_NList_TitleSeparator :)
  923.   - fixed my email in the list text  ;)
  924.  
  925. * NListviews.mcp    13.39     22.11.96
  926.   - added smooth scrolling pref
  927.  
  928. * NListviews.mcp    13.36     06.10.96
  929.   - added MMB as shift multiselect pref.
  930.   - added Drag qualifier prefs (see help bubble for correct entries).
  931.  
  932. * NListviews.mcp    13.33     26.09.96
  933.   - added scrollbars prefs.
  934.  
  935. * NListviews.mcp    13.31     18.09.96
  936.   - added new entry in Drag radio gadget for MUIV_NList_DragType_Borders.
  937.  
  938.