source: git/src/printing.h @ 559cd60

Last change on this file since 559cd60 was 559cd60, checked in by Olly Betts <olly@…>, 6 weeks ago

Consistently refer to macOS not OS X, etc

Apple renamed it yet again.

  • Property mode set to 100644
File size: 2.6 KB
Line 
1/* printing.h */
2/* Aven printing code */
3/* Copyright (C) 2004 Philip Underwood
4 * Copyright (C) 2004,2005,2006,2011,2012,2013,2014,2015 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#include <wx/spinctrl.h>
24
25#include <time.h>
26
27#include "avenprcore.h"
28
29// The libgnomeprint and GtkPrint dialogs provide their own preview, as does
30// macOS.
31#if !(defined wxUSE_LIBGNOMEPRINT && wxUSE_LIBGNOMEPRINT) && \
32    !(defined wxUSE_GTKPRINT && wxUSE_GTKPRINT) && \
33    !defined __WXMAC__
34# define AVEN_PRINT_PREVIEW
35#endif
36
37class MainFrm;
38class wxComboBox;
39class wxStaticText;
40class wxSpinCtrlDouble;
41class wxSpinEvent;
42
43// This dialog is also use for Export as well as Print.
44class svxPrintDlg : public wxDialog {
45        layout m_layout;
46        wxComboBox* m_scale;
47        wxBoxSizer* m_scalebox;
48        wxBoxSizer* m_viewbox;
49        wxChoice* m_format;
50        wxStaticText* m_printSize;
51        wxSpinCtrlDouble* m_bearing;
52        wxSpinCtrlDouble* m_tilt;
53//      wxCheckBox* m_blanks;
54        wxString m_File;
55        MainFrm* mainfrm;
56        bool close_after;
57
58        void LayoutToUI();
59        void UIToLayout();
60        void RecalcBounds();
61        void SomethingChanged(int control_id);
62 public:
63        svxPrintDlg(MainFrm* parent, const wxString & filename,
64                    const wxString & title,
65                    const wxString & datestamp,
66                    double angle, double tilt_angle,
67                    bool labels, bool crosses, bool legs, bool surf,
68                    bool splays, bool tubes, bool ents, bool fixes,
69                    bool exports, bool printing, bool close_after_ = false);
70
71        ~svxPrintDlg() {
72            if (close_after) mainfrm->Close();
73        }
74
75        void OnPrint(wxCommandEvent& event);
76        void OnExport(wxCommandEvent& event);
77#ifdef AVEN_PRINT_PREVIEW
78        void OnPreview(wxCommandEvent& event);
79#endif
80        void OnPlan(wxCommandEvent&);
81        void OnElevation(wxCommandEvent&);
82        void OnPlanUpdate(wxUpdateUIEvent& e);
83        void OnElevationUpdate(wxUpdateUIEvent& e);
84        void OnChangeSpin(wxSpinDoubleEvent& event);
85        void OnChange(wxCommandEvent& event);
86        void OnCancel(wxCommandEvent& event);
87 private:
88        DECLARE_EVENT_TABLE()
89};
Note: See TracBrowser for help on using the repository browser.