136 lines
3.8 KiB
C++
136 lines
3.8 KiB
C++
/**********************************************************************
|
|
|
|
Audacity - A Digital Audio Editor
|
|
Copyright 1999-2018 Audacity Team
|
|
License: GPL v2 - see LICENSE.txt
|
|
|
|
Dan Horgan
|
|
James Crook
|
|
|
|
******************************************************************//**
|
|
|
|
\file SelectCommand.h
|
|
\brief Declarations for SelectCommand and SelectCommandType classes
|
|
|
|
*//*******************************************************************/
|
|
|
|
#ifndef __SELECT_COMMAND__
|
|
#define __SELECT_COMMAND__
|
|
|
|
|
|
|
|
#include "CommandType.h"
|
|
#include "Command.h"
|
|
|
|
//#include "../commands/AudacityCommand.h"
|
|
|
|
class SelectTimeCommand : public AudacityCommand
|
|
{
|
|
public:
|
|
static const ComponentInterfaceSymbol Symbol;
|
|
|
|
// ComponentInterface overrides
|
|
ComponentInterfaceSymbol GetSymbol() override {return Symbol;};
|
|
TranslatableString GetDescription() override {return XO("Selects a time range.");};
|
|
bool DefineParams( ShuttleParams & S ) override;
|
|
void PopulateOrExchange(ShuttleGui & S) override;
|
|
bool Apply(const CommandContext & context) override;
|
|
|
|
// AudacityCommand overrides
|
|
ManualPageID ManualPage() override {return L"Extra_Menu:_Scriptables_I#select_time";}
|
|
|
|
bool bHasT0;
|
|
bool bHasT1;
|
|
bool bHasFromEnd;
|
|
bool bHasRelativeSpec;
|
|
|
|
double mT0;
|
|
double mT1;
|
|
int mRelativeTo;
|
|
bool mFromEnd;
|
|
};
|
|
|
|
class SelectFrequenciesCommand : public AudacityCommand
|
|
{
|
|
public:
|
|
static const ComponentInterfaceSymbol Symbol;
|
|
|
|
// ComponentInterface overrides
|
|
ComponentInterfaceSymbol GetSymbol() override {return Symbol;};
|
|
TranslatableString GetDescription() override {return XO("Selects a frequency range.");};
|
|
bool DefineParams( ShuttleParams & S ) override;
|
|
void PopulateOrExchange(ShuttleGui & S) override;
|
|
bool Apply(const CommandContext & context) override;
|
|
|
|
// AudacityCommand overrides
|
|
ManualPageID ManualPage() override {return L"Extra_Menu:_Scriptables_I#select_frequencies";}
|
|
|
|
bool bHasBottom;
|
|
bool bHasTop;
|
|
|
|
double mBottom;
|
|
double mTop;
|
|
};
|
|
|
|
|
|
class SelectTracksCommand : public AudacityCommand
|
|
{
|
|
public:
|
|
static const ComponentInterfaceSymbol Symbol;
|
|
|
|
// ComponentInterface overrides
|
|
ComponentInterfaceSymbol GetSymbol() override {return Symbol;};
|
|
TranslatableString GetDescription() override {return XO("Selects a range of tracks.");};
|
|
bool DefineParams( ShuttleParams & S ) override;
|
|
void PopulateOrExchange(ShuttleGui & S) override;
|
|
bool Apply(const CommandContext & context) override;
|
|
// AudacityCommand overrides
|
|
ManualPageID ManualPage() override {return L"Extra_Menu:_Scriptables_I#select_tracks";}
|
|
|
|
bool bHasFirstTrack;
|
|
bool bHasNumTracks;
|
|
bool bHasMode;
|
|
|
|
double mFirstTrack;
|
|
double mNumTracks;
|
|
int mMode;
|
|
};
|
|
|
|
|
|
class SelectCommand : public AudacityCommand
|
|
{
|
|
public:
|
|
static const ComponentInterfaceSymbol Symbol;
|
|
|
|
// ComponentInterface overrides
|
|
ComponentInterfaceSymbol GetSymbol() override {return Symbol;};
|
|
TranslatableString GetDescription() override {return XO("Selects Audio.");};
|
|
bool DefineParams( ShuttleParams & S ) override {
|
|
return
|
|
mSelTime.DefineParams(S) &&
|
|
mSelFreq.DefineParams(S) &&
|
|
mSelTracks.DefineParams(S);
|
|
};
|
|
void PopulateOrExchange(ShuttleGui & S) override {
|
|
mSelTime.PopulateOrExchange(S);
|
|
mSelFreq.PopulateOrExchange(S);
|
|
mSelTracks.PopulateOrExchange(S);
|
|
};
|
|
bool Apply(const CommandContext & context) override {
|
|
return
|
|
mSelTime.Apply(context) &&
|
|
mSelFreq.Apply( context )&&
|
|
mSelTracks.Apply(context);
|
|
}
|
|
// AudacityCommand overrides
|
|
ManualPageID ManualPage() override {return L"Extra_Menu:_Scriptables_II#select";}
|
|
private:
|
|
SelectTimeCommand mSelTime;
|
|
SelectFrequenciesCommand mSelFreq;
|
|
SelectTracksCommand mSelTracks;
|
|
|
|
|
|
};
|
|
|
|
#endif /* End of include guard: __SELECT_COMMAND__ */
|