Share

MCC TheBar

File Release Notes and Changelog

Release Name: 21.1

Notes:
Short:    TheBar.mcc - The MUI Toolbar custom class
Author:   TheBar.mcc Open Source Team
Uploader: Jens Langner <Jens.Langner@light-speed.de>
Version:  21.1 (20-Jan-07)
Type:     dev/mui
Requires: AmigaOS 3.0+ or MorphOS, MUI 3.8+, 68020+/PPC604e+
Replaces: dev/mui/MCC_TheBar.lha, dev/mui/MCC_TheBarMOS.lha
Architecture: ppc-amigaos >= 4.0.0; m68k-amigaos >= 3.0; ppc-morphos >= 1.4.2

Introduction
~~~~~~~~~~~~
TheBar.mcc is a MUI custom class for management of multiple buttons in a
toolbar-like environment. It allows to group multiple button together, allows
to hide/sleep/disable a specific button as well as send notifications in case
a button was pressed by the user. It features a multitude of different
settings and the majority of these are configurable for the user via the MUI
preferences system.

TheBar.mcc class was originally developed by Alfonso Ranieri. Since November
2005 it was released under the LGPL license and is now freely available and
further developed by an indepdent open source developer group.

TheBar.mcc is available for OS3, OS4 and MorphOS.

The TheBar.mcc class project is hosted on SourceForge. Its project
name is "thebar".

To report bugs use the bug tracker at

http://www.sf.net/projects/thebar/

Manual Installation
~~~~~~~~~~~~~~~~~~~
1) Extract the archive to a temporary directory.

   > cd RAM:
   > lha x MCC_TheBar.lha

2) Go to the "MCC_TheBar/Libs/MUI/<OS>" directory where <OS> is the directory
   matching the operating system you want to install TheBar.mcc for:

   > cd MCC_TheBar/Libs/MUI/AmigaOS4

3) copy all #?.mcc and #?.mcp files found in that <OS> directory to the
   global "MUI:libs/mui/" directory on your system partition:

   > copy #?.mcc MUI:Libs/mui/
   > copy #?.mcp MUI:Libs/mui/

4) reboot and enjoy the new version ;)

History
~~~~~~~
The detailed change log can be found in the ChangeLog file.

         __
        / /
   __  / /   Only Amiga makes it possible...
   \ \/ /
    \__/

Amiga is a trademark of Amiga, Inc.

Changes: 2007-01-20 Jens Langner <Jens.Langner@light-speed.de> * misc: cleaned up certain areas of the sources according to found incompatibilities to the revised docuementation. * doc/MCC_TheBar.doc: updated autodocs to latest changed to the API of TheBar.mcc. 2007-01-16 Jens Langner <Jens.Langner@light-speed.de> * mcc/button: changed the window event handler to also always catch IDCMP_MOUSEBUTTONS to make it possible to catch the qualifier state in HandleEvent(). This should fix a bug where it might have happened that the wrong qualifier spec was active at the time a user pressed on a toolbar button. 2007-01-15 Jens Langner <Jens.Langner@light-speed.de> * mcp/library.c: forgot to define the mcp prefs image. * mcc: for being able to directly use a TheBar object for setting a new notify on a certain attribute change, new MUIM_TheBar_Notify and MUIM_TheBar_KillNotify wrapper methods were added. However both, the old way of first receiving the button object via GetObject and the new more direct and nicer way are supported equally. * button: reworked the overloaded MUIM_Notify method to catch all notifies by signaling the super class to always send all registered notifies to the button object instead of sending it to the destination directly. This allowed to introduce a new private SendNotify method which will generate a proper destination message where a user can now use a new variable (MUIV_TheBar_Qualifier) in their notifies which will automatically be replaced by the currently active qualifiers value when the notify was emitted. This should finally allow to receive key qualifier information with every notify message received. To complete the feature new MUIM_KillNotify and MUIM_KillNotifyObj overloading method were added. * mcc,button: significantly improved the internal button list management to correctly take care of freeing the whole list including their membery during the normal OM_DISPOSE phase of a TheBar object. * misc: bumped VERSION to 21 because of the huge API change. * misc: replaced all copymem() macro uses by direct memcpy() ones. The c-library should be the one to trust here. 2007-01-11 Jens Langner <Jens.Langner@light-speed.de> * misc: fixed all "Appareance" typos to use "Appearance" instead. 2007-01-02 Jens Langner <Jens.Langner@light-speed.de> * misc: updated all copyright notices to 2007. 2006-12-05 Jens Langner <Jens.Langner@light-speed.de> * include/mui/muiundoc.h: added the general muiundoc.h and distributed it's use to all our code instead of having to specify some of the yet undocumented MUI defines throughout our own sources. * mcp: ported the preferences class source code also to our generalized MCC framework and make it compile for all our major three platforms. So now all source code of TheBar should be portable accross all major Amiga platforms and hopefully running there as well :) 2006-12-03 Jens Langner <Jens.Langner@light-speed.de> * button: reworked the whole sources to also fit into the new general MCC framework. Added makefiles for all three major platforms and make the sources compile for all of them. Finally TheButton.mcc seems to work as well. * mcc/Makefile.#?: reworked all makefiles to also compile the TheBarVirt.mcc class on a normal make operation. * mcc, mccv: removed the 'mccv' directory and its whole sources as they were completly identical to the one of the mcc instead of the "#ifdef VIRTUAL" statements. However, there were no real reason to keep two identical copies of the same sources. So they are now unified and the 'mccv' directory completly removed. 2006-12-02 Jens Langner <Jens.Langner@light-speed.de> * mcc: the source do compile for OS3 and MOS again. Also the test application seems to work fine for the moment. So lets see how the MCC behaves with all the demo's included. But we seem to get quite fare for now. * mcc/TheBar-Test.c: fixed the test application to not crash upon exit and also set the PicsDir so that the images are loaded correctly if executed within the respository hierarchy. * mcc: added debugging output to all involved functions so that our further work gets a bit more easier when developing on TheBar.mcc 2006-12-01 Jens Langner <Jens.Langner@light-speed.de> * mcc: some more general cleanup of definitions and used files. * mcc: removed all "register" definitions as there is really no reason to set all kind of variables explicitly as register. The compiler should decide which value to directly put on a register and which not. Just defining every variable "register" doesn't help at all. 2006-11-30 Jens Langner <Jens.Langner@light-speed.de> * mcc/TheBar-Test.c: added new testing application which should allow to directly run tests on TheBar.mcc without having to update the library, reboot and run the tests. Now the testing application will directly link against all MCC modules and as such acts as a standalone application. That might come really handy at some point. 2006-11-29 Jens Langner <Jens.Langner@light-speed.de> * mcc, include: ported MCC sources to the generalized mccheader.c framework and added GNU makefiles for all three mainly supported targets (OS3/OS4/MOS). SAS/C compilation should now be considered obsolete as we want to concentrate on getting everything running with GCC instead. However, please note that the MCC sources just compile and link now. The porting is still largly untested but should soonish end up in a usable state hopefully. * misc: applied latest changes supplied by Alfonso. 2006-11-12 Jens Langner <Jens.Langner@light-speed.de> * converted old CVS repository to sf.net based SVN 2005-11-30 Alfonso Ranieri <alforan@tin.it> * released sources under LGPL at sf.net