Client side scripting with uniGUI
One of the exciting new features in version 0.86 is ability to write client side JavaScript event handlers from within Delphi IDE. Each uniGUI control is attached to an Ext JS control. In some cases there are more than one Ext JS controls for a uniGUI control. For example a TUniForm is a combination of an ext.Window and an ext.form.FormPanel.
Migration to version 0.86
As we discussed earlier versions 0.85 and 0.86 will be new milestones for uniGUI library. They will introduce new framework core which brings lots of architectural changes and improvements.
Here is a brief list of these changes:
- All controls will be descendant of a common root opposed to previous releases where each Control had a different ancestor.
- Only implemented properties and events are published. This will avoid confusion in previous versions where lots of public and published features in VCL mode were not implemented in Web mode.
- Class types no longer change among Web and VCL. Now TUniButton is always a TUniButton regardless of the displayed mode.
- In event handlers Sender parameter will always contain correct class type.
- As a result of above changes you can safely use as and is operators.
- Advanced client side event scripting.
- Extended Server side event handling for click and mouse events.
Version 0.86 is available
After a long intermission a new version of uniGUI framework is available for public download. Version 0.86 can be considered as a new milestone for uniGUI framwork.
It introduces many new features and enhancements:
- Completely renewed and redesigned framework core.
- Extended server side event handling for Click and mouse events.
- HTTP Compression
- Advanced client side event scripting.
- Interaction between client side Ext JS components and JavaScript code.
- Advanced IDE editor to add and edit JavaScript handlers for Ext JS controls
- Directly fire Ajax requests from JS code.
- Ability to access Ext JS controls from JS code using their Delphi names.
- Ability to monitor Ajax calls on client side.
- Ability to send JavaScript code or custom strings as response to an Ajax request.
- Server side mouse and click event handlers added for additional uniGUI controls.
- Extended client side mouse and click event handling support for Ext JS controls.
- New Calendar Panel component
- New demos
- Many bug fixes, other improvements and other new features.
Another update for 0.84
Current Version: 0.84.5.836
Changes:
0.84.5.836
+----------------------------------------------------------------------------------------
- 0000870: TUniSpinEdit: OnChange event
- 0000927: UniDBDateTimePicker: Value change in VCL mode doesn't set Edit mode
- 0000926: UniDBGrid: DataSet changes aren't reflected when DisableControls is called
- 0000915: TUniTreeNode: GetFirstChild, GetLastChild methods.
- 0000913: TUniTreeNode.Count property
- 0000925: TUniImage: OnClick, OnMouseDown, OnMouseUp
- 0000924: Invalid string constant on line XXX error
- 0000923: Add JSON to default mime types.
- 0000921: UniDateTimePicker: Visible bug
Update for 0.84
Current Version: 0.84.4.835
Changes:
0.84.4.835
+----------------------------------------------------------------------------------------
- 0000920: Bug when ScreenMask is attached to a UniDBGrid
- 0000919: TUniStatusPanel: Alignment
- 0000909: Cookies are not populated in MainModule.Create
- 0000912: DBControls: Displayed field value is not restored after exception is raised during an Insert/Append operation
- 0000916: Cookies are not saved if application terminated/restarted.
Version 0.84.3 is available
This is the last build of version 0.84 which is eventually available for public download.
New in this version:
- TUniCanvas, TUniScorllBox, TUniDBDateTimePicker and TUniDBCheckBox components
- VCL Interface for Cookie management
- New demos: PaintDemo, CanvasDemo, Cookies Demo
There are also lots of bug fixes and improvements in this new version.
Another update for 0.83
Current version updated to 0.83.5.820
Changes:
0.83.5.820
+----------------------------------------------------------------------------------------
- 0000796: DBGrid: Render bug when Column color is clWindow and project is created with 0.82
- 0000795: Grid: Cell background color change poor render performance
- 0000791: UniDBGrid, UniStringGrid: Option to disable custom renderer to speed-up render time.
Important fixes for 0.83
Current version updated to 0.83.4.819
Changes:
0.83.4.819
+----------------------------------------------------------------------------------------
- 0000789: UniDBComboBox, UniDBListBox: Edit mode is not set when changed
- 0000784: TUniStringGrid: Data not restored after decreasing/increasing Row count
- 0000788: Bug in Grid Row/Col translation
- 0000787: UniDBGrid: Broken CellSelect behavior
- 0000786: MessageDlg and mtInformation bug.
Version 0.83.2 is available
Main focus of this new version is mainly bug fixes. There are also some important new features such as DrawCell event for Grid components.
After compiling your apps with this new version you need to re-deploy the ext js folder to servers running uniGUI apps. (ext-3.3.0 folder for this version).
Note: ColorButton.dcu is no longer included in the package, so you may need to remove it from existing project units Uses list.
Roadmap for uniGUI 1.0.0
First of all, I want to thank to everyone who have downloaded, tested, sent bugs, expressed new ideas and sent feedback. Now many developers who are interested in uniGUI are wondering about the future of this project and demand a timing schedule for the non-beta release. In this regard, in following roadmap I will try to answer some of these questions and enable developers to have a better view regarding future of this project. While I will try to be as accurate as I can, scheduled release time and other proposed features may slightly change.