mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-17 08:30:06 +02:00
74 lines
1.8 KiB
C++
74 lines
1.8 KiB
C++
/**********************************************************************
|
|
|
|
Audacity: A Digital Audio Editor
|
|
|
|
TimeToolBar.h
|
|
|
|
Jonatã Bolzan Loss
|
|
|
|
**********************************************************************/
|
|
|
|
#ifndef __AUDACITY_TIME_TOOLBAR__
|
|
#define __AUDACITY_TIME_TOOLBAR__
|
|
|
|
#include <wx/defs.h>
|
|
|
|
#include "ToolBar.h"
|
|
#include "../widgets/NumericTextCtrl.h"
|
|
|
|
class NumericTextCtrl;
|
|
class TimeToolBarListener;
|
|
|
|
class TimeToolBar final : public ToolBar
|
|
{
|
|
public:
|
|
TimeToolBar(AudacityProject &project);
|
|
virtual ~TimeToolBar();
|
|
|
|
static TimeToolBar &Get(AudacityProject &project);
|
|
static const TimeToolBar &Get(const AudacityProject &project);
|
|
|
|
void Populate() override;
|
|
void Repaint(wxDC * WXUNUSED(dc)) override {};
|
|
void EnableDisableButtons() override {};
|
|
void UpdatePrefs() override;
|
|
void RegenerateTooltips() override {};
|
|
int GetInitialWidth() override {return 250;}
|
|
int GetMinToolbarWidth() override {return 50;}
|
|
void SetToDefaultSize() override;
|
|
wxSize GetDockedSize() override;
|
|
void SetDocked(ToolDock *dock, bool pushed) override;
|
|
void SetListener(TimeToolBarListener *l);
|
|
void SetAudioTimeFormat(const NumericFormatSymbol & format);
|
|
void ResizingDone() override;
|
|
|
|
private:
|
|
void SetResizingLimits();
|
|
wxSize ComputeSizing(int digitH);
|
|
|
|
void OnSettingsChanged(wxCommandEvent &evt);
|
|
void OnUpdate(wxCommandEvent &evt);
|
|
void OnSize(wxSizeEvent &evt);
|
|
void OnIdle(wxIdleEvent &evt);
|
|
|
|
TimeToolBarListener *mListener;
|
|
NumericTextCtrl *mAudioTime;
|
|
float mDigitRatio;
|
|
bool mSettingInitialSize;
|
|
|
|
static const int minDigitH = 17;
|
|
static const int maxDigitH = 100;
|
|
|
|
public:
|
|
|
|
DECLARE_CLASS(TimeToolBar)
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
inline wxSize TimeToolBar::ComputeSizing(int digitH)
|
|
{
|
|
return mAudioTime->ComputeSizing(false, digitH * mDigitRatio, digitH);
|
|
}
|
|
|
|
#endif
|