]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xmlrsall.cpp
Don't crash if XRC file contains '_' at the end of a string.
[wxWidgets.git] / src / xrc / xmlrsall.cpp
index 73df95c094aa2070c7c6a7e4d015719b3c331381..e823ea9e0087da02aad773f7dc613dbf8e59f0c4 100644 (file)
 
 void wxXmlResource::InitAllHandlers()
 {
+    // these are the handlers, which we always have
+    AddHandler(new wxUnknownWidgetXmlHandler);
     AddHandler(new wxBitmapXmlHandler);
     AddHandler(new wxIconXmlHandler);
-    AddHandler(new wxMenuXmlHandler);
-    AddHandler(new wxMenuBarXmlHandler);
     AddHandler(new wxDialogXmlHandler);
     AddHandler(new wxPanelXmlHandler);
     AddHandler(new wxSizerXmlHandler);
+    AddHandler(new wxFrameXmlHandler);
+    AddHandler(new wxScrolledWindowXmlHandler);
+
+    // these are configurable handlers
+    //
+    // please keep them in alphabetical order of wxUSE_XXX guards
+#if wxUSE_ANIMATIONCTRL
+    AddHandler(new wxAnimationCtrlXmlHandler);
+#endif
+#if wxUSE_BANNERWINDOW
+    AddHandler(new wxBannerWindowXmlHandler);
+#endif
+#if wxUSE_BITMAPCOMBOBOX
+    AddHandler(new wxBitmapComboBoxXmlHandler);
+#endif
+#if wxUSE_BMPBUTTON
+    AddHandler(new wxBitmapButtonXmlHandler);
+#endif
+#if wxUSE_BOOKCTRL
+    AddHandler(new wxPropertySheetDialogXmlHandler);
+#endif
+#if wxUSE_BUTTON
     AddHandler(new wxStdDialogButtonSizerXmlHandler);
     AddHandler(new wxButtonXmlHandler);
-    AddHandler(new wxBitmapButtonXmlHandler);
-    AddHandler(new wxStaticTextXmlHandler);
-    AddHandler(new wxStaticBoxXmlHandler);
-    AddHandler(new wxStaticBitmapXmlHandler);
-    AddHandler(new wxTreeCtrlXmlHandler);
+#endif
 #if wxUSE_CALENDARCTRL
     AddHandler(new wxCalendarCtrlXmlHandler);
 #endif
-    AddHandler(new wxListCtrlXmlHandler);
+#if wxUSE_CHECKBOX
+    AddHandler(new wxCheckBoxXmlHandler);
+#endif
 #if wxUSE_CHECKLISTBOX
     AddHandler(new wxCheckListBoxXmlHandler);
 #endif
 #if wxUSE_CHOICE
     AddHandler(new wxChoiceXmlHandler);
 #endif
-#if wxUSE_SLIDER
-    AddHandler(new wxSliderXmlHandler);
+#if wxUSE_CHOICEBOOK
+    AddHandler(new wxChoicebookXmlHandler);
+#endif
+#if wxUSE_COLLPANE
+    AddHandler(new wxCollapsiblePaneXmlHandler);
+#endif
+#if wxUSE_COLOURPICKERCTRL
+    AddHandler(new wxColourPickerCtrlXmlHandler);
+#endif
+#if wxUSE_COMBOBOX
+    AddHandler(new wxComboBoxXmlHandler);
+#endif
+#if wxUSE_COMBOCTRL
+    AddHandler(new wxComboCtrlXmlHandler);
+#endif
+#if wxUSE_COMMANDLINKBUTTON
+    AddHandler(new wxCommandLinkButtonXmlHandler);
+#endif
+#if wxUSE_DATEPICKCTRL
+    AddHandler(new wxDateCtrlXmlHandler);
+#endif
+#if wxUSE_DIRDLG
+    AddHandler(new wxGenericDirCtrlXmlHandler);
+#endif
+#if wxUSE_DIRPICKERCTRL
+    AddHandler(new wxDirPickerCtrlXmlHandler);
+#endif
+#if wxUSE_EDITABLELISTBOX
+    AddHandler(new wxEditableListBoxXmlHandler);
+#endif
+#if wxUSE_FILECTRL
+    AddHandler(new wxFileCtrlXmlHandler);
+#endif
+#if wxUSE_FILEPICKERCTRL
+    AddHandler(new wxFilePickerCtrlXmlHandler);
+#endif
+#if wxUSE_FONTPICKERCTRL
+    AddHandler(new wxFontPickerCtrlXmlHandler);
 #endif
 #if wxUSE_GAUGE
     AddHandler(new wxGaugeXmlHandler);
 #endif
-#if wxUSE_CHECKBOX
-    AddHandler(new wxCheckBoxXmlHandler);
-#endif
-#if wxUSE_TOGGLEBTN
-    AddHandler(new wxToggleButtonXmlHandler);
+#if wxUSE_GRID
+    AddHandler( new wxGridXmlHandler);
 #endif
 #if wxUSE_HTML
     AddHandler(new wxHtmlWindowXmlHandler);
+    AddHandler(new wxSimpleHtmlListBoxXmlHandler);
 #endif
-#if wxUSE_SPINBTN
-    AddHandler(new wxSpinButtonXmlHandler);
+#if wxUSE_HYPERLINKCTRL
+    AddHandler( new wxHyperlinkCtrlXmlHandler);
 #endif
-#if wxUSE_SPINCTRL
-    AddHandler(new wxSpinCtrlXmlHandler);
+#if wxUSE_LISTBOOK
+    AddHandler(new wxListbookXmlHandler);
 #endif
-#if wxUSE_SCROLLBAR
-    AddHandler(new wxScrollBarXmlHandler);
+#if wxUSE_LISTBOX
+    AddHandler(new wxListBoxXmlHandler);
+#endif
+#if wxUSE_LISTCTRL
+    AddHandler(new wxListCtrlXmlHandler);
+#endif
+#if wxUSE_MDI
+    AddHandler(new wxMdiXmlHandler);
+#endif
+#if wxUSE_MENUS
+    AddHandler(new wxMenuXmlHandler);
+    AddHandler(new wxMenuBarXmlHandler);
+#endif
+#if wxUSE_NOTEBOOK
+    AddHandler(new wxNotebookXmlHandler);
+#endif
+#if wxUSE_ODCOMBOBOX
+    AddHandler(new wxOwnerDrawnComboBoxXmlHandler);
 #endif
 #if wxUSE_RADIOBOX
     AddHandler(new wxRadioBoxXmlHandler);
+#endif
+#if wxUSE_RADIOBTN
     AddHandler(new wxRadioButtonXmlHandler);
 #endif
-#if wxUSE_COMBOBOX
-    AddHandler(new wxComboBoxXmlHandler);
+#if 0 && wxUSE_RICHTEXT
+    AddHandler(new wxRichTextCtrlXmlHandler);
 #endif
-#if wxUSE_ODCOMBOBOX
-    AddHandler(new wxOwnerDrawnComboBoxXmlHandler);
+#if wxUSE_SCROLLBAR
+    AddHandler(new wxScrollBarXmlHandler);
 #endif
-#if wxUSE_BITMAPCOMBOBOX
-    AddHandler(new wxBitmapComboBoxXmlHandler);
+#if wxUSE_SEARCHCTRL
+    AddHandler(new wxSearchCtrlXmlHandler);
 #endif
-#if wxUSE_NOTEBOOK
-    AddHandler(new wxNotebookXmlHandler);
+#if wxUSE_SLIDER
+    AddHandler(new wxSliderXmlHandler);
 #endif
-#if wxUSE_LISTBOOK
-    AddHandler(new wxListbookXmlHandler);
+#if wxUSE_SPINBTN
+    AddHandler(new wxSpinButtonXmlHandler);
 #endif
-#if wxUSE_CHOICEBOOK
-    AddHandler(new wxChoicebookXmlHandler);
+#if wxUSE_SPINCTRL
+    AddHandler(new wxSpinCtrlXmlHandler);
 #endif
-#if wxUSE_TREEBOOK
-    AddHandler(new wxTreebookXmlHandler);
+#if wxUSE_SPLITTER
+    AddHandler(new wxSplitterWindowXmlHandler);
 #endif
-    AddHandler(new wxTextCtrlXmlHandler);
-#if wxUSE_LISTBOX
-    AddHandler(new wxListBoxXmlHandler);
+#if wxUSE_STATBMP
+    AddHandler(new wxStaticBitmapXmlHandler);
 #endif
-#if wxUSE_TOOLBAR
-    AddHandler(new wxToolBarXmlHandler);
+#if wxUSE_STATBOX
+    AddHandler(new wxStaticBoxXmlHandler);
 #endif
 #if wxUSE_STATLINE
     AddHandler(new wxStaticLineXmlHandler);
 #endif
-    AddHandler(new wxUnknownWidgetXmlHandler);
-#if wxUSE_DIRDLG
-    AddHandler(new wxGenericDirCtrlXmlHandler);
-#endif
-    AddHandler(new wxFrameXmlHandler);
-    AddHandler(new wxScrolledWindowXmlHandler);
-    AddHandler(new wxSplitterWindowXmlHandler);
-#if wxUSE_WIZARDDLG
-    AddHandler(new wxWizardXmlHandler);
+#if wxUSE_STATTEXT
+    AddHandler(new wxStaticTextXmlHandler);
 #endif
 #if wxUSE_STATUSBAR
     AddHandler(new wxStatusBarXmlHandler);
 #endif
-#if wxUSE_DATEPICKCTRL
-    AddHandler(new wxDateCtrlXmlHandler);
+#if wxUSE_TEXTCTRL
+    AddHandler(new wxTextCtrlXmlHandler);
 #endif
-#if wxUSE_COLOURPICKERCTRL
-    AddHandler(new wxColourPickerCtrlXmlHandler);
+#if wxUSE_TOGGLEBTN
+    AddHandler(new wxToggleButtonXmlHandler);
 #endif
-#if wxUSE_FILEPICKERCTRL
-    AddHandler(new wxFilePickerCtrlXmlHandler);
+#if wxUSE_TIMEPICKCTRL
+    AddHandler(new wxTimeCtrlXmlHandler);
 #endif
-#if wxUSE_DIRPICKERCTRL
-    AddHandler(new wxDirPickerCtrlXmlHandler);
+#if wxUSE_TOOLBAR
+    AddHandler(new wxToolBarXmlHandler);
 #endif
-#if wxUSE_FONTPICKERCTRL
-    AddHandler(new wxFontPickerCtrlXmlHandler);
+#if wxUSE_TOOLBOOK
+    AddHandler(new wxToolbookXmlHandler);
 #endif
-#if wxUSE_MDI
-    AddHandler(new wxMdiXmlHandler);
+#if wxUSE_TREEBOOK
+    AddHandler(new wxTreebookXmlHandler);
 #endif
-#if wxUSE_GRID
-    AddHandler( new wxGridXmlHandler);
+#if wxUSE_TREECTRL
+    AddHandler(new wxTreeCtrlXmlHandler);
 #endif
-#if wxUSE_HYPERLINKCTRL
-    AddHandler( new wxHyperlinkCtrlXmlHandler);
+#if wxUSE_WIZARDDLG
+    AddHandler(new wxWizardXmlHandler);
 #endif
 }