Mumbling about RAD

For other topics related to the FreeBASIC project or its community.
cha0s
Site Admin
Posts: 5317
Joined: May 27, 2005 6:42
Location: Illinois
Contact:

Mumbling about RAD

Postby cha0s » Aug 31, 2008 20:14

I saw this post http://www.freebasic.net/forum/viewtopic.php?t=12113 and it made me think, 'Wow'. FB is really easy to use (arguably more so if you use one of the -langs) and yet we have made virtually no progress towards making a standard cross-platform UI builder. GTK/glade has too sharp of a learning curve... we have to make it more accessible.

Keep in mind, when I say 'we' here, I don't mean the FB devs. There is enough things to deal with on a continual basis where if you held your breath waiting for something like this, you could probably turn blue. I mean we as one of the best BASIC communities on the web.

Maybe someone just wants to get paid to make it, because let's face it that would be a shetload of work and it will require great organization skills as well as technical prowess, and artistic abilities, etc. It is a multi-person endeavor. Maybe MS will continue to beat us, because while they work on VB they're feeding themselves while we have something else for that and programming is on our spare time.

I don't know if this is the case though. Maybe we just need to soften up glade, make it more compatible with FB. Maybe we have to fully implement the parts of OO that we don't have yet. Maybe no one cares!

I think people care. Nothing will get done until someone gets it done though. Life's a $#@$& like that.
Mentat
Posts: 332
Joined: Oct 27, 2007 15:23
Location: NC, US
Contact:

Postby Mentat » Aug 31, 2008 23:56

I just use a hierarchy of some old functions. Looks simple and unaesthetic, but gets the job done. Copy 'n paste can work wonders, but make code ugly.
KristopherWindsor
Posts: 2428
Joined: Jul 19, 2006 19:17
Location: Sunnyvale, CA
Contact:

Postby KristopherWindsor » Sep 01, 2008 0:52

Are we supposed to start a debate about it, or just wait for CIW to put up the $100K VC? :P
Imortis
Moderator
Posts: 1715
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Postby Imortis » Sep 01, 2008 0:54

I am working on a cross-platform GUI library as well as other things. Not a GUI Bulider, but a builder could be written with the library.
arenth
Posts: 511
Joined: Aug 30, 2005 6:22

Postby arenth » Sep 01, 2008 1:57

I think the issue is mostly demand. No one is really needing a ui, so no one is really making one. There have been a few projects in the past that looked really promising, but no one really showed them any support so they sort of died off/disappeared.
Sslaxx
Posts: 107
Joined: Aug 31, 2008 16:53
Location: Malvern, Worcs, UK
Contact:

Well.

Postby Sslaxx » Sep 01, 2008 8:15

For what it's worth, I don't think we should bother with GTK+, but with something like WxWidgets (although it'd then still leave the issue of a UI builder).
jcfuller
Posts: 324
Joined: Sep 03, 2007 18:40

Re: Well.

Postby jcfuller » Sep 01, 2008 10:00

Sslaxx wrote:For what it's worth, I don't think we should bother with GTK+, but with something like WxWidgets (although it'd then still leave the issue of a UI builder).


Reasons??

James
Sisophon2001
Posts: 1704
Joined: May 27, 2005 6:34
Location: Cambodia, Thailand, Lao, Ireland etc.
Contact:

Postby Sisophon2001 » Sep 01, 2008 11:33

I also miss having a good GUI.

With Win32 while GUI programming is not easy there are sufficient tutorials and examples to learn quickly. I do not find the same in Linux. Also I know how to embed a FB graphics window in a WinAPI form, but I can not do this to my satisfaction in Linux.

I tried just about every GUI at the start, before giving up and experimenting with creating my own in FB, but there is a steep learning curve in getting things like menu's to work naturally. Buttons are very easy, but how about a combo-box? I made good looking themeable menu in FB working with the mouse, but I failed to get it working with the keyboard because of lack of foresight, and it became too hackish for me to want to re-use it.

I find it very difficult to get natural looking UI's with glade, unless I opt for fixed grids (which goes a bit against the design ideas of gnome), but importantly the GTK UI does not work well with FB threaded programs, so having a FB graphics control in a GTK form is not ideal. Also I could not find how to make a menu in glade. Perhaps a menu is always platform specific code? I know how to make a menu in gnome, but not in gtk.

Are there any UI for fbgfx programs that are more advanced than buttons? I know I have not checked them all, because many looked more like window managers, which I am not interested in. It would be nice to see a comparison of what was done so far, and why people do and do not use them etc. Rather than criticism of the efforts, this should serve as guidance on what people are looking for.

My own opinion is that the GUI should be themeable and attractive, it should follow the established mouse and keyboard controls that have become more instinct than conscious knowledge for users and it should be integrated into the traditional game loop of FB programs.

I think the form builder is a secondary issue. If there was a popular UI for FB programs, somebody would build a resource file converter, a glade converter etc. etc. These are nice user manageable projects, the difficult thing is the good UI.

Garvan
jcfuller
Posts: 324
Joined: Sep 03, 2007 18:40

Postby jcfuller » Sep 01, 2008 12:48

Sisophon2001 wrote:I find it very difficult to get natural looking UI's with glade, unless I opt for fixed grids (which goes a bit against the design ideas of gnome), but importantly the GTK UI does not work well with FB threaded programs, so having a FB graphics control in a GTK form is not ideal. Also I could not find how to make a menu in glade. Perhaps a menu is always platform specific code? I know how to make a menu in gnome, but not in gtk.


My own opinion is that the GUI should be themeable and attractive, it should follow the established mouse and keyboard controls that have become more instinct than conscious knowledge for users and it should be integrated into the traditional game loop of FB programs.

I think the form builder is a secondary issue. If there was a popular UI for FB programs, somebody would build a resource file converter, a glade converter etc. etc. These are nice user manageable projects, the difficult thing is the good UI.

Garvan


Garvan,
I just started investigating Gtk use and find some things lacking. I don't know who did the original include files but they did a fantastic job ,unfortunately they lack some features of the newest Gtk releases namely GtkBuilder. Libglade has been depreciated in favor of GtkBuilder.
( If I'm wrong on this please correct me)
I have only done a few experiments with Glade ( the designer ) and it takes a different mind set than using a Dialog resource editor. I haven't worked it all out but I think it may be superior once you understand the concept ( which I just barely grasp) of containers and such. It makes moving and resizing controls when the Window is resized automatic.

I have not checked the Library forum recently on it's recommended Gtk download but this is the one I installed this am after removing all traces of Gtk on my WinXp system. All the Demos worked as did the few Fb ones I tried:
http://ftp.gnome.org/pub/gnome/binaries ... .12.11.zip

I unzipped to a new directory d:\gtk and followed the readme file.

James
jcfuller
Posts: 324
Joined: Sep 03, 2007 18:40

Postby jcfuller » Sep 01, 2008 13:33

Imortis wrote:I am working on a cross-platform GUI library as well as other things. Not a GUI Bulider, but a builder could be written with the library.


I think you may get a bit side-tracked playing with your new present? :)

James
jcfuller
Posts: 324
Joined: Sep 03, 2007 18:40

Postby jcfuller » Sep 01, 2008 15:19

Well that was a bit of a failure.
I reinstalled Glade, and now I get a missing libxml2.dll message when trying to run???
I believe I had at least 2 versions of gtk installed before and possibly one of the earlier ones included the missing library???

James
Imortis
Moderator
Posts: 1715
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Postby Imortis » Sep 01, 2008 15:29

jcfuller wrote:I think you may get a bit side-tracked playing with your new present? :)

James


Not likely. I'm not very impressed. The output is VERY small, but That's about it.
voodooattack
Posts: 605
Joined: Feb 18, 2006 13:30
Location: Alexandria / Egypt
Contact:

Postby voodooattack » Sep 01, 2008 18:52

I think that the real reason stalling such projects is the absence of a fully functional OOP model.

I for one, attempted writing multiple GUI libraries for FB, but what stopped me every time was the lack of inheritance/virtual methods (or at least delegates).

Of course I made my own work-arounds to overcome each of the aforementioned barriers, but it gets really complex, hack-ish, ugly and nevertheless harder to maintain with every new feature added, and that's what stopped me every time.

I will attempt this once more, whenever real classes get supported (even partially), and the indexing operator gets added.

The RAD designer/IDE should all be written with the GUI library itself, for a healthy code model that benefits both.
quim
Posts: 17
Joined: Aug 27, 2008 11:33
Location: Spain

Postby quim » Sep 01, 2008 19:29

Hi,

I use wxWindows for the applications I made with Python. wxWindows applications are crossplatform despite its name. I have prepared pretty complex interfaces with it using wxglade, a wxwidgets gui builder that can produce python, perl, C++, lisp and XRC code, whatever you are programming on.

It is posible to prepare, for example, a calculator in few minutes and to code its behavior in half and hour. I'm not a programmer. Im just working in a field that forces me to program (something that anyway I love, but Im not an expert).

Nowadays this is impossible for me to made the same thing in Freebasic despite I already was programming in BASIC in the 80's. To program a user interface is not for beginners (with B from BASIC) in FreeBasic with the windows API (even with the great help of FbEdit).

Just I would like to transmit how important is for many people to have some RAD or GUI designer to work with. I thing this is key to increase the size of the user base of a language. I read a mail in this forum where someone said that he did not wanted to program a button, but to be able to use that button to program something he needed. Im this kind of people (well I also would like to learn how to program the button :-) ). Im sure also there are a lot of people thinking this way.

I think that for a language to get support the availability of general tools for the general user is as important as the compiler core.

Please, I beg for a good gui building tool based on something human (windows api is from mars). I can not do it by myself, im sorry. But I am sure that it would not be a waste of time if I could.

Cheers
joaquin
AGS
Posts: 1284
Joined: Sep 25, 2007 0:26
Location: the Netherlands

Postby AGS » Sep 01, 2008 22:27

Most gui tools come with a C++ interface nowadays and there are some cross platform, open source C++ GUI toolkits out there. But we need a toolkit with a C interface. The choice for cross platform GUI building using FB therefore is limited to GTK+ or IUP. That's round about it.

IUP is no more than a wrapper around an existing GUI toolkit. It wraps win32 on Windows and it wraps Open Motif or GTK+ on Linux. Wrapping IUP is not too hard but on Linux it's like wrapping a wrapper around a wrapper (GTK+ wrapping xlib).

What should be the output of the GUI builder? Should it's output be
- an executable
- (un)readable GUI code or
- code that's a wrapper around some GUI toolkit.

Should the builder perhaps look like an existing builder? And if so, which one? Having an example to work from would make the job to build a gui-builder easier. It should be possible to rip some existing builder and retool it to the needs of the FB users.

And what language should the builder be written in? Should it be written in FreeBASIC (using either GTK+ or IUP), C++, D, C or 'who cares, just build that gui builder!!!'

Return to “Community Discussion”

Who is online

Users browsing this forum: No registered users and 2 guests