]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/dialoged/src/winprop.cpp
Cured some small doc typos; some WIN16 fixes; transferred DLL WinMain to
[wxWidgets.git] / utils / dialoged / src / winprop.cpp
index 5be5ca236a2ce72599b8ab49a500805e38b2ec94..193df7e390ff26bcb12a86d687d43c26d65eb02e 100644 (file)
@@ -179,6 +179,13 @@ bool wxPropertyInfo::Edit(wxWindow *WXUNUSED(parent), const wxString& title)
   view->ShowView(propSheet, propWin->GetPropertyPanel());
 
   propWin->Show(TRUE);
   view->ShowView(propSheet, propWin->GetPropertyPanel());
 
   propWin->Show(TRUE);
+
+  // Otherwise doesn't show itself
+#ifdef __WXMOTIF__
+  wxNoOptimize noOptimize;
+  propWin->SetSize(-1, -1, width, height);
+#endif
+
   return TRUE;
 }
 
   return TRUE;
 }
 
@@ -286,7 +293,7 @@ wxProperty *wxWindowPropertyInfo::GetProperty(wxString& name)
 {
   wxItemResource* resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(m_propertyWindow);
 
 {
   wxItemResource* resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(m_propertyWindow);
 
-  wxFont *font = m_propertyWindow->GetFont();
+  wxFont *font = m_propertyWindow->GetFont();
   if (name == "fontPoints" || name == "fontFamily" || name == "fontStyle" || name == "fontWeight" ||
       name == "fontUnderlined")
     return GetFontProperty(name, font);
   if (name == "fontPoints" || name == "fontFamily" || name == "fontStyle" || name == "fontWeight" ||
       name == "fontUnderlined")
     return GetFontProperty(name, font);
@@ -353,12 +360,12 @@ wxProperty *wxWindowPropertyInfo::GetProperty(wxString& name)
 
 bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
 
 bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
-  wxFont *font = m_propertyWindow->GetFont();
+  wxFont *font = m_propertyWindow->GetFont();
   if (font && (name == "fontPoints" || name == "fontFamily" || name == "fontStyle" || name == "fontWeight" || name == "fontUnderlined" ))
   {
     wxFont *newFont = SetFontProperty(name, property, font);
     if (newFont)
   if (font && (name == "fontPoints" || name == "fontFamily" || name == "fontStyle" || name == "fontWeight" || name == "fontUnderlined" ))
   {
     wxFont *newFont = SetFontProperty(name, property, font);
     if (newFont)
-      m_propertyWindow->SetFont(newFont);
+      m_propertyWindow->SetFont(newFont);
     return TRUE;
   }
   else if (name == "name")
     return TRUE;
   }
   else if (name == "name")
@@ -389,9 +396,11 @@ bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
   }
   else if (name == "x")
   {
   }
   else if (name == "x")
   {
+    wxItemResource* resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(m_propertyWindow);
     int x, y;
     m_propertyWindow->GetPosition(&x, &y);
     int newX = (int)property->GetValue().IntegerValue();
     int x, y;
     m_propertyWindow->GetPosition(&x, &y);
     int newX = (int)property->GetValue().IntegerValue();
+    int pixelX = newX;
 
     // We need to convert to pixels if this is not a dialog or panel, but
     // the parent resource specifies dialog units.
 
     // We need to convert to pixels if this is not a dialog or panel, but
     // the parent resource specifies dialog units.
@@ -401,7 +410,7 @@ bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
         if (parentResource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxPoint pt = m_propertyWindow->GetParent()->ConvertDialogToPixels(wxPoint(newX, y));
         if (parentResource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxPoint pt = m_propertyWindow->GetParent()->ConvertDialogToPixels(wxPoint(newX, y));
-            newX = pt.x;
+            pixelX = pt.x;
         }
     }
     else if (m_propertyWindow->IsKindOf(CLASSINFO(wxPanel)))
         }
     }
     else if (m_propertyWindow->IsKindOf(CLASSINFO(wxPanel)))
@@ -410,19 +419,24 @@ bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
         if (resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxPoint pt = m_propertyWindow->ConvertDialogToPixels(wxPoint(newX, y));
         if (resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxPoint pt = m_propertyWindow->ConvertDialogToPixels(wxPoint(newX, y));
-            newX = pt.x;
+            pixelX = pt.x;
         }
     }
 
         }
     }
 
-    if (x != newX)
-      m_propertyWindow->Move(newX, y);
+    if (x != pixelX)
+    {
+      m_propertyWindow->Move(pixelX, y);
+      resource->SetSize(newX, resource->GetY(), resource->GetWidth(), resource->GetHeight());
+    }
     return TRUE;
   }
   else if (name == "y")
   {
     return TRUE;
   }
   else if (name == "y")
   {
+    wxItemResource* resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(m_propertyWindow);
     int x, y;
     m_propertyWindow->GetPosition(&x, &y);
     int newY = (int)property->GetValue().IntegerValue();
     int x, y;
     m_propertyWindow->GetPosition(&x, &y);
     int newY = (int)property->GetValue().IntegerValue();
+    int pixelY = newY;
 
     // We need to convert to pixels if this is not a dialog or panel, but
     // the parent resource specifies dialog units.
 
     // We need to convert to pixels if this is not a dialog or panel, but
     // the parent resource specifies dialog units.
@@ -432,7 +446,7 @@ bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
         if (parentResource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxPoint pt = m_propertyWindow->GetParent()->ConvertDialogToPixels(wxPoint(x, newY));
         if (parentResource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxPoint pt = m_propertyWindow->GetParent()->ConvertDialogToPixels(wxPoint(x, newY));
-            newY = pt.y;
+            pixelY = pt.y;
         }
     }
     else if (m_propertyWindow->IsKindOf(CLASSINFO(wxPanel)))
         }
     }
     else if (m_propertyWindow->IsKindOf(CLASSINFO(wxPanel)))
@@ -441,19 +455,24 @@ bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
         if (resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxPoint pt = m_propertyWindow->ConvertDialogToPixels(wxPoint(x, newY));
         if (resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxPoint pt = m_propertyWindow->ConvertDialogToPixels(wxPoint(x, newY));
-            newY = pt.y;
+            pixelY = pt.y;
         }
     }
 
         }
     }
 
-    if (y != newY)
-      m_propertyWindow->Move(x, newY);
+    if (y != pixelY)
+    {
+      m_propertyWindow->Move(x, pixelY);
+      resource->SetSize(resource->GetX(), newY, resource->GetWidth(), resource->GetHeight());
+    }
     return TRUE;
   }
   else if (name == "width")
   {
     return TRUE;
   }
   else if (name == "width")
   {
+    wxItemResource* resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(m_propertyWindow);
     int width, height;
     m_propertyWindow->GetSize(&width, &height);
     int newWidth = (int)property->GetValue().IntegerValue();
     int width, height;
     m_propertyWindow->GetSize(&width, &height);
     int newWidth = (int)property->GetValue().IntegerValue();
+    int pixelWidth = newWidth;
 
     // We need to convert to pixels if this is not a dialog or panel, but
     // the parent resource specifies dialog units.
 
     // We need to convert to pixels if this is not a dialog or panel, but
     // the parent resource specifies dialog units.
@@ -463,7 +482,7 @@ bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
         if (parentResource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxSize sz = m_propertyWindow->GetParent()->ConvertDialogToPixels(wxSize(newWidth, height));
         if (parentResource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxSize sz = m_propertyWindow->GetParent()->ConvertDialogToPixels(wxSize(newWidth, height));
-            newWidth = sz.x;
+            pixelWidth = sz.x;
         }
     }
     else if (m_propertyWindow->IsKindOf(CLASSINFO(wxPanel)))
         }
     }
     else if (m_propertyWindow->IsKindOf(CLASSINFO(wxPanel)))
@@ -472,21 +491,24 @@ bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
         if (resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxSize sz = m_propertyWindow->ConvertDialogToPixels(wxSize(newWidth, height));
         if (resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxSize sz = m_propertyWindow->ConvertDialogToPixels(wxSize(newWidth, height));
-            newWidth = sz.x;
+            pixelWidth = sz.x;
         }
     }
 
         }
     }
 
-    if (width != newWidth)
+    if (width != pixelWidth)
     {
     {
-      m_propertyWindow->SetSize(newWidth, height);
+      m_propertyWindow->SetSize(pixelWidth, height);
+      resource->SetSize(resource->GetX(), resource->GetY(), newWidth, resource->GetHeight());
     }
     return TRUE;
   }
   else if (name == "height")
   {
     }
     return TRUE;
   }
   else if (name == "height")
   {
+    wxItemResource* resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(m_propertyWindow);
     int width, height;
     m_propertyWindow->GetSize(&width, &height);
     int newHeight = (int)property->GetValue().IntegerValue();
     int width, height;
     m_propertyWindow->GetSize(&width, &height);
     int newHeight = (int)property->GetValue().IntegerValue();
+    int pixelHeight = newHeight;
 
     // We need to convert to pixels if this is not a dialog or panel, but
     // the parent resource specifies dialog units.
 
     // We need to convert to pixels if this is not a dialog or panel, but
     // the parent resource specifies dialog units.
@@ -496,7 +518,7 @@ bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
         if (parentResource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxSize sz = m_propertyWindow->GetParent()->ConvertDialogToPixels(wxSize(width, newHeight));
         if (parentResource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxSize sz = m_propertyWindow->GetParent()->ConvertDialogToPixels(wxSize(width, newHeight));
-            newHeight = sz.y;
+            pixelHeight = sz.y;
         }
     }
     else if (m_propertyWindow->IsKindOf(CLASSINFO(wxPanel)))
         }
     }
     else if (m_propertyWindow->IsKindOf(CLASSINFO(wxPanel)))
@@ -505,13 +527,14 @@ bool wxWindowPropertyInfo::SetProperty(wxString& name, wxProperty *property)
         if (resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxSize sz = m_propertyWindow->ConvertDialogToPixels(wxSize(width, newHeight));
         if (resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS)
         {
             wxSize sz = m_propertyWindow->ConvertDialogToPixels(wxSize(width, newHeight));
-            newHeight = sz.y;
+            pixelHeight = sz.y;
         }
     }
 
         }
     }
 
-    if (height != newHeight)
+    if (height != pixelHeight)
     {
     {
-      m_propertyWindow->SetSize(width, newHeight);
+      m_propertyWindow->SetSize(width, pixelHeight);
+      resource->SetSize(resource->GetX(), resource->GetY(), resource->GetWidth(), newHeight);
     }
     return TRUE;
   }
     }
     return TRUE;
   }
@@ -721,7 +744,7 @@ void wxWindowPropertyInfo::SetWindowStyle(wxWindow* win, long style, bool set)
 wxProperty *wxItemPropertyInfo::GetProperty(wxString& name)
 {
   wxControl *itemWindow = (wxControl *)m_propertyWindow; 
 wxProperty *wxItemPropertyInfo::GetProperty(wxString& name)
 {
   wxControl *itemWindow = (wxControl *)m_propertyWindow; 
-  wxFont *font = itemWindow->GetFont();
+  wxFont *font = itemWindow->GetFont();
 
   if (name == "fontPoints" || name == "fontFamily" || name == "fontStyle" || name == "fontWeight" ||
       name == "fontUnderlined")
 
   if (name == "fontPoints" || name == "fontFamily" || name == "fontStyle" || name == "fontWeight" ||
       name == "fontUnderlined")
@@ -735,13 +758,13 @@ wxProperty *wxItemPropertyInfo::GetProperty(wxString& name)
 bool wxItemPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
   wxControl *itemWindow = (wxControl *)m_propertyWindow; 
 bool wxItemPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
   wxControl *itemWindow = (wxControl *)m_propertyWindow; 
-  wxFont *font = itemWindow->GetFont();
+  wxFont *font = itemWindow->GetFont();
 
   if (font && (name == "fontPoints" || name == "fontFamily" || name == "fontStyle" || name == "fontWeight" || name == "fontUnderlined" ))
   {
     wxFont *newFont = SetFontProperty(name, property, font);
     if (newFont)
 
   if (font && (name == "fontPoints" || name == "fontFamily" || name == "fontStyle" || name == "fontWeight" || name == "fontUnderlined" ))
   {
     wxFont *newFont = SetFontProperty(name, property, font);
     if (newFont)
-      itemWindow->SetLabelFont(newFont);
+      itemWindow->SetFont(* newFont);
     return TRUE;
   }
   else if (name == "label")
     return TRUE;
   }
   else if (name == "label")
@@ -771,10 +794,11 @@ bool wxItemPropertyInfo::InstantiateResource(wxItemResource *resource)
   wxControl *item = (wxControl *)m_propertyWindow;
   wxString str(item->GetLabel());
   resource->SetTitle(str);
   wxControl *item = (wxControl *)m_propertyWindow;
   wxString str(item->GetLabel());
   resource->SetTitle(str);
-  if (item->GetFont() && item->GetFont()->Ok())
-    resource->SetFont(wxTheFontList->FindOrCreateFont(item->GetFont()->GetPointSize(),
-               item->GetFont()->GetFamily(), item->GetFont()->GetStyle(), item->GetFont()->GetWeight(),
-               item->GetFont()->GetUnderlined(), item->GetFont()->GetFaceName()));
+
+  if (item->GetFont().Ok())
+    resource->SetFont(* wxTheFontList->FindOrCreateFont(item->GetFont().GetPointSize(),
+               item->GetFont().GetFamily(), item->GetFont().GetStyle(), item->GetFont().GetWeight(),
+               item->GetFont().GetUnderlined(), item->GetFont().GetFaceName()));
   return TRUE;
 }
 
   return TRUE;
 }
 
@@ -810,7 +834,7 @@ bool wxButtonPropertyInfo::InstantiateResource(wxItemResource *resource)
 wxProperty *wxBitmapButtonPropertyInfo::GetProperty(wxString& name)
 {
   wxBitmapButton *button = (wxBitmapButton *)m_propertyWindow;
 wxProperty *wxBitmapButtonPropertyInfo::GetProperty(wxString& name)
 {
   wxBitmapButton *button = (wxBitmapButton *)m_propertyWindow;
-  if (name == "label")
+  if (name == "bitmapFilename")
   {
     wxItemResource *resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(button);
     wxString str("none.bmp");
   {
     wxItemResource *resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(button);
     wxString str("none.bmp");
@@ -819,7 +843,7 @@ wxProperty *wxBitmapButtonPropertyInfo::GetProperty(wxString& name)
     {
       str = wxResourceManager::GetCurrentResourceManager()->FindBitmapFilenameForResource(resource);
     }
     {
       str = wxResourceManager::GetCurrentResourceManager()->FindBitmapFilenameForResource(resource);
     }
-    return new wxProperty("label", str.GetData(), "string", new wxFilenameListValidator("Select a bitmap file", "*.bmp"));
+    return new wxProperty("bitmapFilename", str.GetData(), "string", new wxFilenameListValidator("Select a bitmap file", "*.bmp"));
   }
   else
     return wxButtonPropertyInfo::GetProperty(name);
   }
   else
     return wxButtonPropertyInfo::GetProperty(name);
@@ -828,17 +852,16 @@ wxProperty *wxBitmapButtonPropertyInfo::GetProperty(wxString& name)
 bool wxBitmapButtonPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
   wxBitmapButton *button = (wxBitmapButton *)m_propertyWindow;
 bool wxBitmapButtonPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
   wxBitmapButton *button = (wxBitmapButton *)m_propertyWindow;
-  if (name == "label")
+  if (name == "bitmapFilename")
   {
     char *s = property->GetValue().StringValue();
     if (s && wxFileExists(s))
     {
   {
     char *s = property->GetValue().StringValue();
     if (s && wxFileExists(s))
     {
-      s = copystring(s);
-      wxBitmap *bitmap = new wxBitmap(s, wxBITMAP_TYPE_BMP);
+      wxString str(s);
+      wxBitmap *bitmap = new wxBitmap(str, wxBITMAP_TYPE_BMP);
       if (!bitmap->Ok())
       {
         delete bitmap;
       if (!bitmap->Ok())
       {
         delete bitmap;
-        delete[] s;
         return FALSE;
       }
       else
         return FALSE;
       }
       else
@@ -847,15 +870,14 @@ bool wxBitmapButtonPropertyInfo::SetProperty(wxString& name, wxProperty *propert
         if (resource)
         {
           wxString oldResource(resource->GetValue4());
         if (resource)
         {
           wxString oldResource(resource->GetValue4());
-          wxString resName = wxResourceManager::GetCurrentResourceManager()->AddBitmapResource(s);
+          wxString resName = wxResourceManager::GetCurrentResourceManager()->AddBitmapResource(str);
           resource->SetValue4(resName);
           
           if (!oldResource.IsNull())
             wxResourceManager::GetCurrentResourceManager()->PossiblyDeleteBitmapResource(oldResource);
         }
 
           resource->SetValue4(resName);
           
           if (!oldResource.IsNull())
             wxResourceManager::GetCurrentResourceManager()->PossiblyDeleteBitmapResource(oldResource);
         }
 
-        button->SetLabel(bitmap);
-        delete[] s;
+        button->SetLabel(* bitmap);
         return TRUE;
       }
     }
         return TRUE;
       }
     }
@@ -867,8 +889,9 @@ bool wxBitmapButtonPropertyInfo::SetProperty(wxString& name, wxProperty *propert
 
 void wxBitmapButtonPropertyInfo::GetPropertyNames(wxStringList& names)
 {
 
 void wxBitmapButtonPropertyInfo::GetPropertyNames(wxStringList& names)
 {
-//  names.Add("label");
   wxButtonPropertyInfo::GetPropertyNames(names);
   wxButtonPropertyInfo::GetPropertyNames(names);
+  names.Delete("label");
+  names.Add("bitmapFilename");
 }
 
 bool wxBitmapButtonPropertyInfo::InstantiateResource(wxItemResource *resource)
 }
 
 bool wxBitmapButtonPropertyInfo::InstantiateResource(wxItemResource *resource)
@@ -908,7 +931,7 @@ bool wxStaticTextPropertyInfo::InstantiateResource(wxItemResource *resource)
 wxProperty *wxStaticBitmapPropertyInfo::GetProperty(wxString& name)
 {
   wxStaticBitmap *message = (wxStaticBitmap *)m_propertyWindow;
 wxProperty *wxStaticBitmapPropertyInfo::GetProperty(wxString& name)
 {
   wxStaticBitmap *message = (wxStaticBitmap *)m_propertyWindow;
-  if (name == "label")
+  if (name == "bitmapFilename")
   {
     wxItemResource *resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(message);
     wxString str("none.bmp");
   {
     wxItemResource *resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(message);
     wxString str("none.bmp");
@@ -917,7 +940,7 @@ wxProperty *wxStaticBitmapPropertyInfo::GetProperty(wxString& name)
     {
       str = wxResourceManager::GetCurrentResourceManager()->FindBitmapFilenameForResource(resource);
     }
     {
       str = wxResourceManager::GetCurrentResourceManager()->FindBitmapFilenameForResource(resource);
     }
-    return new wxProperty("label", str.GetData(), "string", new wxFilenameListValidator("Select a bitmap file", "*.bmp"));
+    return new wxProperty("bitmapFilename", str.GetData(), "string", new wxFilenameListValidator("Select a bitmap file", "*.bmp"));
   }
   else
     return wxItemPropertyInfo::GetProperty(name);
   }
   else
     return wxItemPropertyInfo::GetProperty(name);
@@ -926,18 +949,17 @@ wxProperty *wxStaticBitmapPropertyInfo::GetProperty(wxString& name)
 bool wxStaticBitmapPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
   wxStaticBitmap *message = (wxStaticBitmap *)m_propertyWindow;
 bool wxStaticBitmapPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
   wxStaticBitmap *message = (wxStaticBitmap *)m_propertyWindow;
-  if (name == "label")
+  if (name == "bitmapFilename")
   {
     char *s = property->GetValue().StringValue();
     if (s && wxFileExists(s))
     {
   {
     char *s = property->GetValue().StringValue();
     if (s && wxFileExists(s))
     {
-      s = copystring(s);
+      wxString str(s);
       
       
-      wxBitmap *bitmap = new wxBitmap(s, wxBITMAP_TYPE_BMP);
+      wxBitmap *bitmap = new wxBitmap(str, wxBITMAP_TYPE_BMP);
       if (!bitmap->Ok())
       {
         delete bitmap;
       if (!bitmap->Ok())
       {
         delete bitmap;
-        delete[] s;
         return FALSE;
       }
       else
         return FALSE;
       }
       else
@@ -946,15 +968,14 @@ bool wxStaticBitmapPropertyInfo::SetProperty(wxString& name, wxProperty *propert
         if (resource)
         {
           wxString oldResource(resource->GetValue4());
         if (resource)
         {
           wxString oldResource(resource->GetValue4());
-          wxString resName = wxResourceManager::GetCurrentResourceManager()->AddBitmapResource(s);
+          wxString resName = wxResourceManager::GetCurrentResourceManager()->AddBitmapResource(str);
           resource->SetValue4(resName);
           
           if (!oldResource.IsNull())
             wxResourceManager::GetCurrentResourceManager()->PossiblyDeleteBitmapResource(oldResource);
         }
 
           resource->SetValue4(resName);
           
           if (!oldResource.IsNull())
             wxResourceManager::GetCurrentResourceManager()->PossiblyDeleteBitmapResource(oldResource);
         }
 
-        message->SetBitmap(bitmap);
-        delete[] s;
+        message->SetBitmap(* bitmap);
         return TRUE;
       }
     }
         return TRUE;
       }
     }
@@ -967,7 +988,7 @@ bool wxStaticBitmapPropertyInfo::SetProperty(wxString& name, wxProperty *propert
 void wxStaticBitmapPropertyInfo::GetPropertyNames(wxStringList& names)
 {
   wxItemPropertyInfo::GetPropertyNames(names);
 void wxStaticBitmapPropertyInfo::GetPropertyNames(wxStringList& names)
 {
   wxItemPropertyInfo::GetPropertyNames(names);
-  names.Add("label");
+  names.Add("bitmapFilename");
 }
 
 bool wxStaticBitmapPropertyInfo::InstantiateResource(wxItemResource *resource)
 }
 
 bool wxStaticBitmapPropertyInfo::InstantiateResource(wxItemResource *resource)
@@ -1370,13 +1391,13 @@ wxProperty *wxRadioBoxPropertyInfo::GetProperty(wxString& name)
   if (name == "orientation")
   {
     wxString orient;
   if (name == "orientation")
   {
     wxString orient;
-    if (m_propertyWindow->GetWindowStyleFlag() & wxRA_HORIZONTAL)
-      orient = "wxRA_HORIZONTAL";
+    if (m_propertyWindow->GetWindowStyleFlag() & wxRA_SPECIFY_COLS)
+      orient = "wxRA_SPECIFY_COLS";
     else
     else
-      orient = "wxRA_VERTICAL";
+      orient = "wxRA_SPECIFY_ROWS";
 
     return new wxProperty("orientation", orient, "string",
 
     return new wxProperty("orientation", orient, "string",
-       new wxStringListValidator(new wxStringList("wxRA_HORIZONTAL", "wxRA_VERTICAL",
+       new wxStringListValidator(new wxStringList("wxRA_SPECIFY_COLS", "wxRA_SPECIFY_ROWS",
           NULL)));
   }
   else if (name == "values")
           NULL)));
   }
   else if (name == "values")
@@ -1404,17 +1425,17 @@ bool wxRadioBoxPropertyInfo::SetProperty(wxString& name, wxProperty *property)
   {
     long windowStyle = radioBox->GetWindowStyleFlag();
     wxString val(property->GetValue().StringValue());
   {
     long windowStyle = radioBox->GetWindowStyleFlag();
     wxString val(property->GetValue().StringValue());
-    if (val == "wxRA_HORIZONTAL")
+    if (val == "wxRA_SPECIFY_COLS")
     {
     {
-      if (windowStyle & wxRA_VERTICAL)
-        windowStyle -= wxRA_VERTICAL;
-      windowStyle |= wxRA_HORIZONTAL;
+      if (windowStyle & wxRA_SPECIFY_ROWS)
+        windowStyle -= wxRA_SPECIFY_ROWS;
+      windowStyle |= wxRA_SPECIFY_COLS;
     }
     else
     {
     }
     else
     {
-      if (windowStyle & wxRA_HORIZONTAL)
-        windowStyle -= wxRA_HORIZONTAL;
-      windowStyle |= wxRA_VERTICAL;
+      if (windowStyle & wxRA_SPECIFY_COLS)
+        windowStyle -= wxRA_SPECIFY_COLS;
+      windowStyle |= wxRA_SPECIFY_ROWS;
     }
     radioBox->SetWindowStyleFlag(windowStyle);
     wxItemResource *resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(radioBox);
     }
     radioBox->SetWindowStyleFlag(windowStyle);
     wxItemResource *resource = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(radioBox);
@@ -1737,8 +1758,8 @@ bool wxGaugePropertyInfo::InstantiateResource(wxItemResource *resource)
 wxProperty *wxScrollBarPropertyInfo::GetProperty(wxString& name)
 {
   wxScrollBar *scrollBar = (wxScrollBar *)m_propertyWindow;
 wxProperty *wxScrollBarPropertyInfo::GetProperty(wxString& name)
 {
   wxScrollBar *scrollBar = (wxScrollBar *)m_propertyWindow;
-  if (name == "value")
-    return new wxProperty("value", (long)scrollBar->GetValue(), "integer");
+  if (name == "thumbPosition")
+    return new wxProperty("value", (long)scrollBar->GetThumbPosition(), "integer");
   else if (name == "orientation")
   {
     char *pos = NULL;
   else if (name == "orientation")
   {
     char *pos = NULL;
@@ -1753,24 +1774,20 @@ wxProperty *wxScrollBarPropertyInfo::GetProperty(wxString& name)
   }
   else if (name == "pageSize")
   {
   }
   else if (name == "pageSize")
   {
-    int viewStart, pageLength, objectLength, viewLength;
-    scrollBar->GetValues(&viewStart, &viewLength, &objectLength, &pageLength);
+    int pageLength = scrollBar->GetPageSize();
     
     return new wxProperty("pageSize", (long)pageLength, "integer");
   }
     
     return new wxProperty("pageSize", (long)pageLength, "integer");
   }
-  else if (name == "viewLength")
+  else if (name == "thumbSize")
   {
   {
-    int viewStart, pageLength, objectLength, viewLength;
-    scrollBar->GetValues(&viewStart, &viewLength, &objectLength, &pageLength);
+    int thumbSize = scrollBar->GetThumbSize();
     
     
-    return new wxProperty("viewLength", (long)viewLength, "integer");
+    return new wxProperty("thumbSize", (long)thumbSize, "integer");
   }
   }
-  else if (name == "objectLength")
+  else if (name == "range")
   {
   {
-    int viewStart, pageLength, objectLength, viewLength;
-    scrollBar->GetValues(&viewStart, &viewLength, &objectLength, &pageLength);
-    
-    return new wxProperty("objectLength", (long)objectLength, "integer");
+    int range = scrollBar->GetRange();
+    return new wxProperty("range", (long)range, "integer");
   }
   else
     return wxItemPropertyInfo::GetProperty(name);
   }
   else
     return wxItemPropertyInfo::GetProperty(name);
@@ -1779,9 +1796,9 @@ wxProperty *wxScrollBarPropertyInfo::GetProperty(wxString& name)
 bool wxScrollBarPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
   wxScrollBar *scrollBar = (wxScrollBar *)m_propertyWindow;
 bool wxScrollBarPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
   wxScrollBar *scrollBar = (wxScrollBar *)m_propertyWindow;
-  if (name == "value")
+  if (name == "thumbPosition")
   {
   {
-    scrollBar->SetValue((int)property->GetValue().IntegerValue());
+    scrollBar->SetThumbPosition((int)property->GetValue().IntegerValue());
     return TRUE;
   }
   else if (name == "orientation")
     return TRUE;
   }
   else if (name == "orientation")
@@ -1808,27 +1825,40 @@ bool wxScrollBarPropertyInfo::SetProperty(wxString& name, wxProperty *property)
     scrollBar->SetWindowStyleFlag(windowStyle);
     
     // If the window style has changed, we swap the width and height parameters.
     scrollBar->SetWindowStyleFlag(windowStyle);
     
     // If the window style has changed, we swap the width and height parameters.
-    int w, h;
-    scrollBar->GetSize(&w, &h);
-    
+//    int w, h;
+//    scrollBar->GetSize(&w, &h);
+    wxItemResource     *item = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(scrollBar);
+       if ( item ) {
+               item->SetSize(item->GetX(), item->GetY(), item->GetHeight(), item->GetWidth());
+               item->SetStyle(windowStyle);
+       } /* IF */
+
     scrollBar = (wxScrollBar *)wxResourceManager::GetCurrentResourceManager()->RecreateWindowFromResource(scrollBar, this);
     scrollBar = (wxScrollBar *)wxResourceManager::GetCurrentResourceManager()->RecreateWindowFromResource(scrollBar, this);
-    scrollBar->SetSize(-1, -1, h, w);
-    
+
     return TRUE;
   }
   else if (name == "pageSize")
   {
     return TRUE;
   }
   else if (name == "pageSize")
   {
-    scrollBar->SetPageSize((int)property->GetValue().IntegerValue());
+    int pos = scrollBar->GetThumbPosition();
+    int range = scrollBar->GetRange();
+    int thumbSize = scrollBar->GetThumbSize();
+    scrollBar->SetScrollbar(pos, thumbSize, range, (int)property->GetValue().IntegerValue());
     return TRUE;
   }
     return TRUE;
   }
-  else if (name == "viewLength")
+  else if (name == "thumbSize")
   {
   {
-    scrollBar->SetViewLength((int)property->GetValue().IntegerValue());
+    int pos = scrollBar->GetThumbPosition();
+    int range = scrollBar->GetRange();
+    int pageSize = scrollBar->GetPageSize();
+    scrollBar->SetScrollbar(pos, (int)property->GetValue().IntegerValue(), range, pageSize);
     return TRUE;
   }
     return TRUE;
   }
-  else if (name == "objectLength")
+  else if (name == "range")
   {
   {
-    scrollBar->SetObjectLength((int)property->GetValue().IntegerValue());
+    int pos = scrollBar->GetThumbPosition();
+    int thumbSize = scrollBar->GetThumbSize();
+    int pageSize = scrollBar->GetPageSize();
+    scrollBar->SetScrollbar(pos, thumbSize, (int)property->GetValue().IntegerValue(), pageSize);
     return TRUE;
   }
   else
     return TRUE;
   }
   else
@@ -1839,10 +1869,10 @@ void wxScrollBarPropertyInfo::GetPropertyNames(wxStringList& names)
 {
   wxItemPropertyInfo::GetPropertyNames(names);
   names.Add("orientation");
 {
   wxItemPropertyInfo::GetPropertyNames(names);
   names.Add("orientation");
-  names.Add("value");
+  names.Add("thumbPosition");
+  names.Add("thumbSize");
   names.Add("pageSize");
   names.Add("pageSize");
-  names.Add("viewLength");
-  names.Add("objectLength");
+  names.Add("range");
 
   // Remove some properties we don't inherit
   names.Delete("fontPoints");
 
   // Remove some properties we don't inherit
   names.Delete("fontPoints");
@@ -1856,14 +1886,15 @@ bool wxScrollBarPropertyInfo::InstantiateResource(wxItemResource *resource)
 {
   wxScrollBar *sbar = (wxScrollBar *)m_propertyWindow;
 
 {
   wxScrollBar *sbar = (wxScrollBar *)m_propertyWindow;
 
-  resource->SetValue1(sbar->GetValue());
-
-  int viewStart, pageLength, objectLength, viewLength;
-  sbar->GetValues(&viewStart, &viewLength, &objectLength, &pageLength);
+  int thumbPosition = sbar->GetThumbPosition();
+  int thumbSize = sbar->GetThumbSize();
+  int pageSize = sbar->GetPageSize();
+  int range = sbar->GetRange();
   
   
-  resource->SetValue2(pageLength);
-  resource->SetValue3(objectLength);
-  resource->SetValue5(viewLength);
+  resource->SetValue1(thumbPosition);
+  resource->SetValue2(thumbSize);
+  resource->SetValue3(range);
+  resource->SetValue5(pageSize);
 
   return wxItemPropertyInfo::InstantiateResource(resource);
 }
 
   return wxItemPropertyInfo::InstantiateResource(resource);
 }
@@ -1875,6 +1906,8 @@ bool wxScrollBarPropertyInfo::InstantiateResource(wxItemResource *resource)
 wxProperty *wxPanelPropertyInfo::GetProperty(wxString& name)
 {
   wxPanel *panelWindow = (wxPanel *)m_propertyWindow; 
 wxProperty *wxPanelPropertyInfo::GetProperty(wxString& name)
 {
   wxPanel *panelWindow = (wxPanel *)m_propertyWindow; 
+
+/*
   wxFont *labelFont = panelWindow->GetLabelFont();
   wxFont *buttonFont = panelWindow->GetButtonFont();
   
   wxFont *labelFont = panelWindow->GetLabelFont();
   wxFont *buttonFont = panelWindow->GetButtonFont();
   
@@ -1884,7 +1917,9 @@ wxProperty *wxPanelPropertyInfo::GetProperty(wxString& name)
   else if (name == "buttonFontPoints" || name == "buttonFontFamily" || name == "buttonFontStyle" || name == "buttonFontWeight" ||
       name == "buttonFontUnderlined")
     return GetFontProperty(name, buttonFont);
   else if (name == "buttonFontPoints" || name == "buttonFontFamily" || name == "buttonFontStyle" || name == "buttonFontWeight" ||
       name == "buttonFontUnderlined")
     return GetFontProperty(name, buttonFont);
-  else if (name == "no3D")
+*/
+
+  if (name == "no3D")
   {
     bool userColours;
     if (panelWindow->GetWindowStyleFlag() & wxNO_3D)
   {
     bool userColours;
     if (panelWindow->GetWindowStyleFlag() & wxNO_3D)
@@ -1946,24 +1981,27 @@ wxProperty *wxPanelPropertyInfo::GetProperty(wxString& name)
 bool wxPanelPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
   wxPanel *panelWindow = (wxPanel *)m_propertyWindow; 
 bool wxPanelPropertyInfo::SetProperty(wxString& name, wxProperty *property)
 {
   wxPanel *panelWindow = (wxPanel *)m_propertyWindow; 
+/*
   wxFont *labelFont = panelWindow->GetLabelFont();
   wxFont *buttonFont = panelWindow->GetButtonFont();
   wxFont *labelFont = panelWindow->GetLabelFont();
   wxFont *buttonFont = panelWindow->GetButtonFont();
-  
+
   if (labelFont && (name == "labelFontPoints" || name == "labelFontFamily" || name == "labelFontStyle" || name == "labelFontWeight" || name == "labelFontUnderlined" ))
   {
     wxFont *newFont = SetFontProperty(name, property, labelFont);
     if (newFont)
   if (labelFont && (name == "labelFontPoints" || name == "labelFontFamily" || name == "labelFontStyle" || name == "labelFontWeight" || name == "labelFontUnderlined" ))
   {
     wxFont *newFont = SetFontProperty(name, property, labelFont);
     if (newFont)
-      panelWindow->SetLabelFont(newFont);
+      panelWindow->SetLabelFont(newFont);
     return TRUE;
   }
   else if (buttonFont && (name == "buttonFontPoints" || name == "buttonFontFamily" || name == "buttonFontStyle" || name == "buttonFontWeight" || name == "buttonFontUnderlined" ))
   {
     wxFont *newFont = SetFontProperty(name, property, buttonFont);
     if (newFont)
     return TRUE;
   }
   else if (buttonFont && (name == "buttonFontPoints" || name == "buttonFontFamily" || name == "buttonFontStyle" || name == "buttonFontWeight" || name == "buttonFontUnderlined" ))
   {
     wxFont *newFont = SetFontProperty(name, property, buttonFont);
     if (newFont)
-      panelWindow->SetButtonFont(newFont);
+      panelWindow->SetButtonFont(newFont);
     return TRUE;
   }
     return TRUE;
   }
-  else if (name == "no3D")
+*/
+
+  if (name == "no3D")
   {
     bool userColours = property->GetValue().BoolValue();
     
   {
     bool userColours = property->GetValue().BoolValue();
     
@@ -2096,10 +2134,10 @@ void wxPanelPropertyInfo::GetPropertyNames(wxStringList& names)
 bool wxPanelPropertyInfo::InstantiateResource(wxItemResource *resource)
 {
   wxPanel *panel = (wxPanel *)m_propertyWindow;
 bool wxPanelPropertyInfo::InstantiateResource(wxItemResource *resource)
 {
   wxPanel *panel = (wxPanel *)m_propertyWindow;
-  if (panel->GetFont() && panel->GetFont()->Ok())
-    resource->SetFont(wxTheFontList->FindOrCreateFont(panel->GetFont()->GetPointSize(),
-               panel->GetFont()->GetFamily(), panel->GetFont()->GetStyle(), panel->GetFont()->GetWeight(),
-               panel->GetFont()->GetUnderlined(), panel->GetFont()->GetFaceName()));
+  if (panel->GetFont().Ok())
+    resource->SetFont(* wxTheFontList->FindOrCreateFont(panel->GetFont().GetPointSize(),
+               panel->GetFont().GetFamily(), panel->GetFont().GetStyle(), panel->GetFont().GetWeight(),
+               panel->GetFont().GetUnderlined(), panel->GetFont().GetFaceName()));
 
   resource->SetBackgroundColour(wxColour(panel->GetBackgroundColour()));
 
 
   resource->SetBackgroundColour(wxColour(panel->GetBackgroundColour()));
 
@@ -2125,7 +2163,7 @@ void wxPanelPropertyInfo::ConvertDialogUnits(bool toDialogUnits)
     }
     resource->SetSize(pt.x, pt.y, sz.x, sz.y);
 
     }
     resource->SetSize(pt.x, pt.y, sz.x, sz.y);
 
-    wxNode* node = m_propertyWindow->GetChildren()->First();
+    wxNode* node = m_propertyWindow->GetChildren().First();
     while (node)
     {
         wxWindow* child = (wxWindow*) node->Data();
     while (node)
     {
         wxWindow* child = (wxWindow*) node->Data();