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.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
|Secure Server Deployments in Hostile Territory, Part II||Jul 29, 2015|
|Hacking a Safe with Bash||Jul 28, 2015|
|KDE Reveals Plasma Mobile||Jul 28, 2015|
|Huge Package Overhaul for Debian and Ubuntu||Jul 23, 2015|
|diff -u: What's New in Kernel Development||Jul 22, 2015|
|Shashlik - a Tasty New Android Simulator||Jul 21, 2015|
- Secure Server Deployments in Hostile Territory, Part II
- Hacking a Safe with Bash
- KDE Reveals Plasma Mobile
- Huge Package Overhaul for Debian and Ubuntu
- Home Automation with Raspberry Pi
- The Controversy Behind Canonical's Intellectual Property Policy
- Shashlik - a Tasty New Android Simulator
- Embed Linux in Monitoring and Control Systems
- diff -u: What's New in Kernel Development
- General Relativity in Python