Update of /cvsroot/audacity/audacity-src/src/effects
In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv6325
Modified Files:
ToneGen.cpp ToneGen.h
Log Message:
Fix TimeTextCtrl handling in TransferDataToWindow()
Slight reformatting
Index: ToneGen.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/effects/ToneGen.cpp,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- ToneGen.cpp 28 Mar 2007 04:14:04 -0000 1.40
+++ ToneGen.cpp 4 Jul 2007 09:20:35 -0000 1.41
@@ -270,18 +270,15 @@
#define AMP_MIN 0
#define AMP_MAX 1
-#define ID_TONE_DURATION_TEXT 10001
-
BEGIN_EVENT_TABLE(ToneGenDialog, EffectDialog)
EVT_COMMAND(wxID_ANY, EVT_TIMETEXTCTRL_UPDATED,
ToneGenDialog::OnTimeCtrlUpdate)
- EVT_TEXT(ID_TONE_DURATION_TEXT, ToneGenDialog::OnToneGenDurationText)
END_EVENT_TABLE()
-
ToneGenDialog::ToneGenDialog(wxWindow * parent, const wxString & title)
: EffectDialog(parent, title, INSERT_EFFECT)
{
- mbChirp=false;
+ mToneDurationT = NULL;
+ mbChirp = false;
}
/// Populates simple dialog that has a single tone.
@@ -289,22 +286,25 @@
{
S.StartMultiColumn(2, wxCENTER);
{
- S.TieChoice( _("Waveform") + wxString(wxT(":")), waveform, waveforms);
- S.SetSizeHints(-1,-1);
- S.TieTextBox( _("Frequency (Hz)"),frequency[0], 5);
- S.TieTextBox( _("Amplitude (0-1)"),amplitude[0], 5);
+ S.TieChoice(_("Waveform") + wxString(wxT(":")), waveform, waveforms);
+ S.SetSizeHints(-1, -1);
+ S.TieTextBox(_("Frequency (Hz)"),frequency[0], 5);
+ S.TieTextBox(_("Amplitude (0-1)"),amplitude[0], 5);
S.AddFixedText(_("Length"), false);
- mToneDurationT = new
- TimeTextCtrl(this,
- ID_TONE_DURATION_TEXT,
-
TimeTextCtrl::GetBuiltinFormat(isSelection==true?(wxT("hh:mm:ss +
samples")):(wxT("seconds"))),
- length,
- 44100,
- wxDefaultPosition,
- wxDefaultSize,
- true);
+ if (mToneDurationT == NULL)
+ {
+ mToneDurationT = new
+ TimeTextCtrl(this,
+ wxID_ANY,
+
TimeTextCtrl::GetBuiltinFormat(isSelection==true?(wxT("hh:mm:ss +
samples")):(wxT("seconds"))),
+ length,
+ 44100,
+ wxDefaultPosition,
+ wxDefaultSize,
+ true);
+ mToneDurationT->EnableMenu();
+ }
S.AddWindow(mToneDurationT);
- mToneDurationT->EnableMenu();
}
S.EndMultiColumn();
}
@@ -314,35 +314,38 @@
{
S.StartMultiColumn(2, wxCENTER);
{
- S.TieChoice( _("Waveform:"), waveform, waveforms);
- S.SetSizeHints(-1,-1);
+ S.TieChoice(_("Waveform:"), waveform, waveforms);
+ S.SetSizeHints(-1, -1);
}
S.EndMultiColumn();
S.StartMultiColumn(3, wxCENTER);
{
S.AddFixedText(wxT(""));
- S.AddTitle( _("Start"));
- S.AddTitle( _("End") );
- S.TieTextBox( _("Frequency / Hz"),frequency[0], 10);
- S.TieTextBox( wxT(""),frequency[1], 10);
- S.TieTextBox( _("Amplitude (0-1)"),amplitude[0], 10);
- S.TieTextBox( wxT(""),amplitude[1], 10);
+ S.AddTitle(_("Start"));
+ S.AddTitle(_("End"));
+ S.TieTextBox(_("Frequency / Hz"),frequency[0], 10);
+ S.TieTextBox(wxT(""), frequency[1], 10);
+ S.TieTextBox(_("Amplitude (0-1)"),amplitude[0], 10);
+ S.TieTextBox(wxT(""), amplitude[1], 10);
}
S.EndMultiColumn();
S.StartMultiColumn(2, wxCENTER);
{
S.AddFixedText(_("Length"), false);
- mToneDurationT = new
- TimeTextCtrl(this,
- ID_TONE_DURATION_TEXT,
-
TimeTextCtrl::GetBuiltinFormat(isSelection==true?(wxT("hh:mm:ss +
samples")):(wxT("seconds"))),
- length,
- 44100,
- wxDefaultPosition,
- wxDefaultSize,
- true);
+ if (mToneDurationT == NULL)
+ {
+ mToneDurationT = new
+ TimeTextCtrl(this,
+ wxID_ANY,
+
TimeTextCtrl::GetBuiltinFormat(isSelection==true?(wxT("hh:mm:ss +
samples")):(wxT("seconds"))),
+ length,
+ 44100,
+ wxDefaultPosition,
+ wxDefaultSize,
+ true);
+ mToneDurationT->EnableMenu();
+ }
S.AddWindow(mToneDurationT);
- mToneDurationT->EnableMenu();
}
S.EndMultiColumn();
}
@@ -357,36 +360,31 @@
bool ToneGenDialog::TransferDataToWindow()
{
-// if you don't remove these, there will be a double
-// timetextctrl in the dialog. Don't know why...
-// ShuttleGui S( this, eIsSettingToDialog );
-// PopulateOrExchange( S );
+ EffectDialog::TransferDataToWindow();
+ // Must handle this ourselves since ShuttleGui doesn't know about it
mToneDurationT->SetTimeValue(length);
- mToneDurationT->SetFocus();
- mToneDurationT->Fit();
return true;
}
bool ToneGenDialog::TransferDataFromWindow()
{
- ShuttleGui S( this, eIsGettingFromDialog );
- PopulateOrExchange( S );
+ EffectDialog::TransferDataFromWindow();
amplitude[0] = TrapDouble(amplitude[0], AMP_MIN, AMP_MAX);
frequency[0] = TrapDouble(frequency[0], FREQ_MIN, FREQ_MAX);
amplitude[1] = TrapDouble(amplitude[1], AMP_MIN, AMP_MAX);
frequency[1] = TrapDouble(frequency[1], FREQ_MIN, FREQ_MAX);
- return true;
-}
-void ToneGenDialog::OnToneGenDurationText(wxCommandEvent & event) {
+ // Must handle this ourselves since ShuttleGui doesn't know about it
length = mToneDurationT->GetTimeValue();
+
+ return true;
}
void ToneGenDialog::OnTimeCtrlUpdate(wxCommandEvent & event) {
- this->Fit();
+ Fit();
}
// Indentation settings for Vim and Emacs and unique identifier for Arch, a
Index: ToneGen.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/effects/ToneGen.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- ToneGen.h 15 Apr 2007 02:23:26 -0000 1.21
+++ ToneGen.h 4 Jul 2007 09:20:36 -0000 1.22
@@ -101,17 +101,11 @@
bool TransferDataFromWindow();
private:
- void PopulateOrExchangeStandard( ShuttleGui & S );
- void PopulateOrExchangeExtended( ShuttleGui & S );
+ void PopulateOrExchangeStandard(ShuttleGui & S);
+ void PopulateOrExchangeExtended(ShuttleGui & S);
void OnTimeCtrlUpdate(wxCommandEvent & event);
- void OnToneGenDurationText(wxCommandEvent & event);
DECLARE_EVENT_TABLE()
-// wxChoice *mWaveform;
-// wxTextCtrl *mFreq;
-// wxTextCtrl *mAmp;
-// wxTextCtrl *mLength;
-
public:
bool mbChirp;
wxArrayString *waveforms;
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Audacity-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-cvs