Welcome to the wxSmith tutorials page! wxSmith combines with Code::Blocks, wxWidgets and a C++ compiler to give you a WYSIWYG way to create applications with a graphical user interface (GUI). The combination forms a tool for Rapid Application Development (RAD) that works on Linux, Mac OS X and Windows. As you work, you see on the screen the forms you are designing; and they look to you just like they will look to the user of your program.
The tutorials assume no prior knowledge of Code::Blocks or wxWidgets and are, in fact, good tutorials for learning them also. They do assume a basic acquaintance with C++ to recognize what you are looking at in code snippets that form part of the tutorials.
Moreover, wxSmith knows a lot about all the major wxWidgets components – buttons, check boxes, radio buttons, drop-down lists and so on. When you have selected and “dropped” one onto your form, the wxSmith property browser shows you all the component's properties and lets you modify them. It can also show all the events a component can produce and, on a quick mouse click, will set up the framework for you to code your program's response to the event.
Although wxSmith is strictly speaking a plugin to Code::Blocks, that fact is a technicality important only to writers of the program. The user, however, downloads, installs, and uses one program. Linux users installing from the Ubuntu Software Center, however, should be sure to check the boxes next to all of the "Optional add-ons." As a user, it will look to you like wxSmith is just a part of Code:Blocks.
Our tutorials will start from the very basics and work up to some fairly tricky but very useful techniques.
Before you can use wxSmith, however, you need to install several libraries. If you are using Ubuntu Linux or one of its derivatives, you can install them from the Ubuntu Software Center. The libraries you need are:
libwxgtk2.8-dev (for compiling)
libwxgtk2.8-0 (the runtime library)
libwxgtk2.8-dbg (for debugging).
[If you know how to get this material from other sources, please edit this to share that knowledge.]
Here is a list of the tutorials. You may click on one to jump to it, but they are definitely cumulative, and you should work through them in order.
- Tutorial 1: Hello world
- Tutorial 2: Working with Menus and Components
- Tutorial 3: Building a More Complex Window
- Tutorial 4: Working with Multiple Forms
- Tutorial 5: Using wxPanel resources
- Tutorial 6: Accessing Components in a Form
- Tutorial 7: Creating items with custom paint and mouse handling
- Tutorial 8: Drawing on the Screen and Saving Drawings
- Tutorial 9: Keyboard Input and Displaying Results
- Tutorial 10: Using wxGrid: Creating a wxGrid with wxSmith
- See also: wxSmith extensions
The book The Gwx Story recounts in detail writing a program for linear regression and model building using wxSmith and CodeBlocks. Some of the tutorials evolved in the course of writing this book. It is available inexpensively from Amazon and should prove helpful to anyone trying to learn the use of these tools.