UI Project 'main' header
authorwittend99 <wittend99@01035d8c-6547-0410-b346-abe4f91aad63>
Sun, 13 May 2012 16:30:57 +0000 (16:30 +0000)
committerwittend99 <wittend99@01035d8c-6547-0410-b346-abe4f91aad63>
Sun, 13 May 2012 16:30:57 +0000 (16:30 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@440 01035d8c-6547-0410-b346-abe4f91aad63

fdmdv2/fdmdv2_main.h [new file with mode: 0644]

diff --git a/fdmdv2/fdmdv2_main.h b/fdmdv2/fdmdv2_main.h
new file mode 100644 (file)
index 0000000..3918aef
--- /dev/null
@@ -0,0 +1,156 @@
+//==========================================================================\r
+// Name:            fdmdv2_main.h
+// Purpose:         Declares simple wxWidgets application with GUI.
+// Created:         Apr. 9, 2012
+// Initial author:  David Witten\r
+// License:         BSD License (other licenses may apply to other\r
+//                  components of this project)\r
+//==========================================================================\r
+#ifndef __FDMDV2_MAIN__
+#define __FDMDV2_MAIN__
+
+#include <wx/wx.h>
+#include "wx/image.h"
+#include "wx/file.h"
+#include "wx/filename.h"
+#include "wx/graphics.h"
+#include "wx/mstream.h"
+#include "wx/wfstream.h"
+#include "wx/quantize.h"
+#include "wx/scopedptr.h"
+#include "wx/stopwatch.h"
+#include "wx/versioninfo.h"
+#include <wx/sound.h>
+\r
+#include "topFrame.h"
+#include "dlg_about.h"\r
+#include "dlg_audio.h"\r
+#include "dlg_options.h"\r
+#include "dlg_comports.h"\r
+#include "fdmdv2_plot.h"
+
+
+#define WAV_FILE wxT("doggrowl.wav")
+enum
+{
+    ID_ROTATE_LEFT = wxID_HIGHEST + 1,
+    ID_ROTATE_RIGHT,
+    ID_RESIZE,
+    ID_PAINT_BG
+};
+
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+// Class MainApp\r
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+class MainApp : public wxApp
+{
+    public:
+        virtual bool OnInit();
+        virtual int OnExit()
+        {
+            //DeleteBitmaps();
+            return 0;
+        }
+
+    protected:
+        //void DeleteBitmaps();
+        //bool LoadImages();
+};
+
+// declare global static function wxGetApp()
+DECLARE_APP(MainApp)
+
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+// Class MainApp\r
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+class MainFrame : public TopFrame
+{
+    public:
+        MainFrame(wxWindow *parent);
+        virtual ~MainFrame();
+        DrawPanel*  m_panelSpectrum;\r
+        DrawPanel*  m_panelWaterfall;\r
+        DrawPanel*  m_panelExtra1;\r
+        DrawPanel*  m_panelExtra2;\r
+        bool        m_radioRunning;\r
+        // virtual void OnCloseFrame( wxCloseEvent& event ) { event.Skip(); }\r
+        // virtual void OnExitClick( wxCommandEvent& event ) { event.Skip(); }\r
+        // virtual void OnEraseBackground( wxEraseEvent& event ) { event.Skip(); }\r
+        // virtual void OnMouseDown( wxMouseEvent& event );\r
+        // virtual void OnMouseUp( wxMouseEvent& event );\r
+        // virtual void OnMouseMove( wxMouseEvent& event );\r
+        // virtual void OnPaint( wxPaintEvent& event ) { event.Skip(); }\r
+        // virtual void OnSize( wxSizeEvent& event ) { event.Skip(); }\r
+        // virtual void OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }\r
+
+    protected:
+        // protected event handlers
+        virtual void OnCloseFrame(wxCloseEvent& event);
+        virtual void OnExitClick(wxCommandEvent& event);
+
+        void OnOpen( wxCommandEvent& event );\r
+        void OnOpenUpdateUI( wxUpdateUIEvent& event );\r
+        void OnSave( wxCommandEvent& event );\r
+        void OnSaveUpdateUI( wxUpdateUIEvent& event );\r
+        void OnClose( wxCommandEvent& event );\r
+        void OnCloseUpdateUI( wxUpdateUIEvent& event );\r
+        void OnExit( wxCommandEvent& event );\r
+        void OnCopy( wxCommandEvent& event );\r
+        void OnCopyUpdateUI( wxUpdateUIEvent& event );\r
+        void OnCut( wxCommandEvent& event );\r
+        void OnCutUpdateUI( wxUpdateUIEvent& event );\r
+        void OnPaste( wxCommandEvent& event );\r
+        void OnPasteUpdateUI( wxUpdateUIEvent& event );\r
+        void OnToolsAudio( wxCommandEvent& event );\r
+        void OnToolsAudioUI( wxUpdateUIEvent& event );\r
+        void OnToolsComCfg( wxCommandEvent& event );\r
+        void OnToolsComCfgUI( wxUpdateUIEvent& event );\r
+        void OnToolsOptions( wxCommandEvent& event );\r
+        void OnToolsOptionsUI( wxUpdateUIEvent& event );\r
+        void OnHelpCheckUpdates( wxCommandEvent& event );\r
+        void OnHelpCheckUpdatesUI( wxUpdateUIEvent& event );\r
+        void OnHelpAbout( wxCommandEvent& event );\r
+        void OnCmdSliderScroll( wxScrollEvent& event );\r
+        void OnSliderScrollBottom( wxScrollEvent& event );\r
+        void OnCmdSliderScrollChanged( wxScrollEvent& event );\r
+        void OnSliderScrollTop( wxScrollEvent& event );\r
+        void OnCheckSQClick( wxCommandEvent& event );
+        // Toggle Buttons\r
+        void OnTogBtnSplitClick(wxCommandEvent& event);
+        void OnTogBtnAnalogClick(wxCommandEvent& event);
+        void OnTogBtnALCClick(wxCommandEvent& event);
+        void OnTogBtnRxID( wxCommandEvent& event );\r
+        void OnTogBtnTxID( wxCommandEvent& event );\r
+        void OnTogBtnTXClick( wxCommandEvent& event );\r
+
+        void OnPaint(wxPaintEvent& event);
+        void OnClose( wxCloseEvent& event );
+        void OnSize( wxSizeEvent& event );
+        void OnUpdateUI( wxUpdateUIEvent& event );
+
+        wxString LoadUserImage(wxImage& image);
+
+//        ScrollCanvas*   m_scrolledSpectrum;
+//        ScrollCanvas*   m_scrolledWaterfall;
+
+    private:
+        bool CreateSound(wxSound& snd) const;
+
+        wxSound*    m_sound;
+        wxString    m_soundFile;
+#ifdef __WXMSW__
+        wxString    m_soundRes;
+#endif // __WXMSW__
+        bool        m_useMemory;
+
+        wxTextCtrl* m_tc;
+        wxBitmap    m_bitmap;
+        wxBitmap    m_alphaBitmap;
+        int         m_zoom;
+
+        // any class wishing to process wxWidgets events must use this macro
+//    DECLARE_EVENT_TABLE()
+};
+
+
+#endif //__FDMDV2_MAIN__