~s-cecilio/lenmus/v5.3

« back to all changes in this revision

Viewing changes to src/mdi/ChildFrame.h

  • Committer: cecilios
  • Date: 2012-09-11 16:59:18 UTC
  • Revision ID: svn-v4:2587a929-2f0e-0410-ae78-fe6f687d5efe:branches/TRY-5.0:730
Paths: fixed problem with installation folders. Fixed Chinese ISO language code

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//--------------------------------------------------------------------------------------
2
 
//    LenMus Phonascus: The teacher of music
3
 
//    Copyright (c) 2002-2007 Cecilio Salmeron
4
 
//
5
 
//    This file is derived from file src/generic/mdig.h from wxWidgets 2.7.1 project.
6
 
//    Author:       Hans Van Leemputten
7
 
//    Copyright (c) Hans Van Leemputten
8
 
// 
9
 
//    Modified by:
10
 
//        Cecilio Salmeron
11
 
//
12
 
//    This program is free software; you can redistribute it and/or modify it under the 
13
 
//    terms of the GNU General Public License as published by the Free Software Foundation;
14
 
//    either version 2 of the License, or (at your option) any later version.
15
 
//
16
 
//    This program is distributed in the hope that it will be useful, but WITHOUT ANY 
17
 
//    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
18
 
//    PARTICULAR PURPOSE.  See the GNU General Public License for more details.
19
 
//
20
 
//    You should have received a copy of the GNU General Public License along with this 
21
 
//    program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, 
22
 
//    Fifth Floor, Boston, MA  02110-1301, USA.
23
 
//
24
 
//    For any comment, suggestion or feature request, please contact the manager of 
25
 
//    the project at cecilios@users.sourceforge.net
26
 
//
27
 
//-------------------------------------------------------------------------------------
28
 
 
29
 
#ifndef __LM_CHILDFRAME_H__
30
 
#define __LM_CHILDFRAME_H__
31
 
 
32
 
#include "../app/global.h"      //access to lmUSE_NOTEBOOK_MDI flag
33
 
 
34
 
#if lmUSE_NOTEBOOK_MDI
35
 
 
36
 
#include "wx/panel.h"
37
 
 
38
 
 
39
 
class lmMDIParentFrame;
40
 
class lmMDIClientWindow;
41
 
 
42
 
//-----------------------------------------------------------------------------
43
 
// lmMDIChildFrame
44
 
// It is a panel on the Notebook (MDIParentFrame)
45
 
//-----------------------------------------------------------------------------
46
 
 
47
 
class lmMDIChildFrame: public wxPanel
48
 
{
49
 
public:
50
 
    lmMDIChildFrame();
51
 
    lmMDIChildFrame( lmMDIParentFrame *parent,
52
 
                     wxWindowID winid,
53
 
                     const wxString& title,
54
 
                     const wxPoint& pos = wxDefaultPosition,
55
 
                     const wxSize& size = wxDefaultSize,
56
 
                     long style = wxDEFAULT_FRAME_STYLE,
57
 
                     const wxString& name = wxFrameNameStr );
58
 
 
59
 
    virtual ~lmMDIChildFrame();
60
 
    bool Create( lmMDIParentFrame *parent,
61
 
                 wxWindowID winid,
62
 
                 const wxString& title,
63
 
                 const wxPoint& pos = wxDefaultPosition,
64
 
                 const wxSize& size = wxDefaultSize,
65
 
                 long style = wxDEFAULT_FRAME_STYLE,
66
 
                 const wxString& name = wxFrameNameStr );
67
 
 
68
 
    virtual void SetTitle(const wxString& title);
69
 
    virtual wxString GetTitle() const;
70
 
 
71
 
    virtual void Activate();
72
 
 
73
 
 
74
 
    // icons
75
 
    void SetIcon( const wxIcon& icon );
76
 
    void SetIcons( const wxIconBundle& WXUNUSED(icons) ) { }
77
 
 
78
 
    // no maximize etc
79
 
    virtual void Maximize( bool WXUNUSED(maximize) = true) { /* Has no effect */ }
80
 
    virtual void Restore() { /* Has no effect */ }
81
 
    virtual void Iconize(bool WXUNUSED(iconize)  = true) { /* Has no effect */ }
82
 
    virtual bool IsMaximized() const { return true; }
83
 
    virtual bool IsIconized() const { return false; }
84
 
    virtual bool ShowFullScreen(bool WXUNUSED(show), long WXUNUSED(style)) { return false; }
85
 
    virtual bool IsFullScreen() const { return false; }
86
 
 
87
 
    virtual bool IsTopLevel() const { return false; }
88
 
 
89
 
 
90
 
    // The next 2 are copied from top level...
91
 
    void OnCloseWindow(wxCloseEvent& event);
92
 
    void OnSize(wxSizeEvent& event);
93
 
 
94
 
    void SetMDIParentFrame(lmMDIParentFrame* parentFrame);
95
 
    lmMDIParentFrame* GetMDIParentFrame() const;
96
 
 
97
 
protected:
98
 
    lmMDIParentFrame *m_pMDIParentFrame;
99
 
    wxRect            m_MDIRect;
100
 
    wxString          m_Title;
101
 
 
102
 
 
103
 
protected:
104
 
    void Init();
105
 
 
106
 
    virtual void DoMoveWindow(int x, int y, int width, int height);
107
 
 
108
 
    // This function needs to be called when a size change is confirmed,
109
 
    // we needed this function to prevent any body from the outside
110
 
    // changing the panel... it messes the UI layout when we would allow it.
111
 
    void ApplyMDIChildFrameRect();
112
 
 
113
 
private:
114
 
    DECLARE_DYNAMIC_CLASS(lmMDIChildFrame)
115
 
    DECLARE_EVENT_TABLE()
116
 
 
117
 
    friend class lmMDIClientWindow;
118
 
};
119
 
 
120
 
 
121
 
#else   // do not lmUSE_NOTEBOOK_MDI
122
 
 
123
 
//use standard wxWidgets classes
124
 
#define lmMDIChildFrame wxMDIChildFrame
125
 
 
126
 
 
127
 
#endif  //lmUSE_NOTEBOOK_MDI
128
 
 
129
 
 
130
 
#endif      // __LM_CHILDFRAME_H__