]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_slidr.cpp
Added size constants to allow drawn control parts to match the window variant,
[wxWidgets.git] / src / xrc / xh_slidr.cpp
index 52e0233810b9874d87c4b5a2f071c24821356935..c34926df31ac1273241a871f72f5f1cce4449da5 100644 (file)
@@ -1,16 +1,12 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        xh_slidr.cpp
-// Purpose:     XML resource for wxSlider
+// Name:        src/xrc/xh_slidr.cpp
+// Purpose:     XRC resource for wxSlider
 // Author:      Bob Mitchell
 // Created:     2000/03/21
 // RCS-ID:      $Id$
 // 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 = new wxSlider(m_parentAsWindow,
-                                    GetID(),
-                                    GetLong( wxT("value"), wxSL_DEFAULT_VALUE), 
-                                    GetLong( wxT("min"), wxSL_DEFAULT_MIN),
-                                    GetLong( wxT("max"), wxSL_DEFAULT_MAX),
-                                    GetPosition(), GetSize(),
-                                    GetStyle(),
-                                    wxDefaultValidator,
-                                    GetName()
-                                    );
+{
+    XRC_MAKE_INSTANCE(control, wxSlider)
+
+    control->Create(m_parentAsWindow,
+                    GetID(),
+                    GetLong(wxT("value"), wxSL_DEFAULT_VALUE),
+                    GetLong(wxT("min"), wxSL_DEFAULT_MIN),
+                    GetLong(wxT("max"), wxSL_DEFAULT_MAX),
+                    GetPosition(), GetSize(),
+                    GetStyle(),
+                    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