File: sffapp.h

package info (click to toggle)
sffview 0.4.1-2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 416 kB
  • sloc: cpp: 1,978; makefile: 23
file content (107 lines) | stat: -rw-r--r-- 2,953 bytes parent folder | download
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
#ifndef __SFFAPP_H__
#define __SFFAPP_H__
//
// This file is part of sffview, a program to view structured fax files (sff)
//
// Copyright (C) 1998-2008 Peter Schaefer-Hutter and contributors ("THE AUTHORS")
//
// Permission to use, copy, modify, distribute, and sell this software and
// its documentation for any purpose is hereby granted without fee.
//
// THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
// EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
// WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
//
// IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
// INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY
// DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
// WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY
// THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE
// OR PERFORMANCE OF THIS SOFTWARE.
//
// Contributor(s): 
//   None
//
// You can contact the original author by email at peter.schaefer@gmx.de.
//
// I'm always pleased to hear that somebody is actually using my software.
// If you can manage it, e-mail me a quick notice. Thanks!
// 
/*-RCS-Info----------------------------------------------------

$Id: sffapp.h,v 1.4 2008/03/21 13:47:01 pschaefer Exp $
 
---RCS-Info--------------------------------------------------*/

// ----------------------------------------------------------------------------
// Class declarations
// ----------------------------------------------------------------------------

// forwards

class wxDocManager;
class wxConfig;
class SffCanvas;

// Main application class

class SffApp : public wxApp
{
public:
    SffApp(void);

    bool OnInit(void);
    int  OnExit(void);

protected:
    wxDocManager* m_docManager;
    wxConfig    * m_config;
};

DECLARE_APP(SffApp)

// Main frame class

class SffFrame : public wxDocParentFrame
{
    DECLARE_CLASS(SffFrame)

public:
    SffCanvas *canvas;
    
    SffFrame(wxDocManager *manager, wxFrame *frame,
            wxConfig *config,
						wxWindowID id, const wxString& title, 
						const wxPoint& pos, const wxSize& size,
						const long type);
    
    SffCanvas *CreateCanvas(wxView *view, wxFrame *parent);

		void RecreateToolbar();
		void OnUpdateFileOps(wxUpdateUIEvent& event);
		void OnUpdateMultipage(wxUpdateUIEvent& event);

		void OnAbout(wxCommandEvent& event);
		void OnNextPage(wxCommandEvent& event);
		void OnPrevPage(wxCommandEvent& event);

		void OnFlipX(wxCommandEvent& event);
		void OnFlipY(wxCommandEvent& event);
		
		void OnZoomNormal(wxCommandEvent& event);
		void OnFitWidth(wxCommandEvent& event);
		void OnFitHeight(wxCommandEvent& event);

    void OnMRUFile(wxCommandEvent& event);
		void OnSize(wxSizeEvent& event);
		void OnCloseWindow(wxCloseEvent& event);
		
    DECLARE_EVENT_TABLE()

protected:
    wxConfig *m_config;
};

extern SffFrame *GetMainFrame(void);

#endif // __SFFAPP_H__