English Amiga Board


Go Back   English Amiga Board > Coders > Coders. System

 
 
Thread Tools
Old 08 February 2024, 15:38   #1
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 498
Rebuild - A reaction based GUI designer

Rebuild 1.0.0 is released.

Amiga Reaction GUI Builder (Remake of ClassMate)

ClassMate was a graphical user interface builder for ClassAct
for the Amiga in 1997. ClassAct was developed into Reaction which is
now part of Amiga OS 3.2. ClassMate however was a shareware product
and in its demo form was severely limited.

There was no save functionality. Popups appeared every few minutes
and it was limited to a small number of objects that could be placed.

The full version of ClassMate is no longer available and for that reason
I decided to make my own GUI builder for Reaction. It is heavily based on
the look of ClassMate is all written from scratch. It includes support
for many more gadget types than ClassMate did and has been improved in
many ways to allow for easier use.

Just a few of the improvements are:

1) Support for both E and C languages
2) Menu design is shown in the preview window
3) Support for multiple windows in a single project
4) Copy buffer making it easier to move or duplicate gadgets
5) More flexible system of arranging gadgets and layouts

ReBuild is written using my own E-VO compiler.

The program is released into the public domain for anyone to use however
they wish with no restrictions apart from that the program should not be
sold for profit.

You may use this program to assist with the development any application
without restriction however use of this project is entirely at your own
risk. I will not accept responsibilty for any issues arising from the
use of Rebuild.

https://github.com/dmcoles/ReBuild/r...build1.0.0.lha

the release will also be on aminet shortly.
Attached Thumbnails
Click image for larger version

Name:	rebuild.png
Views:	155
Size:	49.5 KB
ID:	81590  

Last edited by Phantasm; 08 February 2024 at 16:04.
Phantasm is offline  
Old 11 February 2024, 11:41   #2
Nightfox
Registered User
 
Nightfox's Avatar
 
Join Date: Apr 2016
Location: Perth, Australia
Posts: 384
Awesome! I've now used for my app AmigaGPT. Thanks a lot
Nightfox is offline  
Old 11 February 2024, 13:59   #3
nogginthenog
Amigan
 
Join Date: Feb 2012
Location: London
Posts: 1,311
I've been playing around with Rebuild. Looks really nice thanks!
nogginthenog is offline  
Old 11 February 2024, 14:21   #4
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
ASM output would be nice.
kamelito is offline  
Old 11 February 2024, 17:49   #5
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 498
Quote:
Originally Posted by kamelito View Post
ASM output would be nice.
It's a possibility for the future but the code generator will need to be rewritten significantly to handle that.
Phantasm is offline  
Old 11 February 2024, 17:51   #6
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 498
Quote:
Originally Posted by Nightfox View Post
Awesome! I've now used for my app AmigaGPT. Thanks a lot
That's great that you found it useful
Phantasm is offline  
Old 13 February 2024, 15:16   #7
Nightfox
Registered User
 
Nightfox's Avatar
 
Join Date: Apr 2016
Location: Perth, Australia
Posts: 384
Only issue really is that the use of the reaction macros is not compatible with the latest gcc toolchain (but that is not your fault). I'm happy to just use this as a visual GUI designer and do the actual code myself. Great tool thanks!
Nightfox is offline  
Old 13 February 2024, 16:08   #8
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 498
Quote:
Originally Posted by Nightfox View Post
Only issue really is that the use of the reaction macros is not compatible with the latest gcc toolchain (but that is not your fault). I'm happy to just use this as a visual GUI designer and do the actual code myself. Great tool thanks!
I'll see what I can do with this for a future update. Why don't the macros work? If I'm going to remove the reliance on the macros then it would be good to know what I need to avoid that will cause the issue
Phantasm is offline  
Old 13 February 2024, 17:50   #9
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Back in the day Designer was the best tool to build GUI. Did you look into other tool except the one Rebuild is a « remake » of?
kamelito is offline  
Old 13 February 2024, 18:13   #10
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 498
Quote:
Originally Posted by kamelito View Post
Back in the day Designer was the best tool to build GUI. Did you look into other tool except the one Rebuild is a « remake » of?
There are no other reaction based ones that I know of for os 3.x
Phantasm is offline  
Old 13 February 2024, 18:20   #11
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Nope I was just asking this because good features might exist in non Reaction GUI toolkit.
Stupid question I guess but can it support MUI too in the future?
kamelito is offline  
Old 13 February 2024, 18:55   #12
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 498
Quote:
Originally Posted by kamelito View Post
Nope I was just asking this because good features might exist in non Reaction GUI toolkit.

Stupid question I guess but can it support MUI too in the future?
I guess it would be possible with a lot of work but a better idea would be to build a separate version for mui but to be honest muibuilder does a pretty decent job for that already. They both work very similarly and muibuilder has more features and has had more development effort put into it. The only down side is that it's no longer updated but it seems pretty stable and mui for os 3.x hasn't really had much added to it since the 90s anyway
Phantasm is offline  
Old 14 February 2024, 02:57   #13
Minuous
Coder/webmaster/gamer
 
Minuous's Avatar
 
Join Date: Oct 2001
Location: Canberra/Australia
Posts: 2,631
Quote:
Originally Posted by Phantasm View Post
There are no other reaction based ones that I know of for os 3.x
Well, there's ReActor, of course...but since GUIs generated with that require resource.library, it's better to use Rebuild.
Minuous is online now  
Old 14 February 2024, 10:14   #14
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 498
Quote:
Originally Posted by Minuous View Post
Well, there's ReActor, of course...but since GUIs generated with that require resource.library, it's better to use Rebuild.
You say of course but I was not aware of it. I will have to take a look
Phantasm is offline  
Old 16 February 2024, 17:59   #15
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 498
Quote:
Originally Posted by Nightfox View Post
Only issue really is that the use of the reaction macros is not compatible with the latest gcc toolchain (but that is not your fault). I'm happy to just use this as a visual GUI designer and do the actual code myself. Great tool thanks!
Hi. I've been working on updating it with an option to generate code that doesnt use the reaction macros when generating the definitions.

Drop me a message if you'd be interested in helping me test it with gcc.
Phantasm is offline  
Old 25 February 2024, 04:30   #16
Nightfox
Registered User
 
Nightfox's Avatar
 
Join Date: Apr 2016
Location: Perth, Australia
Posts: 384
Quote:
Originally Posted by Phantasm View Post
Hi. I've been working on updating it with an option to generate code that doesnt use the reaction macros when generating the definitions.

Drop me a message if you'd be interested in helping me test it with gcc.
Sorry only just saw this. I'll message you now.

The use of the macros just doesn't work with gcc 6.5.0 at least. not sure about other versions. It says "error: expected ',' or ';' at end of input
struct Object *testLayout = LayoutObject,
^~~~~~
/work/src/gui.c:736:9: error: expected declaration or statement at end of input"
Nightfox is offline  
Old 25 February 2024, 04:41   #17
arcanist
Registered User
 
Join Date: Dec 2017
Location: Austin, TX
Age: 41
Posts: 406
Quote:
Originally Posted by Nightfox View Post
The use of the macros just doesn't work with gcc 6.5.0 at least. not sure about other versions. It says "error: expected ',' or ';' at end of input
struct Object *testLayout = LayoutObject,
^~~~~~
/work/src/gui.c:736:9: error: expected declaration or statement at end of input"
Try adding -DNO_INLINE_STDARG, or (better) #define / #undef it around the <proto/intuition.h> include.
arcanist is online now  
Old 28 February 2024, 10:40   #18
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 498
Quote:
Originally Posted by Nightfox View Post
Sorry only just saw this. I'll message you now.

The use of the macros just doesn't work with gcc 6.5.0 at least. not sure about other versions. It says "error: expected ',' or ';' at end of input
struct Object *testLayout = LayoutObject,
^~~~~~
/work/src/gui.c:736:9: error: expected declaration or statement at end of input"
Hi. I have sent you a private message in relation to this.
Phantasm is offline  
Old 01 March 2024, 05:42   #19
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
Quote:
Originally Posted by Phantasm View Post
I guess it would be possible with a lot of work but a better idea would be to build a separate version for mui but to be honest muibuilder does a pretty decent job for that already. They both work very similarly and muibuilder has more features and has had more development effort put into it.
Which version of MUI_Builder are you referring to? There was a nice one written in Hollywood that's quite bloated that changed their name to avoid confusion and then there was a buggy piece of code from the 90's.
Quote:
Originally Posted by Phantasm View Post
The only down side is that it's no longer updated but it seems pretty stable and mui for os 3.x hasn't really had much added to it since the 90s anyway
Ok it's buggy but fixed by Deadwood or Mazze of the AROS team. Before the expert took over, I got sources in Sourceforge under an open source license. I probably still have commit privileges there.

As for the interface, it uses a custom tree gadget other than NListTree.mcc so drag and drop are not supported and moving items up and down in the tree is very awkward.

Also, in the process of fixing obvious bugs, the expert broke compatibility with all closed-source code generators from earlier versions of MUI_Builder other than the C version that came with the fixed executable.

IMO, it'd be better to start over in E using the MUI headers that come with ECX and EEC. That way importing old save files from the open-source editions of MUI_Builder won't be impossible to use and the importing of ReBuild save files could also be possible. Implementing the loaders as libraries so that other GUI save files could be imported would be an added bonus. Likewise the code generators could be reusable libraries as well.

I'll split the duties with whomever wants to start this thing but I'm not willing to go at it alone. I like modularity so less wheels need reinventing. I'm on MorphOS most of the time so I can use Git.

The repo of MUIBuilder is at https://sourceforge.net/projects/muibuilder/ but adding an importer and exporter for ReBuild is probably the way to go.

Edit:
After looking at the source of MUI_Builder, I see that it uses a text format to save as MUIB files. Likewise, REB files are also text files. Each could export to the other. The load.c and save.c files only seem to use one header: builder.h is the master header that defines all the internal structures. If it weren't GPL code it might be a simple object-to-module conversion but it shouldn't be too hard anyway.

Last edited by Samurai_Crow; 01 March 2024 at 08:40.
Samurai_Crow is offline  
Old 01 March 2024, 10:36   #20
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 498
Quote:
Originally Posted by Samurai_Crow View Post
The repo of MUIBuilder is at https://sourceforge.net/projects/muibuilder/ but adding an importer and exporter for ReBuild is probably the way to go.
Yes that is the one i was referring to. I hadn't realised it was open sourced. I used it recently for for a project I was working on and it seemed fairly ok.

I imagine it would be possible to translate the project files from muibuilder to rebuild and vice-versa but it would be quite a big job and not every gadget would map exactly between the two systems. Not something i'd be interested in adding into rebuild directly but i guess a seperate program to do that would be possible. There are other things I would like to add to Rebuild that would be more of a priority for me.
Phantasm is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Converting to Reaction: Shared UserPort? Warty Coders. C/C++ 12 10 July 2021 07:38
installing Classact and Reaction on 3.1.4 dschallock support.Other 8 06 February 2020 19:19
Update ReAction classes mritter0 Coders. General 2 30 July 2014 01:55
Proper ReAction coding mritter0 Coders. C/C++ 3 24 April 2014 07:34
Kumiko GUI - Amiga Workbench 3.1 GUI for Windows milika Amiga scene 31 18 April 2007 19:16

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 17:41.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.53680 seconds with 17 queries