]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/widgets.cpp
Reduce width and height of drawing ops by one in all vector printing backends
[wxWidgets.git] / samples / widgets / widgets.cpp
index 510cdbc6589f8a01aaf52bc97daeb95f5c02865d..7bf9ade91ed37d01ec78d4498aabd685da8c6170 100644 (file)
@@ -30,6 +30,7 @@
     #include "wx/log.h"
     #include "wx/frame.h"
     #include "wx/menu.h"
+    #include "wx/image.h"
 
     #include "wx/button.h"
     #include "wx/checkbox.h"
@@ -205,7 +206,7 @@ public:
 
 private:
     // implement sink functions
-    virtual void DoLog(wxLogLevel level, const wxChar *szString, time_t t)
+    virtual void DoLog(wxLogLevel level, const wxString& str, time_t t)
     {
         // don't put trace messages into listbox or we can get into infinite
         // recursion
@@ -214,20 +215,20 @@ private:
             if ( m_logOld )
             {
                 // cast is needed to call protected method
-                ((LboxLogger *)m_logOld)->DoLog(level, szString, t);
+                ((LboxLogger *)m_logOld)->DoLog(level, str, t);
             }
         }
         else
         {
-            wxLog::DoLog(level, szString, t);
+            wxLog::DoLog(level, str, t);
         }
     }
 
-    virtual void DoLogString(const wxChar *szString, time_t WXUNUSED(t))
+    virtual void DoLogString(const wxString& str, time_t WXUNUSED(t))
     {
         wxString msg;
         TimeStamp(&msg);
-        msg += szString;
+        msg += str;
 
         #ifdef __WXUNIVERSAL__
             m_lbox->AppendAndEnsureVisible(msg);
@@ -458,9 +459,10 @@ WidgetsFrame::WidgetsFrame(const wxString& title)
 void WidgetsFrame::InitBook()
 {
 #if USE_ICONS_IN_BOOK
-    wxImageList *imageList = new wxImageList(32, 32);
+    wxImageList *imageList = new wxImageList(ICON_SIZE, ICON_SIZE);
 
-    imageList->Add(wxBitmap(sample_xpm));
+    wxImage img(sample_xpm);
+    imageList->Add(wxBitmap(img.Scale(ICON_SIZE, ICON_SIZE)));
 #else
     wxImageList *imageList = NULL;
 #endif
@@ -653,12 +655,16 @@ void WidgetsFrame::OnPageChanged(WidgetsBookCtrlEvent& event)
 
     GetMenuBar()->Check(Widgets_BusyCursor, false);
 
-    // lazy creation of the pages
+    // create the pages on demand, otherwise the sample startup is too slow as
+    // it creates hundreds of controls
     WidgetsPage *page = CurrentPage();
     if ( page->GetChildren().empty() )
     {
         wxWindowUpdateLocker noUpdates(page);
         page->CreateContent();
+        //page->Layout();
+        page->GetSizer()->Fit(page);
+
         WidgetsBookCtrl *book = wxStaticCast(page->GetParent(), WidgetsBookCtrl);
         wxSize size;
         for ( size_t i = 0; i < book->GetPageCount(); ++i )
@@ -925,7 +931,7 @@ WidgetsPage::WidgetsPage(WidgetsBookCtrl *book,
                      wxTAB_TRAVERSAL)
 {
 #if USE_ICONS_IN_BOOK
-    imaglist->Add(wxBitmap(icon));
+    imaglist->Add(wxBitmap(wxImage(icon).Scale(ICON_SIZE, ICON_SIZE)));
 #else
     wxUnusedVar(imaglist);
     wxUnusedVar(icon);