working with it.
+\membersection{wxTopLevelWindow::IsAlwaysMaximized}\label{wxtoplevelwindowisalwaysmaximized}
+
+\constfunc{virtual bool}{IsAlwaysMaximized}{\void}
+
+Returns \true if this window is expected to be always maximized, either due to platform policy
+or due to local policy regarding particular class.
+
+
\membersection{wxTopLevelWindow::Iconize}\label{wxtoplevelwindowiconize}
\func{void}{Iconize}{\param{bool}{ iconize}}
// return true if the frame is maximized
virtual bool IsMaximized() const = 0;
+ // return true if the frame is always maximized
+ // due to native guidelines or current policy
+ virtual bool IsAlwaysMaximized() const;
+
// return true if the frame is iconized
virtual bool IsIconized() const = 0;
void wxTopLevelWindowBase::DoCentre(int dir)
{
+ // on some platforms centering top level windows is impossible
+ // because they are always maximized by guidelines or limitations
+ if(IsAlwaysMaximized())
+ return;
+
// we need the display rect anyhow so store it first
int nDisplay = wxDisplay::GetFromWindow(this);
wxDisplay dpy(nDisplay == wxNOT_FOUND ? 0 : nDisplay);
wxWindow::DoClientToScreen(x, y);
}
+bool wxTopLevelWindowBase::IsAlwaysMaximized() const
+{
+#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
+ return true;
+#else
+ return false;
+#endif
+}
// ----------------------------------------------------------------------------
// event handlers
bool wxTopLevelWindowMSW::IsMaximized() const
{
-#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
- return true;
-#else
- return m_maximizeOnShow || ::IsZoomed(GetHwnd()) != 0;
+ return IsAlwaysMaximized() ||
+#if !defined(__SMARTPHONE__) && !defined(__POCKETPC__)
+ (::IsZoomed(GetHwnd()) != 0) ||
#endif
+ m_maximizeOnShow;
}
void wxTopLevelWindowMSW::Iconize(bool iconize)