1 ///////////////////////////////////////////////////////////////////////////
2 // C++ code generated with wxFormBuilder (version Jun  6 2014)
3 // http://www.wxformbuilder.org/
4 //
5 // PLEASE DO "NOT" EDIT THIS FILE!
6 ///////////////////////////////////////////////////////////////////////////
7 
8 #ifndef __CHARTDLDRGUI_H__
9 #define __CHARTDLDRGUI_H__
10 
11 #include <wx/artprov.h>
12 #include <wx/xrc/xmlres.h>
13 #include <wx/intl.h>
14 #include <wx/treectrl.h>
15 #include <wx/gdicmn.h>
16 #include <wx/font.h>
17 #include <wx/colour.h>
18 #include <wx/settings.h>
19 #include <wx/string.h>
20 #include <wx/sizer.h>
21 #include <wx/panel.h>
22 #include <wx/bitmap.h>
23 #include <wx/image.h>
24 #include <wx/icon.h>
25 #include <wx/stattext.h>
26 #include <wx/textctrl.h>
27 #include <wx/notebook.h>
28 #include <wx/statbox.h>
29 #include <wx/filepicker.h>
30 #include <wx/button.h>
31 #include <wx/dialog.h>
32 #include <wx/listctrl.h>
33 #include <wx/combobox.h>
34 #include "checkedlistctrl.h"
35 #include <wx/checkbox.h>
36 #include <wx/statline.h>
37 #include <wx/dcmemory.h>
38 
39 #include "ocpn_plugin.h"
40 
41 #ifndef NEW_LIST
42 	#define NEW_LIST
43 #endif	/* NEW_LIST */
44 ///////////////////////////////////////////////////////////////////////////
45 class ChartPanel;
46 class ChartDldrPanelImpl;
47 
48 WX_DECLARE_OBJARRAY(ChartPanel *,      ArrayOfChartPanels);
49 
50 
51 ///////////////////////////////////////////////////////////////////////////////
52 /// Class AddSourceDlg
53 ///////////////////////////////////////////////////////////////////////////////
54 class AddSourceDlg : public wxDialog
55 {
56 	private:
57 
58 	protected:
59 		wxPanel* m_panelPredefined;
60 		wxPanel* m_panelCustom;
61 		wxStaticText* m_stName;
62 		wxStaticText* m_stUrl;
63 		wxStdDialogButtonSizer* m_sdbSizerBtns;
64 		wxButton* m_sdbSizerBtnsOK;
65 		wxButton* m_sdbSizerBtnsCancel;
66 
67 		// Virtual event handlers, overide them in your derived class
OnSourceSelected(wxTreeEvent & event)68 		virtual void OnSourceSelected( wxTreeEvent& event ) { event.Skip(); }
OnOkClick(wxCommandEvent & event)69 		virtual void OnOkClick( wxCommandEvent& event ) { event.Skip(); }
OnCancelClick(wxCommandEvent & event)70 		virtual void OnCancelClick( wxCommandEvent& event ) { event.Skip(); }
71                 void OnDirSelClick( wxCommandEvent& event );
72                 void applyStyle();
73 
74 	public:
75 		wxNotebook* m_nbChoice;
76 		wxTreeCtrl* m_treeCtrlPredefSrcs;
77 		wxTextCtrl* m_tSourceName;
78 		wxTextCtrl* m_tChartSourceUrl;
79 		//wxDirPickerCtrl* m_dpChartDirectory;
80                 wxTextCtrl *m_tcChartDirectory;
81                 wxButton *m_buttonChartDirectory;
82                 wxScrolledWindow *m_sourceswin;
83 
84 		AddSourceDlg( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("New chart source"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
85 		~AddSourceDlg();
86 
87 };
88 
89 ///////////////////////////////////////////////////////////////////////////////
90 /// Class ChartDldrPanel
91 ///////////////////////////////////////////////////////////////////////////////
92 class ChartDldrPanel : public wxPanel
93 {
94 	private:
95 
96 	protected:
97 		wxListCtrl* m_lbChartSources;
98 		wxButton* m_bAddSource;
99 		wxButton* m_bDeleteSource;
100 		wxButton* m_bEditSource;
101 		wxButton* m_bUpdateChartList;
102 		wxButton* m_bUpdateAllCharts;
103 		wxStaticText* m_stCatalogInfo;
104 //		wxButton* m_bHelp;
105 		wxButton* m_bDnldCharts;
106 //		wxButton* m_bShowLocal;
107 
108                 wxNotebook *m_DLoadNB;
109                 wxString m_csTitle;
110                 wxStaticText *m_chartsLabel;
111 
112                 ArrayOfChartPanels m_panelArray;
113                 wxBoxSizer  *m_boxSizerCharts;
114 
115 		// Virtual event handlers, overide them in your derived class
OnPaint(wxPaintEvent & event)116 		virtual void OnPaint( wxPaintEvent& event ) { event.Skip(); }
OnLeftDClick(wxMouseEvent & event)117 		virtual void OnLeftDClick( wxMouseEvent& event ) { event.Skip(); }
SelectSource(wxListEvent & event)118 		virtual void SelectSource( wxListEvent& event ) { event.Skip(); }
AddSource(wxCommandEvent & event)119 		virtual void AddSource( wxCommandEvent& event ) { event.Skip(); }
DeleteSource(wxCommandEvent & event)120 		virtual void DeleteSource( wxCommandEvent& event ) { event.Skip(); }
EditSource(wxCommandEvent & event)121 		virtual void EditSource( wxCommandEvent& event ) { event.Skip(); }
UpdateChartList(wxCommandEvent & event)122 		virtual void UpdateChartList( wxCommandEvent& event ) { event.Skip(); }
UpdateAllCharts(wxCommandEvent & event)123 		virtual void UpdateAllCharts( wxCommandEvent& event ) { event.Skip(); }
DoHelp(wxCommandEvent & event)124 		virtual void DoHelp( wxCommandEvent& event ) { event.Skip(); }
OnDownloadCharts(wxCommandEvent & event)125 		virtual void OnDownloadCharts( wxCommandEvent& event ) { event.Skip(); }
OnShowLocalDir(wxCommandEvent & event)126 		virtual void OnShowLocalDir( wxCommandEvent& event ) { event.Skip(); }
127 		virtual void OnSize( wxSizeEvent& event );
128 
129 
130 	public:
131 #if !defined(NEW_LIST)
132 		wxCheckedListCtrl *m_clCharts;
133 #endif	/* NEW_LIST */
134                 wxScrolledWindow *m_scrollWinChartList;
135 
136 		ChartDldrPanel( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL );
137 		~ChartDldrPanel();
138 //                ChartDldrPanel() { }
139 
OnContextMenu(wxMouseEvent & event)140                 virtual void OnContextMenu( wxMouseEvent& event ) { event.Skip(); }
141 
142 };
143 
144 ///////////////////////////////////////////////////////////////////////////////
145 /// Class ChartDldrPrefsDlg
146 ///////////////////////////////////////////////////////////////////////////////
147 class ChartDldrPrefsDlg : public wxDialog
148 {
149 	private:
150 
151 	protected:
152 		//wxDirPickerCtrl* m_dpDefaultDir;
153 		wxStaticText* m_stPreselect;
154 		wxCheckBox* m_cbSelectUpdated;
155 		wxCheckBox* m_cbSelectNew;
156 		wxStaticLine* m_staticline1;
157 		wxCheckBox* m_cbBulkUpdate;
158 		wxStdDialogButtonSizer* m_sdbSizerBtns;
159 		wxButton* m_sdbSizerBtnsOK;
160 		wxButton* m_sdbSizerBtnsCancel;
161         wxButton* m_buttonChartDirectory;
162         wxButton* m_buttonDownloadMasterCatalog;
163         wxTextCtrl* m_tcDefaultDir;
164 
165         void OnDirSelClick( wxCommandEvent& event );
166         void OnDownloadMasterCatalog( wxCommandEvent& event );
167 
168 
169 		// Virtual event handlers, overide them in your derived class
170 		virtual void OnCancelClick( wxCommandEvent& event ) ;
171 		virtual void OnOkClick( wxCommandEvent& event );
172 
173 
174 	public:
175 
176 		ChartDldrPrefsDlg( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Chart Downloader Preferences"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 462,331 ), long style = wxDEFAULT_DIALOG_STYLE );
177 		~ChartDldrPrefsDlg();
178 
179 };
180 
181 class ChartPanel: public wxPanel
182 {
183 public:
184     ChartPanel( wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, wxString Name, wxString stat, wxString latest, ChartDldrPanel *DldrPanel, bool bcheck);
185     ~ChartPanel();
186 
187     void OnContextMenu( wxMouseEvent& event );
GetCB()188     wxCheckBox *GetCB(){ return m_cb; }
isNew()189     bool isNew() { return (m_stat == _("New")); }
isUpdated()190     bool isUpdated() { return (m_stat == _("Update available")); }
191 private:
192     wxCheckBox* m_cb;
193 //    wxStaticText *m_chartInfo;
194 //    wxStaticText *m_chartInfo2;
195     wxString m_stat;
196     wxString m_latest;
197     ChartDldrPanel *m_dldrPanel;
198 
199 };
200 
201 
202 
203 
204 #endif //__CHARTDLDRGUI_H__
205