After more then 4 years of development I’m really near to a release of the ScuiLib successor: HGui.
I’m posting this news and creating this page to check out how much interest could be in a commercial release, and if there is enough interest I will start to write tutorials and a comprehensive developer guide for people who will decide to support this project. Writing docs is a big job because the library offer many features and documenting all the stuff supported will require a lot of work. Along with the docs and tutorials I will offer support through e-mail or through forum and of course bug fixing.
I’d like to release HGui in two versions:
- Hollywood applet + tutorials + developer guide.
- Hollywood source code + tutorials + developer guide.
Along with the HGui library you will get additional libraries required by HGui that could be useful for you and your projects.
Prices will be defined later depending on how much feedback and interest will be around this project.
CURRENT DEVELOPMENT STATE
At the current state HGui is usable and stable, I’m using it for various projects, you can check and test by yourself with the provided demo at the end of this post.
I need to complete some planned features and a couple of missing classes. I’ve also to fix some small bugs.
- Object Oriented Programming
- Flexible and multi-layered skin system
- Easy of use
- Scalable (tuning the cache system and the theme)
Since HGui does not depend on any system specific command/library all developed projects can be compiled for any system supported by Hollywood, your GUIs will be the same on every platform, exactly the same.
- Each window you create supports the following events:
- User definable minimum and maximum sizes
- Automatic control of the window’s order
- Methods to control/edit on the fly the created windows
- Various background type supported
- Special windows to build up quickly progress indicator and/or messages for long operations.
- Window’s menu (not the ones available with Hollywood but a custom one that allow you to include any gadget type into it.
- Functions to find window objects by name, by Hollywood ID, and to check if a window exists or not.
- Ability to attach hotkeys to any window to execute specific tasks when a keypress occurs.
- Supported gadget classes
- Vertical Divider
- Horizontal Divider
- Group (Generic, Radio, Check)
- Scrollbar (Vertical/Horizontal)
- Slider (Vertical/Horizontal)
- Text (for user input)
- Virtual Area
- Planned gadget classes
- Ability to switch the cache system on or off
- On: each gadget state will be cached, faster but more memory required
- Off: each gadget state will be rendered directly, slower but with a lower memory footprint.
- Each gadget can be skinned individually
- Each gadget class can be skinned globally
- Support for icons inside gadgets with custom alignment and text adjustment
- Flying tips for some gadgets
- Sounds on some actions (OnOver, OnOut, OnPushed, OnDown)
- Supported actions:
- Some classes can have additional actions
- Functions to search buttons by their names
- Methods to control and modify on the fly existing gadgets
- Gadgets drag and drop (planned)
- Ability to attach a right-mouse action or a pop up menu (planned)
- Gadgets can be arranged using the MUI concept, you define some gadgets that will be grouped inside another gadget, this way your GUI is represented by a tree where the tree root is a special gadget called ‘rootGadget’ already created for you when a window is created.
- Supported layout are:
- When you define child gadgets you can define the following properties:
- Gadget weights (percentual variable, percentual fixed, pixel variable, pixel fixed)
- Borders (top, bottom, left, right) from the father gadget
- Gap between childs in pixel
WHAT’S MISSING/NEED MORE LOVE
- Some little glitches to be fixed
- Keyboard navigation system
- Gadget’s hotkeys
- Gadget’s drag & drop
- ListView/TreeView column resize using the mouse
- Tabs class
- Spin class
- Global theme management functions are not completed
- Support for XML Gui definition
Below you can find some screenshots of HGui in action and a demo that show all supported classes in action for every supported platform.
Just download the version you want to try along with the directory .
MacOS users does not need the resource folder because it’s already included in the .app drawer.
I really hope that this work will help Hollywood to get even more users and more applications, I also hope to get some feedback from you despite my English!
Please let me know if you have problems with the demo or if you notice some bugs.
Do not forget to say if you are interested in a commercial release as I’ve explained at the beginning of this post.
Feel free to post your thoughts in the comments!