
/*
**
**  $VER: directory_datatype.guide 1.6 (27.9.96)
**  directory.datatype 1.5
**
**  documentation
**
**  (C) Copyright 1996 by Roland 'Gizzy' Mainz
**          All Rights Reserved
**
*/

==================  directory.datatype  documentation   ===================
===========================================================================
Datatypes class for directories. Based on the CBM datatypes example source/
documents written by David Junod,
including automatic updating of information using NOTIFICATION.

=========================== Misc ==========================================
===========================================================================
During creation of mpeg#?.datatype (misc datatypes for system/video/audio-
streams) and SwitchWindow (object-oriented BOOPSI environment (analyse,
create or modify BOOPSI objects including datatypes ones)), I wrote this
datatype to allow the AmigaGuide browser to display directories like a LIST
output.

--

(The idea was born when I found a datatype descriptor using the following
statement:
dir_dtn = ObtainDataTypeA( DTST_FILE, NULL, NULL );
)

--

Now I fully support SAS/C for all my projects (SMakefile included).
A matching DMakefile is on the way.

=============================== Usage =====================================
===========================================================================
After installation (see below), you can drop any directory into MultiView/
AmigaGuide windows or create AmigaGuide links to dirs.

AmigaGuide:
If you double-click on a filename, the TDTA_WordSelect contains the full
path including a MAIN at the end. This causes AmigaGuide to link correctly
to this file/dir etc.

=========================== Installation ==================================
===========================================================================
After unpacking this archieve:

Shell:
  - Unpack this archieve and copy the directory.datatype to
    SYS:Classes/DataTypes:
Copy CLONE FROM directory.datatype TO SYS:Classes/DataTypes/directory.datatype

make/smake (SAS):
  - Type 'smake install' in shell

NOTE: There is no datatype description file (DEVS:DataTypes/#?) required,
      because datatypes.library creates this (see upstairs).

================================ BUGS =====================================
===========================================================================
  * If you create AmigaGuide links to a dir including a file named MAIN,
    the directory.datatype is used.
    THIS IS NOT A BUG !
    The directory.datatype descriptor is simply before any other file type
    in datatypes.library descriptor list.
    This can be changed by modifying the priority of the desired datatype
    descriptor using CBM's "dtdesc" utility. The BUILD-IN
    directory.datatype descriptor has the priority 0 and cannot be changed.
    Note that these settings are GLOBAL !!

  See directory.datatype.doc for a complete list of all (removed/fixed
  etc.) bugs.

============================ V2.0 preview =================================
===========================================================================
V2.0 of directory.datatype will implement:
- Locale support
- Datatypes support (file type)
- Sorting
- Filtering
- Preferences using prefs file

Changes during V1.#?:
- Notification will be DISABLED as default. If you want to enable it, you
  must edit the prefs file (add the NOTIFY switch).

=============================== TODO ======================================
===========================================================================
  - Full ENVOY/accounts.library support

  - Sorting

  - Preferences using ENV-vars and/or ENV:datatypes/#? based files
    This will be done in a form of a config file:
    Each config line defines the preferences for a path defined with
    MATCHPATH.
    Template:
    MATCHPATH/K/M,P=PAT/K,ACCEPPATTERN/K,REJECTPATTERN/K,NOICONS/S,
    SORT/K,SUB/K,SINCE/K,UPTO/K,LFORMAT/K,DTOBJECTTYPE/S,LOCALE/K,NOTIFY/S

    P=PAT            See CBM's List cmd
    ACCEPTPATTERN    See CBM's RequestFile cmd
    REJECTPATTERN    See CBM's RequestFile cmd
    NOICONS          See CBM's RequestFile cmd
    SORT             See ENVOY's List cmd
    SUB              \
    SINCE            -\
    UPTO             -/   See CBM's List cmd
    LFORMAT          /
    LOCALE           Locale preferences file
    DTOBJECTTYPE     Include datatypes object type
    NOTIFY

    Example: MATCHPATH="(ENVARC:|ENV:)" NOICONS SORT=N
             For each the ENVARC: or ENV: directories reject all icons,
             and sort the remaining data by Name.

  - Localisation (not much to do, only "Loading...", "Updating...",
    "Sorting..." messages must be changed).

  - Inclusion of a control panel

  - DMakefile

  - More time to rework this and other public projects

============================== SOURCE =====================================
===========================================================================
SAS users should use SMakefile
DICE users may use DMakefile (if included)
GNU-C support will be done in one future version.

See directory.datatype.doc for additional information.

=========================== Author's Request ==============================
===========================================================================
By  releasing  this program I do  not  place any obligations on you,
feel free to share this program with your  friends (and enemies).

If you want to blame me, report any bugs, or wants a new version
send your letter to:
                Roland Mainz
                Hohenstaufenstraße 8
                52388 Nörvenich
                GERMANY

EMAIL is also available:
Up to November 1996 I'm reachable using this email address:
Reinhold.A.Mainz@KBV.DE

Sorry, but I can only look once a month for mails.

The  entire  "directory.datatype"  package  may  be  noncommercially
redistributed, provided  that  the package  is always  distributed in it's
complete  form (including it's documentation).  A small copy fee  for media
costs is okay but any kind of commercial distribution is strictly forbidden!
Comments  and  suggestions  how  to  improve  this  program  are generally
appreciated!

Thanks to David Junod, who wrote the datatypes example code, Matt Dillon for
his DICE, and Olaf 'Olsen' Barthel for his help, ideas and some text clips from
his documentations.

