WxWidgets
Encyclopedia : W : WX : WXW : WxWidgets
- The correct title of this } is }}}. The initial letter is capitalized due to [Naming conventions #Lower case first lettertechnical restrictions].
WxWidgets is released under "a permissive modified (but explicitly OSI-approved) LGPL". It was started in 1992 by Julian Smart who, as primus inter pares, is still a core developer.
WxWidgets enables a program to compile and run on several computer platforms with minimal or no code changes. It covers systems like Windows, Apple Macintosh, Linux/Unix (for X11, Motif, and GTK+), OpenVMS, and OS/2. An embedded version is under development.
The library is implemented in C++, but bindings are available for many commonly used programming languages, among them, Python (wxPython), Smalltalk (wxSqueak), Perl, Java and even Javascript (wxJS). For a complete list, with links to the respective project sites, see the external references at the end of this article.
WxWidgets is best described as a native toolkit. Instead of emulating the display of widgets using graphic primitives on the different supported platforms, wxWidgets provides a thin abstraction to the native widgets. In other words, the underlying wxWidgets code prefers calling a native widget on the platform, instead of reimplementing custom widgets. This leads to a faster, more native looking interface when compared to toolkits like Swing (for Java).
WxWidgets is not just designed to display GUIs. It also has a built in ODBC based database library, an Interprocess Communication layer, socket networking functionality, and more.
Name change from wxWindows to wxWidgets
On February 20th, 2004, the developers of wxWindows announced that the project was changing its name to wxWidgets, as a result of pressures from Microsoft on Julian Smart to respect Microsoft's United Kingdom trademark of the term Windows.Software that uses wxWidgets
- Audacity - an open source sound editor
- [AOL Communicator]
- [BitWise IM] - BitWise is an encrypted cross-platform instant messenger featuring text messaging, whiteboards, file sharing, voice chat, encryption.
- [Code::Blocks] - The open source, cross platform Free C++ IDE
- [Kirix Strata] - an interactive data analysis and manipulation tool
- [Mindscript] - an open source software development environment (unrelated to the Mindscript programming language for LEGO Mindstorms)
- VLC media player
- [Xara LX] - The vector graphics application being ported to wxWidgets
See also
- redirect
External links
- [Official Website]
- [Name change announcement]
- [wxForum, unofficial forums]
- [wxCode, additional components for wxWidgets]
- [wyoGuide, well-designed cross-platform guidelines]
- [wxEmbedded, wxWidgets for embedded applications]
- [wxUniversal] - The wxUniversal port is to create a set of widgets that are implemented in wxWidgets itself. wxUniversal can be compiled on platforms that have existing ports, such as Windows, but the wxUniversal widgets will replace the native ones.
Language bindings
- [link] binding wxBasic for the BASIC programming language
- [link] binding wxPerl for the Perl programming language
- [link] binding wxPython for the Python programming language
- [link] binding wxRuby for the Ruby programming language in September 2004 "early beta"
- [link] binding wxSqueak for the Smalltalk programming language
- [link] binding wxErlang for the Erlang programming language
- [link] binding wxLua for the Lua programming language
- [wx4j] for Java
- [wxJS] for JavaScript
- [wxHaskell] for Haskell
- [wxEiffel] for the Eiffel programming language
- [wx.NET] for C#/.NET
- [wxCL] (formerly wxLisp) for Common Lisp
IDE and RAD tool
- [Comparison of RAD designers for wxWidgets]
- [Code::Blocks] A free C++ IDE based on wxWidgets.
- [MinGW Developer Studio] MinGW Developer Studio is a simple C/C++ IDE for MinGW, written using wxWidgets and MinGW.
- [wxDesigner] dialog editor/RAD tool
- [DialogBlocks] a dialog editor generating C++ and XRC
- wxGlade GUI designer for wxWidgets.
- [wxDev-C++] A variation of the Dev-C++ IDE that incorporates a form designer for wxWidgets
- [wxFormBuilder] An open source GUI designer for wxWidgets written in C++.
Reference documentation
- [Cross-Platform GUI Programming with wxWidgets] - the first published book covering wxWidgets specifically.
- [Drawing and Printing in C++ with wxWidgets] - This chapter introduces the idea of the device context, generalizing the concept of a drawing surface such as a window or a printed page. It will discuss the available device context classes and the set of "drawing tools" that wxWidgets provides for handling fonts, color, line drawing, and filling.
- [wx-sdl] - A tutorial on using wxWidgets and SDL (Simple DirectMedia Layer) together.
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
