From c67dbbeff562490c09a002c9a5f840b08e18487f Mon Sep 17 00:00:00 2001 From: wittend99 Date: Mon, 8 Oct 2012 13:29:38 +0000 Subject: [PATCH] Receive side connected, segfault still to be tracked down. git-svn-id: https://svn.code.sf.net/p/freetel/code@739 01035d8c-6547-0410-b346-abe4f91aad63 --- fdmdv2/build/fdmdv2.mk | 2 +- fdmdv2/build/fdmdv2.project | 1 + fdmdv2/build/fdmdv2.workspace | 8 +- fdmdv2/src/dlg_comports.cpp | 17 +- fdmdv2/src/dlg_comports.h | 17 +- fdmdv2/src/fdmdv2_hdw_ports.cpp | 87 ++- fdmdv2/src/fdmdv2_hdw_ports.h | 34 +- fdmdv2/src/fdmdv2_main.cpp | 433 +++++++---- fdmdv2/src/fdmdv2_main.h | 63 +- fdmdv2/src/fdmdv2_plot_spectrum.cpp | 2 +- fdmdv2/src/fdmdv2_plot_waterfall.cpp | 9 +- fdmdv2/src/topFrame.cpp | 1042 +++++++++++++------------- 12 files changed, 977 insertions(+), 738 deletions(-) diff --git a/fdmdv2/build/fdmdv2.mk b/fdmdv2/build/fdmdv2.mk index ae75caba..ffac947d 100644 --- a/fdmdv2/build/fdmdv2.mk +++ b/fdmdv2/build/fdmdv2.mk @@ -13,7 +13,7 @@ CurrentFileName := CurrentFilePath := CurrentFileFullPath := User :=OFA-Staff -Date :=10/6/2012 +Date :=10/7/2012 CodeLitePath :="C:\bin\CodeLite" LinkerName :=g++ SharedObjectLinkerName :=g++ -shared -fPIC diff --git a/fdmdv2/build/fdmdv2.project b/fdmdv2/build/fdmdv2.project index 8f33f330..1bc20294 100644 --- a/fdmdv2/build/fdmdv2.project +++ b/fdmdv2/build/fdmdv2.project @@ -66,6 +66,7 @@ + diff --git a/fdmdv2/build/fdmdv2.workspace b/fdmdv2/build/fdmdv2.workspace index 2f417639..bd99de20 100644 --- a/fdmdv2/build/fdmdv2.workspace +++ b/fdmdv2/build/fdmdv2.workspace @@ -1,18 +1,12 @@ - - - - - + - - diff --git a/fdmdv2/src/dlg_comports.cpp b/fdmdv2/src/dlg_comports.cpp index 7497a329..33b2fda4 100644 --- a/fdmdv2/src/dlg_comports.cpp +++ b/fdmdv2/src/dlg_comports.cpp @@ -8,18 +8,21 @@ // components of this project) //========================================================================== #include "dlg_comports.h" +#include "fdmdv2_hdw_ports.h" //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= // Class ComPortsDlg //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= -ComPortsDlg::ComPortsDlg( wxWindow* parent ) : DlgComPorts( parent ) +ComPortsDlg::ComPortsDlg(wxWindow* parent) : DlgComPorts(parent) { +// m_serialports = HdwPortList(); +// m_serialports.setType(PORT_TYPE_SERIAL); } //------------------------------------------------------------------------- // OnListItemSelected() //------------------------------------------------------------------------- -void ComPortsDlg::OnListItemSelected( wxListEvent& event ) +void ComPortsDlg::OnListItemSelected(wxListEvent& event) { // TODO: Implement OnListItemSelected } @@ -61,7 +64,7 @@ void ComPortsDlg::ExchangeData(int inout) //------------------------------------------------------------------------- // OnCancel() //------------------------------------------------------------------------- -void ComPortsDlg::OnCancel( wxCommandEvent& event ) +void ComPortsDlg::OnCancel(wxCommandEvent& event) { this->EndModal(wxID_CANCEL); } @@ -69,7 +72,7 @@ void ComPortsDlg::OnCancel( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnOK() //------------------------------------------------------------------------- -void ComPortsDlg::OnOK( wxCommandEvent& event ) +void ComPortsDlg::OnOK(wxCommandEvent& event) { this->EndModal(wxID_OK); } @@ -77,7 +80,7 @@ void ComPortsDlg::OnOK( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnApply() //------------------------------------------------------------------------- -void ComPortsDlg::OnApply( wxCommandEvent& event ) +void ComPortsDlg::OnApply(wxCommandEvent& event) { ExchangeData(EXCHANGE_DATA_OUT); } @@ -85,7 +88,7 @@ void ComPortsDlg::OnApply( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnClose() //------------------------------------------------------------------------- -void ComPortsDlg::OnClose( wxCloseEvent& event ) +void ComPortsDlg::OnClose(wxCloseEvent& event) { this->EndModal(wxID_OK); } @@ -93,7 +96,7 @@ void ComPortsDlg::OnClose( wxCloseEvent& event ) //------------------------------------------------------------------------- // OnInitDialog() //------------------------------------------------------------------------- -void ComPortsDlg::OnInitDialog( wxInitDialogEvent& event ) +void ComPortsDlg::OnInitDialog(wxInitDialogEvent& event) { ExchangeData(EXCHANGE_DATA_IN); // populateAudioInfo(); diff --git a/fdmdv2/src/dlg_comports.h b/fdmdv2/src/dlg_comports.h index e84faa29..1c47aefd 100644 --- a/fdmdv2/src/dlg_comports.h +++ b/fdmdv2/src/dlg_comports.h @@ -20,17 +20,18 @@ class ComPortsDlg : public DlgComPorts { public: /** Constructor */ - ComPortsDlg( wxWindow* parent ); - void ExchangeData(int inout); + ComPortsDlg(wxWindow* parent); + void ExchangeData(int inout); + //ArrayOfPorts m_serialports; protected: // Handlers for events. - void OnListItemSelected( wxListEvent& event ); - void OnCancel( wxCommandEvent& event ); - void OnOK( wxCommandEvent& event ); - void OnClose( wxCloseEvent& event ); - void OnInitDialog( wxInitDialogEvent& event ); - void OnApply( wxCommandEvent& event ); + void OnListItemSelected(wxListEvent& event); + void OnCancel(wxCommandEvent& event); + void OnOK(wxCommandEvent& event); + void OnClose(wxCloseEvent& event); + void OnInitDialog(wxInitDialogEvent& event); + void OnApply(wxCommandEvent& event); }; diff --git a/fdmdv2/src/fdmdv2_hdw_ports.cpp b/fdmdv2/src/fdmdv2_hdw_ports.cpp index dfccbca4..6f0d0d63 100644 --- a/fdmdv2/src/fdmdv2_hdw_ports.cpp +++ b/fdmdv2/src/fdmdv2_hdw_ports.cpp @@ -22,4 +22,89 @@ // //========================================================================== #include "fdmdv2_hdw_ports.h" - + +HdwPort::HdwPort() +{ + m_device_type = -1; +} + +//#include // This is a magic incantation which must be done! +//WX_DEFINE_OBJARRAY(ArrayOfPorts); + +HdwPort::~HdwPort() +{ +} + +void HdwPort::setType(int portType) +{ + m_device_type = portType; +} + +int HdwPort::getList() +{ + int rv = 0; + + if(m_device_type != -1) + { + switch(m_device_type) + { + case PORT_TYPE_SERIAL: + rv = getSerialPorts(); + break; + + case PORT_TYPE_USB: + rv = getUSBPorts(); + break; + + case PORT_TYPE_VIRTUAL: + rv = getVirtualPorts(); + break; + + case PORT_TYPE_PARALLEL: + rv = getParallelPorts(); + break; + + case PORT_TYPE_IEEE1394: + rv = getIEEE1394Ports(); + break; + + case PORT_TYPE_UNKNOWN: + default: + rv = 0; + break; + } + } + return rv; +} + +int HdwPort::getSerialPorts() +{ + int rv = 0; + return rv; +} + +int HdwPort::getUSBPorts() +{ + int rv = 0; + return rv; +} + +int HdwPort::getVirtualPorts() +{ + int rv = 0; + return rv; +} + +int HdwPort::getParallelPorts() +{ + int rv = 0; + return rv; +} + +int HdwPort::getIEEE1394Ports() +{ + int rv = 0; + return rv; +} + + diff --git a/fdmdv2/src/fdmdv2_hdw_ports.h b/fdmdv2/src/fdmdv2_hdw_ports.h index 41d5fa9d..7b79cdc8 100644 --- a/fdmdv2/src/fdmdv2_hdw_ports.h +++ b/fdmdv2/src/fdmdv2_hdw_ports.h @@ -26,6 +26,7 @@ #include #include "wx/wx.h" +#include #include "fdmdv2_main.h" enum @@ -67,18 +68,33 @@ enum DEVICE_TYPE_UNKNOWN }; -class PortHardware +class HdwPort; + +WX_DECLARE_OBJARRAY(HdwPort, ArrayOfPorts); + +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +// Class PortList +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +class HdwPort { -private: - int count; - int device_type; - int device_emulation; + public: + HdwPort(); + ~HdwPort(); + + protected: + wxString m_name; -protected: + private: + int m_device_type; + int m_device_emulation; -public: - PortHardware(); - ~PortHardware(); + void setType(int portType); + int getList(); + int getSerialPorts(); + int getUSBPorts(); + int getVirtualPorts(); + int getParallelPorts(); + int getIEEE1394Ports(); }; diff --git a/fdmdv2/src/fdmdv2_main.cpp b/fdmdv2/src/fdmdv2_main.cpp index 19d5337e..1bbc085f 100644 --- a/fdmdv2/src/fdmdv2_main.cpp +++ b/fdmdv2/src/fdmdv2_main.cpp @@ -98,29 +98,29 @@ 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 ); - this->Connect( m_menuItemToolsConfigDelete->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::OnDeleteConfig)); + 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 - m_panelWaterfall = new PlotWaterfall((wxFrame*) m_auiNbookCtrl ); - m_auiNbookCtrl->AddPage(m_panelWaterfall, _("Waterfall"), true, wxNullBitmap ); + m_panelWaterfall = new PlotWaterfall((wxFrame*) m_auiNbookCtrl); + m_auiNbookCtrl->AddPage(m_panelWaterfall, _("Waterfall"), true, wxNullBitmap); // Add Spectrum Plot window - m_panelSpectrum = new PlotSpectrum((wxFrame*) m_auiNbookCtrl ); - m_auiNbookCtrl->AddPage(m_panelSpectrum, _("Spectrum"), true, wxNullBitmap ); + m_panelSpectrum = new PlotSpectrum((wxFrame*) m_auiNbookCtrl); + m_auiNbookCtrl->AddPage(m_panelSpectrum, _("Spectrum"), true, wxNullBitmap); -// m_panelScatter = new PlotScatter((wxFrame*) m_auiNbookCtrl ); -// m_auiNbookCtrl->AddPage(m_panelWaterfall, _("Scatter"), true, wxNullBitmap ); +// m_panelScatter = new PlotScatter((wxFrame*) m_auiNbookCtrl); +// m_auiNbookCtrl->AddPage(m_panelWaterfall, _("Scatter"), true, wxNullBitmap); // m_panelScalar = new PlotScalar((wxFrame*) m_auiNbookCtrl, 500, 500); -// m_auiNbookCtrl->AddPage(m_panelWaterfall, _("Scalar"), true, wxNullBitmap ); +// m_auiNbookCtrl->AddPage(m_panelWaterfall, _("Scalar"), true, wxNullBitmap); // Add generic plot window - m_panelDefaultA = new PlotPanel((wxFrame*) m_auiNbookCtrl ); - m_auiNbookCtrl->AddPage(m_panelDefaultA, _("Test A"), true, wxNullBitmap ); + m_panelDefaultA = new PlotPanel((wxFrame*) m_auiNbookCtrl); + m_auiNbookCtrl->AddPage(m_panelDefaultA, _("Test A"), true, wxNullBitmap); wxConfigBase *pConfig = wxConfigBase::Get(); @@ -148,14 +148,14 @@ 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 ); +// 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(); @@ -164,18 +164,14 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent) m_togBtnALC->Disable(); m_btnTogTX->Disable(); -#ifdef USE_TIMER - m_rxPa = new PortAudioWrap(); - for(int i = 0; i < FDMDV_NSPEC; i++) - { - m_rxPa->m_av_mag[i] = sin(((double)i / M_PI)) * 100.0; - } +#ifdef _USE_TIMER Bind(wxEVT_TIMER, &MainFrame::OnTimer, this); // ID_MY_WINDOW); m_plotTimer.SetOwner(this, ID_TIMER_WATERFALL); +// m_rxPa = new PortAudioWrap(); // m_plotTimer.Start(500, wxTIMER_CONTINUOUS); - m_panelWaterfall->m_newdata = true; +// m_panelWaterfall->m_newdata = true; m_panelWaterfall->Refresh(); -#endif +#endif //_USE_TIMER } //------------------------------------------------------------------------- @@ -210,25 +206,24 @@ MainFrame::~MainFrame() 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()) + 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()) { m_plotTimer.Stop(); - Unbind(wxEVT_TIMER, &MainFrame::OnTimer, this); // ID_MY_WINDOW); + Unbind(wxEVT_TIMER, &MainFrame::OnTimer, this); } -#endif +#endif //_USE_TIMER delete wxConfigBase::Set((wxConfigBase *) NULL); } -#ifdef USE_TIMER - +#ifdef _USE_TIMER //---------------------------------------------------------------- // OnTimer() //---------------------------------------------------------------- @@ -241,7 +236,7 @@ void MainFrame::OnTimer(wxTimerEvent &evt) // m_panelDefaultA->m_newdata = true; // m_panelDefaultA->Refresh(); } -#endif +#endif // _USE_TIMER //------------------------------------------------------------------------- // OnCloseFrame() @@ -267,7 +262,7 @@ void MainFrame::OnExitClick(wxCommandEvent& event) void MainFrame::OnDeleteConfig(wxCommandEvent&) { wxConfigBase *pConfig = wxConfigBase::Get(); - if(pConfig->DeleteAll() ) + if(pConfig->DeleteAll()) { wxLogMessage(wxT("Config file/registry key successfully deleted.")); @@ -414,9 +409,9 @@ void MainFrame::OnTogBtnOnOff(wxCommandEvent& event) m_togBtnALC->Enable(); m_btnTogTX->Enable(); -#ifdef USE_TIMER +#ifdef _USE_TIMER m_plotTimer.Start(500, wxTIMER_CONTINUOUS); -#endif +#endif // _USE_TIMER startRxStream(); startTxStream(); m_togBtnOnOff->SetLabel(wxT("Stop")); @@ -429,9 +424,9 @@ void MainFrame::OnTogBtnOnOff(wxCommandEvent& event) m_togBtnAnalog->Disable(); m_togBtnALC->Disable(); m_btnTogTX->Disable(); -#ifdef USE_TIMER +#ifdef _USE_TIMER m_plotTimer.Stop(); -#endif +#endif // _USE_TIMER stopRxStream(); stopTxStream(); m_togBtnOnOff->SetLabel(wxT("Start")); @@ -509,7 +504,32 @@ void MainFrame::startRxStream() { m_RxRunning = true; m_rxPa = new PortAudioWrap(); - + +#ifdef _DUMMY_DATA + for(int i = 0; i < FDMDV_NSPEC; i++) + { + m_rxPa->m_av_mag[i] = sin(((double)i / M_PI)) * 100.0; + } +#else + for(int i = 0; i < FDMDV_NSPEC; i++) + { + m_rxPa->m_av_mag[i] = -40.0; + } +#endif // _DUMMY_DATA + +// m_fdmdv2 = fdmdv_create(); +// m_RXCodec2 = codec2_create(CODEC2_MODE_1400); + //output_buf = (short*)malloc(2*sizeof(short)*codec2_samples_per_frame(codec2)); +/* + for(int i = 0; i < MEM8; i++) + { + cbData.in8k[i] = 0.0; + } + for(int i = 0; i < FDMDV_OS_TAPS; i++) + { + cbData.in48k[i] = 0.0; + } +*/ m_rxDevIn = m_rxPa->getDefaultInputDevice(); // default input device if(m_rxDevIn == paNoDevice) { @@ -537,7 +557,8 @@ void MainFrame::startRxStream() m_rxErr = m_rxPa->setFramesPerBuffer(FRAMES_PER_BUFFER); m_rxErr = m_rxPa->setSampleRate(SAMPLE_RATE); - m_rxErr = m_rxPa->setStreamFlags(0); + m_rxErr = m_rxPa->setStreamFlags(0); +// m_rxCB = rxCallback; m_rxErr = m_rxPa->setCallback(rxCallback); m_rxErr = m_rxPa->streamOpen(); @@ -686,7 +707,7 @@ void MainFrame::abortTxStream() //------------------------------------------------------------------------- // OnOpen() //------------------------------------------------------------------------- -void MainFrame::OnOpen( wxCommandEvent& event ) +void MainFrame::OnOpen(wxCommandEvent& event) { wxUnusedVar(event); } @@ -694,7 +715,7 @@ void MainFrame::OnOpen( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnOpenUpdateUI() //------------------------------------------------------------------------- -void MainFrame::OnOpenUpdateUI( wxUpdateUIEvent& event ) +void MainFrame::OnOpenUpdateUI(wxUpdateUIEvent& event) { wxUnusedVar(event); // wxMessageBox("Got Click!", "OnOpenUpdateUI", wxOK); @@ -704,7 +725,7 @@ void MainFrame::OnOpenUpdateUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- // OnSaveUpdateUI() //------------------------------------------------------------------------- -void MainFrame::OnSaveUpdateUI( wxUpdateUIEvent& event ) +void MainFrame::OnSaveUpdateUI(wxUpdateUIEvent& event) { // wxUnusedVar(event); // wxMessageBox("Got Click!", "OnSaveUpdateUI", wxOK); @@ -715,7 +736,7 @@ void MainFrame::OnSaveUpdateUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- // OnClose() //------------------------------------------------------------------------- -void MainFrame::OnClose( wxCommandEvent& event ) +void MainFrame::OnClose(wxCommandEvent& event) { wxUnusedVar(event); @@ -742,7 +763,7 @@ void MainFrame::OnClose( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnCloseUpdateUI() //------------------------------------------------------------------------- -void MainFrame::OnCloseUpdateUI( wxUpdateUIEvent& event ) +void MainFrame::OnCloseUpdateUI(wxUpdateUIEvent& event) { // wxUnusedVar(event); event.Enable(false); @@ -751,7 +772,7 @@ void MainFrame::OnCloseUpdateUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- // OnExit() //------------------------------------------------------------------------- -void MainFrame::OnExit( wxCommandEvent& event ) +void MainFrame::OnExit(wxCommandEvent& event) { //wxUnusedVar(event); OnClose(event); @@ -762,7 +783,7 @@ void MainFrame::OnExit( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnCopy() //------------------------------------------------------------------------- -void MainFrame::OnCopy( wxCommandEvent& event ) +void MainFrame::OnCopy(wxCommandEvent& event) { // wxMessageBox("Got Click!", "OnCopy", wxOK); event.Skip(); @@ -771,7 +792,7 @@ void MainFrame::OnCopy( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnCopyUpdateUI() //------------------------------------------------------------------------- -void MainFrame::OnCopyUpdateUI( wxUpdateUIEvent& event ) +void MainFrame::OnCopyUpdateUI(wxUpdateUIEvent& event) { // wxUnusedVar(event); event.Enable(false); @@ -780,7 +801,7 @@ void MainFrame::OnCopyUpdateUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- // OnCut() //------------------------------------------------------------------------- -void MainFrame::OnCut( wxCommandEvent& event ) +void MainFrame::OnCut(wxCommandEvent& event) { // wxMessageBox("Got Click!", "OnCut", wxOK); event.Skip(); @@ -789,7 +810,7 @@ void MainFrame::OnCut( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnCutUpdateUI() //------------------------------------------------------------------------- -void MainFrame::OnCutUpdateUI( wxUpdateUIEvent& event ) +void MainFrame::OnCutUpdateUI(wxUpdateUIEvent& event) { // wxUnusedVar(event); event.Enable(false); @@ -798,7 +819,7 @@ void MainFrame::OnCutUpdateUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- // OnPaste() //------------------------------------------------------------------------- -void MainFrame::OnPaste( wxCommandEvent& event ) +void MainFrame::OnPaste(wxCommandEvent& event) { // wxMessageBox("Got Click!", "OnPaste", wxOK); event.Skip(); @@ -807,7 +828,7 @@ void MainFrame::OnPaste( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnPasteUpdateUI() //------------------------------------------------------------------------- -void MainFrame::OnPasteUpdateUI( wxUpdateUIEvent& event ) +void MainFrame::OnPasteUpdateUI(wxUpdateUIEvent& event) { // wxUnusedVar(event); event.Enable(false); @@ -816,7 +837,7 @@ void MainFrame::OnPasteUpdateUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- // OnCaptureRxStream() //------------------------------------------------------------------------- -void MainFrame::OnCaptureRxStream( wxCommandEvent& event ) +void MainFrame::OnCaptureRxStream(wxCommandEvent& event) { wxUnusedVar(event); } @@ -824,7 +845,7 @@ void MainFrame::OnCaptureRxStream( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnCaptureTxStream() //------------------------------------------------------------------------- -void MainFrame::OnCaptureTxStream( wxCommandEvent& event ) +void MainFrame::OnCaptureTxStream(wxCommandEvent& event) { wxUnusedVar(event); } @@ -832,12 +853,12 @@ void MainFrame::OnCaptureTxStream( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnPlayAudioFile() //------------------------------------------------------------------------- -void MainFrame::OnPlayAudioFile( 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 ) + if (wxMessageBox(wxT("Current content has not been saved! Proceed?"),wxT("Please confirm"), wxICON_QUESTION | wxYES_NO, this) == wxNO) { return; } @@ -863,7 +884,7 @@ void MainFrame::OnPlayAudioFile( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnToolsAudio() //------------------------------------------------------------------------- -void MainFrame::OnToolsAudio( wxCommandEvent& event ) +void MainFrame::OnToolsAudio(wxCommandEvent& event) { wxUnusedVar(event); int rv = 0; @@ -879,7 +900,7 @@ void MainFrame::OnToolsAudio( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnToolsAudioUI() //------------------------------------------------------------------------- -void MainFrame::OnToolsAudioUI( wxUpdateUIEvent& event ) +void MainFrame::OnToolsAudioUI(wxUpdateUIEvent& event) { wxUnusedVar(event); } @@ -887,7 +908,7 @@ void MainFrame::OnToolsAudioUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- // OnToolsComCfg() //------------------------------------------------------------------------- -void MainFrame::OnToolsComCfg( wxCommandEvent& event ) +void MainFrame::OnToolsComCfg(wxCommandEvent& event) { wxUnusedVar(event); int rv = 0; @@ -903,7 +924,7 @@ void MainFrame::OnToolsComCfg( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnToolsComCfgUI() //------------------------------------------------------------------------- -void MainFrame::OnToolsComCfgUI( wxUpdateUIEvent& event ) +void MainFrame::OnToolsComCfgUI(wxUpdateUIEvent& event) { event.Enable((!m_TxRunning) && (!m_RxRunning)); } @@ -911,7 +932,7 @@ void MainFrame::OnToolsComCfgUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- // OnToolsOptions() //------------------------------------------------------------------------- -void MainFrame::OnToolsOptions( wxCommandEvent& event ) +void MainFrame::OnToolsOptions(wxCommandEvent& event) { wxUnusedVar(event); int rv = 0; @@ -927,7 +948,7 @@ void MainFrame::OnToolsOptions( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnToolsOptionsUI() //------------------------------------------------------------------------- -void MainFrame::OnToolsOptionsUI( wxUpdateUIEvent& event ) +void MainFrame::OnToolsOptionsUI(wxUpdateUIEvent& event) { // wxUnusedVar(event); event.Enable(false); @@ -936,7 +957,7 @@ void MainFrame::OnToolsOptionsUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- // OnHelpCheckUpdates() //------------------------------------------------------------------------- -void MainFrame::OnHelpCheckUpdates( wxCommandEvent& event ) +void MainFrame::OnHelpCheckUpdates(wxCommandEvent& event) { wxMessageBox("Got Click!", "OnHelpCheckUpdates", wxOK); event.Skip(); @@ -945,7 +966,7 @@ void MainFrame::OnHelpCheckUpdates( wxCommandEvent& event ) //------------------------------------------------------------------------- // OnHelpCheckUpdatesUI() //------------------------------------------------------------------------- -void MainFrame::OnHelpCheckUpdatesUI( wxUpdateUIEvent& event ) +void MainFrame::OnHelpCheckUpdatesUI(wxUpdateUIEvent& event) { // wxUnusedVar(event); event.Enable(false); @@ -954,7 +975,7 @@ void MainFrame::OnHelpCheckUpdatesUI( wxUpdateUIEvent& event ) //------------------------------------------------------------------------- //OnHelpAbout() //------------------------------------------------------------------------- -void MainFrame::OnHelpAbout( wxCommandEvent& event ) +void MainFrame::OnHelpAbout(wxCommandEvent& event) { wxUnusedVar(event); // int rv = 0; @@ -987,72 +1008,6 @@ wxString MainFrame::LoadUserImage(wxImage& image) } //------------------------------------------------------------------------- -// OnSave() -//------------------------------------------------------------------------- -void MainFrame::OnSave(wxCommandEvent& WXUNUSED(event)) -{ -/* - wxString savefilename = wxFileSelector(wxT("Save Sound File"), - wxEmptyString, - wxEmptyString, - (const wxChar *)NULL, - wxT("WAV files (*.wav)|*.wav|") - wxT("RAW files (*.raw)|*.raw|") - wxT("SPEEX files (*.spx)|*.spx|") - wxT("FLAC files (*.flc)|*.flc|"), - wxFD_SAVE, - this); - if(savefilename.empty()) - { - return; - } - wxString extension; - wxFileName::SplitPath(savefilename, NULL, NULL, &extension); - bool saved = false; - if(!saved) - { - // This one guesses image format from filename extension - // (it may fail if the extension is not recognized): - //image.SaveFile(savefilename); - } -*/ - } - -//------------------------------------------------------------------------- -// rxCallback() -//------------------------------------------------------------------------- -int MainFrame::rxCallback( - const void *inBuffer, - void *outBuffer, - unsigned long framesPerBuffer, - const PaStreamCallbackTimeInfo *outTime, - PaStreamCallbackFlags statusFlags, - void *userData - ) -{ - float *out = (float *) outBuffer; - float *in = (float *) inBuffer; - float leftIn; - float rightIn; - unsigned int i; - - if(inBuffer == NULL) - { - return 0; - } - // Read input buffer, process data, and fill output buffer. - for(i = 0; i < framesPerBuffer; i++) - { - leftIn = *in++; // Get interleaved samples from input buffer. - rightIn = *in++; - *out++ = leftIn * rightIn; // ring modulation - *out++ = 0.5f * (leftIn + rightIn); // mixing - } - return paContinue; // 0; -} - -//------------------------------------------------------------------------- - // txCallback() //------------------------------------------------------------------------- int MainFrame::txCallback( @@ -1062,7 +1017,7 @@ int MainFrame::txCallback( const PaStreamCallbackTimeInfo *outTime, PaStreamCallbackFlags statusFlags, void *userData - ) + ) { float *out = (float *) outBuffer; float *in = (float *) inBuffer; @@ -1098,10 +1053,116 @@ void MainFrame::averageData(float mag_dB[]) } } +// Main processing loop states ------------------ +float Ts = 0.0; +short input_buf[2*FDMDV_NOM_SAMPLES_PER_FRAME]; +int n_input_buf = 0; +int nin = FDMDV_NOM_SAMPLES_PER_FRAME; +short *output_buf; +int n_output_buf = 0; +int codec_bits[2*FDMDV_BITS_PER_FRAME]; +int state = 0; +struct CODEC2 *g_RXCodec2; +struct CODEC2 *g_TXCodec2; +struct FDMDV *g_pFDMDV_state; + +//------------------------------------------------------------------------- +// rxCallback() +//------------------------------------------------------------------------- +int MainFrame::rxCallback( + const void *inputBuffer, + void *outputBuffer, + unsigned long framesPerBuffer, + const PaStreamCallbackTimeInfo* timeInfo, + PaStreamCallbackFlags statusFlags, + void *userData + ) +{ + paCallBackData *cbData = (paCallBackData*)userData; + unsigned int i; + short *rptr = (short*)inputBuffer; + short *wptr = (short*)outputBuffer; + float *in8k = cbData->in8k; + float *in48k = cbData->in48k; + float out8k[N8]; + float out48k[N48]; + short out48k_short[N48]; + + (void) timeInfo; + (void) statusFlags; + + assert(inputBuffer != NULL); + + // Convert input model samples from 48 to 8 kHz + + // just use left channel + for(i = 0; i < framesPerBuffer; i++, rptr += 2) + { + in48k[i + FDMDV_OS_TAPS] = *rptr; + } + // downsample and update filter memory + fdmdv_48_to_8(out8k, &in48k[FDMDV_OS_TAPS], N8); + for(i = 0; i < FDMDV_OS_TAPS; i++) + { + in48k[i] = in48k[i + framesPerBuffer]; + } + // run demod, decoder and update GUI info + for(i = 0; i < N8; i++) + { + input_buf[n_input_buf + i] = (short)out8k[i]; + } + n_input_buf += FDMDV_NOM_SAMPLES_PER_FRAME; + per_frame_rx_processing(output_buf, &n_output_buf, codec_bits, input_buf, &n_input_buf, &nin, &state, g_RXCodec2); + // if demod out of sync copy input audio from A/D to aid in tuning + if (n_output_buf >= N8) + { + if(state == 0) + { + for(i = 0; i < N8; i++) + { + in8k[MEM8 + i] = out8k[i]; // A/D signal + } + } + else + { + for(i = 0; i < N8; i++) + { + in8k[MEM8+i] = output_buf[i]; // decoded spech + } + } + n_output_buf -= N8; + } + assert(n_output_buf >= 0); + // shift speech samples in output buffer + for(i = 0; i < (unsigned int)n_output_buf; i++) + { + output_buf[i] = output_buf[i + N8]; + } + // Convert output speech to 48 kHz sample rate + // upsample and update filter memory + fdmdv_8_to_48(out48k, &in8k[MEM8], N8); + for(i = 0; i < MEM8; i++) + { + in8k[i] = in8k[i + N8]; + } + assert(outputBuffer != NULL); + // write signal to both channels + for(i = 0; i < N48; i++) + { + out48k_short[i] = (short)out48k[i]; + } + for(i = 0; i < framesPerBuffer; i++, wptr += 2) + { + wptr[0] = out48k_short[i]; + wptr[1] = out48k_short[i]; + } + return paContinue; +} + //---------------------------------------------------------------- // per_frame_rx_processing() //---------------------------------------------------------------- -void MainFrame::per_frame_rx_processing( + void MainFrame::per_frame_rx_processing( short output_buf[], // output buf of decoded speech samples int *n_output_buf, // how many samples currently in output_buf[] int codec_bits[], // current frame of bits for decoder @@ -1109,8 +1170,8 @@ void MainFrame::per_frame_rx_processing( int *n_input_buf, // how many samples currently in input_buf[] int *nin, // amount of samples demod needs for next call int *state, // used to collect codec_bits[] halves - struct CODEC2 *c2 // Codec 2 states - ) + CODEC2 *c2 // Codec 2 states + ) { struct FDMDV_STATS stats; int sync_bit; @@ -1147,22 +1208,22 @@ void MainFrame::per_frame_rx_processing( // demod per frame processing for(i = 0; i < *nin; i++) { - rx_fdm[i] = (float)input_buf[i]/FDMDV_SCALE; + rx_fdm[i] = (float)input_buf[i] / FDMDV_SCALE; } nin_prev = *nin; - fdmdv_demod(m_pFDMDV_state, rx_bits, &sync_bit, rx_fdm, nin); + fdmdv_demod(g_pFDMDV_state, rx_bits, &sync_bit, rx_fdm, nin); *n_input_buf -= nin_prev; assert(*n_input_buf >= 0); // shift input buffer for(i = 0; i < *n_input_buf; i++) { - input_buf[i] = input_buf[i+nin_prev]; + input_buf[i] = input_buf[i + nin_prev]; } // 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); + fdmdv_get_rx_spectrum(g_pFDMDV_state, rx_spec, rx_fdm, nin_prev); + fdmdv_get_demod_stats(g_pFDMDV_state, &stats); // averageData(rx_spec); //m_panelWaterfall->; //m_panelScalar; @@ -1188,7 +1249,7 @@ void MainFrame::per_frame_rx_processing( // mute output audio when out of sync if(*n_output_buf < 2 * codec2_samples_per_frame(c2) - N8) { - for(i=0; iSetSizeHints( 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 ); + 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 ); + 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 ); + 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 ); + m_menuItemClose = new wxMenuItem(file, ID_CLOSE, wxString(_("&Close")) , _("Close current file"), wxITEM_NORMAL); + file->Append(m_menuItemClose); file->AppendSeparator(); wxMenuItem* m_menuItemExit; - m_menuItemExit = new wxMenuItem( file, ID_EXIT, wxString( _("E&xit") ) , _("Exit Program"), wxITEM_NORMAL ); - file->Append( 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 ); + 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 ); + 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 ); + 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 ); + 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 ); + 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 ); + m_menuItemOptions = new wxMenuItem(tools, ID_OPTIONS, wxString(_("Other Program &Options")) , _("Set preferences"), wxITEM_NORMAL); + tools->Append(m_menuItemOptions); 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 ); + 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 ); + m_menuItemCaptRxStream->SetBitmaps(wxNullBitmap); + #elif defined(__WXGTK__) + m_menuItemCaptRxStream->SetBitmap(wxNullBitmap); #endif - tools->Append( m_menuItemCaptRxStream ); + 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 ); + 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 ); + m_menuItemCaptTxStream->SetBitmaps(wxNullBitmap); + #elif defined(__WXGTK__) + m_menuItemCaptTxStream->SetBitmap(wxNullBitmap); #endif - tools->Append( m_menuItemCaptTxStream ); + tools->Append(m_menuItemCaptTxStream); tools->AppendSeparator(); wxMenuItem* m_menuItemPlayAudioFile; - m_menuItemPlayAudioFile = new wxMenuItem( tools, wxID_ANY, wxString( _("Play File") ) , wxEmptyString, wxITEM_NORMAL ); - tools->Append( 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 ); + 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 ); + 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 ); + bSizer1 = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer* leftSizer; - leftSizer = new wxBoxSizer( wxVERTICAL ); + leftSizer = new wxBoxSizer(wxVERTICAL); wxStaticBoxSizer* snrSizer; - snrSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("SNR") ), wxVERTICAL ); + 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 ); + 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 ); + 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 ); + centerSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* upperSizer; - upperSizer = new wxBoxSizer( wxVERTICAL ); + 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 ); + lowerSizer = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer* bSizer15; - bSizer15 = new wxBoxSizer( wxVERTICAL ); + 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 ); + 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 ); + rightSizer = new wxBoxSizer(wxVERTICAL); wxStaticBoxSizer* sbSizer3; - sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("SQ") ), wxVERTICAL ); + 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 ); + 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 ); + sbSizer5 = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, _("Control")), wxVERTICAL); wxBoxSizer* bSizer1511; - bSizer1511 = new wxBoxSizer( wxVERTICAL ); + 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 ); + 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 ); + 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 ); + 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 ); + 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->SetSizer(bSizer1); this->Layout(); - m_statusBar1 = this->CreateStatusBar( 3, wxST_SIZEGRIP, wxID_ANY ); + 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 ); + 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 ); + 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 ) +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 ); + bSizer20 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* bSizer21; - bSizer21 = new wxBoxSizer( wxVERTICAL ); + bSizer21 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* bSizer23; - bSizer23 = new wxBoxSizer( wxVERTICAL ); + bSizer23 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* bSizer25; - bSizer25 = new wxBoxSizer( wxVERTICAL ); + 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 ); + 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 ); + 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 ); + 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->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 ) ); + 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 ) ); + 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 ) +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 ); + 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 ); + 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 ); + bSizer34 = new wxBoxSizer(wxVERTICAL); wxStaticBoxSizer* sbSizer10; - sbSizer10 = new wxStaticBoxSizer( new wxStaticBox( m_panelDevices, wxID_ANY, _("PortAudio") ), wxHORIZONTAL ); + sbSizer10 = new wxStaticBoxSizer(new wxStaticBox(m_panelDevices, wxID_ANY, _("PortAudio")), wxHORIZONTAL); wxBoxSizer* bSizer41; - bSizer41 = new wxBoxSizer( wxHORIZONTAL ); + bSizer41 = new wxBoxSizer(wxHORIZONTAL); wxGridSizer* gSizer6; - gSizer6 = new wxGridSizer( 3, 1, 0, 0 ); + 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 ); + 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 ); + 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 ); + sbSizer11 = new wxStaticBoxSizer(new wxStaticBox(m_panelDevices, wxID_ANY, _("File I/O")), wxHORIZONTAL); wxBoxSizer* bSizer38; - bSizer38 = new wxBoxSizer( wxVERTICAL ); + 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 ); + bSizer45 = new wxBoxSizer(wxVERTICAL); - sbSizer11->Add( bSizer45, 1, wxEXPAND, 5 ); + sbSizer11->Add(bSizer45, 1, wxEXPAND, 5); wxBoxSizer* bSizer46; - bSizer46 = new wxBoxSizer( wxVERTICAL ); + 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->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 ); + 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 ); + bSizer27 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* bSizer271; - bSizer271 = new wxBoxSizer( wxHORIZONTAL ); + bSizer271 = new wxBoxSizer(wxHORIZONTAL); wxStaticBoxSizer* sbSizer6; - sbSizer6 = new wxStaticBoxSizer( new wxStaticBox( m_panelSettings, wxID_ANY, _("Rx Input") ), wxVERTICAL ); + sbSizer6 = new wxStaticBoxSizer(new wxStaticBox(m_panelSettings, wxID_ANY, _("Rx Input")), wxVERTICAL); wxBoxSizer* bSizer31; - bSizer31 = new wxBoxSizer( wxVERTICAL ); + 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 ); + sbSizer7 = new wxStaticBoxSizer(new wxStaticBox(m_panelSettings, wxID_ANY, _("Tx Output")), wxVERTICAL); wxBoxSizer* bSizer281; - bSizer281 = new wxBoxSizer( wxVERTICAL ); + 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 ); + bSizer26 = new wxBoxSizer(wxHORIZONTAL); wxStaticBoxSizer* sbSizer8; - sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( m_panelSettings, wxID_ANY, _("Voice Input") ), wxVERTICAL ); + sbSizer8 = new wxStaticBoxSizer(new wxStaticBox(m_panelSettings, wxID_ANY, _("Voice Input")), wxVERTICAL); wxBoxSizer* bSizer29; - bSizer29 = new wxBoxSizer( wxVERTICAL ); + 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 ); + sbSizer9 = new wxStaticBoxSizer(new wxStaticBox(m_panelSettings, wxID_ANY, _("Voice Output")), wxVERTICAL); wxBoxSizer* bSizer30; - bSizer30 = new wxBoxSizer( wxVERTICAL ); + 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->SetSizer(bSizer27); m_panelSettings->Layout(); - bSizer27->Fit( m_panelSettings ); - m_nbAudioOptions->AddPage( m_panelSettings, _("Settings"), false ); + 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 ); + 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_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->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 ); + 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 ); + 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 ) +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 ); + bSizer30 = new wxBoxSizer(wxVERTICAL); wxStaticBoxSizer* sbSizer5; - sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Config Options") ), wxHORIZONTAL ); + sbSizer5 = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, _("Config Options")), wxHORIZONTAL); wxGridSizer* gSizer2; - gSizer2 = new wxGridSizer( 6, 2, 0, 0 ); + 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_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->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 ) ); + 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 ) ); + 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 ) +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 ); + bSizer30 = new wxBoxSizer(wxVERTICAL); wxGridSizer* gSizer3; - gSizer3 = new wxGridSizer( 6, 2, 0, 0 ); + 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_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->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 ); + 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 ); + 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); } -- 2.25.1