From: wittend99 Date: Sat, 6 Oct 2012 19:16:25 +0000 (+0000) Subject: Various incremental advances. Not 'there' yet. X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=e32c550b22ea7930b510b8d213c1f01e31f5ed60;p=freetel-svn-tracking.git Various incremental advances. Not 'there' yet. git-svn-id: https://svn.code.sf.net/p/freetel/code@738 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/fdmdv2/build/fdmdv2.mk b/fdmdv2/build/fdmdv2.mk index 95d588cc..ae75caba 100644 --- a/fdmdv2/build/fdmdv2.mk +++ b/fdmdv2/build/fdmdv2.mk @@ -2,18 +2,18 @@ ## Auto Generated makefile by CodeLite IDE ## any manual changes will be erased ## -## Release +## Debug ProjectName :=fdmdv2 -ConfigurationName :=Release +ConfigurationName :=Debug WorkspacePath := "C:\bin\Projects\Radio\fdmdv2\build" ProjectPath := "C:\bin\Projects\Radio\fdmdv2\build" -IntermediateDirectory :=./Release +IntermediateDirectory :=./Debug OutDir := $(IntermediateDirectory) CurrentFileName := CurrentFilePath := CurrentFileFullPath := User :=OFA-Staff -Date :=9/19/2012 +Date :=10/6/2012 CodeLitePath :="C:\bin\CodeLite" LinkerName :=g++ SharedObjectLinkerName :=g++ -shared -fPIC @@ -35,7 +35,7 @@ PreprocessOnlySwitch :=-E ObjectsFileList :="C:\bin\Projects\Radio\fdmdv2\build\fdmdv2.txt" PCHCompileFlags := MakeDirCommand :=makedir -LinkOptions := -mwindows -s $(shell wx-config --debug=no --libs --unicode=yes) +LinkOptions := -mwindows $(shell wx-config --debug=yes --libs --unicode=yes) IncludePath := $(IncludeSwitch). $(IncludeSwitch)/bin/MinGW/msys/1.0/local/include $(IncludeSwitch)../../codec2-dev/src $(IncludeSwitch)../3rdparty/portaudio/include $(IncludeSwitch)../3rdparty/portaudio/bindings/cpp/include $(IncludeSwitch)../3rdparty/libsndfile/include $(IncludeSwitch)../3rdparty/libsamplerate-0.1.8/src IncludePCH := RcIncludePath := @@ -50,8 +50,8 @@ LibPath := $(LibraryPathSwitch). $(LibraryPathSwitch)/bin/MinGW/m AR := ar rcus CXX := g++ CC := gcc -CXXFLAGS := -O2 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=no) -DSVN_REVISION=\"674\" $(Preprocessors) -CFLAGS := -O2 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=no) -DSVN_REVISION=\"674\" $(Preprocessors) +CXXFLAGS := -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes) -DSVN_REVISION=\"674\" $(Preprocessors) +CFLAGS := -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes) -DSVN_REVISION=\"674\" $(Preprocessors) ## @@ -63,7 +63,7 @@ PATH:=$(WXWIN)\lib\gcc_dll;$(PATH) WXCFG:=gcc_dll\mswu UNIT_TEST_PP_SRC_DIR:=C:\bin\UnitTest++-1.3 Objects=$(IntermediateDirectory)/src_dlg_about$(ObjectSuffix) $(IntermediateDirectory)/src_dlg_audio$(ObjectSuffix) $(IntermediateDirectory)/src_dlg_comports$(ObjectSuffix) $(IntermediateDirectory)/src_dlg_options$(ObjectSuffix) $(IntermediateDirectory)/src_fdmdv2_main$(ObjectSuffix) $(IntermediateDirectory)/src_fdmdv2_plot$(ObjectSuffix) $(IntermediateDirectory)/src_topFrame$(ObjectSuffix) $(IntermediateDirectory)/src_fdmdv2_plot_scatter$(ObjectSuffix) $(IntermediateDirectory)/src_fdmdv2_plot_waterfall$(ObjectSuffix) $(IntermediateDirectory)/src_fdmdv2_plot_spectrum$(ObjectSuffix) \ - $(IntermediateDirectory)/src_fdmdv2_pa_wrapper$(ObjectSuffix) $(IntermediateDirectory)/src_fdmdv2_plot_scalar$(ObjectSuffix) + $(IntermediateDirectory)/src_fdmdv2_pa_wrapper$(ObjectSuffix) $(IntermediateDirectory)/src_fdmdv2_plot_scalar$(ObjectSuffix) $(IntermediateDirectory)/src_fdmdv2_hdw_ports$(ObjectSuffix) ## ## Main Build Targets @@ -78,7 +78,7 @@ $(OutputFile): $(IntermediateDirectory)/.d $(Objects) $(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions) $(IntermediateDirectory)/.d: - @$(MakeDirCommand) "./Release" + @$(MakeDirCommand) "./Debug" PreBuild: @@ -182,6 +182,14 @@ $(IntermediateDirectory)/src_fdmdv2_plot_scalar$(DependSuffix): ../src/fdmdv2_pl $(IntermediateDirectory)/src_fdmdv2_plot_scalar$(PreprocessSuffix): ../src/fdmdv2_plot_scalar.cpp @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/src_fdmdv2_plot_scalar$(PreprocessSuffix) "C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_plot_scalar.cpp" +$(IntermediateDirectory)/src_fdmdv2_hdw_ports$(ObjectSuffix): ../src/fdmdv2_hdw_ports.cpp $(IntermediateDirectory)/src_fdmdv2_hdw_ports$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_hdw_ports.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/src_fdmdv2_hdw_ports$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/src_fdmdv2_hdw_ports$(DependSuffix): ../src/fdmdv2_hdw_ports.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/src_fdmdv2_hdw_ports$(ObjectSuffix) -MF$(IntermediateDirectory)/src_fdmdv2_hdw_ports$(DependSuffix) -MM "C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_hdw_ports.cpp" + +$(IntermediateDirectory)/src_fdmdv2_hdw_ports$(PreprocessSuffix): ../src/fdmdv2_hdw_ports.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/src_fdmdv2_hdw_ports$(PreprocessSuffix) "C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_hdw_ports.cpp" + -include $(IntermediateDirectory)/*$(DependSuffix) ## @@ -224,8 +232,11 @@ clean: $(RM) $(IntermediateDirectory)/src_fdmdv2_plot_scalar$(ObjectSuffix) $(RM) $(IntermediateDirectory)/src_fdmdv2_plot_scalar$(DependSuffix) $(RM) $(IntermediateDirectory)/src_fdmdv2_plot_scalar$(PreprocessSuffix) + $(RM) $(IntermediateDirectory)/src_fdmdv2_hdw_ports$(ObjectSuffix) + $(RM) $(IntermediateDirectory)/src_fdmdv2_hdw_ports$(DependSuffix) + $(RM) $(IntermediateDirectory)/src_fdmdv2_hdw_ports$(PreprocessSuffix) $(RM) $(OutputFile) $(RM) $(OutputFile).exe - $(RM) "C:\bin\Projects\Radio\fdmdv2\build\.build-release\fdmdv2" + $(RM) "C:\bin\Projects\Radio\fdmdv2\build\.build-debug\fdmdv2" diff --git a/fdmdv2/build/fdmdv2.project b/fdmdv2/build/fdmdv2.project index 41c2d74d..8f33f330 100644 --- a/fdmdv2/build/fdmdv2.project +++ b/fdmdv2/build/fdmdv2.project @@ -20,6 +20,7 @@ + @@ -64,6 +65,7 @@ + diff --git a/fdmdv2/build/fdmdv2.txt b/fdmdv2/build/fdmdv2.txt index 444adc7e..43680006 100644 --- a/fdmdv2/build/fdmdv2.txt +++ b/fdmdv2/build/fdmdv2.txt @@ -1 +1 @@ -./Release/src_dlg_about.o ./Release/src_dlg_audio.o ./Release/src_dlg_comports.o ./Release/src_dlg_options.o ./Release/src_fdmdv2_main.o ./Release/src_fdmdv2_plot.o ./Release/src_topFrame.o ./Release/src_fdmdv2_plot_scatter.o ./Release/src_fdmdv2_plot_waterfall.o ./Release/src_fdmdv2_plot_spectrum.o ./Release/src_fdmdv2_pa_wrapper.o ./Release/src_fdmdv2_plot_scalar.o +./Debug/src_dlg_about.o ./Debug/src_dlg_audio.o ./Debug/src_dlg_comports.o ./Debug/src_dlg_options.o ./Debug/src_fdmdv2_main.o ./Debug/src_fdmdv2_plot.o ./Debug/src_topFrame.o ./Debug/src_fdmdv2_plot_scatter.o ./Debug/src_fdmdv2_plot_waterfall.o ./Debug/src_fdmdv2_plot_spectrum.o ./Debug/src_fdmdv2_pa_wrapper.o ./Debug/src_fdmdv2_plot_scalar.o ./Debug/src_fdmdv2_hdw_ports.o diff --git a/fdmdv2/build/fdmdv2.workspace b/fdmdv2/build/fdmdv2.workspace index 25a589b2..2f417639 100644 --- a/fdmdv2/build/fdmdv2.workspace +++ b/fdmdv2/build/fdmdv2.workspace @@ -4,12 +4,12 @@ - + - + diff --git a/fdmdv2/build/fdmdv2_wsp.mk b/fdmdv2/build/fdmdv2_wsp.mk index 59fb53ea..4ea617a2 100644 --- a/fdmdv2/build/fdmdv2_wsp.mk +++ b/fdmdv2/build/fdmdv2_wsp.mk @@ -1,8 +1,8 @@ .PHONY: clean All All: - @echo ----------Building project:[ fdmdv2 - Release ]---------- + @echo ----------Building project:[ fdmdv2 - Debug ]---------- @"$(MAKE)" -f "fdmdv2.mk" clean: - @echo ----------Cleaning project:[ fdmdv2 - Release ]---------- + @echo ----------Cleaning project:[ fdmdv2 - Debug ]---------- @"$(MAKE)" -f "fdmdv2.mk" clean diff --git a/fdmdv2/src/dlg_comports.cpp b/fdmdv2/src/dlg_comports.cpp index e89adb57..7497a329 100644 --- a/fdmdv2/src/dlg_comports.cpp +++ b/fdmdv2/src/dlg_comports.cpp @@ -99,3 +99,202 @@ void ComPortsDlg::OnInitDialog( wxInitDialogEvent& event ) // populateAudioInfo(); } +/* +//------------------------------------------------------------------------- +// serial_parity_handler() +//------------------------------------------------------------------------- +static void serial_parity_handler(union control *ctrl, void *dlg, void *data, int event) +{ + static const struct + { + const char *name; + int val; + } + parities[] = + { + {"None", SER_PAR_NONE}, + {"Odd", SER_PAR_ODD}, + {"Even", SER_PAR_EVEN}, + {"Mark", SER_PAR_MARK}, + {"Space", SER_PAR_SPACE}, + }; + int mask = ctrl->listbox.context.i; + int i, j; + Config *cfg = (Config *)data; + + if (event == EVENT_REFRESH) + { + int oldparity = cfg->serparity; // preserve past reentrant calls + dlg_update_start(ctrl, dlg); + dlg_listbox_clear(ctrl, dlg); + for (i = 0; i < lenof(parities); i++) + { + if (mask & (1 << i)) + dlg_listbox_addwithid(ctrl, dlg, parities[i].name, parities[i].val); + } + for (i = j = 0; i < lenof(parities); i++) + { + if (mask & (1 << i)) + { + if (oldparity == parities[i].val) + { + dlg_listbox_select(ctrl, dlg, j); + break; + } + j++; + } + } + if (i == lenof(parities)) + { + // an unsupported setting was chosen + dlg_listbox_select(ctrl, dlg, 0); + oldparity = SER_PAR_NONE; + } + dlg_update_done(ctrl, dlg); + cfg->serparity = oldparity; + // restore + } + else if (event == EVENT_SELCHANGE) + { + int i = dlg_listbox_index(ctrl, dlg); + if (i < 0) + { + i = SER_PAR_NONE; + } + else + { + i = dlg_listbox_getid(ctrl, dlg, i); + } + cfg->serparity = i; + } +} + +//------------------------------------------------------------------------- +// serial_flow_handler() +//------------------------------------------------------------------------- +static void serial_flow_handler(union control *ctrl, void *dlg, void *data, int event) +{ + static const struct + { + const char *name; + int val; + } flows[] = + { + {"None", SER_FLOW_NONE}, + {"XON/XOFF", SER_FLOW_XONXOFF}, + {"RTS/CTS", SER_FLOW_RTSCTS}, + {"DSR/DTR", SER_FLOW_DSRDTR}, + }; + int mask = ctrl->listbox.context.i; + int i, j; + Config *cfg = (Config *)data; + + if (event == EVENT_REFRESH) + { + int oldflow = cfg->serflow; // preserve past reentrant calls + dlg_update_start(ctrl, dlg); + dlg_listbox_clear(ctrl, dlg); + for (i = 0; i < lenof(flows); i++) + { + if (mask & (1 << i)) + dlg_listbox_addwithid(ctrl, dlg, flows[i].name, flows[i].val); + } + for (i = j = 0; i < lenof(flows); i++) + { + if (mask & (1 << i)) + { + if (oldflow == flows[i].val) + { + dlg_listbox_select(ctrl, dlg, j); + break; + } + j++; + } + } + if (i == lenof(flows)) + { + // an unsupported setting was chosen + dlg_listbox_select(ctrl, dlg, 0); + oldflow = SER_FLOW_NONE; + } + dlg_update_done(ctrl, dlg); + cfg->serflow = oldflow; // restore + } + else if (event == EVENT_SELCHANGE) + { + int i = dlg_listbox_index(ctrl, dlg); + if (i < 0) + { + i = SER_FLOW_NONE; + } + else + { + i = dlg_listbox_getid(ctrl, dlg, i); + } + cfg->serflow = i; + } +} + +//------------------------------------------------------------------------- +// ser_setup_config_box() +//------------------------------------------------------------------------- +void ser_setup_config_box(struct controlbox *b, int midsession, int parity_mask, int flow_mask) +{ + struct controlset *s; + union control *c; + + if (!midsession) + { + int i; + extern void config_protocolbuttons_handler(union control *, void *, void *, int); + // + // Add the serial back end to the protocols list at the + // top of the config box. + // + s = ctrl_getset(b, "Session", "hostport", "Specify the destination you want to connect to"); + for (i = 0; i < s->ncontrols; i++) + { + c = s->ctrls[i]; + if (c->generic.type == CTRL_RADIO && c->generic.handler == config_protocolbuttons_handler) + { + c->radio.nbuttons++; + c->radio.ncolumns++; + c->radio.buttons = sresize(c->radio.buttons, c->radio.nbuttons, char *); + c->radio.buttons[c->radio.nbuttons-1] = dupstr("Serial"); + c->radio.buttondata = sresize(c->radio.buttondata, c->radio.nbuttons, intorptr); + c->radio.buttondata[c->radio.nbuttons-1] = I(PROT_SERIAL); + if (c->radio.shortcuts) + { + c->radio.shortcuts = sresize(c->radio.shortcuts, c->radio.nbuttons, char); + c->radio.shortcuts[c->radio.nbuttons-1] = 'r'; + } + } + } + } + // + // Entirely new Connection/Serial panel for serial port + // configuration. + // + ctrl_settitle(b, "Connection/Serial", "Options controlling local serial lines"); + if (!midsession) + { + // + // We don't permit switching to a different serial port in + // midflight, although we do allow all other + // reconfiguration. + // + s = ctrl_getset(b, "Connection/Serial", "serline", "Select a serial line"); + ctrl_editbox(s, "Serial line to connect to", 'l', 40, HELPCTX(serial_line), dlg_stdeditbox_handler, I(offsetof(Config,serline)), I(sizeof(((Config *)0)->serline))); + } + + s = ctrl_getset(b, "Connection/Serial", "sercfg", "Configure the serial line"); + ctrl_editbox(s, "Speed (baud)", 's', 40, HELPCTX(serial_speed), dlg_stdeditbox_handler, I(offsetof(Config,serspeed)), I(-1)); + ctrl_editbox(s, "Data bits", 'b', 40, HELPCTX(serial_databits), dlg_stdeditbox_handler,I(offsetof(Config,serdatabits)),I(-1)); + // + // Stop bits come in units of one half. + // + ctrl_editbox(s, "Stop bits", 't', 40, HELPCTX(serial_stopbits), dlg_stdeditbox_handler,I(offsetof(Config,serstopbits)),I(-2)); + ctrl_droplist(s, "Parity", 'p', 40, HELPCTX(serial_parity), serial_parity_handler, I(parity_mask)); + ctrl_droplist(s, "Flow control", 'f', 40, HELPCTX(serial_flow), serial_flow_handler, I(flow_mask)); +} +*/ diff --git a/fdmdv2/src/dlg_comports.h b/fdmdv2/src/dlg_comports.h index 3e949b04..e84faa29 100644 --- a/fdmdv2/src/dlg_comports.h +++ b/fdmdv2/src/dlg_comports.h @@ -11,6 +11,7 @@ #define __COMPORTS_DIALOG__ #include "fdmdv2_main.h" +#include "fdmdv2_hdw_ports.h" //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= // Class ComPortsDlg diff --git a/fdmdv2/src/fdmdv2_hdw_ports.cpp b/fdmdv2/src/fdmdv2_hdw_ports.cpp new file mode 100644 index 00000000..dfccbca4 --- /dev/null +++ b/fdmdv2/src/fdmdv2_hdw_ports.cpp @@ -0,0 +1,25 @@ +//========================================================================== +// Name: fdmdv2_enum_ports.cpp +// Purpose: Tools to enumerate hardware ports (other than audio). +// Created: Oct 2, 2012 +// Initial author: David Witten +// License: +// +// Copyright (C) 2012 David Witten +// +// All rights reserved. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License version 2.1, +// as published by the Free Software Foundation. This program is +// distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this program; if not, see . +// +//========================================================================== +#include "fdmdv2_hdw_ports.h" + diff --git a/fdmdv2/src/fdmdv2_hdw_ports.h b/fdmdv2/src/fdmdv2_hdw_ports.h new file mode 100644 index 00000000..41d5fa9d --- /dev/null +++ b/fdmdv2/src/fdmdv2_hdw_ports.h @@ -0,0 +1,85 @@ +//========================================================================== +// Name: fdmdv2_enum_ports.h +// Purpose: Tools to enumerate hardware ports (other than audio). +// Created: Oct 2, 2012 +// Initial author: David Witten +// License: +// +// Copyright (C) 2012 David Witten +// +// All rights reserved. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License version 2.1, +// as published by the Free Software Foundation. This program is +// distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this program; if not, see . +// +//========================================================================== +#ifndef __FDMDV2_HDW_PORTS__ +#define __FDMDV2_HDW_PORTS__ + +#include +#include "wx/wx.h" +#include "fdmdv2_main.h" + +enum +{ + SER_PAR_NONE, + SER_PAR_ODD, + SER_PAR_EVEN, + SER_PAR_MARK, + SER_PAR_SPACE +}; + +enum +{ + SER_FLOW_NONE, + SER_FLOW_XONXOFF, + SER_FLOW_RTSCTS, + SER_FLOW_DSRDTR +}; + +enum +{ + PORT_TYPE_SERIAL, + PORT_TYPE_USB, + PORT_TYPE_VIRTUAL, + PORT_TYPE_PARALLEL, + PORT_TYPE_IEEE1394, + PORT_TYPE_UNKNOWN +}; + +enum +{ + DEVICE_TYPE_SERIAL, + DEVICE_TYPE_USB, + DEVICE_TYPE_VIRTUAL, + DEVICE_TYPE_PARALLEL, + DEVICE_TYPE_BLUETOOTH, + DEVICE_TYPE_NETWORK, + DEVICE_TYPE_IEEE1394, + DEVICE_TYPE_UNKNOWN +}; + +class PortHardware +{ +private: + int count; + int device_type; + int device_emulation; + +protected: + +public: + PortHardware(); + ~PortHardware(); +}; + + +#endif // __FDMDV2_HDW_PORTS__ diff --git a/fdmdv2/src/fdmdv2_main.cpp b/fdmdv2/src/fdmdv2_main.cpp index d585f6bf..19d5337e 100644 --- a/fdmdv2/src/fdmdv2_main.cpp +++ b/fdmdv2/src/fdmdv2_main.cpp @@ -98,10 +98,10 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent) tools->AppendSeparator(); wxMenuItem* m_menuItemToolsConfigDelete; - m_menuItemToolsConfigDelete = new wxMenuItem( tools, wxID_ANY, wxString( _("&Delete stored config") ) , wxT("Delete config file/keys"), wxITEM_NORMAL ); + m_menuItemToolsConfigDelete = new wxMenuItem( tools, wxID_ANY, wxString( _("&Delete stored config") ) , wxT("Delete config file/keys"), wxITEM_NORMAL ); this->Connect( m_menuItemToolsConfigDelete->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::OnDeleteConfig)); - tools->Append( m_menuItemToolsConfigDelete ); + tools->Append( m_menuItemToolsConfigDelete ); // Add Waterfall Plot window @@ -137,8 +137,8 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent) wxGetApp().m_textVoiceInput = pConfig->Read(wxT("/Audio/TxIn"), wxT("")); wxGetApp().m_textVoiceOutput = pConfig->Read(wxT("/Audio/TxOut"), wxT("")); wxGetApp().m_strSampleRate = pConfig->Read(wxT("/Audio/SampleRate"), wxT("48000")); - wxGetApp().m_strSampleRate = pConfig->Read(wxT("/Audio/SampleRate"), wxT("48000")); - wxGetApp().m_strSampleRate = pConfig->Read(wxT("/Audio/SampleRate"), wxT("48000")); +// wxGetApp().m_strSampleRate = pConfig->Read(wxT("/Audio/SampleRate"), wxT("48000")); +// wxGetApp().m_strSampleRate = pConfig->Read(wxT("/Audio/SampleRate"), wxT("48000")); wxGetApp().m_strRigCtrlPort = pConfig->Read("/Rig/Port", wxT("\\\\.\\com1")); wxGetApp().m_strRigCtrlBaud = pConfig->Read("/Rig/Baud", wxT("9600")); @@ -148,6 +148,22 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent) pConfig->SetPath(wxT("/")); +// this->Connect( m_menuItemHelpUpdates->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnHelpCheckUpdatesUI ) ); + m_togRxID->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnRxIDUI ), NULL, this ); + m_togTxID->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnTxIDUI ), NULL, this ); + m_togBtnOnOff->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnOnOffUI ), NULL, this ); + m_togBtnSplit->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnSplitClickUI ), NULL, this ); + m_togBtnAnalog->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnAnalogClickUI ), NULL, this ); + m_togBtnALC->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnALCClickUI ), NULL, this ); + m_btnTogTX->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnTXClickUI ), NULL, this ); + + m_togBtnSplit->Disable(); + m_togRxID->Disable(); + m_togTxID->Disable(); + m_togBtnAnalog->Disable(); + m_togBtnALC->Disable(); + m_btnTogTX->Disable(); + #ifdef USE_TIMER m_rxPa = new PortAudioWrap(); for(int i = 0; i < FDMDV_NSPEC; i++) @@ -156,7 +172,9 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent) } Bind(wxEVT_TIMER, &MainFrame::OnTimer, this); // ID_MY_WINDOW); m_plotTimer.SetOwner(this, ID_TIMER_WATERFALL); - m_plotTimer.Start(500, wxTIMER_CONTINUOUS); +// m_plotTimer.Start(500, wxTIMER_CONTINUOUS); + m_panelWaterfall->m_newdata = true; + m_panelWaterfall->Refresh(); #endif } @@ -191,8 +209,14 @@ MainFrame::~MainFrame() pConfig->Write(wxT("/Rig/DataBits"), wxGetApp().m_strRigCtrlDatabits); pConfig->Write(wxT("/Rig/StopBits"), wxGetApp().m_strRigCtrlStopbits); pConfig->Write(wxT("/Rig/Parity"), wxGetApp().m_strRigCtrlParity); - } + m_togRxID->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnRxIDUI ), NULL, this ); + m_togTxID->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnTxIDUI ), NULL, this ); + m_togBtnOnOff->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnOnOffUI), NULL, this ); + m_togBtnSplit->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnSplitClickUI), NULL, this ); + m_togBtnAnalog->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnAnalogClickUI), NULL, this ); + m_togBtnALC->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnALCClickUI), NULL, this ); + m_btnTogTX->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnTogBtnTXClickUI), NULL, this ); #ifdef USE_TIMER if (m_plotTimer.IsRunning()) { @@ -383,18 +407,99 @@ void MainFrame::OnTogBtnOnOff(wxCommandEvent& event) { if((!m_TxRunning) || (!m_RxRunning)) { + m_togBtnSplit->Enable(); + m_togRxID->Enable(); + m_togTxID->Enable(); + m_togBtnAnalog->Enable(); + m_togBtnALC->Enable(); + m_btnTogTX->Enable(); + +#ifdef USE_TIMER + m_plotTimer.Start(500, wxTIMER_CONTINUOUS); +#endif startRxStream(); startTxStream(); m_togBtnOnOff->SetLabel(wxT("Stop")); } else { + m_togBtnSplit->Disable(); + m_togRxID->Disable(); + m_togTxID->Disable(); + m_togBtnAnalog->Disable(); + m_togBtnALC->Disable(); + m_btnTogTX->Disable(); +#ifdef USE_TIMER + m_plotTimer.Stop(); +#endif stopRxStream(); stopTxStream(); m_togBtnOnOff->SetLabel(wxT("Start")); } } +//------------------------------------------------------------------------- +// OnTogBtnSplitClickUI() +//------------------------------------------------------------------------- +void MainFrame::OnTogBtnSplitClickUI(wxUpdateUIEvent& event) +{ + wxUnusedVar(event); +// event.Enable(false); +} + +//------------------------------------------------------------------------- +// OnTogBtnAnalogClickUI() +//------------------------------------------------------------------------- +void MainFrame::OnTogBtnAnalogClickUI(wxUpdateUIEvent& event) +{ + wxUnusedVar(event); +// event.Enable(false); +} + +//------------------------------------------------------------------------- +// OnTogBtnALCClickUI() +//------------------------------------------------------------------------- +void MainFrame::OnTogBtnALCClickUI(wxUpdateUIEvent& event) +{ + wxUnusedVar(event); +// event.Enable(false); +} + +//------------------------------------------------------------------------- +// OnTogBtnRxIDUI() +//------------------------------------------------------------------------- +void MainFrame::OnTogBtnRxIDUI(wxUpdateUIEvent& event) +{ +// event.Enable(false); +} + +//------------------------------------------------------------------------- +// OnTogBtnTxIDUI() +//------------------------------------------------------------------------- +void MainFrame::OnTogBtnTxIDUI(wxUpdateUIEvent& event) +{ + wxUnusedVar(event); +// event.Enable(false); +} + +//------------------------------------------------------------------------- +// OnTogBtnTXClickUI() +//------------------------------------------------------------------------- +void MainFrame::OnTogBtnTXClickUI(wxUpdateUIEvent& event) +{ + wxUnusedVar(event); +// event.Enable(false); +} + +//------------------------------------------------------------------------- +// OnTogBtnOnOffUI() +//------------------------------------------------------------------------- +void MainFrame::OnTogBtnOnOffUI(wxUpdateUIEvent& event) +{ + wxUnusedVar(event); +// event.Enable(true); +} + //------------------------------------------------------------------------- // startRxStream() //------------------------------------------------------------------------- @@ -405,26 +510,26 @@ void MainFrame::startRxStream() m_RxRunning = true; m_rxPa = new PortAudioWrap(); - m_rxDevIn = m_rxPa->getDefaultInputDevice(); // default input device + m_rxDevIn = m_rxPa->getDefaultInputDevice(); // default input device if(m_rxDevIn == paNoDevice) { wxMessageBox(wxT("Rx Error: No default input device."), wxT("Error"), wxOK); return; } m_rxErr = m_rxPa->setInputDevice(m_rxDevIn); - m_rxErr = m_rxPa->setInputChannelCount(2); // stereo input + m_rxErr = m_rxPa->setInputChannelCount(2); // stereo input m_rxErr = m_rxPa->setInputSampleFormat(PA_SAMPLE_TYPE); m_rxErr = m_rxPa->setInputLatency(m_rxPa->getInputDefaultLowLatency()); m_rxPa->setInputHostApiStreamInfo(NULL); - m_rxDevOut = m_rxPa->getDefaultOutputDevice(); // default output device + m_rxDevOut = m_rxPa->getDefaultOutputDevice(); // default output device if (m_rxDevOut == paNoDevice) { wxMessageBox(wxT("Rx Error: No default output device."), wxT("Error"), wxOK); return; } m_rxErr = m_rxPa->setOutputDevice(m_rxDevOut); - m_rxErr = m_rxPa->setOutputChannelCount(2); // stereo input + m_rxErr = m_rxPa->setOutputChannelCount(2); // stereo input m_rxErr = m_rxPa->setOutputSampleFormat(PA_SAMPLE_TYPE); m_rxErr = m_rxPa->setOutputLatency(m_rxPa->getOutputDefaultLowLatency()); @@ -461,6 +566,18 @@ void MainFrame::stopRxStream() m_rxPa->stop(); m_rxPa->streamClose(); } +/* + if(m_rxPa->isActive()) + { + m_rxPa->stop(); + m_rxPa->streamClose(); + } + if(m_rxPa->isOpen()) + { + m_rxPa->streamClose(); + } + m_TxRunning = false; +*/ } //------------------------------------------------------------------------- @@ -485,26 +602,26 @@ void MainFrame::startTxStream() m_TxRunning = true; m_txPa = new PortAudioWrap(); - m_txDevIn = m_txPa->getDefaultInputDevice(); // default input device + m_txDevIn = m_txPa->getDefaultInputDevice(); // default input device if(m_txDevIn == paNoDevice) { wxMessageBox(wxT("Tx Error: No default input device."), wxT("Error"), wxOK); return; } m_txErr = m_txPa->setInputDevice(m_txDevIn); - m_txErr = m_txPa->setInputChannelCount(2); // stereo input + m_txErr = m_txPa->setInputChannelCount(2); // stereo input m_txErr = m_txPa->setInputSampleFormat(PA_SAMPLE_TYPE); m_txErr = m_txPa->setInputLatency(m_txPa->getInputDefaultLowLatency()); m_txPa->setInputHostApiStreamInfo(NULL); - m_txDevOut = m_txPa->getDefaultOutputDevice(); // default output device + m_txDevOut = m_txPa->getDefaultOutputDevice(); // default output device if (m_txDevOut == paNoDevice) { wxMessageBox(wxT("Tx Error: No default output device."), wxT("Error"), wxOK); return; } m_txErr = m_txPa->setOutputDevice(m_txDevOut); - m_txErr = m_txPa->setOutputChannelCount(2); // stereo input + m_txErr = m_txPa->setOutputChannelCount(2); // stereo input m_txErr = m_txPa->setOutputSampleFormat(PA_SAMPLE_TYPE); m_txErr = m_txPa->setOutputLatency(m_txPa->getOutputDefaultLowLatency()); @@ -541,6 +658,17 @@ void MainFrame::stopTxStream() m_txPa->stop(); m_txPa->streamClose(); } +/* + if(m_txPa->isActive()) + { + m_txPa->stop(); + } + if(m_txPa->isOpen()) + { + m_txPa->streamClose(); + } + m_TxRunning = false; +*/ } //------------------------------------------------------------------------- @@ -560,6 +688,7 @@ void MainFrame::abortTxStream() //------------------------------------------------------------------------- void MainFrame::OnOpen( wxCommandEvent& event ) { + wxUnusedVar(event); } //------------------------------------------------------------------------- @@ -567,6 +696,7 @@ void MainFrame::OnOpen( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnOpenUpdateUI( wxUpdateUIEvent& event ) { + wxUnusedVar(event); // wxMessageBox("Got Click!", "OnOpenUpdateUI", wxOK); // event.Skip(); } @@ -576,8 +706,10 @@ void MainFrame::OnOpenUpdateUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnSaveUpdateUI( wxUpdateUIEvent& event ) { +// wxUnusedVar(event); // wxMessageBox("Got Click!", "OnSaveUpdateUI", wxOK); // event.Skip(); + event.Enable(false); } //------------------------------------------------------------------------- @@ -585,6 +717,17 @@ void MainFrame::OnSaveUpdateUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnClose( wxCommandEvent& event ) { + wxUnusedVar(event); + + if(m_RxRunning) + { + stopRxStream(); + } + if(m_TxRunning) + { + stopTxStream(); + } + if(m_sound != NULL) { if(m_sound->IsOk()) @@ -593,6 +736,7 @@ void MainFrame::OnClose( wxCommandEvent& event ) m_sound = NULL; } } + Close(); } //------------------------------------------------------------------------- @@ -600,6 +744,8 @@ void MainFrame::OnClose( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnCloseUpdateUI( wxUpdateUIEvent& event ) { +// wxUnusedVar(event); + event.Enable(false); } //------------------------------------------------------------------------- @@ -607,6 +753,8 @@ void MainFrame::OnCloseUpdateUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnExit( wxCommandEvent& event ) { + //wxUnusedVar(event); + OnClose(event); // wxMessageBox("Got Click!", "OnExit", wxOK); // event.Skip(); } @@ -625,6 +773,8 @@ void MainFrame::OnCopy( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnCopyUpdateUI( wxUpdateUIEvent& event ) { +// wxUnusedVar(event); + event.Enable(false); } //------------------------------------------------------------------------- @@ -641,6 +791,8 @@ void MainFrame::OnCut( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnCutUpdateUI( wxUpdateUIEvent& event ) { +// wxUnusedVar(event); + event.Enable(false); } //------------------------------------------------------------------------- @@ -657,6 +809,8 @@ void MainFrame::OnPaste( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnPasteUpdateUI( wxUpdateUIEvent& event ) { +// wxUnusedVar(event); + event.Enable(false); } //------------------------------------------------------------------------- @@ -664,6 +818,7 @@ void MainFrame::OnPasteUpdateUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnCaptureRxStream( wxCommandEvent& event ) { + wxUnusedVar(event); } //------------------------------------------------------------------------- @@ -671,6 +826,7 @@ void MainFrame::OnCaptureRxStream( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnCaptureTxStream( wxCommandEvent& event ) { + wxUnusedVar(event); } //------------------------------------------------------------------------- @@ -678,6 +834,7 @@ void MainFrame::OnCaptureTxStream( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnPlayAudioFile( wxCommandEvent& event ) { + wxUnusedVar(event); if(m_sound != NULL) { if (wxMessageBox(wxT("Current content has not been saved! Proceed?"),wxT("Please confirm"), wxICON_QUESTION | wxYES_NO, this) == wxNO ) @@ -697,7 +854,7 @@ void MainFrame::OnPlayAudioFile( wxCommandEvent& event ) wxFD_OPEN | wxFD_FILE_MUST_EXIST); if (openFileDialog.ShowModal() == wxID_CANCEL) { - return; // the user changed idea... + return; // the user changed their mind... } // proceed loading the file chosen by the user; m_sound->Play(openFileDialog.GetPath()); @@ -708,6 +865,7 @@ void MainFrame::OnPlayAudioFile( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnToolsAudio( wxCommandEvent& event ) { + wxUnusedVar(event); int rv = 0; AudioDlg *dlg = new AudioDlg(NULL); rv = dlg->ShowModal(); @@ -723,6 +881,7 @@ void MainFrame::OnToolsAudio( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnToolsAudioUI( wxUpdateUIEvent& event ) { + wxUnusedVar(event); } //------------------------------------------------------------------------- @@ -730,6 +889,7 @@ void MainFrame::OnToolsAudioUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnToolsComCfg( wxCommandEvent& event ) { + wxUnusedVar(event); int rv = 0; ComPortsDlg *dlg = new ComPortsDlg(NULL); rv = dlg->ShowModal(); @@ -753,6 +913,7 @@ void MainFrame::OnToolsComCfgUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnToolsOptions( wxCommandEvent& event ) { + wxUnusedVar(event); int rv = 0; OptionsDlg *dlg = new OptionsDlg(NULL); rv = dlg->ShowModal(); @@ -768,6 +929,8 @@ void MainFrame::OnToolsOptions( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnToolsOptionsUI( wxUpdateUIEvent& event ) { +// wxUnusedVar(event); + event.Enable(false); } //------------------------------------------------------------------------- @@ -784,6 +947,8 @@ void MainFrame::OnHelpCheckUpdates( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnHelpCheckUpdatesUI( wxUpdateUIEvent& event ) { +// wxUnusedVar(event); + event.Enable(false); } //------------------------------------------------------------------------- @@ -791,7 +956,8 @@ void MainFrame::OnHelpCheckUpdatesUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnHelpAbout( wxCommandEvent& event ) { - int rv = 0; + wxUnusedVar(event); +// int rv = 0; // AboutDlg *dlg = new AboutDlg(NULL); // rv = dlg->ShowModal(); // if(rv == wxID_OK) @@ -886,6 +1052,7 @@ int MainFrame::rxCallback( } //------------------------------------------------------------------------- + // txCallback() //------------------------------------------------------------------------- int MainFrame::txCallback( @@ -996,8 +1163,8 @@ void MainFrame::per_frame_rx_processing( // compute rx spectrum & get demod stats, and update GUI plot data fdmdv_get_rx_spectrum(m_pFDMDV_state, rx_spec, rx_fdm, nin_prev); fdmdv_get_demod_stats(m_pFDMDV_state, &stats); - averageData(rx_spec); - //m_panelWaterfall; +// averageData(rx_spec); + //m_panelWaterfall->; //m_panelScalar; // m_panelScatter->add_new_samples(stats.rx_symbols); // aTimingEst->add_new_sample(stats.rx_timing); diff --git a/fdmdv2/src/fdmdv2_main.h b/fdmdv2/src/fdmdv2_main.h index f687e8c1..1a8c12e1 100644 --- a/fdmdv2/src/fdmdv2_main.h +++ b/fdmdv2/src/fdmdv2_main.h @@ -12,6 +12,7 @@ #include +#include #include #include "wx/rawbmp.h" #include "wx/file.h" @@ -144,6 +145,14 @@ class MainFrame : public TopFrame struct FDMDV *m_pFDMDV_state; wxTimer m_plotTimer; +// wxToggleButton* m_togRxID; +// wxToggleButton* m_togTxID; +// wxToggleButton* m_togBtnOnOff; +// wxToggleButton* m_togBtnSplit; +// wxToggleButton* m_togBtnAnalog; +// wxToggleButton* m_togBtnALC; +// wxToggleButton* m_btnTogTX; + static int rxCallback( const void *inBuffer, void *outBuffer, @@ -226,6 +235,14 @@ class MainFrame : public TopFrame void OnTogBtnTXClick( wxCommandEvent& event ); void OnTogBtnOnOff( wxCommandEvent& event ); + void OnTogBtnSplitClickUI(wxUpdateUIEvent& event); + void OnTogBtnAnalogClickUI(wxUpdateUIEvent& event); + void OnTogBtnALCClickUI(wxUpdateUIEvent& event); + void OnTogBtnRxIDUI(wxUpdateUIEvent& event ); + void OnTogBtnTxIDUI(wxUpdateUIEvent& event ); + void OnTogBtnTXClickUI(wxUpdateUIEvent& event ); + void OnTogBtnOnOffUI(wxUpdateUIEvent& event ); + //System Events void OnPaint(wxPaintEvent& event); void OnClose( wxCloseEvent& event ); diff --git a/fdmdv2/src/fdmdv2_plot_waterfall.cpp b/fdmdv2/src/fdmdv2_plot_waterfall.cpp index d4915304..a4252506 100644 --- a/fdmdv2/src/fdmdv2_plot_waterfall.cpp +++ b/fdmdv2/src/fdmdv2_plot_waterfall.cpp @@ -52,10 +52,10 @@ END_EVENT_TABLE() //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= // Class WaterfallPlot // -// @class $(Name) -// @author $(User) -// @date $(Date) -// @file $(CurrentFileName).$(CurrentFileExt) +// @class WaterfallPlot +// @author David Witten +// @date $(Date) +// @file $(CurrentFileName).$(CurrentFileExt) // @brief // //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= @@ -76,6 +76,12 @@ PlotWaterfall::PlotWaterfall(wxFrame* parent): PlotPanel(parent) //---------------------------------------------------------------- // paintEvent() // +// @class $(Name) +// @author $(User) +// @date $(Date) +// @file $(CurrentFileName).$(CurrentFileExt) +// @brief +// // Called by the system of by wxWidgets when the panel needs // to be redrawn. You can also trigger this call by calling // Refresh()/Update(). diff --git a/fdmdv2/src/topFrame.cpp b/fdmdv2/src/topFrame.cpp index 70122f58..db753a16 100644 --- a/fdmdv2/src/topFrame.cpp +++ b/fdmdv2/src/topFrame.cpp @@ -11,942 +11,944 @@ TopFrame::TopFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) { - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - this->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) ); - this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - this->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) ); - this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); - - m_menubarMain = new wxMenuBar( wxMB_DOCKABLE ); - file = new wxMenu(); - wxMenuItem* m_menuItemOpen; - m_menuItemOpen = new wxMenuItem( file, ID_OPEN, wxString( _("&Open") ) , _("Open File"), wxITEM_NORMAL ); - file->Append( m_menuItemOpen ); - - wxMenuItem* m_menuItemSave; - m_menuItemSave = new wxMenuItem( file, ID_SAVE, wxString( _("&Save") ) , _("Save current file"), wxITEM_NORMAL ); - file->Append( m_menuItemSave ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) ); + this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) ); + this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); + + m_menubarMain = new wxMenuBar( wxMB_DOCKABLE ); + file = new wxMenu(); + wxMenuItem* m_menuItemOpen; + m_menuItemOpen = new wxMenuItem( file, ID_OPEN, wxString( _("&Open") ) , _("Open File"), wxITEM_NORMAL ); + file->Append( m_menuItemOpen ); + + wxMenuItem* m_menuItemSave; + m_menuItemSave = new wxMenuItem( file, ID_SAVE, wxString( _("&Save") ) , _("Save current file"), wxITEM_NORMAL ); + file->Append( m_menuItemSave ); - wxMenuItem* m_menuItemClose; - m_menuItemClose = new wxMenuItem( file, ID_CLOSE, wxString( _("&Close") ) , _("Close current file"), wxITEM_NORMAL ); - file->Append( m_menuItemClose ); + wxMenuItem* m_menuItemClose; + m_menuItemClose = new wxMenuItem( file, ID_CLOSE, wxString( _("&Close") ) , _("Close current file"), wxITEM_NORMAL ); + file->Append( m_menuItemClose ); - file->AppendSeparator(); + file->AppendSeparator(); - wxMenuItem* m_menuItemExit; - m_menuItemExit = new wxMenuItem( file, ID_EXIT, wxString( _("E&xit") ) , _("Exit Program"), wxITEM_NORMAL ); - file->Append( m_menuItemExit ); + wxMenuItem* m_menuItemExit; + m_menuItemExit = new wxMenuItem( file, ID_EXIT, wxString( _("E&xit") ) , _("Exit Program"), wxITEM_NORMAL ); + file->Append( m_menuItemExit ); - m_menubarMain->Append( file, _("&File") ); + m_menubarMain->Append( file, _("&File") ); - edit = new wxMenu(); - wxMenuItem* m_menuItemCopy; - m_menuItemCopy = new wxMenuItem( edit, ID_COPY, wxString( _("&Copy") ) , _("Copy selection"), wxITEM_NORMAL ); - edit->Append( m_menuItemCopy ); - m_menuItemCopy->Enable( false ); + edit = new wxMenu(); + wxMenuItem* m_menuItemCopy; + m_menuItemCopy = new wxMenuItem( edit, ID_COPY, wxString( _("&Copy") ) , _("Copy selection"), wxITEM_NORMAL ); + edit->Append( m_menuItemCopy ); + m_menuItemCopy->Enable( false ); - wxMenuItem* m_menuItemCut; - m_menuItemCut = new wxMenuItem( edit, ID_CUT, wxString( _("Cut") ) , _("Cut Selection"), wxITEM_NORMAL ); - edit->Append( m_menuItemCut ); - m_menuItemCut->Enable( false ); + wxMenuItem* m_menuItemCut; + m_menuItemCut = new wxMenuItem( edit, ID_CUT, wxString( _("Cut") ) , _("Cut Selection"), wxITEM_NORMAL ); + edit->Append( m_menuItemCut ); + m_menuItemCut->Enable( false ); - wxMenuItem* m_menuItemPaste; - m_menuItemPaste = new wxMenuItem( edit, ID_PASTE, wxString( _("&Paste") ) , _("Paste selection"), wxITEM_NORMAL ); - edit->Append( m_menuItemPaste ); - m_menuItemPaste->Enable( false ); + wxMenuItem* m_menuItemPaste; + m_menuItemPaste = new wxMenuItem( edit, ID_PASTE, wxString( _("&Paste") ) , _("Paste selection"), wxITEM_NORMAL ); + edit->Append( m_menuItemPaste ); + m_menuItemPaste->Enable( false ); - m_menubarMain->Append( edit, _("&Edit") ); + m_menubarMain->Append( edit, _("&Edit") ); - tools = new wxMenu(); - wxMenuItem* m_menuItemAudio; - m_menuItemAudio = new wxMenuItem( tools, wxID_ANY, wxString( _("&Audio Config") ) , wxEmptyString, wxITEM_NORMAL ); - tools->Append( m_menuItemAudio ); + tools = new wxMenu(); + wxMenuItem* m_menuItemAudio; + m_menuItemAudio = new wxMenuItem( tools, wxID_ANY, wxString( _("&Audio Config") ) , wxEmptyString, wxITEM_NORMAL ); + tools->Append( m_menuItemAudio ); - wxMenuItem* m_menuItemRigCtrlCfg; - m_menuItemRigCtrlCfg = new wxMenuItem( tools, wxID_ANY, wxString( _("Rig Control Config") ) , wxEmptyString, wxITEM_NORMAL ); - tools->Append( m_menuItemRigCtrlCfg ); + wxMenuItem* m_menuItemRigCtrlCfg; + m_menuItemRigCtrlCfg = new wxMenuItem( tools, wxID_ANY, wxString( _("Rig Control Config") ) , wxEmptyString, wxITEM_NORMAL ); + tools->Append( m_menuItemRigCtrlCfg ); - wxMenuItem* m_menuItemOptions; - m_menuItemOptions = new wxMenuItem( tools, ID_OPTIONS, wxString( _("Other Program &Options") ) , _("Set preferences"), wxITEM_NORMAL ); - tools->Append( m_menuItemOptions ); + wxMenuItem* m_menuItemOptions; + m_menuItemOptions = new wxMenuItem( tools, ID_OPTIONS, wxString( _("Other Program &Options") ) , _("Set preferences"), wxITEM_NORMAL ); + tools->Append( m_menuItemOptions ); - tools->AppendSeparator(); + tools->AppendSeparator(); - wxMenuItem* m_menuItemCaptRxStream; - m_menuItemCaptRxStream = new wxMenuItem( tools, wxID_ANY, wxString( _("Capture Rx Stream") ) + wxT('\t') + wxT("Capture receive stream to file."), wxEmptyString, wxITEM_NORMAL ); - #ifdef __WXMSW__ - m_menuItemCaptRxStream->SetBitmaps( wxNullBitmap ); - #elif defined( __WXGTK__ ) - m_menuItemCaptRxStream->SetBitmap( wxNullBitmap ); - #endif - tools->Append( m_menuItemCaptRxStream ); + wxMenuItem* m_menuItemCaptRxStream; + m_menuItemCaptRxStream = new wxMenuItem( tools, wxID_ANY, wxString( _("Capture Rx Stream") ) + wxT('\t') + wxT("Capture receive stream to file."), wxEmptyString, wxITEM_NORMAL ); + #ifdef __WXMSW__ + m_menuItemCaptRxStream->SetBitmaps( wxNullBitmap ); + #elif defined( __WXGTK__ ) + m_menuItemCaptRxStream->SetBitmap( wxNullBitmap ); + #endif + tools->Append( m_menuItemCaptRxStream ); - wxMenuItem* m_menuItemCaptTxStream; - m_menuItemCaptTxStream = new wxMenuItem( tools, wxID_ANY, wxString( _("Capture Tx Stream") ) + wxT('\t') + wxT("Capture transmit stream to file."), wxEmptyString, wxITEM_NORMAL ); - #ifdef __WXMSW__ - m_menuItemCaptTxStream->SetBitmaps( wxNullBitmap ); - #elif defined( __WXGTK__ ) - m_menuItemCaptTxStream->SetBitmap( wxNullBitmap ); - #endif - tools->Append( m_menuItemCaptTxStream ); + wxMenuItem* m_menuItemCaptTxStream; + m_menuItemCaptTxStream = new wxMenuItem( tools, wxID_ANY, wxString( _("Capture Tx Stream") ) + wxT('\t') + wxT("Capture transmit stream to file."), wxEmptyString, wxITEM_NORMAL ); + #ifdef __WXMSW__ + m_menuItemCaptTxStream->SetBitmaps( wxNullBitmap ); + #elif defined( __WXGTK__ ) + m_menuItemCaptTxStream->SetBitmap( wxNullBitmap ); + #endif + tools->Append( m_menuItemCaptTxStream ); - tools->AppendSeparator(); + tools->AppendSeparator(); - wxMenuItem* m_menuItemPlayAudioFile; - m_menuItemPlayAudioFile = new wxMenuItem( tools, wxID_ANY, wxString( _("Play File") ) , wxEmptyString, wxITEM_NORMAL ); - tools->Append( m_menuItemPlayAudioFile ); + wxMenuItem* m_menuItemPlayAudioFile; + m_menuItemPlayAudioFile = new wxMenuItem( tools, wxID_ANY, wxString( _("Play File") ) , wxEmptyString, wxITEM_NORMAL ); + tools->Append( m_menuItemPlayAudioFile ); - m_menubarMain->Append( tools, _("&Tools") ); + m_menubarMain->Append( tools, _("&Tools") ); - help = new wxMenu(); - wxMenuItem* m_menuItemHelpUpdates; - m_menuItemHelpUpdates = new wxMenuItem( help, wxID_ANY, wxString( _("Check for Updates") ) , wxEmptyString, wxITEM_NORMAL ); - help->Append( m_menuItemHelpUpdates ); - m_menuItemHelpUpdates->Enable( false ); + help = new wxMenu(); + wxMenuItem* m_menuItemHelpUpdates; + m_menuItemHelpUpdates = new wxMenuItem( help, wxID_ANY, wxString( _("Check for Updates") ) , wxEmptyString, wxITEM_NORMAL ); + help->Append( m_menuItemHelpUpdates ); + m_menuItemHelpUpdates->Enable( false ); - wxMenuItem* m_menuItemAbout; - m_menuItemAbout = new wxMenuItem( help, ID_ABOUT, wxString( _("&About") ) , _("About this program"), wxITEM_NORMAL ); - help->Append( m_menuItemAbout ); + wxMenuItem* m_menuItemAbout; + m_menuItemAbout = new wxMenuItem( help, ID_ABOUT, wxString( _("&About") ) , _("About this program"), wxITEM_NORMAL ); + help->Append( m_menuItemAbout ); - m_menubarMain->Append( help, _("&Help") ); + m_menubarMain->Append( help, _("&Help") ); - this->SetMenuBar( m_menubarMain ); + this->SetMenuBar( m_menubarMain ); - wxBoxSizer* bSizer1; - bSizer1 = new wxBoxSizer( wxHORIZONTAL ); + wxBoxSizer* bSizer1; + bSizer1 = new wxBoxSizer( wxHORIZONTAL ); - wxBoxSizer* leftSizer; - leftSizer = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* leftSizer; + leftSizer = new wxBoxSizer( wxVERTICAL ); - wxStaticBoxSizer* snrSizer; - snrSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("SNR") ), wxVERTICAL ); + wxStaticBoxSizer* snrSizer; + snrSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("SNR") ), wxVERTICAL ); - m_gaugeSNR = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( 15,135 ), wxGA_SMOOTH|wxGA_VERTICAL ); - m_gaugeSNR->SetToolTip( _("Display signal to noise ratio.") ); + m_gaugeSNR = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( 15,135 ), wxGA_SMOOTH|wxGA_VERTICAL ); + m_gaugeSNR->SetToolTip( _("Display signal to noise ratio.") ); - snrSizer->Add( m_gaugeSNR, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10 ); + snrSizer->Add( m_gaugeSNR, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10 ); - wxBoxSizer* bSizer29; - bSizer29 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer29; + bSizer29 = new wxBoxSizer( wxVERTICAL ); - m_textSNR = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxPoint( -1,-1 ), wxSize( 35,25 ), wxTE_READONLY ); - m_textSNR->SetToolTip( _("Show S/N ratio numerically.") ); - m_textSNR->SetMinSize( wxSize( 35,25 ) ); + m_textSNR = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxPoint( -1,-1 ), wxSize( 35,25 ), wxTE_READONLY ); + m_textSNR->SetToolTip( _("Show S/N ratio numerically.") ); + m_textSNR->SetMinSize( wxSize( 35,25 ) ); - bSizer29->Add( m_textSNR, 0, wxALIGN_CENTER|wxALL, 1 ); + bSizer29->Add( m_textSNR, 0, wxALIGN_CENTER|wxALL, 1 ); - snrSizer->Add( bSizer29, 0, wxEXPAND, 1 ); + snrSizer->Add( bSizer29, 0, wxEXPAND, 1 ); - leftSizer->Add( snrSizer, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 1 ); + leftSizer->Add( snrSizer, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 1 ); - wxStaticBoxSizer* levelSizer; - levelSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Level") ), wxVERTICAL ); + wxStaticBoxSizer* levelSizer; + levelSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Level") ), wxVERTICAL ); - m_gaugeLevel = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( 15,135 ), wxGA_SMOOTH|wxGA_VERTICAL ); - m_gaugeLevel->SetToolTip( _("Display signal level.") ); + m_gaugeLevel = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( 15,135 ), wxGA_SMOOTH|wxGA_VERTICAL ); + m_gaugeLevel->SetToolTip( _("Display signal level.") ); - levelSizer->Add( m_gaugeLevel, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10 ); + levelSizer->Add( m_gaugeLevel, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10 ); - leftSizer->Add( levelSizer, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 1 ); + leftSizer->Add( levelSizer, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 1 ); - bSizer1->Add( leftSizer, 0, wxALL|wxEXPAND, 5 ); + bSizer1->Add( leftSizer, 0, wxALL|wxEXPAND, 5 ); - wxBoxSizer* centerSizer; - centerSizer = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* centerSizer; + centerSizer = new wxBoxSizer( wxVERTICAL ); - wxBoxSizer* upperSizer; - upperSizer = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* upperSizer; + upperSizer = new wxBoxSizer( wxVERTICAL ); - m_auiNbookCtrl = new wxAuiNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_NB_BOTTOM|wxAUI_NB_DEFAULT_STYLE ); - m_auiNbookCtrl->SetFont( wxFont( 6, 70, 90, 90, false, wxEmptyString ) ); + m_auiNbookCtrl = new wxAuiNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_NB_BOTTOM|wxAUI_NB_DEFAULT_STYLE ); + m_auiNbookCtrl->SetFont( wxFont( 6, 70, 90, 90, false, wxEmptyString ) ); - upperSizer->Add( m_auiNbookCtrl, 1, wxALIGN_TOP|wxEXPAND, 1 ); + upperSizer->Add( m_auiNbookCtrl, 1, wxALIGN_TOP|wxEXPAND, 1 ); - centerSizer->Add( upperSizer, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALIGN_TOP|wxEXPAND, 0 ); + centerSizer->Add( upperSizer, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALIGN_TOP|wxEXPAND, 0 ); - wxBoxSizer* lowerSizer; - lowerSizer = new wxBoxSizer( wxHORIZONTAL ); + wxBoxSizer* lowerSizer; + lowerSizer = new wxBoxSizer( wxHORIZONTAL ); - wxBoxSizer* bSizer15; - bSizer15 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer15; + bSizer15 = new wxBoxSizer( wxVERTICAL ); - m_txtCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizer15->Add( m_txtCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 ); + m_txtCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer15->Add( m_txtCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 ); - lowerSizer->Add( bSizer15, 1, wxEXPAND, 5 ); + lowerSizer->Add( bSizer15, 1, wxEXPAND, 5 ); - wxBoxSizer* bSizer141; - bSizer141 = new wxBoxSizer( wxHORIZONTAL ); + wxBoxSizer* bSizer141; + bSizer141 = new wxBoxSizer( wxHORIZONTAL ); - m_togRxID = new wxToggleButton( this, wxID_ANY, _("RxID"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer141->Add( m_togRxID, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL|wxFIXED_MINSIZE, 5 ); + m_togRxID = new wxToggleButton( this, wxID_ANY, _("RxID"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizer141->Add( m_togRxID, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL|wxFIXED_MINSIZE, 5 ); - m_togTxID = new wxToggleButton( this, wxID_ANY, _("TxID"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer141->Add( m_togTxID, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + m_togTxID = new wxToggleButton( this, wxID_ANY, _("TxID"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizer141->Add( m_togTxID, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); - lowerSizer->Add( bSizer141, 0, wxALIGN_RIGHT, 5 ); + lowerSizer->Add( bSizer141, 0, wxALIGN_RIGHT, 5 ); - centerSizer->Add( lowerSizer, 0, wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 2 ); + centerSizer->Add( lowerSizer, 0, wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 2 ); - bSizer1->Add( centerSizer, 4, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 1 ); + bSizer1->Add( centerSizer, 4, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 1 ); - wxBoxSizer* rightSizer; - rightSizer = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* rightSizer; + rightSizer = new wxBoxSizer( wxVERTICAL ); - wxStaticBoxSizer* sbSizer3; - sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("SQ") ), wxVERTICAL ); + wxStaticBoxSizer* sbSizer3; + sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("SQ") ), wxVERTICAL ); - m_sliderSQ = new wxSlider( this, wxID_ANY, 50, 0, 100, wxDefaultPosition, wxSize( -1,100 ), wxSL_AUTOTICKS|wxSL_INVERSE|wxSL_VERTICAL ); - m_sliderSQ->SetToolTip( _("Set Squelch level.") ); + m_sliderSQ = new wxSlider( this, wxID_ANY, 50, 0, 100, wxDefaultPosition, wxSize( -1,100 ), wxSL_AUTOTICKS|wxSL_INVERSE|wxSL_VERTICAL ); + m_sliderSQ->SetToolTip( _("Set Squelch level.") ); - sbSizer3->Add( m_sliderSQ, 2, wxALIGN_CENTER|wxALL, 1 ); + sbSizer3->Add( m_sliderSQ, 2, wxALIGN_CENTER|wxALL, 1 ); - wxBoxSizer* bSizer131; - bSizer131 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer131; + bSizer131 = new wxBoxSizer( wxVERTICAL ); - m_ckboxSQ = new wxCheckBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxCHK_2STATE ); - m_ckboxSQ->SetToolTip( _("Activate/Deactivate Squelch") ); + m_ckboxSQ = new wxCheckBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxCHK_2STATE ); + m_ckboxSQ->SetToolTip( _("Activate/Deactivate Squelch") ); - bSizer131->Add( m_ckboxSQ, 0, wxALIGN_CENTER|wxALL, 5 ); + bSizer131->Add( m_ckboxSQ, 0, wxALIGN_CENTER|wxALL, 5 ); - sbSizer3->Add( bSizer131, 0, wxALIGN_CENTER, 5 ); + sbSizer3->Add( bSizer131, 0, wxALIGN_CENTER, 5 ); - rightSizer->Add( sbSizer3, 2, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 3 ); + rightSizer->Add( sbSizer3, 2, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 3 ); - wxStaticBoxSizer* sbSizer5; - sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Control") ), wxVERTICAL ); + wxStaticBoxSizer* sbSizer5; + sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Control") ), wxVERTICAL ); - wxBoxSizer* bSizer1511; - bSizer1511 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer1511; + bSizer1511 = new wxBoxSizer( wxVERTICAL ); - m_togBtnOnOff = new wxToggleButton( this, wxID_ANY, _("Start"), wxDefaultPosition, wxDefaultSize, 0 ); - m_togBtnOnOff->SetToolTip( _("Begin receiving data.") ); + m_togBtnOnOff = new wxToggleButton( this, wxID_ANY, _("Start"), wxDefaultPosition, wxDefaultSize, 0 ); + m_togBtnOnOff->SetToolTip( _("Begin receiving data.") ); - bSizer1511->Add( m_togBtnOnOff, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 ); + bSizer1511->Add( m_togBtnOnOff, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 ); - sbSizer5->Add( bSizer1511, 0, wxEXPAND, 1 ); + sbSizer5->Add( bSizer1511, 0, wxEXPAND, 1 ); - wxBoxSizer* bSizer151; - bSizer151 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer151; + bSizer151 = new wxBoxSizer( wxVERTICAL ); - m_togBtnSplit = new wxToggleButton( this, wxID_ANY, _("Split"), wxDefaultPosition, wxDefaultSize, 0 ); - m_togBtnSplit->SetToolTip( _("Toggle split frequency mode.") ); + m_togBtnSplit = new wxToggleButton( this, wxID_ANY, _("Split"), wxDefaultPosition, wxDefaultSize, 0 ); + m_togBtnSplit->SetToolTip( _("Toggle split frequency mode.") ); - bSizer151->Add( m_togBtnSplit, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 ); + bSizer151->Add( m_togBtnSplit, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 ); - sbSizer5->Add( bSizer151, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 1 ); + sbSizer5->Add( bSizer151, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 1 ); - wxBoxSizer* bSizer13; - bSizer13 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer13; + bSizer13 = new wxBoxSizer( wxVERTICAL ); - m_togBtnAnalog = new wxToggleButton( this, wxID_ANY, _("Analog"), wxDefaultPosition, wxDefaultSize, 0 ); - m_togBtnAnalog->SetToolTip( _("Toggle analog/digital operation.") ); + m_togBtnAnalog = new wxToggleButton( this, wxID_ANY, _("Analog"), wxDefaultPosition, wxDefaultSize, 0 ); + m_togBtnAnalog->SetToolTip( _("Toggle analog/digital operation.") ); - bSizer13->Add( m_togBtnAnalog, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 ); + bSizer13->Add( m_togBtnAnalog, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 ); - sbSizer5->Add( bSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 ); + sbSizer5->Add( bSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 ); - wxBoxSizer* bSizer14; - bSizer14 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer14; + bSizer14 = new wxBoxSizer( wxVERTICAL ); - m_togBtnALC = new wxToggleButton( this, wxID_ANY, _("ALC"), wxDefaultPosition, wxDefaultSize, 0 ); - m_togBtnALC->SetToolTip( _("Toggle automatic level control mode.") ); + m_togBtnALC = new wxToggleButton( this, wxID_ANY, _("ALC"), wxDefaultPosition, wxDefaultSize, 0 ); + m_togBtnALC->SetToolTip( _("Toggle automatic level control mode.") ); - bSizer14->Add( m_togBtnALC, 0, wxALL, 1 ); + bSizer14->Add( m_togBtnALC, 0, wxALL, 1 ); - sbSizer5->Add( bSizer14, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALL, 1 ); + sbSizer5->Add( bSizer14, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALL, 1 ); - wxBoxSizer* bSizer11; - bSizer11 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer11; + bSizer11 = new wxBoxSizer( wxVERTICAL ); - m_btnTogTX = new wxToggleButton( this, wxID_ANY, _("TX"), wxDefaultPosition, wxDefaultSize, 0 ); - m_btnTogTX->SetToolTip( _("Switch between Receive and Transmit") ); + m_btnTogTX = new wxToggleButton( this, wxID_ANY, _("TX"), wxDefaultPosition, wxDefaultSize, 0 ); + m_btnTogTX->SetToolTip( _("Switch between Receive and Transmit") ); - bSizer11->Add( m_btnTogTX, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 ); + bSizer11->Add( m_btnTogTX, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 ); - sbSizer5->Add( bSizer11, 2, wxEXPAND, 1 ); + sbSizer5->Add( bSizer11, 2, wxEXPAND, 1 ); - rightSizer->Add( sbSizer5, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 3 ); + rightSizer->Add( sbSizer5, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 3 ); - bSizer1->Add( rightSizer, 0, wxALL|wxEXPAND, 3 ); + bSizer1->Add( rightSizer, 0, wxALL|wxEXPAND, 3 ); - this->SetSizer( bSizer1 ); - this->Layout(); - m_statusBar1 = this->CreateStatusBar( 3, wxST_SIZEGRIP, wxID_ANY ); + this->SetSizer( bSizer1 ); + this->Layout(); + m_statusBar1 = this->CreateStatusBar( 3, wxST_SIZEGRIP, wxID_ANY ); - // Connect Events - this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( TopFrame::topFrame_OnClose ) ); - this->Connect( wxEVT_PAINT, wxPaintEventHandler( TopFrame::topFrame_OnPaint ) ); - this->Connect( wxEVT_SIZE, wxSizeEventHandler( TopFrame::topFrame_OnSize ) ); - this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::topFrame_OnUpdateUI ) ); - this->Connect( m_menuItemOpen->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnOpen ) ); - this->Connect( m_menuItemOpen->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnOpenUpdateUI ) ); - this->Connect( m_menuItemSave->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnSave ) ); - this->Connect( m_menuItemSave->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnSaveUpdateUI ) ); - this->Connect( m_menuItemClose->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnClose ) ); - this->Connect( m_menuItemClose->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCloseUpdateUI ) ); - this->Connect( m_menuItemExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnExit ) ); - this->Connect( m_menuItemCopy->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCopy ) ); - this->Connect( m_menuItemCopy->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCopyUpdateUI ) ); - this->Connect( m_menuItemCut->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCut ) ); - this->Connect( m_menuItemCut->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCutUpdateUI ) ); - this->Connect( m_menuItemPaste->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPaste ) ); - this->Connect( m_menuItemPaste->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnPasteUpdateUI ) ); - this->Connect( m_menuItemAudio->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsAudio ) ); - this->Connect( m_menuItemAudio->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsAudioUI ) ); - this->Connect( m_menuItemRigCtrlCfg->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsComCfg ) ); - this->Connect( m_menuItemRigCtrlCfg->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsComCfgUI ) ); - this->Connect( m_menuItemOptions->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsOptions ) ); - this->Connect( m_menuItemOptions->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsOptionsUI ) ); - this->Connect( m_menuItemCaptRxStream->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCaptureRxStream ) ); - this->Connect( m_menuItemCaptTxStream->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCaptureTxStream ) ); - this->Connect( m_menuItemPlayAudioFile->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPlayAudioFile ) ); - this->Connect( m_menuItemHelpUpdates->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpCheckUpdates ) ); - this->Connect( m_menuItemHelpUpdates->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnHelpCheckUpdatesUI ) ); - this->Connect( m_menuItemAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpAbout ) ); - m_togRxID->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnRxID ), NULL, this ); - m_togTxID->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTxID ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnSliderScrollBottom ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScrollChanged ), NULL, this ); - m_sliderSQ->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnSliderScrollTop ), NULL, this ); - m_ckboxSQ->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TopFrame::OnCheckSQClick ), NULL, this ); - m_togBtnOnOff->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnOnOff ), NULL, this ); - m_togBtnSplit->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnSplitClick ), NULL, this ); - m_togBtnAnalog->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnAnalogClick ), NULL, this ); - m_togBtnALC->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnALCClick ), NULL, this ); - m_btnTogTX->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTXClick ), NULL, this ); + // Connect Events + this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( TopFrame::topFrame_OnClose ) ); + this->Connect( wxEVT_PAINT, wxPaintEventHandler( TopFrame::topFrame_OnPaint ) ); + this->Connect( wxEVT_SIZE, wxSizeEventHandler( TopFrame::topFrame_OnSize ) ); + this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::topFrame_OnUpdateUI ) ); + this->Connect( m_menuItemOpen->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnOpen ) ); + this->Connect( m_menuItemOpen->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnOpenUpdateUI ) ); + this->Connect( m_menuItemSave->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnSave ) ); + this->Connect( m_menuItemSave->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnSaveUpdateUI ) ); + this->Connect( m_menuItemClose->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnClose ) ); + this->Connect( m_menuItemClose->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCloseUpdateUI ) ); + this->Connect( m_menuItemExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnExit ) ); + this->Connect( m_menuItemCopy->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCopy ) ); + this->Connect( m_menuItemCopy->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCopyUpdateUI ) ); + this->Connect( m_menuItemCut->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCut ) ); + this->Connect( m_menuItemCut->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCutUpdateUI ) ); + this->Connect( m_menuItemPaste->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPaste ) ); + this->Connect( m_menuItemPaste->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnPasteUpdateUI ) ); + this->Connect( m_menuItemAudio->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsAudio ) ); + this->Connect( m_menuItemAudio->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsAudioUI ) ); + this->Connect( m_menuItemRigCtrlCfg->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsComCfg ) ); + this->Connect( m_menuItemRigCtrlCfg->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsComCfgUI ) ); + this->Connect( m_menuItemOptions->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsOptions ) ); + this->Connect( m_menuItemOptions->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsOptionsUI ) ); + this->Connect( m_menuItemCaptRxStream->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCaptureRxStream ) ); + this->Connect( m_menuItemCaptTxStream->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCaptureTxStream ) ); + this->Connect( m_menuItemPlayAudioFile->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPlayAudioFile ) ); + this->Connect( m_menuItemHelpUpdates->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpCheckUpdates ) ); + this->Connect( m_menuItemHelpUpdates->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnHelpCheckUpdatesUI ) ); + this->Connect( m_menuItemAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpAbout ) ); + m_togRxID->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnRxID ), NULL, this ); + m_togTxID->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTxID ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnSliderScrollBottom ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScrollChanged ), NULL, this ); + m_sliderSQ->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnSliderScrollTop ), NULL, this ); + m_ckboxSQ->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TopFrame::OnCheckSQClick ), NULL, this ); + + m_togBtnOnOff->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnOnOff ), NULL, this ); + m_togBtnSplit->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnSplitClick ), NULL, this ); + m_togBtnAnalog->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnAnalogClick ), NULL, this ); + m_togBtnALC->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnALCClick ), NULL, this ); + m_btnTogTX->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTXClick ), NULL, this ); } TopFrame::~TopFrame() { - // Disconnect Events - this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( TopFrame::topFrame_OnClose ) ); - this->Disconnect( wxEVT_PAINT, wxPaintEventHandler( TopFrame::topFrame_OnPaint ) ); - this->Disconnect( wxEVT_SIZE, wxSizeEventHandler( TopFrame::topFrame_OnSize ) ); - this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::topFrame_OnUpdateUI ) ); - this->Disconnect( ID_OPEN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnOpen ) ); - this->Disconnect( ID_OPEN, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnOpenUpdateUI ) ); - this->Disconnect( ID_SAVE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnSave ) ); - this->Disconnect( ID_SAVE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnSaveUpdateUI ) ); - this->Disconnect( ID_CLOSE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnClose ) ); - this->Disconnect( ID_CLOSE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCloseUpdateUI ) ); - this->Disconnect( ID_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnExit ) ); - this->Disconnect( ID_COPY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCopy ) ); - this->Disconnect( ID_COPY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCopyUpdateUI ) ); - this->Disconnect( ID_CUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCut ) ); - this->Disconnect( ID_CUT, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCutUpdateUI ) ); - this->Disconnect( ID_PASTE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPaste ) ); - this->Disconnect( ID_PASTE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnPasteUpdateUI ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsAudio ) ); - this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsAudioUI ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsComCfg ) ); - this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsComCfgUI ) ); - this->Disconnect( ID_OPTIONS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsOptions ) ); - this->Disconnect( ID_OPTIONS, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsOptionsUI ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCaptureRxStream ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCaptureTxStream ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPlayAudioFile ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpCheckUpdates ) ); - this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnHelpCheckUpdatesUI ) ); - this->Disconnect( ID_ABOUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpAbout ) ); - m_togRxID->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnRxID ), NULL, this ); - m_togTxID->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTxID ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnSliderScrollBottom ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScrollChanged ), NULL, this ); - m_sliderSQ->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnSliderScrollTop ), NULL, this ); - m_ckboxSQ->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TopFrame::OnCheckSQClick ), NULL, this ); - m_togBtnOnOff->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnOnOff ), NULL, this ); - m_togBtnSplit->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnSplitClick ), NULL, this ); - m_togBtnAnalog->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnAnalogClick ), NULL, this ); - m_togBtnALC->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnALCClick ), NULL, this ); - m_btnTogTX->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTXClick ), NULL, this ); + // Disconnect Events + this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( TopFrame::topFrame_OnClose ) ); + this->Disconnect( wxEVT_PAINT, wxPaintEventHandler( TopFrame::topFrame_OnPaint ) ); + this->Disconnect( wxEVT_SIZE, wxSizeEventHandler( TopFrame::topFrame_OnSize ) ); + this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::topFrame_OnUpdateUI ) ); + this->Disconnect( ID_OPEN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnOpen ) ); + this->Disconnect( ID_OPEN, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnOpenUpdateUI ) ); + this->Disconnect( ID_SAVE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnSave ) ); + this->Disconnect( ID_SAVE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnSaveUpdateUI ) ); + this->Disconnect( ID_CLOSE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnClose ) ); + this->Disconnect( ID_CLOSE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCloseUpdateUI ) ); + this->Disconnect( ID_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnExit ) ); + this->Disconnect( ID_COPY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCopy ) ); + this->Disconnect( ID_COPY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCopyUpdateUI ) ); + this->Disconnect( ID_CUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCut ) ); + this->Disconnect( ID_CUT, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCutUpdateUI ) ); + this->Disconnect( ID_PASTE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPaste ) ); + this->Disconnect( ID_PASTE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnPasteUpdateUI ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsAudio ) ); + this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsAudioUI ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsComCfg ) ); + this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsComCfgUI ) ); + this->Disconnect( ID_OPTIONS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsOptions ) ); + this->Disconnect( ID_OPTIONS, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsOptionsUI ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCaptureRxStream ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCaptureTxStream ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPlayAudioFile ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpCheckUpdates ) ); + this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnHelpCheckUpdatesUI ) ); + this->Disconnect( ID_ABOUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpAbout ) ); + m_togRxID->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnRxID ), NULL, this ); + m_togTxID->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTxID ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnSliderScrollBottom ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScrollChanged ), NULL, this ); + m_sliderSQ->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnSliderScrollTop ), NULL, this ); + m_ckboxSQ->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TopFrame::OnCheckSQClick ), NULL, this ); + + m_togBtnOnOff->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnOnOff ), NULL, this ); + m_togBtnSplit->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnSplitClick ), NULL, this ); + m_togBtnAnalog->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnAnalogClick ), NULL, this ); + m_togBtnALC->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnALCClick ), NULL, this ); + m_btnTogTX->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTXClick ), NULL, this ); } DlgAbout::DlgAbout( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) { - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - wxBoxSizer* bSizer20; - bSizer20 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer20; + bSizer20 = new wxBoxSizer( wxVERTICAL ); - wxBoxSizer* bSizer21; - bSizer21 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer21; + bSizer21 = new wxBoxSizer( wxVERTICAL ); - wxBoxSizer* bSizer23; - bSizer23 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer23; + bSizer23 = new wxBoxSizer( wxVERTICAL ); - wxBoxSizer* bSizer25; - bSizer25 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer25; + bSizer25 = new wxBoxSizer( wxVERTICAL ); - m_bitmapAbout = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); - bSizer25->Add( m_bitmapAbout, 1, wxALL|wxEXPAND, 5 ); + m_bitmapAbout = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer25->Add( m_bitmapAbout, 1, wxALL|wxEXPAND, 5 ); - bSizer23->Add( bSizer25, 1, wxEXPAND, 5 ); + bSizer23->Add( bSizer25, 1, wxEXPAND, 5 ); - wxBoxSizer* bSizer26; - bSizer26 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer26; + bSizer26 = new wxBoxSizer( wxVERTICAL ); - m_staticText1 = new wxStaticText( this, wxID_ANY, _("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText1->Wrap( -1 ); - bSizer26->Add( m_staticText1, 1, wxALL, 5 ); + m_staticText1 = new wxStaticText( this, wxID_ANY, _("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText1->Wrap( -1 ); + bSizer26->Add( m_staticText1, 1, wxALL, 5 ); - bSizer23->Add( bSizer26, 0, 0, 5 ); + bSizer23->Add( bSizer26, 0, 0, 5 ); - bSizer21->Add( bSizer23, 1, wxEXPAND, 5 ); + bSizer21->Add( bSizer23, 1, wxEXPAND, 5 ); - wxBoxSizer* bSizer24; - bSizer24 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer24; + bSizer24 = new wxBoxSizer( wxVERTICAL ); - m_textCtrl2 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizer24->Add( m_textCtrl2, 1, wxALL|wxEXPAND, 5 ); + m_textCtrl2 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer24->Add( m_textCtrl2, 1, wxALL|wxEXPAND, 5 ); - bSizer21->Add( bSizer24, 1, wxEXPAND, 5 ); + bSizer21->Add( bSizer24, 1, wxEXPAND, 5 ); - bSizer20->Add( bSizer21, 1, wxEXPAND, 5 ); + bSizer20->Add( bSizer21, 1, wxEXPAND, 5 ); - wxBoxSizer* bSizer22; - bSizer22 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer22; + bSizer22 = new wxBoxSizer( wxVERTICAL ); - m_button9 = new wxButton( this, wxID_ANY, _("MyButton"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer22->Add( m_button9, 0, wxALIGN_BOTTOM|wxALIGN_RIGHT|wxALL, 5 ); + m_button9 = new wxButton( this, wxID_ANY, _("MyButton"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizer22->Add( m_button9, 0, wxALIGN_BOTTOM|wxALIGN_RIGHT|wxALL, 5 ); - bSizer20->Add( bSizer22, 0, wxALIGN_RIGHT, 5 ); + bSizer20->Add( bSizer22, 0, wxALIGN_RIGHT, 5 ); - this->SetSizer( bSizer20 ); - this->Layout(); + this->SetSizer( bSizer20 ); + this->Layout(); - this->Centre( wxBOTH ); - this->Centre( wxBOTH ); + this->Centre( wxBOTH ); + this->Centre( wxBOTH ); - // Connect Events - this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAbout::OnClose ) ); - this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAbout::OnInitDialog ) ); + // Connect Events + this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAbout::OnClose ) ); + this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAbout::OnInitDialog ) ); } DlgAbout::~DlgAbout() { - // Disconnect Events - this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAbout::OnClose ) ); - this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAbout::OnInitDialog ) ); + // Disconnect Events + this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAbout::OnClose ) ); + this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAbout::OnInitDialog ) ); } DlgAudio::DlgAudio( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) { - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - wxBoxSizer* bSizer32; - bSizer32 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer32; + bSizer32 = new wxBoxSizer( wxVERTICAL ); - m_nbAudioOptions = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); - m_panelDevices = new wxPanel( m_nbAudioOptions, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); - wxBoxSizer* bSizer34; - bSizer34 = new wxBoxSizer( wxVERTICAL ); + m_nbAudioOptions = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); + m_panelDevices = new wxPanel( m_nbAudioOptions, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* bSizer34; + bSizer34 = new wxBoxSizer( wxVERTICAL ); - wxStaticBoxSizer* sbSizer10; - sbSizer10 = new wxStaticBoxSizer( new wxStaticBox( m_panelDevices, wxID_ANY, _("PortAudio") ), wxHORIZONTAL ); + wxStaticBoxSizer* sbSizer10; + sbSizer10 = new wxStaticBoxSizer( new wxStaticBox( m_panelDevices, wxID_ANY, _("PortAudio") ), wxHORIZONTAL ); - wxBoxSizer* bSizer41; - bSizer41 = new wxBoxSizer( wxHORIZONTAL ); + wxBoxSizer* bSizer41; + bSizer41 = new wxBoxSizer( wxHORIZONTAL ); - wxGridSizer* gSizer6; - gSizer6 = new wxGridSizer( 3, 1, 0, 0 ); + wxGridSizer* gSizer6; + gSizer6 = new wxGridSizer( 3, 1, 0, 0 ); - gSizer6->SetMinSize( wxSize( 115,-1 ) ); - m_radioBtnPortAudio = new wxRadioButton( m_panelDevices, wxID_ANY, _("PortAudio"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP ); - m_radioBtnPortAudio->SetValue( true ); - gSizer6->Add( m_radioBtnPortAudio, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gSizer6->SetMinSize( wxSize( 115,-1 ) ); + m_radioBtnPortAudio = new wxRadioButton( m_panelDevices, wxID_ANY, _("PortAudio"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP ); + m_radioBtnPortAudio->SetValue( true ); + gSizer6->Add( m_radioBtnPortAudio, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); - wxGridSizer* gSizer51; - gSizer51 = new wxGridSizer( 2, 2, 0, 0 ); + wxGridSizer* gSizer51; + gSizer51 = new wxGridSizer( 2, 2, 0, 0 ); - gSizer51->SetMinSize( wxSize( 110,-1 ) ); - m_staticText151 = new wxStaticText( m_panelDevices, wxID_ANY, _("# Ch Out:"), wxDefaultPosition, wxSize( 80,-1 ), wxALIGN_RIGHT ); - m_staticText151->Wrap( -1 ); - m_staticText151->SetFont( wxFont( 7, 70, 90, 90, false, wxEmptyString ) ); - m_staticText151->SetMinSize( wxSize( 80,-1 ) ); - m_staticText151->SetMaxSize( wxSize( 80,-1 ) ); + gSizer51->SetMinSize( wxSize( 110,-1 ) ); + m_staticText151 = new wxStaticText( m_panelDevices, wxID_ANY, _("# Ch Out:"), wxDefaultPosition, wxSize( 80,-1 ), wxALIGN_RIGHT ); + m_staticText151->Wrap( -1 ); + m_staticText151->SetFont( wxFont( 7, 70, 90, 90, false, wxEmptyString ) ); + m_staticText151->SetMinSize( wxSize( 80,-1 ) ); + m_staticText151->SetMaxSize( wxSize( 80,-1 ) ); - gSizer51->Add( m_staticText151, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL|wxEXPAND, 5 ); + gSizer51->Add( m_staticText151, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL|wxEXPAND, 5 ); - m_textNumChOut = new wxTextCtrl( m_panelDevices, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 30,-1 ), wxTE_READONLY ); - m_textNumChOut->SetFont( wxFont( 7, 70, 90, 90, false, wxEmptyString ) ); - m_textNumChOut->SetMinSize( wxSize( 30,-1 ) ); - m_textNumChOut->SetMaxSize( wxSize( 30,-1 ) ); + m_textNumChOut = new wxTextCtrl( m_panelDevices, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 30,-1 ), wxTE_READONLY ); + m_textNumChOut->SetFont( wxFont( 7, 70, 90, 90, false, wxEmptyString ) ); + m_textNumChOut->SetMinSize( wxSize( 30,-1 ) ); + m_textNumChOut->SetMaxSize( wxSize( 30,-1 ) ); - gSizer51->Add( m_textNumChOut, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL, 5 ); + gSizer51->Add( m_textNumChOut, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL, 5 ); - m_staticText141 = new wxStaticText( m_panelDevices, wxID_ANY, _("# Ch In:"), wxDefaultPosition, wxSize( 80,-1 ), wxALIGN_RIGHT ); - m_staticText141->Wrap( -1 ); - m_staticText141->SetFont( wxFont( 7, 70, 90, 90, false, wxEmptyString ) ); - m_staticText141->SetMinSize( wxSize( 80,-1 ) ); - m_staticText141->SetMaxSize( wxSize( 90,-1 ) ); + m_staticText141 = new wxStaticText( m_panelDevices, wxID_ANY, _("# Ch In:"), wxDefaultPosition, wxSize( 80,-1 ), wxALIGN_RIGHT ); + m_staticText141->Wrap( -1 ); + m_staticText141->SetFont( wxFont( 7, 70, 90, 90, false, wxEmptyString ) ); + m_staticText141->SetMinSize( wxSize( 80,-1 ) ); + m_staticText141->SetMaxSize( wxSize( 90,-1 ) ); - gSizer51->Add( m_staticText141, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL|wxEXPAND, 5 ); + gSizer51->Add( m_staticText141, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL|wxEXPAND, 5 ); - m_textNumChIn = new wxTextCtrl( m_panelDevices, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 30,-1 ), wxTE_READONLY ); - m_textNumChIn->SetFont( wxFont( 7, 70, 90, 90, false, wxEmptyString ) ); - m_textNumChIn->SetMinSize( wxSize( 30,-1 ) ); - m_textNumChIn->SetMaxSize( wxSize( 30,-1 ) ); + m_textNumChIn = new wxTextCtrl( m_panelDevices, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 30,-1 ), wxTE_READONLY ); + m_textNumChIn->SetFont( wxFont( 7, 70, 90, 90, false, wxEmptyString ) ); + m_textNumChIn->SetMinSize( wxSize( 30,-1 ) ); + m_textNumChIn->SetMaxSize( wxSize( 30,-1 ) ); - gSizer51->Add( m_textNumChIn, 0, wxALL, 4 ); + gSizer51->Add( m_textNumChIn, 0, wxALL, 4 ); - gSizer6->Add( gSizer51, 0, wxEXPAND, 5 ); + gSizer6->Add( gSizer51, 0, wxEXPAND, 5 ); - bSizer41->Add( gSizer6, 0, wxALL, 5 ); + bSizer41->Add( gSizer6, 0, wxALL, 5 ); - wxGridSizer* gSizer7; - gSizer7 = new wxGridSizer( 4, 2, 0, 0 ); + wxGridSizer* gSizer7; + gSizer7 = new wxGridSizer( 4, 2, 0, 0 ); - m_staticText14 = new wxStaticText( m_panelDevices, wxID_ANY, _("Audio in (mic) -> codec:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE ); - m_staticText14->Wrap( -1 ); - gSizer7->Add( m_staticText14, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + m_staticText14 = new wxStaticText( m_panelDevices, wxID_ANY, _("Audio in (mic) -> codec:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE ); + m_staticText14->Wrap( -1 ); + gSizer7->Add( m_staticText14, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); - m_comboAudioCodec = new wxComboBox( m_panelDevices, wxID_ANY, _(""), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); - gSizer7->Add( m_comboAudioCodec, 1, wxALL, 5 ); + m_comboAudioCodec = new wxComboBox( m_panelDevices, wxID_ANY, _(""), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); + gSizer7->Add( m_comboAudioCodec, 1, wxALL, 5 ); - m_staticText15 = new wxStaticText( m_panelDevices, wxID_ANY, _("codec -> Radio Tx:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE ); - m_staticText15->Wrap( -1 ); - gSizer7->Add( m_staticText15, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + m_staticText15 = new wxStaticText( m_panelDevices, wxID_ANY, _("codec -> Radio Tx:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE ); + m_staticText15->Wrap( -1 ); + gSizer7->Add( m_staticText15, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); - m_comboCodecTx = new wxComboBox( m_panelDevices, wxID_ANY, _(""), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); - gSizer7->Add( m_comboCodecTx, 1, wxALL, 5 ); + m_comboCodecTx = new wxComboBox( m_panelDevices, wxID_ANY, _(""), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); + gSizer7->Add( m_comboCodecTx, 1, wxALL, 5 ); - m_staticText16 = new wxStaticText( m_panelDevices, wxID_ANY, _("Radio Rx -> codec:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE ); - m_staticText16->Wrap( -1 ); - gSizer7->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + m_staticText16 = new wxStaticText( m_panelDevices, wxID_ANY, _("Radio Rx -> codec:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE ); + m_staticText16->Wrap( -1 ); + gSizer7->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); - m_comboRadioRx = new wxComboBox( m_panelDevices, wxID_ANY, _(""), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); - gSizer7->Add( m_comboRadioRx, 1, wxALL, 5 ); + m_comboRadioRx = new wxComboBox( m_panelDevices, wxID_ANY, _(""), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); + gSizer7->Add( m_comboRadioRx, 1, wxALL, 5 ); - m_staticText17 = new wxStaticText( m_panelDevices, wxID_ANY, _("codec -> Audio out (spkr):"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE ); - m_staticText17->Wrap( -1 ); - gSizer7->Add( m_staticText17, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + m_staticText17 = new wxStaticText( m_panelDevices, wxID_ANY, _("codec -> Audio out (spkr):"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE ); + m_staticText17->Wrap( -1 ); + gSizer7->Add( m_staticText17, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); - m_comboCodecSpkr = new wxComboBox( m_panelDevices, wxID_ANY, _(""), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); - gSizer7->Add( m_comboCodecSpkr, 0, wxALL, 5 ); + m_comboCodecSpkr = new wxComboBox( m_panelDevices, wxID_ANY, _(""), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); + gSizer7->Add( m_comboCodecSpkr, 0, wxALL, 5 ); - bSizer41->Add( gSizer7, 0, wxALL|wxEXPAND, 5 ); + bSizer41->Add( gSizer7, 0, wxALL|wxEXPAND, 5 ); - sbSizer10->Add( bSizer41, 1, wxEXPAND, 5 ); + sbSizer10->Add( bSizer41, 1, wxEXPAND, 5 ); - bSizer34->Add( sbSizer10, 1, wxEXPAND, 5 ); + bSizer34->Add( sbSizer10, 1, wxEXPAND, 5 ); - wxStaticBoxSizer* sbSizer11; - sbSizer11 = new wxStaticBoxSizer( new wxStaticBox( m_panelDevices, wxID_ANY, _("File I/O") ), wxHORIZONTAL ); + wxStaticBoxSizer* sbSizer11; + sbSizer11 = new wxStaticBoxSizer( new wxStaticBox( m_panelDevices, wxID_ANY, _("File I/O") ), wxHORIZONTAL ); - wxBoxSizer* bSizer38; - bSizer38 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer38; + bSizer38 = new wxBoxSizer( wxVERTICAL ); - m_radioBtnFileOnly = new wxRadioButton( m_panelDevices, wxID_ANY, _("File Only"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer38->Add( m_radioBtnFileOnly, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + m_radioBtnFileOnly = new wxRadioButton( m_panelDevices, wxID_ANY, _("File Only"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizer38->Add( m_radioBtnFileOnly, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); - sbSizer11->Add( bSizer38, 0, wxEXPAND, 5 ); + sbSizer11->Add( bSizer38, 0, wxEXPAND, 5 ); - wxBoxSizer* bSizer45; - bSizer45 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer45; + bSizer45 = new wxBoxSizer( wxVERTICAL ); - sbSizer11->Add( bSizer45, 1, wxEXPAND, 5 ); + sbSizer11->Add( bSizer45, 1, wxEXPAND, 5 ); - wxBoxSizer* bSizer46; - bSizer46 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer46; + bSizer46 = new wxBoxSizer( wxVERTICAL ); - sbSizer11->Add( bSizer46, 1, wxEXPAND, 5 ); + sbSizer11->Add( bSizer46, 1, wxEXPAND, 5 ); - bSizer34->Add( sbSizer11, 1, wxEXPAND, 5 ); + bSizer34->Add( sbSizer11, 1, wxEXPAND, 5 ); - m_panelDevices->SetSizer( bSizer34 ); - m_panelDevices->Layout(); - bSizer34->Fit( m_panelDevices ); - m_nbAudioOptions->AddPage( m_panelDevices, _("Devices"), true ); - m_panelSettings = new wxPanel( m_nbAudioOptions, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); - wxBoxSizer* bSizer27; - bSizer27 = new wxBoxSizer( wxVERTICAL ); + m_panelDevices->SetSizer( bSizer34 ); + m_panelDevices->Layout(); + bSizer34->Fit( m_panelDevices ); + m_nbAudioOptions->AddPage( m_panelDevices, _("Devices"), true ); + m_panelSettings = new wxPanel( m_nbAudioOptions, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* bSizer27; + bSizer27 = new wxBoxSizer( wxVERTICAL ); - wxBoxSizer* bSizer271; - bSizer271 = new wxBoxSizer( wxHORIZONTAL ); + wxBoxSizer* bSizer271; + bSizer271 = new wxBoxSizer( wxHORIZONTAL ); - wxStaticBoxSizer* sbSizer6; - sbSizer6 = new wxStaticBoxSizer( new wxStaticBox( m_panelSettings, wxID_ANY, _("Rx Input") ), wxVERTICAL ); + wxStaticBoxSizer* sbSizer6; + sbSizer6 = new wxStaticBoxSizer( new wxStaticBox( m_panelSettings, wxID_ANY, _("Rx Input") ), wxVERTICAL ); - wxBoxSizer* bSizer31; - bSizer31 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer31; + bSizer31 = new wxBoxSizer( wxVERTICAL ); - m_lbRxInput = new wxListBox( m_panelSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); - bSizer31->Add( m_lbRxInput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 ); + m_lbRxInput = new wxListBox( m_panelSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); + bSizer31->Add( m_lbRxInput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 ); - m_textRxInput = new wxTextCtrl( m_panelSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizer31->Add( m_textRxInput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 ); + m_textRxInput = new wxTextCtrl( m_panelSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer31->Add( m_textRxInput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 ); - sbSizer6->Add( bSizer31, 1, wxEXPAND, 6 ); + sbSizer6->Add( bSizer31, 1, wxEXPAND, 6 ); - bSizer271->Add( sbSizer6, 1, wxEXPAND, 5 ); + bSizer271->Add( sbSizer6, 1, wxEXPAND, 5 ); - wxStaticBoxSizer* sbSizer7; - sbSizer7 = new wxStaticBoxSizer( new wxStaticBox( m_panelSettings, wxID_ANY, _("Tx Output") ), wxVERTICAL ); + wxStaticBoxSizer* sbSizer7; + sbSizer7 = new wxStaticBoxSizer( new wxStaticBox( m_panelSettings, wxID_ANY, _("Tx Output") ), wxVERTICAL ); - wxBoxSizer* bSizer281; - bSizer281 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer281; + bSizer281 = new wxBoxSizer( wxVERTICAL ); - m_lbTxOutput = new wxListBox( m_panelSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); - bSizer281->Add( m_lbTxOutput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 ); + m_lbTxOutput = new wxListBox( m_panelSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); + bSizer281->Add( m_lbTxOutput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 ); - m_textTxOutput = new wxTextCtrl( m_panelSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizer281->Add( m_textTxOutput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 ); + m_textTxOutput = new wxTextCtrl( m_panelSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer281->Add( m_textTxOutput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 ); - sbSizer7->Add( bSizer281, 1, wxEXPAND, 5 ); + sbSizer7->Add( bSizer281, 1, wxEXPAND, 5 ); - bSizer271->Add( sbSizer7, 1, wxEXPAND, 6 ); + bSizer271->Add( sbSizer7, 1, wxEXPAND, 6 ); - bSizer27->Add( bSizer271, 1, wxEXPAND, 5 ); + bSizer27->Add( bSizer271, 1, wxEXPAND, 5 ); - wxBoxSizer* bSizer26; - bSizer26 = new wxBoxSizer( wxHORIZONTAL ); + wxBoxSizer* bSizer26; + bSizer26 = new wxBoxSizer( wxHORIZONTAL ); - wxStaticBoxSizer* sbSizer8; - sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( m_panelSettings, wxID_ANY, _("Voice Input") ), wxVERTICAL ); + wxStaticBoxSizer* sbSizer8; + sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( m_panelSettings, wxID_ANY, _("Voice Input") ), wxVERTICAL ); - wxBoxSizer* bSizer29; - bSizer29 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer29; + bSizer29 = new wxBoxSizer( wxVERTICAL ); - m_lbVoiceInput = new wxListBox( m_panelSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); - bSizer29->Add( m_lbVoiceInput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 ); + m_lbVoiceInput = new wxListBox( m_panelSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); + bSizer29->Add( m_lbVoiceInput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 ); - m_textVoiceInput = new wxTextCtrl( m_panelSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizer29->Add( m_textVoiceInput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 ); + m_textVoiceInput = new wxTextCtrl( m_panelSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer29->Add( m_textVoiceInput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 ); - sbSizer8->Add( bSizer29, 1, wxEXPAND, 5 ); + sbSizer8->Add( bSizer29, 1, wxEXPAND, 5 ); - bSizer26->Add( sbSizer8, 1, wxEXPAND, 6 ); + bSizer26->Add( sbSizer8, 1, wxEXPAND, 6 ); - wxStaticBoxSizer* sbSizer9; - sbSizer9 = new wxStaticBoxSizer( new wxStaticBox( m_panelSettings, wxID_ANY, _("Voice Output") ), wxVERTICAL ); + wxStaticBoxSizer* sbSizer9; + sbSizer9 = new wxStaticBoxSizer( new wxStaticBox( m_panelSettings, wxID_ANY, _("Voice Output") ), wxVERTICAL ); - wxBoxSizer* bSizer30; - bSizer30 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer30; + bSizer30 = new wxBoxSizer( wxVERTICAL ); - m_lbVoiceOutput = new wxListBox( m_panelSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); - bSizer30->Add( m_lbVoiceOutput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 ); + m_lbVoiceOutput = new wxListBox( m_panelSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); + bSizer30->Add( m_lbVoiceOutput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 ); - m_textVoiceOutput = new wxTextCtrl( m_panelSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizer30->Add( m_textVoiceOutput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 ); + m_textVoiceOutput = new wxTextCtrl( m_panelSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer30->Add( m_textVoiceOutput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 ); - sbSizer9->Add( bSizer30, 1, wxEXPAND, 1 ); + sbSizer9->Add( bSizer30, 1, wxEXPAND, 1 ); - bSizer26->Add( sbSizer9, 1, wxEXPAND, 6 ); + bSizer26->Add( sbSizer9, 1, wxEXPAND, 6 ); - bSizer27->Add( bSizer26, 1, wxEXPAND, 1 ); + bSizer27->Add( bSizer26, 1, wxEXPAND, 1 ); - m_panelSettings->SetSizer( bSizer27 ); - m_panelSettings->Layout(); - bSizer27->Fit( m_panelSettings ); - m_nbAudioOptions->AddPage( m_panelSettings, _("Settings"), false ); + m_panelSettings->SetSizer( bSizer27 ); + m_panelSettings->Layout(); + bSizer27->Fit( m_panelSettings ); + m_nbAudioOptions->AddPage( m_panelSettings, _("Settings"), false ); - bSizer32->Add( m_nbAudioOptions, 1, wxEXPAND | wxALL, 1 ); + bSizer32->Add( m_nbAudioOptions, 1, wxEXPAND | wxALL, 1 ); - wxBoxSizer* bSizer28; - bSizer28 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer28; + bSizer28 = new wxBoxSizer( wxVERTICAL ); - m_sdbSizer3 = new wxStdDialogButtonSizer(); - m_sdbSizer3OK = new wxButton( this, wxID_OK ); - m_sdbSizer3->AddButton( m_sdbSizer3OK ); - m_sdbSizer3Apply = new wxButton( this, wxID_APPLY ); - m_sdbSizer3->AddButton( m_sdbSizer3Apply ); - m_sdbSizer3Cancel = new wxButton( this, wxID_CANCEL ); - m_sdbSizer3->AddButton( m_sdbSizer3Cancel ); - m_sdbSizer3->Realize(); + m_sdbSizer3 = new wxStdDialogButtonSizer(); + m_sdbSizer3OK = new wxButton( this, wxID_OK ); + m_sdbSizer3->AddButton( m_sdbSizer3OK ); + m_sdbSizer3Apply = new wxButton( this, wxID_APPLY ); + m_sdbSizer3->AddButton( m_sdbSizer3Apply ); + m_sdbSizer3Cancel = new wxButton( this, wxID_CANCEL ); + m_sdbSizer3->AddButton( m_sdbSizer3Cancel ); + m_sdbSizer3->Realize(); - bSizer28->Add( m_sdbSizer3, 1, wxEXPAND, 5 ); + bSizer28->Add( m_sdbSizer3, 1, wxEXPAND, 5 ); - bSizer32->Add( bSizer28, 0, wxEXPAND, 5 ); + bSizer32->Add( bSizer28, 0, wxEXPAND, 5 ); - bSizer32->Add( 0, 15, 0, wxEXPAND, 5 ); + bSizer32->Add( 0, 15, 0, wxEXPAND, 5 ); - this->SetSizer( bSizer32 ); - this->Layout(); + this->SetSizer( bSizer32 ); + this->Layout(); - this->Centre( wxBOTH ); - this->Centre( wxBOTH ); + this->Centre( wxBOTH ); + this->Centre( wxBOTH ); - // Connect Events - this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAudio::OnClose ) ); - this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAudio::OnInitDialog ) ); - m_lbRxInput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnRxInputSelect ), NULL, this ); - m_lbTxOutput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnTxOutputSelect ), NULL, this ); - m_lbVoiceInput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceInputSelect ), NULL, this ); - m_lbVoiceOutput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceOutputSelect ), NULL, this ); - m_sdbSizer3Apply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnApply ), NULL, this ); - m_sdbSizer3Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnCancel ), NULL, this ); - m_sdbSizer3OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnOK ), NULL, this ); + // Connect Events + this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAudio::OnClose ) ); + this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAudio::OnInitDialog ) ); + m_lbRxInput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnRxInputSelect ), NULL, this ); + m_lbTxOutput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnTxOutputSelect ), NULL, this ); + m_lbVoiceInput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceInputSelect ), NULL, this ); + m_lbVoiceOutput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceOutputSelect ), NULL, this ); + m_sdbSizer3Apply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnApply ), NULL, this ); + m_sdbSizer3Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnCancel ), NULL, this ); + m_sdbSizer3OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnOK ), NULL, this ); } DlgAudio::~DlgAudio() { - // Disconnect Events - this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAudio::OnClose ) ); - this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAudio::OnInitDialog ) ); - m_lbRxInput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnRxInputSelect ), NULL, this ); - m_lbTxOutput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnTxOutputSelect ), NULL, this ); - m_lbVoiceInput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceInputSelect ), NULL, this ); - m_lbVoiceOutput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceOutputSelect ), NULL, this ); - m_sdbSizer3Apply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnApply ), NULL, this ); - m_sdbSizer3Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnCancel ), NULL, this ); - m_sdbSizer3OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnOK ), NULL, this ); + // Disconnect Events + this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAudio::OnClose ) ); + this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAudio::OnInitDialog ) ); + m_lbRxInput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnRxInputSelect ), NULL, this ); + m_lbTxOutput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnTxOutputSelect ), NULL, this ); + m_lbVoiceInput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceInputSelect ), NULL, this ); + m_lbVoiceOutput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceOutputSelect ), NULL, this ); + m_sdbSizer3Apply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnApply ), NULL, this ); + m_sdbSizer3Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnCancel ), NULL, this ); + m_sdbSizer3OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnOK ), NULL, this ); } DlgOptions::DlgOptions( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) { - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - wxBoxSizer* bSizer30; - bSizer30 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer30; + bSizer30 = new wxBoxSizer( wxVERTICAL ); - wxStaticBoxSizer* sbSizer5; - sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Config Options") ), wxHORIZONTAL ); + wxStaticBoxSizer* sbSizer5; + sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Config Options") ), wxHORIZONTAL ); - wxGridSizer* gSizer2; - gSizer2 = new wxGridSizer( 6, 2, 0, 0 ); + wxGridSizer* gSizer2; + gSizer2 = new wxGridSizer( 6, 2, 0, 0 ); - m_staticText2 = new wxStaticText( this, wxID_ANY, _("Option #1:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText2->Wrap( -1 ); - gSizer2->Add( m_staticText2, 1, wxALIGN_RIGHT|wxALL, 5 ); + m_staticText2 = new wxStaticText( this, wxID_ANY, _("Option #1:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText2->Wrap( -1 ); + gSizer2->Add( m_staticText2, 1, wxALIGN_RIGHT|wxALL, 5 ); - m_textCtrl3 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer2->Add( m_textCtrl3, 1, wxALL, 5 ); + m_textCtrl3 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer2->Add( m_textCtrl3, 1, wxALL, 5 ); - m_staticText3 = new wxStaticText( this, wxID_ANY, _("Option #2:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText3->Wrap( -1 ); - gSizer2->Add( m_staticText3, 1, wxALIGN_RIGHT|wxALL, 5 ); + m_staticText3 = new wxStaticText( this, wxID_ANY, _("Option #2:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText3->Wrap( -1 ); + gSizer2->Add( m_staticText3, 1, wxALIGN_RIGHT|wxALL, 5 ); - m_textCtrl4 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer2->Add( m_textCtrl4, 1, wxALL, 5 ); + m_textCtrl4 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer2->Add( m_textCtrl4, 1, wxALL, 5 ); - m_staticText4 = new wxStaticText( this, wxID_ANY, _("Option #3:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText4->Wrap( -1 ); - gSizer2->Add( m_staticText4, 1, wxALIGN_RIGHT|wxALL, 5 ); + m_staticText4 = new wxStaticText( this, wxID_ANY, _("Option #3:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText4->Wrap( -1 ); + gSizer2->Add( m_staticText4, 1, wxALIGN_RIGHT|wxALL, 5 ); - m_textCtrl5 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer2->Add( m_textCtrl5, 1, wxALL, 5 ); + m_textCtrl5 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer2->Add( m_textCtrl5, 1, wxALL, 5 ); - m_staticText5 = new wxStaticText( this, wxID_ANY, _("Option #4:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText5->Wrap( -1 ); - gSizer2->Add( m_staticText5, 1, wxALIGN_RIGHT|wxALL, 5 ); + m_staticText5 = new wxStaticText( this, wxID_ANY, _("Option #4:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText5->Wrap( -1 ); + gSizer2->Add( m_staticText5, 1, wxALIGN_RIGHT|wxALL, 5 ); - m_textCtrl6 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer2->Add( m_textCtrl6, 1, wxALL, 5 ); + m_textCtrl6 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer2->Add( m_textCtrl6, 1, wxALL, 5 ); - m_staticText6 = new wxStaticText( this, wxID_ANY, _("Option #5:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText6->Wrap( -1 ); - gSizer2->Add( m_staticText6, 1, wxALIGN_RIGHT|wxALL, 5 ); + m_staticText6 = new wxStaticText( this, wxID_ANY, _("Option #5:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText6->Wrap( -1 ); + gSizer2->Add( m_staticText6, 1, wxALIGN_RIGHT|wxALL, 5 ); - m_textCtrl7 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer2->Add( m_textCtrl7, 1, wxALL, 5 ); + m_textCtrl7 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer2->Add( m_textCtrl7, 1, wxALL, 5 ); - m_staticText7 = new wxStaticText( this, wxID_ANY, _("Option #6:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText7->Wrap( -1 ); - gSizer2->Add( m_staticText7, 1, wxALIGN_RIGHT|wxALL, 5 ); + m_staticText7 = new wxStaticText( this, wxID_ANY, _("Option #6:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText7->Wrap( -1 ); + gSizer2->Add( m_staticText7, 1, wxALIGN_RIGHT|wxALL, 5 ); - m_textCtrl8 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer2->Add( m_textCtrl8, 1, wxALL, 5 ); + m_textCtrl8 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer2->Add( m_textCtrl8, 1, wxALL, 5 ); - sbSizer5->Add( gSizer2, 1, wxEXPAND, 5 ); + sbSizer5->Add( gSizer2, 1, wxEXPAND, 5 ); - bSizer30->Add( sbSizer5, 1, wxEXPAND, 5 ); + bSizer30->Add( sbSizer5, 1, wxEXPAND, 5 ); - m_sdbSizer4 = new wxStdDialogButtonSizer(); - m_sdbSizer4OK = new wxButton( this, wxID_OK ); - m_sdbSizer4->AddButton( m_sdbSizer4OK ); - m_sdbSizer4Cancel = new wxButton( this, wxID_CANCEL ); - m_sdbSizer4->AddButton( m_sdbSizer4Cancel ); - m_sdbSizer4->Realize(); + m_sdbSizer4 = new wxStdDialogButtonSizer(); + m_sdbSizer4OK = new wxButton( this, wxID_OK ); + m_sdbSizer4->AddButton( m_sdbSizer4OK ); + m_sdbSizer4Cancel = new wxButton( this, wxID_CANCEL ); + m_sdbSizer4->AddButton( m_sdbSizer4Cancel ); + m_sdbSizer4->Realize(); - bSizer30->Add( m_sdbSizer4, 0, wxALIGN_RIGHT, 5 ); + bSizer30->Add( m_sdbSizer4, 0, wxALIGN_RIGHT, 5 ); - this->SetSizer( bSizer30 ); - this->Layout(); + this->SetSizer( bSizer30 ); + this->Layout(); - this->Centre( wxBOTH ); - this->Centre( wxBOTH ); + this->Centre( wxBOTH ); + this->Centre( wxBOTH ); - // Connect Events - this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgOptions::OnClose ) ); - this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgOptions::OnInitDialog ) ); + // Connect Events + this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgOptions::OnClose ) ); + this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgOptions::OnInitDialog ) ); } DlgOptions::~DlgOptions() { - // Disconnect Events - this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgOptions::OnClose ) ); - this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgOptions::OnInitDialog ) ); + // Disconnect Events + this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgOptions::OnClose ) ); + this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgOptions::OnInitDialog ) ); } DlgComPorts::DlgComPorts( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) { - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - wxBoxSizer* bSizer30; - bSizer30 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bSizer30; + bSizer30 = new wxBoxSizer( wxVERTICAL ); - wxGridSizer* gSizer3; - gSizer3 = new wxGridSizer( 6, 2, 0, 0 ); + wxGridSizer* gSizer3; + gSizer3 = new wxGridSizer( 6, 2, 0, 0 ); - m_staticText8 = new wxStaticText( this, wxID_ANY, _("Available Ports:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); - m_staticText8->Wrap( -1 ); - gSizer3->Add( m_staticText8, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); + m_staticText8 = new wxStaticText( this, wxID_ANY, _("Available Ports:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); + m_staticText8->Wrap( -1 ); + gSizer3->Add( m_staticText8, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); - m_listCtrlPortSelect = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ICON|wxLC_SINGLE_SEL ); - gSizer3->Add( m_listCtrlPortSelect, 2, wxALL|wxEXPAND, 2 ); + m_listCtrlPortSelect = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ICON|wxLC_SINGLE_SEL ); + gSizer3->Add( m_listCtrlPortSelect, 2, wxALL|wxEXPAND, 2 ); - m_staticText9 = new wxStaticText( this, wxID_ANY, _("Use Port:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); - m_staticText9->Wrap( -1 ); - gSizer3->Add( m_staticText9, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); + m_staticText9 = new wxStaticText( this, wxID_ANY, _("Use Port:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); + m_staticText9->Wrap( -1 ); + gSizer3->Add( m_staticText9, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); - m_textRigCtrlPort = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer3->Add( m_textRigCtrlPort, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); + m_textRigCtrlPort = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer3->Add( m_textRigCtrlPort, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); - m_staticText91 = new wxStaticText( this, wxID_ANY, _("Buad Rate:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); - m_staticText91->Wrap( -1 ); - gSizer3->Add( m_staticText91, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); + m_staticText91 = new wxStaticText( this, wxID_ANY, _("Buad Rate:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); + m_staticText91->Wrap( -1 ); + gSizer3->Add( m_staticText91, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); - m_textRigCtrlBaud = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer3->Add( m_textRigCtrlBaud, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); + m_textRigCtrlBaud = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer3->Add( m_textRigCtrlBaud, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); - m_staticText911 = new wxStaticText( this, wxID_ANY, _("Data Bits:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); - m_staticText911->Wrap( -1 ); - gSizer3->Add( m_staticText911, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); + m_staticText911 = new wxStaticText( this, wxID_ANY, _("Data Bits:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); + m_staticText911->Wrap( -1 ); + gSizer3->Add( m_staticText911, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); - m_textRigCtrlDatabits = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer3->Add( m_textRigCtrlDatabits, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); + m_textRigCtrlDatabits = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer3->Add( m_textRigCtrlDatabits, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); - m_staticText912 = new wxStaticText( this, wxID_ANY, _("Stop Bits:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); - m_staticText912->Wrap( -1 ); - gSizer3->Add( m_staticText912, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); + m_staticText912 = new wxStaticText( this, wxID_ANY, _("Stop Bits:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); + m_staticText912->Wrap( -1 ); + gSizer3->Add( m_staticText912, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); - m_textRigCtrlStopbits = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer3->Add( m_textRigCtrlStopbits, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); + m_textRigCtrlStopbits = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer3->Add( m_textRigCtrlStopbits, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); - m_staticText913 = new wxStaticText( this, wxID_ANY, _("Parity:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); - m_staticText913->Wrap( -1 ); - gSizer3->Add( m_staticText913, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); + m_staticText913 = new wxStaticText( this, wxID_ANY, _("Parity:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); + m_staticText913->Wrap( -1 ); + gSizer3->Add( m_staticText913, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 ); - m_textRigCtrlParity = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gSizer3->Add( m_textRigCtrlParity, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); + m_textRigCtrlParity = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + gSizer3->Add( m_textRigCtrlParity, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); - bSizer30->Add( gSizer3, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 ); + bSizer30->Add( gSizer3, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 ); - m_sdbSizer5 = new wxStdDialogButtonSizer(); - m_sdbSizer5OK = new wxButton( this, wxID_OK ); - m_sdbSizer5->AddButton( m_sdbSizer5OK ); - m_sdbSizer5Apply = new wxButton( this, wxID_APPLY ); - m_sdbSizer5->AddButton( m_sdbSizer5Apply ); - m_sdbSizer5Cancel = new wxButton( this, wxID_CANCEL ); - m_sdbSizer5->AddButton( m_sdbSizer5Cancel ); - m_sdbSizer5->Realize(); + m_sdbSizer5 = new wxStdDialogButtonSizer(); + m_sdbSizer5OK = new wxButton( this, wxID_OK ); + m_sdbSizer5->AddButton( m_sdbSizer5OK ); + m_sdbSizer5Apply = new wxButton( this, wxID_APPLY ); + m_sdbSizer5->AddButton( m_sdbSizer5Apply ); + m_sdbSizer5Cancel = new wxButton( this, wxID_CANCEL ); + m_sdbSizer5->AddButton( m_sdbSizer5Cancel ); + m_sdbSizer5->Realize(); - bSizer30->Add( m_sdbSizer5, 0, wxEXPAND, 5 ); + bSizer30->Add( m_sdbSizer5, 0, wxEXPAND, 5 ); - this->SetSizer( bSizer30 ); - this->Layout(); + this->SetSizer( bSizer30 ); + this->Layout(); - this->Centre( wxBOTH ); - this->Centre( wxBOTH ); + this->Centre( wxBOTH ); + this->Centre( wxBOTH ); - // Connect Events - this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgComPorts::OnInitDialog ) ); - m_sdbSizer5Apply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnApply ), NULL, this ); - m_sdbSizer5Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnCancel ), NULL, this ); - m_sdbSizer5OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnOK ), NULL, this ); - m_listCtrlPortSelect->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DlgComPorts::OnListItemSelected ), NULL, this ); + // Connect Events + this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgComPorts::OnInitDialog ) ); + m_sdbSizer5Apply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnApply ), NULL, this ); + m_sdbSizer5Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnCancel ), NULL, this ); + m_sdbSizer5OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnOK ), NULL, this ); + m_listCtrlPortSelect->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DlgComPorts::OnListItemSelected ), NULL, this ); } DlgComPorts::~DlgComPorts() { - // Disconnect Events - this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgComPorts::OnInitDialog ) ); - m_listCtrlPortSelect->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DlgComPorts::OnListItemSelected ), NULL, this ); - m_sdbSizer5Apply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnApply ), NULL, this ); - m_sdbSizer5Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnCancel ), NULL, this ); - m_sdbSizer5OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnOK ), NULL, this ); + // Disconnect Events + this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgComPorts::OnInitDialog ) ); + m_listCtrlPortSelect->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DlgComPorts::OnListItemSelected ), NULL, this ); + m_sdbSizer5Apply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnApply ), NULL, this ); + m_sdbSizer5Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnCancel ), NULL, this ); + m_sdbSizer5OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgComPorts::OnOK ), NULL, this ); } diff --git a/fdmdv2/src/topFrame.h b/fdmdv2/src/topFrame.h index 64f5327c..1595283e 100644 --- a/fdmdv2/src/topFrame.h +++ b/fdmdv2/src/topFrame.h @@ -58,79 +58,87 @@ /////////////////////////////////////////////////////////////////////////////// class TopFrame : public wxFrame { - private: - - protected: - wxMenuBar* m_menubarMain; - wxMenu* file; - wxMenu* edit; - wxMenu* tools; - wxMenu* help; - wxGauge* m_gaugeSNR; - wxTextCtrl* m_textSNR; - wxGauge* m_gaugeLevel; - wxTextCtrl* m_txtCtrl; - wxToggleButton* m_togRxID; - wxToggleButton* m_togTxID; - wxSlider* m_sliderSQ; - wxCheckBox* m_ckboxSQ; - wxToggleButton* m_togBtnOnOff; - wxToggleButton* m_togBtnSplit; - wxToggleButton* m_togBtnAnalog; - wxToggleButton* m_togBtnALC; - wxToggleButton* m_btnTogTX; - wxStatusBar* m_statusBar1; - - // Virtual event handlers, overide them in your derived class - virtual void topFrame_OnClose( wxCloseEvent& event ) { event.Skip(); } - virtual void topFrame_OnPaint( wxPaintEvent& event ) { event.Skip(); } - virtual void topFrame_OnSize( wxSizeEvent& event ) { event.Skip(); } - virtual void topFrame_OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnOpen( wxCommandEvent& event ) { event.Skip(); } - virtual void OnOpenUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnSave( wxCommandEvent& event ) { event.Skip(); } - virtual void OnSaveUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnClose( wxCommandEvent& event ) { event.Skip(); } - virtual void OnCloseUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnExit( wxCommandEvent& event ) { event.Skip(); } - virtual void OnCopy( wxCommandEvent& event ) { event.Skip(); } - virtual void OnCopyUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnCut( wxCommandEvent& event ) { event.Skip(); } - virtual void OnCutUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnPaste( wxCommandEvent& event ) { event.Skip(); } - virtual void OnPasteUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnToolsAudio( wxCommandEvent& event ) { event.Skip(); } - virtual void OnToolsAudioUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnToolsComCfg( wxCommandEvent& event ) { event.Skip(); } - virtual void OnToolsComCfgUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnToolsOptions( wxCommandEvent& event ) { event.Skip(); } - virtual void OnToolsOptionsUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnCaptureRxStream( wxCommandEvent& event ) { event.Skip(); } - virtual void OnCaptureTxStream( wxCommandEvent& event ) { event.Skip(); } - virtual void OnPlayAudioFile( wxCommandEvent& event ) { event.Skip(); } - virtual void OnHelpCheckUpdates( wxCommandEvent& event ) { event.Skip(); } - virtual void OnHelpCheckUpdatesUI( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void OnHelpAbout( wxCommandEvent& event ) { event.Skip(); } - virtual void OnTogBtnRxID( wxCommandEvent& event ) { event.Skip(); } - virtual void OnTogBtnTxID( wxCommandEvent& event ) { event.Skip(); } - virtual void OnCmdSliderScroll( wxScrollEvent& event ) { event.Skip(); } - virtual void OnSliderScrollBottom( wxScrollEvent& event ) { event.Skip(); } - virtual void OnCmdSliderScrollChanged( wxScrollEvent& event ) { event.Skip(); } - virtual void OnSliderScrollTop( wxScrollEvent& event ) { event.Skip(); } - virtual void OnCheckSQClick( wxCommandEvent& event ) { event.Skip(); } - virtual void OnTogBtnOnOff( wxCommandEvent& event ) { event.Skip(); } - virtual void OnTogBtnSplitClick( wxCommandEvent& event ) { event.Skip(); } - virtual void OnTogBtnAnalogClick( wxCommandEvent& event ) { event.Skip(); } - virtual void OnTogBtnALCClick( wxCommandEvent& event ) { event.Skip(); } - virtual void OnTogBtnTXClick( wxCommandEvent& event ) { event.Skip(); } - - - public: - wxAuiNotebook* m_auiNbookCtrl; - - TopFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("FDMDV2"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 761,500 ), long style = wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL ); - - ~TopFrame(); + private: + + protected: + wxMenuBar* m_menubarMain; + wxMenu* file; + wxMenu* edit; + wxMenu* tools; + wxMenu* help; + wxGauge* m_gaugeSNR; + wxTextCtrl* m_textSNR; + wxGauge* m_gaugeLevel; + wxTextCtrl* m_txtCtrl; + wxSlider* m_sliderSQ; + wxCheckBox* m_ckboxSQ; + wxStatusBar* m_statusBar1; + + // Virtual event handlers, overide them in your derived class + virtual void topFrame_OnClose( wxCloseEvent& event ) { event.Skip(); } + virtual void topFrame_OnPaint( wxPaintEvent& event ) { event.Skip(); } + virtual void topFrame_OnSize( wxSizeEvent& event ) { event.Skip(); } + virtual void topFrame_OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnOpen( wxCommandEvent& event ) { event.Skip(); } + virtual void OnOpenUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnSave( wxCommandEvent& event ) { event.Skip(); } + virtual void OnSaveUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnClose( wxCommandEvent& event ) { event.Skip(); } + virtual void OnCloseUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnExit( wxCommandEvent& event ) { event.Skip(); } + virtual void OnCopy( wxCommandEvent& event ) { event.Skip(); } + virtual void OnCopyUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnCut( wxCommandEvent& event ) { event.Skip(); } + virtual void OnCutUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnPaste( wxCommandEvent& event ) { event.Skip(); } + virtual void OnPasteUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnToolsAudio( wxCommandEvent& event ) { event.Skip(); } + virtual void OnToolsAudioUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnToolsComCfg( wxCommandEvent& event ) { event.Skip(); } + virtual void OnToolsComCfgUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnToolsOptions( wxCommandEvent& event ) { event.Skip(); } + virtual void OnToolsOptionsUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnCaptureRxStream( wxCommandEvent& event ) { event.Skip(); } + virtual void OnCaptureTxStream( wxCommandEvent& event ) { event.Skip(); } + virtual void OnPlayAudioFile( wxCommandEvent& event ) { event.Skip(); } + virtual void OnHelpCheckUpdates( wxCommandEvent& event ) { event.Skip(); } + virtual void OnHelpCheckUpdatesUI( wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnHelpAbout( wxCommandEvent& event ) { event.Skip(); } + virtual void OnTogBtnRxID( wxCommandEvent& event ) { event.Skip(); } + virtual void OnTogBtnTxID( wxCommandEvent& event ) { event.Skip(); } + virtual void OnCmdSliderScroll( wxScrollEvent& event ) { event.Skip(); } + virtual void OnSliderScrollBottom( wxScrollEvent& event ) { event.Skip(); } + virtual void OnCmdSliderScrollChanged( wxScrollEvent& event ) { event.Skip(); } + virtual void OnSliderScrollTop( wxScrollEvent& event ) { event.Skip(); } + virtual void OnCheckSQClick( wxCommandEvent& event ) { event.Skip(); } + virtual void OnTogBtnOnOff( wxCommandEvent& event ) { event.Skip(); } + virtual void OnTogBtnSplitClick( wxCommandEvent& event ) { event.Skip(); } + virtual void OnTogBtnAnalogClick( wxCommandEvent& event ) { event.Skip(); } + virtual void OnTogBtnALCClick( wxCommandEvent& event ) { event.Skip(); } + virtual void OnTogBtnTXClick( wxCommandEvent& event ) { event.Skip(); } + + virtual void OnTogBtnSplitClickUI(wxUpdateUIEvent& event) { event.Skip(); } + virtual void OnTogBtnAnalogClickUI(wxUpdateUIEvent& event) { event.Skip(); } + virtual void OnTogBtnALCClickUI(wxUpdateUIEvent& event) { event.Skip(); } + virtual void OnTogBtnRxIDUI(wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnTogBtnTxIDUI(wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnTogBtnTXClickUI(wxUpdateUIEvent& event ) { event.Skip(); } + virtual void OnTogBtnOnOffUI(wxUpdateUIEvent& event ) { event.Skip(); } + + public: + wxToggleButton* m_togRxID; + wxToggleButton* m_togTxID; + wxToggleButton* m_togBtnOnOff; + wxToggleButton* m_togBtnSplit; + wxToggleButton* m_togBtnAnalog; + wxToggleButton* m_togBtnALC; + wxToggleButton* m_btnTogTX; + + wxAuiNotebook* m_auiNbookCtrl; + + TopFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("FDMDV2"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 761,500 ), long style = wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL ); + + ~TopFrame(); }; @@ -139,23 +147,23 @@ class TopFrame : public wxFrame /////////////////////////////////////////////////////////////////////////////// class DlgAbout : public wxDialog { - private: + private: - protected: - wxStaticBitmap* m_bitmapAbout; - wxStaticText* m_staticText1; - wxTextCtrl* m_textCtrl2; - wxButton* m_button9; + protected: + wxStaticBitmap* m_bitmapAbout; + wxStaticText* m_staticText1; + wxTextCtrl* m_textCtrl2; + wxButton* m_button9; - // Virtual event handlers, overide them in your derived class - virtual void OnClose( wxCloseEvent& event ) { event.Skip(); } - virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); } + // Virtual event handlers, overide them in your derived class + virtual void OnClose( wxCloseEvent& event ) { event.Skip(); } + virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); } - public: + public: - DlgAbout( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About FDMDV2"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 352,343 ), long style = wxDEFAULT_DIALOG_STYLE ); - ~DlgAbout(); + DlgAbout( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About FDMDV2"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 352,343 ), long style = wxDEFAULT_DIALOG_STYLE ); + ~DlgAbout(); }; @@ -164,55 +172,55 @@ class DlgAbout : public wxDialog /////////////////////////////////////////////////////////////////////////////// class DlgAudio : public wxDialog { - private: - - protected: - wxNotebook* m_nbAudioOptions; - wxPanel* m_panelDevices; - wxRadioButton* m_radioBtnPortAudio; - wxStaticText* m_staticText151; - wxTextCtrl* m_textNumChOut; - wxStaticText* m_staticText141; - wxTextCtrl* m_textNumChIn; - wxStaticText* m_staticText14; - wxComboBox* m_comboAudioCodec; - wxStaticText* m_staticText15; - wxComboBox* m_comboCodecTx; - wxStaticText* m_staticText16; - wxComboBox* m_comboRadioRx; - wxStaticText* m_staticText17; - wxComboBox* m_comboCodecSpkr; - wxRadioButton* m_radioBtnFileOnly; - wxPanel* m_panelSettings; - wxListBox* m_lbRxInput; - wxTextCtrl* m_textRxInput; - wxListBox* m_lbTxOutput; - wxTextCtrl* m_textTxOutput; - wxListBox* m_lbVoiceInput; - wxTextCtrl* m_textVoiceInput; - wxListBox* m_lbVoiceOutput; - wxTextCtrl* m_textVoiceOutput; - wxStdDialogButtonSizer* m_sdbSizer3; - wxButton* m_sdbSizer3OK; - wxButton* m_sdbSizer3Apply; - wxButton* m_sdbSizer3Cancel; - - // Virtual event handlers, overide them in your derived class - virtual void OnClose( wxCloseEvent& event ) { event.Skip(); } - virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); } - virtual void OnRxInputSelect( wxCommandEvent& event ) { event.Skip(); } - virtual void OnTxOutputSelect( wxCommandEvent& event ) { event.Skip(); } - virtual void OnVoiceInputSelect( wxCommandEvent& event ) { event.Skip(); } - virtual void OnVoiceOutputSelect( wxCommandEvent& event ) { event.Skip(); } - virtual void OnApply( wxCommandEvent& event ) { event.Skip(); } - virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); } - virtual void OnOK( wxCommandEvent& event ) { event.Skip(); } - - - public: - - DlgAudio( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Audio Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 555,419 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); - ~DlgAudio(); + private: + + protected: + wxNotebook* m_nbAudioOptions; + wxPanel* m_panelDevices; + wxRadioButton* m_radioBtnPortAudio; + wxStaticText* m_staticText151; + wxTextCtrl* m_textNumChOut; + wxStaticText* m_staticText141; + wxTextCtrl* m_textNumChIn; + wxStaticText* m_staticText14; + wxComboBox* m_comboAudioCodec; + wxStaticText* m_staticText15; + wxComboBox* m_comboCodecTx; + wxStaticText* m_staticText16; + wxComboBox* m_comboRadioRx; + wxStaticText* m_staticText17; + wxComboBox* m_comboCodecSpkr; + wxRadioButton* m_radioBtnFileOnly; + wxPanel* m_panelSettings; + wxListBox* m_lbRxInput; + wxTextCtrl* m_textRxInput; + wxListBox* m_lbTxOutput; + wxTextCtrl* m_textTxOutput; + wxListBox* m_lbVoiceInput; + wxTextCtrl* m_textVoiceInput; + wxListBox* m_lbVoiceOutput; + wxTextCtrl* m_textVoiceOutput; + wxStdDialogButtonSizer* m_sdbSizer3; + wxButton* m_sdbSizer3OK; + wxButton* m_sdbSizer3Apply; + wxButton* m_sdbSizer3Cancel; + + // Virtual event handlers, overide them in your derived class + virtual void OnClose( wxCloseEvent& event ) { event.Skip(); } + virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); } + virtual void OnRxInputSelect( wxCommandEvent& event ) { event.Skip(); } + virtual void OnTxOutputSelect( wxCommandEvent& event ) { event.Skip(); } + virtual void OnVoiceInputSelect( wxCommandEvent& event ) { event.Skip(); } + virtual void OnVoiceOutputSelect( wxCommandEvent& event ) { event.Skip(); } + virtual void OnApply( wxCommandEvent& event ) { event.Skip(); } + virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); } + virtual void OnOK( wxCommandEvent& event ) { event.Skip(); } + + + public: + + DlgAudio( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Audio Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 555,419 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); + ~DlgAudio(); }; @@ -221,34 +229,34 @@ class DlgAudio : public wxDialog /////////////////////////////////////////////////////////////////////////////// class DlgOptions : public wxDialog { - private: - - protected: - wxStaticText* m_staticText2; - wxTextCtrl* m_textCtrl3; - wxStaticText* m_staticText3; - wxTextCtrl* m_textCtrl4; - wxStaticText* m_staticText4; - wxTextCtrl* m_textCtrl5; - wxStaticText* m_staticText5; - wxTextCtrl* m_textCtrl6; - wxStaticText* m_staticText6; - wxTextCtrl* m_textCtrl7; - wxStaticText* m_staticText7; - wxTextCtrl* m_textCtrl8; - wxStdDialogButtonSizer* m_sdbSizer4; - wxButton* m_sdbSizer4OK; - wxButton* m_sdbSizer4Cancel; - - // Virtual event handlers, overide them in your derived class - virtual void OnClose( wxCloseEvent& event ) { event.Skip(); } - virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); } - - - public: - - DlgOptions( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Program Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 332,364 ), long style = wxDEFAULT_DIALOG_STYLE ); - ~DlgOptions(); + private: + + protected: + wxStaticText* m_staticText2; + wxTextCtrl* m_textCtrl3; + wxStaticText* m_staticText3; + wxTextCtrl* m_textCtrl4; + wxStaticText* m_staticText4; + wxTextCtrl* m_textCtrl5; + wxStaticText* m_staticText5; + wxTextCtrl* m_textCtrl6; + wxStaticText* m_staticText6; + wxTextCtrl* m_textCtrl7; + wxStaticText* m_staticText7; + wxTextCtrl* m_textCtrl8; + wxStdDialogButtonSizer* m_sdbSizer4; + wxButton* m_sdbSizer4OK; + wxButton* m_sdbSizer4Cancel; + + // Virtual event handlers, overide them in your derived class + virtual void OnClose( wxCloseEvent& event ) { event.Skip(); } + virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); } + + + public: + + DlgOptions( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Program Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 332,364 ), long style = wxDEFAULT_DIALOG_STYLE ); + ~DlgOptions(); }; @@ -257,28 +265,28 @@ class DlgOptions : public wxDialog /////////////////////////////////////////////////////////////////////////////// class DlgComPorts : public wxDialog { - private: - - protected: - wxStaticText* m_staticText8; - wxListCtrl* m_listCtrlPortSelect; - wxStaticText* m_staticText9; - wxTextCtrl* m_textRigCtrlPort; - wxStaticText* m_staticText91; - wxTextCtrl* m_textRigCtrlBaud; - wxStaticText* m_staticText911; - wxTextCtrl* m_textRigCtrlDatabits; - wxStaticText* m_staticText912; - wxTextCtrl* m_textRigCtrlStopbits; - wxStaticText* m_staticText913; - wxTextCtrl* m_textRigCtrlParity; - wxStdDialogButtonSizer* m_sdbSizer5; - wxButton* m_sdbSizer5OK; - wxButton* m_sdbSizer5Apply; - wxButton* m_sdbSizer5Cancel; - - // Virtual event handlers, overide them in your derived class - virtual void OnListItemSelected( wxListEvent& event ) { event.Skip(); } + private: + + protected: + wxStaticText* m_staticText8; + wxListCtrl* m_listCtrlPortSelect; + wxStaticText* m_staticText9; + wxTextCtrl* m_textRigCtrlPort; + wxStaticText* m_staticText91; + wxTextCtrl* m_textRigCtrlBaud; + wxStaticText* m_staticText911; + wxTextCtrl* m_textRigCtrlDatabits; + wxStaticText* m_staticText912; + wxTextCtrl* m_textRigCtrlStopbits; + wxStaticText* m_staticText913; + wxTextCtrl* m_textRigCtrlParity; + wxStdDialogButtonSizer* m_sdbSizer5; + wxButton* m_sdbSizer5OK; + wxButton* m_sdbSizer5Apply; + wxButton* m_sdbSizer5Cancel; + + // Virtual event handlers, overide them in your derived class + virtual void OnListItemSelected( wxListEvent& event ) { event.Skip(); } virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); } virtual void OnOK( wxCommandEvent& event ) { event.Skip(); } virtual void OnClose( wxCloseEvent& event ) { event.Skip(); } @@ -286,10 +294,10 @@ class DlgComPorts : public wxDialog virtual void OnApply( wxCommandEvent& event ) { event.Skip(); } - public: + public: - DlgComPorts( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select Com Port"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 399,354 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); - ~DlgComPorts(); + DlgComPorts( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select Com Port"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 399,354 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); + ~DlgComPorts(); }; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/blank.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/blank.ico new file mode 100644 index 00000000..accc4cc8 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/blank.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/inArrow.ICO b/fdmdv2/tests/pa_enum/Release/bitmaps/inArrow.ICO new file mode 100644 index 00000000..cc7c9176 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/inArrow.ICO differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/inArrow16x16.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/inArrow16x16.ico new file mode 100644 index 00000000..6ed297b4 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/inArrow16x16.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/inArrow32x32.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/inArrow32x32.ico new file mode 100644 index 00000000..ffc748e9 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/inArrow32x32.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow.ICO b/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow.ICO new file mode 100644 index 00000000..b8b46ea5 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow.ICO differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow16x16.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow16x16.ico new file mode 100644 index 00000000..dffb649e Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow16x16.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow16x16.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow16x16.xpm new file mode 100644 index 00000000..9a33ea53 --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow16x16.xpm @@ -0,0 +1,23 @@ +/* XPM */ +static char * outArrow16x16_xpm[] = { +"16 16 4 1", +" c None", +". c #C0C0C0", +"+ c #808080", +"@ c #000000", +" ", +" ", +" . ", +" .. ", +" ... ", +" .... ", +".............. ", +"+.............. ", +"+++.............", +"++++@@@@@@@@@@@@", +"+++@@@@@@@@@@@@@", +"++@@@@@@@@@@@@@ ", +" @@@@ ", +" @@@ ", +" @@ ", +" @ "}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow32x32.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow32x32.ico new file mode 100644 index 00000000..42f8e3a2 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/outArrow32x32.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/sample.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/sample.ico new file mode 100644 index 00000000..435cca24 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/sample.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/small1.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/small1.ico new file mode 100644 index 00000000..4cac633c Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/small1.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/small1.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/small1.xpm new file mode 100644 index 00000000..650f1b1e --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/small1.xpm @@ -0,0 +1,28 @@ +/* XPM */ +static const char *const small1_xpm[] = { +/* columns rows colors chars-per-pixel */ +"16 16 6 1", +". c Black", +"o c #FFFFFF", +"X c #000080", +"O c #FFFF00", +" c None", +"+ c #FF0000", +/* pixels */ +" ", +" ", +" ", +" ....... ", +" .XXXXX. ", +" .oXXXX. ", +" .oXXX.......", +".....oXXX.OOOOO.", +".+++.XXXX.oOOOO.", +".o++......oOOOO.", +".o++++. .oOOOO.", +".o++++. .OOOOO.", +".+++++. .......", +"....... ", +" ", +" " +}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolbrai.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/toolbrai.ico new file mode 100644 index 00000000..99069f7c Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/toolbrai.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolbrai.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/toolbrai.xpm new file mode 100644 index 00000000..7dc20afc --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/toolbrai.xpm @@ -0,0 +1,42 @@ +/* XPM */ +static const char *const toolbrai_xpm[] = { +/* width height ncolors chars_per_pixel */ +"32 32 4 1", +/* colors */ +" s None c None", +". c #000080", +"+ c #ff0000", +"@ c #00ffff", +/* pixels */ +" ", +" ", +" ..... ", +" ..... .+++++. ", +" .+++++. .+++++. ", +" .+++++++. .+++++. ", +" .+++++. ..... ", +" ..... @ ", +" @ @ ", +" @ @ ", +" @ @ ", +" @ ..... ", +" ..+++++.. ", +" .+++++++++. ", +" .+++++++++. ", +" .+++++++++. ", +" @..+++++.. ", +" @ .....@ ", +" @ @ @ ", +" @ @ @ ...... ", +" @ @ @.++++++. ", +" @ @ .++++++. ", +" @ @ .++++++. ", +" ...... @ .++++++. ", +" .++++++. @ ...... ", +" .++++++. .... ", +" .++++++. .++++. ", +" .++++++. .++++. ", +" ...... .++++. ", +" .++++. ", +" .... ", +" "}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolchar.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/toolchar.ico new file mode 100644 index 00000000..cec94e6b Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/toolchar.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolchar.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/toolchar.xpm new file mode 100644 index 00000000..0f1ac793 --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/toolchar.xpm @@ -0,0 +1,42 @@ +/* XPM */ +static const char *const toolchar_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 4 1", +". c Black", +"X c #FFFF00", +" c None", +"o c #C00000", +/* pixels */ +" ", +" ..... ", +" ...XXXXX... ", +" ..XXXXXXXXXXX.. ", +" .XXXXXXXXXXXXXXX. ", +" ..XXXXXXXXXXXXXXXXX.. ", +" .XXXXXXXXXXXXXXXXXXXX. ", +" .XXXXXX.XXXXXXX.XXXXXX. ", +" .XXXXXX.X.XXXXX.X.XXXXXX. ", +" .XXXXX.XXX.XXX.XXX.XXXXXX. ", +" .XXXXX.XXXXXXXXXXXXX.XXXXX. ", +" .XXXXXXXX.XXXXXXX.XXXXXXXX. ", +" .XXXXXXXX.XXXXXXX.XXXXXXXX. ", +" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ", +" .XXXXXXX.XXXXXXXXXXX.XXXXXXX. ", +" .XXXXXX...XXXXXXX...XXXXXX. ", +" .XXXXXX.oo..XXX..oo.XXXXXX. ", +" .XXXXXXX.ooo...ooo.XXXXXXX. ", +" .XXXXXXX.ooooooo.XXXXXXXX. ", +" .XXXXXXXX..ooo..XXXXXXXX. ", +" .XXXXXXXXX...XXXXXXXXX. ", +" .XXXXXXXXXXXXXXXXXXXX. ", +" ..XXXXXXXXXXXXXXXXX.. ", +" .XXXXXXXXXXXXXXX. ", +" ..XXXXXXXXXXX.. ", +" ...XXXXX... ", +" ..... ", +" ", +" " +}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolchec.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/toolchec.ico new file mode 100644 index 00000000..1989d57e Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/toolchec.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolchec.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/toolchec.xpm new file mode 100644 index 00000000..90951a72 --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/toolchec.xpm @@ -0,0 +1,54 @@ +/* XPM */ +static const char *const toolchec_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 16 1", +"X c Black", +". c #4B4B4B", +"% c #696969", +": c #353535", +"o c #181818", +"O c #CCCCCC", +"@ c #0B0B0B", +" c None", +"+ c #292929", +"= c #383838", +"; c #747474", +"# c #8B8B8B", +"& c #A9A9A9", +"- c #575757", +"* c #B2B2B2", +"$ c #959595", +/* pixels */ +" ", +" ", +" .XX ", +" oXXO ", +" .XX+ ", +" oXX@# ", +" oXX@ ", +" oXX# ", +" @XX$ ", +" oXX$ ", +" oXX. ", +" +XXX ", +" %XXX ", +" &XXX* ", +" .XXX= ", +" XXXo ", +" . @XXX ", +" -XXo +XXX. ", +" XXXXX; $XXXX ", +" .+XXXXX XXXX. ", +" +XXXX= XXXX= ", +" @XXXX *XXXX ", +" XXXX$XXXX$ ", +" +XXXXXXXX ", +" XXXXXXX. ", +" oXXXXX: ", +" ;XXXXX. ", +" XXXX# ", +" @XX ", +" = ", +" ", +" " +}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/tooldata.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/tooldata.ico new file mode 100644 index 00000000..ed7ebbe5 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/tooldata.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/tooldata.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/tooldata.xpm new file mode 100644 index 00000000..d8f7d4c8 --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/tooldata.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static const char *const tooldata_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 3 1", +" c Black", +"X c #FFFFFF", +". c #C0C0C0", +/* pixels */ +" ", +" ", +" ............................ ", +" ............................ ", +" .. .. .. .. ", +" .. .. .. .. ", +" ............................ ", +" ............................ ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XX XX XX XX ", +" XX XX XX XX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XX XX XX XX ", +" XX XX XX XX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XX XX XX XX ", +" XX XX XX XX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XX XX XX XX ", +" XX XX XX XX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XX XX XX XX ", +" XX XX XX XX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" ", +" " +}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolgame.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/toolgame.ico new file mode 100644 index 00000000..b3d6190b Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/toolgame.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolgame.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/toolgame.xpm new file mode 100644 index 00000000..7488bd8c --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/toolgame.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static const char *const toolgame_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 3 1", +"X c #808080", +" c None", +". c #FF0000", +/* pixels */ +" ", +" ", +" ", +" ", +" .. ", +" .... ", +" ...... ", +" ........ ", +" .......... ", +" ............ ", +" .............. ", +" ................ ", +" .................. ", +" .................... ", +" ...................... ", +" ........................ ", +" .......................... ", +" ........................X ", +" ......................X ", +" ....................X ", +" ..................X ", +" ................X ", +" ..............X ", +" ............X ", +" ..........X ", +" ........X ", +" ......X ", +" ....X ", +" ..X ", +" ", +" ", +" " +}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolnote.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/toolnote.ico new file mode 100644 index 00000000..ff0ec28b Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/toolnote.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolnote.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/toolnote.xpm new file mode 100644 index 00000000..e86035cb --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/toolnote.xpm @@ -0,0 +1,43 @@ +/* XPM */ +static const char *const toolnote_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 5 1", +"O c Black", +"o c #FFFFFF", +". c #808080", +" c None", +"X c #C0C0C0", +/* pixels */ +" ", +" ", +" ", +" . . . . . ", +" XXX.XX.XX.XX.XX.XXX ", +" Xoo.oo.oo.oo.oo.ooX ", +" XoooooooooooooooooX. ", +" XooOOO..OOOO.OOOooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XooOOOOOOoooooooooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XooOOO.OOOOOOOooooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XooOOOOOO.OOOoooooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XooOO.OOOO.OOOOOooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XooOOO.OOOOO.OOOOoX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XXXXXXXXXXXXXXXXXXX. ", +" .................. ", +" ", +" ", +" ", +" " +}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/tooltime.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/tooltime.ico new file mode 100644 index 00000000..141bcaa5 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/tooltime.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/tooltime.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/tooltime.xpm new file mode 100644 index 00000000..f75477d9 --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/tooltime.xpm @@ -0,0 +1,42 @@ +/* XPM */ +static const char *const tooltime_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 4 1", +". c Black", +"o c #FFFFFF", +" c None", +"X c #C0C0C0", +/* pixels */ +" ", +" ", +" ", +" ", +" ..... ", +" ...XX.oo... ", +" .XXXoo.ooooo. ", +" ..Xoooooooooooo.. ", +" .Xoooooo.ooooooo. ", +" .Xooooooo.Xooooooo. ", +" .Xoooooooo.Xoooooooo. ", +" .Xoooooooo.Xoooooooo. ", +" .Xoooooooo.Xoooooooo. ", +" .Xooooooooo.Xooooooooo. ", +" .Xooooooooo.Xooooooooo.X ", +" ...oo.......Xooooooo...X ", +" .oooooXXXXXXXooooooooo.X ", +" .ooooooooooooooooooooo.X ", +" .ooooooooooooooooooo.XX ", +" .ooooooooooooooooooo.XX ", +" .ooooooooooooooooooo.X ", +" .ooooooooooooooooo.XX ", +" .ooooooooooooooo.XX ", +" ..ooooooooooooo..X ", +" .ooooo.ooooo.XX ", +" ...oo.oo...XX ", +" XX.....XXXX ", +" XXXXXXX ", +" ", +" ", +" ", +" " +}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/tooltodo.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/tooltodo.ico new file mode 100644 index 00000000..6b93a945 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/tooltodo.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/tooltodo.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/tooltodo.xpm new file mode 100644 index 00000000..9ba1e31a --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/tooltodo.xpm @@ -0,0 +1,194 @@ +/* XPM */ +static const char *const tooltodo_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 156 2", +"0 c #A08020", +"+. c #D0C066", +"q c #A08022", +"T c #98752D", +"6. c #D0C072", +"w c #A88B28", +"@. c #987540", +"l c #A08037", +"~ c #A0803F", +"4. c #A08048", +"7 c #808080", +"m c #704012", +"P c #704013", +"] c #704014", +"B c #704016", +"{ c #704017", +":. c #704019", +"k c #70401B", +"A c #70401C", +"W c #70401D", +".. c #70401E", +"F c #70401F", +"1. c #704020", +"H c #704022", +"s c #EFEA37", +") c #704024", +"5. c #704025", +"} c #784B1E", +"z c #784B22", +"2. c #784B26", +"/ c #784B28", +"Y c #EFEA55", +"N c #E0D547", +"D c #EFEA6C", +"X. c #EFEA70", +"o. c #EFEA74", +"R c #E0D554", +"| c #E0D558", +"#. c #EFEA83", +"y c #E8E05D", +"3. c #E0D570", +"x c #E8E069", +"G c #BFAA57", +"J c #BFAA5D", +">. c #B0953D", +" c None", +"<. c #B8A04D", +"^ c #B8A052", +"X c #FFFF30", +"o c #FFFF34", +"O c #FFFF38", +"+ c #FFFF3C", +"b c #FFFF40", +"@ c #FFFF41", +"' c #FFFF43", +"n c #FFFF44", +"# c #FFFF45", +"*. c #FFFF47", +"L c #FFFF48", +"$ c #FFFF49", +"8. c #FFFF4B", +"M c #FFFF4C", +"V c #906B27", +"% c #FFFF4D", +"p. c #FFFF4F", +"I c #FFFF50", +"& c #FFFF51", +"a. c #FFFF53", +"U c #FFFF54", +"e c #FFFF55", +"* c #FFFF56", +"g. c #FFFF57", +"[ c #FFFF58", +"r c #FFFF59", +"= c #FFFF5A", +"l. c #FFFF5B", +". c #C0C0C0", +"-. c #FFFF5C", +"j c #FFFF5D", +"- c #FFFF5E", +"b. c #FFFF5F", +"9. c #FFFF60", +"C c #FFFF61", +"; c #FFFF62", +"n. c #FFFF63", +"0. c #FFFF64", +": c #FFFF66", +"N. c #FFFF67", +"s. c #FFFF68", +"E c #FFFF69", +"Z c #FFFF6A", +"> c #FFFF6B", +"h. c #FFFF6C", +" . c #FFFF6D", +"u c #FFFF6E", +", c #FFFF6F", +"z. c #FFFF70", +",. c #FFFF71", +"S c #FFFF72", +"< c #FFFF73", +"x. c #FFFF74", +"q. c #FFFF75", +"Q c #FFFF76", +"f c #602B0B", +"1 c #FFFF77", +"m. c #FFFF78", +"w. c #FFFF79", +"! c #FFFF7A", +"2 c #FFFF7B", +"B. c #FFFF7C", +"d. c #FFFF7D", +"e. c #FFFF7E", +"i c #FFFF7F", +"3 c #FFFF80", +"j. c #FFFF81", +"r. c #FFFF82", +"p c #FFFF83", +"4 c #FFFF84", +"c. c #FFFF85", +"k. c #FFFF86", +"c c #FFFF87", +"5 c #FFFF88", +"v. c #FFFF89", +"y. c #FFFF8A", +"( c #FFFF8B", +"6 c #FFFF8C", +"t. c #FFFF8D", +"u. c #FFFF8E", +"O. c #68361C", +"a c #FFFF90", +"V. c #FFFF91", +"f. c #FFFF92", +"$. c #68361F", +"_ c #FFFF93", +"v c #FFFF94", +"Z. c #FFFF95", +"M. c #FFFF96", +"%. c #FFFF97", +"K c #FFFF98", +"A. c #FFFF99", +"C. c #FFFF9A", +"7. c #FFFF9B", +"` c #FFFF9C", +"D. c #FFFF9D", +"S. c #FFFF9E", +"i. c #FFFF9F", +"&. c #FFFFA0", +"F. c #FFFFA1", +"8 c #D0C02A", +"d c #D0C030", +"g c #D0C036", +"h c #D0C03A", +";. c #C8B545", +"t c #C8B548", +"=. c #987527", +"9 c #A0801E", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" . . . . . . . . . . . . . . . . . . . . . . . . . ", +" . X o O + @ # $ % & * = - ; : > , < 1 2 3 4 5 6 . 7 ", +" . o 8 9 0 q w % & e r - ; t y u < 1 2 i p 5 6 a . 7 ", +" . O s d f g h & e r j ; : k l z x 2 i p c 6 a v . 7 ", +" . + b n m M & N B V C : Z A S D F i G H J a v K . 7 ", +" . b n L P I U B Y T R E u W Q ! ~ ^ / ( ) _ K ` . 7 ", +" . ' L M ] U [ { C } | .S ..X.o.O.+.@.#.$.%.` &.. 7 ", +" . *.M I =.[ -.;.:.>. .,.Q <.1.2.3.( 4.5.6.7.&.. . 7 ", +" . 8.I U [ -.9.0.E .,.q.w.e.r.t.y.u._ %.7.i.. . . 7 ", +" . p.a.[ -.9.0.s. .,.q.w.d.r.t.t.u.f.%.7.. . . o . 7 ", +" . a.g.-.9.0.s.h.,.q.w.d.j.k.y.t.. . . . . o o . 7 ", +" . g.l.9.0.s.h.z.x.w.d.j.c.v.u.f.. o o o o o . 7 ", +" . l.b.n.s.h.z.x.m.d.j.c.v.t.f.M.. o o o o . 7 ", +" . b.n.N.h.z.x.m.B.j.c.v.t.V.M.C.. o o o . 7 ", +" . n.N.> z.x.m.B.3 4 v.t.V.Z.A.S.. o o . 7 ", +" . N.> , < m.B.3 4 5 t.V.Z.A.D.. o o . 7 ", +" . > , < 1 B.3 4 5 6 V.Z.A.D.. . o . 7 ", +" . , < 1 2 3 4 5 6 a v A.D.F.. o . 7 ", +" . < 1 2 i p 5 6 a v K D.F.. o . 7 ", +" . . . . . . . . . . . . . . . 7 ", +" 7 7 7 7 7 7 7 7 7 7 7 7 7 7 ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolword.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/toolword.ico new file mode 100644 index 00000000..a1a8838c Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/toolword.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/toolword.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/toolword.xpm new file mode 100644 index 00000000..b2e96a12 --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/toolword.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static const char *const toolword_xpm[] = { +/* width height ncolors chars_per_pixel */ +"32 32 3 1", +/* colors */ +" s None c None", +". c #000000", +"+ c #ffffff", +/* pixels */ +" ", +" ", +" ........ ........ ", +" .++++++. ...........++++++. ", +" .++++++. .++++++++..++++++. ", +" ........ .++++++++......... ", +" .++++++++. ", +" .......... ", +" ", +" ", +" ", +" ..... ", +"...... ......... .+++. .........", +".++++. .+++++++. .+++. .+++++++.", +".++++. .+++++++. .+++. .+++++++.", +".++++. .+++++++. ..... .+++++++.", +"...... ......... .........", +" ", +" ", +" ", +" ", +" .......... ", +" .. .++++++++. ", +" .++. .++++++++. ", +" .++++. .++++++++. ", +" .++++. .......... ", +" ...........+++. ", +" .++++++++. .+. ", +" .++++++++. . ", +" .......... ", +" ", +" "}; diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/transparent.ico b/fdmdv2/tests/pa_enum/Release/bitmaps/transparent.ico new file mode 100644 index 00000000..eeba3067 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/bitmaps/transparent.ico differ diff --git a/fdmdv2/tests/pa_enum/Release/bitmaps/transparent.xpm b/fdmdv2/tests/pa_enum/Release/bitmaps/transparent.xpm new file mode 100644 index 00000000..01f4737d --- /dev/null +++ b/fdmdv2/tests/pa_enum/Release/bitmaps/transparent.xpm @@ -0,0 +1,36 @@ +/* XPM */ +static char * transparent_xpm[] = { +"32 32 1 1", +" c None", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; diff --git a/fdmdv2/tests/pa_enum/Release/libgcc_s_dw2-1.dll b/fdmdv2/tests/pa_enum/Release/libgcc_s_dw2-1.dll new file mode 100644 index 00000000..8870ba74 Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/libgcc_s_dw2-1.dll differ diff --git a/fdmdv2/tests/pa_enum/Release/libstdc++-6.dll b/fdmdv2/tests/pa_enum/Release/libstdc++-6.dll new file mode 100644 index 00000000..f8e6c78a Binary files /dev/null and b/fdmdv2/tests/pa_enum/Release/libstdc++-6.dll differ