@DATABASE "NListtree.mcc"
@AUTHOR "Carsten Scholling"
@(C) "Carsten Scholling"
@WIDTH 80

##
##  $VER: NListtree.mcc.guide 1.1
##
##  © 2000 Carsten Scholling
##

@NODE "main" "NListtree.mcc v18.2"

                        @{b}NListtree MUI Custom Class@{ub}
                     ----------------------------------
                            ©2000 Carsten Scholling
@{FG TEXT}

  @{" Disclaimer        " link "Disclaimer"}    -  Boring stuff...
  @{" Introduction      " link "Intro"}    -  What is it?
  @{" Licence           " link "Licence"}    -  Pay? Why and where?
  @{" Requirements      " link "Requirements"}    -  What is needed?

  @{" Installation      " link "Installation"}    -  Easy doing...
  @{" Usage             " link "Usage"}    -  How to use this thing?
  @{" Known bugs        " link "Bugs"}    -  Read THIS before sending bug-report!

  @{" Author            " link "Credits"}    -  Who did it?
  @{" History           " link "History"}    -  Small, but fine.
  @{" To do             " link "ToDo"}    -  What is to be done in the future?
  @{" Updated           " link "Updates"}    -  Where to get the updates?
  @{" Credits           " link "Thanks"}    -  Brablabla :-)

  @{" About MUI         " link "MUI"}    -  MUI copyright notice
  @{" About NList       " link "NList"}    -  NList copyright notice
  @{" About MCC-Install " link "MCC-Install"}    -  MCC-Install copyright notice

@ENDNODE


@NODE "Disclaimer" "Disclaimer"

   @{u}DISCLAIMER@{uu}

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT  WHEN  OTHERWISE  STATED  IN  WRITING  THE  COPYRIGHT HOLDER AND/OR OTHER
PARTIES  PROVIDE  THE  PROGRAM  "AS  IS"  WITHOUT  WARRANTY  OF ANY KIND, EITHER
EXPRESSED  OR  IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE
QUALITY  AND  PERFORMANCE  OF THE PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE
DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

IN  NO  EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
COPYRIGHT  HOLDER,  OR  ANY  OTHER  PARTY  WHO  MAY  REDISTRIBUTE THE PROGRAM AS
PERMITTED  ABOVE,  BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
INCIDENTAL  OR  CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
THE  PROGRAM  (INCLUDING  BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE  OR  LOSSES  SUSTAINED  BY  YOU  OR THIRD PARTIES OR A FAILURE OF THE
PROGRAM  TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.


@ENDNODE


@NODE "Intro" "Introduction"

   @{u}Introduction@{uu}

  This MUI custom class provides you with an easy way of displaying list entries
in  a  sorted  form,  a  so  called  tree-structure.   A  Tree-structure will be
selected, when data should be optical seperated from each other.

  Today  i  know  of  several  list tree classes, but none of them fullfilled my
needings:

  First,  there  is  the  old  Listtree.mcc from Klaus Melchior which is used in
several  applications.   For  this one, there is no development since many month
(year?).   This  class  works  stable, as long as the programmer knows about the
several bugs.

  Then  a class called NListtree.  Only a few bytes are different from Listtree.
Mainly  the  superclass strings are patched (List.mcc -> NList.mcc) to use NList
instead of List.

  NewListTree  from  Ole  Friis  which is unchanges in alpha state (version 0.2)
since january 1999.

  And,  the  last, TreeList from John Haubrich.  He has dropped the  project and
his Amiga somewhere between the 10.  or 11.  of december 1999.

  The  sourcecodes  of  both last named classes are public.  Today i do not know
about someone who has worked on these codes.

  NListtree is intresting for programmers and the end-user also and easy to use.
So  far  as  implemented  by  the  programmer  and  needfull  in the application
environment,  this  class  allows  the  fully  free recreation of the list using
drag&drop (short d&d) with support of multiselection.

  First  time  in  a list tree class it is possible to move complete structures.
That means, that the complete tree of the moved entry, back to the root-list, is
recreated  at  the  destination  if  the  programmer  allows this.  The same for
copying entries, which is also implemented.



@ENDNODE


@NODE "Licence" "Licence"

   @{u}Licence@{uu}

  This  class is freeware for end users, but polymorphware for developers.  That
means  that  anyone  who  makes  a shareware, giftware or commercial application
using NListtree must send me the same fee he expects for his program.

  If you have written a shareware program using NListtree and you expect $20 for
your hard work, i expect $20 from you for my work.  Easy, isn't it?

  To make the things easier:  If i am interested in your application (please ask
before),  we  can make a deal.  You are sending me a registered and full working
release  of your application including updates.  Then there is no other fee (and
will not ever).

  I'm  interested  in  who  is  using my classes in his own (free) programs.  So
don't  hesitate  to  contact me.  (just an e-mail telling what you're doing with
NListtree :)


@ENDNODE


@NODE "Requirements" "What do you need to run this?"

   @{u}Requirements@{uu}

  * @{" MUI       " link "MUI"} 3.8 (not tested with earlier versions)
  * @{" NList.mcc " link "NList"} 0.89 (not tested with earlier versions)

@ENDNODE


@NODE "Installation" "Installation"

   @{u}Installation@{uu}

  Just  use  the supplied installer script or copy the classes NListtree.mcc and
NListtree.mcp   to  the  MUI:libs/MUI  directory  and  the  supplied  images  to
MUI:Images/aphaso on your harddisk.


@ENDNODE

@NODE "Usage" "How to use this thing?"

   @{u}Usage@{uu}

  NListtree  is  almost  the same and reacts the same as Listtree does.  But the
preferences program has some differences:

  In  Listtree  configuring  Windows  95  style  causes  Listtree  to  draw  the
open/closed  sign directly.  NListtree uses the user selectable images for these
signs  too.   Style  Win98+  has  an  additional image for the drawer to make it
really look like Windows95/98 (not completely implemented).

  Some  new  imagery  especially  for  the  Windows  styles  is distributed with
NListtree.  They can be found in the directory Images/aphaso.

  The  user  can  control  the  list  tree by the MUI keys, this means a node is
opened  with "Right" and closed with "Left".  "Up" and "Down" are the same as in
normal List class.  Check your MUI NList prefs for the specified keys.

  Simple  clicking  on a node sign or double clicking somewhere else in the tree
column  and/or  other columns (this will be defined by the programmer and should
be  stated  in  the application docs) toggles its status from open to closed and
vice versa.

  Multiselection   is   implemented  and  reacts  as  configured  in  the  NList
preferences  or  like  programmers  choice.   This should be written down in the
application  docs.   Please  note, that multiselection and drag & drop in a tree
with more than one selected entry can be confusing sometimes:

  - in  multiselection mode, you have to move the mouse pointer out of the list
    while holding down the left mouse button, to start dragging entries around

  - the default key (qualifier) for dragging in multiselect lists (NList.mcc) is
    CTRL.   Pressing  CTRL  causes NListtree (NList) to immediately start drag &
    drop

  So please check out the demo program NListtree-Demo on how to use this feature
by dragging some entries around.  But first read the next section.


  Drag&Drop capabilities:

  If possible or needfull for the situation NListtree is used by the programmer,
you  can  drag & drop entries.  This means you can drag one entry and drop it on
the same listtree again.  While dragging an indicator shows where to drop.

  Drag a    Drop on        Result

  leaf      leaf           Exchange leaves.
  node      leaf           Nothing happens.
  entry     closed node    Moves entry into the list.
  entry     open node      Moves entry to defined position.

You  can  not drop an entry on itself, nor you can drop an opened node on any of
its members.


@ENDNODE


@NODE "Bugs" "Known bugs"

   @{u}Known bugs@{uu}

     - reactivation  of  copied/moved  entries  does not work  propperly (only a
       cosmetical problem)
     - auto unselection does not work in all cases


@ENDNODE


@NODE "Credits" "Credits"

   @{u}Author@{uu}

  Carsten Scholling
  Grosser Lahweg 34
  31020 Salzhemmendorf

  Germany


  e-mail: cs@aphaso.de
  WWW:    http://www.aphaso.de


  Please write me suggestions, bugs, wishes...


@ENDNODE


@NODE "History" "History"

   @{u}History:@{uu}

  V18.2 - Public release

     - Added multiselection feature
     - Fixed some small cosmetical problems
     - Implemented arrows as MUI images
     - Implemented Copy method
     - Implemented KeepStructure flag for recreation of the complete
       structure in Move and Copy


  V18.1 - Internal release

     - Completely rewritten graphics stuff. Now in all cases predefined and
       precreated images  where used.  This fixes many graphic bugs occured
       in the old 18.0.
     - After deleting an entry,  the old entry  remains internally  active.
       Using this entry crashed the machine. Fixed!
     - Moving   marker   with    the   cursor   keys   did    not   trigger
       MUIA_NListtree_Active. Fixed!
     - When deleting entries, MUIA_NListtree_Active was triggered two times.
       Fixed
     - Deleting  an  entry without  entries  in  the list  caused recursive
       function calling and stack overflow ;-) Fixed!
     - Insertion  had some bugs which  caused the machine to hang or crash.
       Fixed!


  V18.0 - Initial public beta release


@ENDNODE


@NODE "ToDo" "Planings for next releases"

   @{u}ToDo:@{uu}

  - More styles
  - Changing the kind of displaying active nodes.
  - Selectable key for automatic child selection


   @{u}ToDo programmers section:@{uu}

  - Implementation of MUIM_NListtree_InsertList, MUIM_NListtree_InsertArray
    and MUIA_NListtree_SourceArray


  and whatever you need...


@ENDNODE


@NODE "Updates" "Where to get the updates?"

  The  latest  release  of NListtree is always available at http://www.aphaso.de
and a little bit later on aminet dev/mui.


@ENDNODE

@NODE "Thanks" "Acknowledgements"

   @{u}Acknowledgements@{uu}

  - @{i}Gilles Masson for his great NList.mcc@{ui}
  - @{i}Stefan Stuntz for fantastic MUI@{ui}
  - @{i}Members of MUI@OneList.com for interresting informations@{ui}
  - @{i}Alessandro Zummo for some interesting information about MUI (MUIUndoc)
    (which does not mean, that NListtree uses undocumented features).@{ui}
  - @{i}Henning 'Lemming' Thielmann for intresting informations and suggestions
    for multiselection and moves/copies@{ui}
  - @{i}and all others who have sent bug reports and suggestions@{ui}


@ENDNODE


@NODE "MUI" "MagicUserInterface"

                          This application uses

                        MUI - MagicUserInterface

                (c) Copyright 1993/97 by Stefan Stuntz


 MUI is a system to generate and maintain graphical user interfaces. With
 the  aid  of  a  preferences program, the user of an application has the
     ability to customize the outfit according to his personal taste.

 MUI is distributed as shareware. To obtain a complete package containing
 lots of examples and more information about registration please look for
 a  file  called  "muiXXusr.lha"  (XX means the latest version number) on
          your local bulletin boards or on public domain disks.

           If you want to register directly, feel free to send


                          DM 30.-  or  US$ 20.-

                                    to

                              Stefan Stuntz
                         Eduard-Spranger-Straße 7
                              80935 München
                                 GERMANY

@ENDNODE


@NODE "NList" "NList.mcc, NListview.mcc, NFloattext.mcc, NListviews.mcp"

What Gilles Masson originally wrote to NList:


Copyright
*********

   NList.mcc (C) 1996-1998 Gilles Masson

   This data is freely distributable, but copyrighted by me. This means
you may freely copy them as long as you do not charge more than a
nominal fee for copying. This data may be put on PD disks, especially
on Fred Fish's AmigaLibDisks and Fred's or Aminet CDROMs. If you want to
distribute the data you MUST keep this document with it. All documents,
programms and files must be distributed in their original unmodified
form.

   The author can not be made responsible for any damage which is
caused by using these programs.

-------------------------------------------------------------------------
 This class is FreeWare for end users, but ShareWare for developers :
 Anyone which make a Shareware or commercial application using it
 must send me a registered/full working release of the application
 and updates, there is no other fee (and will not ever).
-------------------------------------------------------------------------

 Anyway, i'll be happy if you send me something...  ;-)


-------------------------------------------------------------------------
 The AUTHOR of a program can include the NList.mcc, NListview.mcc,
 NFloattext.mcc, NListviews.mcp and Install files in its program archive
 as soon as the above is respected. You can install them from you're own
 script or use the provided one as you want.
-------------------------------------------------------------------------


   I'm interesting in who is using my classes in his own (free) programs,
so don't hesitate to contact me. (just a mail telling what you're doing
with NList would be nice :)



   Send comments, suggestions or bug reports, or some money ;)  to:

     Gilles Masson,
     Les Balcons d'Antipolis
     Bloc C
     15, Traverse du Barri
     06560 VALBONNE
     FRANCE

     e-mail:  masson@iutsoph.unice.fr



What are NList.mcc/NListview.mcc/NFloattext.mcc/NListviews.mcp ?
****************************************************************

   NList is a Custom Class for the Magic User Interface (c) by Stefan
Stuntz. It's a subclass of area-class which make the same stuffs
than the MUI List/Listview class, and more.

   NList implement horizontal scrolling, built-in copy to clipboard,
classic char precision selection of area, drag and drop and some others.

   NListview give NList scrollbars, vertical as Listview, but horizontal
too.

   NFloattext is like Floattext and do automatic word wrap. The interest
to do it with NList is the builtin copy to clipboard.

   There is a mui pref class NListviews.mcp with it, which permit the
user to choose all default backgrounds, pens and fonts.


@ENDNODE


@NODE "MCC-Install"

Original copyright notice for MCC-Install from Kai Hofmann:


Copyright
---------

This software and its documentation are copyright 1996-1997,1999 by
Dipl.-Inform. Kai Hofmann. All rights reserved!

- Permission for COMMERCIAL USE is only given by an extra available commercial
  license that must be validated!
  Contact me directly for this license, because it will be individually handed
  out per your needs!

- Permission is hereby granted, without written agreement and without license,
  to USE this software and its documentation for any NON-COMMERCIAL purpose,
  provided that the above copyright notice and the following paragraph appear
  in all copies of this software (Non-commercial includes Giftware!).

  Please send me a full version of your product at no cost including free
  updates!

@ENDNODE

