Audacity  2.2.0
ShuttleGuiBase Class Reference

Base class for shuttling data to and from a GUI. More...

#include <ShuttleGui.h>

Inheritance diagram for ShuttleGuiBase:
ShuttleGui

Public Member Functions

 ShuttleGuiBase (wxWindow *pParent, teShuttleMode ShuttleMode)
 
 ~ShuttleGuiBase (void)
 
void Init ()
 
void AddPrompt (const wxString &Prompt)
 Right aligned text string. More...
 
void AddUnits (const wxString &Prompt)
 Left aligned text string. More...
 
void AddTitle (const wxString &Prompt)
 Centred text string. More...
 
wxWindow * AddWindow (wxWindow *pWindow, int Flags=wxALIGN_CENTRE|wxALL)
 
wxSlider * AddSlider (const wxString &Prompt, int pos, int Max, int Min=0)
 
wxSlider * AddVSlider (const wxString &Prompt, int pos, int Max)
 
wxSpinCtrl * AddSpinCtrl (const wxString &Prompt, int Value, int Max, int Min)
 
wxTreeCtrl * AddTree ()
 
wxRadioButton * AddRadioButton (const wxString &Prompt)
 
wxRadioButton * AddRadioButtonToGroup (const wxString &Prompt)
 
wxButton * AddButton (const wxString &Text, int PositionFlags=wxALIGN_CENTRE)
 
wxBitmapButton * AddBitmapButton (const wxBitmap &Bitmap, int PositionFlags=wxALIGN_CENTRE)
 
wxStaticText * AddVariableText (const wxString &Str, bool bCenter=false, int PositionFlags=0)
 
wxTextCtrl * AddTextBox (const wxString &Caption, const wxString &Value, const int nChars)
 
wxTextCtrl * AddNumericTextBox (const wxString &Caption, const wxString &Value, const int nChars)
 
wxTextCtrl * AddTextWindow (const wxString &Value)
 Multiline text box that grows. More...
 
wxListBox * AddListBox (const wxArrayString *pChoices, long style=0)
 
wxListCtrl * AddListControl ()
 
wxListCtrl * AddListControlReportMode ()
 
wxGrid * AddGrid ()
 
wxCheckBox * AddCheckBox (const wxString &Prompt, const wxString &Selected)
 
wxCheckBox * AddCheckBoxOnRight (const wxString &Prompt, const wxString &Selected)
 
wxComboBox * AddCombo (const wxString &Prompt, const wxString &Selected, const wxArrayString *pChoices, long style=0)
 
wxChoice * AddChoice (const wxString &Prompt, const wxString &Selected, const wxArrayString *pChoices)
 
wxMenuBar * AddMenuBar ()
 
wxMenu * AddMenu (const wxString &Title)
 
void AddIcon (wxBitmap *pBmp)
 
void AddIconButton (const wxString &Command, const wxString &Params, wxBitmap *pBmp)
 
void AddFixedText (const wxString &Str, bool bCenter=false)
 
void AddConstTextBox (const wxString &Caption, const wxString &Value)
 Single line text box of fixed size. More...
 
void StartHorizontalLay (int PositionFlags=wxALIGN_CENTRE, int iProp=1)
 
void EndHorizontalLay ()
 
void StartVerticalLay (int iProp=1)
 
void EndVerticalLay ()
 
wxScrolledWindow * StartScroller (int iStyle=0)
 
void EndScroller ()
 
wxPanel * StartPanel (int iStyle=0)
 
void EndPanel ()
 
void StartMultiColumn (int nCols, int PositionFlags=wxALIGN_LEFT)
 
void EndMultiColumn ()
 
void StartTwoColumn ()
 
void EndTwoColumn ()
 
void StartThreeColumn ()
 
void EndThreeColumn ()
 
wxStaticBox * StartStatic (const wxString &Str, int iProp=0)
 
void EndStatic ()
 
wxNotebook * StartNotebook ()
 
void EndNotebook ()
 
wxNotebookPageStartNotebookPage (const wxString &Name)
 
void StartNotebookPage (const wxString &Name, wxNotebookPage *pPage)
 
void EndNotebookPage ()
 
wxPanel * StartInvisiblePanel ()
 
void EndInvisiblePanel ()
 
void StartRadioButtonGroup (const wxString &SettingName)
 
void EndRadioButtonGroup ()
 
void StartRadioButtonGroup (const wxString &SettingName, const int iDefaultValue)
 
void StartRadioButtonGroup (const wxString &SettingName, const wxString &DefaultValue)
 
void DoDataShuttle (const wxString &Name, WrappedType &WrappedRef)
 
bool DoStep (int iStep)
 
int TranslateToIndex (const wxString &Value, const wxArrayString &Choices)
 String-to-Index. More...
 
wxString TranslateFromIndex (const int nIn, const wxArrayString &Choices)
 Index-to-String. More...
 
int TranslateToIndex (const int Value, const wxArrayInt &Choices)
 Int-to-Index (choices can be items like e.g 0x400120 ) More...
 
int TranslateFromIndex (const int nIn, const wxArrayInt &Choices)
 Index-to-int (choices can be items like e.g 0x400120 ) More...
 
wxTextCtrl * TieTextBox (const wxString &Prompt, WrappedType &WrappedRef, const int nChars)
 
wxTextCtrl * TieTextBox (const wxString &Caption, wxString &Value, const int nChars=0)
 
wxTextCtrl * TieTextBox (const wxString &Prompt, int &Selected, const int nChars=0)
 
wxTextCtrl * TieTextBox (const wxString &Prompt, double &Value, const int nChars=0)
 
wxTextCtrl * TieNumericTextBox (const wxString &Prompt, WrappedType &WrappedRef, const int nChars)
 
wxTextCtrl * TieNumericTextBox (const wxString &Caption, wxString &Value, const int nChars=0)
 
wxTextCtrl * TieNumericTextBox (const wxString &Prompt, int &Selected, const int nChars=0)
 
wxTextCtrl * TieNumericTextBox (const wxString &Prompt, double &Value, const int nChars=0)
 
wxCheckBox * TieCheckBox (const wxString &Prompt, WrappedType &WrappedRef)
 
wxCheckBox * TieCheckBox (const wxString &Prompt, const wxString &Selected)
 
wxCheckBox * TieCheckBox (const wxString &Prompt, bool &Var)
 
wxCheckBox * TieCheckBoxOnRight (const wxString &Prompt, WrappedType &WrappedRef)
 
wxCheckBox * TieCheckBoxOnRight (const wxString &Prompt, bool &Var)
 
wxChoice * TieChoice (const wxString &Prompt, WrappedType &WrappedRef, const wxArrayString *pChoices)
 
wxChoice * TieChoice (const wxString &Prompt, wxString &Selected, const wxArrayString *pChoices)
 
wxChoice * TieChoice (const wxString &Prompt, int &Selected, const wxArrayString *pChoices)
 
wxSlider * TieSlider (const wxString &Prompt, WrappedType &WrappedRef, const int max, const int min=0)
 
wxSlider * TieSlider (const wxString &Prompt, int &pos, const int max, const int min=0)
 
wxSlider * TieSlider (const wxString &Prompt, double &pos, const double max, const double min=0.0)
 
wxSlider * TieSlider (const wxString &Prompt, float &pos, const float fMin, const float fMax)
 
wxSlider * TieVSlider (const wxString &Prompt, float &pos, const float fMin, const float fMax)
 
wxRadioButton * TieRadioButton (const wxString &Prompt, WrappedType &WrappedRef)
 
wxRadioButton * TieRadioButton (const wxString &Prompt, const int iValue)
 This function must be within a StartRadioButtonGroup - EndRadioButtonGroup pair. More...
 
wxRadioButton * TieRadioButton (const wxString &Prompt, const wxString &Value)
 This function must be within a StartRadioButtonGroup - EndRadioButtonGroup pair. More...
 
wxSpinCtrl * TieSpinCtrl (const wxString &Prompt, WrappedType &WrappedRef, const int max, const int min=0)
 
wxSpinCtrl * TieSpinCtrl (const wxString &Prompt, int &Value, const int max, const int min=0)
 
wxCheckBox * TieCheckBox (const wxString &Prompt, const wxString &SettingName, const bool bDefault)
 
wxCheckBox * TieCheckBoxOnRight (const wxString &Prompt, const wxString &SettingName, const bool bDefault)
 
wxChoice * TieChoice (const wxString &Prompt, const wxString &SettingName, const wxString &Default, const wxArrayString &Choices, const wxArrayString &TranslatedChoices)
 
wxChoice * TieChoice (const wxString &Prompt, const wxString &SettingName, const int Default, const wxArrayString &Choices, const wxArrayInt &TranslatedChoices)
 
wxTextCtrl * TieTextBox (const wxString &Prompt, const wxString &SettingName, const wxString &Default, const int nChars)
 
wxTextCtrl * TieTextBox (const wxString &Prompt, const wxString &SettingName, const double &Default, const int nChars)
 
wxTextCtrl * TieNumericTextBox (const wxString &Prompt, const wxString &SettingName, const wxString &Default, const int nChars)
 
wxTextCtrl * TieNumericTextBox (const wxString &Prompt, const wxString &SettingName, const double &Default, const int nChars)
 
wxSlider * TieSlider (const wxString &Prompt, const wxString &SettingName, const int iDefault, const int max, const int min=0)
 
wxSpinCtrl * TieSpinCtrl (const wxString &Prompt, const wxString &SettingName, const int Value, const int max, const int min)
 
void EnableCtrl (bool bEnable)
 
void SetSizeHints (int minX, int minY)
 Used to modify an already placed Window. More...
 
void SetBorder (int Border)
 
void SetStyle (int Style)
 
void SetNoMatchSelector (int iSelector)
 
void SetSizerProportion (int iProp)
 
void SetStretchyCol (int i)
 Used to modify an already placed FlexGridSizer to make a column stretchy. More...
 
void SetStretchyRow (int i)
 Used to modify an already placed FlexGridSizer to make a row stretchy. More...
 
wxWindow * GetParent ()
 
ShuttleGuiBaseProp (int iProp)
 
int GetId ()
 
void UseUpId ()
 
wxSizer * GetSizer ()
 

Protected Member Functions

void SetProportions (int Default)
 
void PushSizer ()
 
void PopSizer ()
 
void UpdateSizersCore (bool bPrepend, int Flags)
 
void UpdateSizers ()
 
void UpdateSizersC ()
 
void UpdateSizersAtStart ()
 
long Style (long Style)
 

Protected Attributes

wxWindow * mpLastWind
 
wxWindow * mpDlg
 
wxSizer * pSizerStack [nMaxNestedSizers]
 
wxString mBoxName
 
std::unique_ptr< ShuttlempShuttle
 
int miNoMatchSelector
 
teShuttleMode mShuttleMode
 Used in choices to determine which item to use on no match. More...
 
wxString mSettingName
 
int mRadioCount
 The setting controlled by a group. More...
 
WrappedType mRadioValue
 The index of this radio item. -1 for none. More...
 
wxString mRadioValueString
 The wrapped value associated with the active radio button. More...
 
int mRadioValueInt
 Unwrapped string value. More...
 
int miSizerProp
 Unwrapped integer value. More...
 
int mSizerDepth
 
int miBorder
 
long miStyle
 
int miProp
 
int miId
 
int miIdNext
 
int miIdSetByUser
 
int miPropSetByUser
 
std::unique_ptr< wxSizer > mpSubSizer
 
wxSizer * mpSizer
 
wxWindow * mpParent
 
wxWindow * mpWind
 
wxMenuBar * mpMenuBar
 
wxMenu * mpMenu
 

Detailed Description

Base class for shuttling data to and from a GUI.

see also ShuttleGui

Use the:

  • Start / End methods for containers, like two-column-layout.
  • Add methods if you are only interested in creating the controls.
  • Tie methods if you also want to exchange data using ShuttleGui.

The code in this file is fairly repetitive. We are dealing with

  • Many different types of Widget.
  • Creation / Reading / Writing / Exporting / Importing
  • int, float, string variants (for example of TextCtrl contents).

A technique used to reduce the size of the Tie functions is to have one generic Tie function that uses WrappedType for its data type. Type specific Tie functions themselves call the generic variant.

A second technique used to reduce the size of Tie functions only comes into play for two-step Tie functions. (A two step Tie function is one that transfers data between the registry and the GUI via an intermediate temporary variable). In the two step style, a function ShuttleGuiBase::DoStep() determines which transfers in the function are to be done, reducing repetitive if-then-else's.

Although unusual, these two techniques make the code easier to add to and much easier to check for correctness. The alternative 'more obvious' code that just repeats code as needed is considerably longer.

You would rarely use ShuttleGuiBase directly, instead you'd use ShuttleGui.

There is DOxygen documentation on how to use the ShuttleGui class in The Shuttle System .

Constructor & Destructor Documentation

ShuttleGuiBase::ShuttleGuiBase ( wxWindow *  pParent,
teShuttleMode  ShuttleMode 
)
ShuttleGuiBase::~ShuttleGuiBase ( void  )

Member Function Documentation

wxBitmapButton * ShuttleGuiBase::AddBitmapButton ( const wxBitmap &  Bitmap,
int  PositionFlags = wxALIGN_CENTRE 
)
wxCheckBox * ShuttleGuiBase::AddCheckBoxOnRight ( const wxString &  Prompt,
const wxString &  Selected 
)

For a consistant two-column layout we want labels on the left and controls on the right. CheckBoxes break that rule, so we fake it by placing a static text label and then a tick box with an empty label.

References AddPrompt(), eIsCreating, GetParent(), miId, miProp, mpDlg, mpWind, mShuttleMode, safenew, Style(), UpdateSizers(), and UseUpId().

Referenced by TieCheckBoxOnRight().

wxComboBox * ShuttleGuiBase::AddCombo ( const wxString &  Prompt,
const wxString &  Selected,
const wxArrayString *  pChoices,
long  style = 0 
)
void ShuttleGuiBase::AddConstTextBox ( const wxString &  Caption,
const wxString &  Value 
)
wxGrid * ShuttleGuiBase::AddGrid ( )
void ShuttleGuiBase::AddIcon ( wxBitmap *  pBmp)
void ShuttleGuiBase::AddIconButton ( const wxString &  Command,
const wxString &  Params,
wxBitmap *  pBmp 
)
wxListBox * ShuttleGuiBase::AddListBox ( const wxArrayString *  pChoices,
long  style = 0 
)
wxMenu * ShuttleGuiBase::AddMenu ( const wxString &  Title)

References mpMenu, mpMenuBar, and safenew.

wxMenuBar * ShuttleGuiBase::AddMenuBar ( )

References mpMenuBar, and mpParent.

wxTextCtrl * ShuttleGuiBase::AddNumericTextBox ( const wxString &  Caption,
const wxString &  Value,
const int  nChars 
)
wxRadioButton * ShuttleGuiBase::AddRadioButton ( const wxString &  Prompt)
wxSpinCtrl * ShuttleGuiBase::AddSpinCtrl ( const wxString &  Prompt,
int  Value,
int  Max,
int  Min 
)
wxTreeCtrl * ShuttleGuiBase::AddTree ( )
wxSlider* ShuttleGuiBase::AddVSlider ( const wxString &  Prompt,
int  pos,
int  Max 
)
void ShuttleGuiBase::DoDataShuttle ( const wxString &  Name,
WrappedType WrappedRef 
)

When we're exchanging with the configured shuttle rather than with the GUI We use this function.

References mpShuttle.

Referenced by EndRadioButtonGroup(), StartRadioButtonGroup(), TieCheckBox(), TieCheckBoxOnRight(), TieChoice(), TieNumericTextBox(), TieSlider(), TieSpinCtrl(), and TieTextBox().

bool ShuttleGuiBase::DoStep ( int  iStep)

Code-Condenser function.

We have functions which need to do:

// Either: Values are coming in:
DoDataShuttle( SettingName, WrappedRef );
TieMyControl( Prompt, WrappedRef );
// Or: Values are going out:
TieMyControl( Prompt, WrappedRef );
DoDataShuttle( SettingName, WrappedRef );

So we make a list of all the possible steps, and have DoStep choose which ones are actually done, like this:

if( DoStep(1) ) DoFirstThing();
if( DoStep(2) ) DoSecondThing();
if( DoStep(3) ) DoThirdThing();

The repeated choice logic can then be taken out of those functions.

JKC: This paves the way for doing data validation too, though when we add that we wil need to renumber the steps.

References eIsCreating, eIsGettingFromDialog, eIsSettingToDialog, and mShuttleMode.

Referenced by TieCheckBox(), TieCheckBoxOnRight(), TieChoice(), TieNumericTextBox(), TieSlider(), TieSpinCtrl(), and TieTextBox().

void ShuttleGuiBase::EnableCtrl ( bool  bEnable)

References eIsCreating, mpLastWind, and mShuttleMode.

void ShuttleGuiBase::EndHorizontalLay ( )

References eIsCreating, mShuttleMode, and PopSizer().

Referenced by ExportMP3::AskResample(), NyquistEffect::BuildPromptWindow(), ContrastDialog::ContrastDialog(), Exporter::CreateUserPane(), FreqWindow::FreqWindow(), HistoryWindow::HistoryWindow(), BenchmarkDialog::MakeBenchmarkDialog(), BatchProcessDialog::OnApplyToFiles(), BatchProcessDialog::OnApplyToProject(), Meter::OnPreferences(), RateMenuTable::OnRateOther(), AudacityProject::OnResample(), EffectUIHost::OnSaveAs(), ExportPlugin::OptionsCreate(), BatchPrefs::PopulateOrExchange(), ThemePrefs::PopulateOrExchange(), QualityPrefs::PopulateOrExchange(), EffectSilence::PopulateOrExchange(), KeyConfigPrefs::PopulateOrExchange(), BatchProcessDialog::PopulateOrExchange(), EffectRepeat::PopulateOrExchange(), ExportCLOptions::PopulateOrExchange(), EffectNormalize::PopulateOrExchange(), EffectToneGen::PopulateOrExchange(), ScreenFrame::PopulateOrExchange(), EffectCompressor::PopulateOrExchange(), EffectChangeSpeed::PopulateOrExchange(), EffectAmplify::PopulateOrExchange(), EditChainsDialog::PopulateOrExchange(), EffectReverb::PopulateOrExchange(), EffectTruncSilence::PopulateOrExchange(), ExportMultiple::PopulateOrExchange(), ExportPCMOptions::PopulateOrExchange(), ExtImportPrefs::PopulateOrExchange(), EffectEqualization::PopulateOrExchange(), TagsEditor::PopulateOrExchange(), DependencyDialog::PopulateOrExchange(), ExportMP3Options::PopulateOrExchange(), LadspaEffectOptionsDialog::PopulateOrExchange(), EditCurvesDialog::PopulateOrExchange(), PluginRegistrationDialog::PopulateOrExchange(), FindDialog::PopulateOrExchange(), PrefsDialog::PrefsDialog(), DeviceToolBar::ShowComboDialog(), HelpSystem::ShowHtmlText(), and HelpSystem::ShowInfoDialog().

void ShuttleGuiBase::EndInvisiblePanel ( )

References EndPanel().

void ShuttleGuiBase::EndMultiColumn ( )

References eIsCreating, mShuttleMode, and PopSizer().

Referenced by NyquistEffect::BuildEffectWindow(), NyquistEffect::BuildPromptWindow(), ContrastDialog::ContrastDialog(), FreqWindow::FreqWindow(), HistoryWindow::HistoryWindow(), ImportRawDialog::ImportRawDialog(), BenchmarkDialog::MakeBenchmarkDialog(), LabelTrackMenuTable::OnSetFont(), SoundActivatedRecord::PopulateOrExchange(), DirectoriesPrefs::PopulateOrExchange(), RecordingPrefs::PopulateOrExchange(), TracksBehaviorsPrefs::PopulateOrExchange(), EffectsPrefs::PopulateOrExchange(), DevicePrefs::PopulateOrExchange(), QualityPrefs::PopulateOrExchange(), GUIPrefs::PopulateOrExchange(), TracksPrefs::PopulateOrExchange(), EffectPaulstretch::PopulateOrExchange(), ModulePrefs::PopulateOrExchange(), BatchCommandDialog::PopulateOrExchange(), EffectRepeat::PopulateOrExchange(), EffectFindClipping::PopulateOrExchange(), ExportCLOptions::PopulateOrExchange(), EffectNoise::PopulateOrExchange(), EffectEcho::PopulateOrExchange(), EffectNormalize::PopulateOrExchange(), EffectToneGen::PopulateOrExchange(), ScreenFrame::PopulateOrExchange(), EffectCompressor::PopulateOrExchange(), EffectClickRemoval::PopulateOrExchange(), SpectrumPrefs::PopulateOrExchange(), EffectAutoDuck::PopulateOrExchange(), EffectDtmf::PopulateOrExchange(), EffectAmplify::PopulateOrExchange(), EffectChangeSpeed::PopulateOrExchange(), EffectScienFilter::PopulateOrExchange(), EffectReverb::PopulateOrExchange(), EffectTruncSilence::PopulateOrExchange(), TimerRecordDialog::PopulateOrExchange(), EffectBassTreble::PopulateOrExchange(), EffectWahwah::PopulateOrExchange(), EffectPhaser::PopulateOrExchange(), ExportMultiple::PopulateOrExchange(), EffectDistortion::PopulateOrExchange(), ExportPCMOptions::PopulateOrExchange(), EffectEqualization::PopulateOrExchange(), TagsEditor::PopulateOrExchange(), ExportMP3Options::PopulateOrExchange(), EffectNoiseReduction::Dialog::PopulateOrExchange(), and FindDialog::PopulateOrExchange().

void ShuttleGuiBase::EndNotebook ( )

References mpParent.

Referenced by AboutDialog::AboutDialog().

void ShuttleGuiBase::EndRadioButtonGroup ( )
void ShuttleGuiBase::EndStatic ( )

References eIsCreating, mShuttleMode, and PopSizer().

Referenced by ExportMP3::AskResample(), ContrastDialog::ContrastDialog(), Exporter::CreateUserPane(), HistoryWindow::HistoryWindow(), BatchProcessDialog::OnApplyToFiles(), BatchProcessDialog::OnApplyToProject(), Meter::OnPreferences(), KeyConfigPrefs::Populate(), BatchPrefs::PopulateOrExchange(), DirectoriesPrefs::PopulateOrExchange(), MousePrefs::PopulateOrExchange(), PlaybackPrefs::PopulateOrExchange(), ThemePrefs::PopulateOrExchange(), ProjectsPrefs::PopulateOrExchange(), RecordingPrefs::PopulateOrExchange(), WaveformPrefs::PopulateOrExchange(), TracksBehaviorsPrefs::PopulateOrExchange(), WarningsPrefs::PopulateOrExchange(), ImportExportPrefs::PopulateOrExchange(), LibraryPrefs::PopulateOrExchange(), EffectsPrefs::PopulateOrExchange(), DevicePrefs::PopulateOrExchange(), QualityPrefs::PopulateOrExchange(), GUIPrefs::PopulateOrExchange(), TracksPrefs::PopulateOrExchange(), TimeDialog::PopulateOrExchange(), KeyConfigPrefs::PopulateOrExchange(), ModulePrefs::PopulateOrExchange(), BatchProcessDialog::PopulateOrExchange(), BatchCommandDialog::PopulateOrExchange(), ScreenFrame::PopulateOrExchange(), EffectCompressor::PopulateOrExchange(), SpectrumPrefs::PopulateOrExchange(), EffectChangeSpeed::PopulateOrExchange(), EditChainsDialog::PopulateOrExchange(), EffectTruncSilence::PopulateOrExchange(), EffectBassTreble::PopulateOrExchange(), TimerRecordDialog::PopulateOrExchange(), ExportMultiple::PopulateOrExchange(), EffectDistortion::PopulateOrExchange(), ExtImportPrefs::PopulateOrExchange(), TagsEditor::PopulateOrExchange(), DependencyDialog::PopulateOrExchange(), LadspaEffectOptionsDialog::PopulateOrExchange(), EditCurvesDialog::PopulateOrExchange(), and EffectNoiseReduction::Dialog::PopulateOrExchange().

void ShuttleGuiBase::EndVerticalLay ( )

References eIsCreating, mShuttleMode, and PopSizer().

Referenced by ShuttleGui::AddStandardButtons(), ExportMP3::AskResample(), NyquistEffect::BuildPromptWindow(), Exporter::CreateUserPane(), EffectPresetsDialog::EffectPresetsDialog(), ErrorDialog::ErrorDialog(), FreqWindow::FreqWindow(), HistoryWindow::HistoryWindow(), ImportRawDialog::ImportRawDialog(), EffectDialog::Init(), LangChoiceDialog::LangChoiceDialog(), BenchmarkDialog::MakeBenchmarkDialog(), BatchProcessDialog::OnApplyToFiles(), AudacityProject::OnAudioDeviceInfo(), TagsEditor::OnEdit(), Meter::OnPreferences(), RateMenuTable::OnRateOther(), AudacityProject::OnResample(), EffectUIHost::OnSaveAs(), LabelTrackMenuTable::OnSetFont(), SplashDialog::Populate(), KeyConfigPrefs::Populate(), AboutDialog::PopulateAudacityPage(), AboutDialog::PopulateInformationPage(), AboutDialog::PopulateLicensePage(), SoundActivatedRecord::PopulateOrExchange(), TimeDialog::PopulateOrExchange(), EffectSilence::PopulateOrExchange(), BatchProcessDialog::PopulateOrExchange(), BatchCommandDialog::PopulateOrExchange(), ExportCLOptions::PopulateOrExchange(), EffectNormalize::PopulateOrExchange(), EffectAutoDuck::PopulateOrExchange(), EffectAmplify::PopulateOrExchange(), EffectChangeSpeed::PopulateOrExchange(), EffectScienFilter::PopulateOrExchange(), TimerRecordDialog::PopulateOrExchange(), EffectDistortion::PopulateOrExchange(), ExportPCMOptions::PopulateOrExchange(), EffectEqualization::PopulateOrExchange(), TagsEditor::PopulateOrExchange(), DependencyDialog::PopulateOrExchange(), ExportMP3Options::PopulateOrExchange(), LadspaEffectOptionsDialog::PopulateOrExchange(), EditCurvesDialog::PopulateOrExchange(), PluginRegistrationDialog::PopulateOrExchange(), FindDialog::PopulateOrExchange(), PrefsDialog::PrefsDialog(), DeviceToolBar::ShowComboDialog(), HelpSystem::ShowInfoDialog(), and SliderDialog::SliderDialog().

int ShuttleGuiBase::GetId ( )
inline
wxSizer* ShuttleGuiBase::GetSizer ( )
inline
ShuttleGuiBase & ShuttleGuiBase::Prop ( int  iProp)

References miPropSetByUser.

Referenced by ShuttleGui::Prop().

void ShuttleGuiBase::PushSizer ( )
protected
void ShuttleGuiBase::SetBorder ( int  Border)
inline

Referenced by ExportMP3::AskResample(), ContrastDialog::ContrastDialog(), ErrorDialog::ErrorDialog(), FreqWindow::FreqWindow(), HistoryWindow::HistoryWindow(), ImportRawDialog::ImportRawDialog(), EffectDialog::Init(), LangChoiceDialog::LangChoiceDialog(), BenchmarkDialog::MakeBenchmarkDialog(), BatchProcessDialog::OnApplyToProject(), RateMenuTable::OnRateOther(), EffectUIHost::OnSaveAs(), SplashDialog::Populate(), MousePrefs::PopulateOrExchange(), BatchPrefs::PopulateOrExchange(), SoundActivatedRecord::PopulateOrExchange(), DirectoriesPrefs::PopulateOrExchange(), PlaybackPrefs::PopulateOrExchange(), ThemePrefs::PopulateOrExchange(), ProjectsPrefs::PopulateOrExchange(), RecordingPrefs::PopulateOrExchange(), WaveformPrefs::PopulateOrExchange(), TracksBehaviorsPrefs::PopulateOrExchange(), WarningsPrefs::PopulateOrExchange(), ImportExportPrefs::PopulateOrExchange(), LibraryPrefs::PopulateOrExchange(), EffectsPrefs::PopulateOrExchange(), DevicePrefs::PopulateOrExchange(), QualityPrefs::PopulateOrExchange(), GUIPrefs::PopulateOrExchange(), TracksPrefs::PopulateOrExchange(), TimeDialog::PopulateOrExchange(), KeyConfigPrefs::PopulateOrExchange(), ModulePrefs::PopulateOrExchange(), BatchProcessDialog::PopulateOrExchange(), ScreenFrame::PopulateOrExchange(), EffectCompressor::PopulateOrExchange(), SpectrumPrefs::PopulateOrExchange(), EffectClickRemoval::PopulateOrExchange(), EffectAutoDuck::PopulateOrExchange(), EffectChangeSpeed::PopulateOrExchange(), EffectScienFilter::PopulateOrExchange(), TimerRecordDialog::PopulateOrExchange(), EffectBassTreble::PopulateOrExchange(), EffectWahwah::PopulateOrExchange(), EffectPhaser::PopulateOrExchange(), ExportMultiple::PopulateOrExchange(), ExtImportPrefs::PopulateOrExchange(), EffectEqualization::PopulateOrExchange(), DependencyDialog::PopulateOrExchange(), LadspaEffectOptionsDialog::PopulateOrExchange(), FindDialog::PopulateOrExchange(), HelpSystem::ShowInfoDialog(), and WarningDialog::WarningDialog().

void ShuttleGuiBase::SetNoMatchSelector ( int  iSelector)
inline
void ShuttleGuiBase::SetSizeHints ( int  minX,
int  minY 
)

Used to modify an already placed Window.

References eIsCreating, mpLastWind, and mShuttleMode.

Referenced by ShuttleGui::SetSizeHints().

void ShuttleGuiBase::SetStretchyRow ( int  i)

Used to modify an already placed FlexGridSizer to make a row stretchy.

References eIsCreating, mpSizer, and mShuttleMode.

Referenced by FreqWindow::FreqWindow(), LabelTrackMenuTable::OnSetFont(), EffectScienFilter::PopulateOrExchange(), and EffectEqualization::PopulateOrExchange().

void ShuttleGuiBase::StartHorizontalLay ( int  PositionFlags = wxALIGN_CENTRE,
int  iProp = 1 
)

Starts a Horizontal Layout.

  • Use wxEXPAND and 0 to expand horizontally but not vertically.
  • Use wxEXPAND and 1 to expand horizontally and vertically.
  • Use wxCENTRE and 1 for no expansion.
    Parameters
    PositionFlagTypically wxEXPAND or wxALIGN_CENTER.
    iPropProportionality for resizing.

References eIsCreating, miSizerProp, mpSubSizer, mShuttleMode, and UpdateSizersCore().

Referenced by ExportMP3::AskResample(), NyquistEffect::BuildPromptWindow(), ContrastDialog::ContrastDialog(), Exporter::CreateUserPane(), ExportCL::Export(), FreqWindow::FreqWindow(), HistoryWindow::HistoryWindow(), LangChoiceDialog::LangChoiceDialog(), BenchmarkDialog::MakeBenchmarkDialog(), BatchProcessDialog::OnApplyToFiles(), BatchProcessDialog::OnApplyToProject(), Meter::OnPreferences(), RateMenuTable::OnRateOther(), AudacityProject::OnResample(), EffectUIHost::OnSaveAs(), ExportPlugin::OptionsCreate(), BatchPrefs::PopulateOrExchange(), ThemePrefs::PopulateOrExchange(), EffectSilence::PopulateOrExchange(), KeyConfigPrefs::PopulateOrExchange(), BatchProcessDialog::PopulateOrExchange(), EffectRepeat::PopulateOrExchange(), ExportCLOptions::PopulateOrExchange(), EffectNormalize::PopulateOrExchange(), EffectToneGen::PopulateOrExchange(), ScreenFrame::PopulateOrExchange(), EffectCompressor::PopulateOrExchange(), EffectChangeSpeed::PopulateOrExchange(), EffectAmplify::PopulateOrExchange(), EditChainsDialog::PopulateOrExchange(), EffectReverb::PopulateOrExchange(), EffectTruncSilence::PopulateOrExchange(), ExportMultiple::PopulateOrExchange(), ExportPCMOptions::PopulateOrExchange(), ExtImportPrefs::PopulateOrExchange(), EffectEqualization::PopulateOrExchange(), TagsEditor::PopulateOrExchange(), DependencyDialog::PopulateOrExchange(), ExportMP3Options::PopulateOrExchange(), LadspaEffectOptionsDialog::PopulateOrExchange(), EditCurvesDialog::PopulateOrExchange(), PluginRegistrationDialog::PopulateOrExchange(), FindDialog::PopulateOrExchange(), PrefsDialog::PrefsDialog(), DeviceToolBar::ShowComboDialog(), HelpSystem::ShowHtmlText(), and HelpSystem::ShowInfoDialog().

wxPanel * ShuttleGuiBase::StartInvisiblePanel ( )
void ShuttleGuiBase::StartMultiColumn ( int  nCols,
int  PositionFlags = wxALIGN_LEFT 
)

References eIsCreating, mpSubSizer, mShuttleMode, and UpdateSizersCore().

Referenced by NyquistEffect::BuildEffectWindow(), NyquistEffect::BuildPromptWindow(), ContrastDialog::ContrastDialog(), FreqWindow::FreqWindow(), HistoryWindow::HistoryWindow(), ImportRawDialog::ImportRawDialog(), BenchmarkDialog::MakeBenchmarkDialog(), LabelTrackMenuTable::OnSetFont(), SplashDialog::Populate(), SoundActivatedRecord::PopulateOrExchange(), DirectoriesPrefs::PopulateOrExchange(), RecordingPrefs::PopulateOrExchange(), TracksBehaviorsPrefs::PopulateOrExchange(), EffectsPrefs::PopulateOrExchange(), DevicePrefs::PopulateOrExchange(), QualityPrefs::PopulateOrExchange(), GUIPrefs::PopulateOrExchange(), TracksPrefs::PopulateOrExchange(), EffectPaulstretch::PopulateOrExchange(), KeyConfigPrefs::PopulateOrExchange(), ModulePrefs::PopulateOrExchange(), BatchCommandDialog::PopulateOrExchange(), EffectRepeat::PopulateOrExchange(), EffectFindClipping::PopulateOrExchange(), ExportCLOptions::PopulateOrExchange(), EffectNoise::PopulateOrExchange(), EffectNormalize::PopulateOrExchange(), EffectEcho::PopulateOrExchange(), EffectToneGen::PopulateOrExchange(), ScreenFrame::PopulateOrExchange(), EffectCompressor::PopulateOrExchange(), SpectrumPrefs::PopulateOrExchange(), EffectClickRemoval::PopulateOrExchange(), EffectAutoDuck::PopulateOrExchange(), EffectDtmf::PopulateOrExchange(), EffectAmplify::PopulateOrExchange(), EffectChangeSpeed::PopulateOrExchange(), EffectScienFilter::PopulateOrExchange(), EffectReverb::PopulateOrExchange(), EffectTruncSilence::PopulateOrExchange(), TimerRecordDialog::PopulateOrExchange(), EffectBassTreble::PopulateOrExchange(), EffectWahwah::PopulateOrExchange(), EffectPhaser::PopulateOrExchange(), ExportMultiple::PopulateOrExchange(), EffectDistortion::PopulateOrExchange(), ExportPCMOptions::PopulateOrExchange(), EffectEqualization::PopulateOrExchange(), TagsEditor::PopulateOrExchange(), ExportMP3Options::PopulateOrExchange(), EffectNoiseReduction::Dialog::PopulateOrExchange(), and FindDialog::PopulateOrExchange().

wxNotebook * ShuttleGuiBase::StartNotebook ( )
void ShuttleGuiBase::StartNotebookPage ( const wxString &  Name,
wxNotebookPage pPage 
)
void ShuttleGuiBase::StartRadioButtonGroup ( const wxString &  SettingName)

Call this before any TieRadioButton calls. This is the generic version and requires mRadioValue already initialised. Versions for specific types must do that initialisation.

References DoDataShuttle(), eIsCreating, eWrappedNotSet, WrappedType::eWrappedType, mRadioCount, mRadioValue, mSettingName, and mShuttleMode.

Referenced by ImportExportPrefs::PopulateOrExchange(), ProjectsPrefs::PopulateOrExchange(), KeyConfigPrefs::PopulateOrExchange(), ExportMultiple::PopulateOrExchange(), ExportMP3Options::PopulateOrExchange(), and StartRadioButtonGroup().

void ShuttleGuiBase::StartRadioButtonGroup ( const wxString &  SettingName,
const int  iDefaultValue 
)

Integer specific version of StartRadioButtonGroup. All 'TieRadioButton()' enclosed must be ints.

References mRadioValue, mRadioValueInt, WrappedType::SetTo(), and StartRadioButtonGroup().

void ShuttleGuiBase::StartRadioButtonGroup ( const wxString &  SettingName,
const wxString &  DefaultValue 
)

String specific version of StartRadioButtonGroup. All 'TieRadioButton()' enclosed must be strings.

References mRadioValue, mRadioValueString, WrappedType::SetTo(), and StartRadioButtonGroup().

wxScrolledWindow * ShuttleGuiBase::StartScroller ( int  iStyle = 0)

This allows subsequent controls and static boxes to be in a scrolled panel. Very handy if you are running out of space on a dialog.

The iStyle parameter is used in some very hacky code that dynamically repopulates a dialog. It also controls the background colour. Look at the code for details.

Parameters
istyledeprecated parameter, but has been used for hacking.

References eIsCreating, GetParent(), miId, mpDlg, mpParent, mpSizer, mpWind, mShuttleMode, PushSizer(), safenew, SetProportions(), Style(), UpdateSizers(), UpdateSizersAtStart(), and UseUpId().

Referenced by NyquistEffect::BuildEffectWindow(), ModulePrefs::PopulateOrExchange(), and SpectrumPrefs::PopulateOrExchange().

wxStaticBox * ShuttleGuiBase::StartStatic ( const wxString &  Str,
int  iProp = 0 
)

Starts a static box around a number of controls.

Parameters
StrThe text of the title for the box.
iPropThe resizing proportion value. Use iProp == 0 for a minimum sized static box. Use iProp == 1 for a box that grows if there is space to spare.

References eIsCreating, GetParent(), mBoxName, miId, miSizerProp, mpSubSizer, mShuttleMode, safenew, UpdateSizers(), and UseUpId().

Referenced by ExportMP3::AskResample(), ContrastDialog::ContrastDialog(), Exporter::CreateUserPane(), HistoryWindow::HistoryWindow(), BatchProcessDialog::OnApplyToFiles(), BatchProcessDialog::OnApplyToProject(), Meter::OnPreferences(), KeyConfigPrefs::Populate(), BatchPrefs::PopulateOrExchange(), DirectoriesPrefs::PopulateOrExchange(), MousePrefs::PopulateOrExchange(), PlaybackPrefs::PopulateOrExchange(), ThemePrefs::PopulateOrExchange(), ProjectsPrefs::PopulateOrExchange(), RecordingPrefs::PopulateOrExchange(), WaveformPrefs::PopulateOrExchange(), TracksBehaviorsPrefs::PopulateOrExchange(), WarningsPrefs::PopulateOrExchange(), ImportExportPrefs::PopulateOrExchange(), LibraryPrefs::PopulateOrExchange(), EffectsPrefs::PopulateOrExchange(), DevicePrefs::PopulateOrExchange(), QualityPrefs::PopulateOrExchange(), GUIPrefs::PopulateOrExchange(), TracksPrefs::PopulateOrExchange(), TimeDialog::PopulateOrExchange(), KeyConfigPrefs::PopulateOrExchange(), ModulePrefs::PopulateOrExchange(), BatchProcessDialog::PopulateOrExchange(), BatchCommandDialog::PopulateOrExchange(), ScreenFrame::PopulateOrExchange(), EffectCompressor::PopulateOrExchange(), SpectrumPrefs::PopulateOrExchange(), EffectChangeSpeed::PopulateOrExchange(), EditChainsDialog::PopulateOrExchange(), EffectTruncSilence::PopulateOrExchange(), EffectBassTreble::PopulateOrExchange(), TimerRecordDialog::PopulateOrExchange(), ExportMultiple::PopulateOrExchange(), EffectDistortion::PopulateOrExchange(), ExtImportPrefs::PopulateOrExchange(), TagsEditor::PopulateOrExchange(), DependencyDialog::PopulateOrExchange(), LadspaEffectOptionsDialog::PopulateOrExchange(), EditCurvesDialog::PopulateOrExchange(), and EffectNoiseReduction::Dialog::PopulateOrExchange().

void ShuttleGuiBase::StartVerticalLay ( int  iProp = 1)

References eIsCreating, miSizerProp, mpSubSizer, mShuttleMode, and UpdateSizers().

Referenced by ShuttleGui::AddStandardButtons(), ExportMP3::AskResample(), NyquistEffect::BuildPromptWindow(), Exporter::CreateUserPane(), EffectPresetsDialog::EffectPresetsDialog(), ErrorDialog::ErrorDialog(), FreqWindow::FreqWindow(), HistoryWindow::HistoryWindow(), ImportRawDialog::ImportRawDialog(), EffectDialog::Init(), LangChoiceDialog::LangChoiceDialog(), BenchmarkDialog::MakeBenchmarkDialog(), BatchProcessDialog::OnApplyToFiles(), AudacityProject::OnAudioDeviceInfo(), TagsEditor::OnEdit(), Meter::OnPreferences(), RateMenuTable::OnRateOther(), AudacityProject::OnResample(), EffectUIHost::OnSaveAs(), LabelTrackMenuTable::OnSetFont(), SplashDialog::Populate(), KeyConfigPrefs::Populate(), AboutDialog::PopulateAudacityPage(), AboutDialog::PopulateInformationPage(), AboutDialog::PopulateLicensePage(), SoundActivatedRecord::PopulateOrExchange(), TimeDialog::PopulateOrExchange(), EffectSilence::PopulateOrExchange(), BatchProcessDialog::PopulateOrExchange(), BatchCommandDialog::PopulateOrExchange(), ExportCLOptions::PopulateOrExchange(), EffectNormalize::PopulateOrExchange(), EffectAutoDuck::PopulateOrExchange(), EffectAmplify::PopulateOrExchange(), EffectChangeSpeed::PopulateOrExchange(), EffectScienFilter::PopulateOrExchange(), TimerRecordDialog::PopulateOrExchange(), EffectDistortion::PopulateOrExchange(), ExportPCMOptions::PopulateOrExchange(), EffectEqualization::PopulateOrExchange(), TagsEditor::PopulateOrExchange(), DependencyDialog::PopulateOrExchange(), ExportMP3Options::PopulateOrExchange(), LadspaEffectOptionsDialog::PopulateOrExchange(), EditCurvesDialog::PopulateOrExchange(), PluginRegistrationDialog::PopulateOrExchange(), FindDialog::PopulateOrExchange(), PrefsDialog::PrefsDialog(), DeviceToolBar::ShowComboDialog(), HelpSystem::ShowInfoDialog(), SliderDialog::SliderDialog(), and WarningDialog::WarningDialog().

wxCheckBox* ShuttleGuiBase::TieCheckBox ( const wxString &  Prompt,
const wxString &  Selected 
)
wxCheckBox * ShuttleGuiBase::TieCheckBox ( const wxString &  Prompt,
bool &  Var 
)

References TieCheckBox().

wxCheckBox * ShuttleGuiBase::TieCheckBox ( const wxString &  Prompt,
const wxString &  SettingName,
const bool  bDefault 
)

Variant of the standard TieCheckBox which does the two step exchange between gui and stack variable and stack variable and shuttle.

References DoDataShuttle(), DoStep(), and TieCheckBox().

wxCheckBox * ShuttleGuiBase::TieCheckBoxOnRight ( const wxString &  Prompt,
bool &  Var 
)
wxCheckBox * ShuttleGuiBase::TieCheckBoxOnRight ( const wxString &  Prompt,
const wxString &  SettingName,
const bool  bDefault 
)

Variant of the standard TieCheckBox which does the two step exchange between gui and stack variable and stack variable and shuttle.

References DoDataShuttle(), DoStep(), and TieCheckBoxOnRight().

wxChoice * ShuttleGuiBase::TieChoice ( const wxString &  Prompt,
wxString &  Selected,
const wxArrayString *  pChoices 
)

References TieChoice().

wxChoice * ShuttleGuiBase::TieChoice ( const wxString &  Prompt,
int &  Selected,
const wxArrayString *  pChoices 
)

References TieChoice().

wxChoice * ShuttleGuiBase::TieChoice ( const wxString &  Prompt,
const wxString &  SettingName,
const wxString &  Default,
const wxArrayString &  Choices,
const wxArrayString &  TranslatedChoices 
)

Variant of the standard TieChoice which does the two step exchange between gui and stack variable and stack variable and shuttle.

Parameters
PromptThe prompt shown beside the control.
SettingNameThe setting name as stored in gPrefs
DefaultThe default value for this control (translated)
ChoicesAn array of choices that appear on screen.
TranslatedChoicesThe corresponding values (as a string array)

References DoDataShuttle(), DoStep(), TieChoice(), TranslateFromIndex(), and TranslateToIndex().

wxChoice * ShuttleGuiBase::TieChoice ( const wxString &  Prompt,
const wxString &  SettingName,
const int  Default,
const wxArrayString &  Choices,
const wxArrayInt &  TranslatedChoices 
)

Variant of the standard TieChoice which does the two step exchange between gui and stack variable and stack variable and shuttle. Difference to previous one is that the Translated choices and default are integers, not Strings.

Parameters
PromptThe prompt shown beside the control.
SettingNameThe setting name as stored in gPrefs
DefaultThe default value for this control (translated)
ChoicesAn array of choices that appear on screen.
TranslatedChoicesThe correcponding values (as an integer array)

References DoDataShuttle(), DoStep(), TieChoice(), TranslateFromIndex(), and TranslateToIndex().

wxTextCtrl * ShuttleGuiBase::TieNumericTextBox ( const wxString &  Caption,
wxString &  Value,
const int  nChars = 0 
)

References TieNumericTextBox().

wxTextCtrl * ShuttleGuiBase::TieNumericTextBox ( const wxString &  Prompt,
int &  Selected,
const int  nChars = 0 
)

References TieNumericTextBox().

wxTextCtrl * ShuttleGuiBase::TieNumericTextBox ( const wxString &  Prompt,
double &  Value,
const int  nChars = 0 
)

References TieNumericTextBox().

wxTextCtrl * ShuttleGuiBase::TieNumericTextBox ( const wxString &  Prompt,
const wxString &  SettingName,
const wxString &  Default,
const int  nChars 
)

Variant of the standard TieTextBox which does the two step exchange between gui and stack variable and stack variable and shuttle.

References DoDataShuttle(), DoStep(), and TieNumericTextBox().

wxTextCtrl * ShuttleGuiBase::TieNumericTextBox ( const wxString &  Prompt,
const wxString &  SettingName,
const double &  Default,
const int  nChars 
)

Variant of the standard TieTextBox which does the two step exchange between gui and stack variable and stack variable and shuttle. This one does it for double values...

References DoDataShuttle(), DoStep(), and TieNumericTextBox().

wxRadioButton * ShuttleGuiBase::TieRadioButton ( const wxString &  Prompt,
const int  iValue 
)

This function must be within a StartRadioButtonGroup - EndRadioButtonGroup pair.

References TieRadioButton().

wxRadioButton * ShuttleGuiBase::TieRadioButton ( const wxString &  Prompt,
const wxString &  Value 
)

This function must be within a StartRadioButtonGroup - EndRadioButtonGroup pair.

References TieRadioButton().

wxSlider * ShuttleGuiBase::TieSlider ( const wxString &  Prompt,
int &  pos,
const int  max,
const int  min = 0 
)

References TieSlider().

wxSlider * ShuttleGuiBase::TieSlider ( const wxString &  Prompt,
double &  pos,
const double  max,
const double  min = 0.0 
)

References TieSlider().

wxSlider * ShuttleGuiBase::TieSlider ( const wxString &  Prompt,
float &  pos,
const float  fMin,
const float  fMax 
)

References TieSlider().

wxSlider * ShuttleGuiBase::TieSlider ( const wxString &  Prompt,
const wxString &  SettingName,
const int  iDefault,
const int  max,
const int  min = 0 
)

Variant of the standard TieSlider which does the two step exchange between gui and stack variable and stack variable and shuttle.

References DoDataShuttle(), DoStep(), and TieSlider().

wxSpinCtrl * ShuttleGuiBase::TieSpinCtrl ( const wxString &  Prompt,
WrappedType WrappedRef,
const int  max,
const int  min = 0 
)
wxSpinCtrl * ShuttleGuiBase::TieSpinCtrl ( const wxString &  Prompt,
int &  Value,
const int  max,
const int  min = 0 
)

References TieSpinCtrl().

wxSpinCtrl * ShuttleGuiBase::TieSpinCtrl ( const wxString &  Prompt,
const wxString &  SettingName,
const int  Value,
const int  max,
const int  min 
)

Variant of the standard TieSpinCtrl which does the two step exchange between gui and stack variable and stack variable and shuttle.

References DoDataShuttle(), DoStep(), and TieSpinCtrl().

wxTextCtrl * ShuttleGuiBase::TieTextBox ( const wxString &  Caption,
wxString &  Value,
const int  nChars = 0 
)

References TieTextBox().

wxTextCtrl * ShuttleGuiBase::TieTextBox ( const wxString &  Prompt,
int &  Selected,
const int  nChars = 0 
)

References TieTextBox().

wxTextCtrl * ShuttleGuiBase::TieTextBox ( const wxString &  Prompt,
double &  Value,
const int  nChars = 0 
)

References TieTextBox().

wxTextCtrl * ShuttleGuiBase::TieTextBox ( const wxString &  Prompt,
const wxString &  SettingName,
const wxString &  Default,
const int  nChars 
)

Variant of the standard TieTextBox which does the two step exchange between gui and stack variable and stack variable and shuttle.

References DoDataShuttle(), DoStep(), and TieTextBox().

wxTextCtrl * ShuttleGuiBase::TieTextBox ( const wxString &  Prompt,
const wxString &  SettingName,
const double &  Default,
const int  nChars 
)

Variant of the standard TieTextBox which does the two step exchange between gui and stack variable and stack variable and shuttle. This one does it for double values...

References DoDataShuttle(), DoStep(), and TieTextBox().

wxSlider * ShuttleGuiBase::TieVSlider ( const wxString &  Prompt,
float &  pos,
const float  fMin,
const float  fMax 
)

References TieSlider().

wxString ShuttleGuiBase::TranslateFromIndex ( const int  nIn,
const wxArrayString &  Choices 
)

Index-to-String.

References miNoMatchSelector.

Referenced by TieChoice().

int ShuttleGuiBase::TranslateFromIndex ( const int  nIn,
const wxArrayInt &  Choices 
)

Index-to-int (choices can be items like e.g 0x400120 )

References miNoMatchSelector.

int ShuttleGuiBase::TranslateToIndex ( const wxString &  Value,
const wxArrayString &  Choices 
)

String-to-Index.

References miNoMatchSelector.

Referenced by TieChoice().

int ShuttleGuiBase::TranslateToIndex ( const int  Value,
const wxArrayInt &  Choices 
)

Int-to-Index (choices can be items like e.g 0x400120 )

References miNoMatchSelector.

void ShuttleGuiBase::UpdateSizersAtStart ( )
protected

References UpdateSizersCore().

Referenced by StartScroller().

void ShuttleGuiBase::UpdateSizersC ( )
protected
void ShuttleGuiBase::UseUpId ( )

Member Data Documentation

wxString ShuttleGuiBase::mBoxName
protected

Referenced by StartStatic().

int ShuttleGuiBase::miBorder
protected
int ShuttleGuiBase::miIdNext
protected

Referenced by Init(), and UseUpId().

int ShuttleGuiBase::miIdSetByUser
protected

Referenced by ShuttleGui::Id(), Init(), and UseUpId().

int ShuttleGuiBase::miNoMatchSelector
protected

Controls source/destination of shuttled data. You can leave this NULL if you are shuttling to variables

Referenced by Init(), TranslateFromIndex(), and TranslateToIndex().

int ShuttleGuiBase::miPropSetByUser
protected

Referenced by Init(), Prop(), and SetProportions().

int ShuttleGuiBase::miSizerProp
protected
long ShuttleGuiBase::miStyle
protected

Referenced by Init(), and Style().

wxWindow* ShuttleGuiBase::mpLastWind
protected
wxMenu* ShuttleGuiBase::mpMenu
protected

Referenced by AddMenu().

wxMenuBar* ShuttleGuiBase::mpMenuBar
protected

Referenced by AddMenu(), and AddMenuBar().

std::unique_ptr<Shuttle> ShuttleGuiBase::mpShuttle
protected
std::unique_ptr<wxSizer> ShuttleGuiBase::mpSubSizer
protected
int ShuttleGuiBase::mRadioCount
protected

The setting controlled by a group.

Referenced by EndRadioButtonGroup(), Init(), StartRadioButtonGroup(), and TieRadioButton().

WrappedType ShuttleGuiBase::mRadioValue
protected

The index of this radio item. -1 for none.

Referenced by EndRadioButtonGroup(), StartRadioButtonGroup(), and TieRadioButton().

int ShuttleGuiBase::mRadioValueInt
protected

Unwrapped string value.

Referenced by StartRadioButtonGroup().

wxString ShuttleGuiBase::mRadioValueString
protected

The wrapped value associated with the active radio button.

Referenced by StartRadioButtonGroup().

wxString ShuttleGuiBase::mSettingName
protected
int ShuttleGuiBase::mSizerDepth
protected

Referenced by Init(), PopSizer(), and PushSizer().

wxSizer* ShuttleGuiBase::pSizerStack[nMaxNestedSizers]
protected

Referenced by PopSizer(), and PushSizer().


The documentation for this class was generated from the following files: