Difference between revisions of "Comparison of wxSmith features"
Takeshi Miya (talk | contribs) |
MortenMacFly (talk | contribs) |
||
(116 intermediate revisions by 19 users not shown) | |||
Line 1: | Line 1: | ||
− | Here is a list of wxSmith features when compared to other wxWidgets RAD solutions. | + | [[Category:wxSmith Documentation]] |
− | Note that support for new features are added on a daily basis for some of these RADs. | + | Here is a list of [[wxSmith plugin|wxSmith]] features when compared to other [[wikipedia:WxWidgets|wxWidgets]] [[wikipedia:Rapid application development|RAD]] solutions. |
− | + | ||
+ | Note that support for new features are added on a daily basis for some of these [[wikipedia:Rapid application development|RADs]]. | ||
+ | |||
+ | Please update this list when something gets added. | ||
+ | |||
+ | ==General information== | ||
+ | Basic general information about the [[wikipedia:Rapid application development|RADs]]: developer, license/price etc. | ||
+ | {| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%;" | ||
+ | |- style="background: #ececec; border: solid 1px gray;" | ||
+ | ! style="width:12em" | [[wikipedia:Rapid application development|RAD]] | ||
+ | ! Developer | ||
+ | ! Cost ([[wikipedia:United States dollar|USD]]) | ||
+ | ! [[wikipedia:Open source|Open source]] | ||
+ | ! [[wikipedia:Software licence|Software licence]] | ||
+ | |- style="border: solid 1px gray;" | ||
+ | ! style="text-align: left; background: #ececec;" | [[wxSmith plugin|wxSmith]] | ||
+ | | Bartlomiej Swiecki | ||
+ | | Free | ||
+ | | Yes | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | |- style="border: solid 1px gray;" | ||
+ | ! style="text-align: left; background: #ececec;" | [http://www.anthemion.co.uk/dialogblocks/ DialogBlocks] | ||
+ | | Julian Smart | ||
+ | | Free (trial), €66 (normal), €35 (student) | ||
+ | | No | ||
+ | | [[wikipedia:Proprietary software|Proprietary]] | ||
+ | |- style="border: solid 1px gray;" | ||
+ | ! style="text-align: left; background: #ececec;" | [http://www.roebling.de/ wxDesigner] | ||
+ | | Robert Roebling | ||
+ | | Free (trial), €129 (normal), €29 (student) | ||
+ | | No | ||
+ | | [[wikipedia:Proprietary software|Proprietary]] | ||
+ | |- style="border: solid 1px gray;" | ||
+ | ! style="text-align: left; background: #ececec;" | [http://wxformbuilder.org/ wxFormBuilder] | ||
+ | | José Antonio Hurtado, Juan Antonio Ortega, Ryan Mulder, Ryan Pusztai, Michal Bliznak | ||
+ | | Free | ||
+ | | Yes | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | |- style="border: solid 1px gray;" | ||
+ | ! style="text-align: left; background: #ececec;" | [http://visualwx.altervista.org/ VisualWx] | ||
+ | | {{dunno}} | ||
+ | | Free | ||
+ | | No | ||
+ | | {{dunno}} | ||
+ | |- style="border: solid 1px gray;" | ||
+ | ! style="text-align: left; background: #ececec;" | [http://wxdsgn.sf.net/ wxDevC++] | ||
+ | | Guru Kathiresan , Tony Reina, Malcolm Nealon, Joel Low | ||
+ | | Free | ||
+ | | Yes | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | |- style="border: solid 1px gray;" | ||
+ | ! style="text-align: left; background: #ececec;" | [http://twinforms.com/ wxForms for Delphi / C++ Builder] | ||
+ | | Guru Kathiresan | ||
+ | | Free (trial), $29.99 | ||
+ | | No | ||
+ | | [[wikipedia:Proprietary software|Proprietary]] | ||
+ | |- style="background: #ececec; border: solid 1px gray;" | ||
+ | ! [[wikipedia:Rapid application development|RAD]] | ||
+ | ! Developer | ||
+ | ! Cost ([[wikipedia:United States dollar|USD]]) | ||
+ | ! [[wikipedia:Open source|Open source]] | ||
+ | ! [[wikipedia:Software licence|Software licence]] | ||
+ | |- | ||
+ | |} | ||
==Widgets supported== | ==Widgets supported== | ||
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;" | {| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;" | ||
|- style="background: #ececec;" | |- style="background: #ececec;" | ||
− | ! style="width: | + | ! style="width: 17em" | Widget |
− | ! | + | ! wxSmith |
− | ! | + | ! DialogBlocks |
− | ! | + | ! wxDesigner |
− | ! | + | ! wxFormBuilder |
+ | ! VisualWx | ||
+ | ! wxDevC++ | ||
+ | ! wxForms | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxAnimationCtrl | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxAuiManager | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxAuiNotebook | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxAuiToolBar | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxAuiToolBarItem | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxAuiToolBarLabel | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxAuiToolBarSeparator | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxAuiToolBarSpacer | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxBitmapButton | ! style="text-align: left; background: #ececec;" | wxBitmapButton | ||
− | |||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxBitmapComboBox | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxBoxSizer | ! style="text-align: left; background: #ececec;" | wxBoxSizer | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 24: | Line 178: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxButton | ! style="text-align: left; background: #ececec;" | wxButton | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 32: | Line 190: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxCheckBox | ! style="text-align: left; background: #ececec;" | wxCheckBox | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 42: | Line 208: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxChoice | ! style="text-align: left; background: #ececec;" | wxChoice | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 50: | Line 224: | ||
! style="text-align: left; background: #ececec;" | wxChoicebook | ! style="text-align: left; background: #ececec;" | wxChoicebook | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxColourDialog | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxColourPickerCtrl | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxComboBox | ! style="text-align: left; background: #ececec;" | wxComboBox | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 59: | Line 259: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxContextHelpButton | ! style="text-align: left; background: #ececec;" | wxContextHelpButton | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
Line 67: | Line 271: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxDialUpManager | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxDirDialog | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxDirPickerCtrl | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxFileDialog | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxFilePickerCtrl | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxFindReplaceDialog | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxFlexGridSizer | ! style="text-align: left; background: #ececec;" | wxFlexGridSizer | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxFontDialog | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxFontPickerCtrl | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxGauge | ! style="text-align: left; background: #ececec;" | wxGauge | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 81: | Line 369: | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxGLCanvas | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxGrid | ! style="text-align: left; background: #ececec;" | wxGrid | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxGridBagSizer | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxGridSizer | ! style="text-align: left; background: #ececec;" | wxGridSizer | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxHtmlEasyPrinting | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 97: | Line 424: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxHtmlWindow | ! style="text-align: left; background: #ececec;" | wxHtmlWindow | ||
Line 102: | Line 433: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxHyperLinkCtrl | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxImage | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxImageList | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxListbook | ! style="text-align: left; background: #ececec;" | wxListbook | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxListBox | ! style="text-align: left; background: #ececec;" | wxListBox | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 114: | Line 484: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxListCtrl | ! style="text-align: left; background: #ececec;" | wxListCtrl | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 119: | Line 493: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxListView | ! style="text-align: left; background: #ececec;" | wxListView | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxMediaCtrl | ||
+ | | {{yes}}{{refun|svn}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxMenu | ! style="text-align: left; background: #ececec;" | wxMenu | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxMenuBar | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxMessageDialog | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxMultiChoiceDialog | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
Line 129: | Line 547: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxNotebook | ! style="text-align: left; background: #ececec;" | wxNotebook | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxOwnerDrawnComboBox | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxPageSetupDialog | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxPanel | ! style="text-align: left; background: #ececec;" | wxPanel | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxPasswordEntryDialog | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxPrintDialog | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxProgressDialog | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxPropertySheetDialog | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxRadioBox | ! style="text-align: left; background: #ececec;" | wxRadioBox | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxRadioButton | ! style="text-align: left; background: #ececec;" | wxRadioButton | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxRichTextCtrl | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxRichTextFormattingDialog | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxRichTextStyleComboCtrl | ||
+ | | {{yes}}{{refun|patch}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxRichTextStyleListBox | ||
+ | | {{yes}}{{refun|patch}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxRichTextStyleListCtrl | ||
+ | | {{yes}}{{refun|patch}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxRichTextStyleOrganiserDialog | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxSashLayoutWindow | ! style="text-align: left; background: #ececec;" | wxSashLayoutWindow | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxSashWindow | ! style="text-align: left; background: #ececec;" | wxSashWindow | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
Line 162: | Line 712: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxScrolledWindow | ! style="text-align: left; background: #ececec;" | wxScrolledWindow | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxSearchCtrl | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxSimpleHtmlListBox | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxSingleChoiceDialog | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxSingleInstanceChecker | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxSlider | ! style="text-align: left; background: #ececec;" | wxSlider | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 177: | Line 775: | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxSpinButton | ! style="text-align: left; background: #ececec;" | wxSpinButton | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 184: | Line 790: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxSpinCtrl | ! style="text-align: left; background: #ececec;" | wxSpinCtrl | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 189: | Line 799: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxSplitterWindow | ! style="text-align: left; background: #ececec;" | wxSplitterWindow | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 194: | Line 808: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxStaticBitmap | ! style="text-align: left; background: #ececec;" | wxStaticBitmap | ||
− | | {{ | + | | {{yes}} |
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 202: | Line 820: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxStaticBoxSizer | ! style="text-align: left; background: #ececec;" | wxStaticBoxSizer | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 209: | Line 835: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxStaticLine | ! style="text-align: left; background: #ececec;" | wxStaticLine | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 214: | Line 844: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxStaticText | ! style="text-align: left; background: #ececec;" | wxStaticText | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 219: | Line 853: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxStatusBar | ! style="text-align: left; background: #ececec;" | wxStatusBar | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
− | | {{ | + | | {{yes}} |
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxStopWatch | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxSymbolPickerDialog | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxStdDialogButtonSizer | ! style="text-align: left; background: #ececec;" | wxStdDialogButtonSizer | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxTextCtrl | ! style="text-align: left; background: #ececec;" | wxTextCtrl | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxTextEntryDialog | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxTimer | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxToggleButton | ! style="text-align: left; background: #ececec;" | wxToggleButton | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
− | | {{ | + | | {{yes}} |
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxToolbar | ! style="text-align: left; background: #ececec;" | wxToolbar | ||
− | | {{ | + | | {{yes}} |
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxTreebook | ! style="text-align: left; background: #ececec;" | wxTreebook | ||
+ | | {{yes}}{{refun|svn}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxTreeCtrl | ! style="text-align: left; background: #ececec;" | wxTreeCtrl | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 254: | Line 952: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxVListBox | ! style="text-align: left; background: #ececec;" | wxVListBox | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
Line 259: | Line 961: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxVScrolledWindow | ! style="text-align: left; background: #ececec;" | wxVScrolledWindow | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
Line 266: | Line 972: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxWizardPage | ! style="text-align: left; background: #ececec;" | wxWizardPage | ||
− | | {{ | + | | {{no}} |
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- style="background: #ececec;" | |- style="background: #ececec;" | ||
! Widget | ! Widget | ||
− | ! | + | ! wxSmith |
− | ! | + | ! DialogBlocks |
− | ! | + | ! wxDesigner |
+ | ! wxFormBuilder | ||
+ | ! VisualWx | ||
+ | ! wx-DevC++ | ||
+ | ! wxForms | ||
|- | |- | ||
|} | |} | ||
+ | *{{note|patch}} Currently available via patch but should be integrated into the main distribution soon. | ||
+ | *{{note|svn}} Currently available from the SVN repository and in nightly builds and will be part of the next release. | ||
+ | ==Contrib widgets supported== | ||
+ | {| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;" | ||
+ | |- style="background: #ececec;" | ||
+ | ! style="width: 17em" | Widget | ||
+ | ! wxSmith | ||
+ | ! DialogBlocks | ||
+ | ! wxDesigner | ||
+ | ! wxFormBuilder | ||
+ | ! VisualWx | ||
+ | ! wxDevC++ | ||
+ | ! wxForms | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | awxLed | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxChartCtrl | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxCustomButton | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxDynamicSashWindow | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxEditableListBox | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxFlatNotebook | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxImageButton | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxImagePanel | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxLEDNumberCtrl | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxMathPlot | ||
+ | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | | {{dunno}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxPlotCtrl | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxPlotWindow | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxPropertyGrid | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxPropertyGridManager | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxScintilla | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxStyledTextCtrl | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | wxTreeListCtrl | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | |- style="background: #ececec;" | ||
+ | ! Widget | ||
+ | ! wxSmith | ||
+ | ! DialogBlocks | ||
+ | ! wxDesigner | ||
+ | ! wxFormBuilder | ||
+ | ! VisualWx | ||
+ | ! wxDevC++ | ||
+ | ! wxForms | ||
+ | |- | ||
+ | |} | ||
− | == | + | ==Languages supported== |
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;" | {| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;" | ||
|- style="background: #ececec;" | |- style="background: #ececec;" | ||
− | ! style="width: | + | ! style="width: 17em" | Feature |
− | ! | + | ! wxSmith |
− | ! | + | ! DialogBlocks |
− | ! | + | ! wxDesigner |
+ | ! wxFormBuilder | ||
+ | ! VisualWx | ||
+ | ! wxDevC++ | ||
+ | ! wxForms | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | C++ code output | ! style="text-align: left; background: #ececec;" | C++ code output | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | Delphi / Pascal code output | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 299: | Line 1,211: | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | Lua code output | ! style="text-align: left; background: #ececec;" | Lua code output | ||
| {{no}} | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
Line 307: | Line 1,227: | ||
! style="text-align: left; background: #ececec;" | Ruby code output | ! style="text-align: left; background: #ececec;" | Ruby code output | ||
| {{no}} | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
Line 314: | Line 1,238: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
|- | |- | ||
− | ! style="text-align: left; background: #ececec;" | | + | ! style="text-align: left; background: #ececec;" | C# code output |
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
|- | |- | ||
− | ! style="text-align: left; background: #ececec;" | | + | ! style="text-align: left; background: #ececec;" | Basic code output |
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
− | | { | + | |- style="background: #ececec;" |
+ | ! Feature | ||
+ | ! wxSmith | ||
+ | ! DialogBlocks | ||
+ | ! wxDesigner | ||
+ | ! wxFormBuilder | ||
+ | ! VisualWx | ||
+ | ! wxDevC++ | ||
+ | ! wxForms | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==Features supported== | ||
+ | {| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;" | ||
+ | |- style="background: #ececec;" | ||
+ | ! style="width: 17em" | Feature | ||
+ | ! wxSmith | ||
+ | ! DialogBlocks | ||
+ | ! wxDesigner | ||
+ | ! wxFormBuilder | ||
+ | ! VisualWx | ||
+ | ! wxDevC++ | ||
+ | ! wxForms | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | XRC input | ! style="text-align: left; background: #ececec;" | XRC input | ||
+ | | {{yes}}{{refun|XRCnotworks}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | XRC output | ! style="text-align: left; background: #ececec;" | XRC output | ||
Line 334: | Line 1,297: | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | XRC code loading | ! style="text-align: left; background: #ececec;" | XRC code loading | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
− | ! style="text-align: left; background: #ececec;" | Validators | + | ! style="text-align: left; background: #ececec;" | Validators{{refun|Validators}} |
+ | | {{partial}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- | |- | ||
− | ! style="text-align: left; background: #ececec;" | Conditional UI | + | ! style="text-align: left; background: #ececec;" | Conditional UI{{refun|ConditionalUI}} |
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
− | ! style="text-align: left; background: #ececec;" | Event table and handler generation | + | ! style="text-align: left; background: #ececec;" | Event table and handler generation{{refun|EventTable}} |
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{partial}} | | {{partial}} | ||
| {{yes}} | | {{yes}} | ||
| {{partial}} | | {{partial}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- | |- | ||
− | ! style="text-align: left; background: #ececec;" | | + | ! style="text-align: left; background: #ececec;" | Bitmaps support{{refun|Bitmaps}} |
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{partial}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | English descriptions{{refun|EnglishDesc}} | ||
+ | | {{no}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
|- | |- | ||
− | ! style="text-align: left; background: #ececec;" | | + | ! style="text-align: left; background: #ececec;" | Easy access to window pointers{{refun|WindowPointers}} |
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{dunno}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | |- | ||
+ | ! style="text-align: left; background: #ececec;" | Visually creating custom controls | ||
+ | | {{partial}} | ||
+ | | {{yes}} | ||
+ | | {{partial}} | ||
+ | | {{partial}} | ||
+ | | {{partial}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
− | ! style="text-align: left; background: #ececec;" | | + | ! style="text-align: left; background: #ececec;" | Template controls{{refun|TemplateControls}} |
+ | | {{no}} | ||
+ | | {{no}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
− | ! style="text-align: left; background: #ececec;" | | + | ! style="text-align: left; background: #ececec;" | Sizer design |
− | | {{ | + | | {{yes}} |
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
− | |||
|- | |- | ||
! style="text-align: left; background: #ececec;" | Non-sizer design | ! style="text-align: left; background: #ececec;" | Non-sizer design | ||
+ | | {{yes}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
− | + | | {{yes}} | |
+ | | {{yes}} | ||
+ | | {{yes}} | ||
|- style="background: #ececec;" | |- style="background: #ececec;" | ||
! Feature | ! Feature | ||
− | ! | + | ! wxSmith |
− | ! | + | ! DialogBlocks |
− | ! | + | ! wxDesigner |
+ | ! wxFormBuilder | ||
+ | ! VisualWx | ||
+ | ! wxDevC++ | ||
+ | ! wxForms | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | *{{note|XRCnotworks}} Currently, only one dialog resource per XRC file is imported. | ||
+ | |||
+ | === Features explained === | ||
+ | |||
+ | ==== {{note|Validators}}Validators ==== | ||
+ | |||
+ | The aim of the validator concept is to make dialogs very much easier to write. A validator is an object that can be plugged into a control (such as a wxTextCtrl), and mediates between C++ data and the control, transferring the data in either direction and validating it. It also is able to intercept events generated by the control, providing filtering behaviour without the need to derive a new control class. | ||
+ | |||
+ | How to use validators in a RAD that supports this concept: Just add a variable, select the variable and a validator, and the data transfer between variable and control is done for you. | ||
+ | |||
+ | ==== {{note|ConditionalUI}}Conditional UI ==== | ||
+ | |||
+ | It's the ability to adapt the user interface to the UI guidelines of different platform. | ||
+ | |||
+ | Just mark elements as for one platform (or several), and preview the look for any given platform. | ||
+ | |||
+ | [[Image:Conditional ui.PNG|Example of how it looks on DialogBlocks]] | ||
+ | |||
+ | ==== {{note|EventTable}}Event table and handler generation ==== | ||
+ | |||
+ | The RAD generates the event tables and empty handlers (including UI update handlers) so you can immediately concentrate on writing code to make the dialog come to life. | ||
+ | |||
+ | It includes a choice of event types for each window, with function name editing. | ||
+ | |||
+ | '''DialogBlocks Event Handler''' | ||
+ | |||
+ | Here DialogBlocks haves the list of event handlers. | ||
+ | |||
+ | The most noticeable feature here is that if you do a double-click on a event, you're transported to the function associated in the code. It's very handy. | ||
+ | |||
+ | [[Image:Event handler dialogblocks.PNG|Event Tables in DialogBlocks]] | ||
+ | |||
+ | '''VisualWx Event Handler''' | ||
+ | |||
+ | Here VisualWx filters the events: | ||
+ | * Base wxWidgets Events | ||
+ | * Component Events | ||
+ | * Windows Events | ||
+ | * VisualWx Events | ||
+ | * Custom Events | ||
+ | |||
+ | [[Image:Event handler visualwx.PNG|Event Tables in VisualWx]] | ||
+ | |||
+ | ==== {{note|Bitmaps}}Bitmap support ==== | ||
+ | |||
+ | Bitmaps support means that you can import images into your project from a variety of formats and associate them with your static bitmap and bitmap button controls. | ||
+ | |||
+ | You can specify whether the bitmaps will converted into XPM format (the standard format for small bitmaps in wxWidgets) and whether the XPM image will be inserted as inline C++ code, or loaded from a file. | ||
+ | |||
+ | ==== {{note|EnglishDesc}}English descriptions ==== | ||
+ | |||
+ | English descriptions show a brief description of each element, to help you get used to sizers and also to make it easier to see at a glance the important aspects of your dialog element. | ||
+ | |||
+ | [[Image:Rad english descriptions.PNG|An example of DialogBlocks English descriptions]] | ||
+ | |||
+ | ==== {{note|WindowPointers}}Easy access to window pointers ==== | ||
+ | |||
+ | The ''easy access to window pointers'' concept means: | ||
+ | |||
+ | Give each window a variable name, and the RAD will add the name to the class declaration, and initialise it to the appropriate window in the implementation. | ||
+ | |||
+ | In XRC mode, the RAD can generate the code to find the window and assign it to the pointer variable. | ||
+ | |||
+ | ==== {{note|TemplateControls}}Template controls ==== | ||
+ | |||
+ | Template controls are sets of most common widgets together, like an Ok/Cancel pair buttons inside a sizer, being user-definable. |
Latest revision as of 07:51, 7 January 2013
Here is a list of wxSmith features when compared to other wxWidgets RAD solutions.
Note that support for new features are added on a daily basis for some of these RADs.
Please update this list when something gets added.
General information
Basic general information about the RADs: developer, license/price etc.
RAD | Developer | Cost (USD) | Open source | Software licence |
---|---|---|---|---|
wxSmith | Bartlomiej Swiecki | Free | Yes | GPL |
DialogBlocks | Julian Smart | Free (trial), €66 (normal), €35 (student) | No | Proprietary |
wxDesigner | Robert Roebling | Free (trial), €129 (normal), €29 (student) | No | Proprietary |
wxFormBuilder | José Antonio Hurtado, Juan Antonio Ortega, Ryan Mulder, Ryan Pusztai, Michal Bliznak | Free | Yes | GPL |
VisualWx | ? | Free | No | ? |
wxDevC++ | Guru Kathiresan , Tony Reina, Malcolm Nealon, Joel Low | Free | Yes | GPL |
wxForms for Delphi / C++ Builder | Guru Kathiresan | Free (trial), $29.99 | No | Proprietary |
RAD | Developer | Cost (USD) | Open source | Software licence |
Widgets supported
Widget | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ | wxForms |
---|---|---|---|---|---|---|---|
wxAnimationCtrl | Yes† | Yes | No | Yes | No | Yes | Yes |
wxAuiManager | Yes | ? | ? | ? | ? | ? | ? |
wxAuiNotebook | Yes | Yes | No | Yes | No | Yes | Yes |
wxAuiToolBar | Yes | ? | ? | ? | ? | ? | ? |
wxAuiToolBarItem | Yes | ? | ? | ? | ? | ? | ? |
wxAuiToolBarLabel | Yes | ? | ? | ? | ? | ? | ? |
wxAuiToolBarSeparator | Yes | ? | ? | ? | ? | ? | ? |
wxAuiToolBarSpacer | Yes | ? | ? | ? | ? | ? | ? |
wxBitmapButton | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxBitmapComboBox | Yes† | ? | ? | ? | ? | ? | ? |
wxBoxSizer | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxButton | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxCalendarCtrl | Yes | Yes | No | Yes | Yes | Yes | Yes |
wxCheckBox | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxCheckListBox | Yes | Yes | No | Yes | Yes | Yes | Yes |
wxChoice | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxChoicebook | Yes | Yes | No | Yes | Yes | Yes | No |
wxColourDialog | Yes | No | No | No | No | Yes | Yes |
wxColourPickerCtrl | Yes† | ? | ? | Yes | ? | Yes | No |
wxComboBox | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxContextHelpButton | Yes† | Yes | No | No | Yes | No | No |
wxDatePickerCtrl | Yes | Yes | No | Yes | Yes | Yes | Yes |
wxDialUpManager | Yes† | No | No | No | No | Yes | Yes |
wxDirDialog | Yes | No | No | No | No | Yes | Yes |
wxDirPickerCtrl | Yes† | ? | ? | Yes | ? | Yes | No |
wxFileDialog | Yes | No | No | No | No | Yes | Yes |
wxFilePickerCtrl | Yes† | ? | ? | Yes | ? | Yes | No |
wxFindReplaceDialog | Yes† | No | No | No | No | Yes | Yes |
wxFlexGridSizer | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxFontDialog | Yes† | No | No | No | No | Yes | Yes |
wxFontPickerCtrl | Yes† | ? | ? | Yes | ? | Yes | No |
wxGauge | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxGenericDirCtrl | Yes | Yes | No | Yes | Yes | No | No |
wxGLCanvas | Yes | ? | ? | ? | ? | ? | ? |
wxGrid | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxGridBagSizer | No | Yes | No | Yes | No | No | No |
wxGridSizer | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxHtmlEasyPrinting | Yes† | No | No | No | No | Yes | Yes |
wxHtmlListBox | No | No | No | No | No | No | Yes |
wxHtmlWindow | Yes | Yes | No | Yes | Yes | Yes | Yes |
wxHyperLinkCtrl | Yes† | No | No | Yes | No | Yes | Yes |
wxImage | Yes† | ? | ? | ? | ? | ? | ? |
wxImageList | Yes† | No | No | No | No | No | Yes |
wxListbook | Yes | Yes | No | Yes | Yes | Yes | No |
wxListBox | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxListCtrl | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxListView | Yes† | No | No | No | Yes | No | Yes |
wxMediaCtrl | Yes† | No | No | No | No | Yes | Yes |
wxMenu | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxMenuBar | Yes | ? | ? | ? | ? | ? | ? |
wxMessageDialog | Yes† | No | No | No | No | Yes | Yes |
wxMultiChoiceDialog | Yes | No | No | No | No | Yes | Yes |
wxNotebook | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxOwnerDrawnComboBox | No | No | No | No | No | Yes | Yes |
wxPageSetupDialog | Yes† | ? | ? | ? | ? | ? | ? |
wxPanel | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxPasswordEntryDialog | Yes† | No | No | No | No | Yes | Yes |
wxPrintDialog | Yes† | No | No | No | No | Yes | Yes |
wxProgressDialog | Yes† | No | No | No | No | Yes | Yes |
wxPropertySheetDialog | No | Yes | No | No | No | No | Yes |
wxRadioBox | Yes | Yes | Yes | Yes | No | Yes | Yes |
wxRadioButton | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxRichTextCtrl | Yes† | Yes | Yes | Yes | Yes | Yes | Yes |
wxRichTextFormattingDialog | Yes† | ? | ? | ? | ? | ? | ? |
wxRichTextStyleComboCtrl | Yes† | ? | ? | ? | ? | ? | ? |
wxRichTextStyleListBox | Yes† | ? | ? | ? | ? | ? | ? |
wxRichTextStyleListCtrl | Yes† | ? | ? | ? | ? | ? | ? |
wxRichTextStyleOrganiserDialog | Yes† | ? | ? | ? | ? | ? | ? |
wxSashLayoutWindow | Yes | Yes | No | No | Yes | No | No |
wxSashWindow | Yes | Yes | No | No | Yes | No | No |
wxScrollBar | Yes | Yes | No | Yes | Yes | Yes | Yes |
wxScrolledWindow | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxSearchCtrl | Yes† | ? | ? | Yes | ? | ? | ? |
wxSimpleHtmlListBox | Yes† | ? | ? | ? | ? | ? | ? |
wxSingleChoiceDialog | Yes | No | No | No | No | Yes | Yes |
wxSingleInstanceChecker | Yes | ? | ? | ? | ? | ? | ? |
wxSlider | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxSpacer | Yes | Yes | Yes | Yes | Yes | No | No |
wxSpinButton | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxSpinCtrl | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxSplitterWindow | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxStaticBitmap | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxStaticBox | Yes | Yes | No | No | Yes | Yes | Yes |
wxStaticBoxSizer | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxStaticLine | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxStaticText | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxStatusBar | Yes | Yes | No | Yes | Yes | Yes | Yes |
wxStopWatch | Yes | ? | ? | ? | ? | ? | ? |
wxSymbolPickerDialog | Yes | ? | ? | ? | ? | ? | ? |
wxStdDialogButtonSizer | Yes | Yes | No | Yes | No | Yes | Yes |
wxTextCtrl | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxTextEntryDialog | Yes† | No | No | No | No | Yes | Yes |
wxTimer | Yes | ? | ? | ? | ? | ? | ? |
wxToggleButton | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxToolbar | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxTreebook | Yes† | No | No | No | No | Yes | No |
wxTreeCtrl | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxVListBox | No | No | No | No | No | No | No |
wxVScrolledWindow | No | No | No | No | No | No | No |
wxWindow (Foreign) | No | Yes | Yes | No | Yes | No | Yes |
wxWizardPage | No | Yes | No | No | Yes | No | No |
Widget | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wx-DevC++ | wxForms |
- ^ Currently available via patch but should be integrated into the main distribution soon.
- ^ Currently available from the SVN repository and in nightly builds and will be part of the next release.
Contrib widgets supported
Widget | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ | wxForms |
---|---|---|---|---|---|---|---|
awxLed | Yes | No | No | Yes | No | No | No |
wxChartCtrl | Yes | ? | ? | ? | ? | ? | ? |
wxCustomButton | Yes | ? | ? | ? | ? | ? | ? |
wxDynamicSashWindow | No | No | No | No | Yes | No | No |
wxEditableListBox | No | No | No | No | Yes | No | No |
wxFlatNotebook | Yes | No | No | Yes | No | No | No |
wxImageButton | Yes | ? | ? | ? | ? | ? | ? |
wxImagePanel | Yes | ? | ? | ? | ? | ? | ? |
wxLEDNumberCtrl | No | No | No | No | Yes | No | No |
wxMathPlot | Yes | ? | ? | ? | ? | ? | ? |
wxPlotCtrl | No | No | No | Yes | No | No | No |
wxPlotWindow | No | No | No | No | Yes | No | No |
wxPropertyGrid | No | No | No | Yes | No | No | No |
wxPropertyGridManager | No | No | No | Yes | No | No | No |
wxScintilla | No | No | No | Yes | No | No | No |
wxStyledTextCtrl | Yes | No | No | No | Yes | Yes | No |
wxTreeListCtrl | No | No | No | Yes | No | Yes | No |
Widget | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ | wxForms |
Languages supported
Feature | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ | wxForms |
---|---|---|---|---|---|---|---|
C++ code output | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Delphi / Pascal code output | No | No | No | No | No | No | Yes |
Python code output | No | Yes | Yes | Yes | Yes | No | No |
Lua code output | No | No | No | No | Yes | No | No |
Ruby code output | No | No | No | No | Yes | No | No |
Perl code output | No | No | Yes | No | Yes | No | No |
C# code output | No | No | Yes | No | No | No | No |
Basic code output | No | No | No | No | No | No | No |
Feature | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ | wxForms |
Features supported
Feature | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ | wxForms |
---|---|---|---|---|---|---|---|
XRC input | Yes† | Yes | Yes | Yes | Yes | No | No |
XRC output | Yes | Yes | Yes | Yes | Yes | Yes | No |
XRC code loading | Yes | Yes | No | Yes | ? | No | No |
Validators† | Partial | Yes | No | Yes | No | Yes | Yes |
Conditional UI† | No | Yes | No | No | No | No | No |
Event table and handler generation† | Yes | Yes | Partial | Yes | Partial | Yes | Yes |
Bitmaps support† | Yes | Yes | Yes | Partial | Yes | Yes | Yes |
English descriptions† | No | Yes | No | Yes | Yes | No | No |
Easy access to window pointers† | Yes | Yes | No | Yes | ? | Yes | Yes |
Visually creating custom controls | Partial | Yes | Partial | Partial | Partial | No | No |
Template controls† | No | No | No | No | Yes | No | No |
Sizer design | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Non-sizer design | Yes | No | No | No | Yes | Yes | Yes |
Feature | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ | wxForms |
- ^ Currently, only one dialog resource per XRC file is imported.
Features explained
^ Validators
The aim of the validator concept is to make dialogs very much easier to write. A validator is an object that can be plugged into a control (such as a wxTextCtrl), and mediates between C++ data and the control, transferring the data in either direction and validating it. It also is able to intercept events generated by the control, providing filtering behaviour without the need to derive a new control class.
How to use validators in a RAD that supports this concept: Just add a variable, select the variable and a validator, and the data transfer between variable and control is done for you.
^ Conditional UI
It's the ability to adapt the user interface to the UI guidelines of different platform.
Just mark elements as for one platform (or several), and preview the look for any given platform.
^ Event table and handler generation
The RAD generates the event tables and empty handlers (including UI update handlers) so you can immediately concentrate on writing code to make the dialog come to life.
It includes a choice of event types for each window, with function name editing.
DialogBlocks Event Handler
Here DialogBlocks haves the list of event handlers.
The most noticeable feature here is that if you do a double-click on a event, you're transported to the function associated in the code. It's very handy.
VisualWx Event Handler
Here VisualWx filters the events:
- Base wxWidgets Events
- Component Events
- Windows Events
- VisualWx Events
- Custom Events
^ Bitmap support
Bitmaps support means that you can import images into your project from a variety of formats and associate them with your static bitmap and bitmap button controls.
You can specify whether the bitmaps will converted into XPM format (the standard format for small bitmaps in wxWidgets) and whether the XPM image will be inserted as inline C++ code, or loaded from a file.
^ English descriptions
English descriptions show a brief description of each element, to help you get used to sizers and also to make it easier to see at a glance the important aspects of your dialog element.
^ Easy access to window pointers
The easy access to window pointers concept means:
Give each window a variable name, and the RAD will add the name to the class declaration, and initialise it to the appropriate window in the implementation.
In XRC mode, the RAD can generate the code to find the window and assign it to the pointer variable.
^ Template controls
Template controls are sets of most common widgets together, like an Ok/Cancel pair buttons inside a sizer, being user-definable.