]> git.saurik.com Git - wxWidgets.git/blame_incremental - src/x11/toplevel.cpp
use WXUNUSED(foo), not (void)foo
[wxWidgets.git] / src / x11 / toplevel.cpp
... / ...
CommitLineData
1///////////////////////////////////////////////////////////////////////////////
2// Name: x11/toplevel.cpp
3// Purpose: implements wxTopLevelWindow for X11
4// Author: Julian Smart
5// Modified by:
6// Created: 24.09.01
7// RCS-ID: $Id$
8// Copyright: (c) 2002 Julian Smart
9// License: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
12// ============================================================================
13// declarations
14// ============================================================================
15
16// ----------------------------------------------------------------------------
17// headers
18// ----------------------------------------------------------------------------
19
20#ifdef __GNUG__
21 #pragma implementation "toplevel.h"
22#endif
23
24// For compilers that support precompilation, includes "wx.h".
25#include "wx/wxprec.h"
26
27#ifdef __BORLANDC__
28 #pragma hdrstop
29#endif
30
31#ifndef WX_PRECOMP
32 #include "wx/app.h"
33 #include "wx/toplevel.h"
34 #include "wx/string.h"
35 #include "wx/log.h"
36 #include "wx/intl.h"
37 #include "wx/frame.h"
38#endif //WX_PRECOMP
39
40#include "wx/x11/private.h"
41
42// ----------------------------------------------------------------------------
43// globals
44// ----------------------------------------------------------------------------
45
46// list of all frames and modeless dialogs
47// wxWindowList wxModelessWindows;
48
49// ----------------------------------------------------------------------------
50// wxTopLevelWindowX11 creation
51// ----------------------------------------------------------------------------
52
53void wxTopLevelWindowX11::Init()
54{
55 m_iconized =
56 m_maximizeOnShow = FALSE;
57
58 // unlike (almost?) all other windows, frames are created hidden
59 m_isShown = FALSE;
60
61 // Data to save/restore when calling ShowFullScreen
62 m_fsStyle = 0;
63 m_fsIsMaximized = FALSE;
64 m_fsIsShowing = FALSE;
65}
66
67bool wxTopLevelWindowX11::CreateDialog(const wxString& title,
68 const wxPoint& pos,
69 const wxSize& size)
70{
71 // TODO
72 return FALSE;
73}
74
75bool wxTopLevelWindowX11::CreateFrame(const wxString& title,
76 const wxPoint& pos,
77 const wxSize& size)
78{
79 // TODO
80 return FALSE;
81}
82
83bool wxTopLevelWindowX11::Create(wxWindow *parent,
84 wxWindowID id,
85 const wxString& title,
86 const wxPoint& pos,
87 const wxSize& size,
88 long style,
89 const wxString& name)
90{
91 // init our fields
92 Init();
93
94 m_windowStyle = style;
95
96 SetName(name);
97
98 m_windowId = id == -1 ? NewControlId() : id;
99
100 wxTopLevelWindows.Append(this);
101
102 if ( parent )
103 parent->AddChild(this);
104
105 if ( GetExtraStyle() & wxTOPLEVEL_EX_DIALOG )
106 {
107 return CreateDialog(title, pos, size);
108 }
109 else // !dialog
110 {
111 return CreateFrame(title, pos, size);
112 }
113}
114
115wxTopLevelWindowX11::~wxTopLevelWindowX11()
116{
117 wxTopLevelWindows.DeleteObject(this);
118
119 if ( wxModelessWindows.Find(this) )
120 wxModelessWindows.DeleteObject(this);
121
122 // If this is the last top-level window, exit.
123 if ( wxTheApp && (wxTopLevelWindows.Number() == 0) )
124 {
125 wxTheApp->SetTopWindow(NULL);
126
127 if (wxTheApp->GetExitOnFrameDelete())
128 {
129 // Signal to the app that we're going to close
130 wxTheApp->ExitMainLoop();
131 }
132 }
133}
134
135// ----------------------------------------------------------------------------
136// wxTopLevelWindowX11 showing
137// ----------------------------------------------------------------------------
138
139bool wxTopLevelWindowX11::Show(bool show)
140{
141 if ( !wxWindowBase::Show(show) )
142 return FALSE;
143
144 // TODO
145
146 return TRUE;
147}
148
149// ----------------------------------------------------------------------------
150// wxTopLevelWindowX11 maximize/minimize
151// ----------------------------------------------------------------------------
152
153void wxTopLevelWindowX11::Maximize(bool maximize)
154{
155 // TODO
156}
157
158bool wxTopLevelWindowX11::IsMaximized() const
159{
160 // TODO
161 return TRUE;
162}
163
164void wxTopLevelWindowX11::Iconize(bool iconize)
165{
166 // TODO
167}
168
169bool wxTopLevelWindowX11::IsIconized() const
170{
171 // TODO
172 return m_iconized;
173}
174
175void wxTopLevelWindowX11::Restore()
176{
177 // TODO
178}
179
180// ----------------------------------------------------------------------------
181// wxTopLevelWindowX11 fullscreen
182// ----------------------------------------------------------------------------
183
184bool wxTopLevelWindowX11::ShowFullScreen(bool show, long style)
185{
186 if (show)
187 {
188 if (IsFullScreen())
189 return FALSE;
190
191 m_fsIsShowing = TRUE;
192 m_fsStyle = style;
193
194 // TODO
195
196 return TRUE;
197 }
198 else
199 {
200 if (!IsFullScreen())
201 return FALSE;
202
203 m_fsIsShowing = FALSE;
204
205 // TODO
206 return TRUE;
207 }
208}
209
210// ----------------------------------------------------------------------------
211// wxTopLevelWindowX11 misc
212// ----------------------------------------------------------------------------
213
214void wxTopLevelWindowX11::SetIcon(const wxIcon& icon)
215{
216 // this sets m_icon
217 wxTopLevelWindowBase::SetIcon(icon);
218
219 // TODO
220}