Short: 021015 New, Powerful and Standalone OOP GUI System Uploader: lotan9@aol.com Author: Olivier Laviale - lotan9@aol.com Type: dev/gui After an Intuition comes a Feelin. -- FEELIN ITSELF ------------------------------------------------------------ First of all Feelin is a standalone Object Oriented System written from scratch, with its own memory management, ressource tracking, servers, class tree... Feelin is also a complete and independant system to create and maintain graphical user interfaces. The GUI system is only one of the many possible application of Feelin. Feelin (as an Object Oriented GUI) doesn't use MUI, BOOPSI, GadTools, not even intuition gadgets. The Feelin system is made of a library (6 Ko) and a server (9 Ko). All classes, except FC_Server, FC_Object, FC_Family and FC_Tool are available as external libraries. Actually, there are classes to create clients, windows, areas, groups, menus... and muchmore. Feelin is very small and fast. It is completely expandable by adding external libraries or writting custom classes within your programs. Feelin (as an OOG) is very similar to MUI as every pixel of the application is configurable. -- EXAMPLES ----------------------------------------------------------------- Most examples are written in E, some in C. I hope C users will not blame me. But executable are also supplied so... The examples are mainly used for testing. But there are also some tutorials on how to write custom classes and so. I also included in this release the sources of FC_Bar, FC_Text and FC_Shade classes. -- HISTORY ------------------------------------------------------------------ CHANGES SINCE RELEASE 020407 -- Complete C support --------------------------------------------------- It is now possible to create application, custom classes (within applications) or even external classes (libraries) very easyly. -- Own Memory Management System ----------------------------------------- Now Feelin uses its very own memory management system, similar to Exec Pools. Feelin memory system is faster, easier to use (the function that free your memory only need a pointer to that memory, no pool header nor allocation size) and abolutely bullet proof (it is impossible to free a block that does not exists). -- Classes -------------------------------------------------------------- Each class has its own memory pool from which objects are allocated. -- Servers -------------------------------------------------------------- Servers are a new concept introduced by feelin.library v4. A server is a simple task with a semaphore. The semaphore is used to invoke methods on the server (as any object), the task is used to always accomplish job on a same process e.g. Libraries opened and closed by the SystemServer are always handled by the SystemServer's process. The WindowServer uses its task to handle intuition events (all window uses WindowServer's port as IDCMP port). -- Misc ----------------------------------------------------------------- Objects coordinates are no longer described by a struct FS_Rect (x1,y1,x2,y2) but a struct FS_Box (x,y,w,h). Coordinates macros have been updated. -- feelin.library 4.28 -------------------------------------------------- The function F_CreateClass() has been rewritten and is no longer compatible with the old one. F_CreateClassA() uses a taglist to create a class and no longer registered arguments. The function F_ModifyHandler() has been removed and replaced by the method FM_ModifyHandler of the FC_Area. -- FC_Window 6.64 ------------------------------------------------------- The drag & drop is momently suppressed. -- FC_Client 5.00 ------------------------------------------------------- The new method FM_Client_Run replace the old loop: WHILE F_DoA(c,FM_Client_WaitEvent) <> FV_Client_Remove Preferences are now handled, each application can have is own look and feel. Objects can import / export data. Two Dataspace objects are created for this purpose, one is dedicated to the GUI and the other to datas of the objects -- FC_Area 3.24 --------------------------------------------------------- The FM_ModifyHandler replaces the feelin.library function F_ModifyHandler(). -- FC_DisplayContext 2.00 & DisplayServer 1.00 -------------------------- The class FC_DisplayContext has been broken in two. The new server DisplayServer manages Displays (like screens) and includes the new class FC_Display. DisplayContext objects use references to Display objects, but DisplayContext manage their own color scheme, this way each application can have its own color scheme on a same Display. -- FC_Slider 1.48 ------------------------------------------------------- An external object can now be used as knob. This object is used as a child, it will be disposed when the slider object is disposed. -- FC_FrameDisplay 1.10 ------------------------------------------------- This new class handles many graphical tasks that were previously handled by FC_Area (background, filling, frame...). The title of the frame can be in the top border as in the bottom border, centered, on the left or on the right. -- FC_Group 6.80 -------------------------------------------------------- If the attribute FA_FillArea is set to TRUE, a complex method is used to fill damaged regions, instead of filling the whole region. -- FC_Balance 1.10 ------------------------------------------------------ This class is very simple and allow the user to dynamically change the weight of objects in the same group. Balance objects uses the method FM_Show & FM_Hide to save objects' weight. -- LAST WORDS --------------------------------------------------------------- This was big work for me little programmer. I hope you'll like it and wanna join me. I hope some comments. Thanks again and never forget : Don't be tempted by the shinny appel Don't you eat of a bitter fruit Hunger only for a word of justice Hunger only for a word of truth 'Cause all that you have is your sool