wxMax - A BlitzMax GUI Module

Community Forums/Showcase/wxMax - A BlitzMax GUI Module

Brucey(Posted 2008) [#1]
I am pleased to announce the release of wxMax v1.00, a wxWidgets language binding for BlitzMax.

After trying to use MaxGUI for long enough to do proper application development in BlitzMax, I gave up and decided to find something that worked. wxWidgets, although a bit big, turned out to be a good choice for a cross-platform GUI module.
It is customizable, the event model is excellent, and it just works :-)

It supports native UI controls, including multi-column list boxes, GDI drawing, printing, PDF generation, serial I/O, scintilla (editor), grid-style tables, and lots more.

It also ships with tutorials and samples.

* The official site
* Downloads Page

* wxmax_1_00_win32_bin.rar - Win32 src + binaries release (14.9 meg)

* Discussion Forum


If you are interested in serious Application development in BlitzMax, then wxMax is probably the easiest decision you could make.

I'm rolling out the other platform releases as I get round to them...

Feel free to post feedback.

:o)


Barnabius(Posted 2008) [#2]
This just might get me back to BMax. It's soooo much easier than using the original GUI system.

Thank you for sharing...

Barney


Ked(Posted 2008) [#3]
Can you use it like you would MaxGUI?
window=CreateFrame(....)
button=CreateButton(...,window)

Or does it have to be OO?


Sledge(Posted 2008) [#4]
Looking forward to exploring this module. I really *hate* to moan straight away but I am going to air one gripe now I've compiled it... it totally takes over the 'Third Party Modules' list in the Home tab on the right of the IDE. Is there any way to organise the docs so that all the sub-modules are collapsed underneath the main (wx.wx?) entry? I really don't want to have to see that stuff if I'm not using the module (yup I know that sounds really picky, but there are well over one hundred of them!)

Other than that, WOOT! I'm going to have to go and read some tutorials now. The PDF stuff looks interesting...


Brucey(Posted 2008) [#5]
Or does it have to be OO?

It is OOP I'm afraid. It follows the original API almost exactly, which is also OOP. The advantage to a matching API is that you can read a "How to program wxWidgets" guide/book of C++, and can create a BlitzMax version of the code that has the same structure.

For example, it's quite easy to use this book to learn wxMax, even though all the examples are in C++.


it totally takes over the 'Third Party Modules'

I know... sorry. At the moment, there's not much I can do about that. docmods will need some TLC in order sort it out, and I haven't had much time of late to be tweaking that too ;-)


markcw(Posted 2008) [#6]
Congrats Brucey, it's been 6 months to this point right?

Is this what Gtk uses?


Grisu(Posted 2008) [#7]
Well done!

I really wish there would be one good GUI module and not different island solutions... :(


Brucey(Posted 2008) [#8]
it's been 6 months to this point right?

12 months on August 20th ;-)

wxWidgets uses Gtk, on Linux, as its native renderer. (Like what Gnome sits on top of). wxWidgets is just a standardized crossplatform API... a bit like what MaxGUI tries to be - except that it's been in development for much longer, and has more developers working on it.


Yahfree(Posted 2008) [#9]
amazing job brucey... I just ran a svn update... is the svn version current?


markcw(Posted 2008) [#10]
Oer, 12 months on and off I hope. :)

Thanks for the info about Gtk.

I'll be making a point of trying wxMax out soon.


Brucey(Posted 2008) [#11]
is the svn version current?

SVN is always more current than the latest release :-)


Takis76(Posted 2012) [#12]
Hello ,
I am looking for some good GUI modules and I found and this one.

I tried to put it in my Blitzmax and tried to see some example and when it compiles I have too many errors like:

C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x25): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x19b): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x20f): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x39e): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x3b4): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x3e4): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x41a): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x43a): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x459): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x5ab): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x61f): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x7a8): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0x7cd): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0xa41): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0xb63): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0xcfe): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0xd14): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0xd85): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text+0xdc5): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text$_ZN17wxPanelXmlHandlerD1Ev[__ZN17wxPanelXmlHandlerD1Ev]+0x27): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text$_ZN17wxPanelXmlHandlerD1Ev[__ZN17wxPanelXmlHandlerD1Ev]+0x3a): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_panel.o):xh_panel.cpp:(.text$_ZN17wxPanelXmlHandlerD1Ev[__ZN17wxPanelXmlHandlerD1Ev]+0xad): undefined reference to `_Unwind_SjLj_Unregister'
blah
blah
.
.
.

Where is the problem and don't compiles. It looks like some libraries are missing.
How do I will fix it?

Thank you :)


Derron(Posted 2012) [#13]
Libraries aren't missing - they are in the wrong version.
So they do not contain the functions referenced from wxmax ("undefined reference to...").

Use the downloaded brucey provided and it should work - but you will also have the bugs from that date - especially for linux.


bye
Ron


Matt Vinyl(Posted 2012) [#14]
Compiling:wxglmax2d.bmx
Compile Error: Overriding method differs by type
[C:/BlitzMax/mod/wx.mod/wxglmax2d.mod/wxglmax2d.bmx;200;2]
Build Error: failed to compile C:/BlitzMax/mod/wx.mod/wxglmax2d.mod/wxglmax2d.bmx


I realise this thread is very old, but it has been bought to my attention by the chaps above. ;) I'm however, receiving the above when building the modules? (Other Brucey modules work fine). Any suggestions?

Thanks,
M.


jsp(Posted 2012) [#15]
Have you seen this:
http://www.blitzbasic.com/Community/posts.php?topic=90765


Matt Vinyl(Posted 2012) [#16]
I had not, but I have now due to you kindly pointing it out. :0) Will read that through.

Cheers,
M.


Dabhand(Posted 2012) [#17]
I posted that link in another thread:-

http://blitzbasic.com/Community/posts.php?topic=75761#1135196

Which you posted in Matt... lol! :D

Dabz