Category: MonkeyStyler

News and updates about MonkeyStyler

MonkeyStyler Build 12: Component Palette

MonkeyStyler build 12 is now available. The main change is a new component palette, ver much like you’re used to in Delphi. Search (except in the XE2 edition), select and click on the components tree or control preview to add a new component. You can also use drag and drop.

Other improvements are drag and drop support in the components tree and a fix for a bug which caused errors at startup on computers where the regional settings for a decimal separator where not a period (.).

Full changelist
Added: Component palette with search and highlighting of search terms.
(Note search is unavailable in XE2 due to treeview issues.
Added: Select component on Palette and click on Component Tree of Viewer to add it.
Fixed: Editing StyleName property caused editor to lose focus.
Fixed: Work around for effects not updating in Control Viewer (QC 110506).
Added: Drag/drop support to the components tree.
Fixed: Errors at start up if decimal separator was a comma in users regional settings.

File Management in MonkeyStyler

A quick video of file management features in MonkeyStyler

MonkeyStyler Build 10

MonkeyStyler Builds 9 and 10 have been released.

Build 9 brings a big update to the Control Viewer to add a selection rectangle for the currently selected component. Components can be selected by clicking (select topmost), double clicking (select next component down (XE3 edition only)) or right clicking to show a full list of components under the mouse cursor. The selected component can also be dragged and resized (depending on Align property settings).

The Control Viewer should also handle sizing of elements which aren’t constrained within the bounds of the root component. This can be an issue with styles supplied with TMS components.

Build 10 is a quick update to some AVs which may have been experienced with unnamed (new) files. It also adds auto-resizing of the combo boxes on the toolbar (blog post coming soon).


Full changelists

5/11/12 - 10
Fixed: Errors when using untitled or read only files.
Added: Combo boxes on toolbar resize to their contents.

3/11/12 - 9
Fixed: Unregistered version not showing icon on taskbar.
Fixed: Control Viewer now sizes appropriately when sub-components are outside the bounds of the element.
Fixed: File open dialog remember a previous folder incorrectly.
Added: Control Viewer size reflects margins, padding and controls outside the root components client area.
Added: Show selection rectangles for current component.
Added: Drag selection to move/resize components.
Added: Click on Control Viewer to select item under mouse/Double click to select parent component.
Added: Control Viewer has right-click menu which shows all components under the pointer to select from.

MonkeyStyler Released

MonkeyStyler is now available for download and for sale. Full product details. The initial release supports XE2 editions of Delphi, C++ Builder and RAD Studio. I will now work to get an XE3 edition ready as soon as possible. All purchases come with twelve months free updates so the XE3 edition will come as a free update for all buyers.

I would also point out that this is only the first of many releases. There’s still a lot of basic functionality to be added as well as some cool new features. If there’s anything you’d like to see included, or modified, please let me know using any of my contact methods.

This release is Build 7. The full changelist is:

Fixed issue with property editor forms not taking focus properly.
Fixed issue with ComboBoxes on property editor forms causing MS to lock up.
Changed: Removed use of TAutoEditor property editor (for TPosition and TBounds).
Fixed: Files are no longer continuously auto-saved (Apply Styles bug).
Fixed: Apply Styles client is now protected from access violations.
Improved: Handling of open popups when losing focus.
Fixed: Issues with property editor popups not closing properly or returning focus to the edit control.
Added support for trial evaluation period and activation.

MonkeyStyler Build 6 Beta

This update fixes a major startup issue with build 5.

Starting with an empty file list would cause an AV. (Or indeed, emptying the file list at any time).

This combined with the new setting data format, which meant that every user would be starting with an empty file file.

I can only apologise for not testing well enough.

Also in this update you get a draft implementation of the ‘live’ version of the apply styles feature. If you’re running the beta, have a play with it - it’s fun - even though there’s still some issues to be worked out. Go here to read more about ‘apply styles’.

MonkeyStyler Build 5 Beta

Lots of miscellaneous improvements with this edition, including a major re-arrange of the interface with the addition of a main toolbar and extra main menu items for elements and components.

Full changelist

Fixed: Property values not being cropped to significant digits figure from Config file.
Fixed issues with config.txt and objects which where sub-properties.
Added: Editors for TGradient sub-properties.
Added: TAutoEditor (auto-generated property editor for multiple properties).
Fix: Clicking property name (or expand/contract icon) in property grid no longer shows property editor.
Fix: Components drop down in Control Preview would ignore clicks on the drop down arrow.
Fix: stack overflow editing colours via the ColorEditor.
Fix: RGBEditor values update when checking/unchecking Hex setting.
Fix: Remove from comonent selector classes which don’t descent from TFMXObject (and where causing AVs).
Improved: Moved button bar for components to above the components drop-down.
Improved: Components can now be selected via the Control Preview drop-down.
Added: global settings data.
Rewrite: Storage for open files metadata and save format (open files from previous builds will be forgotten).
Added: Currently open file is remembered between sessions.
Improved: Property editors are now demand loaded with great speed increases when adding new cells to the property edit grid (including selecting elements). Some performance impact when showing an editor for the first time.
Fix: AV when ‘Apply Styles’ in MS due to Stylebook property of child forms not being cleared.
Added main toolbar for files, elements and apply styles.
Added main menus for elements and components.
Restyling of toolbars/various styling tidy ups.

MonkeyStyler Build 4 beta

Build 4 beta is now available. Chief changes are improvements to property editors and property editor styling.

Full change list:
Fixed: GradientPointsEditor text values update when gradient points are selected (Update 4 bug? ColorPanel.OnChange is no longer called when value is set programmatically).
Fixed: Added editor for TControl.Position.*
Fixed: R and B values where swapped in text fields of GradientPointsEditor.
Added: Text entry for ColorEditor.
Fixed: GradientPointsEditor gradient updates when changing text fields.
Fixed: Files other than current one not being saved on SaveAll or Close.
Fixed: Alpha value (text edit) updates properly when selecting gradient points (FMX bug workaround).
Added: Property editor styling is slightly better.

MonkeyStyler Build 3 Beta

This build adds the ability to create a link to your application and have the styles within it updated with a single click. Read more about this in the wiki.

The full list of changes for this update:
Added: ‘Apply’ styles: One click to modify the style of a running FireMonkey application
Added EurekaLog error handling (some bugs with EL and FMX).

Call for Beta Testers

MonkeyStyler is almost ready ... or at least almost ready for it’s debut. There’s still to do: fleshing out some areas of the product (i.e. property editors); one or two features still to be added; A few minor touches which really need to be added; And a whole load of wonderful time saving features to be added after public release.

But MonkeyStyler is feature complete enough to have a beta release. I’m now working on the installer and those other little bits needed by a public product.

If you want to be among the first to try MonkeyStyler out you need to act now. I need a small number of volunteers for the beta test. If you’re interested, drop me an email to Remember places are limited.



MonkeyStyler Preview Screenshots

MonkeyStyler is my stand alone FireMonkey style designer. I’ve spent the last week or so making it look presentable, and here are the first screenshots. Please note that this is still ‘alpha’ software and much is planned to change, in terms of visuals, usabality and functionality.

So, here’s the complete screenshot.

File and Element Manager
Lets deal with each area individually. First the file and element manager.

You can load a number of files at once, create new files, close and save open ones, and switch between files. The ability to have multiple files open means you can easily copy style elements between them (or indeed copy a style element within a file to create a duplicate).

(Note that I refer to individual elements within a style file as style elements or just elements. Hence the ‘buttonstyle’ for a TButton is one element, ‘checkboxstyle’ another and so on).

The element manager lists all available elements within the currently selected file and enables you to copy elements within and between files (as described above), create, delete and rename elements.

And, of course select elements, which shows the selected element in the control viewer:

Control Viewer

The control viewer shows a live preview of your style. Note here that you’re not actually looking at a TButton. You’re seeing the components which make up the style for one. You can’t actually interact with it (eg. mouseovers, clicks etc. do nothing), but the Components button shows the drop down shown in the screenshot.

With this components drop-down you can see which components make up a style. You can also show and hide individual components by checking or clearing the relevant check box. This is a great way to see how a style is actually made up.

A neat feature is that the check boxes for animations and effects run the animation or effect. Have an animation which takes a second to run and you will see it running for a second in the preview. In other words, while the preview may not be an actual control, all the components (and animations and effects) which make it up are ‘live’ and working. An animation which is set to loop will be constantly running and looping in the preview.

Property Editor

And finally, we come to the property editor. This should all look pretty familiar from Delphi/C++ Builder. Use the drop down to select which component within the element to edit and it’s properties will be displayed. Sub-properties can be expanded and edited as you would expect.

As for editing properties there is one feature you’ll notice immediately: all edits are live. Start typing into a ‘Text’ property and the text on the control preview will change live as you type. Adjust the width, alignment or cornerstyle (or anything else) and the preview will update immediately, and without the need to hit enter, or otherwise tab away from the editor.

Another useful feature is the drop-down property editors. Edit a numeric property and you’ll see a slider appear, for a color or gradient property you’ll get a drop down color or gradient editor and so on. And these are also live: you’ll see preview control change live as you drag the slider, adjust colors or edit the gradient. There’s no modal dialog. No need to hit enter. You get instant feedback and quickly get the values you want. (And even if you have a drop down editor, you are still free to type in/cut and paste values if you want).

You also get:
A button which brings down a menu for adding/editing animations;
No nasty modal error messages. Set an illegal value and you’ll get a drop-down error message which simply clears as you keep typing;
Buttons to add and delete components.

And, like I said, much will change, much will improve and much will be added.