]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/filectrl.cpp
Support using GetTextExtent() with empty string to get descent in wxOSX.
[wxWidgets.git] / samples / widgets / filectrl.cpp
index 773e11803e781381a9d264c517f4e715063275bd..09affc6cfa6b3a7c82ca81950771ce697d6f5573 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     28 Jul 2007
 // Id:          $Id$
 // Copyright:   (c) 2007 Diaa M. Sami
 // Created:     28 Jul 2007
 // Id:          $Id$
 // Copyright:   (c) 2007 Diaa M. Sami
-// License:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -71,7 +71,7 @@ public:
     FileCtrlWidgetsPage( WidgetsBookCtrl *book, wxImageList *imaglist );
     virtual ~FileCtrlWidgetsPage() {}
 
     FileCtrlWidgetsPage( WidgetsBookCtrl *book, wxImageList *imaglist );
     virtual ~FileCtrlWidgetsPage() {}
 
-    virtual wxControl *GetWidget() const { return /*m_fileCtrl*/NULL; }
+    virtual wxControl *GetWidget() const { return m_fileCtrl; }
     virtual void RecreateWidget() { CreateFileCtrl(); }
 
     // lazy creation of the content
     virtual void RecreateWidget() { CreateFileCtrl(); }
 
     // lazy creation of the content
@@ -130,6 +130,7 @@ BEGIN_EVENT_TABLE( FileCtrlWidgetsPage, WidgetsPage )
     EVT_CHECKBOX( wxID_ANY, FileCtrlWidgetsPage::OnCheckBox )
     EVT_RADIOBOX( wxID_ANY, FileCtrlWidgetsPage::OnRadioBox )
 
     EVT_CHECKBOX( wxID_ANY, FileCtrlWidgetsPage::OnCheckBox )
     EVT_RADIOBOX( wxID_ANY, FileCtrlWidgetsPage::OnRadioBox )
 
+    EVT_FILECTRL_FILTERCHANGED( wxID_ANY, FileCtrlWidgetsPage::OnFileCtrl )
     EVT_FILECTRL_FOLDERCHANGED( wxID_ANY, FileCtrlWidgetsPage::OnFileCtrl )
     EVT_FILECTRL_SELECTIONCHANGED( wxID_ANY, FileCtrlWidgetsPage::OnFileCtrl )
     EVT_FILECTRL_FILEACTIVATED( wxID_ANY, FileCtrlWidgetsPage::OnFileCtrl )
     EVT_FILECTRL_FOLDERCHANGED( wxID_ANY, FileCtrlWidgetsPage::OnFileCtrl )
     EVT_FILECTRL_SELECTIONCHANGED( wxID_ANY, FileCtrlWidgetsPage::OnFileCtrl )
     EVT_FILECTRL_FILEACTIVATED( wxID_ANY, FileCtrlWidgetsPage::OnFileCtrl )
@@ -177,21 +178,21 @@ void FileCtrlWidgetsPage::CreateContent()
                     0, wxALL | wxEXPAND , 5 );
 
     wxSizer *sizerUseFlags =
                     0, wxALL | wxEXPAND , 5 );
 
     wxSizer *sizerUseFlags =
-        new wxStaticBoxSizer( wxVERTICAL, this, _T( "&Flags" ) );
+        new wxStaticBoxSizer( wxVERTICAL, this, wxT( "&Flags" ) );
 
 
-    m_chkMultiple   = CreateCheckBoxAndAddToSizer( sizerUseFlags, _T( "wxFC_MULTIPLE" ) );
-    m_chkNoShowHidden   = CreateCheckBoxAndAddToSizer( sizerUseFlags, _T( "wxFC_NOSHOWHIDDEN" ) );
+    m_chkMultiple   = CreateCheckBoxAndAddToSizer( sizerUseFlags, wxT( "wxFC_MULTIPLE" ) );
+    m_chkNoShowHidden   = CreateCheckBoxAndAddToSizer( sizerUseFlags, wxT( "wxFC_NOSHOWHIDDEN" ) );
     sizerLeft->Add( sizerUseFlags, wxSizerFlags().Expand().Border() );
 
     wxSizer *sizerFilters =
     sizerLeft->Add( sizerUseFlags, wxSizerFlags().Expand().Border() );
 
     wxSizer *sizerFilters =
-        new wxStaticBoxSizer( wxVERTICAL, this, _T( "&Filters" ) );
+        new wxStaticBoxSizer( wxVERTICAL, this, wxT( "&Filters" ) );
     m_fltr[0] = CreateCheckBoxAndAddToSizer( sizerFilters, wxString::Format( wxT( "all files (%s)|%s" ),
                 wxFileSelectorDefaultWildcardStr, wxFileSelectorDefaultWildcardStr ) );
     m_fltr[1] = CreateCheckBoxAndAddToSizer( sizerFilters, wxT( "C++ files (*.cpp; *.h)|*.cpp;*.h" ) );
     m_fltr[2] = CreateCheckBoxAndAddToSizer( sizerFilters, wxT( "PNG images (*.png)|*.png" ) );
     sizerLeft->Add( sizerFilters, wxSizerFlags().Expand().Border() );
 
     m_fltr[0] = CreateCheckBoxAndAddToSizer( sizerFilters, wxString::Format( wxT( "all files (%s)|%s" ),
                 wxFileSelectorDefaultWildcardStr, wxFileSelectorDefaultWildcardStr ) );
     m_fltr[1] = CreateCheckBoxAndAddToSizer( sizerFilters, wxT( "C++ files (*.cpp; *.h)|*.cpp;*.h" ) );
     m_fltr[2] = CreateCheckBoxAndAddToSizer( sizerFilters, wxT( "PNG images (*.png)|*.png" ) );
     sizerLeft->Add( sizerFilters, wxSizerFlags().Expand().Border() );
 
-    wxButton *btn = new wxButton( this, FileCtrlPage_Reset, _T( "&Reset" ) );
+    wxButton *btn = new wxButton( this, FileCtrlPage_Reset, wxT( "&Reset" ) );
     sizerLeft->Add( btn, 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15 );
 
     // right pane
     sizerLeft->Add( btn, 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15 );
 
     // right pane
@@ -317,6 +318,11 @@ void FileCtrlWidgetsPage::OnFileCtrl( wxFileCtrlEvent& event )
     {
         wxLogMessage("Selection changed event: %s", wxJoin(event.GetFiles(), ' '));
     }
     {
         wxLogMessage("Selection changed event: %s", wxJoin(event.GetFiles(), ' '));
     }
+    else if ( event.GetEventType() == wxEVT_FILECTRL_FILTERCHANGED )
+    {
+        wxLogMessage("Filter changed event: filter %d selected",
+                     event.GetFilterIndex() + 1);
+    }
 }
 
 #endif // wxUSE_FILECTRL
 }
 
 #endif // wxUSE_FILECTRL