1 /****************************************************************************** 2 * 3 * Project: OpenCPN 4 * 5 *************************************************************************** 6 * Copyright (C) 2013 by David S. Register * 7 * * 8 * This program is free software; you can redistribute it and/or modify * 9 * it under the terms of the GNU General Public License as published by * 10 * the Free Software Foundation; either version 2 of the License, or * 11 * (at your option) any later version. * 12 * * 13 * This program is distributed in the hope that it will be useful, * 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 16 * GNU General Public License for more details. * 17 * * 18 * You should have received a copy of the GNU General Public License * 19 * along with this program; if not, write to the * 20 * Free Software Foundation, Inc., * 21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * 22 *************************************************************************** 23 */ 24 25 #ifndef __TTYSCROLL_H__ 26 #define __TTYSCROLL_H__ 27 28 #include <wx/scrolwin.h> 29 30 // Scrolled TTY-like window for logging, etc.... 31 class TTYScroll : public wxScrolledWindow 32 { 33 public: 34 TTYScroll(wxWindow *parent, int n_lines, wxTextCtrl &tFilter); 35 virtual ~TTYScroll(); 36 virtual void OnDraw(wxDC& dc); 37 virtual void Add(const wxString &line); 38 void OnSize(wxSizeEvent& event); Pause(bool pause)39 void Pause(bool pause) { bpause = pause; } 40 void Copy(); 41 42 protected: 43 44 wxCoord m_hLine; // the height of one line on screen 45 size_t m_nLines; // the number of lines we draw 46 47 wxArrayString *m_plineArray; 48 wxTextCtrl &m_tFilter; 49 bool bpause; 50 }; 51 52 #endif 53