]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_slidr.cpp
better report if the subclass factory has import problems
[wxWidgets.git] / src / xrc / xh_slidr.cpp
index de99697f634bd1b1459ea3389a496713a8ec03e4..c34926df31ac1273241a871f72f5f1cce4449da5 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        xh_slidr.cpp
+// Name:        src/xrc/xh_slidr.cpp
 // Purpose:     XRC resource for wxSlider
 // Author:      Bob Mitchell
 // Created:     2000/03/21
@@ -7,10 +7,6 @@
 // Copyright:   (c) 2000 Bob Mitchell and Verant Interactive
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-#pragma implementation "xh_slidr.h"
-#endif
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
     #pragma hdrstop
 #endif
 
+#if wxUSE_XRC && wxUSE_SLIDER
+
 #include "wx/xrc/xh_slidr.h"
-#include "wx/slider.h"
 
-#if wxUSE_SLIDER
+#ifndef WX_PRECOMP
+    #include "wx/slider.h"
+#endif
+
+IMPLEMENT_DYNAMIC_CLASS(wxSliderXmlHandler, wxXmlResourceHandler)
 
-wxSliderXmlHandler::wxSliderXmlHandler() 
-: wxXmlResourceHandler() 
+wxSliderXmlHandler::wxSliderXmlHandler()
+                   :wxXmlResourceHandler()
 {
-    ADD_STYLE( wxSL_HORIZONTAL );
-    ADD_STYLE( wxSL_VERTICAL );
-    ADD_STYLE( wxSL_AUTOTICKS );
-    ADD_STYLE( wxSL_LABELS );
-    ADD_STYLE( wxSL_LEFT );
-    ADD_STYLE( wxSL_TOP );
-    ADD_STYLE( wxSL_RIGHT );
-    ADD_STYLE( wxSL_BOTTOM );
-    ADD_STYLE( wxSL_BOTH );
-    ADD_STYLE( wxSL_SELRANGE );
+    XRC_ADD_STYLE(wxSL_HORIZONTAL);
+    XRC_ADD_STYLE(wxSL_VERTICAL);
+    XRC_ADD_STYLE(wxSL_AUTOTICKS);
+    XRC_ADD_STYLE(wxSL_LABELS);
+    XRC_ADD_STYLE(wxSL_LEFT);
+    XRC_ADD_STYLE(wxSL_TOP);
+    XRC_ADD_STYLE(wxSL_RIGHT);
+    XRC_ADD_STYLE(wxSL_BOTTOM);
+    XRC_ADD_STYLE(wxSL_BOTH);
+    XRC_ADD_STYLE(wxSL_SELRANGE);
+    XRC_ADD_STYLE(wxSL_INVERSE);
     AddWindowStyles();
 }
 
 wxObject *wxSliderXmlHandler::DoCreateResource()
-{ 
-    wxSlider *control = wxStaticCast(m_instance, wxSlider);
-
-    if (!control)
-       control = new wxSlider;
+{
+    XRC_MAKE_INSTANCE(control, wxSlider)
 
     control->Create(m_parentAsWindow,
                     GetID(),
-                    GetLong(wxT("value"), wxSL_DEFAULT_VALUE), 
+                    GetLong(wxT("value"), wxSL_DEFAULT_VALUE),
                     GetLong(wxT("min"), wxSL_DEFAULT_MIN),
                     GetLong(wxT("max"), wxSL_DEFAULT_MAX),
                     GetPosition(), GetSize(),
@@ -57,42 +56,39 @@ wxObject *wxSliderXmlHandler::DoCreateResource()
                     wxDefaultValidator,
                     GetName());
 
-    if( HasParam( wxT("tickfreq") ))
+    if( HasParam(wxT("tickfreq")))
     {
-        control->SetTickFreq( GetLong( wxT("tickfreq") ), 0 );
+        control->SetTickFreq(GetLong(wxT("tickfreq")), 0);
     }
-    if( HasParam( wxT("pagesize") ))
+    if( HasParam(wxT("pagesize")))
     {
-        control->SetPageSize( GetLong( wxT("pagesize") ) );
+        control->SetPageSize(GetLong(wxT("pagesize")));
     }
-    if( HasParam( wxT("linesize") ))
+    if( HasParam(wxT("linesize")))
     {
-        control->SetLineSize( GetLong( wxT("linesize") ));
+        control->SetLineSize(GetLong(wxT("linesize")));
     }
-    if( HasParam( wxT("thumb") ))
+    if( HasParam(wxT("thumb")))
     {
-        control->SetThumbLength( GetLong( wxT("thumb") ));
+        control->SetThumbLength(GetLong(wxT("thumb")));
     }
-    if( HasParam( wxT("tick") ))
+    if( HasParam(wxT("tick")))
     {
-        control->SetTick( GetLong( wxT("tick") ));
+        control->SetTick(GetLong(wxT("tick")));
     }
-    if( HasParam( wxT("selmin") ) && HasParam( wxT("selmax")) )
+    if( HasParam(wxT("selmin")) && HasParam(wxT("selmax")))
     {
-        control->SetSelection( GetLong( wxT("selmin") ), GetLong( wxT("selmax")) );
+        control->SetSelection(GetLong(wxT("selmin")), GetLong(wxT("selmax")));
     }
 
     SetupWindow(control);
-    
+
     return control;
 }
 
-
-
 bool wxSliderXmlHandler::CanHandle(wxXmlNode *node)
 {
     return IsOfClass(node, wxT("wxSlider"));
 }
 
-
-#endif
+#endif // wxUSE_XRC && wxUSE_SLIDER