Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.

MUI/Zune GUI Builder

Last updated on 6 months ago
M
miker1264Software Dev
Posted 6 months ago
For some time now I've been trying to figure out the best and easiest way to build an MUI user interface. Each modern programming IDE seems to have its own methods. Most notably Visual Studio with its "Designer" tools in C Shart and the MFC Tools for C++ user interface design. Even Hollywood has MUI Royale for GUI design.

So I got an idea from how MUI Royale stores an MUI user interface as HTML code and how a few plugins exist for extensions to Visual Studio. So why not use Designer in C Sharp to fully design a user interface then save the project files then export them ( copy them or use SMB ) to AROS. On AROS open a small application to read the file with the designer code and translate it to MUI code that you can save once complete. Nice!

What do you think?
Edited by miker1264 on 20-10-2023 17:26, 6 months ago
amigamiaamigamiaAdmin
Posted 6 months ago
I think anything that we can do to bring new things to AROS is a fantastic idea but this is beyond fantastic. Can you create a proof of concept and test it?
M
miker1264Software Dev
Posted 6 months ago
It seems like a good idea but is it feasible?

The designer source code is just a text file with lots of code in it. The main obstacle would be the GUI translation code to convert it to MUI.

For a small sample maybe a form ( user interface) with a few buttons. That should be easy.

This would be an interesting project.
M
magoriumSoftware Dev
Posted 6 months ago
Hi Miker,

Interesting topic you came up with (again Smile )

For inspiration you might want to have a look at MUI GUI editor (also named MUIClass ide) from alb42 ( https://blog.alb4...ui-editor/ ) the sourcecode can be found here: https://github.co...aster/ide. Ofc all we do is Pascal, not c so you're warned Pfft
Edited by magorium on 21-10-2023 05:09, 6 months ago
D
deadwoodAROS Dev
Posted 6 months ago
I remember there is also a MUI code generator called ChocolateCastle (https://github.com/kas1e/mui_ports_to_os4/tree/master/ChocolateCastle). Maybe you can take some of the generation code from it.
M
miker1264Software Dev
Posted 6 months ago
MUIClass IDE & ChocolateCastle, both good starting points.
Amiwell79Amiwell79Distro Maintainer
Posted 6 months ago
I inquired with JPV if you could make a modern IDE with Hollywood unfortunately at the moment it is not possible
M
magoriumSoftware Dev
Posted 6 months ago
Ah, I forgot about chocolat. Thank you for reminding us deadwood.

@miker:
The gist of it all, imho, is the part where it is possible to store "the design" which would then allow you to load it again using code and auto-(re)create the GUI.

As long as there is enough information available in the 'storage' it is possible to (re-)create source-code as well as use runtime-code in order to (re-)create the GUI.
M
miker1264Software Dev
Posted 6 months ago
magorium

That's the concept. Three possible actions for the MUI Rebuilder ( we already built the GUI once) are Import, Export & Rebuild. I was thinking of using XML code as an intermediate storage format.

So Import would open either Visual Studio Designer Files (text files) or it opens a saved XML file (text file) then Rebuild will generate the MUI/Zune user interface code that can be compiled for a new program to use.

It isn't intended to be a complete IDE just a GUI translation program. Maybe the MUI Re-Builder will have a simple GUI of it's own with a text output window on top and three buttons on it.

Other Operating Systems have complex IDE's such as Visual Studio that can quickly & easily produce complex user interface designs. But AROS (& Amiga) don't have all those fancy toys. This might be a way to benefit from that by translating the user interface code for AROS.

One main issue is the coordinates for positioning gadgets. VS Designer uses absolute x, y coordinates from 0, 0 at the top left corner of the form (user interface). But MUI uses a proportional layout instead but I believe MUI gadgets can have actual location coordinates.

I wonder also if MUI/Zune will allow us to change the artwork (theme) for radio buttons & checkboxes for example or background color ?
M
miker1264Software Dev
Posted 6 months ago
I finally found a topic everyone is interested it - programming! 🙂

I have an older version of Hollywood I bought a few years ago. I may install it to test MUI Royale. I wonder if it can save XML files?
M
magoriumSoftware Dev
Posted 6 months ago

miker1264 wrote:

@miker1264 - magorium
I was thinking of using XML code as an intermediate storage format.

To my knowledge both MUI royale and rapagui uses xml to describe the GUI. afaik neither of them let you visually design a GUI. For MUI royale see online manual

Quote


Other Operating Systems have complex IDE's such as Visual Studio that can quickly & easily produce complex user interface designs. But AROS (& Amiga) don't have all those fancy toys. This might be a way to benefit from that by translating the user interface code for AROS.

I am aware. Lazarus user myself meaning that I'm familiar with the concept Smile

Quote


One main issue is the coordinates for positioning gadgets. VS Designer uses absolute x, y coordinates from 0, 0 at the top left corner of the form (user interface). But MUI uses a proportional layout instead but I believe MUI gadgets can have actual location coordinates.

Indeed. MUI can be persuaded but in basics you are fighting against MUI natural habits. It is one of the problems why it is so difficult to 'port' Lazarus widgets to MUI.

Quote


I wonder also if MUI/Zune will allow us to change the artwork (theme) for radio buttons & checkboxes for example or background color ?

It allows you to do whatever you please as long as you know what you are doing. Usually most global settings are that, global and the MUI/Zune preferences allows you to change the appearance/styles of MUI gadgets.
Edited by magorium on 22-10-2023 02:47, 6 months ago
M
miker1264Software Dev
Posted 6 months ago
ALL
Thanks for the information and helpful hints. My concept for the MUI Re-Builder is to have two main functionalities - import GUI designer files to be saved as XML and to build MUI source code directly from XML files.

I'd like to use the same XML storage format as MUI Royale so that the files can be used by MUI Re-Builder or MUI Royale.

The program itself will have a listview on top that is linked in a settings file or icon tool type to the XML directory. The directory can be shared with MUI Royale. The XML files in the directory will appear in the listview. There will be four buttons on the bottom - Preview, Import, Export, Rebuild. Select an XML file in the listview to Rebuild.

The other functionality of the program will be to Import designer source files such as from Visual Studio to convert and save as MUI XML files. The program will parse the source file looking for keywords, gathering information for each gadget. Then internally it will decide how to build an MUI Tree Structure before saving an XML output.

Optionally before rebuilding an MUI user interface choose Preview to show a png of the finished user interface. The png files are kept in the XML directory but they don't show in a listview. They have the same name as the selected XML. Maybe we can also choose the output language.
Edited by miker1264 on 22-10-2023 08:32, 6 months ago
I
IlbarbaxNewbie
Posted 6 months ago
It is more or less what i did with my easyrapa but for Hollywood code
M
miker1264Software Dev
Posted 6 months ago
Ilbarbax

What does easyrapa do as far as its functionality?

Does it interact with RapaGUI ?
I
IlbarbaxNewbie
Posted 6 months ago
There is sort of spreadsheet interface to position the gui items and popup form to fill the properties of each item. Once ready click on a button and the program generate the XML and the hws script to handle the gui. You can also test it immediately .
I have a new version that i will release next month
M
miker1264Software Dev
Posted 6 months ago
That makes sense that it would use a spreadsheet or text file to write the XML file. I will try to make some type of plugin method using gadget equivalents to read Designer source file and XML.

How would you test it immediately? In Hollywood using the XML file?

I haven't found a method to compile and run the MUI source file other than to use Hollywood with MUI Royale to test it (XML).

I was reading up on easyrapa on Hollywood Forum. Sounds like a useful program. Some of my own program have really messy source code especially the earlier ones when I had just started with c programming. Now I try to clean as I go to avoid all that. Even with comments I sometimes get lost in my own source code.

I'm sure this very ambitious project with the MUI Re-Builder will also have lots of trial and error with lots of code commented out during testing. We'll see how messy it gets. 🙂
Edited by miker1264 on 22-10-2023 14:38, 6 months ago
I
IlbarbaxNewbie
Posted 6 months ago
When i will release nexrversion, that is largely improved, it is my intention to open the source because i hold the project since some time and my be it can be useful to someone else.
ATM I m in vacation
You can view all discussion threads in this forum.
You cannot start a new discussion thread in this forum.
You cannot reply in this discussion thread.
You cannot start on a poll in this forum.
You cannot upload attachments in this forum.
You cannot download attachments in this forum.
Users who participated in discussion: amigamia, magorium, deadwood, Amiwell79, miker1264, Ilbarbax
Sign In
Not a member yet? Click here to register.
Forgot Password?
Users Online Now
Guests Online 9
Members Online 0

Total Members: 224
Newest Member: Zhule
Member Polls
Should AROSWorld continue with AROS-Exec files (SMF based)?
Yes44 %
44% [12 Votes]
No26 %
26% [7 Votes]
Not sure30 %
30% [8 Votes]