WxWidgets
From Free net encyclopedia
Template:Infobox Software Template:Lowercase
In computing, wxWidgets (formerly known as wxWindows) is an open source, cross-platform widget toolkit; that is, a library of basic elements for building a graphical user interface (GUI).
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 none or minimal 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, and Java. 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.
Contents |
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.
- Kirix Strata - an interactive data analysis and manipulation tool
- Mindscript - an open source software development environment
- VideoLAN - The VideoLAN project targets multimedia streaming of MPEG-1, MPEG-2, MPEG-4 and DivX files, DVDs, digital satellite channels, digital terrestial television channels and live videos on a high-bandwidth IPv4 or IPv6 network in unicast or multicast under many OSes.
- Xara LX - The vector graphics application being ported to wxWidgets
See also
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
- [1] binding wxBasic for the BASIC programming language
- [2] binding wxPerl for the Perl programming language
- [3] binding wxPython for the Python programming language
- [4] binding wxRuby for the Ruby programming language in September 2004 "early beta"
- [5] binding wxSqueak for the Smalltalk programming language
- [6] binding wxErlang for the Erlang programming language
- [7] 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 - probably the first published book covering wxWidgets entirely.
- 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.de:WxWidgets
fr:WxWidgets it:WxWidgets nl:WxWidgets pl:WxWidgets pt:WxWidgets ru:WxWidgets