LXRAD GUI designer

This is great! LXRAD was discovered by forum member muggins, reported in this forum thread where various IDEs are being discussed:
http://murga-linux.com/puppy/viewtopic.php?t=28629

LXRAD is a GUI designer for developing GTK2 C++ applications, but with an Object Oriented layer. It is very simple to use. There is a runtime library, liblxrad.so, but it is quite small, 232KB uncompressed. Applications can optionally be compiled statically with this library, but if we end up using this a lot then the shared library is a better choice.

This could even be used to create a GUI for a Bash script,as the default code generated outputs mouse/keyboard events to stdout. I whipped up a simple GUI so quickly, and it was so easy to choose what events I wanted the widgets to respond to.

It seems that LXRAD started life as a GUI designer for the raw Xlib library, but with version 0.5 the author has moved to GTK2. Yippee!
The author is a minimalist, including the documentation! I can't even find the author's name anywhere. Even the home page is minimalist:
http://lxrad.sourceforge.net/

Anyway, I have created two PET packages:
http://distro.ibiblio.org/pub/linux/distributions/puppylinux/pet_packages-4/lxrad-0.5.pet
http://distro.ibiblio.org/pub/linux/distributions/puppylinux/pet_packages-4/lxrad_DEV-0.5.pet

The GUI designer executable is 'layout' and after installing the packages there will be an entry in the JWM menu, under Utilities. You will need to setup the Preferences, or alternatively just create a file /root/.lxrad with this in it:

defaulthtmlviewer
geany
ddd

...I'll put that into the PET package later.

The lxrad-0.5 package has the runtime library and that will be in 4.1alpha1 (actually 401). The lxrad_DEV-0.5 has the GUI designer and that wil be in the 'devx-401.sfs' file.

UPDATE:
I found the author's name, Luis Claudio Gamb˘a Lopes. Thanks for your work in this area Luis, much appreciated as we are looking for new GUI design tool(s) for Puppy.

Posted on 23 May 2008, 17:37


Comments:

Posted on 23 May 2008, 19:53 by BarryK
LXRAD problem
The docs have this:

|-- CEdit ------+
| `-- CText(Unusable)

Yes indeed. I created an edit box, enabled some signals, but it wouldn't compile. For example:

g++ -c -Wall -O5 `pkg-config gtk+-2.0 --cflags` ptest1.cc
g++ -c -Wall -O5 `pkg-config gtk+-2.0 --cflags` test11.cc
In file included from test11.cc:3:
test11_d.cc: In constructor 'CWindow1::CWindow1()':
test11_d.cc:32: error: 'class CEdit' has no member named 'EvPointerIn'
make: *** [test11.o] Error 1

So, that widget is immature. I hope Luis can develop it some more.

Note, there was no error message, I only knew it had failed to compile as I had run 'layout' from a terminal window.


Posted on 23 May 2008, 23:58 by pupmate
LXRAD
I just downloaded LXRAD. Layout couldn't find the liblxrad.so.0 Had to change name of lib from liblxrad.so.0.5 to liblxrad.so.0 to get it to run.

Just to let you know.
Terry


Posted on 24 May 2008, 9:58 by BarryK
Re: LXRAD libs
Thanks, I fixed that. Haven't uploaded the fixed PET pkg though.


Posted on 24 May 2008, 10:13 by BarryK
LXRAD, reply from author
I sent an email to Luis and this is his reply:

Thanks for using LXRAD and the blog report.

I start LXRAD using xlib, but make all components consuming much time, I'm a busy teacher and no have much time to work in my personal projects (homepage and documentation of projects run in background), for no reinventing the wheel I decide to use GTK. (qt is more complicated in my opinion). I make the porting of components encapsulating GTK components in LXRAD, but when I found pango, utf8, iterators and friends the porting freeze, theses are a nightmare! Actually I work in a new porting using wxwidgets (more easy), the components are ready, but layout need some work to finalize the release. Now LXRAD encapsulating wxwidgets who encapsulating GTK. If puppylinux support wxwidgets the new release of LXRAD will work without problems.



Posted on 24 May 2008, 12:27 by kirk
wxwidgets
I just compiled wxwidgets 2.8 for gtk, it's about 8.6MB.

Ecere SDK:

The binaries are 1.1MB
The libraries are 2.7MB
The Docs/Samples are 8MB

Ecere can be found here:

http://www.murga-linux.com/puppy/viewtopic.php?t=27684

Quote from docs:

"The Ecere SDK offers a well-rounded suite of tools, which
consist of an Integrated Development Environment, a set of compiling
tools for the eC language, as well as a cross-platform runtime library
featuring among other things a GUI toolkit, a networking library and a
3D engine. It is also backed by the GNU GCC compiling tools suite,
which can also be used to program in the C and C++ languages.
This version of the Ecere SDK included with this book is cross
platform software capable of running on Windows, Linux and Mac OS X."

And web page:

"Licensing Information: The Ecere SDK is completely free, and applications built with it can be distributed both commercially and non commercially, along with the supporting Ecere runtime library."

The binaries are 1.1MB
The libraries are 2.7MB
The Docs/Samples are 8MB

Looks nice, though my C is quite bad, not sure how useful it would be to someone experienced in c++. Hope to find the time to go though Ecere's detailed tutorial.




Posted on 24 May 2008, 12:34 by kirk
Ecere
Correction, the Ecere binaries are 721k stripped.