audacia/src/TimeDialog.h

60 lines
1.3 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
TimeDialog.h
Dominic Mazzoni
**********************************************************************/
#ifndef __AUDACITY_TimeDialog__
#define __AUDACITY_TimeDialog__
#include <wx/defs.h>
#include "audacity/ComponentInterface.h" // member variable
#include "widgets/wxPanelWrapper.h" // to inherit
class NumericTextCtrl;
class ShuttleGui;
class AUDACITY_DLL_API TimeDialog final : public wxDialogWrapper
{
public:
TimeDialog(wxWindow *parent,
const TranslatableString &title,
const NumericFormatSymbol &format,
double rate,
double time,
const TranslatableString &prompt = XO("Duration"));
void SetFormatString(const NumericFormatSymbol &formatString);
void SetSampleRate(double sampleRate);
void SetTimeValue(double newTime);
const double GetTimeValue();
private:
void PopulateOrExchange(ShuttleGui & S);
bool TransferDataToWindow() override;
bool TransferDataFromWindow() override;
void OnUpdate(wxCommandEvent &event);
private:
TranslatableString mPrompt;
NumericFormatSymbol mFormat;
double mRate;
double mTime;
NumericTextCtrl *mTimeCtrl;
DECLARE_EVENT_TABLE()
};
#endif