FreeDOS DFlat+ Source Reference and ClassChart ============================================== =========================================================================== Enumeration of DFlat+ code, and Class chart (tree) Copyright (C) 2008 by Aitor SANTAMARIA_MERINO aitor.sm@gmail.com Version : 1.00 Last edit: 2007-12-29 (ASM) Size : =========================================================================== DISCLAIMER: THIS MATERIAL IS PROVIDED "AS IS"! USE AT YOUR OWN RISK! NO WARRANTIES, NEITHER EXPRESSED NOR IMPLIED! I cannot be held responsible for any problems caused by use or misuse of the software and/or information! INDEX 1.- Compiling DFlat+ 2.- Source files 3.- Class chart 1.- Compiling DFlat+ ===================== DFlat+ can be dual compiled with either a Borland C (Borland C/C++, TurboC/C++) or the Open Watcom C/C++ compiler. Before you can use the included BUILD utility, you must: 1.- Check that you have either a Borland C/C++ compiler installed, or the OpenWatcom C/C++ compiler installed. 2.- Check that you have a MAKE utility installed (OWC brings one). 3.- Tune the MAKEFILE (DFLATP.MAK or DFLATP.WMK) 4.- Tune the BUILD utility (BUILD.BAT) In order to tune the MAKEFILE, you must edit the initial entries of the file (Programmer Customizable Values section), including paths to where your tools are. For each compiler, the Makefile allows you to include a two-letter library ID, that will help you to have different compilers of the library. The output is the place where the LIB and the corresponding .H files will be created. --- Example: We have a Borland family compiler, we fill in the variables in the makefile like this: # Borland family compiler DRIVE = \borlandc CC = $(DRIVE)\bin\bcc LINKER= $(DRIVE)\bin\tlink LIB = $(DRIVE)\bin\tlib # Placement for the LIBraries, INCludes and BINaries OUTPATH_LIB = \FreeDOS\SOURCE\LIB OUTPATH_INC = \FreeDOS\SOURCE\INC OUTPATH_BIN = \FreeDOS\BIN And at the BUILD.BAT: SET BMAKETOOL=\borlandc\bin\make --- End of example In order to run the makefile we do: BUILD [] or for OWC: BUILD OWC Our makefile will therefore create the following files at C:\FREEDOS\LIB: Case of BorlandC: DFLATPLB.LIB - Main DFlat+ library file DTOOLSLB.LIB - DFlat+ Tools DDNLOGLB.LIB - DFlat+ DEBUG: No log DDLOGLB.LIB - DFlat+ DEBUG: legacy logging DDLOGRLB.LIB - DFlat+ DEBUG: new logger Case of OpenWatcom C/C++: DFLATPLO.LIB - Main DFlat+ library file DTOOLSLO.LIB - DFlat+ Tools DDNLOGLO.LIB - DFlat+ DEBUG: No log DDLOGLO.LIB - DFlat+ DEBUG: legacy logging DDLOGRLO.LIB - DFlat+ DEBUG: new logger and will also create in either case the required include files at C:\FREEDOS\INC: DFLATP.H - DFlat+ API include RESOURCE.H - DFlat+ Resource include DFPTOOLS.H - DFlat+ Tools include KEYS.H - DFlat+ keys naming reference COMMANDS.H - DFlat+ COMMANDs reference CLASSES.H - DFlat+ Classes reference DFLATMSG.H - DFlat+ Message reference DFPCORE.H - Other includes SYSTEM.H PORTAB.H DIALBOX.H MENU.H 2.- SOURCE FILES ================ The following are the source files for DFlat+: Buliding tools: DFLATP.MAK - Makefile for Borland C/C++ DFLATP.WMC - Makefile for OpenWatcom C/C++ BUILD.BAT - Build utility DFlat+ compiling includes: DFPCOMP.H - Main DFlat+ compiling include SYSINT.H - System routines include (internal) VIDEO.H - Video routines include System sources: VIDEO.C - Video adapter interface routines CONSOLE.C - Console interface routines KEYS.C - Keys name strings MOUSE.C - Mouse interface routines User interface sources: MAIN.C - DFlat+ application main entry point hook DFALLOC.C - User Interface allocation MESSAGE.C - Message and event management WINDOW.C - Generic Window routines LISTS.C - Window lists manipulation RECT.C - Window and Rect interoperation MENU.C - Menu routines SYSMENU.C - Window menu COMMDLG.C - Common dialogs: file open/save, display properties, etc. DIRECT.C - Common dialogs helper for directory retrieval CLIPBRD.C - Clipboard routines SYSHELP.C - Help routines installation hook DFlat+ Resources: SYSTEMRS.RS - System resources: system menu, common dialogs, etc. User interface classes (see next section): 3.- CLASSCHART ============== ------------- | NORMAL | | (normal.c)| ------------- | /--------------------------------------------------------\ | | | | | ------------- -------------- ------------- ---------- ------------- |TEXTBOX | | APPLICATION| | MENUBAR | | BOX | |DIALOG | |(textbox.c)| |(applicat.c)| |(menubar.c)| |(box.c) | |(dialbox.c)| ------------- -------------- ------------- ---------- ------------- | | |---------------------------\ /-------------------------\ | | | | | | --------------- ------------ ------------- -------------- | | PICTUREBOX | | BUTTON | |ERRORBOX | |MESSAGEBOX | | |(pictbox.c) | |(button.c)| |(msgbox.c) | |(msgbox.c) | | --------------- ------------ ------------- -------------- | /-----------------------------------------------------------------------\ | | | | | | ------------- ---------- ------------- -------------- ------------- ------------ |LISTBOX | |TEXT | |RADIOBUTTON| |CHECKBOX | |STATUSBAR | |EDITBOX | |(listbox.c)| |(text.c)| |(radio.c) | |(checkbox.c)| |(statbar.c)| |(editbox.c| ------------- ---------- ------------- -------------- ------------- |search.c) | | ------------ /--------------------\ | ------------- -------------- --------------- |POPDOWNMENU| |SPINBUTTON | |COMBOBOX | |(popdown.c)| |(spinbutt.c)| |(combobox.c) | ------------- -------------- --------------- (Inproper classes: DUMMY, TITLEBAR, HELPBOX)