Difference between revisions of "Comparison of wxSmith features"
Gururamnath (talk | contribs) (Added wxForms Info) |
Gururamnath (talk | contribs) (Added wxForms Info) |
||
Line 76: | Line 76: | ||
! VisualWx | ! VisualWx | ||
! wxDevC++ | ! wxDevC++ | ||
+ | ! wxForms | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxBitmapButton | ! style="text-align: left; background: #ececec;" | wxBitmapButton | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 86: | Line 88: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxBoxSizer | ! style="text-align: left; background: #ececec;" | wxBoxSizer | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 94: | Line 97: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxButton | ! style="text-align: left; background: #ececec;" | wxButton | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 105: | Line 109: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 110: | Line 115: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxCheckBox | ! style="text-align: left; background: #ececec;" | wxCheckBox | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 121: | Line 127: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 126: | Line 133: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxChoice | ! style="text-align: left; background: #ececec;" | wxChoice | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 139: | Line 147: | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
Line 147: | Line 156: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 156: | Line 166: | ||
| {{dunno}} | | {{dunno}} | ||
| {{dunno}} | | {{dunno}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxComboBox | ! style="text-align: left; background: #ececec;" | wxComboBox | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 171: | Line 183: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
Line 177: | Line 190: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 187: | Line 201: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 195: | Line 210: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 204: | Line 220: | ||
| {{dunno}} | | {{dunno}} | ||
| {{dunno}} | | {{dunno}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxDynamicSashWindow | ! style="text-align: left; background: #ececec;" | wxDynamicSashWindow | ||
Line 211: | Line 228: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxFlexGridSizer | ! style="text-align: left; background: #ececec;" | wxFlexGridSizer | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 227: | Line 246: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 236: | Line 256: | ||
| {{dunno}} | | {{dunno}} | ||
| {{dunno}} | | {{dunno}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxFindReplaceDialog | ! style="text-align: left; background: #ececec;" | wxFindReplaceDialog | ||
Line 243: | Line 264: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 251: | Line 273: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 260: | Line 283: | ||
| {{dunno}} | | {{dunno}} | ||
| {{dunno}} | | {{dunno}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxGauge | ! style="text-align: left; background: #ececec;" | wxGauge | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 275: | Line 300: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxGrid | ! style="text-align: left; background: #ececec;" | wxGrid | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 290: | Line 317: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxGridSizer | ! style="text-align: left; background: #ececec;" | wxGridSizer | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 307: | Line 336: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxHtmlListBox | ! style="text-align: left; background: #ececec;" | wxHtmlListBox | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
Line 321: | Line 352: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 331: | Line 363: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 339: | Line 372: | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxListBox | ! style="text-align: left; background: #ececec;" | wxListBox | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 350: | Line 385: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxListCtrl | ! style="text-align: left; background: #ececec;" | wxListCtrl | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 364: | Line 400: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxMediaCtrl | ! style="text-align: left; background: #ececec;" | wxMediaCtrl | ||
Line 371: | Line 408: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxMenu | ! style="text-align: left; background: #ececec;" | wxMenu | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 387: | Line 426: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 395: | Line 435: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxNotebook | ! style="text-align: left; background: #ececec;" | wxNotebook | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 411: | Line 453: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxPanel | ! style="text-align: left; background: #ececec;" | wxPanel | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 427: | Line 471: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 435: | Line 480: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 443: | Line 489: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
Line 452: | Line 499: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxRadioBox | ! style="text-align: left; background: #ececec;" | wxRadioBox | ||
Line 459: | Line 507: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxRadioButton | ! style="text-align: left; background: #ececec;" | wxRadioButton | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 470: | Line 520: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxRichTextCtrl | ! style="text-align: left; background: #ececec;" | wxRichTextCtrl | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 483: | Line 534: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
Line 491: | Line 543: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
Line 497: | Line 550: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 502: | Line 556: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxScrolledWindow | ! style="text-align: left; background: #ececec;" | wxScrolledWindow | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 515: | Line 570: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxSlider | ! style="text-align: left; background: #ececec;" | wxSlider | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 531: | Line 588: | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxSpinButton | ! style="text-align: left; background: #ececec;" | wxSpinButton | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 542: | Line 601: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxSpinCtrl | ! style="text-align: left; background: #ececec;" | wxSpinCtrl | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 550: | Line 610: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxSplitterWindow | ! style="text-align: left; background: #ececec;" | wxSplitterWindow | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 558: | Line 619: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxStaticBitmap | ! style="text-align: left; background: #ececec;" | wxStaticBitmap | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 570: | Line 632: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxStaticBoxSizer | ! style="text-align: left; background: #ececec;" | wxStaticBoxSizer | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 582: | Line 646: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxStaticLine | ! style="text-align: left; background: #ececec;" | wxStaticLine | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 590: | Line 655: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxStaticText | ! style="text-align: left; background: #ececec;" | wxStaticText | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 601: | Line 667: | ||
| {{yes}} | | {{yes}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 612: | Line 679: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxTextCtrl | ! style="text-align: left; background: #ececec;" | wxTextCtrl | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 627: | Line 696: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxToggleButton | ! style="text-align: left; background: #ececec;" | wxToggleButton | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 638: | Line 709: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxToolbar | ! style="text-align: left; background: #ececec;" | wxToolbar | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 646: | Line 718: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxTreebook | ! style="text-align: left; background: #ececec;" | wxTreebook | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
Line 654: | Line 727: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxTreeCtrl | ! style="text-align: left; background: #ececec;" | wxTreeCtrl | ||
+ | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 662: | Line 736: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxVListBox | ! style="text-align: left; background: #ececec;" | wxVListBox | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
Line 670: | Line 745: | ||
|- | |- | ||
! style="text-align: left; background: #ececec;" | wxVScrolledWindow | ! style="text-align: left; background: #ececec;" | wxVScrolledWindow | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
Line 683: | Line 759: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
Line 691: | Line 768: | ||
| {{no}} | | {{no}} | ||
| {{yes}} | | {{yes}} | ||
+ | | {{no}} | ||
| {{no}} | | {{no}} | ||
|- style="background: #ececec;" | |- style="background: #ececec;" | ||
Line 700: | Line 778: | ||
! VisualWx | ! VisualWx | ||
! wx-DevC++ | ! wx-DevC++ | ||
+ | ! wxForms | ||
|- | |- | ||
|} | |} |
Revision as of 11:48, 12 August 2007
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 | Free | Yes | GPL |
VisualWx | ? | Free | No | ? |
wxDevC++ | Guru Kathiresan , Tony Reina, Malcolm Nealon, Joel Low | Free | Yes | GPL |
wxForms | 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 |
---|---|---|---|---|---|---|---|
wxBitmapButton | No | Yes | Yes | Yes | Yes | Yes | 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 | No | No |
wxColourDialog | No | No | No | No | No | Yes | Yes |
wxColourPicker | ? | ? | ? | Yes | ? | ? | No |
wxComboBox | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxContextHelpButton | No | Yes | No | No | Yes | No | No |
wxDatePickerCtrl | Yes | Yes | No | Yes | Yes | Yes | Yes |
wxDialUpManager | No | No | No | No | No | Yes | Yes |
wxDirDialog | No | No | No | No | No | Yes | Yes |
wxDirPicker | ? | ? | ? | Yes | ? | ? | No |
wxDynamicSashWindow | No | No | No | No | Yes | No | No |
wxFlexGridSizer | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxFileDialog | No | No | No | No | No | Yes | Yes |
wxFilePicker | ? | ? | ? | Yes | ? | ? | No |
wxFindReplaceDialog | No | No | No | No | No | Yes | Yes |
wxFontDialog | No | No | No | No | No | Yes | Yes |
wxFontPicker | ? | ? | ? | Yes | ? | ? | No |
wxGauge | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxGenericDirCtrl | Yes | Yes | No | No | Yes | No | No |
wxGrid | No | Yes | Yes | Yes | Yes | Yes | Yes |
wxGridBagSizer | No | Yes | No | Yes | No | No | No |
wxGridSizer | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxHtmlEasyPrinting | No | No | No | No | No | Yes | Yes |
wxHtmlListBox | No | No | No | No | No | No | No |
wxHtmlWindow | Yes | Yes | No | Yes | Yes | Yes | Yes |
wxHyperLinkCtrl | No | No | No | No | No | Yes | Yes |
wxListbook | Yes | Yes | No | Yes | Yes | No | No |
wxListBox | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxListCtrl | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxListView | No | No | No | No | Yes | No | Yes |
wxMediaCtrl | No | No | No | No | No | Yes | Yes |
wxMenu | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxMessageDialog | No | No | No | No | No | Yes | Yes |
wxMultiChoiceDialog | No | No | No | No | No | Yes | Yes |
wxNotebook | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxOwnerDrawnComboBox | No | No | No | No | No | Yes | Yes |
wxPanel | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxPasswordEntryDialog | No | No | No | No | No | Yes | Yes |
wxPrintDialog | No | No | No | No | No | Yes | Yes |
wxProgressDialog | No | 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 |
wxSashLayoutWindow | No | Yes | No | No | Yes | No | No |
wxSashWindow | No | Yes | No | No | Yes | No | No |
wxScrollBar | Yes | Yes | No | Yes | Yes | Yes | Yes |
wxScrolledWindow | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxSingleChoiceDialog | No | No | No | No | No | Yes | 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 |
wxStdDialogButtonSizer | Yes | Yes | No | Yes | No | Yes | No |
wxTextCtrl | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxTextEntryDialog | No | No | No | No | No | Yes | Yes |
wxToggleButton | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxToolbar | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wxTreebook | No | No | No | No | No | No | 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 | No |
wxWizardPage | No | Yes | No | No | Yes | No | No |
Widget | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wx-DevC++ | wxForms |
Contrib widgets supported
Widget | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ |
---|---|---|---|---|---|---|
awxLed | No | No | No | Yes | No | No |
wxEditableListBox | No | No | No | No | Yes | No |
wxFlatNotebook | No | No | No | Yes | No | No |
wxLEDNumberCtrl | No | No | No | No | Yes | No |
wxPlotCtrl | No | No | No | Yes | No | No |
wxPlotWindow | No | No | No | No | Yes | No |
wxPropertyGrid | No | No | No | Yes | No | No |
wxPropertyGridManager | No | No | No | Yes | No | No |
wxScintilla | No | No | No | Yes | No | No |
wxStyledTextCtrl | No | No | No | No | Yes | Yes |
wxTreeListCtrl | No | No | No | No | No | Yes |
Widget | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ |
Languages supported
Feature | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ |
---|---|---|---|---|---|---|
C++ code output | Yes | Yes | Yes | Yes | Yes | Yes |
Python code output | No | Yes | Yes | No | Yes | No |
Lua code output | No | No | No | No | Yes | No |
Ruby code output | No | No | No | No | Yes | No |
Perl code output | No | No | Yes | No | Yes | No |
C# code output | No | No | Yes | No | No | No |
Basic code output | No | No | No | No | No | No |
Feature | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ |
Features supported
Feature | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ |
---|---|---|---|---|---|---|
XRC input | Yes† | Yes | Yes | Yes | Yes | No |
XRC output | Yes | Yes | Yes | Yes | Yes | Yes |
XRC code loading | Yes | Yes | No | Yes | ? | No |
Validators† | No | Yes | No | No | No | Yes |
Conditional UI† | No | Yes | No | No | No | No |
Event table and handler generation† | Partial | Yes | Partial | Yes | Partial | Yes |
Bitmaps support† | No | Yes | Yes | Partial | Yes | Yes |
English descriptions† | No | Yes | No | Yes | Yes | No |
Easy access to window pointers† | Yes | Yes | No | Yes | ? | Yes |
Visually creating custom controls | Partial | Yes | Partial | No | Partial | No |
Template controls† | No | No | No | No | Yes | No |
Sizer design | Yes | Yes | Yes | Yes | Yes | Yes |
Non-sizer design | Partial | No | No | No | Yes | Yes |
Feature | wxSmith | DialogBlocks | wxDesigner | wxFormBuilder | VisualWx | wxDevC++ |
- ^ 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.