1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
/******************************************************************************
*
* Project: OpenCPN
*
***************************************************************************
* Copyright (C) 2013 by David S. Register *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************
*/
#ifndef __TCWIN_H__
#define __TCWIN_H__
#include <wx/frame.h>
#include <wx/datetime.h>
#include <wx/timer.h>
#include <wx/list.h>
class IDX_entry;
class ChartCanvas;
class RolloverWin;
class wxTimerEvent;
class wxCommandEvent;
class wxCloseEvent;
class wxTextCtrl;
class wxButton;
class wxListCtrl;
WX_DECLARE_LIST(wxPoint, SplineList); // for spline curve points
class TCWin: public wxFrame
{
public:
TCWin(ChartCanvas *parent, int x, int y, void *pvIDX);
~TCWin();
void OnSize(wxSizeEvent& event);
void OnPaint(wxPaintEvent& event);
void MouseEvent(wxMouseEvent& event);
void OnTCWinPopupTimerEvent(wxTimerEvent& event);
void OKEvent(wxCommandEvent& event);
void NXEvent(wxCommandEvent& event);
void PREvent(wxCommandEvent& event);
void OnCloseWindow(wxCloseEvent& event);
void RePosition(void);
void RecalculateSize();
private:
wxTextCtrl *m_ptextctrl;
wxTimer m_TCWinPopupTimer;
RolloverWin *m_pTCRolloverWin;
int curs_x;
int curs_y;
int m_plot_type;
wxSize m_tc_size;
wxPoint m_position; // window ULC in screen coordinates
int m_x; // x coord of mouse click that launched window
int m_y; // y coord of mouse click that launched window
bool m_created;
int m_refDIM;
bool m_bcompactText;
int m_tsx; // test button width
int m_tsy; // test button height
float m_tcwin_scaler; // factor to scale TCWin and contents by
IDX_entry *pIDX;
wxButton *OK_button;
wxButton *NX_button;
wxButton *PR_button;
int im; // span of values to graph
int ib; // minimum value to graph
int it; // maximum value to graph
int val_off; // offset
int i_skip; // vertical stride in graph
wxRect m_graph_rect;
float tcv[26];
time_t tt_tcv[26];
wxListCtrl *m_tList ;
bool btc_valid;
ChartCanvas *pParent;
int m_corr_mins;
wxString m_stz;
int m_t_graphday_00_at_station;
wxDateTime m_graphday;
int m_plot_y_offset;
SplineList m_sList;
wxFont *pSFont;
wxFont *pSMFont;
wxFont *pMFont;
wxFont *pLFont;
wxPen *pblack_1;
wxPen *pblack_2;
wxPen *pblack_3;
wxPen *pblack_4;
wxPen *pred_2;
wxBrush *pltgray;
wxBrush *pltgray2;
int m_button_height;
int xSpot;
int ySpot;
DECLARE_EVENT_TABLE()
};
#endif
|