@DATABASE "Date_mcc.guide"
@AUTHOR "Kai Hofmann"
@(C) "Copyright © 1996-1997 Kai Hofmann. All rights reserved."
@$VER: Date_mcc.guide 40.1 (27.11.97)
@WORDWRAP
@INDEX "Index"

@REMARK -----------------------------------------------------------------------

@NODE Main "Date.mcc"
@KEYWORDS "Content"

                      Table of Contents

 @{" Copyright       " link Copyright      }            - Copyright information
 @{" Distribution    " link Distribution   }            - Copying conditions
 @{" Disclaimer      " link Disclaimer     }            - Legal Information
 @{" Trademark       " link Trademark      }            - Trademark information
 @{" Support/Updates " link Updates        }            - How to get updates and support
 @{" Author          " link Author         }            - How to reach the author

 @{" Description     " link Description    }            - What is Date.mcc?
 @{" Requirements    " link Requirements   }            - Requirements for using Date.mcc

 @{" Installation    " link Installation   }            - How to install Date.mcc

 @{" Developer Info  " link Developer      }            - Information for developers

 @{" History         " link History        }            - Revision history of Date.mcc
 @{" Todo            " link Todo           }            - Todo list
 @{" Known problems  " link Problems       }            - List of known problems
 @{" Acknowledgments " link Acknowledgments}            - Acknowledgments
 @{" Please rate     " link Rate           }            - Please rate Date.mcc
 @{" Subclasses      " link Subclasses     }            - Subclasses build on Date.mcc
 @{" Index           " link Index          }            - Alphabetical index

If you have AmigaDOS® 2.0 or 2.1, you will have to scroll to the right in
order to read the text. AmigaGuide® for these versions of AmigaDOS® is unable
to wordwrap the text.
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Copyright "Copyright"
@KEYWORDS "Copyright"

Copyright
---------

This software and its documentation are copyright 1996-1997 by 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!
  Extra money is welcome (For Bank Account see @{"author" link Author} - but *ONLY* send in DM
  to this Bank Account!).
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Distribution "Distribution"
@KEYWORDS "Distribution"

Distribution
------------

Permission is hereby granted, without written agreement and without license or royalty fees, to copy and distribute this software and its documentation for any purpose, provided that the above copyright notice and the following paragraphs appear in all copies of this software, to:

- All who will distribute this software for free!
- All free accessible INTERNET servers!
- All Aminet® sites
- Fred Fish for his great Amiga-Software-Library
- The German SAAR AG PD-Library
- Angela Schmidt's Meeting Pearls series
- All others who do NOT take more than US$ 5.- for one disk that includes this
  software!



IMPORTANT NOTE:

This package may not be included on any further Aminet CD-ROMs unless authors contributing their software to the CD-ROM, (without mentioning distribution "NoCD") are granted a copy of the CD *completely* *free* *of* *charge*.

The Meeting Pearls IV CD-ROM demonstrates that a Freebie policy is also possible with "very-low-budget" CD-ROMs (*), so Aminet should quickly re-establish the same Freebie policy it used up to Aminet CD 13.

(*) Suggested retail price for MP4 is DM 14,95/US$ 12/£ 8.95.

@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Disclaimer "Disclaimer"
@KEYWORDS "Disclaimer"

DISCLAIMER
----------

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.

THE AUTHOR HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Trademark "Trademark"
@KEYWORDS "Trademarks"

Trademark
---------

DateLib is a trademark of Kai Hofmann

Amiga, AmigaDOS, AmigaGuide and Workbench are registered trademarks of Amiga International, Inc.
Aminet is a registered trademark of Stefan Ossowskis Schatztruhe GmbH
SAS/C is a registered trademark of SAS Institute Inc.

All other trademarked names used herein are used for the purposes of identification and for the benefit of the trademark holder. No infringement of trademarks is intended. Trademarks remain the property of the trademark holder.
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Updates "Support/Updates"
@KEYWORDS "Support, Updates, WWW, WEB, URL, World Wide Web"

Support/Updates
---------------

- Updates will be available via Aminet®
- Support will be available via the @{"authors" link Author} email address and via
  http://home.pages.de/~i07m/amiga/mui/Date.html
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Author "Author"
@KEYWORDS "Author, EMail, WWW, WEB, Address, Phone, IRC, World Wide Web, Kai Hofmann"

Author
------

Kai Hofmann
Arberger Heerstraße 92
28307 Bremen
Germany

Phone: (+49)-(0)421/480780
EMail: i07m\@informatik.uni-bremen.de
       i07m\@zfn.uni-bremen.de
IRC  : PowerStat\@#AmigaGer
WWW  : http://home.pages.de/~i07m/

@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Description "Description"
@KEYWORDS "Description, Features"

Description
-----------

Date is an abstract Custom Class of the @{"Magic User Interface" link MUIReadMe} © by Stefan Stuntz.
It's a subclass of notify-class and only usable for developers who want to build subclasses of Date.mcc!

The idea of this class was born during developing my Gregor application.

@{"MUI" link MUIReadMe} abstract public custom class allowing easy handling of dates. Because it is abstract it is only usefull for developers who are working with classes that are based on Date.mcc (like DateString.mcc), or who want to build their own classes based on Date.mcc.

Date.mcc features:
- Handles years from 8 to 8000
- Supports the Gregorian calendar reform
- Supports MUIM_Import and MUIM_Export
- Supports drops of other date objects and date-strings
- A week can begin with any weekday
- The date can be read as day/month/year format or as JD or MJD
- The date range can be restricted
- Method to set the current date
- Methods for increasing and decreasing the date
- Method to compare with another date object

@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Requirements "Requirements"
@KEYWORDS "Requirements"

Requirements
------------

- @{"MUI" link MUIReadMe} 3.1 (Version 12)
- date.library

- To use the Greek MCC-Install script you need the
  "Greek Workbench" © AC Software

- To use the Russian MCC-Install script you need
  "Rusifier" © Dmitry Mikhilov
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Installation "Installation"
@KEYWORDS "Installation, Install"

Installation
------------

Please only install Date.mcc when you are a developer!

Use the installer script!
(The Installer must be in your system-path!)

If you use an Installer prior to V42 you should set the LANGUAGE Tooltype to your language. Installer V42 and better automatically use your current locale.


Please note that the installer-script is very special, because:

- It features uninstallation
- It is automated
- It is very flexible
- It is very intelligent (for an installer-script ;-)
- It uses @{"WrapGuide" link WrapGuide} (if present) for the @{AmigaGuide}
  documentation if running under a pre V39 system.
- It can be reused by (hopefully) all other MUI custom classes, because the
  authors of custom classes need to only change a few things:

  * The #copyright variable
  * The #min_os_version and #min_os_revision variables
  * The #min_mui_version and #min_mui_revision variables
  * The #language_mcc and #language_mcp variables
  * The P_CustomExists, P_CustomInstall and P_CustomUninstall procedures
  * The 'APPNAME' tooltype within the MCC-Install icon.
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Developer "Developer Information"
@KEYWORDS "Developer"

Information for Developers
--------------------------

There is no multiple inheritance for Boopsi/MUI for the moment, so we haven't any chance to create a real Date basis-class. But there is another way to have the same result (compatibility for all classes that are dealing with date).
The solution is called interface inheritance like it was done with IDL for CORBA.
Interface inheritance has some advantages and some disadvantages.

The advantages are:
- (Pseudo) multiple inheritance
- The same interface for all classes dealing with Date

The disadvantages are:
- Every one who wants to subclass Date.mcc must include the code for Date.mcc
  in the new subclass.
  But this can be easier done by using the DateLib and/or the Amiga-OS support
  functions.
  Btw. the same happens for IDL, but by using C++ it is possible to inherite
  the implementation.
  A future release of Date.mcc will include a full skeleton C code, so that
  everyone can start his subclasses on this.


Please note, that you can not compile Date.mcc!
This is because I don't want to distribute the folowing files at the moment:
date.h, datesys.h, date_pragmas.h
These files are part of my DateLib (TM) project. A new release will be available in 1997.
Please note that the supplied source is version 12.0!


Btw. it would be wise to use a

 SetAttrs(obj,
            MUIA_Date_Year,   year,
            MUIA_Date_Month,  month,
            MUIA_Date_Day,    day,
          TAG_DONE
         );

instead of single set()'s.

@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE History "History"
@KEYWORDS "History, Releases, Past"

History
-------

27.11.1997 -	First release on Aminet

@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Todo "Todo"
@KEYWORDS "Todo, Future"

Todo
----

- Notify on locale preference change (country/language)

@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Problems "Known problems"
@KEYWORDS "Problems, Bugs"

Known problems
--------------

- Old versions of the program called 'PhoneCost' written by André Schenk
  <schenkae@tick.informatik.uni-stuttgart.de> installed another
  'date.library' into 'Libs:'.

@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Acknowledgments "Acknowledgments"
@KEYWORDS "Acknowledgments, Greetings"

Acknowledgments are going to the following people:

Rita Reichl         : for correcting my English and being my inspiration

James Cooper,
Steve Krueger,
Doug Walker         : For supporting SAS/C® after SAS suspends the support.

Stefan Stuntz       : for the @{"Magic User Interface" link MUIReadMe} and for his support
Klaus Melchior      : for the MUI custom class support
Martin Huttenloher  : for @{"MagicWB" link MWBReadMe}
Udo Schuermann      : for @{"WrapGuide" link WrapGuide}
Stefan Kost         : for ag2txt
Jürgen Kohrmeyer    : for the rexxtricks.library

Henning Thielemann  : for help with the Cluster interface
Eric Gerard         : for his great icons

@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Rate "Please rate"
@KEYWORDS "Aminet, rate, charts"

Please rate
-----------

Please rate Date.mcc and MCC-Install. To do so, send an email to aminet-server\@wuarchive.wustl.edu with the following content:

RATE dev/mui/MCC-Install.lha <num>
RATE dev/mui/MCC_Date.lha <num>

where <num> is a mark from 0..10 with 10 being the best.
You can rate several programs in one mail.

Thank you!

@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Subclasses "Subclasses"
@KEYWORDS "Subclasses"

Subclasses
----------

The following classes are build on Date.mcc:

DateString.mcc:
   By Kai Hofmann <i07m\@informatik.uni-bremen.de>
   http://home.pages.de/~i07m/amiga/mui/DateString.html
   Aminet:dev/mui/MCC_DateString.lha

MonthNavigator.mcc:
   By Kai Hofmann <i07m\@informatik.uni-bremen.de>
   http://home.pages.de/~i07m/amiga/mui/MonthNavigator.html
   Aminet:dev/mui/MCC_MonthNavigator.lha

@NEXT Index
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE MUIReadMe "MUI"
@PREV WrapGuide
@KEYWORDS "MUI, Magic User Interface, Stefan Stuntz"

                      This is a custom class of the


                        MUI - MagicUserInterface

                 Copyright © 1993-1997 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


             Support and online registration are available at

                          http://www.sasg.com/
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE MWBReadMe "MagicWB"
@KEYWORDS "MWB, MagicWB, Martin Huttenloher"

                 This product is based on or uses parts of

                     MagicWB - The Workbench Enhancer
                     --------------------------------

                 Copyright © 1992-1997, Martin Huttenloher

If  you  use  and like this product you should very much consider to take a
look  at  MagicWB,  which  is the authentic source of the style, colors and
design  elements  contained  in  this  package.   It  features  hundreds of
original  icons,  patterns, image-drawers,  dock-brushes and some specially
designed  high-quality  fonts  to  improve the comfort & legibility of your
daily Workbench session.

What  is  MagicWB?   MagicWB  is  a full replacement for the Graphical User
Interface  of the Workbench and has become the standard visual interface on
the  Amiga.  Over the last years MagicWB has received various merits and an
overwhelming  response from Amiga magazines and users worldwide proclaiming
it  "a  must  for  all  Amiga  users".   Even  commercial  applications are
supporting the multi-colored look & style of MagicWB.

Get yourself the latest version of MagicWB and see for yourself the wonders
it  can  do by automatically transforming your old and dull Amiga Workbench
into  an impressive workstation environment that will be the envy of all PC
Windows  and  Mac users.  Update yourself to the state-of-the-art workbench
standard  everyone uses on the Amiga!  It is also your key to enjoy the new
look & feel of many applications and other MWB add-ons and extensions.

MagicWB  is  distributed as shareware.  Get yourself the latest FREE PUBLIC
RELEASE of MagicWB now:  It is called

                             ----------------
                              MagicWB21p.lha
                             ----------------

and  can  be found everywhere on Aminet (or your local BBS or public domain
series).   Install it and witness the instant magic it performs on your old
Amiga  Workbench.   Also  included  is the latest SASG registration program
with which you can order and get the full registered version of MagicWB.

             If you want to order directly, feel free to send

                  DM 30.- or US$ 20.- (cash, no checks!)

                                    to

                            Martin Huttenloher
                             Am Hochstraess 4
                               D-89081 Ulm
                                 Germany

You  may  also  choose  to visit the official MagicWB homepage on the world
wide  web.   There you can find the latest news & support and even register
your  MagicWB  online  (which is much more comfortable and faster). You can
even  benefit  from  various  special offers & discounts for MagicWB if you
order through our website!  Come and visit MagicWB at:

                          ----------------------
                           http://www.sasg.com/
                          ----------------------

              Save 20% by using the discounts on our website!

           Ordering online also saves you a lot of time and work!
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE WrapGuide "WrapGuide"
@KEYWORDS "WrapGuide, Udo Schuermann"

WrapGuide is Copyright 1994-1995 Udo Schuermann
All rights reserved
@NEXT MUIReadMe
@ENDNODE

@REMARK -----------------------------------------------------------------------

@NODE Index "Index"
@TOC Main
@PREV Subclasses
@KEYWORDS "Index"

Index
-----

 @{" Acknowledgments " link Acknowledgments}
 @{" Author          " link Author}
 @{" Copyright       " link Copyright}
 @{" Description     " link Description}
 @{" Developer Info  " link Developer}
 @{" Disclaimer      " link Disclaimer}
 @{" Distribution    " link Distribution}
 @{" History         " link History}
 @{" Installation    " link Installation}
 @{" Known problems  " link Problems}
 @{" MagicWB         " link MWBReadMe}
 @{" MUI             " link MUIReadMe}
 @{" Please rate     " link Rate}
 @{" Requirements    " link Requirements}
 @{" Subclasses      " link Subclasses}
 @{" Todo            " link Todo}
 @{" Trademark       " link Trademark}
 @{" WrapGuide       " link WrapGuide}
@ENDNODE

@REMARK -----------------------------------------------------------------------
