Update of /cvsroot/audacity/audacity-src/src/effects
In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv30682/src/effects

Modified Files:
        ChangePitch.cpp ChangePitch.h 
Log Message:
Converted to ShuttleGui

Index: ChangePitch.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/effects/ChangePitch.cpp,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- ChangePitch.cpp     3 Jun 2008 07:16:39 -0000       1.45
+++ ChangePitch.cpp     10 Jun 2008 02:28:28 -0000      1.46
@@ -26,7 +26,7 @@
 
 #include <wx/button.h>
 #include <wx/choice.h>
-#include <wx/radiobox.h>
+#include <wx/radiobut.h>
 #include <wx/sizer.h>
 #include <wx/stattext.h>
 #include <wx/textctrl.h>
@@ -115,7 +115,7 @@
 {
        this->DeduceFrequencies(); // Set frequency-related control values 
based on sample.
 
-   ChangePitchDialog dlog(this, mParent, -1, _("Change Pitch"));
+   ChangePitchDialog dlog(this, mParent);
    dlog.m_FromPitchIndex = m_FromPitchIndex;
    dlog.m_bWantPitchDown = m_bWantPitchDown;
    dlog.m_ToPitchIndex = m_ToPitchIndex;
@@ -130,7 +130,7 @@
    dlog.CentreOnParent();
    dlog.ShowModal();
 
-   if (!dlog.GetReturnCode())
+  if (dlog.GetReturnCode() == wxID_CANCEL)
       return false;
 
    m_FromPitchIndex = dlog.m_FromPitchIndex;
@@ -169,7 +169,7 @@
    ID_TEXT_PERCENTCHANGE = 10001,
    ID_SLIDER_PERCENTCHANGE,
    ID_CHOICE_FROMPITCH,
-   ID_RADIOBOX_PITCHUPDOWN,
+   ID_RADIOBUTTON_PITCHUPDOWN,
    ID_CHOICE_TOPITCH,
    ID_TEXT_SEMITONESCHANGE,
    ID_TEXT_FROMFREQUENCY,
@@ -178,12 +178,9 @@
 
 // event table for ChangePitchDialog
 
-BEGIN_EVENT_TABLE(ChangePitchDialog, wxDialog)
-       EVT_BUTTON(wxID_OK, ChangePitchDialog::OnOk)
-       EVT_BUTTON(wxID_CANCEL, ChangePitchDialog::OnCancel)
-
+BEGIN_EVENT_TABLE(ChangePitchDialog, EffectDialog)
        EVT_CHOICE(ID_CHOICE_FROMPITCH, ChangePitchDialog::OnChoice_FromPitch)
-       EVT_RADIOBOX(ID_RADIOBOX_PITCHUPDOWN, 
ChangePitchDialog::OnRadioBox_PitchUpDown)
+       EVT_RADIOBUTTON(ID_RADIOBUTTON_PITCHUPDOWN, 
ChangePitchDialog::OnRadioButton_PitchUpDown)
        EVT_CHOICE(ID_CHOICE_TOPITCH, ChangePitchDialog::OnChoice_ToPitch)
 
        EVT_TEXT(ID_TEXT_SEMITONESCHANGE, 
ChangePitchDialog::OnText_SemitonesChange)
@@ -197,23 +194,18 @@
        EVT_BUTTON(ID_EFFECT_PREVIEW, ChangePitchDialog::OnPreview)
 END_EVENT_TABLE()
 
-
-ChangePitchDialog::ChangePitchDialog(EffectChangePitch * effect, 
-                                                                               
                 wxWindow * parent, wxWindowID id, 
-                                                                               
                 const wxString & title, 
-                                                                               
                 const wxPoint & position, 
-                                                                               
                 const wxSize & size, 
-                                                                               
                 long style)
-: wxDialog(parent, id, title, position, size, style)
+ChangePitchDialog::ChangePitchDialog(EffectChangePitch *effect, wxWindow 
*parent)
+:  EffectDialog(parent, _("Change Pitch"), PROCESS_EFFECT),
+   mEffect(effect)
 {
    m_bLoopDetect = false;
-       m_pEffect = effect;
 
        // NULL out these control members because there are some cases where 
the 
        // event table handlers get called during this method, and those 
handlers that 
        // can cause trouble check for NULL.
    m_pChoice_FromPitch = NULL;
-       m_pRadioBox_PitchUpDown = NULL;
+       m_pRadioButton_PitchUp = NULL;
+       m_pRadioButton_PitchDown = NULL;
        m_pChoice_ToPitch = NULL;
    
        m_pTextCtrl_SemitonesChange = NULL;
@@ -236,163 +228,134 @@
 
        m_PercentChange = 0.0;
 
-       
-       // CREATE THE CONTROLS PROGRAMMATICALLY.
-       wxStaticText * pStaticText;
-
-   wxBoxSizer * pBoxSizer_Dialog = new wxBoxSizer(wxVERTICAL);
-
-       // heading
-   pStaticText = new wxStaticText(this, -1, 
-                                                                               
                _("Change Pitch without Changing Tempo"),
-                                                                               
                wxDefaultPosition, wxDefaultSize, 0);
-   pBoxSizer_Dialog->Add(pStaticText, 0, wxALIGN_CENTER | wxALL, 8);
-
-   pStaticText = new wxStaticText(this, -1, 
-         /* i18n-hint: && in here is an escape character to get a single & on
-          * screen, so keep it as is */
-                                                                               
                _("by Vaughan Johnson && Dominic Mazzoni"),
-                                                                               
                wxDefaultPosition, wxDefaultSize, 0);
-   pBoxSizer_Dialog->Add(pStaticText, 0, wxALIGN_CENTER | wxTOP | wxLEFT | 
wxRIGHT, 8);
-
-   pStaticText = new wxStaticText(this, -1, 
-                                                                               
                _("using SoundTouch, by Olli Parviainen"),
-                                                                               
                wxDefaultPosition, wxDefaultSize, 0);
-   pBoxSizer_Dialog->Add(pStaticText, 0, wxALIGN_CENTER | wxBOTTOM | wxLEFT | 
wxRIGHT, 8);
-
-   pBoxSizer_Dialog->Add(0, 8, 0); // spacer
-
-
-       // from/to pitch controls
-   wxBoxSizer * pBoxSizer_Pitch = new wxBoxSizer(wxHORIZONTAL);
-   
-   pStaticText = new wxStaticText(this, -1, _("Pitch:   from"),
-                                                                               
                wxDefaultPosition, wxDefaultSize, 0);
-   pBoxSizer_Pitch->Add(pStaticText, 0, 
-                                                               
wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 4);
-
-       const wxString strArray_PitchNames[] = 
-               {wxT("C"), wxT("C#/Db"), wxT("D"), wxT("D#/Eb"), wxT("E"), 
wxT("F"), 
-       wxT("F#/Gb"), wxT("G"), wxT("G#/Ab"), wxT("A"), wxT("A#/Bb"), wxT("B")};
-       const int numChoicesPitchNames = 12;
-   m_pChoice_FromPitch = 
-               new wxChoice(this, ID_CHOICE_FROMPITCH, wxDefaultPosition, 
wxDefaultSize, 
-                                                       numChoicesPitchNames, 
strArray_PitchNames);
-   pBoxSizer_Pitch->Add(m_pChoice_FromPitch, 0, 
-                                                               
wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT | wxALL, 4);
-
-       const wxString strArray_RadioPitchUpDown[] = {_("up"), _("down")};
-       m_pRadioBox_PitchUpDown = 
-               new wxRadioBox(this, ID_RADIOBOX_PITCHUPDOWN, wxT(""), 
wxDefaultPosition, wxDefaultSize, 
-                                                               2, 
strArray_RadioPitchUpDown, 1);
-   pBoxSizer_Pitch->Add(m_pRadioBox_PitchUpDown, 0, 
-                                                               
wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT | wxALL, 4);
-   
-       pStaticText = new wxStaticText(this, -1, _("to"), wxDefaultPosition, 
wxDefaultSize, 0);
-   pBoxSizer_Pitch->Add(pStaticText, 0, 
-                                                               
wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 4);
-
-   m_pChoice_ToPitch = 
-               new wxChoice(this, ID_CHOICE_TOPITCH, wxDefaultPosition, 
wxDefaultSize, 
-                                                       numChoicesPitchNames, 
strArray_PitchNames);
-   pBoxSizer_Pitch->Add(m_pChoice_ToPitch, 0, 
-                                                               
wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT | wxALL, 4);
-
-   pBoxSizer_Dialog->Add(pBoxSizer_Pitch, 0, wxALIGN_CENTER | wxALL, 4);
-
-
-       // semitones change controls
-   wxBoxSizer * pBoxSizer_SemitonesChange = new wxBoxSizer(wxHORIZONTAL);
-   pStaticText = new wxStaticText(this, -1, _("Semitones (half-steps):"),
-                                                                               
                wxDefaultPosition, wxDefaultSize, 0);
-   pBoxSizer_SemitonesChange->Add(pStaticText, 0, 
-                                                                               
                wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 4);
-
-   m_pTextCtrl_SemitonesChange = 
-               new wxTextCtrl(this, ID_TEXT_SEMITONESCHANGE, wxT("0.0"), 
-                                                       wxDefaultPosition, 
wxSize(40, -1), 0, 
-                                                       
wxTextValidator(wxFILTER_NUMERIC));
-   pBoxSizer_SemitonesChange->Add(m_pTextCtrl_SemitonesChange, 0, 
-                                                                               
                wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT | wxALL, 4);
-
-   pBoxSizer_Dialog->Add(pBoxSizer_SemitonesChange, 0, wxALIGN_CENTER | wxALL, 
4);
-
-       
-       // from/to frequency controls
-   pBoxSizer_Dialog->Add(0, 8, 0); // spacer
-   wxBoxSizer * pBoxSizer_Frequency = new wxBoxSizer(wxHORIZONTAL);
-   
-   pStaticText = new wxStaticText(this, -1, _("Frequency (Hz):   from"),
-                                                                              
wxDefaultPosition, wxDefaultSize, 0);
-   pBoxSizer_Frequency->Add(pStaticText, 0, 
-                                                                       
wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 4);
-
-   m_pTextCtrl_FromFrequency = 
-               new wxTextCtrl(this, ID_TEXT_FROMFREQUENCY, wxT(""), 
-                                                       wxDefaultPosition, 
wxSize(64, -1), 0,
-                                                       
wxTextValidator(wxFILTER_NUMERIC));
-   pBoxSizer_Frequency->Add(m_pTextCtrl_FromFrequency, 0, 
-                                                                       
wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT | wxALL, 4);
+   Init();
+}
 
-   pStaticText = new wxStaticText(this, -1, _("to"),
-                                                                              
wxDefaultPosition, wxDefaultSize, 0);
-   pBoxSizer_Frequency->Add(pStaticText, 0, 
-                                                                       
wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 4);
+void ChangePitchDialog::PopulateOrExchange(ShuttleGui & S)
+{
+   wxTextValidator nullvld(wxFILTER_INCLUDE_CHAR_LIST);
+   wxTextValidator numvld(wxFILTER_NUMERIC);
+   wxArrayString pitch;
 
-   m_pTextCtrl_ToFrequency = 
-               new wxTextCtrl(this, ID_TEXT_TOFREQUENCY, wxT(""), 
-                                                       wxDefaultPosition, 
wxSize(64, -1), 0,
-                                                       
wxTextValidator(wxFILTER_NUMERIC));
-   pBoxSizer_Frequency->Add(m_pTextCtrl_ToFrequency, 0, 
-                                                                               
wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT | wxALL, 4);
+   pitch.Add(wxT("C"));
+   pitch.Add(wxT("C#/Db"));
+   pitch.Add(wxT("D"));
+   pitch.Add(wxT("D#/Eb"));
+   pitch.Add(wxT("E"));
+   pitch.Add(wxT("F"));
+   pitch.Add(wxT("F#/Gb"));
+   pitch.Add(wxT("G"));
+   pitch.Add(wxT("G#/Ab"));
+   pitch.Add(wxT("A"));
+   pitch.Add(wxT("A#/Bb"));
+   pitch.Add(wxT("B"));
 
-   pBoxSizer_Dialog->Add(pBoxSizer_Frequency, 0, wxALIGN_CENTER | wxALL, 4);
+   S.SetBorder(10);
+   S.StartHorizontalLay(wxCENTER, false);
+   {
+      S.AddTitle(_("by Vaughan Johnson && Dominic Mazzoni") +
+                 wxString(wxT("\n")) +
+                 _("using SoundTouch, by Olli Parviainen"));
+   }
+   S.EndHorizontalLay();
+   S.SetBorder(5);
 
+   //
+   S.StartMultiColumn(6, wxCENTER);
+   {
+      //
+      S.AddUnits(_("Pitch:"));
 
-       // percent change control
-       
-       // Group percent controls with spacers, 
-       // rather than static box, so they don't look isolated.
-   pBoxSizer_Dialog->Add(0, 8, 0); // spacer
+      S.StartHorizontalLay(wxALIGN_CENTER_VERTICAL);
+      {
+         m_pChoice_FromPitch = S.Id(ID_CHOICE_FROMPITCH)
+            .AddChoice(_("From:"), wxT(""), &pitch);
+         m_pChoice_FromPitch->SetName(_("From Pitch"));
+         m_pChoice_FromPitch->SetSizeHints(100, -1);
+      }
+      S.EndHorizontalLay();
 
-   wxBoxSizer * pBoxSizer_PercentChange = new wxBoxSizer(wxHORIZONTAL);
-   
-   pStaticText = new wxStaticText(this, -1, _("Percent Change:"),
-                                                                               
                wxDefaultPosition, wxDefaultSize, 0);
-   pBoxSizer_PercentChange->Add(pStaticText, 0, 
-                                                                               
        wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 4);
+      S.StartStatic(wxT(""));
+      {
+         S.StartVerticalLay();
+         {
+            S.SetBorder(3);
+            m_pRadioButton_PitchUp = S.Id(ID_RADIOBUTTON_PITCHUPDOWN)
+               .AddRadioButton(_("Up"));
+         
+            m_pRadioButton_PitchDown = S.Id(ID_RADIOBUTTON_PITCHUPDOWN)
+               .AddRadioButtonToGroup(_("Down"));
+            S.SetBorder(5);
+         }
+         S.EndVerticalLay();
+      }
+      S.EndStatic();
 
-       //v Override wxTextValidator to disallow negative values < -100.0?
-   m_pTextCtrl_PercentChange = 
-               new wxTextCtrl(this, ID_TEXT_PERCENTCHANGE, wxT("0.0"), 
-                                                       wxDefaultPosition, 
wxSize(60, -1), 0,
-                                                       
wxTextValidator(wxFILTER_NUMERIC));
-   pBoxSizer_PercentChange->Add(m_pTextCtrl_PercentChange, 0, 
-                                                                               
        wxALIGN_CENTER_VERTICAL | wxALL, 4);
+      S.StartHorizontalLay(wxALIGN_CENTER_VERTICAL);
+      {
+         m_pChoice_ToPitch = S.Id(ID_CHOICE_TOPITCH)
+            .AddChoice(_("To:"), wxT(""), &pitch);
+         m_pChoice_ToPitch->SetName(_("To Pitch"));
+         m_pChoice_ToPitch->SetSizeHints(100, -1);
+      }
+      S.EndHorizontalLay();
+   }
+   S.EndMultiColumn();
 
-   pBoxSizer_Dialog->Add(pBoxSizer_PercentChange, 0, wxALIGN_CENTER | wxALL, 
4);
+   //
+   S.StartMultiColumn(2, wxCENTER);
+   {
+      //
+      S.AddPrompt(_("Semitones (half-steps):"));
+      S.StartHorizontalLay(wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, false);
+      {
+         m_pTextCtrl_SemitonesChange = S.Id(ID_TEXT_SEMITONESCHANGE)
+            .AddTextBox(wxT(""), wxT(""), 12);
+         m_pTextCtrl_SemitonesChange->SetName(_("Semitones in half-steps"));
+         m_pTextCtrl_SemitonesChange->SetValidator(numvld);
+      }
+      S.EndHorizontalLay();
 
-   m_pSlider_PercentChange = 
-               new wxSlider(this, ID_SLIDER_PERCENTCHANGE, 
-                                                       0, PERCENTCHANGE_MIN, 
PERCENTCHANGE_MAX,
-                                                       wxDefaultPosition, 
wxSize(100, -1), wxSL_HORIZONTAL);
-   pBoxSizer_Dialog->Add(m_pSlider_PercentChange, 1, 
-                                                                       wxGROW 
| wxALIGN_CENTER | wxLEFT | wxRIGHT, 4);
+      //
+      S.AddPrompt(_("Frequency (Hz):"));
+      S.StartHorizontalLay(wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, false);
+      {
+         m_pTextCtrl_FromFrequency = S.Id(ID_TEXT_FROMFREQUENCY)
+            .AddTextBox(_("from"), wxT(""), 12);
+         m_pTextCtrl_FromFrequency->SetName(_("From frequency in hertz"));
+         m_pTextCtrl_FromFrequency->SetValidator(nullvld);
 
-   pBoxSizer_Dialog->Add(0, 8, 0); // spacer
+         m_pTextCtrl_ToFrequency = S.Id(ID_TEXT_TOFREQUENCY)
+            .AddTextBox(_("to"), wxT(""), 12);
+         m_pTextCtrl_ToFrequency->SetName(_("To frequency in seconds"));
+         m_pTextCtrl_ToFrequency->SetValidator(numvld);
+      }
+      S.EndHorizontalLay();
 
-   // Preview, OK, & Cancel buttons
-   pBoxSizer_Dialog->Add(CreateStdButtonSizer(this, 
ePreviewButton|eCancelButton|eOkButton), 0, wxEXPAND);
+      //
+      S.AddPrompt(_("Percent Change:"));
+      S.StartHorizontalLay(wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, false);
+      {
+         m_pTextCtrl_PercentChange = S.Id(ID_TEXT_PERCENTCHANGE)
+            .AddTextBox(wxT(""), wxT(""), 12);
+         m_pTextCtrl_PercentChange->SetName(_("Percent Change"));
+         m_pTextCtrl_PercentChange->SetValidator(numvld);
+      }
+      S.EndHorizontalLay();
+   }
+   S.EndMultiColumn();
 
-   this->SetAutoLayout(true);
-   this->SetSizer(pBoxSizer_Dialog);
-   pBoxSizer_Dialog->Fit(this);
-   pBoxSizer_Dialog->SetSizeHints(this);
-}
+   //
+   S.StartHorizontalLay(wxEXPAND);
+   {
+      S.SetStyle(wxSL_HORIZONTAL);
+      m_pSlider_PercentChange = S.Id(ID_SLIDER_PERCENTCHANGE)
+         .AddSlider(wxT(""), 0, (int)PERCENTCHANGE_MAX, 
(int)PERCENTCHANGE_MIN);
+      m_pSlider_PercentChange->SetName(_("Percent Change"));
+   }
+   S.EndHorizontalLay();
 
-bool ChangePitchDialog::Validate()
-{
-   return true; 
+   return;
 }
 
 bool ChangePitchDialog::TransferDataToWindow()
@@ -403,7 +366,7 @@
        if (m_pChoice_FromPitch) 
                m_pChoice_FromPitch->SetSelection(m_FromPitchIndex);
 
-       this->Update_RadioBox_PitchUpDown();
+       this->Update_RadioButton_PitchUpDown();
        this->Update_Choice_ToPitch();
 
 
@@ -444,8 +407,8 @@
        if (m_pChoice_FromPitch) 
                m_FromPitchIndex = m_pChoice_FromPitch->GetSelection(); 
 
-       if (m_pRadioBox_PitchUpDown)
-               m_bWantPitchDown = (m_pRadioBox_PitchUpDown->GetSelection() == 
1);
+       if (m_pRadioButton_PitchUp)
+               m_bWantPitchDown = (m_pRadioButton_PitchUp->GetValue() == 
false);
 
        if (m_pChoice_ToPitch) 
                m_ToPitchIndex = m_pChoice_ToPitch->GetSelection();
@@ -541,13 +504,13 @@
    }
 }
 
-void ChangePitchDialog::OnRadioBox_PitchUpDown(wxCommandEvent & event)
+void ChangePitchDialog::OnRadioButton_PitchUpDown(wxCommandEvent & event)
 {
    if (m_bLoopDetect)
       return;
 
-       if (m_pRadioBox_PitchUpDown) {
-               m_bWantPitchDown = (m_pRadioBox_PitchUpDown->GetSelection() == 
1);
+       if (m_pRadioButton_PitchUp) {
+               m_bWantPitchDown = (m_pRadioButton_PitchUp->GetValue() == 
false);
 
                this->Calc_SemitonesChange_fromPitches();
                this->Calc_PercentChange(); // Call *after* m_SemitonesChange 
is updated.
@@ -600,9 +563,9 @@
                this->Calc_ToPitchIndex(); // Call *after* m_bWantPitchDown is 
updated.
 
                m_bLoopDetect = true;
-               this->Update_RadioBox_PitchUpDown();
+               this->Update_RadioButton_PitchUpDown();
                if (m_pTextCtrl_SemitonesChange->IsModified())
-                       // See note at implementation of 
Update_RadioBox_PitchUpDown.
+                       // See note at implementation of 
Update_RadioButton_PitchUpDown.
                        m_pTextCtrl_SemitonesChange->SetFocus(); 
                this->Update_Choice_ToPitch();
                this->Update_Text_ToFrequency();
@@ -629,9 +592,9 @@
                this->Calc_ToPitchIndex(); // Call *after* m_bWantPitchDown is 
updated.
 
                m_bLoopDetect = true;
-               this->Update_RadioBox_PitchUpDown();
+               this->Update_RadioButton_PitchUpDown();
                if (m_pTextCtrl_FromFrequency->IsModified())
-                       // See note at implementation of 
Update_RadioBox_PitchUpDown.
+                       // See note at implementation of 
Update_RadioButton_PitchUpDown.
                        m_pTextCtrl_FromFrequency->SetFocus(); 
                this->Update_Choice_ToPitch();
                this->Update_Text_ToFrequency();
@@ -658,9 +621,9 @@
                m_bWantPitchDown = (m_ToFrequency < m_FromFrequency);
 
                m_bLoopDetect = true;
-               this->Update_RadioBox_PitchUpDown();
+               this->Update_RadioButton_PitchUpDown();
                if (m_pTextCtrl_ToFrequency->IsModified())
-                       // See note at implementation of 
Update_RadioBox_PitchUpDown.
+                       // See note at implementation of 
Update_RadioButton_PitchUpDown.
                        m_pTextCtrl_ToFrequency->SetFocus(); 
                this->Update_Choice_ToPitch();
                this->Update_Text_SemitonesChange();
@@ -687,9 +650,9 @@
                m_bWantPitchDown = (m_ToFrequency < m_FromFrequency);
 
       m_bLoopDetect = true;
-               this->Update_RadioBox_PitchUpDown();
+               this->Update_RadioButton_PitchUpDown();
                if (m_pTextCtrl_PercentChange->IsModified())
-                       // See note at implementation of 
Update_RadioBox_PitchUpDown.
+                       // See note at implementation of 
Update_RadioButton_PitchUpDown.
                        m_pTextCtrl_PercentChange->SetFocus(); 
                this->Update_Choice_ToPitch();
                this->Update_Text_SemitonesChange();
@@ -720,7 +683,7 @@
                m_bWantPitchDown = (m_ToFrequency < m_FromFrequency);
 
                m_bLoopDetect = true;
-               this->Update_RadioBox_PitchUpDown();
+               this->Update_RadioButton_PitchUpDown();
                this->Update_Choice_ToPitch();
                this->Update_Text_SemitonesChange();
                this->Update_Text_ToFrequency();
@@ -736,45 +699,31 @@
 
        // Save & restore parameters around Preview, because we didn't do OK.
        double oldSemitonesChange = m_SemitonesChange;
-       m_pEffect->m_SemitonesChange = m_SemitonesChange;
-       m_pEffect->Preview();
-       m_pEffect->m_SemitonesChange = oldSemitonesChange;
-}
-
-void ChangePitchDialog::OnOk(wxCommandEvent & event)
-{
-   TransferDataFromWindow();
-   
-   if (Validate()) 
-      EndModal(true);
-   else 
-      event.Skip();
-}
-
-void ChangePitchDialog::OnCancel(wxCommandEvent & event)
-{
-   EndModal(false);
+       mEffect->m_SemitonesChange = m_SemitonesChange;
+       mEffect->Preview();
+       mEffect->m_SemitonesChange = oldSemitonesChange;
 }
 
-
 // helper fns
 
 // NOTE: wxWindows ref (C:\wxWindows_2.4.0\docs\htmlhelp) says 
-// wxRadioBox::SetSelection "does not cause a 
-// wxEVT_COMMAND_RADIOBOX_SELECTED event to get emitted", but it 
+// wxRadioButton::SetSelection "does not cause a 
+// wxEVT_COMMAND_RadioButton_SELECTED event to get emitted", but it 
 // calls SetFocus, which sure as heck DOES select the radio button.
 //
-// So, any wxTextCtrl handler that calls Update_RadioBox_PitchUpDown 
+// So, any wxTextCtrl handler that calls Update_RadioButton_PitchUpDown 
 // needs to call wxTextCtrl::SetFocus afterward, to return the 
 // focus to the wxTextCtrl so the user can keep typing.
 //
 // Also, it turns out the wxTextCtrl handlers are sometimes 
 // called before the dialog is displayed, so those SetFocus calls 
 // need to be conditionalized on wxTextCtrl::IsModified.
-void ChangePitchDialog::Update_RadioBox_PitchUpDown() 
+void ChangePitchDialog::Update_RadioButton_PitchUpDown() 
 {
-       if (m_pRadioBox_PitchUpDown)
-               m_pRadioBox_PitchUpDown->SetSelection((int)(m_bWantPitchDown));
+       if (m_pRadioButton_PitchUp) {
+               m_pRadioButton_PitchUp->SetValue(m_bWantPitchDown == true);
+               m_pRadioButton_PitchDown->SetValue(m_bWantPitchDown == false);
+   }
 }
 
 void ChangePitchDialog::Update_Choice_ToPitch() 

Index: ChangePitch.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/effects/ChangePitch.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- ChangePitch.h       4 Jun 2008 19:10:45 -0000       1.13
+++ ChangePitch.h       10 Jun 2008 02:28:28 -0000      1.14
@@ -79,22 +79,17 @@
 //----------------------------------------------------------------------------
 
 class wxChoice;
-class wxRadioBox;
+class wxRadioButton;
 class wxString;
 class wxTextCtrl;
 
-class ChangePitchDialog:public wxDialog {
+class ChangePitchDialog:public EffectDialog {
  public:
-   ChangePitchDialog(EffectChangePitch * effect, 
-                                                       wxWindow * parent, 
wxWindowID id, 
-                                                       const wxString & title, 
-                                                       const wxPoint & pos = 
wxDefaultPosition, 
-                                                       const wxSize & size = 
wxDefaultSize, 
-                                                       long style = 
wxDEFAULT_DIALOG_STYLE);
+   ChangePitchDialog(EffectChangePitch * effect, wxWindow * parent);
 
-   virtual bool Validate();
-   virtual bool TransferDataToWindow();
-   virtual bool TransferDataFromWindow();
+   void PopulateOrExchange(ShuttleGui & S);
+   bool TransferDataToWindow();
+   bool TransferDataFromWindow();
 
  private:
        // calculations
@@ -106,7 +101,7 @@
 
        // handlers
    void OnChoice_FromPitch(wxCommandEvent & event); 
-       void OnRadioBox_PitchUpDown(wxCommandEvent & event);
+       void OnRadioButton_PitchUpDown(wxCommandEvent & event);
    void OnChoice_ToPitch(wxCommandEvent & event); 
 
    void OnText_SemitonesChange(wxCommandEvent & event); 
@@ -118,11 +113,9 @@
    void OnSlider_PercentChange(wxCommandEvent & event);
 
    void OnPreview( wxCommandEvent &event );
-   void OnOk(wxCommandEvent & event);
-   void OnCancel(wxCommandEvent & event);
 
        // helper fns for controls
-       void Update_RadioBox_PitchUpDown();
+       void Update_RadioButton_PitchUpDown();
        void Update_Choice_ToPitch(); 
 
        void Update_Text_SemitonesChange(); 
@@ -133,12 +126,13 @@
    void Update_Slider_PercentChange(); // Update control per current 
m_PercentChange.
 
  private:
+       EffectChangePitch * mEffect;
    bool m_bLoopDetect;
-       EffectChangePitch * m_pEffect;
 
    // controls
    wxChoice *          m_pChoice_FromPitch;
-       wxRadioBox *    m_pRadioBox_PitchUpDown;
+       wxRadioButton *m_pRadioButton_PitchUp;
+       wxRadioButton *m_pRadioButton_PitchDown;
    wxChoice *          m_pChoice_ToPitch;
    
    wxTextCtrl *        m_pTextCtrl_SemitonesChange;


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Audacity-cvs mailing list
Audacity-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/audacity-cvs

Reply via email to