source: git/src/printwx.h @ 6d3938b

RELEASE/1.2debug-cidebug-ci-sanitisersstereowalls-data
Last change on this file since 6d3938b was 6d3938b, checked in by Olly Betts <olly@…>, 10 years ago

lib/survex.pot,src/: If the 3d file specifies a coordinate system,
then use it for exporting to formats which need to know (currently
GPX). If the input file doesn't specify, allow the user to enter
one in the export dialog.

  • Property mode set to 100644
File size: 2.6 KB
Line 
1/* printwx.h */
2/* Device dependent part of Survex wxWidgets driver */
3/* Copyright (C) 2004 Philip Underwood
4 * Copyright (C) 2004,2005,2006,2011,2012,2013,2014 Olly Betts
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
19 */
20
21#include "wx.h"
22#include <wx/dialog.h>
23
24#include <time.h>
25
26#include "avenprcore.h"
27
28// The libgnomeprint and GtkPrint dialogs provide their own preview, as does
29// Mac OS X.
30#if !(defined wxUSE_LIBGNOMEPRINT && wxUSE_LIBGNOMEPRINT) && \
31    !(defined wxUSE_GTKPRINT && wxUSE_GTKPRINT) && \
32    !defined __WXMAC__
33# define AVEN_PRINT_PREVIEW
34#endif
35
36class MainFrm;
37class wxComboBox;
38class wxStaticText;
39class wxSpinCtrl;
40class wxSpinEvent;
41
42// This dialog is also use for Export as well as Print.
43class svxPrintDlg : public wxDialog {
44        layout m_layout;
45        wxComboBox* m_scale;
46        wxBoxSizer* m_scalebox;
47        wxBoxSizer* m_viewbox;
48        wxChoice* m_format;
49        wxStaticText* m_printSize;
50        wxSpinCtrl* m_bearing;
51        wxSpinCtrl* m_tilt;
52//      wxCheckBox* m_blanks;
53        wxString m_File;
54        MainFrm* mainfrm;
55        bool close_after;
56
57        void LayoutToUI();
58        void UIToLayout();
59        void RecalcBounds();
60        void SomethingChanged(int control_id);
61 public:
62        svxPrintDlg(MainFrm* parent, const wxString & filename,
63                    const wxString & title, const wxString & cs_proj,
64                    const wxString & datestamp, time_t datestamp_numeric,
65                    double angle, double tilt_angle,
66                    bool labels, bool crosses, bool legs, bool surf,
67                    bool tubes, bool ents, bool fixes, bool exports,
68                    bool printing, bool close_after_ = false);
69
70        ~svxPrintDlg() {
71            if (close_after) mainfrm->Close();
72        }
73
74        void OnPrint(wxCommandEvent& event);
75        void OnExport(wxCommandEvent& event);
76#ifdef AVEN_PRINT_PREVIEW
77        void OnPreview(wxCommandEvent& event);
78#endif
79        void OnPlan(wxCommandEvent&);
80        void OnElevation(wxCommandEvent&);
81        void OnPlanUpdate(wxUpdateUIEvent& e);
82        void OnElevationUpdate(wxUpdateUIEvent& e);
83        void OnChangeSpin(wxSpinEvent& event);
84        void OnChange(wxCommandEvent& event);
85        void OnCancel(wxCommandEvent& event);
86 private:
87        DECLARE_EVENT_TABLE()
88};
Note: See TracBrowser for help on using the repository browser.