]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/filepicker.cpp
Turkish translations update from Çağrı Doğan.
[wxWidgets.git] / samples / widgets / filepicker.cpp
index d1468bf30ef39a35296ab2daf6510ea73573de62..9d843c505a6264c3d18d73d610850b16a78a949d 100644 (file)
@@ -4,7 +4,6 @@
 // Purpose:     Part of the widgets sample showing wx*PickerCtrl
 // Author:      Francesco Montorsi
 // Created:     20/6/2006
-// Id:          $Id$
 // Copyright:   (c) 2006 Francesco Montorsi
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -60,7 +59,8 @@ enum
 {
     PickerPage_Reset = wxID_HIGHEST,
     PickerPage_File,
-    PickerPage_SetDir
+    PickerPage_SetDir,
+    PickerPage_CurrentPath
 };
 
 
@@ -102,6 +102,7 @@ protected:
     void OnCheckBox(wxCommandEvent &ev);
     void OnButtonReset(wxCommandEvent &ev);
     void OnButtonSetDir(wxCommandEvent &ev);
+    void OnUpdatePath(wxUpdateUIEvent &ev);
 
 
     // the picker
@@ -117,6 +118,7 @@ protected:
                *m_chkFileChangeDir,
                *m_chkSmall;
     wxRadioBox *m_radioFilePickerMode;
+    wxStaticText *m_labelPath;
     wxTextCtrl *m_textInitialDir;
 
     wxBoxSizer *m_sizer;
@@ -138,6 +140,8 @@ BEGIN_EVENT_TABLE(FilePickerWidgetsPage, WidgetsPage)
 
     EVT_CHECKBOX(wxID_ANY, FilePickerWidgetsPage::OnCheckBox)
     EVT_RADIOBOX(wxID_ANY, FilePickerWidgetsPage::OnCheckBox)
+
+    EVT_UPDATE_UI(PickerPage_CurrentPath, FilePickerWidgetsPage::OnUpdatePath)
 END_EVENT_TABLE()
 
 // ============================================================================
@@ -171,11 +175,11 @@ void FilePickerWidgetsPage::CreateContent()
     boxleft->Add(m_radioFilePickerMode, 0, wxALL|wxGROW, 5);
 
     wxStaticBoxSizer *filebox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&FilePicker style"));
-    m_chkFileTextCtrl = CreateCheckBoxAndAddToSizer(filebox, wxT("With textctrl"), false);
-    m_chkFileOverwritePrompt = CreateCheckBoxAndAddToSizer(filebox, wxT("Overwrite prompt"), false);
-    m_chkFileMustExist = CreateCheckBoxAndAddToSizer(filebox, wxT("File must exist"), false);
-    m_chkFileChangeDir = CreateCheckBoxAndAddToSizer(filebox, wxT("Change working dir"), false);
-    m_chkSmall = CreateCheckBoxAndAddToSizer(filebox, "&Small version", false);
+    m_chkFileTextCtrl = CreateCheckBoxAndAddToSizer(filebox, wxT("With textctrl"));
+    m_chkFileOverwritePrompt = CreateCheckBoxAndAddToSizer(filebox, wxT("Overwrite prompt"));
+    m_chkFileMustExist = CreateCheckBoxAndAddToSizer(filebox, wxT("File must exist"));
+    m_chkFileChangeDir = CreateCheckBoxAndAddToSizer(filebox, wxT("Change working dir"));
+    m_chkSmall = CreateCheckBoxAndAddToSizer(filebox, "&Small version");
 
     boxleft->Add(filebox, 0, wxALL|wxGROW, 5);
 
@@ -194,15 +198,19 @@ void FilePickerWidgetsPage::CreateContent()
 
     Reset();    // set checkboxes state
 
-    // create pickers
+    // create the picker and the static text displaying its current value
+    m_labelPath = new wxStaticText(this, PickerPage_CurrentPath, "");
+
     m_filePicker = NULL;
     CreatePicker();
 
     // right pane
     m_sizer = new wxBoxSizer(wxVERTICAL);
-    m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
-    m_sizer->Add(m_filePicker, 0, wxEXPAND|wxALL, 5);
-    m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+    m_sizer->AddStretchSpacer();
+    m_sizer->Add(m_filePicker, wxSizerFlags().Expand().Border());
+    m_sizer->AddStretchSpacer();
+    m_sizer->Add(m_labelPath, wxSizerFlags().Expand().Border());
+    m_sizer->AddStretchSpacer();
 
     // global pane
     wxSizer *sz = new wxBoxSizer(wxHORIZONTAL);
@@ -297,7 +305,9 @@ void FilePickerWidgetsPage::UpdateFilePickerMode()
 
 void FilePickerWidgetsPage::OnButtonSetDir(wxCommandEvent& WXUNUSED(event))
 {
-    m_filePicker->SetInitialDirectory(m_textInitialDir->GetValue());
+    const wxString& dir = m_textInitialDir->GetValue();
+    m_filePicker->SetInitialDirectory(dir);
+    wxLogMessage("Initial directory set to \"%s\"", dir);
 }
 
 void FilePickerWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event))
@@ -329,4 +339,9 @@ void FilePickerWidgetsPage::OnCheckBox(wxCommandEvent &event)
     }
 }
 
+void FilePickerWidgetsPage::OnUpdatePath(wxUpdateUIEvent& ev)
+{
+    ev.SetText( "Current path: " + m_filePicker->GetPath() );
+}
+
 #endif  // wxUSE_FILEPICKERCTRL