Work on portaudio dialog, misc. cleanup.
authorwittend99 <wittend99@01035d8c-6547-0410-b346-abe4f91aad63>
Wed, 30 May 2012 03:43:11 +0000 (03:43 +0000)
committerwittend99 <wittend99@01035d8c-6547-0410-b346-abe4f91aad63>
Wed, 30 May 2012 03:43:11 +0000 (03:43 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@520 01035d8c-6547-0410-b346-abe4f91aad63

17 files changed:
fdmdv2/FDMDV2.fbp
fdmdv2/Release/fdmdv2.exe
fdmdv2/Release/libportaudio-2.dll [new file with mode: 0644]
fdmdv2/Release/libportaudiocpp-0.dll [new file with mode: 0644]
fdmdv2/dlg_audio.cpp
fdmdv2/dlg_audio.h
fdmdv2/fdmdv2.mk
fdmdv2/fdmdv2.project
fdmdv2/fdmdv2_main.cpp
fdmdv2/pa_cppbinding_test/Release/pa_cppbinding_test.exe
fdmdv2/pa_cppbinding_test/main.h
fdmdv2/pa_cppbinding_test/pa_cppbinding_test.mk
fdmdv2/pa_cppbinding_test/pa_cppbinding_test.project
fdmdv2/topFrame.cpp
fdmdv2/topFrame.h
fdmdv2/topFrame.py
fdmdv2/topFrame.xrc

index f7a519391f972d8cc88688b3906daa0d16cf4906..e713e666ae8c56a772e80b09bc1a7649f46a0981 100644 (file)
             <event name="OnAuiPaneRestore"></event>\r
             <event name="OnAuiRender"></event>\r
             <event name="OnChar"></event>\r
-            <event name="OnClose"></event>\r
+            <event name="OnClose">OnClose</event>\r
             <event name="OnEnterWindow"></event>\r
             <event name="OnEraseBackground"></event>\r
             <event name="OnHibernate"></event>\r
             <property name="pos"></property>\r
             <property name="resize">Resizable</property>\r
             <property name="show">1</property>\r
-            <property name="size">436,377</property>\r
-            <property name="style">wxDEFAULT_DIALOG_STYLE</property>\r
-                       <property name="subclass"></property>\r
+            <property name="size">553,455</property>\r
+            <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>\r
+            <property name="subclass"></property>\r
             <property name="title">Audio Options</property>\r
             <property name="toolbar_pane">0</property>\r
             <property name="tooltip"></property>\r
             <event name="OnAuiPaneRestore"></event>\r
             <event name="OnAuiRender"></event>\r
             <event name="OnChar"></event>\r
-            <event name="OnClose"></event>\r
+            <event name="OnClose">OnClose</event>\r
             <event name="OnEnterWindow"></event>\r
             <event name="OnEraseBackground"></event>\r
             <event name="OnHibernate"></event>\r
             <event name="OnIconize"></event>\r
             <event name="OnIdle"></event>\r
-            <event name="OnInitDialog"></event>\r
+            <event name="OnInitDialog">OnInitDialog</event>\r
             <event name="OnKeyDown"></event>\r
             <event name="OnKeyUp"></event>\r
             <event name="OnKillFocus"></event>\r
                                                 <property name="resize">Resizable</property>\r
                                                 <property name="show">1</property>\r
                                                 <property name="size"></property>\r
-                                                <property name="style">wxLB_SINGLE</property>\r
+                                                <property name="style">wxLB_HSCROLL|wxLB_SINGLE</property>\r
                                                 <property name="subclass"></property>\r
                                                 <property name="toolbar_pane">0</property>\r
                                                 <property name="tooltip"></property>\r
                                                 <property name="resize">Resizable</property>\r
                                                 <property name="show">1</property>\r
                                                 <property name="size"></property>\r
-                                                <property name="style">wxLB_SINGLE</property>\r
+                                                <property name="style">wxLB_HSCROLL|wxLB_SINGLE</property>\r
                                                 <property name="subclass"></property>\r
                                                 <property name="toolbar_pane">0</property>\r
                                                 <property name="tooltip"></property>\r
                                                 <property name="resize">Resizable</property>\r
                                                 <property name="show">1</property>\r
                                                 <property name="size"></property>\r
-                                                <property name="style">wxLB_SINGLE</property>\r
+                                                <property name="style">wxLB_HSCROLL|wxLB_SINGLE</property>\r
                                                 <property name="subclass"></property>\r
                                                 <property name="toolbar_pane">0</property>\r
                                                 <property name="tooltip"></property>\r
                                                 <property name="resize">Resizable</property>\r
                                                 <property name="show">1</property>\r
                                                 <property name="size"></property>\r
-                                                <property name="style">wxLB_SINGLE</property>\r
+                                                <property name="style">wxLB_HSCROLL|wxLB_SINGLE</property>\r
                                                 <property name="subclass"></property>\r
                                                 <property name="toolbar_pane">0</property>\r
                                                 <property name="tooltip"></property>\r
index 254398f3e5e92a346f6bc0d9b4e5f11bfa07bd5b..250c31e821dd0b7356cdde741a219c8fb689c782 100644 (file)
Binary files a/fdmdv2/Release/fdmdv2.exe and b/fdmdv2/Release/fdmdv2.exe differ
diff --git a/fdmdv2/Release/libportaudio-2.dll b/fdmdv2/Release/libportaudio-2.dll
new file mode 100644 (file)
index 0000000..302e663
Binary files /dev/null and b/fdmdv2/Release/libportaudio-2.dll differ
diff --git a/fdmdv2/Release/libportaudiocpp-0.dll b/fdmdv2/Release/libportaudiocpp-0.dll
new file mode 100644 (file)
index 0000000..eae7e69
Binary files /dev/null and b/fdmdv2/Release/libportaudiocpp-0.dll differ
index 8db1dcd0d5245ca67d3c28d7a720aaf4bc6b95a0..48413749b3d41ec5ef0b0a9fee006ea06b460537 100644 (file)
@@ -26,7 +26,267 @@ void AudioDlg::OnOK( wxCommandEvent& event )
     this->EndModal(wxID_OK);\r
 }\r
 \r
+void AudioDlg::OnApply( wxCommandEvent& event )\r
+{\r
+    this->EndModal(wxID_OK);\r
+}\r
+\r
 void AudioDlg::OnClose( wxCloseEvent& event )\r
 {\r
     this->EndModal(wxID_OK);\r
 }\r
+\r
+void AudioDlg::OnInitDialog( wxInitDialogEvent& event )\r
+{\r
+    //wxMessageBox(wxT("got OnInitDialog()"), wxT("Select"), wxOK);\r
+    populateAudioInfo();\r
+}\r
+\r
+void AudioDlg::OnRxInputSelect( wxCommandEvent& event )\r
+{\r
+    wxMessageBox(wxT("got OnRxInputSelect()"), wxT("Select"), wxOK);\r
+}\r
+\r
+void AudioDlg::OnTxOutputSelect( wxCommandEvent& event )\r
+{\r
+    wxMessageBox(wxT("got OnTxOutputSelect()"), wxT("Select"), wxOK);\r
+}\r
+\r
+void AudioDlg::OnVoiceInputSelect( wxCommandEvent& event )\r
+{\r
+    wxMessageBox(wxT("got OnVoiceInputSelect()"), wxT("Select"), wxOK);\r
+}\r
+\r
+void AudioDlg::OnVoiceOutputSelect( wxCommandEvent& event )\r
+{\r
+    wxMessageBox(wxT("got OnVoiceOutputSelect()"), wxT("Select"), wxOK);\r
+}\r
+\r
+void AudioDlg::populateStandardSampleRates(\r
+        wxListBox* target,
+        const portaudio::DirectionSpecificStreamParameters &inputParameters,
+        const portaudio::DirectionSpecificStreamParameters &outputParameters)
+{
+    static double STANDARD_SAMPLE_RATES[] = {
+                                                8000.0,
+                                                9600.0,
+                                                11025.0,
+                                                12000.0,
+                                                16000.0,
+                                                22050.0,
+                                                24000.0,
+                                                32000.0,
+                                                44100.0,
+                                                48000.0,
+                                                88200.0,
+                                                96000.0,
+                                                192000.0,
+                                                -1
+                                            }; // negative terminated list
+
+    int printCount = 0;
+    wxString tStr;\r
+
+    for (int i = 0; STANDARD_SAMPLE_RATES[i] > 0; ++i)
+    {
+        portaudio::StreamParameters tmp = portaudio::StreamParameters(inputParameters, outputParameters, STANDARD_SAMPLE_RATES[i], 0, paNoFlag);
+        if (tmp.isSupported())
+        {
+            tStr.Printf("%8.2f", STANDARD_SAMPLE_RATES[i]);\r
+            if (printCount == 0)
+            {
+                target->InsertItems(1, &tStr, 0);
+                printCount = 1;
+            }
+            else if (printCount == 4)
+            {
+                target->InsertItems(1, &tStr, 0);
+                printCount = 1;
+            }
+            else
+            {
+                target->InsertItems(1, &tStr, 0);
+                 ++printCount;
+            }
+        }
+    }
+    if (printCount == 0)
+    {
+        //std::cout << "None" << std::endl;\r
+        tStr = "None\n";
+        target->InsertItems(1, &tStr, 0);
+    }
+\r
+/*\r
+   else
+    {
+        std::cout << std::endl;
+    }\r
+*/\r
+}
+
+int AudioDlg::populateAudioInfo()
+{
+    wxString tStr;\r
+    wxString ttStr;\r
+    try
+    {
+        portaudio::AutoSystem autoSys;
+        portaudio::System &sys = portaudio::System::instance();
+/*
+
+        tStr.Printf("PortAudio version number: %i\n", sys.version());
+        m_textTopRight->AppendText(tStr);\r
+
+        tStr.Printf("PortAudio version number: %s\n", sys.versionText());
+        m_textTopRight->AppendText(tStr);
+\r
+        int numDevices = sys.deviceCount();
+        tStr.Printf("Number of devices: %i\n\n", numDevices);
+        m_textTopRight->AppendText(tStr);\r
+*/
+        for (portaudio::System::DeviceIterator i = sys.devicesBegin(); i != sys.devicesEnd(); ++i)
+        {
+/*\r
+            tStr.Printf("---------- device #: %i ----------\n", (*i).index());
+            m_textTopRight->AppendText(tStr);
+
+            bool defaultDisplayed = false;
+
+            if ((*i).isSystemDefaultInputDevice())
+            {
+                tStr.Printf("[ System Default Input %s", (*i).hostApi().name());
+                m_textTopRight->AppendText(tStr);
+                defaultDisplayed = true;
+            }
+            else if ((*i).isHostApiDefaultInputDevice())
+            {
+                tStr.Printf("[ HostApi Default %s Input", (*i).hostApi().name());
+                m_textTopRight->AppendText(tStr);
+                defaultDisplayed = true;
+            }
+            if ((*i).isSystemDefaultOutputDevice())
+            {
+                tStr.Printf(defaultDisplayed ? "," : "[");
+                m_textTopRight->AppendText(tStr);
+                tStr = (" System Default Output");
+                m_textTopRight->AppendText(tStr);
+                defaultDisplayed = true;
+            }
+            else if ((*i).isHostApiDefaultOutputDevice())
+            {
+                tStr.Printf(defaultDisplayed ? "," : "[");
+                m_textTopRight->AppendText(tStr);
+                tStr.Printf(" HostApi Default %s Output", (*i).hostApi().name());
+                m_textTopRight->AppendText(tStr);
+                defaultDisplayed = true;
+            }\r
+
+            if (defaultDisplayed)
+            {
+               tStr  =  " ]\n";
+                m_textTopRight->AppendText(tStr);
+            }
+\r
+            ttStr.Printf("Name                        : %s\n", (*i).name());
+            tStr  += ttStr;
+            ttStr.Printf("Host API                    : %s\n", (*i).hostApi().name());
+            tStr  += ttStr;
+            ttStr.Printf("Max inputs                  : %i\n", (*i).maxInputChannels());\r
+            tStr  += ttStr;
+            ttStr.Printf("Max outputs                 : %i\n\n", (*i).maxOutputChannels());\r
+            tStr  += ttStr;
+
+            ttStr.Printf("Default low input latency   : %8.3f\n", (*i).defaultLowInputLatency());\r
+            tStr  += ttStr;
+            ttStr.Printf("Default low output latency  : %8.3f\n", (*i).defaultLowOutputLatency());\r
+            tStr  += ttStr;
+            ttStr.Printf("Default high input latency  : %8.3f\n", (*i).defaultHighInputLatency());\r
+            tStr  += ttStr;
+            ttStr.Printf("Default high output latency : %8.3f\n\n", (*i).defaultHighOutputLatency());\r
+            tStr  += ttStr;
+            m_textTopRight->AppendText(tStr);
+
+#ifdef WIN32_ASIO
+            // ASIO specific latency information:
+            if ((*i).hostApi().typeId() == paASIO)
+            {
+                portaudio::AsioDeviceAdapter asioDevice((*i));
+
+                //std::cout << "ASIO minimum buffer size    = " << asioDevice.minBufferSize() << std::endl;
+                //std::cout << "ASIO maximum buffer size    = " << asioDevice.maxBufferSize() << std::endl;
+                //std::cout << "ASIO preferred buffer size  = " << asioDevice.preferredBufferSize() << std::endl;
+
+                if (asioDevice.granularity() == -1)
+                {
+                    //std::cout << "ASIO buffer granularity     = power of 2" << std::endl;
+                }
+                else
+                {
+                    //std::cout << "ASIO buffer granularity     = " << asioDevice.granularity() << std::endl;
+                }
+            }
+#endif // WIN32_ASIO
+
+            tStr.Printf("Default sample rate         : %8.2f\n", (*i).defaultSampleRate());
+            m_textTopRight->AppendText(tStr);
+*/
+            // Poll for standard sample rates:
+            portaudio::DirectionSpecificStreamParameters inputParameters((*i), (*i).maxInputChannels(), portaudio::INT16, true, 0.0, NULL);
+            portaudio::DirectionSpecificStreamParameters outputParameters((*i), (*i).maxOutputChannels(), portaudio::INT16, true, 0.0, NULL);
+            if (inputParameters.numChannels() > 0)
+            {
+                tStr = "Supported standard Input sample rates\n";\r
+                m_lbRxInput->InsertItems(1, &tStr, 0);
+                tStr.Printf("   for half-duplex 16 bit %i channel input = ", inputParameters.numChannels());
+                m_lbRxInput->InsertItems(1, &tStr, 0);
+                populateStandardSampleRates(m_lbRxInput, inputParameters, portaudio::DirectionSpecificStreamParameters::null());
+            }
+            if (outputParameters.numChannels() > 0)
+            {
+                tStr = "Supported standard Output sample rates\n";\r
+                m_lbTxOutput->InsertItems(1, &tStr, 0);
+                tStr.Printf("   for half-duplex 16 bit %i channel output = ", outputParameters.numChannels());
+                m_lbTxOutput->InsertItems(1, &tStr, 0);
+                populateStandardSampleRates(m_lbTxOutput, portaudio::DirectionSpecificStreamParameters::null(), outputParameters);
+            }
+            if (inputParameters.numChannels() > 0 && outputParameters.numChannels() > 0)
+            {
+                tStr = "Supported full-duplex sample rates\n";\r
+                m_lbVoiceInput->InsertItems(1, &tStr, 0);
+                tStr.Printf("   for full-duplex 16 bit %i channel input, %i", inputParameters.numChannels(), outputParameters.numChannels());
+                m_lbVoiceInput->InsertItems(1, &tStr, 0);
+                populateStandardSampleRates(m_lbVoiceInput, inputParameters, outputParameters);
+            }
+//            tStr.Printf("---------------------------------\n");
+//            m_textTopRight->AppendText(tStr);
+        }
+    }
+    catch (const portaudio::PaException &e)
+    {
+        tStr.Printf("A PortAudio error occured: %s\n",  e.paErrorText());\r
+        wxMessageBox(tStr, wxT("Portaudio exception"), wxOK);
+//        m_textTopRight->AppendText(tStr);
+    }
+    catch (const portaudio::PaCppException &e)
+    {
+        tStr.Printf("A PortAudioCpp error occured: %s\n", e.what());
+        wxMessageBox(tStr, wxT("PortAudioCpp error"), wxOK);
+        //m_textTopRight->AppendText(tStr);
+    }
+    catch (const std::exception &e)
+    {
+        tStr.Printf("A generic exception occured: %s\n", e.what());
+        wxMessageBox(tStr, wxT("Generic Exception"), wxOK);
+//        m_textTopRight->AppendText(tStr);
+    }
+    catch (...)
+    {
+        tStr.Printf("An unknown exception occured.\n");
+        wxMessageBox(tStr, wxT("Unknown error"), wxOK);
+//        m_textTopRight->AppendText(tStr);
+    }
+    return 0;
+}
+
+\r
index 32a7d506f92cce5c7e553550992c1a0397492810..bfb988b6ce92a549e4d8dab7221059ed5f261ba7 100644 (file)
 #ifndef __AUDIO_DIALOG__\r
 #define __AUDIO_DIALOG__\r
 \r
+#include <wx/wx.h>
 #include "topFrame.h"\r
+#include "extern/include/portaudio.h"
+#include "extern/include/portaudiocpp/PortAudioCpp.hxx"
+#ifdef WIN32
+#include "extern/include/portaudiocpp/AsioDeviceAdapter.hxx"
+#endif
 \r
 class AudioDlg : public DlgAudio\r
 {\r
@@ -21,10 +27,20 @@ class AudioDlg : public DlgAudio
         void OnCancel( wxCommandEvent& event );\r
         void OnOK( wxCommandEvent& event );\r
         void OnClose( wxCloseEvent& event );\r
+        void OnInitDialog( wxInitDialogEvent& event );\r
+        void OnApply( wxCommandEvent& event );\r
+        void populateStandardSampleRates(
+                wxListBox* target,
+                const portaudio::DirectionSpecificStreamParameters &inputParameters,
+                const portaudio::DirectionSpecificStreamParameters &outputParameters);
+        int populateAudioInfo();
     public:\r
         /** Constructor */\r
         AudioDlg( wxWindow* parent );\r
-\r
+        void OnRxInputSelect( wxCommandEvent& event );\r
+        void OnTxOutputSelect( wxCommandEvent& event );\r
+        void OnVoiceInputSelect( wxCommandEvent& event );\r
+        void OnVoiceOutputSelect( wxCommandEvent& event );\r
 };\r
 \r
 #endif // __AUDIO_DIALOG__\r
index cf98620bdfa6594eb8c0e7356bed46b3f7107bf3..e41ba7117dbccb9113991e55fd21634e67820305 100644 (file)
@@ -41,7 +41,7 @@ MakeDirCommand         :=makedir
 CmpOptions             := -O2 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=no) $(Preprocessors)\r
 C_CmpOptions           := -O2 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=no) $(Preprocessors)\r
 LinkOptions            :=  -mwindows -s $(shell wx-config --debug=no --libs --unicode=yes)\r
-IncludePath            :=  $(IncludeSwitch). \r
+IncludePath            :=  $(IncludeSwitch). $(IncludeSwitch)./extern/include \r
 IncludePCH             := \r
 RcIncludePath          := \r
 Libs                   := $(LibrarySwitch)sndfile-1 $(LibrarySwitch)codec2 $(LibrarySwitch)portaudio $(LibrarySwitch)portaudiocpp \r
index f36d03d8cb795311d826d6e6cef415334629727a..24882cce203f6899b7e85e2e8af9f9780150913e 100644 (file)
     <File Name="dlg_comports.cpp"/>
     <File Name="fdmdv2_plot.cpp"/>
     <File Name="fdmdv2_main.cpp"/>
+    <File Name="extern/include/portaudiocpp/AsioDeviceAdapter.hxx"/>
+    <File Name="extern/include/portaudiocpp/AutoSystem.hxx"/>
+    <File Name="extern/include/portaudiocpp/BlockingStream.hxx"/>
+    <File Name="extern/include/portaudiocpp/CallbackInterface.hxx"/>
+    <File Name="extern/include/portaudiocpp/CallbackStream.hxx"/>
+    <File Name="extern/include/portaudiocpp/CFunCallbackStream.hxx"/>
+    <File Name="extern/include/portaudiocpp/CppFunCallbackStream.hxx"/>
+    <File Name="extern/include/portaudiocpp/Device.hxx"/>
+    <File Name="extern/include/portaudiocpp/DirectionSpecificStreamParameters.hxx"/>
+    <File Name="extern/include/portaudiocpp/Exception.hxx"/>
+    <File Name="extern/include/portaudiocpp/HostApi.hxx"/>
+    <File Name="extern/include/portaudiocpp/InterfaceCallbackStream.hxx"/>
+    <File Name="extern/include/portaudiocpp/MemFunCallbackStream.hxx"/>
+    <File Name="extern/include/portaudiocpp/PortAudioCpp.hxx"/>
+    <File Name="extern/include/portaudiocpp/SampleDataFormat.hxx"/>
+    <File Name="extern/include/portaudiocpp/Stream.hxx"/>
+    <File Name="extern/include/portaudiocpp/StreamParameters.hxx"/>
+    <File Name="extern/include/portaudiocpp/System.hxx"/>
+    <File Name="extern/include/portaudiocpp/SystemDeviceIterator.hxx"/>
+    <File Name="extern/include/portaudiocpp/SystemHostApiIterator.hxx"/>
   </VirtualDirectory>
   <VirtualDirectory Name="include">
     <File Name="topFrame.h"/>
     <File Name="dlg_comports.h"/>
     <File Name="fdmdv2_plot.h"/>
     <File Name="fdmdv2_main.h"/>
+    <File Name="extern/include/codec2.h"/>
+    <File Name="extern/include/portaudio.h"/>
+    <File Name="extern/include/rig.h"/>
+    <File Name="extern/include/rig_dll.h"/>
+    <File Name="extern/include/riglist.h"/>
+    <File Name="extern/include/samplerate.h"/>
   </VirtualDirectory>
   <VirtualDirectory Name="resources">
     <File Name="FDMDV2.fbp"/>
     </Configuration>
     <Configuration Name="Release" CompilerType="gnu g++" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
       <Compiler Options="-O2;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=no)" C_Options="-O2;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=no)" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
+        <IncludePath Value="./extern/include"/>
         <Preprocessor Value="__WX__"/>
       </Compiler>
       <Linker Options="-mwindows;-s;$(shell wx-config --debug=no --libs --unicode=yes)" Required="yes">
index d3b8ce09a69994bf0d749125017db8ef54f73571..f6c474ca14e9e146d666d8e9f63b0676f5c77f4c 100644 (file)
@@ -100,13 +100,13 @@ void MainFrame::OnSliderScrollTop(wxScrollEvent& event)
 \r
 void MainFrame::OnSliderScrollBottom(wxScrollEvent& event)\r
 {\r
-    wxMessageBox("Got Click!", "OnSliderScrollBottom", wxOK);\r
+    wxMessageBox(wxT("Got Click!"), wxT("OnSliderScrollBottom"), wxOK);\r
     event.Skip();\r
 }\r
 \r
 void MainFrame::OnCheckSQClick(wxCommandEvent& event)\r
 {\r
-    wxMessageBox("Got Click!", "OnCheckSQClick", wxOK);\r
+    wxMessageBox(wxT("Got Click!"), wxT("OnCheckSQClick"), wxOK);\r
     event.Skip();\r
 }\r
 \r
index cc2158ca569718160d27dc3c0b6eccec18249c24..8227818fa1052a653b2418d60bd070a495030d42 100644 (file)
Binary files a/fdmdv2/pa_cppbinding_test/Release/pa_cppbinding_test.exe and b/fdmdv2/pa_cppbinding_test/Release/pa_cppbinding_test.exe differ
index 530e1a14ed794be1ec5310c091d34bd4b748283a..974b512d8044ac4a56c089506e011caf385d539a 100644 (file)
@@ -18,7 +18,7 @@
 #include <portaudio.h>
 #include "portaudiocpp/PortAudioCpp.hxx"
 #ifdef WIN32
-#include "../extern/include/portaudiocpp/AsioDeviceAdapter.hxx"
+#include "portaudiocpp/AsioDeviceAdapter.hxx"
 #endif
 
 // gui classes generated by wxFormBuilder
index c45a07f6ba40b1461743372f8c634fc3f7f57b61..13c340c799b5909afb2564a8bd3077df46e94f19 100644 (file)
@@ -13,7 +13,7 @@ CurrentFileName        :=
 CurrentFilePath        :=\r
 CurrentFileFullPath    :=\r
 User                   :=wittend\r
-Date                   :=5/27/2012\r
+Date                   :=5/29/2012\r
 CodeLitePath           :="C:\Program Files\CodeLite"\r
 LinkerName             :=g++\r
 ArchiveTool            :=ar rcus\r
index 6728a3af9da0b8aab7d0844777a0ba3969ba195c..3792c541c5b017fd8eff2730903c9781326221cc 100644 (file)
@@ -40,6 +40,8 @@
   <VirtualDirectory Name="resources">
     <File Name="gui.fbp"/>
   </VirtualDirectory>
+  <Dependencies Name="Debug"/>
+  <Dependencies Name="Release"/>
   <Settings Type="Executable">
     <GlobalSettings>
       <Compiler Options="" C_Options="">
       </Completion>
     </Configuration>
   </Settings>
-  <Dependencies Name="Debug"/>
-  <Dependencies Name="Release"/>
 </CodeLite_Project>
index 10227fd1a5bbdcf77466c976f15ee915edd6aa9c..59c9df2762a5d1376329b8dc6e55e07e46a70222 100644 (file)
 \r
 TopFrame::TopFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )\r
 {\r
-    this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
-    this->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );\r
-    this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) );\r
-\r
-    m_menubarMain = new wxMenuBar( wxMB_DOCKABLE );\r
-    file = new wxMenu();\r
-    wxMenuItem* m_menuItemOpen;\r
-    m_menuItemOpen = new wxMenuItem( file, ID_OPEN, wxString( _("&Open") ) , _("Open File"), wxITEM_NORMAL );\r
-    file->Append( m_menuItemOpen );\r
-\r
-    wxMenuItem* m_menuItemSave;\r
-    m_menuItemSave = new wxMenuItem( file, ID_SAVE, wxString( _("&Save") ) , _("Save current file"), wxITEM_NORMAL );\r
-    file->Append( m_menuItemSave );\r
-\r
-    wxMenuItem* m_menuItemClose;\r
-    m_menuItemClose = new wxMenuItem( file, ID_CLOSE, wxString( _("&Close") ) , _("Close current file"), wxITEM_NORMAL );\r
-    file->Append( m_menuItemClose );\r
-\r
-    file->AppendSeparator();\r
-\r
-    wxMenuItem* m_menuItemExit;\r
-    m_menuItemExit = new wxMenuItem( file, ID_EXIT, wxString( _("E&xit") ) , _("Exit Program"), wxITEM_NORMAL );\r
-    file->Append( m_menuItemExit );\r
-\r
-    m_menubarMain->Append( file, _("&File") );\r
-\r
-    edit = new wxMenu();\r
-    wxMenuItem* m_menuItemCopy;\r
-    m_menuItemCopy = new wxMenuItem( edit, ID_COPY, wxString( _("&Copy") ) , _("Copy selection"), wxITEM_NORMAL );\r
-    edit->Append( m_menuItemCopy );\r
-    m_menuItemCopy->Enable( false );\r
-\r
-    wxMenuItem* m_menuItemCut;\r
-    m_menuItemCut = new wxMenuItem( edit, ID_CUT, wxString( _("Cut") ) , _("Cut Selection"), wxITEM_NORMAL );\r
-    edit->Append( m_menuItemCut );\r
-    m_menuItemCut->Enable( false );\r
-\r
-    wxMenuItem* m_menuItemPaste;\r
-    m_menuItemPaste = new wxMenuItem( edit, ID_PASTE, wxString( _("&Paste") ) , _("Paste selection"), wxITEM_NORMAL );\r
-    edit->Append( m_menuItemPaste );\r
-    m_menuItemPaste->Enable( false );\r
-\r
-    m_menubarMain->Append( edit, _("&Edit") );\r
-\r
-    tools = new wxMenu();\r
-    wxMenuItem* m_menuItemAudio;\r
-    m_menuItemAudio = new wxMenuItem( tools, wxID_ANY, wxString( _("&Audio") ) , wxEmptyString, wxITEM_NORMAL );\r
-    tools->Append( m_menuItemAudio );\r
-\r
-    wxMenuItem* m_menuItemComCfg;\r
-    m_menuItemComCfg = new wxMenuItem( tools, wxID_ANY, wxString( _("Com Port Config") ) , wxEmptyString, wxITEM_NORMAL );\r
-    tools->Append( m_menuItemComCfg );\r
-\r
-    wxMenuItem* m_menuItemOptions;\r
-    m_menuItemOptions = new wxMenuItem( tools, ID_OPTIONS, wxString( _("&Options") ) , _("Set preferences"), wxITEM_NORMAL );\r
-    tools->Append( m_menuItemOptions );\r
-\r
-    m_menubarMain->Append( tools, _("&Tools") );\r
-\r
-    help = new wxMenu();\r
-    wxMenuItem* m_menuItemHelpUpdates;\r
-    m_menuItemHelpUpdates = new wxMenuItem( help, wxID_ANY, wxString( _("Check for Updates") ) , wxEmptyString, wxITEM_NORMAL );\r
-    help->Append( m_menuItemHelpUpdates );\r
-    m_menuItemHelpUpdates->Enable( false );\r
-\r
-    wxMenuItem* m_menuItemAbout;\r
-    m_menuItemAbout = new wxMenuItem( help, ID_ABOUT, wxString( _("&About") ) , _("About this program"), wxITEM_NORMAL );\r
-    help->Append( m_menuItemAbout );\r
-\r
-    m_menubarMain->Append( help, _("&Help") );\r
-\r
-    this->SetMenuBar( m_menubarMain );\r
-\r
-    wxBoxSizer* bSizer1;\r
-    bSizer1 = new wxBoxSizer( wxHORIZONTAL );\r
-\r
-    wxBoxSizer* leftSizer;\r
-    leftSizer = new wxBoxSizer( wxVERTICAL );\r
-\r
-    wxStaticBoxSizer* snrSizer;\r
-    snrSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("SNR") ), wxVERTICAL );\r
-\r
-    m_gaugeSNR = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( 15,135 ), wxGA_SMOOTH|wxGA_VERTICAL );\r
-    snrSizer->Add( m_gaugeSNR, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10 );\r
-\r
-    wxBoxSizer* bSizer29;\r
-    bSizer29 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_textSNR = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxPoint( -1,-1 ), wxSize( 35,25 ), wxTE_READONLY );\r
-    m_textSNR->SetMinSize( wxSize( 35,25 ) );\r
-\r
-    bSizer29->Add( m_textSNR, 0, wxALIGN_CENTER|wxALL, 1 );\r
-\r
-\r
-    snrSizer->Add( bSizer29, 0, wxEXPAND, 1 );\r
-\r
-\r
-    leftSizer->Add( snrSizer, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 1 );\r
-\r
-    wxStaticBoxSizer* levelSizer;\r
-    levelSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Level") ), wxVERTICAL );\r
-\r
-    m_gaugeLevel = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( 15,135 ), wxGA_SMOOTH|wxGA_VERTICAL );\r
-    levelSizer->Add( m_gaugeLevel, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10 );\r
-\r
-\r
-    leftSizer->Add( levelSizer, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 1 );\r
-\r
-\r
-    bSizer1->Add( leftSizer, 0, wxALL|wxEXPAND, 5 );\r
-\r
-    wxBoxSizer* centerSizer;\r
-    centerSizer = new wxBoxSizer( wxVERTICAL );\r
-\r
-    wxBoxSizer* upperSizer;\r
-    upperSizer = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_auiNbookCtrl = new wxAuiNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_NB_BOTTOM|wxAUI_NB_DEFAULT_STYLE );\r
-\r
-    upperSizer->Add( m_auiNbookCtrl, 1, wxALIGN_TOP|wxEXPAND, 1 );\r
-\r
-\r
-    centerSizer->Add( upperSizer, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALIGN_TOP|wxEXPAND, 0 );\r
-\r
-    wxBoxSizer* lowerSizer;\r
-    lowerSizer = new wxBoxSizer( wxHORIZONTAL );\r
-\r
-    wxBoxSizer* bSizer15;\r
-    bSizer15 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_txtCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer15->Add( m_txtCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );\r
-\r
-\r
-    lowerSizer->Add( bSizer15, 1, wxEXPAND, 5 );\r
-\r
-    wxBoxSizer* bSizer141;\r
-    bSizer141 = new wxBoxSizer( wxHORIZONTAL );\r
-\r
-    m_togRxID = new wxToggleButton( this, wxID_ANY, _("RxID"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer141->Add( m_togRxID, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL|wxFIXED_MINSIZE, 5 );\r
-\r
-    m_togTxID = new wxToggleButton( this, wxID_ANY, _("TxID"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer141->Add( m_togTxID, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
-\r
-\r
-    lowerSizer->Add( bSizer141, 0, wxALIGN_RIGHT, 5 );\r
-\r
-\r
-    centerSizer->Add( lowerSizer, 0, wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 2 );\r
-\r
-\r
-    bSizer1->Add( centerSizer, 4, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 1 );\r
-\r
-    wxBoxSizer* rightSizer;\r
-    rightSizer = new wxBoxSizer( wxVERTICAL );\r
-\r
-    wxStaticBoxSizer* sbSizer3;\r
-    sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("SQ") ), wxVERTICAL );\r
-\r
-    m_sliderSQ = new wxSlider( this, wxID_ANY, 50, 0, 100, wxDefaultPosition, wxSize( -1,100 ), wxSL_AUTOTICKS|wxSL_INVERSE|wxSL_VERTICAL );\r
-    sbSizer3->Add( m_sliderSQ, 2, wxALIGN_CENTER|wxALL, 1 );\r
-\r
-    wxBoxSizer* bSizer131;\r
-    bSizer131 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_ckboxSQ = new wxCheckBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );\r
-    bSizer131->Add( m_ckboxSQ, 0, wxALIGN_CENTER|wxALL, 5 );\r
-\r
-\r
-    sbSizer3->Add( bSizer131, 0, wxALIGN_CENTER, 5 );\r
-\r
-\r
-    rightSizer->Add( sbSizer3, 3, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 3 );\r
-\r
-    wxStaticBoxSizer* sbSizer5;\r
-    sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Control") ), wxVERTICAL );\r
-\r
-    wxBoxSizer* bSizer151;\r
-    bSizer151 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_togBtnSplit = new wxToggleButton( this, wxID_ANY, _("Split"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    m_togBtnSplit->SetToolTip( _("Toggle Split mode.") );\r
-\r
-    bSizer151->Add( m_togBtnSplit, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
-\r
-\r
-    sbSizer5->Add( bSizer151, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 1 );\r
-\r
-    wxBoxSizer* bSizer13;\r
-    bSizer13 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_togBtnAnalog = new wxToggleButton( this, wxID_ANY, _("Analog"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    m_togBtnAnalog->SetToolTip( _("Toggle analog/digital operation.") );\r
-\r
-    bSizer13->Add( m_togBtnAnalog, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
-\r
-\r
-    sbSizer5->Add( bSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
-\r
-    wxBoxSizer* bSizer14;\r
-    bSizer14 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_togBtnALC = new wxToggleButton( this, wxID_ANY, _("ALC"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    m_togBtnALC->SetToolTip( _("Toggle ALC Mode.") );\r
-\r
-    bSizer14->Add( m_togBtnALC, 0, wxALL, 1 );\r
-\r
-\r
-    sbSizer5->Add( bSizer14, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALL, 1 );\r
-\r
-    wxBoxSizer* bSizer11;\r
-    bSizer11 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_btnTogTX = new wxToggleButton( this, wxID_ANY, _("TX"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer11->Add( m_btnTogTX, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
-\r
-\r
-    sbSizer5->Add( bSizer11, 2, wxEXPAND, 1 );\r
-\r
-\r
-    rightSizer->Add( sbSizer5, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 3 );\r
-\r
-\r
-    bSizer1->Add( rightSizer, 0, wxALL|wxEXPAND, 3 );\r
-\r
-\r
-    this->SetSizer( bSizer1 );\r
-    this->Layout();\r
-    m_statusBar1 = this->CreateStatusBar( 3, wxST_SIZEGRIP, wxID_ANY );\r
-\r
-    // Connect Events\r
-    this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( TopFrame::topFrame_OnClose ) );\r
-    this->Connect( wxEVT_PAINT, wxPaintEventHandler( TopFrame::topFrame_OnPaint ) );\r
-    this->Connect( wxEVT_SIZE, wxSizeEventHandler( TopFrame::topFrame_OnSize ) );\r
-    this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::topFrame_OnUpdateUI ) );\r
-    this->Connect( m_menuItemOpen->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnOpen ) );\r
-    this->Connect( m_menuItemOpen->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnOpenUpdateUI ) );\r
-    this->Connect( m_menuItemSave->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnSave ) );\r
-    this->Connect( m_menuItemSave->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnSaveUpdateUI ) );\r
-    this->Connect( m_menuItemClose->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnClose ) );\r
-    this->Connect( m_menuItemClose->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCloseUpdateUI ) );\r
-    this->Connect( m_menuItemExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnExit ) );\r
-    this->Connect( m_menuItemCopy->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCopy ) );\r
-    this->Connect( m_menuItemCopy->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCopyUpdateUI ) );\r
-    this->Connect( m_menuItemCut->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCut ) );\r
-    this->Connect( m_menuItemCut->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCutUpdateUI ) );\r
-    this->Connect( m_menuItemPaste->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPaste ) );\r
-    this->Connect( m_menuItemPaste->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnPasteUpdateUI ) );\r
-    this->Connect( m_menuItemAudio->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsAudio ) );\r
-    this->Connect( m_menuItemAudio->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsAudioUI ) );\r
-    this->Connect( m_menuItemComCfg->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsComCfg ) );\r
-    this->Connect( m_menuItemComCfg->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsComCfgUI ) );\r
-    this->Connect( m_menuItemOptions->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsOptions ) );\r
-    this->Connect( m_menuItemOptions->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsOptionsUI ) );\r
-    this->Connect( m_menuItemHelpUpdates->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpCheckUpdates ) );\r
-    this->Connect( m_menuItemHelpUpdates->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnHelpCheckUpdatesUI ) );\r
-    this->Connect( m_menuItemAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpAbout ) );\r
-    m_togRxID->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnRxID ), NULL, this );\r
-    m_togTxID->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTxID ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnSliderScrollBottom ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScrollChanged ), NULL, this );\r
-    m_sliderSQ->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnSliderScrollTop ), NULL, this );\r
-    m_ckboxSQ->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TopFrame::OnCheckSQClick ), NULL, this );\r
-    m_togBtnSplit->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnSplitClick ), NULL, this );\r
-    m_togBtnAnalog->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnAnalogClick ), NULL, this );\r
-    m_togBtnALC->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnALCClick ), NULL, this );\r
-    m_btnTogTX->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTXClick ), NULL, this );\r
+       this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
+       this->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );\r
+       this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) );\r
+       \r
+       m_menubarMain = new wxMenuBar( wxMB_DOCKABLE );\r
+       file = new wxMenu();\r
+       wxMenuItem* m_menuItemOpen;\r
+       m_menuItemOpen = new wxMenuItem( file, ID_OPEN, wxString( _("&Open") ) , _("Open File"), wxITEM_NORMAL );\r
+       file->Append( m_menuItemOpen );\r
+       \r
+       wxMenuItem* m_menuItemSave;\r
+       m_menuItemSave = new wxMenuItem( file, ID_SAVE, wxString( _("&Save") ) , _("Save current file"), wxITEM_NORMAL );\r
+       file->Append( m_menuItemSave );\r
+       \r
+       wxMenuItem* m_menuItemClose;\r
+       m_menuItemClose = new wxMenuItem( file, ID_CLOSE, wxString( _("&Close") ) , _("Close current file"), wxITEM_NORMAL );\r
+       file->Append( m_menuItemClose );\r
+       \r
+       file->AppendSeparator();\r
+       \r
+       wxMenuItem* m_menuItemExit;\r
+       m_menuItemExit = new wxMenuItem( file, ID_EXIT, wxString( _("E&xit") ) , _("Exit Program"), wxITEM_NORMAL );\r
+       file->Append( m_menuItemExit );\r
+       \r
+       m_menubarMain->Append( file, _("&File") ); \r
+       \r
+       edit = new wxMenu();\r
+       wxMenuItem* m_menuItemCopy;\r
+       m_menuItemCopy = new wxMenuItem( edit, ID_COPY, wxString( _("&Copy") ) , _("Copy selection"), wxITEM_NORMAL );\r
+       edit->Append( m_menuItemCopy );\r
+       m_menuItemCopy->Enable( false );\r
+       \r
+       wxMenuItem* m_menuItemCut;\r
+       m_menuItemCut = new wxMenuItem( edit, ID_CUT, wxString( _("Cut") ) , _("Cut Selection"), wxITEM_NORMAL );\r
+       edit->Append( m_menuItemCut );\r
+       m_menuItemCut->Enable( false );\r
+       \r
+       wxMenuItem* m_menuItemPaste;\r
+       m_menuItemPaste = new wxMenuItem( edit, ID_PASTE, wxString( _("&Paste") ) , _("Paste selection"), wxITEM_NORMAL );\r
+       edit->Append( m_menuItemPaste );\r
+       m_menuItemPaste->Enable( false );\r
+       \r
+       m_menubarMain->Append( edit, _("&Edit") ); \r
+       \r
+       tools = new wxMenu();\r
+       wxMenuItem* m_menuItemAudio;\r
+       m_menuItemAudio = new wxMenuItem( tools, wxID_ANY, wxString( _("&Audio") ) , wxEmptyString, wxITEM_NORMAL );\r
+       tools->Append( m_menuItemAudio );\r
+       \r
+       wxMenuItem* m_menuItemComCfg;\r
+       m_menuItemComCfg = new wxMenuItem( tools, wxID_ANY, wxString( _("Com Port Config") ) , wxEmptyString, wxITEM_NORMAL );\r
+       tools->Append( m_menuItemComCfg );\r
+       \r
+       wxMenuItem* m_menuItemOptions;\r
+       m_menuItemOptions = new wxMenuItem( tools, ID_OPTIONS, wxString( _("&Options") ) , _("Set preferences"), wxITEM_NORMAL );\r
+       tools->Append( m_menuItemOptions );\r
+       \r
+       m_menubarMain->Append( tools, _("&Tools") ); \r
+       \r
+       help = new wxMenu();\r
+       wxMenuItem* m_menuItemHelpUpdates;\r
+       m_menuItemHelpUpdates = new wxMenuItem( help, wxID_ANY, wxString( _("Check for Updates") ) , wxEmptyString, wxITEM_NORMAL );\r
+       help->Append( m_menuItemHelpUpdates );\r
+       m_menuItemHelpUpdates->Enable( false );\r
+       \r
+       wxMenuItem* m_menuItemAbout;\r
+       m_menuItemAbout = new wxMenuItem( help, ID_ABOUT, wxString( _("&About") ) , _("About this program"), wxITEM_NORMAL );\r
+       help->Append( m_menuItemAbout );\r
+       \r
+       m_menubarMain->Append( help, _("&Help") ); \r
+       \r
+       this->SetMenuBar( m_menubarMain );\r
+       \r
+       wxBoxSizer* bSizer1;\r
+       bSizer1 = new wxBoxSizer( wxHORIZONTAL );\r
+       \r
+       wxBoxSizer* leftSizer;\r
+       leftSizer = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       wxStaticBoxSizer* snrSizer;\r
+       snrSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("SNR") ), wxVERTICAL );\r
+       \r
+       m_gaugeSNR = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( 15,135 ), wxGA_SMOOTH|wxGA_VERTICAL );\r
+       snrSizer->Add( m_gaugeSNR, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10 );\r
+       \r
+       wxBoxSizer* bSizer29;\r
+       bSizer29 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_textSNR = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxPoint( -1,-1 ), wxSize( 35,25 ), wxTE_READONLY );\r
+       m_textSNR->SetMinSize( wxSize( 35,25 ) );\r
+       \r
+       bSizer29->Add( m_textSNR, 0, wxALIGN_CENTER|wxALL, 1 );\r
+       \r
+       \r
+       snrSizer->Add( bSizer29, 0, wxEXPAND, 1 );\r
+       \r
+       \r
+       leftSizer->Add( snrSizer, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 1 );\r
+       \r
+       wxStaticBoxSizer* levelSizer;\r
+       levelSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Level") ), wxVERTICAL );\r
+       \r
+       m_gaugeLevel = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( 15,135 ), wxGA_SMOOTH|wxGA_VERTICAL );\r
+       levelSizer->Add( m_gaugeLevel, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10 );\r
+       \r
+       \r
+       leftSizer->Add( levelSizer, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 1 );\r
+       \r
+       \r
+       bSizer1->Add( leftSizer, 0, wxALL|wxEXPAND, 5 );\r
+       \r
+       wxBoxSizer* centerSizer;\r
+       centerSizer = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       wxBoxSizer* upperSizer;\r
+       upperSizer = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_auiNbookCtrl = new wxAuiNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_NB_BOTTOM|wxAUI_NB_DEFAULT_STYLE );\r
+       \r
+       upperSizer->Add( m_auiNbookCtrl, 1, wxALIGN_TOP|wxEXPAND, 1 );\r
+       \r
+       \r
+       centerSizer->Add( upperSizer, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALIGN_TOP|wxEXPAND, 0 );\r
+       \r
+       wxBoxSizer* lowerSizer;\r
+       lowerSizer = new wxBoxSizer( wxHORIZONTAL );\r
+       \r
+       wxBoxSizer* bSizer15;\r
+       bSizer15 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_txtCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer15->Add( m_txtCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );\r
+       \r
+       \r
+       lowerSizer->Add( bSizer15, 1, wxEXPAND, 5 );\r
+       \r
+       wxBoxSizer* bSizer141;\r
+       bSizer141 = new wxBoxSizer( wxHORIZONTAL );\r
+       \r
+       m_togRxID = new wxToggleButton( this, wxID_ANY, _("RxID"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer141->Add( m_togRxID, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL|wxFIXED_MINSIZE, 5 );\r
+       \r
+       m_togTxID = new wxToggleButton( this, wxID_ANY, _("TxID"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer141->Add( m_togTxID, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
+       \r
+       \r
+       lowerSizer->Add( bSizer141, 0, wxALIGN_RIGHT, 5 );\r
+       \r
+       \r
+       centerSizer->Add( lowerSizer, 0, wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 2 );\r
+       \r
+       \r
+       bSizer1->Add( centerSizer, 4, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 1 );\r
+       \r
+       wxBoxSizer* rightSizer;\r
+       rightSizer = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       wxStaticBoxSizer* sbSizer3;\r
+       sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("SQ") ), wxVERTICAL );\r
+       \r
+       m_sliderSQ = new wxSlider( this, wxID_ANY, 50, 0, 100, wxDefaultPosition, wxSize( -1,100 ), wxSL_AUTOTICKS|wxSL_INVERSE|wxSL_VERTICAL );\r
+       sbSizer3->Add( m_sliderSQ, 2, wxALIGN_CENTER|wxALL, 1 );\r
+       \r
+       wxBoxSizer* bSizer131;\r
+       bSizer131 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_ckboxSQ = new wxCheckBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );\r
+       bSizer131->Add( m_ckboxSQ, 0, wxALIGN_CENTER|wxALL, 5 );\r
+       \r
+       \r
+       sbSizer3->Add( bSizer131, 0, wxALIGN_CENTER, 5 );\r
+       \r
+       \r
+       rightSizer->Add( sbSizer3, 3, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 3 );\r
+       \r
+       wxStaticBoxSizer* sbSizer5;\r
+       sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Control") ), wxVERTICAL );\r
+       \r
+       wxBoxSizer* bSizer151;\r
+       bSizer151 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_togBtnSplit = new wxToggleButton( this, wxID_ANY, _("Split"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       m_togBtnSplit->SetToolTip( _("Toggle Split mode.") );\r
+       \r
+       bSizer151->Add( m_togBtnSplit, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
+       \r
+       \r
+       sbSizer5->Add( bSizer151, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 1 );\r
+       \r
+       wxBoxSizer* bSizer13;\r
+       bSizer13 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_togBtnAnalog = new wxToggleButton( this, wxID_ANY, _("Analog"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       m_togBtnAnalog->SetToolTip( _("Toggle analog/digital operation.") );\r
+       \r
+       bSizer13->Add( m_togBtnAnalog, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
+       \r
+       \r
+       sbSizer5->Add( bSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
+       \r
+       wxBoxSizer* bSizer14;\r
+       bSizer14 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_togBtnALC = new wxToggleButton( this, wxID_ANY, _("ALC"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       m_togBtnALC->SetToolTip( _("Toggle ALC Mode.") );\r
+       \r
+       bSizer14->Add( m_togBtnALC, 0, wxALL, 1 );\r
+       \r
+       \r
+       sbSizer5->Add( bSizer14, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALL, 1 );\r
+       \r
+       wxBoxSizer* bSizer11;\r
+       bSizer11 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_btnTogTX = new wxToggleButton( this, wxID_ANY, _("TX"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer11->Add( m_btnTogTX, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
+       \r
+       \r
+       sbSizer5->Add( bSizer11, 2, wxEXPAND, 1 );\r
+       \r
+       \r
+       rightSizer->Add( sbSizer5, 2, wxALIGN_CENTER|wxALL|wxEXPAND, 3 );\r
+       \r
+       \r
+       bSizer1->Add( rightSizer, 0, wxALL|wxEXPAND, 3 );\r
+       \r
+       \r
+       this->SetSizer( bSizer1 );\r
+       this->Layout();\r
+       m_statusBar1 = this->CreateStatusBar( 3, wxST_SIZEGRIP, wxID_ANY );\r
+       \r
+       // Connect Events\r
+       this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( TopFrame::topFrame_OnClose ) );\r
+       this->Connect( wxEVT_PAINT, wxPaintEventHandler( TopFrame::topFrame_OnPaint ) );\r
+       this->Connect( wxEVT_SIZE, wxSizeEventHandler( TopFrame::topFrame_OnSize ) );\r
+       this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::topFrame_OnUpdateUI ) );\r
+       this->Connect( m_menuItemOpen->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnOpen ) );\r
+       this->Connect( m_menuItemOpen->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnOpenUpdateUI ) );\r
+       this->Connect( m_menuItemSave->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnSave ) );\r
+       this->Connect( m_menuItemSave->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnSaveUpdateUI ) );\r
+       this->Connect( m_menuItemClose->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnClose ) );\r
+       this->Connect( m_menuItemClose->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCloseUpdateUI ) );\r
+       this->Connect( m_menuItemExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnExit ) );\r
+       this->Connect( m_menuItemCopy->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCopy ) );\r
+       this->Connect( m_menuItemCopy->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCopyUpdateUI ) );\r
+       this->Connect( m_menuItemCut->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCut ) );\r
+       this->Connect( m_menuItemCut->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCutUpdateUI ) );\r
+       this->Connect( m_menuItemPaste->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPaste ) );\r
+       this->Connect( m_menuItemPaste->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnPasteUpdateUI ) );\r
+       this->Connect( m_menuItemAudio->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsAudio ) );\r
+       this->Connect( m_menuItemAudio->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsAudioUI ) );\r
+       this->Connect( m_menuItemComCfg->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsComCfg ) );\r
+       this->Connect( m_menuItemComCfg->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsComCfgUI ) );\r
+       this->Connect( m_menuItemOptions->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsOptions ) );\r
+       this->Connect( m_menuItemOptions->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsOptionsUI ) );\r
+       this->Connect( m_menuItemHelpUpdates->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpCheckUpdates ) );\r
+       this->Connect( m_menuItemHelpUpdates->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnHelpCheckUpdatesUI ) );\r
+       this->Connect( m_menuItemAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpAbout ) );\r
+       m_togRxID->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnRxID ), NULL, this );\r
+       m_togTxID->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTxID ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnSliderScrollBottom ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScrollChanged ), NULL, this );\r
+       m_sliderSQ->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnSliderScrollTop ), NULL, this );\r
+       m_ckboxSQ->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TopFrame::OnCheckSQClick ), NULL, this );\r
+       m_togBtnSplit->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnSplitClick ), NULL, this );\r
+       m_togBtnAnalog->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnAnalogClick ), NULL, this );\r
+       m_togBtnALC->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnALCClick ), NULL, this );\r
+       m_btnTogTX->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTXClick ), NULL, this );\r
 }\r
 \r
 TopFrame::~TopFrame()\r
 {\r
-    // Disconnect Events\r
-    this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( TopFrame::topFrame_OnClose ) );\r
-    this->Disconnect( wxEVT_PAINT, wxPaintEventHandler( TopFrame::topFrame_OnPaint ) );\r
-    this->Disconnect( wxEVT_SIZE, wxSizeEventHandler( TopFrame::topFrame_OnSize ) );\r
-    this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::topFrame_OnUpdateUI ) );\r
-    this->Disconnect( ID_OPEN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnOpen ) );\r
-    this->Disconnect( ID_OPEN, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnOpenUpdateUI ) );\r
-    this->Disconnect( ID_SAVE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnSave ) );\r
-    this->Disconnect( ID_SAVE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnSaveUpdateUI ) );\r
-    this->Disconnect( ID_CLOSE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnClose ) );\r
-    this->Disconnect( ID_CLOSE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCloseUpdateUI ) );\r
-    this->Disconnect( ID_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnExit ) );\r
-    this->Disconnect( ID_COPY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCopy ) );\r
-    this->Disconnect( ID_COPY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCopyUpdateUI ) );\r
-    this->Disconnect( ID_CUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCut ) );\r
-    this->Disconnect( ID_CUT, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCutUpdateUI ) );\r
-    this->Disconnect( ID_PASTE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPaste ) );\r
-    this->Disconnect( ID_PASTE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnPasteUpdateUI ) );\r
-    this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsAudio ) );\r
-    this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsAudioUI ) );\r
-    this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsComCfg ) );\r
-    this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsComCfgUI ) );\r
-    this->Disconnect( ID_OPTIONS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsOptions ) );\r
-    this->Disconnect( ID_OPTIONS, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsOptionsUI ) );\r
-    this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpCheckUpdates ) );\r
-    this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnHelpCheckUpdatesUI ) );\r
-    this->Disconnect( ID_ABOUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpAbout ) );\r
-    m_togRxID->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnRxID ), NULL, this );\r
-    m_togTxID->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTxID ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnSliderScrollBottom ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScrollChanged ), NULL, this );\r
-    m_sliderSQ->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnSliderScrollTop ), NULL, this );\r
-    m_ckboxSQ->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TopFrame::OnCheckSQClick ), NULL, this );\r
-    m_togBtnSplit->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnSplitClick ), NULL, this );\r
-    m_togBtnAnalog->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnAnalogClick ), NULL, this );\r
-    m_togBtnALC->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnALCClick ), NULL, this );\r
-    m_btnTogTX->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTXClick ), NULL, this );\r
-\r
+       // Disconnect Events\r
+       this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( TopFrame::topFrame_OnClose ) );\r
+       this->Disconnect( wxEVT_PAINT, wxPaintEventHandler( TopFrame::topFrame_OnPaint ) );\r
+       this->Disconnect( wxEVT_SIZE, wxSizeEventHandler( TopFrame::topFrame_OnSize ) );\r
+       this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::topFrame_OnUpdateUI ) );\r
+       this->Disconnect( ID_OPEN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnOpen ) );\r
+       this->Disconnect( ID_OPEN, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnOpenUpdateUI ) );\r
+       this->Disconnect( ID_SAVE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnSave ) );\r
+       this->Disconnect( ID_SAVE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnSaveUpdateUI ) );\r
+       this->Disconnect( ID_CLOSE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnClose ) );\r
+       this->Disconnect( ID_CLOSE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCloseUpdateUI ) );\r
+       this->Disconnect( ID_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnExit ) );\r
+       this->Disconnect( ID_COPY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCopy ) );\r
+       this->Disconnect( ID_COPY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCopyUpdateUI ) );\r
+       this->Disconnect( ID_CUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnCut ) );\r
+       this->Disconnect( ID_CUT, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnCutUpdateUI ) );\r
+       this->Disconnect( ID_PASTE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnPaste ) );\r
+       this->Disconnect( ID_PASTE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnPasteUpdateUI ) );\r
+       this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsAudio ) );\r
+       this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsAudioUI ) );\r
+       this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsComCfg ) );\r
+       this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsComCfgUI ) );\r
+       this->Disconnect( ID_OPTIONS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnToolsOptions ) );\r
+       this->Disconnect( ID_OPTIONS, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnToolsOptionsUI ) );\r
+       this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpCheckUpdates ) );\r
+       this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( TopFrame::OnHelpCheckUpdatesUI ) );\r
+       this->Disconnect( ID_ABOUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( TopFrame::OnHelpAbout ) );\r
+       m_togRxID->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnRxID ), NULL, this );\r
+       m_togTxID->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTxID ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScroll ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( TopFrame::OnSliderScrollBottom ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( TopFrame::OnCmdSliderScrollChanged ), NULL, this );\r
+       m_sliderSQ->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( TopFrame::OnSliderScrollTop ), NULL, this );\r
+       m_ckboxSQ->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TopFrame::OnCheckSQClick ), NULL, this );\r
+       m_togBtnSplit->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnSplitClick ), NULL, this );\r
+       m_togBtnAnalog->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnAnalogClick ), NULL, this );\r
+       m_togBtnALC->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnALCClick ), NULL, this );\r
+       m_btnTogTX->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( TopFrame::OnTogBtnTXClick ), NULL, this );\r
+       \r
 }\r
 \r
 DlgAbout::DlgAbout( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
 {\r
-    this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
-\r
-    wxBoxSizer* bSizer20;\r
-    bSizer20 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    wxBoxSizer* bSizer21;\r
-    bSizer21 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    wxBoxSizer* bSizer23;\r
-    bSizer23 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    wxBoxSizer* bSizer25;\r
-    bSizer25 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_bitmapAbout = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer25->Add( m_bitmapAbout, 1, wxALL|wxEXPAND, 5 );\r
-\r
-\r
-    bSizer23->Add( bSizer25, 1, wxEXPAND, 5 );\r
-\r
-    wxBoxSizer* bSizer26;\r
-    bSizer26 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_staticText1 = new wxStaticText( this, wxID_ANY, _("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    m_staticText1->Wrap( -1 );\r
-    bSizer26->Add( m_staticText1, 1, wxALL, 5 );\r
-\r
-\r
-    bSizer23->Add( bSizer26, 0, 0, 5 );\r
-\r
-\r
-    bSizer21->Add( bSizer23, 1, wxEXPAND, 5 );\r
-\r
-    wxBoxSizer* bSizer24;\r
-    bSizer24 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_textCtrl2 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer24->Add( m_textCtrl2, 1, wxALL|wxEXPAND, 5 );\r
-\r
-\r
-    bSizer21->Add( bSizer24, 1, wxEXPAND, 5 );\r
-\r
-\r
-    bSizer20->Add( bSizer21, 1, wxEXPAND, 5 );\r
-\r
-    wxBoxSizer* bSizer22;\r
-    bSizer22 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_button9 = new wxButton( this, wxID_ANY, _("MyButton"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer22->Add( m_button9, 0, wxALIGN_BOTTOM|wxALIGN_RIGHT|wxALL, 5 );\r
-\r
-\r
-    bSizer20->Add( bSizer22, 0, wxALIGN_RIGHT, 5 );\r
-\r
-\r
-    this->SetSizer( bSizer20 );\r
-    this->Layout();\r
-\r
-    this->Centre( wxBOTH );\r
-\r
-    // Connect Events\r
-    this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAbout::OnInitDialog ) );\r
+       this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
+       \r
+       wxBoxSizer* bSizer20;\r
+       bSizer20 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       wxBoxSizer* bSizer21;\r
+       bSizer21 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       wxBoxSizer* bSizer23;\r
+       bSizer23 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       wxBoxSizer* bSizer25;\r
+       bSizer25 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_bitmapAbout = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer25->Add( m_bitmapAbout, 1, wxALL|wxEXPAND, 5 );\r
+       \r
+       \r
+       bSizer23->Add( bSizer25, 1, wxEXPAND, 5 );\r
+       \r
+       wxBoxSizer* bSizer26;\r
+       bSizer26 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_staticText1 = new wxStaticText( this, wxID_ANY, _("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       m_staticText1->Wrap( -1 );\r
+       bSizer26->Add( m_staticText1, 1, wxALL, 5 );\r
+       \r
+       \r
+       bSizer23->Add( bSizer26, 0, 0, 5 );\r
+       \r
+       \r
+       bSizer21->Add( bSizer23, 1, wxEXPAND, 5 );\r
+       \r
+       wxBoxSizer* bSizer24;\r
+       bSizer24 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_textCtrl2 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer24->Add( m_textCtrl2, 1, wxALL|wxEXPAND, 5 );\r
+       \r
+       \r
+       bSizer21->Add( bSizer24, 1, wxEXPAND, 5 );\r
+       \r
+       \r
+       bSizer20->Add( bSizer21, 1, wxEXPAND, 5 );\r
+       \r
+       wxBoxSizer* bSizer22;\r
+       bSizer22 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_button9 = new wxButton( this, wxID_ANY, _("MyButton"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer22->Add( m_button9, 0, wxALIGN_BOTTOM|wxALIGN_RIGHT|wxALL, 5 );\r
+       \r
+       \r
+       bSizer20->Add( bSizer22, 0, wxALIGN_RIGHT, 5 );\r
+       \r
+       \r
+       this->SetSizer( bSizer20 );\r
+       this->Layout();\r
+       \r
+       this->Centre( wxBOTH );\r
+       \r
+       // Connect Events\r
+       this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAbout::OnClose ) );\r
+       this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAbout::OnInitDialog ) );\r
 }\r
 \r
 DlgAbout::~DlgAbout()\r
 {\r
-    // Disconnect Events\r
-    this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAbout::OnInitDialog ) );\r
-\r
+       // Disconnect Events\r
+       this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAbout::OnClose ) );\r
+       this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAbout::OnInitDialog ) );\r
+       \r
 }\r
 \r
 DlgAudio::DlgAudio( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
 {\r
-    this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
-\r
-    wxBoxSizer* bSizer27;\r
-    bSizer27 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    wxBoxSizer* bSizer271;\r
-    bSizer271 = new wxBoxSizer( wxHORIZONTAL );\r
-\r
-    wxStaticBoxSizer* sbSizer6;\r
-    sbSizer6 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Rx Input") ), wxVERTICAL );\r
-\r
-    wxBoxSizer* bSizer31;\r
-    bSizer31 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_lbRxInput = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE );\r
-    bSizer31->Add( m_lbRxInput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 );\r
-\r
-    m_textRxInput = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer31->Add( m_textRxInput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 );\r
-\r
-\r
-    sbSizer6->Add( bSizer31, 1, wxEXPAND, 6 );\r
-\r
-\r
-    bSizer271->Add( sbSizer6, 1, wxEXPAND, 5 );\r
-\r
-    wxStaticBoxSizer* sbSizer7;\r
-    sbSizer7 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Tx Output") ), wxVERTICAL );\r
-\r
-    wxBoxSizer* bSizer281;\r
-    bSizer281 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_lbTxOutput = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE );\r
-    bSizer281->Add( m_lbTxOutput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 );\r
-\r
-    m_textCtrl15 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer281->Add( m_textCtrl15, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 );\r
-\r
-\r
-    sbSizer7->Add( bSizer281, 1, wxEXPAND, 5 );\r
-\r
-\r
-    bSizer271->Add( sbSizer7, 1, wxEXPAND, 6 );\r
-\r
-\r
-    bSizer27->Add( bSizer271, 1, wxEXPAND, 5 );\r
-\r
-    wxBoxSizer* bSizer26;\r
-    bSizer26 = new wxBoxSizer( wxHORIZONTAL );\r
-\r
-    wxStaticBoxSizer* sbSizer8;\r
-    sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Voice Input") ), wxVERTICAL );\r
-\r
-    wxBoxSizer* bSizer29;\r
-    bSizer29 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_lbVoiceInput = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE );\r
-    bSizer29->Add( m_lbVoiceInput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 );\r
-\r
-    m_textVoiceInput = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer29->Add( m_textVoiceInput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 );\r
-\r
-\r
-    sbSizer8->Add( bSizer29, 1, wxEXPAND, 5 );\r
-\r
-\r
-    bSizer26->Add( sbSizer8, 1, wxEXPAND, 6 );\r
-\r
-    wxStaticBoxSizer* sbSizer9;\r
-    sbSizer9 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Voice Output") ), wxVERTICAL );\r
-\r
-    wxBoxSizer* bSizer30;\r
-    bSizer30 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_lbVoiceOutput = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE );\r
-    bSizer30->Add( m_lbVoiceOutput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 );\r
-\r
-    m_textVoiceOutput = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    bSizer30->Add( m_textVoiceOutput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 );\r
-\r
-\r
-    sbSizer9->Add( bSizer30, 1, wxEXPAND, 1 );\r
-\r
-\r
-    bSizer26->Add( sbSizer9, 1, wxEXPAND, 6 );\r
-\r
-\r
-    bSizer27->Add( bSizer26, 1, wxEXPAND, 1 );\r
-\r
-    wxBoxSizer* bSizer28;\r
-    bSizer28 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    m_sdbSizer3 = new wxStdDialogButtonSizer();\r
-    m_sdbSizer3OK = new wxButton( this, wxID_OK );\r
-    m_sdbSizer3->AddButton( m_sdbSizer3OK );\r
-    m_sdbSizer3Apply = new wxButton( this, wxID_APPLY );\r
-    m_sdbSizer3->AddButton( m_sdbSizer3Apply );\r
-    m_sdbSizer3Cancel = new wxButton( this, wxID_CANCEL );\r
-    m_sdbSizer3->AddButton( m_sdbSizer3Cancel );\r
-    m_sdbSizer3->Realize();\r
-\r
-    bSizer28->Add( m_sdbSizer3, 1, wxEXPAND, 5 );\r
-\r
-\r
-    bSizer27->Add( bSizer28, 0, wxEXPAND, 5 );\r
-\r
-\r
-    this->SetSizer( bSizer27 );\r
-    this->Layout();\r
-\r
-    this->Centre( wxBOTH );\r
-\r
-    // Connect Events\r
-    m_lbRxInput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnRxInputSelect ), NULL, this );\r
-    m_lbTxOutput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnTxOutputSelect ), NULL, this );\r
-    m_lbVoiceInput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceInputSelect ), NULL, this );\r
-    m_lbVoiceOutput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceOutputSelect ), NULL, this );\r
-    m_sdbSizer3Apply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnApply ), NULL, this );\r
-    m_sdbSizer3Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnCancel ), NULL, this );\r
-    m_sdbSizer3OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnOK ), NULL, this );\r
+       this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
+       \r
+       wxBoxSizer* bSizer27;\r
+       bSizer27 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       wxBoxSizer* bSizer271;\r
+       bSizer271 = new wxBoxSizer( wxHORIZONTAL );\r
+       \r
+       wxStaticBoxSizer* sbSizer6;\r
+       sbSizer6 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Rx Input") ), wxVERTICAL );\r
+       \r
+       wxBoxSizer* bSizer31;\r
+       bSizer31 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_lbRxInput = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); \r
+       bSizer31->Add( m_lbRxInput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 );\r
+       \r
+       m_textRxInput = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer31->Add( m_textRxInput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 );\r
+       \r
+       \r
+       sbSizer6->Add( bSizer31, 1, wxEXPAND, 6 );\r
+       \r
+       \r
+       bSizer271->Add( sbSizer6, 1, wxEXPAND, 5 );\r
+       \r
+       wxStaticBoxSizer* sbSizer7;\r
+       sbSizer7 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Tx Output") ), wxVERTICAL );\r
+       \r
+       wxBoxSizer* bSizer281;\r
+       bSizer281 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_lbTxOutput = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); \r
+       bSizer281->Add( m_lbTxOutput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 );\r
+       \r
+       m_textCtrl15 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer281->Add( m_textCtrl15, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 );\r
+       \r
+       \r
+       sbSizer7->Add( bSizer281, 1, wxEXPAND, 5 );\r
+       \r
+       \r
+       bSizer271->Add( sbSizer7, 1, wxEXPAND, 6 );\r
+       \r
+       \r
+       bSizer27->Add( bSizer271, 1, wxEXPAND, 5 );\r
+       \r
+       wxBoxSizer* bSizer26;\r
+       bSizer26 = new wxBoxSizer( wxHORIZONTAL );\r
+       \r
+       wxStaticBoxSizer* sbSizer8;\r
+       sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Voice Input") ), wxVERTICAL );\r
+       \r
+       wxBoxSizer* bSizer29;\r
+       bSizer29 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_lbVoiceInput = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); \r
+       bSizer29->Add( m_lbVoiceInput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 );\r
+       \r
+       m_textVoiceInput = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer29->Add( m_textVoiceInput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 );\r
+       \r
+       \r
+       sbSizer8->Add( bSizer29, 1, wxEXPAND, 5 );\r
+       \r
+       \r
+       bSizer26->Add( sbSizer8, 1, wxEXPAND, 6 );\r
+       \r
+       wxStaticBoxSizer* sbSizer9;\r
+       sbSizer9 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Voice Output") ), wxVERTICAL );\r
+       \r
+       wxBoxSizer* bSizer30;\r
+       bSizer30 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_lbVoiceOutput = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_SINGLE ); \r
+       bSizer30->Add( m_lbVoiceOutput, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 2 );\r
+       \r
+       m_textVoiceOutput = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       bSizer30->Add( m_textVoiceOutput, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 2 );\r
+       \r
+       \r
+       sbSizer9->Add( bSizer30, 1, wxEXPAND, 1 );\r
+       \r
+       \r
+       bSizer26->Add( sbSizer9, 1, wxEXPAND, 6 );\r
+       \r
+       \r
+       bSizer27->Add( bSizer26, 1, wxEXPAND, 1 );\r
+       \r
+       wxBoxSizer* bSizer28;\r
+       bSizer28 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       m_sdbSizer3 = new wxStdDialogButtonSizer();\r
+       m_sdbSizer3OK = new wxButton( this, wxID_OK );\r
+       m_sdbSizer3->AddButton( m_sdbSizer3OK );\r
+       m_sdbSizer3Apply = new wxButton( this, wxID_APPLY );\r
+       m_sdbSizer3->AddButton( m_sdbSizer3Apply );\r
+       m_sdbSizer3Cancel = new wxButton( this, wxID_CANCEL );\r
+       m_sdbSizer3->AddButton( m_sdbSizer3Cancel );\r
+       m_sdbSizer3->Realize();\r
+       \r
+       bSizer28->Add( m_sdbSizer3, 1, wxEXPAND, 5 );\r
+       \r
+       \r
+       bSizer27->Add( bSizer28, 0, wxEXPAND, 5 );\r
+       \r
+       \r
+       this->SetSizer( bSizer27 );\r
+       this->Layout();\r
+       \r
+       this->Centre( wxBOTH );\r
+       \r
+       // Connect Events\r
+       this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAudio::OnClose ) );\r
+       this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAudio::OnInitDialog ) );\r
+       m_lbRxInput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnRxInputSelect ), NULL, this );\r
+       m_lbTxOutput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnTxOutputSelect ), NULL, this );\r
+       m_lbVoiceInput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceInputSelect ), NULL, this );\r
+       m_lbVoiceOutput->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceOutputSelect ), NULL, this );\r
+       m_sdbSizer3Apply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnApply ), NULL, this );\r
+       m_sdbSizer3Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnCancel ), NULL, this );\r
+       m_sdbSizer3OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnOK ), NULL, this );\r
 }\r
 \r
 DlgAudio::~DlgAudio()\r
 {\r
-    // Disconnect Events\r
-    m_lbRxInput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnRxInputSelect ), NULL, this );\r
-    m_lbTxOutput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnTxOutputSelect ), NULL, this );\r
-    m_lbVoiceInput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceInputSelect ), NULL, this );\r
-    m_lbVoiceOutput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceOutputSelect ), NULL, this );\r
-    m_sdbSizer3Apply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnApply ), NULL, this );\r
-    m_sdbSizer3Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnCancel ), NULL, this );\r
-    m_sdbSizer3OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnOK ), NULL, this );\r
-\r
+       // Disconnect Events\r
+       this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgAudio::OnClose ) );\r
+       this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgAudio::OnInitDialog ) );\r
+       m_lbRxInput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnRxInputSelect ), NULL, this );\r
+       m_lbTxOutput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnTxOutputSelect ), NULL, this );\r
+       m_lbVoiceInput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceInputSelect ), NULL, this );\r
+       m_lbVoiceOutput->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DlgAudio::OnVoiceOutputSelect ), NULL, this );\r
+       m_sdbSizer3Apply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnApply ), NULL, this );\r
+       m_sdbSizer3Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnCancel ), NULL, this );\r
+       m_sdbSizer3OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgAudio::OnOK ), NULL, this );\r
+       \r
 }\r
 \r
 DlgOptions::DlgOptions( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
 {\r
-    this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
-\r
-    wxBoxSizer* bSizer30;\r
-    bSizer30 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    wxStaticBoxSizer* sbSizer5;\r
-    sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Config Options") ), wxHORIZONTAL );\r
-\r
-    wxGridSizer* gSizer2;\r
-    gSizer2 = new wxGridSizer( 6, 2, 0, 0 );\r
-\r
-    m_staticText2 = new wxStaticText( this, wxID_ANY, _("Option #1:"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    m_staticText2->Wrap( -1 );\r
-    gSizer2->Add( m_staticText2, 1, wxALIGN_RIGHT|wxALL, 5 );\r
-\r
-    m_textCtrl3 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    gSizer2->Add( m_textCtrl3, 1, wxALL, 5 );\r
-\r
-    m_staticText3 = new wxStaticText( this, wxID_ANY, _("Option #2:"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    m_staticText3->Wrap( -1 );\r
-    gSizer2->Add( m_staticText3, 1, wxALIGN_RIGHT|wxALL, 5 );\r
-\r
-    m_textCtrl4 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    gSizer2->Add( m_textCtrl4, 1, wxALL, 5 );\r
-\r
-    m_staticText4 = new wxStaticText( this, wxID_ANY, _("Option #3:"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    m_staticText4->Wrap( -1 );\r
-    gSizer2->Add( m_staticText4, 1, wxALIGN_RIGHT|wxALL, 5 );\r
-\r
-    m_textCtrl5 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    gSizer2->Add( m_textCtrl5, 1, wxALL, 5 );\r
-\r
-    m_staticText5 = new wxStaticText( this, wxID_ANY, _("Option #4:"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    m_staticText5->Wrap( -1 );\r
-    gSizer2->Add( m_staticText5, 1, wxALIGN_RIGHT|wxALL, 5 );\r
-\r
-    m_textCtrl6 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    gSizer2->Add( m_textCtrl6, 1, wxALL, 5 );\r
-\r
-    m_staticText6 = new wxStaticText( this, wxID_ANY, _("Option #5:"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    m_staticText6->Wrap( -1 );\r
-    gSizer2->Add( m_staticText6, 1, wxALIGN_RIGHT|wxALL, 5 );\r
-\r
-    m_textCtrl7 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    gSizer2->Add( m_textCtrl7, 1, wxALL, 5 );\r
-\r
-    m_staticText7 = new wxStaticText( this, wxID_ANY, _("Option #6:"), wxDefaultPosition, wxDefaultSize, 0 );\r
-    m_staticText7->Wrap( -1 );\r
-    gSizer2->Add( m_staticText7, 1, wxALIGN_RIGHT|wxALL, 5 );\r
-\r
-    m_textCtrl8 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    gSizer2->Add( m_textCtrl8, 1, wxALL, 5 );\r
-\r
-\r
-    sbSizer5->Add( gSizer2, 1, wxEXPAND, 5 );\r
-\r
-\r
-    bSizer30->Add( sbSizer5, 1, wxEXPAND, 5 );\r
-\r
-    m_sdbSizer4 = new wxStdDialogButtonSizer();\r
-    m_sdbSizer4OK = new wxButton( this, wxID_OK );\r
-    m_sdbSizer4->AddButton( m_sdbSizer4OK );\r
-    m_sdbSizer4Cancel = new wxButton( this, wxID_CANCEL );\r
-    m_sdbSizer4->AddButton( m_sdbSizer4Cancel );\r
-    m_sdbSizer4->Realize();\r
-\r
-    bSizer30->Add( m_sdbSizer4, 0, wxALIGN_RIGHT, 5 );\r
-\r
-\r
-    this->SetSizer( bSizer30 );\r
-    this->Layout();\r
-\r
-    this->Centre( wxBOTH );\r
-\r
-    // Connect Events\r
-    this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgOptions::OnClose ) );\r
-    this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgOptions::OnInitDialog ) );\r
+       this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
+       \r
+       wxBoxSizer* bSizer30;\r
+       bSizer30 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       wxStaticBoxSizer* sbSizer5;\r
+       sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Config Options") ), wxHORIZONTAL );\r
+       \r
+       wxGridSizer* gSizer2;\r
+       gSizer2 = new wxGridSizer( 6, 2, 0, 0 );\r
+       \r
+       m_staticText2 = new wxStaticText( this, wxID_ANY, _("Option #1:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       m_staticText2->Wrap( -1 );\r
+       gSizer2->Add( m_staticText2, 1, wxALIGN_RIGHT|wxALL, 5 );\r
+       \r
+       m_textCtrl3 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       gSizer2->Add( m_textCtrl3, 1, wxALL, 5 );\r
+       \r
+       m_staticText3 = new wxStaticText( this, wxID_ANY, _("Option #2:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       m_staticText3->Wrap( -1 );\r
+       gSizer2->Add( m_staticText3, 1, wxALIGN_RIGHT|wxALL, 5 );\r
+       \r
+       m_textCtrl4 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       gSizer2->Add( m_textCtrl4, 1, wxALL, 5 );\r
+       \r
+       m_staticText4 = new wxStaticText( this, wxID_ANY, _("Option #3:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       m_staticText4->Wrap( -1 );\r
+       gSizer2->Add( m_staticText4, 1, wxALIGN_RIGHT|wxALL, 5 );\r
+       \r
+       m_textCtrl5 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       gSizer2->Add( m_textCtrl5, 1, wxALL, 5 );\r
+       \r
+       m_staticText5 = new wxStaticText( this, wxID_ANY, _("Option #4:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       m_staticText5->Wrap( -1 );\r
+       gSizer2->Add( m_staticText5, 1, wxALIGN_RIGHT|wxALL, 5 );\r
+       \r
+       m_textCtrl6 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       gSizer2->Add( m_textCtrl6, 1, wxALL, 5 );\r
+       \r
+       m_staticText6 = new wxStaticText( this, wxID_ANY, _("Option #5:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       m_staticText6->Wrap( -1 );\r
+       gSizer2->Add( m_staticText6, 1, wxALIGN_RIGHT|wxALL, 5 );\r
+       \r
+       m_textCtrl7 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       gSizer2->Add( m_textCtrl7, 1, wxALL, 5 );\r
+       \r
+       m_staticText7 = new wxStaticText( this, wxID_ANY, _("Option #6:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+       m_staticText7->Wrap( -1 );\r
+       gSizer2->Add( m_staticText7, 1, wxALIGN_RIGHT|wxALL, 5 );\r
+       \r
+       m_textCtrl8 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       gSizer2->Add( m_textCtrl8, 1, wxALL, 5 );\r
+       \r
+       \r
+       sbSizer5->Add( gSizer2, 1, wxEXPAND, 5 );\r
+       \r
+       \r
+       bSizer30->Add( sbSizer5, 1, wxEXPAND, 5 );\r
+       \r
+       m_sdbSizer4 = new wxStdDialogButtonSizer();\r
+       m_sdbSizer4OK = new wxButton( this, wxID_OK );\r
+       m_sdbSizer4->AddButton( m_sdbSizer4OK );\r
+       m_sdbSizer4Cancel = new wxButton( this, wxID_CANCEL );\r
+       m_sdbSizer4->AddButton( m_sdbSizer4Cancel );\r
+       m_sdbSizer4->Realize();\r
+       \r
+       bSizer30->Add( m_sdbSizer4, 0, wxALIGN_RIGHT, 5 );\r
+       \r
+       \r
+       this->SetSizer( bSizer30 );\r
+       this->Layout();\r
+       \r
+       this->Centre( wxBOTH );\r
+       \r
+       // Connect Events\r
+       this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgOptions::OnClose ) );\r
+       this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgOptions::OnInitDialog ) );\r
 }\r
 \r
 DlgOptions::~DlgOptions()\r
 {\r
-    // Disconnect Events\r
-    this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgOptions::OnClose ) );\r
-    this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgOptions::OnInitDialog ) );\r
-\r
+       // Disconnect Events\r
+       this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DlgOptions::OnClose ) );\r
+       this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DlgOptions::OnInitDialog ) );\r
+       \r
 }\r
 \r
 DlgComPorts::DlgComPorts( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
 {\r
-    this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
-\r
-    wxBoxSizer* bSizer30;\r
-    bSizer30 = new wxBoxSizer( wxVERTICAL );\r
-\r
-    wxGridSizer* gSizer3;\r
-    gSizer3 = new wxGridSizer( 2, 2, 0, 0 );\r
-\r
-    m_staticText8 = new wxStaticText( this, wxID_ANY, _("Available Ports:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );\r
-    m_staticText8->Wrap( -1 );\r
-    gSizer3->Add( m_staticText8, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );\r
-\r
-    m_listCtrlPortSelect = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ICON|wxLC_SINGLE_SEL );\r
-    gSizer3->Add( m_listCtrlPortSelect, 1, wxALL|wxEXPAND, 5 );\r
-\r
-    m_staticText9 = new wxStaticText( this, wxID_ANY, _("Use Port:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );\r
-    m_staticText9->Wrap( -1 );\r
-    gSizer3->Add( m_staticText9, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );\r
-\r
-    m_textCtrl10 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
-    gSizer3->Add( m_textCtrl10, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
-\r
-\r
-    bSizer30->Add( gSizer3, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );\r
-\r
-    m_sdbSizer3 = new wxStdDialogButtonSizer();\r
-    m_sdbSizer3OK = new wxButton( this, wxID_OK );\r
-    m_sdbSizer3->AddButton( m_sdbSizer3OK );\r
-    m_sdbSizer3Cancel = new wxButton( this, wxID_CANCEL );\r
-    m_sdbSizer3->AddButton( m_sdbSizer3Cancel );\r
-    m_sdbSizer3->Realize();\r
-\r
-    bSizer30->Add( m_sdbSizer3, 0, wxEXPAND, 5 );\r
-\r
-\r
-    this->SetSizer( bSizer30 );\r
-    this->Layout();\r
-\r
-    this->Centre( wxBOTH );\r
-\r
-    // Connect Events\r
-    m_listCtrlPortSelect->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DlgComPorts::OnListItemSelected ), NULL, this );\r
+       this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
+       \r
+       wxBoxSizer* bSizer30;\r
+       bSizer30 = new wxBoxSizer( wxVERTICAL );\r
+       \r
+       wxGridSizer* gSizer3;\r
+       gSizer3 = new wxGridSizer( 2, 2, 0, 0 );\r
+       \r
+       m_staticText8 = new wxStaticText( this, wxID_ANY, _("Available Ports:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );\r
+       m_staticText8->Wrap( -1 );\r
+       gSizer3->Add( m_staticText8, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );\r
+       \r
+       m_listCtrlPortSelect = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ICON|wxLC_SINGLE_SEL );\r
+       gSizer3->Add( m_listCtrlPortSelect, 1, wxALL|wxEXPAND, 5 );\r
+       \r
+       m_staticText9 = new wxStaticText( this, wxID_ANY, _("Use Port:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );\r
+       m_staticText9->Wrap( -1 );\r
+       gSizer3->Add( m_staticText9, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );\r
+       \r
+       m_textCtrl10 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
+       gSizer3->Add( m_textCtrl10, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
+       \r
+       \r
+       bSizer30->Add( gSizer3, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );\r
+       \r
+       m_sdbSizer3 = new wxStdDialogButtonSizer();\r
+       m_sdbSizer3OK = new wxButton( this, wxID_OK );\r
+       m_sdbSizer3->AddButton( m_sdbSizer3OK );\r
+       m_sdbSizer3Cancel = new wxButton( this, wxID_CANCEL );\r
+       m_sdbSizer3->AddButton( m_sdbSizer3Cancel );\r
+       m_sdbSizer3->Realize();\r
+       \r
+       bSizer30->Add( m_sdbSizer3, 0, wxEXPAND, 5 );\r
+       \r
+       \r
+       this->SetSizer( bSizer30 );\r
+       this->Layout();\r
+       \r
+       this->Centre( wxBOTH );\r
+       \r
+       // Connect Events\r
+       m_listCtrlPortSelect->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DlgComPorts::OnListItemSelected ), NULL, this );\r
 }\r
 \r
 DlgComPorts::~DlgComPorts()\r
 {\r
-    // Disconnect Events\r
-    m_listCtrlPortSelect->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DlgComPorts::OnListItemSelected ), NULL, this );\r
-\r
+       // Disconnect Events\r
+       m_listCtrlPortSelect->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DlgComPorts::OnListItemSelected ), NULL, this );\r
+       \r
 }\r
index 7889549238ad7ec8cf3ff2de190198b82b18d6ae..5fd295c901465dfa761addd75812c136eb72f1d8 100644 (file)
@@ -11,7 +11,6 @@
 #include <wx/artprov.h>\r
 #include <wx/xrc/xmlres.h>\r
 #include <wx/intl.h>\r
-//#include "dlg_audio.h"\r
 #include <wx/string.h>\r
 #include <wx/bitmap.h>\r
 #include <wx/image.h>\r
 ///////////////////////////////////////////////////////////////////////////////\r
 /// Class TopFrame\r
 ///////////////////////////////////////////////////////////////////////////////\r
-class TopFrame : public wxFrame\r
+class TopFrame : public wxFrame \r
 {\r
-    private:\r
-\r
-    protected:\r
-        wxMenuBar* m_menubarMain;\r
-        wxMenu* file;\r
-        wxMenu* edit;\r
-        wxMenu* tools;\r
-        wxMenu* help;\r
-        wxGauge* m_gaugeSNR;\r
-        wxTextCtrl* m_textSNR;\r
-        wxGauge* m_gaugeLevel;\r
-        wxTextCtrl* m_txtCtrl;\r
-        wxToggleButton* m_togRxID;\r
-        wxToggleButton* m_togTxID;\r
-        wxSlider* m_sliderSQ;\r
-        wxCheckBox* m_ckboxSQ;\r
-        wxToggleButton* m_togBtnSplit;\r
-        wxToggleButton* m_togBtnAnalog;\r
-        wxToggleButton* m_togBtnALC;\r
-        wxToggleButton* m_btnTogTX;\r
-        wxStatusBar* m_statusBar1;\r
-\r
-        // Virtual event handlers, overide them in your derived class\r
-        virtual void topFrame_OnClose( wxCloseEvent& event ) { event.Skip(); }\r
-        virtual void topFrame_OnPaint( wxPaintEvent& event ) { event.Skip(); }\r
-        virtual void topFrame_OnSize( wxSizeEvent& event ) { event.Skip(); }\r
-        virtual void topFrame_OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnOpen( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnOpenUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnSave( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnSaveUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnClose( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnCloseUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnExit( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnCopy( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnCopyUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnCut( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnCutUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnPaste( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnPasteUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnToolsAudio( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnToolsAudioUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnToolsComCfg( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnToolsComCfgUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnToolsOptions( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnToolsOptionsUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnHelpCheckUpdates( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnHelpCheckUpdatesUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
-        virtual void OnHelpAbout( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnTogBtnRxID( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnTogBtnTxID( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnCmdSliderScroll( wxScrollEvent& event ) { event.Skip(); }\r
-        virtual void OnSliderScrollBottom( wxScrollEvent& event ) { event.Skip(); }\r
-        virtual void OnCmdSliderScrollChanged( wxScrollEvent& event ) { event.Skip(); }\r
-        virtual void OnSliderScrollTop( wxScrollEvent& event ) { event.Skip(); }\r
-        virtual void OnCheckSQClick( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnTogBtnSplitClick( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnTogBtnAnalogClick( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnTogBtnALCClick( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnTogBtnTXClick( wxCommandEvent& event ) { event.Skip(); }\r
-\r
-\r
-    public:\r
-        wxAuiNotebook* m_auiNbookCtrl;\r
-\r
-        TopFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("FDMDV2"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 732,507 ), long style = wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL );\r
-\r
-        ~TopFrame();\r
-\r
+       private:\r
+       \r
+       protected:\r
+               wxMenuBar* m_menubarMain;\r
+               wxMenu* file;\r
+               wxMenu* edit;\r
+               wxMenu* tools;\r
+               wxMenu* help;\r
+               wxGauge* m_gaugeSNR;\r
+               wxTextCtrl* m_textSNR;\r
+               wxGauge* m_gaugeLevel;\r
+               wxTextCtrl* m_txtCtrl;\r
+               wxToggleButton* m_togRxID;\r
+               wxToggleButton* m_togTxID;\r
+               wxSlider* m_sliderSQ;\r
+               wxCheckBox* m_ckboxSQ;\r
+               wxToggleButton* m_togBtnSplit;\r
+               wxToggleButton* m_togBtnAnalog;\r
+               wxToggleButton* m_togBtnALC;\r
+               wxToggleButton* m_btnTogTX;\r
+               wxStatusBar* m_statusBar1;\r
+               \r
+               // Virtual event handlers, overide them in your derived class\r
+               virtual void topFrame_OnClose( wxCloseEvent& event ) { event.Skip(); }\r
+               virtual void topFrame_OnPaint( wxPaintEvent& event ) { event.Skip(); }\r
+               virtual void topFrame_OnSize( wxSizeEvent& event ) { event.Skip(); }\r
+               virtual void topFrame_OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnOpen( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnOpenUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnSave( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnSaveUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnClose( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnCloseUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnExit( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnCopy( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnCopyUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnCut( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnCutUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnPaste( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnPasteUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnToolsAudio( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnToolsAudioUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnToolsComCfg( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnToolsComCfgUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnToolsOptions( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnToolsOptionsUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnHelpCheckUpdates( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnHelpCheckUpdatesUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+               virtual void OnHelpAbout( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnTogBtnRxID( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnTogBtnTxID( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnCmdSliderScroll( wxScrollEvent& event ) { event.Skip(); }\r
+               virtual void OnSliderScrollBottom( wxScrollEvent& event ) { event.Skip(); }\r
+               virtual void OnCmdSliderScrollChanged( wxScrollEvent& event ) { event.Skip(); }\r
+               virtual void OnSliderScrollTop( wxScrollEvent& event ) { event.Skip(); }\r
+               virtual void OnCheckSQClick( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnTogBtnSplitClick( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnTogBtnAnalogClick( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnTogBtnALCClick( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnTogBtnTXClick( wxCommandEvent& event ) { event.Skip(); }\r
+               \r
+       \r
+       public:\r
+               wxAuiNotebook* m_auiNbookCtrl;\r
+               \r
+               TopFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("FDMDV2"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 732,507 ), long style = wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL );\r
+               \r
+               ~TopFrame();\r
+       \r
 };\r
 \r
 ///////////////////////////////////////////////////////////////////////////////\r
 /// Class DlgAbout\r
 ///////////////////////////////////////////////////////////////////////////////\r
-class DlgAbout : public wxDialog\r
+class DlgAbout : public wxDialog \r
 {\r
-    private:\r
-\r
-    protected:\r
-        wxStaticBitmap* m_bitmapAbout;\r
-        wxStaticText* m_staticText1;\r
-        wxTextCtrl* m_textCtrl2;\r
-        wxButton* m_button9;\r
-\r
-        // Virtual event handlers, overide them in your derived class\r
-        virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }\r
-\r
-\r
-    public:\r
-\r
-        DlgAbout( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About FDMDV2"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 352,343 ), long style = wxDEFAULT_DIALOG_STYLE );\r
-        ~DlgAbout();\r
-\r
+       private:\r
+       \r
+       protected:\r
+               wxStaticBitmap* m_bitmapAbout;\r
+               wxStaticText* m_staticText1;\r
+               wxTextCtrl* m_textCtrl2;\r
+               wxButton* m_button9;\r
+               \r
+               // Virtual event handlers, overide them in your derived class\r
+               virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }\r
+               virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }\r
+               \r
+       \r
+       public:\r
+               \r
+               DlgAbout( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About FDMDV2"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 352,343 ), long style = wxDEFAULT_DIALOG_STYLE ); \r
+               ~DlgAbout();\r
+       \r
 };\r
 \r
 ///////////////////////////////////////////////////////////////////////////////\r
 /// Class DlgAudio\r
 ///////////////////////////////////////////////////////////////////////////////\r
-class DlgAudio : public wxDialog\r
+class DlgAudio : public wxDialog \r
 {\r
-    private:\r
-\r
-    protected:\r
-        wxListBox* m_lbRxInput;\r
-        wxTextCtrl* m_textRxInput;\r
-        wxListBox* m_lbTxOutput;\r
-        wxTextCtrl* m_textCtrl15;\r
-        wxListBox* m_lbVoiceInput;\r
-        wxTextCtrl* m_textVoiceInput;\r
-        wxListBox* m_lbVoiceOutput;\r
-        wxTextCtrl* m_textVoiceOutput;\r
-        wxStdDialogButtonSizer* m_sdbSizer3;\r
-        wxButton* m_sdbSizer3OK;\r
-        wxButton* m_sdbSizer3Apply;\r
-        wxButton* m_sdbSizer3Cancel;\r
-\r
-        // Virtual event handlers, overide them in your derived class\r
-        virtual void OnRxInputSelect( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnTxOutputSelect( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnVoiceInputSelect( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnVoiceOutputSelect( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnApply( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }\r
-        virtual void OnOK( wxCommandEvent& event ) { event.Skip(); }\r
-\r
-\r
-    public:\r
-\r
-        DlgAudio( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Audio Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 436,377 ), long style = wxDEFAULT_DIALOG_STYLE );\r
-        ~DlgAudio();\r
-\r
+       private:\r
+       \r
+       protected:\r
+               wxListBox* m_lbRxInput;\r
+               wxTextCtrl* m_textRxInput;\r
+               wxListBox* m_lbTxOutput;\r
+               wxTextCtrl* m_textCtrl15;\r
+               wxListBox* m_lbVoiceInput;\r
+               wxTextCtrl* m_textVoiceInput;\r
+               wxListBox* m_lbVoiceOutput;\r
+               wxTextCtrl* m_textVoiceOutput;\r
+               wxStdDialogButtonSizer* m_sdbSizer3;\r
+               wxButton* m_sdbSizer3OK;\r
+               wxButton* m_sdbSizer3Apply;\r
+               wxButton* m_sdbSizer3Cancel;\r
+               \r
+               // Virtual event handlers, overide them in your derived class\r
+               virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }\r
+               virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }\r
+               virtual void OnRxInputSelect( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnTxOutputSelect( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnVoiceInputSelect( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnVoiceOutputSelect( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnApply( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }\r
+               virtual void OnOK( wxCommandEvent& event ) { event.Skip(); }\r
+               \r
+       \r
+       public:\r
+               \r
+               DlgAudio( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Audio Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 553,455 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); \r
+               ~DlgAudio();\r
+       \r
 };\r
 \r
 ///////////////////////////////////////////////////////////////////////////////\r
 /// Class DlgOptions\r
 ///////////////////////////////////////////////////////////////////////////////\r
-class DlgOptions : public wxDialog\r
+class DlgOptions : public wxDialog \r
 {\r
-    private:\r
-\r
-    protected:\r
-        wxStaticText* m_staticText2;\r
-        wxTextCtrl* m_textCtrl3;\r
-        wxStaticText* m_staticText3;\r
-        wxTextCtrl* m_textCtrl4;\r
-        wxStaticText* m_staticText4;\r
-        wxTextCtrl* m_textCtrl5;\r
-        wxStaticText* m_staticText5;\r
-        wxTextCtrl* m_textCtrl6;\r
-        wxStaticText* m_staticText6;\r
-        wxTextCtrl* m_textCtrl7;\r
-        wxStaticText* m_staticText7;\r
-        wxTextCtrl* m_textCtrl8;\r
-        wxStdDialogButtonSizer* m_sdbSizer4;\r
-        wxButton* m_sdbSizer4OK;\r
-        wxButton* m_sdbSizer4Cancel;\r
-\r
-        // Virtual event handlers, overide them in your derived class\r
-        virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }\r
-        virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }\r
-\r
-\r
-    public:\r
-\r
-        DlgOptions( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Program Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 332,364 ), long style = wxDEFAULT_DIALOG_STYLE );\r
-        ~DlgOptions();\r
-\r
+       private:\r
+       \r
+       protected:\r
+               wxStaticText* m_staticText2;\r
+               wxTextCtrl* m_textCtrl3;\r
+               wxStaticText* m_staticText3;\r
+               wxTextCtrl* m_textCtrl4;\r
+               wxStaticText* m_staticText4;\r
+               wxTextCtrl* m_textCtrl5;\r
+               wxStaticText* m_staticText5;\r
+               wxTextCtrl* m_textCtrl6;\r
+               wxStaticText* m_staticText6;\r
+               wxTextCtrl* m_textCtrl7;\r
+               wxStaticText* m_staticText7;\r
+               wxTextCtrl* m_textCtrl8;\r
+               wxStdDialogButtonSizer* m_sdbSizer4;\r
+               wxButton* m_sdbSizer4OK;\r
+               wxButton* m_sdbSizer4Cancel;\r
+               \r
+               // Virtual event handlers, overide them in your derived class\r
+               virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }\r
+               virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }\r
+               \r
+       \r
+       public:\r
+               \r
+               DlgOptions( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Program Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 332,364 ), long style = wxDEFAULT_DIALOG_STYLE ); \r
+               ~DlgOptions();\r
+       \r
 };\r
 \r
 ///////////////////////////////////////////////////////////////////////////////\r
 /// Class DlgComPorts\r
 ///////////////////////////////////////////////////////////////////////////////\r
-class DlgComPorts : public wxDialog\r
+class DlgComPorts : public wxDialog \r
 {\r
-    private:\r
-\r
-    protected:\r
-        wxStaticText* m_staticText8;\r
-        wxListCtrl* m_listCtrlPortSelect;\r
-        wxStaticText* m_staticText9;\r
-        wxTextCtrl* m_textCtrl10;\r
-        wxStdDialogButtonSizer* m_sdbSizer3;\r
-        wxButton* m_sdbSizer3OK;\r
-        wxButton* m_sdbSizer3Cancel;\r
-\r
-        // Virtual event handlers, overide them in your derived class\r
-        virtual void OnListItemSelected( wxListEvent& event ) { event.Skip(); }\r
-\r
-\r
-    public:\r
-\r
-        DlgComPorts( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select Com Port"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 399,226 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );\r
-        ~DlgComPorts();\r
-\r
+       private:\r
+       \r
+       protected:\r
+               wxStaticText* m_staticText8;\r
+               wxListCtrl* m_listCtrlPortSelect;\r
+               wxStaticText* m_staticText9;\r
+               wxTextCtrl* m_textCtrl10;\r
+               wxStdDialogButtonSizer* m_sdbSizer3;\r
+               wxButton* m_sdbSizer3OK;\r
+               wxButton* m_sdbSizer3Cancel;\r
+               \r
+               // Virtual event handlers, overide them in your derived class\r
+               virtual void OnListItemSelected( wxListEvent& event ) { event.Skip(); }\r
+               \r
+       \r
+       public:\r
+               \r
+               DlgComPorts( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select Com Port"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 399,226 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); \r
+               ~DlgComPorts();\r
+       \r
 };\r
 \r
 #endif //__TOPFRAME_H__\r
index 32d58fd0c7b5bbd52ff99887d30cd6929c78a0c3..e8685fd74a81138a9b0bf8161d374a9fea70d1b2 100644 (file)
@@ -7,7 +7,6 @@
 ## PLEASE DO "NOT" EDIT THIS FILE!\r
 ###########################################################################\r
 \r
-from dlg_audio.h import dlg_audio\r
 import wx\r
 import wx.xrc\r
 import wx.aui\r
@@ -454,6 +453,7 @@ class DlgAbout ( wx.Dialog ):
                self.Centre( wx.BOTH )\r
                \r
                # Connect Events\r
+               self.Bind( wx.EVT_CLOSE, self.OnClose )\r
                self.Bind( wx.EVT_INIT_DIALOG, self.OnInitDialog )\r
        \r
        def __del__( self ):\r
@@ -461,6 +461,9 @@ class DlgAbout ( wx.Dialog ):
        \r
        \r
        # Virtual event handlers, overide them in your derived class\r
+       def OnClose( self, event ):\r
+               event.Skip()\r
+       \r
        def OnInitDialog( self, event ):\r
                event.Skip()\r
        \r
@@ -469,10 +472,10 @@ class DlgAbout ( wx.Dialog ):
 ## Class DlgAudio\r
 ###########################################################################\r
 \r
-class DlgAudio ( public dlg_audio ):\r
+class DlgAudio ( wx.Dialog ):\r
        \r
        def __init__( self, parent ):\r
-               dlg_audio.__init__( self ) ( self, parent, id = wx.ID_ANY, title = _(u"Audio Options"), pos = wx.DefaultPosition, size = wx.Size( 436,377 ), style = wx.DEFAULT_DIALOG_STYLE )\r
+               wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = _(u"Audio Options"), pos = wx.DefaultPosition, size = wx.Size( 553,455 ), style = wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER )\r
                \r
                self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )\r
                \r
@@ -485,7 +488,7 @@ class DlgAudio ( public dlg_audio ):
                bSizer31 = wx.BoxSizer( wx.VERTICAL )\r
                \r
                m_lbRxInputChoices = []\r
-               self.m_lbRxInput = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_lbRxInputChoices, wx.LB_SINGLE )\r
+               self.m_lbRxInput = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_lbRxInputChoices, wx.LB_HSCROLL|wx.LB_SINGLE )\r
                bSizer31.Add( self.m_lbRxInput, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALL|wx.EXPAND, 2 )\r
                \r
                self.m_textRxInput = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )\r
@@ -502,7 +505,7 @@ class DlgAudio ( public dlg_audio ):
                bSizer281 = wx.BoxSizer( wx.VERTICAL )\r
                \r
                m_lbTxOutputChoices = []\r
-               self.m_lbTxOutput = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_lbTxOutputChoices, wx.LB_SINGLE )\r
+               self.m_lbTxOutput = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_lbTxOutputChoices, wx.LB_HSCROLL|wx.LB_SINGLE )\r
                bSizer281.Add( self.m_lbTxOutput, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALL|wx.EXPAND, 2 )\r
                \r
                self.m_textCtrl15 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )\r
@@ -524,7 +527,7 @@ class DlgAudio ( public dlg_audio ):
                bSizer29 = wx.BoxSizer( wx.VERTICAL )\r
                \r
                m_lbVoiceInputChoices = []\r
-               self.m_lbVoiceInput = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_lbVoiceInputChoices, wx.LB_SINGLE )\r
+               self.m_lbVoiceInput = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_lbVoiceInputChoices, wx.LB_HSCROLL|wx.LB_SINGLE )\r
                bSizer29.Add( self.m_lbVoiceInput, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALL|wx.EXPAND, 2 )\r
                \r
                self.m_textVoiceInput = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )\r
@@ -541,7 +544,7 @@ class DlgAudio ( public dlg_audio ):
                bSizer30 = wx.BoxSizer( wx.VERTICAL )\r
                \r
                m_lbVoiceOutputChoices = []\r
-               self.m_lbVoiceOutput = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_lbVoiceOutputChoices, wx.LB_SINGLE )\r
+               self.m_lbVoiceOutput = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_lbVoiceOutputChoices, wx.LB_HSCROLL|wx.LB_SINGLE )\r
                bSizer30.Add( self.m_lbVoiceOutput, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALL|wx.EXPAND, 2 )\r
                \r
                self.m_textVoiceOutput = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )\r
@@ -579,6 +582,8 @@ class DlgAudio ( public dlg_audio ):
                self.Centre( wx.BOTH )\r
                \r
                # Connect Events\r
+               self.Bind( wx.EVT_CLOSE, self.OnClose )\r
+               self.Bind( wx.EVT_INIT_DIALOG, self.OnInitDialog )\r
                self.m_lbRxInput.Bind( wx.EVT_LISTBOX, self.OnRxInputSelect )\r
                self.m_lbTxOutput.Bind( wx.EVT_LISTBOX, self.OnTxOutputSelect )\r
                self.m_lbVoiceInput.Bind( wx.EVT_LISTBOX, self.OnVoiceInputSelect )\r
@@ -592,6 +597,12 @@ class DlgAudio ( public dlg_audio ):
        \r
        \r
        # Virtual event handlers, overide them in your derived class\r
+       def OnClose( self, event ):\r
+               event.Skip()\r
+       \r
+       def OnInitDialog( self, event ):\r
+               event.Skip()\r
+       \r
        def OnRxInputSelect( self, event ):\r
                event.Skip()\r
        \r
index 3cf997f49c9eb6710c18a48711ec101891c305f4..81c9e2a8a235bc5db7ba8b47efa444a7cf89ae16 100644 (file)
                        </object>\r
                </object>\r
        </object>\r
-       <object class="wxDialog" name="DlgAudio" subclass="dlg_audio">\r
-               <style>wxDEFAULT_DIALOG_STYLE</style>\r
-               <size>436,377</size>\r
+       <object class="wxDialog" name="DlgAudio">\r
+               <style>wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</style>\r
+               <size>553,455</size>\r
                <title>Audio Options</title>\r
                <centered>1</centered>\r
                <object class="wxBoxSizer">\r
                                                                                <flag>wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND</flag>\r
                                                                                <border>2</border>\r
                                                                                <object class="wxListBox" name="m_lbRxInput">\r
-                                                                                       <style>wxLB_SINGLE</style>\r
+                                                                                       <style>wxLB_HSCROLL|wxLB_SINGLE</style>\r
                                                                                        <content />\r
                                                                                </object>\r
                                                                        </object>\r
                                                                                <flag>wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND</flag>\r
                                                                                <border>2</border>\r
                                                                                <object class="wxListBox" name="m_lbTxOutput">\r
-                                                                                       <style>wxLB_SINGLE</style>\r
+                                                                                       <style>wxLB_HSCROLL|wxLB_SINGLE</style>\r
                                                                                        <content />\r
                                                                                </object>\r
                                                                        </object>\r
                                                                                <flag>wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND</flag>\r
                                                                                <border>2</border>\r
                                                                                <object class="wxListBox" name="m_lbVoiceInput">\r
-                                                                                       <style>wxLB_SINGLE</style>\r
+                                                                                       <style>wxLB_HSCROLL|wxLB_SINGLE</style>\r
                                                                                        <content />\r
                                                                                </object>\r
                                                                        </object>\r
                                                                                <flag>wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND</flag>\r
                                                                                <border>2</border>\r
                                                                                <object class="wxListBox" name="m_lbVoiceOutput">\r
-                                                                                       <style>wxLB_SINGLE</style>\r
+                                                                                       <style>wxLB_HSCROLL|wxLB_SINGLE</style>\r
                                                                                        <content />\r
                                                                                </object>\r
                                                                        </object>\r