--- /dev/null
+//==========================================================================\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__