GuiDes main goal is to provide a free software tool for
easily creating GUI for Harbour on Windows 32-bit systems
using MiniGUI.
There is plenty of things to do to:
Make GuiDes become a fully-featured MiniGUI visual
form-designer, which includes supporting the whole MiniGUI
functionality
Future goals may eventually include:
Support for other Harbour-Windows GUI libraries such as HwGUI
Automatically generated controls from database fields
Windows can be saved to and retrieved from human-readable files
Highly customizable controls's default appearance. Groups of user preferences can be saved for homogeneous application design.
MiniGUI syntax-compliant code generation
File Editor for text file contents visualization and one-file program compilation
Development status
GuiDes is in a very early stage of development and may be buggy and inefficient.
So far, GuiDes has been developed using Harbour, MiniGUI and some C.
License
GuiDes is licensed under the General Public
License (GPL).
This means that GuiDes source code is covered by the GPL but
it doesn't make GuiDes output files to be covered by the GPL
(regarding an
explanation on the GNU web site).
Screenshots
Looking at this screenshot you will have an idea of how GuiDes
looks like.
At the present time there is only one makefile included, which is GUIDES.BC
for Borland's
C Compiler.
To Do
* BUGS and necessary enhancements:
* Add missing MiniGUI controls: RICHEDITBOX, TAB, etc.
* Check and support missing clauses for already supported controls (e.g.: tree's NODEIMAGES)
* Change ID text in OI ControlSelector at ID change.
* gWindow:Load method should intercept errors
* gTextEditor (G_INSPEC.PRG) shouldt prevent opening files larger than EDITBOX's maximum text size
* AUTOSIZE option should not be used when loading windows, as control's saved WIDTH and HEIGHT
should be used. AUTOSIZE should only be used at window creation.
* Add whether WINDOW SELECTOR, CONTROL SELECTOR, PROPERTIES INSPECTOR should be shown at GUIDES'S
start up, to GUYIDES.INI
* Add a TOOL to change control order (i.e. order of tab KEY navigation)
* Possible enhancements:
* Ask control caption at control creation. This could be used together with AUTOSIZE feature.
* When no BACKCOLOR for controls is selected in PREFERENCES WINDOW, use TRANSPARENT if available
* Same for Windows
* Save "Last Used styled" in GUIDES.INI and use it at Guides start up
* Allow running external applications and create a favourite external applications menu
* Add "Available memory" window
* Add UNDO/REDO system
* Write better help system
* Check whether control NAME is necessary in CONTROL SELECTOR window, and eliminate it if not
* Decide whether window NAME is necessary in WINDOW SELECTOR window, and eliminate it if not
* Control movement: On window GOTFOCUS don't move widget if window didn't have focus previously
* HBPRINTER support:
* Create a new class, inherited from gWindow, for HBPRINTER design support.
* That "window"'s properties should accpet page size selection, resolution and so on
* ARRAY EDITOR
* Create an ARRAY EDITOR to help in array creation (e.g. for BROWSE controls headers creation),
a BROWSE or GRID control could be used for that.
* GWindow:
* Fix 8-elements-array font handling. Default font mechanism must must be implemented
* rL ORDEN DE LAS CLAUSULAS DE window HA CAMBIADO
* Add NOAUTORELEASE CLAUSE to Windows
* Change syntax to DEFINE style
* DBTOOL:
* gControl: Change ::AddfromDB method's name (a properer name should be used)
* BUG: CONTROL SELECTOR's IDs are not the real ones after field addition
* Make code creation options available from DBTOOL window instead being available in PREFERENCES
WINDOW Code tab.
* Suggest an ALIAS text by default
* VALUE clause should't be saved.
* Add TOOLTIPs to automatically generated controls
* Allow window closing throug title bar close button
* G_CODE:
* Preferences Window/Code Tab: Allow using TAB (CHR(10)) instead of spaces in MiniGUI code creation.
* Preferences Window/Code Tab: Allow user preferred type of quotes in MinGUI code creation
(single quotes, double quotes)
* G_WINDOW:
* Add SPLITCHILD windows code creation support
* Think about using virtual dimensions to ease bigger windows creation
* MenuEditor:
* Add element up and down moving support
* Add StatusBar creation support
Author
Currently, main GuiDes author is me. My name is
Carlos Andrés and you can contact me at (use "Guides" as subject, please). I will appreciate your suggestions and comments. For questions
related to MiniGUI please refer them to MiniGUI
author.
Credits
Of course, I must thank specially Roberto López
for being MiniGUI creator, for giving me support and advice and for
including some of my suggestions in MiniGUI that are making GuiDes
development easier.
Janusz Pora has helped with the help system, I am also grateful to
him.
I am greatly indebted to all Harbour developers and
many Harbour users for their support and their great work. They are many to
mention all of them.
Changelog
2004/02/29 Release 0.3 published
Fixed: Windows NOSIZE clause not included in code generation when selected
Changed: PICTURED property changed to HASPICTURE in BUTTON and CHECKBUTTON controls.
This property allows to select whether a BUTTON or CHECKBUTTON will show image or text.
PICTURENAME property specifies what will be the content of the PICTURE clause if HASPICTURE property is set to TRUE.
Changed: MenuEditor has been enhanced for easier TREE creation
New: Control creation from DBF file. Labels, Textboxes, Checkboxes and Editboxes can be automatically created
from selected database files. "Refresh" and "Save" functions code can be automatically generated.
New: Guides "remembers" which directory has every window been loaded from or saved to last time
and suggests it next time "Save Window" is called.
New: Recently saved windows are available from File Menu
New: AUTOSIZE available at Control (LABEL, HYPERLINK) creation. (Option in Preferences Window)
New: Window Font. You can choose to omit FONT clauses for controls when same as in parent window
(option in Preferences window). This is not working properly
New: Support for 8-elements font arrays.
New: GuiDes version is saved in every form file (FRM). This is used to prevent possible compatibility
problems.
New: One-file compilation is available from GuiDes Text Editor. See "Compilation" tab in "Preferences"
window for customization.
New: HYPERLINK control added.
New: BREAK, NOVSCROLL, EDIT and APPEND clauses available for BROWSE controls
New: BACKCOLOR, FONTCOLOR and TRANSPARENT clauses available for CHECKBOX controls
New: TRANSPARENT clause available for button and LABEL controls
New: ONCHANGE, VALUE clauses available for CHECKBUTTON controls
New: TEXTBOX clauses: FONTCOLOR, BACKCOLOR, FORMAT, FIELD
New: FIELD clause available for CHECKBOX and EDITBOX controls
New: Some HBPRINTER support started. A new "PRINT" control has been added. It is like a label but
it will generate HBPRINTER code if its parent window type is set to "PRINTABLE"
(instead of MAIN, CHILD, etc.)
2003/09/19: Release 0.2 published: Among others these are the new changes:
Fixed: Adapted to compile with HMG (MiniGUI) 1.0 BETA 6
Fixed: GuiDes can detect now the path where it has been installed (without saving
any information in the registry). Therefore some bugs related to files not
found (especially "GUIDES.HLP") should be fixed now.
Fixed: A bug that made CONTROL'S defined events to be quoted in MiniGUI export.
Fixed: A bug that made ITEMS property in LISTBOX controls to be non-editable.
Fixed: A bug that made VALUE property not to be included in MiniGUI output.
Fixed: A bug that made controls "OF" clause to refer to GuiDes internal-window-name instead of
user-defined window ID.
Fixed: A bug that made loaded windows's names to be conflict with existing windows's names. Now, NAME
property is always assigned automatically by Guides as it exists just for internal
purposes.
Changed: GuiDes main window toolbar. Now it uses icons and tooltips.
Changed: "Project folder" is now in "GuiDes" tab.
Changed: Some labels in Preferences window are now clickable to access to property change
and thus some buttons have been removed.
Changed: Window "mode" in window's properties: Now you can choose from MAIN, CHILD, MODAL
and SPLITCHILD (SPLITCHILD is not working yet). (No separate checkbox for MODAL option)
Changed: Combobox default size is now "bigger".
Changed: "Minimize All Windows" has been moved to "View" menu.
"Maximize All Windows" replaced by "Restore All Windows".
Changed: Object Inspector has been replaced by three windows: Control Selector, WIndow Selector and
Property Inspector. Control and Window Selector can be used to select Controls or Windows.
Changed: Styles (i.e. groups of preferences) are no longer saved into a database.
Instead they are saved as separate INI-format files.
Changed: Several look improvements.
Changed: Dragging controls is now possible because of faster control repositioning
New: ON SCROLLLEFT, ON SCROLLRIGHT, ON SCROLLUP, ON SCROLLDOWN,
ON HSCROLLBOX, ON VSCROLLBOX events for windows and VIRTUAL WIDTH/ VIRTUAL HEIGHT properties
New: Customization file (GUIDES.INI) automatically saves floating windows positions,
New: TAB spaces can be set for output code to suit your code style.
New: Preferences now include "Automatically inspect exported minigui code" and
"Ask window properties on window creation".
New: Window/control selector (formerly known as Object Selector) has been split
in two: Window selector and Control Selector and separated from Properties Inspector.
Thus, improved control and window selection has been added.
New: A new TOOLBAR has been added which replaces "Tools" floating window.
New: GRID information on STATUSBAR. Clickable.
New: TIMER control added.
2003/03/16: Release 0.13 published:
Fixed: A bug that made the program crash when moving a
BROWSE control after having saved a style.
Fixed: A bug in converting BACKCOLOR and FONTCOLOR to
MIniGUI new syntax. Fixed by Grigory Filatov.
Fixed: FRAME control MiniGUI code. Fixed by Grigory
Filatov.
Changed: FRAME control default size is bigger. Changed
by Grigory Filatov.
Changed: Smaller toolbar icons. Contributed by Grigory
Filatov.
Added: MenuEditor is working.. It is useful for
creating Main Menu, Notify Menu and Context Menu for windows. It is also
used for editing the contents of a TREE control.
Added: GuiDes help has more and better
explanations.
2003/03/05: Release 0.12 published:
Changed: GuiDes has been adapted to compile with
MiniGUI release 60.
Fixed: A bug that made label BACKCOLOR and FONTCOLOR
properties not to be properly retrieved from FRM files.
Fixed: Property Edition bugs. Fixed by Grigory
Filatov.
Fixed: GPF when double-clicking an empty cell on the
Object Inspector
Fixed: A bug that made impossible to add controls to a
window that has been loaded from a file.
Changed: BACKCOLOR and FONTCOLOR properties in
Exported MiniGUI files, to adapt them to release 60.
Changed: BMP and ICO are now included in GUIDES.EXE,
through resource file compilation. Contributed by Grigory Filatov.
Changed: WINDOW default ROW and COL values are now
0.
Changed: The way GuiDes deals with colors (a color is
a number between 0 and (2^24)-1). This effects how colors are saved in
FRM files. GUIDES.DBF structure has been adapted to this.
Changed: The way arrays are saved in FRM files (FONT
properties). You wil NOT be able to load previously saved windows unless
you by hand change your FRM files. I suggest you FIRSTLY create some
sample FRM files to see how FONTCOLOR, BACKCOLOR and FONT properties are
now saved. You will NOT be able to use GUIDES.DBF created by a previous
version of GuiDes.
Changed: GUIDES.BC. You can change how GUIDES.BC
points your BCC55 root directory from a single line.
Changed: GuiDes release number appears now on GuiDes
main window title.
Changed: G_INSPEC.PRG to separate File Inspector
behavior.
Changed: Control ID appear now on the object Inspector
top box.
Changed: Window properties edition window.
Added: Source distribution includes CHANGLOG.TXT and
TODO.TXT.
Added: Windows can be saved as XML. This is
experimental. A DTD and way to parse and retrieve XML files should be
implemented.
Added: MenuEditor for editing Menus and Trees. This is
not fully developed yet, so it is not usable for retrievable menu
creation. You can try it and see how it looks like by clicking on the
statusbar items that appears on every window you create.
Added: ID Property to gWINDOW. This allows to specify
a Window ID different from GuiDes internal name.
Added: Tree control. Tree contents cannot be edited as
MenuEditor is not finished.
Added: FileEditor. This is not fully developed either,
so I suggest you don't even try it until it is finished. You can find it
in the File menu, named Edit File
2003/02/23: Release 0.11 is published.
This new release has been adapted to compile with MiniGUI Release 59.
No new features have been added except the new clauses for BUTTON and
COMBOBOX.