1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-21 22:12:58 +02:00

std::vector<int> replaces wxArrayInt, again

see also 8be1e8fdad
This commit is contained in:
Paul Licameli
2019-02-12 14:45:46 -05:00
parent 30c4ca70ee
commit caab0a5a4d
2 changed files with 66 additions and 65 deletions

View File

@@ -30,68 +30,68 @@ capture the more lengthy output from some commands.
void CommandMessageTarget::StartArray() void CommandMessageTarget::StartArray()
{ {
wxString Padding; wxString Padding;
Padding.Pad( mCounts.GetCount() *2 -2); Padding.Pad( mCounts.size() *2 -2);
Update( wxString::Format( "%s%s[ ", ( mCounts.Last() > 0 ) ? ",\n" : "\n", Padding )); Update( wxString::Format( "%s%s[ ", ( mCounts.back() > 0 ) ? ",\n" : "\n", Padding ));
mCounts.Last() += 1; mCounts.back() += 1;
mCounts.push_back( 0 ); mCounts.push_back( 0 );
} }
void CommandMessageTarget::EndArray(){ void CommandMessageTarget::EndArray(){
if( mCounts.GetCount() > 1 ){ if( mCounts.size() > 1 ){
mCounts.pop_back(); mCounts.pop_back();
} }
Update( " ]" ); Update( " ]" );
} }
void CommandMessageTarget::StartStruct(){ void CommandMessageTarget::StartStruct(){
wxString Padding; wxString Padding;
Padding.Pad( mCounts.GetCount() *2 -2); Padding.Pad( mCounts.size() *2 -2);
Update( wxString::Format( "%s%s{ ", ( mCounts.Last() > 0 ) ? ",\n" : "\n", Padding )); Update( wxString::Format( "%s%s{ ", ( mCounts.back() > 0 ) ? ",\n" : "\n", Padding ));
mCounts.Last() += 1; mCounts.back() += 1;
mCounts.push_back( 0 ); mCounts.push_back( 0 );
} }
void CommandMessageTarget::EndStruct(){ void CommandMessageTarget::EndStruct(){
if( mCounts.GetCount() > 1 ){ if( mCounts.size() > 1 ){
mCounts.pop_back(); mCounts.pop_back();
} }
Update( " }" ); Update( " }" );
} }
void CommandMessageTarget::AddItem(const wxString &value, const wxString &name){ void CommandMessageTarget::AddItem(const wxString &value, const wxString &name){
wxString Padding; wxString Padding;
Padding.Pad( mCounts.GetCount() *2 -2); Padding.Pad( mCounts.size() *2 -2);
Padding = (( value.length() < 15 ) || (mCounts.Last()<=0)) ? "" : wxString("\n") + Padding; Padding = (( value.length() < 15 ) || (mCounts.back()<=0)) ? "" : wxString("\n") + Padding;
if( name.IsEmpty() ) if( name.IsEmpty() )
Update( wxString::Format( "%s%s\"%s\"", (mCounts.Last()>0)?", ":"", Padding, Escaped(value))); Update( wxString::Format( "%s%s\"%s\"", (mCounts.back()>0)?", ":"", Padding, Escaped(value)));
else else
Update( wxString::Format( "%s%s\"%s\":\"%s\"", (mCounts.Last()>0)?", ":"", Padding, name, Escaped(value))); Update( wxString::Format( "%s%s\"%s\":\"%s\"", (mCounts.back()>0)?", ":"", Padding, name, Escaped(value)));
mCounts.Last() += 1; mCounts.back() += 1;
} }
void CommandMessageTarget::AddBool(const bool value, const wxString &name){ void CommandMessageTarget::AddBool(const bool value, const wxString &name){
if( name.IsEmpty() ) if( name.IsEmpty() )
Update( wxString::Format( "%s\"%s\"", (mCounts.Last()>0)?", ":"", value?"true":"false")); Update( wxString::Format( "%s\"%s\"", (mCounts.back()>0)?", ":"", value?"true":"false"));
else else
Update( wxString::Format( "%s\"%s\":\"%s\"", (mCounts.Last()>0)?", ":"", name,value?"true":"false")); Update( wxString::Format( "%s\"%s\":\"%s\"", (mCounts.back()>0)?", ":"", name,value?"true":"false"));
mCounts.Last() += 1; mCounts.back() += 1;
} }
void CommandMessageTarget::AddItem(const double value, const wxString &name){ void CommandMessageTarget::AddItem(const double value, const wxString &name){
if( name.IsEmpty() ) if( name.IsEmpty() )
Update( wxString::Format( "%s%g", (mCounts.Last()>0)?", ":"", value)); Update( wxString::Format( "%s%g", (mCounts.back()>0)?", ":"", value));
else else
Update( wxString::Format( "%s\"%s\":%g", (mCounts.Last()>0)?", ":"", name,value)); Update( wxString::Format( "%s\"%s\":%g", (mCounts.back()>0)?", ":"", name,value));
mCounts.Last() += 1; mCounts.back() += 1;
} }
void CommandMessageTarget::StartField(const wxString &name){ void CommandMessageTarget::StartField(const wxString &name){
if( name.IsEmpty() ) if( name.IsEmpty() )
Update( wxString::Format( "%s", (mCounts.Last()>0)? ", " : "")); Update( wxString::Format( "%s", (mCounts.back()>0)? ", " : ""));
else else
Update( wxString::Format( "%s\"%s\":", (mCounts.Last()>0) ?", ":"", name)); Update( wxString::Format( "%s\"%s\":", (mCounts.back()>0) ?", ":"", name));
mCounts.Last() += 1; mCounts.back() += 1;
mCounts.push_back( 0 ); mCounts.push_back( 0 );
} }
void CommandMessageTarget::EndField(){ void CommandMessageTarget::EndField(){
if( mCounts.GetCount() > 1 ){ if( mCounts.size() > 1 ){
mCounts.pop_back(); mCounts.pop_back();
} }
} }
@@ -110,27 +110,27 @@ wxString CommandMessageTarget::Escaped( const wxString & str){
void LispyCommandMessageTarget::StartArray() void LispyCommandMessageTarget::StartArray()
{ {
wxString Padding; wxString Padding;
Padding.Pad( mCounts.GetCount() *2 -2); Padding.Pad( mCounts.size() *2 -2);
Update( wxString::Format( "\n%s(", Padding )); Update( wxString::Format( "\n%s(", Padding ));
mCounts.Last() += 1; mCounts.back() += 1;
mCounts.push_back( 0 ); mCounts.push_back( 0 );
} }
void LispyCommandMessageTarget::EndArray(){ void LispyCommandMessageTarget::EndArray(){
if( mCounts.GetCount() > 1 ){ if( mCounts.size() > 1 ){
mCounts.pop_back(); mCounts.pop_back();
} }
Update( ")" ); Update( ")" );
} }
void LispyCommandMessageTarget::StartStruct(){ void LispyCommandMessageTarget::StartStruct(){
wxString Padding; wxString Padding;
Padding.Pad( mCounts.GetCount() *2 -2); Padding.Pad( mCounts.size() *2 -2);
Update( wxString::Format( "\n%s(", Padding )); Update( wxString::Format( "\n%s(", Padding ));
mCounts.Last() += 1; mCounts.back() += 1;
mCounts.push_back( 0 ); mCounts.push_back( 0 );
} }
void LispyCommandMessageTarget::EndStruct(){ void LispyCommandMessageTarget::EndStruct(){
if( mCounts.GetCount() > 1 ){ if( mCounts.size() > 1 ){
mCounts.pop_back(); mCounts.pop_back();
} }
Update( ")" ); Update( ")" );
@@ -138,34 +138,34 @@ void LispyCommandMessageTarget::EndStruct(){
void LispyCommandMessageTarget::AddItem(const wxString &value, const wxString &name){ void LispyCommandMessageTarget::AddItem(const wxString &value, const wxString &name){
wxString Padding = ""; wxString Padding = "";
if( name.IsEmpty() ) if( name.IsEmpty() )
Update( wxString::Format( "%s%s\"%s\"", (mCounts.Last()>0)?" ":"", Padding, Escaped(value))); Update( wxString::Format( "%s%s\"%s\"", (mCounts.back()>0)?" ":"", Padding, Escaped(value)));
else else
Update( wxString::Format( "%s%s(%s \"%s\")", (mCounts.Last()>0)?" ":"", Padding, name, Escaped(value))); Update( wxString::Format( "%s%s(%s \"%s\")", (mCounts.back()>0)?" ":"", Padding, name, Escaped(value)));
mCounts.Last() += 1; mCounts.back() += 1;
} }
void LispyCommandMessageTarget::AddBool(const bool value, const wxString &name){ void LispyCommandMessageTarget::AddBool(const bool value, const wxString &name){
if( name.IsEmpty() ) if( name.IsEmpty() )
Update( wxString::Format( "%s%s", (mCounts.Last()>0)?" ":"",value?"True":"False")); Update( wxString::Format( "%s%s", (mCounts.back()>0)?" ":"",value?"True":"False"));
else else
Update( wxString::Format( "%s(%s %s)", (mCounts.Last()>0)?" ":"", name,value?"True":"False")); Update( wxString::Format( "%s(%s %s)", (mCounts.back()>0)?" ":"", name,value?"True":"False"));
mCounts.Last() += 1; mCounts.back() += 1;
} }
void LispyCommandMessageTarget::AddItem(const double value, const wxString &name){ void LispyCommandMessageTarget::AddItem(const double value, const wxString &name){
if( name.IsEmpty() ) if( name.IsEmpty() )
Update( wxString::Format( "%s%g", (mCounts.Last()>0)?" ":"", value)); Update( wxString::Format( "%s%g", (mCounts.back()>0)?" ":"", value));
else else
Update( wxString::Format( "%s(%s %g)", (mCounts.Last()>0)?" ":"", name,value)); Update( wxString::Format( "%s(%s %g)", (mCounts.back()>0)?" ":"", name,value));
mCounts.Last() += 1; mCounts.back() += 1;
} }
void LispyCommandMessageTarget::StartField(const wxString &name){ void LispyCommandMessageTarget::StartField(const wxString &name){
Update( wxString::Format( "%s(%s", (mCounts.Last()>0)?" ":"", name )); Update( wxString::Format( "%s(%s", (mCounts.back()>0)?" ":"", name ));
mCounts.Last() += 1; mCounts.back() += 1;
mCounts.push_back( 0 ); mCounts.push_back( 0 );
} }
void LispyCommandMessageTarget::EndField(){ void LispyCommandMessageTarget::EndField(){
if( mCounts.GetCount() > 1 ){ if( mCounts.size() > 1 ){
mCounts.pop_back(); mCounts.pop_back();
} }
Update( ")" ); Update( ")" );
@@ -179,58 +179,58 @@ void LispyCommandMessageTarget::EndField(){
void BriefCommandMessageTarget::StartArray() void BriefCommandMessageTarget::StartArray()
{ {
wxString Padding; wxString Padding;
Padding.Pad( mCounts.GetCount() *2 -2); Padding.Pad( mCounts.size() *2 -2);
if( mCounts.GetCount() <= 3 ) if( mCounts.size() <= 3 )
Update( wxString::Format( "%s%s ", ( mCounts.Last() > 0 ) ? " \n" : "", Padding )); Update( wxString::Format( "%s%s ", ( mCounts.back() > 0 ) ? " \n" : "", Padding ));
mCounts.Last() += 1; mCounts.back() += 1;
mCounts.push_back( 0 ); mCounts.push_back( 0 );
} }
void BriefCommandMessageTarget::EndArray(){ void BriefCommandMessageTarget::EndArray(){
if( mCounts.GetCount() > 1 ){ if( mCounts.size() > 1 ){
mCounts.pop_back(); mCounts.pop_back();
} }
if( mCounts.GetCount() <= 3 ) if( mCounts.size() <= 3 )
Update( " " ); Update( " " );
} }
void BriefCommandMessageTarget::StartStruct(){ void BriefCommandMessageTarget::StartStruct(){
wxString Padding; wxString Padding;
Padding.Pad( mCounts.GetCount() *2 -2); Padding.Pad( mCounts.size() *2 -2);
if( mCounts.GetCount() <= 3 ) if( mCounts.size() <= 3 )
Update( wxString::Format( "%s%s ", ( mCounts.Last() > 0 ) ? " \n" : "", Padding )); Update( wxString::Format( "%s%s ", ( mCounts.back() > 0 ) ? " \n" : "", Padding ));
mCounts.Last() += 1; mCounts.back() += 1;
mCounts.push_back( 0 ); mCounts.push_back( 0 );
} }
void BriefCommandMessageTarget::EndStruct(){ void BriefCommandMessageTarget::EndStruct(){
if( mCounts.GetCount() > 1 ){ if( mCounts.size() > 1 ){
mCounts.pop_back(); mCounts.pop_back();
} }
if( mCounts.GetCount() <= 3 ) if( mCounts.size() <= 3 )
Update( " " ); Update( " " );
} }
void BriefCommandMessageTarget::AddItem(const wxString &value, const wxString &WXUNUSED(name)){ void BriefCommandMessageTarget::AddItem(const wxString &value, const wxString &WXUNUSED(name)){
if( mCounts.GetCount() <= 3 ) if( mCounts.size() <= 3 )
Update( wxString::Format( "%s\"%s\"", (mCounts.Last()>0)?" ":"",Escaped(value))); Update( wxString::Format( "%s\"%s\"", (mCounts.back()>0)?" ":"",Escaped(value)));
mCounts.Last() += 1; mCounts.back() += 1;
} }
void BriefCommandMessageTarget::AddBool(const bool value, const wxString &WXUNUSED(name)){ void BriefCommandMessageTarget::AddBool(const bool value, const wxString &WXUNUSED(name)){
if( mCounts.GetCount() <= 3 ) if( mCounts.size() <= 3 )
Update( wxString::Format( "%s%s", (mCounts.Last()>0)?" ":"",value?"True":"False")); Update( wxString::Format( "%s%s", (mCounts.back()>0)?" ":"",value?"True":"False"));
mCounts.Last() += 1; mCounts.back() += 1;
} }
void BriefCommandMessageTarget::AddItem(const double value, const wxString &WXUNUSED(name)){ void BriefCommandMessageTarget::AddItem(const double value, const wxString &WXUNUSED(name)){
if( mCounts.GetCount() <= 3 ) if( mCounts.size() <= 3 )
Update( wxString::Format( "%s%g", (mCounts.Last()>0)?" ":"", value)); Update( wxString::Format( "%s%g", (mCounts.back()>0)?" ":"", value));
mCounts.Last() += 1; mCounts.back() += 1;
} }
void BriefCommandMessageTarget::StartField(const wxString &WXUNUSED(name)){ void BriefCommandMessageTarget::StartField(const wxString &WXUNUSED(name)){
mCounts.Last() += 1; mCounts.back() += 1;
mCounts.push_back( 0 ); mCounts.push_back( 0 );
} }
void BriefCommandMessageTarget::EndField(){ void BriefCommandMessageTarget::EndField(){
if( mCounts.GetCount() > 1 ){ if( mCounts.size() > 1 ){
mCounts.pop_back(); mCounts.pop_back();
} }
} }

View File

@@ -56,6 +56,7 @@ and sends it to that message target.
#define __COMMANDTARGETS__ #define __COMMANDTARGETS__
#include "../MemoryX.h" #include "../MemoryX.h"
#include <vector>
#include <wx/string.h> #include <wx/string.h>
#include <wx/statusbr.h> #include <wx/statusbr.h>
//#include "../src/Project.h" //#include "../src/Project.h"
@@ -89,7 +90,7 @@ public:
virtual void EndField( ); virtual void EndField( );
virtual void Flush(); virtual void Flush();
wxString Escaped( const wxString & str); wxString Escaped( const wxString & str);
wxArrayInt mCounts; std::vector<int> mCounts;
}; };
class CommandMessageTargetDecorator : public CommandMessageTarget class CommandMessageTargetDecorator : public CommandMessageTarget