wxWindows for Cross-Platform Coding
Creating a simple application class is easy. Listing 1 provides a basic sample of creating a wxApp class.
As you can see, creating a main wxWindows application is rather easy, and those of you familiar with MFC may be rubbing your chin thoughtfully. You'll be glad to know there is no MFC in it, nor will there ever be MFC in it, but the classes are a simple transition from MFC. It has few things MFC doesn't, and it does not support OLE.
An empty Event table is present in Listing 1, which allows you to handle events, such as a mouse click or a key pressed or your own custom events. Of course, this code shows a rather boring main application that sits there and stares at you without even blinking.
Working examples abound with the library; every single class appears to have an example demonstrating its usage. One example is the event-handling sample, by Vadim Zeitlin. This example is used because many developers beginning to use the wxWindows library seem to have some problems with events; you'll now be ahead of the game. You need the wxWindows library to try this, and if you do, you get the full source code for it under the Samples directory.
There's even a Wiki linked to from the site, so you can access the latest documentation quickly and even correct it if you find something to add.
Aside from the cast of thousands, a core development team should receive special mention and thanks:
These developers frequently are seen helping users of the wxWindows library on a daily, if not hourly, basis on the wx-user mailing list.
The release of version 2.4.0 of the wxWindows library was followed by requests from the development team for what they would like to see in version 3.0. New ports are always in the works, and the next release should be no different. One of the ports expected is the Windows CE port from Marco Cavallini and Robert Roebling.
Winelib support also is on the way, courtesy of the Winelib team, and proprietary tools for porting from MFC to wxWindows are being worked on by Julian Smart and Stefan Csomor.
With more and more companies wanting to use Linux, they will be looking for ways to port their MFC code to Linux, and one of the simplest is with the wxWindows library. The cost alone makes it worthwhile. Development issues for porting from the MFC are minimalized due to the simplicity of the library itself. Thus, if a company is looking to change from a Windows-based system to a Linux-based system, they can expect an easy porting of any code that they have. A wxNet port is even in progress.
Perhaps you have something to add to the many applications done with wxWindows. An up-to-date list of wxWindows applications is available at wxWindows.org.
Taran Rampersad is a software developer with 14 years of experience, presently doing consultation, development and writing from Trinidad and Tobago. He's actively involved with local computer societies, process management and assisting in organizing the Caribbean FLOS Conference (floscaribbean.org). His personal web site is KnowProSE.com.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...
- The Ubuntu Conspiracy
- Science on Android
- A First Look at IBM's New Linux Servers
- Vigilante Malware
- Disney's Linux Light Bulbs (Not a "Luxo Jr." Reboot)
- Vagrant Simplified
- Bluetooth Hacks
- System Status as SMS Text Messages
- Libreboot on an X60, Part I: the Setup
- October 2015 Issue of Linux Journal: Raspberry Pi