Hey all,
Some recent questions on the forum made me wonder what other people use for their GUI's. Do you roll your own? Do you use one you found online? Was it free or did you purchase it?
And what do you use to actually edit your GUI's with? Do you use some editor or do you enter GUI data manually?
I know
@SinisterSoft has started making his own GUI system which looks very flexible. What does everyone else do?
Currently I'm working on my own GUI system (loosely based on Widget Candy) and am also making an editor for it.
EDIT: The latest version of my GUI Editor can be found in this post.
Version 1.0.1
- Fixed some minor issues with exporting the wrong types (oops).
- HScrollBar and VScrollBar are now exported with the same name "ScrollBar) to fit in with my own GUI system.
- When starting, the editor now remembers the last folder it was in.
- Added "Export JSON" feature so you can now export the GUI as a JSON file or LUA source.
Comments
https://deluxepixel.com
Likes: totebo, SinisterSoft
I come from a Flash background, and one of the strengths were the Flash IDE which gives you full manual control of UIs with its built-in editor. I wish there was something like that for Gideros. A simple 9-scale class for buttons and panels would be a start to reduce code, as would a simple animation system for "presenting" a scene and "hiding" a scene (having each individual object appear and disappear individually, rather than a "swipe").
Waffle over.
Likes: simwhi
Likes: antix, totebo
https://deluxepixel.com
@sinistersoft, not for the first time you remind me of your already shared code.
Likes: SinisterSoft, antix
SinisterSoft makes use of meshes in his windowing system. It's pretty cool and maybe I'll adopt such a strategy one day if I ever decide to revamp my own GUI system.
It would be nice to be able to have some standard classes to help speed up the process a bit more.
Likes: antix, rolfpancake
I really have no idea if this will be of any use to anyone at all but here is my attempt at making a GUI Editor. Let me know what you think?
The types of widget that can be created and manipulated in the editor are..
- Window
- Button
- CheckBox
- RadioButton
- TextView
- Panel
- Image
- Label
- Log
- List
- TextInput
- HScrollBar
- VScrollBar
NOTES:
- Its Windows only and runs fine on my laptop which (Windows 8.1 64-bit). sorry, I don't own any apple things
- The editor saves .gui files which are just text files containing multiple encoded JSON objects. In theory you could just use this as data for your GUI system.
- The editor can export data in multiline or singleline mode. It can pad the output however you like.
- Exported data will look familiar to Widget Candy owners. I cannot promise it will work with that system however.
- How you interpret the exported data is up to you, no GUI system is included here.
- Setting a windows textAlign property to left, right, above, or below will cause the caption to not be drawn in the editor. This is because Windows Form Controls cannot render outside their bounding boxes. The property will still export okay.
- During development I discovered that Panels and Labels are essentially the same thing with different names. I have left both in anyway.
- color, alpha, imageRotation, scaleX, and scaleY do not currently have any visible effect in the editor. They can be modified and exported however.
- Backdrop and Atlas settings are not saved.
- I'm sure there are other things I forgot.. If you find something strange just ask :>
Likes: hgy29, keszegh, talis
Likes: antix
https://deluxepixel.com
- Added a Snap To Grid feature to make it easier to align widgets when dragging them about.
- Exported property names can now be mapped. If you wanted to use "LeftEdge" instead of "X", or "numLines" instead of "visibleLines", etc etc. This should make the exported code easier to digest for your own GUI systems.
- Exported properties can now be exported as different types so you can export integers as integers, floats, strings, or even bools. This feature is limited so if your property doesn't get exported as the type you wanted.. it's not possible ~:>
Likes: SinisterSoft, pie
It is the first and till now the only thing I'm missing in the Gideros package.
Likes: keszegh, simwhi, rolfpancake
I have a question: How to change button (label, textinput...) height, it's locked to 48?
Also there are other elements that have locked height or width or both. Is there a way to resize that elements to my custom size (possibility to resize image element and the picture will resize with it)?
Some controls in my GUI editor are locked to certain dimensions because of the way they are rendered (both in the windows application and my Gideros apps). I will have a think about that.
@n1cke is working on a GUI framework that he will be releasing sometime in the future.
Thanks.
1. it would be great to have multiple options to 'stick items' (count coordinate from top-left of parent widget or bittom-left or etc.; also count coordinate in percentage of full width/height of full-coordinate). this needs to be thought over, i wonder if there is any editor around (for other sdks etc.) which allows such thing, i have no experience.
2. and then there should be a possibility to resize the 'screen' in the editor (freely and to some defaults, like gideros player) and then it would be easy to check how the gui we made will show on different windows.
Fragmenter - animated loop machine and IKONOMIKON - the memory game
cols, rows, cellRelW, cellRelH to spilt the screen in a grid, and then define the positions of other layer objects specifying their col and row values.
Grids made with Layout already scale to different resolutions and screen sizes
Likes: vitalitymobile, Apollo14
https://www.humblebundle.com/books/ui-ux-books?hmb_source=humble_home&hmb_medium=product_tile&hmb_campaign=mosaic_section_2_layout_index_1_layout_type_threes_tile_index_2
Fragmenter - animated loop machine and IKONOMIKON - the memory game