Infinity77
Freeware
- Shipped With wxPython
- Unofficial Widgets
- BalloonTip
- ExtendedChoice
- EnhancedStatusBar
- ToasterBox
- SpeedMeter
- AdvancedSplash
- ShapedButton
- PieCtrl/ProgressPie
- NotebookCtrl
- FloatSpin
- ThumbnailCtrl
- PyAUI
- PyProgress
- KnobCtrl
- FourWaySplitter
- RulerCtrl
- LabelBook
- FlatMenu
- WindowTree
- WidgetStack
- HyperTreeList
- PyCollapsiblePane
- CubeColourDialog
- AquaButton
- GenericMessageDialog
- GradientButton
- MultiDirDialog
- PeakMeterCtrl
- SuperToolTip
- AUI
- UltimateListCtrl
- RibbonBar
- PersistentControls
- XLSGrid
- Applications
If you have any request, or you would like to know how I built some of these software and interfaces, please feel free to drop me an e-mail.
Freeware Section
In this section you will find the description and the codes of a number of software (or simple libraries) that I wrote for my work or just because I had spare time. These software are freeware, and they can be downloaded and used always respecting the wxWidgets License.
As the collection of widgets is becoming larger and larger, I decided to split the widgets' descriptions into different html pages. Old links found on the net referring to those controls will not work anymore. If you have bookmarked the old page, please update your links.
Note: For all of these software, it is necessary to install Python and wxPython.
This class simulate, in some way, the behavior of the “foldable” menus in Windows XP, that you can easy find at the left by opening Explorer.
Warning: Unless you are supporting a wxPython version older than 2.5.5.1, you should use the FoldPanelBar that ships with wxPython (in wx.lib.agw).
Last Update: 07-Nov-2005
HyperLinkCtrl is a Python class that uses wxPython GUI front-end. It has been integrated into the standard wxPython library distribution since version 2.6.0.1, dated 30 May 2005.
This class is very useful when you wish to simulate an hyperlink inside a panel, a window or a frame.
Warning: Unless you are supporting a wxPython version older than 2.6.0.1, you should use the HyperLinkCtrl that ships with wxPython (in wx.lib.agw).
Last Update: 07-Nov-2005
This class has been written in order to be integrated in the wxPython library. It is useful to recreate the Windows XP Balloon Tip help that we usually see in the taskbar.
Last Update: 09-Sep-2005
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the BalloonTip that ships with wxPython (in wx.lib.agw).
ExtendedChoice has been written in order to be integrated in the wxPython library. It extends the functionalities of wx.Choice and wx.ComboBox, already present in wxPython. It is easy to use and highly customizable.
Last Update: 18-Dec-2005
This class is an extension of the wx.StatusBar in the wxPython distribution. It allows the user to insert virtually every wxPython control inside the status bar of a frame. It is highly customizable, with a lot of options.
Last Update: 19-Dic-2005
ToasterBox
ToasterBox is a cross-platform library to make the creation of MSN style "toaster" popups easier. The syntax is really easy especially if you are familiar with the syntax of wxPython.
Last Update: 31-Oct-2007
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the ToasterBox that ships with wxPython (in wx.lib.agw).
SpeedMeter
SpeedMeter is a control written in wxPython that allows you to simulate angular controls like car speed/fuel/oil/RPM controls, temperature indicators, clocks and whatever similar comes to your mind.
Last Update: 25-Sep-2005
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the SpeedMeter that ships with wxPython (in wx.lib.agw).
AdvancedSplash
AdvancedSplash is a control written in wxPython that reproduce somewhat the behavior of wx.SplashScreen, but with some more functionalities. It is possible to set the shape of the splash screen, accordingly to the input image, and adding text in runtime to simulate some loading progress.
Last Update: 09-Oct-2005
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the AdvancedSplash that ships with wxPython (in wx.lib.agw).
ShapedButton
ShapedButton is a control written in wxPython that tries to fill the lack of "custom" shaped controls in wxPython. With this class, you will be able to create rounded and elliptical buttons, with optional images and/or text labels.
Last Update: 18-Oct-2005
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the ShapedButton that ships with wxPython (in wx.lib.agw).
PieCtrl/ProgressPie
PieCtrl/ProgressPie are simple classes that reproduce the behavior of a pie chart. they use only pure wxPython classes/methods, without external dependencies.
Last Update: 31-Oct-2005
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the PieCtrl/ProgressPie that ships with wxPython (in wx.lib.agw).
NotebookCtrl
NotebookCtrl mimics the behavior of wx.Notebook, but with a lot of added functionalities, such as individual tab text fonts/text colours, individual tab colours, animation on tab images, enabling/disabling tabs, drag and drop of tabs, individual tab tooltips, tab context menus, different options to show/hide tabs, multiple tabs selection, tab panels reparenting, 2-colours gradients on tabs and a lot more options.
Last Update: 13-Mar-2007
Written in cooperation with Julianne Sharer.
FloatSpin
FloatSpin implements a floating point spin control for wxPython. In order to correctly handle the floating point numbers without having rounding errors or non-exact floating point number representations, it uses a very nice class that is capable, in theory, of handling infinite floating point precision.
Last Update: 08-Apr-2007
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the FloatSpin that ships with wxPython (in wx.lib.agw).
ThumbnailCtrl
ThumbnailCtrl is a widget, written in wxPython, that can be used to display a series of images in a "thumbnail" format; it mimics, for example, the Windows Explorer behavior when you select the "View Thumbnails" option.
Last Update: 13-Dec-2005
Written in cooperation with Peter Damoc.
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the ThumbnailCtrl that ships with wxPython (in wx.lib.agw).
PyAUI
PyAUI is an Advanced User Interface library that aims to implement "cutting-edge" interface usability and design features so developers can quickly and easily create beautiful and usable application interfaces.
PyAUI is a floating/docking library for wxPython. Its source code has been translated from the original C++ implementation wxAUI. It uses native floating frames, for every type of wxPython controls, including toolbars. All the drawing procedures can be customized.
Note: at present (08-Jan-2006) PyAUI should work on all the wxPython supported platforms.
Thanks to Chris Mellon who has done a great work to make PyAUI working on Mac.
Last Update: 08-Jan-2007
Warning: PyAUI Is currently deprecated. Please use the new AUI in wx.lib.agw.aui or at this link.
CustomTreeCtrl
CustomTreeCtrl mimics the behavior of a wxPython tree control, and implements almost all its styles and functionalities. However, this class represents an owner-drawn tree control and adds a lot of new methods and utilities with respect to the standard tree control.
This implementation is based on the generic wxWidgets C++ version of the control, heavily extended to include a huge number of new styles and customizations.
CustomTreeCtrl has been integrated into the standard wxPython library distribution since version 2.7.1.1, dated 18 Oct 2006
Warning: Unless you are supporting a wxPython version older than 2.7.1.1, you should use the CustomTreeCtrl that ships with wxPython (in wx.lib.agw).
Last Update: 10-Aug-2007
ButtonPanel
With
FancyButtonPanel class you have a panel with gradient coloring on it
and with the possibility to place some buttons on it.
Gradient coloring is kept behind the images - this was achieved due to
the PNG format and the transparency of the bitmaps.
This implementation is based on the wxWidgets C++ code from Eran Ifrah in the wxWidgets forum.
ButtonPanel has been integrated into the standard wxPython library distribution since version 2.7.1.1, dated 18 Oct 2006
Warning: Unless you are supporting a wxPython version older than 2.7.1.1, you should use the ButtonPanel that ships with wxPython (in wx.lib.agw).
Last Update: 30-Oct-2006
FlatNotebook
The FlatNotebook is a full implementation of the wx.Notebook, and designed to be a drop-in replacement for wx.Notebook. The API functions are similar so one can expect the function to behave in the same way.
This implementation is based on the wxWidgets C++ code from Eran Ifrah in the wxWidgets forum.
FlatNotebook has been integrated into the standard wxPython library distribution since version 2.7.1.1, dated 18 Oct 2006
Warning: Unless you are supporting a wxPython version older than 2.7.1.1, you should use the FlatNotebook that ships with wxPython (in wx.lib.agw).
Last Update: 28-Jun-2007
PyProgress
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the PyProgress that ships with wxPython (in wx.lib.agw).
KnobCtrl
KnobCtrl lets the user select a numerical value by rotating it. Simple but effective. It can be easily used if you want to simulate the volume knob of a music player or similar functionalities.
Last Update: 06-Nov-2006
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the KnobCtrl that ships with wxPython (in wx.lib.agw).
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the FourWaySplitter that ships with wxPython (in wx.lib.agw).
RulerCtrl
RulerCtrl implements a ruler window that can be placed on top, bottom, left or right to any wxPython widget. It is somewhat similar to the rulers you can find in text editors software.Last Update: 06-Nov-2006
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the RulerCtrl that ships with wxPython (in wx.lib.agw).
LabelBook
LabelBook and FlatImageBook share their appearance with wx.Toolbook and wx.Listbook, while having more options for custom drawings, label positioning, mouse pointing and so on. They retain also some visual characteristics of the Outlook address book.
Last
Update: 06-Nov-2006
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the LabelBook that ships with wxPython (in wx.lib.agw).
FlatMenu
FlatMenu, like the name implies, it is a generic menu implementation. I tried to provide a full functionality for menus, menubar and toolbar.
This implementation is based on the wxWidgets C++ code from Eran Ifrah in the wxWidgets forum.
Last Update: 15-Nov-2007
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the FlatMenu that ships with wxPython (in wx.lib.agw).
GUI2Exe
GUI2Exe is (my) first attemp to unify all the available "executable builders" for Python in a single and simple to use graphical user interface. At the moment only py2exe is supported (is the only one I know), but it shouldn' be hard to extend it.
It is available as source code (requires wxPython and py2exe) or as a Windows installer (no requirements)
Last Update: 08-Apr-2007
Warning: This GUI2Exe version is now obsolete! You should use the Python source code hosted at googlecode, and specifically here: http://code.google.com/p/gui2exe/
HyperTreeList
HyperTreeList mimics the behavior of a wxPython tree-list control, and implements almost all its styles and functionalities. However, this class represents an owner-drawn tree-list control and adds a lot of new methods and utilities with respect to the standard tree-list control.
This implementation is based on the generic wxWidgets C++ version of the control, heavily extended to include a huge number of new styles and customizations.
Last Update: 15-Nov-2007
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the HyperTreeList that ships with wxPython (in wx.lib.agw).
PyCollapsiblePane
PyCollapsiblePane is a generic implementation of the well known wxWidgets wxCollapsiblePane: the need of pure Python source code came from a request of increased flexibility for this control.
Note: This is not a rewrite-from-scratch implementation: is a translation from the existing C++ widget.
Last Update: 10-Aug-2007
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the PyCollapsiblePane that ships with wxPython (in wx.lib.agw).
CubeColourDialog
Ever wanted one of those fancy color picking dialogs that applications like Corel PhotoHouse have? If you did, here it is! The CubeColourDialog is an alternative implementation of wx.ColourDialog, and it offers different functionalities with respect to the default wxPython one. It can be used as a replacement of wx.ColourDialog with exactly the same syntax and methods.
Last Update: 28-Aug-2007
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the CubeColourDialog that ships with wxPython (in wx.lib.agw).
AquaButton is another custom-drawn button class which *approximatively* mimics the behaviour of Aqua buttons on the Mac. It sports many features of Aqua Buttons, such as bubble and shadow effects and pulse-on-focus behaviour.
Last Update: 09-Oct-2008
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the AquaButton that ships with wxPython (in wx.lib.agw).
This class represents a dialog that shows a single or multi-line message, with a choice of OK, Yes, No and Cancel buttons.
It is a possible replacement for the standard wx.MessageDialog, and offers many different and enhanced functionalities, not least the more eye-catching look :-D .
Last
Update: 09-Oct-2008
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the GenericMessageDialog that ships with wxPython (in wx.lib.agw).
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the GradientButton that ships with wxPython (in wx.lib.agw).
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the MultiDirDialog that ships with wxPython (in wx.lib.agw).
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the PeakMeterCtrl that ships with wxPython (in wx.lib.agw).
SuperToolTip
SuperToolTip is a class that mimics the behaviour of wx.TipWindow and generic tooltip windows, although it is a custom-drawn widget.
It sports many features, such as triple-blended gradient for the background colour, bold and hyperlink lines, header and footer with their associated images, rounded corners and shadows, and much more.
Last Update: 09-Oct-2008
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the SuperToolTip that ships with wxPython (in wx.lib.agw).
AUI
AUI is an Advanced User Interface library that aims to implement "cutting-edge" interface usability and design features so developers can quickly and easily create beautiful and usable application interfaces.
The wxPython AUI version fixes a lot of bugs in wxAUI and provides many new features, such us Visual Studio 2005 docking style (HUD) and AuiNotebook tab arts.
Warning: Unless you are supporting a wxPython version older than 2.8.9.2, you should use the AUI that ships with wxPython (in wx.lib.agw.aui).
Last Update: 31-Mar-2009
UltimateListCtrl
UltimateListCtrl is a class that mimics the behaviour of wx.ListCtrl, with almost the same base functionalities plus some more enhancements.
This class does not rely on the native control, as it is a full owner-drawn list control.
Last Update: 22-May-2009
RibbonBar
The RibbonBar library is a set of classes for writing a ribbon user interface.
At the most generic level, this is a combination of a tab control with a toolbar. At a more functional level, it is similar to the user interface present in recent versions of Microsoft Office.
Last Update: 16-Oct-2009
PersistentControls
Persistent objects are simply the objects which automatically save their state when they are destroyed and restore it when they are recreated, even during another program invocation.
Most often, persistent objects are, in fact, persistent windows as it is especially convenient to automatically restore the UI state when the program is restarted but an object of any class can be made persistent. Moreover, persistence is implemented in a non-intrusive way so that the original object class doesn't need to be modified at all in order to add support for saving and restoring its properties.
Last Update: 16-Nov-2009
XLSGrid
XLSGrid is a class based on wx.grid.Grid that can be used to
faithfully reproduce the appearance of a Microsoft Excel spreadsheet
(one worksheet per every instance of XLSGrid).
XLSGrid is a completely owner-drawn control, and it relies on the power
of PyGridTableBase and PyGridCellRenderer to draw the
cell content. For this reasons it will work efficiently only for
relatively small Excel files.
Last Update: 08-Aug-2011