changed wxSystemSettings::HasFrameDecorations to more general GetCapability(index)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
6296744f45
commit
253293c103
@ -36,8 +36,8 @@ public:
|
|||||||
// Get a system metric, e.g. scrollbar size
|
// Get a system metric, e.g. scrollbar size
|
||||||
static int GetSystemMetric(int index);
|
static int GetSystemMetric(int index);
|
||||||
|
|
||||||
// Return true if the port can draw frame titlebar (i.e. doesn't need wxUniv for it)
|
// Return true if the port has certain feature
|
||||||
static bool HasFrameDecorations() { return TRUE; }
|
static bool GetCapability(int index);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -36,8 +36,8 @@ public:
|
|||||||
// Get a system metric, e.g. scrollbar size
|
// Get a system metric, e.g. scrollbar size
|
||||||
static int GetSystemMetric(int index);
|
static int GetSystemMetric(int index);
|
||||||
|
|
||||||
// Return true if the port can draw frame titlebar (i.e. doesn't need wxUniv for it)
|
// Return true if the port has certain feature
|
||||||
static bool HasFrameDecorations() { return TRUE; }
|
static bool GetCapability(int index);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -128,8 +128,9 @@ public:
|
|||||||
// Get a system metric, e.g. scrollbar size
|
// Get a system metric, e.g. scrollbar size
|
||||||
static int GetSystemMetric(int index);
|
static int GetSystemMetric(int index);
|
||||||
|
|
||||||
// Return true if the port can draw frame titlebar (i.e. doesn't need wxUniv for it)
|
// Return true if the port has certain feature
|
||||||
static bool HasFrameDecorations() { return TRUE; }
|
static bool GetCapability(int index);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -37,8 +37,8 @@ public:
|
|||||||
// Get a system metric, e.g. scrollbar size
|
// Get a system metric, e.g. scrollbar size
|
||||||
static int GetSystemMetric(int index);
|
static int GetSystemMetric(int index);
|
||||||
|
|
||||||
// Return true if the port can draw frame titlebar (i.e. doesn't need wxUniv for it)
|
// Return true if the port has certain feature
|
||||||
static bool HasFrameDecorations() { return FALSE; }
|
static bool GetCapability(int index);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -37,8 +37,9 @@ public:
|
|||||||
// Get a system metric, e.g. scrollbar size
|
// Get a system metric, e.g. scrollbar size
|
||||||
static int GetSystemMetric(int index);
|
static int GetSystemMetric(int index);
|
||||||
|
|
||||||
// Return true if the port can draw frame titlebar (i.e. doesn't need wxUniv for it)
|
// Return true if the port has certain feature
|
||||||
static bool HasFrameDecorations() { return TRUE; }
|
static bool GetCapability(int index);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -33,9 +33,8 @@ public:
|
|||||||
// Get a system metric, e.g. scrollbar size
|
// Get a system metric, e.g. scrollbar size
|
||||||
static int GetSystemMetric(int index);
|
static int GetSystemMetric(int index);
|
||||||
|
|
||||||
// Return true if the port can draw frame titlebar (i.e. doesn't need wxUniv for it)
|
// Return true if the port has certain feature
|
||||||
static bool HasFrameDecorations() { return TRUE; }
|
static bool GetCapability(int index);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,7 +24,7 @@ public:
|
|||||||
static wxColour GetSystemColour(int index);
|
static wxColour GetSystemColour(int index);
|
||||||
static wxFont GetSystemFont(int index);
|
static wxFont GetSystemFont(int index);
|
||||||
static int GetSystemMetric(int index);
|
static int GetSystemMetric(int index);
|
||||||
static bool HasFrameDecorations() { return TRUE; }
|
static bool GetCapability(int index);
|
||||||
}; // end of CLASS wxSystemSettings
|
}; // end of CLASS wxSystemSettings
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -106,6 +106,10 @@
|
|||||||
#define wxSYS_SHOW_SOUNDS 36
|
#define wxSYS_SHOW_SOUNDS 36
|
||||||
#define wxSYS_SWAP_BUTTONS 37
|
#define wxSYS_SWAP_BUTTONS 37
|
||||||
|
|
||||||
|
// Platform capabilities
|
||||||
|
#define wxSYS_CAN_DRAW_FRAME_DECORATIONS 1
|
||||||
|
#define wxSYS_CAN_ICONIZE_FRAME 2
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/settings.h"
|
#include "wx/msw/settings.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
|
@ -369,3 +369,16 @@ int wxSystemSettings::GetSystemMetric( int index )
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxSystemSettings::GetCapability(int index)
|
||||||
|
{
|
||||||
|
switch (index)
|
||||||
|
{
|
||||||
|
case wxSYS_CAN_ICONIZE_FRAME:
|
||||||
|
return FALSE; break;
|
||||||
|
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
|
||||||
|
return TRUE; break;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -369,3 +369,16 @@ int wxSystemSettings::GetSystemMetric( int index )
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxSystemSettings::GetCapability(int index)
|
||||||
|
{
|
||||||
|
switch (index)
|
||||||
|
{
|
||||||
|
case wxSYS_CAN_ICONIZE_FRAME:
|
||||||
|
return FALSE; break;
|
||||||
|
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
|
||||||
|
return TRUE; break;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -220,3 +220,14 @@ int wxSystemSettings::GetSystemMetric(int index)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxSystemSettings::GetCapability(int index)
|
||||||
|
{
|
||||||
|
switch (index)
|
||||||
|
{
|
||||||
|
case wxSYS_CAN_ICONIZE_FRAME:
|
||||||
|
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
|
||||||
|
return TRUE; break;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -220,3 +220,14 @@ int wxSystemSettings::GetSystemMetric(int index)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxSystemSettings::GetCapability(int index)
|
||||||
|
{
|
||||||
|
switch (index)
|
||||||
|
{
|
||||||
|
case wxSYS_CAN_ICONIZE_FRAME:
|
||||||
|
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
|
||||||
|
return TRUE; break;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -32,3 +32,16 @@ int wxSystemSettings::GetSystemMetric(int WXUNUSED(index))
|
|||||||
// FIXME_MGL
|
// FIXME_MGL
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxSystemSettings::GetCapability(int index)
|
||||||
|
{
|
||||||
|
switch (index)
|
||||||
|
{
|
||||||
|
case wxSYS_CAN_ICONIZE_FRAME:
|
||||||
|
return FALSE; break;
|
||||||
|
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
|
||||||
|
return FALSE; break;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -231,3 +231,14 @@ int wxSystemSettings::GetSystemMetric(int index)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxSystemSettings::GetCapability(int index)
|
||||||
|
{
|
||||||
|
switch (index)
|
||||||
|
{
|
||||||
|
case wxSYS_CAN_ICONIZE_FRAME:
|
||||||
|
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
|
||||||
|
return TRUE; break;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -267,3 +267,14 @@ int wxSystemSettings::GetSystemMetric(int index)
|
|||||||
// __WXMICROWIN__
|
// __WXMICROWIN__
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxSystemSettings::GetCapability(int index)
|
||||||
|
{
|
||||||
|
switch (index)
|
||||||
|
{
|
||||||
|
case wxSYS_CAN_ICONIZE_FRAME:
|
||||||
|
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
|
||||||
|
return TRUE; break;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -357,3 +357,14 @@ int wxSystemSettings::GetSystemMetric(int index)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxSystemSettings::GetCapability(int index)
|
||||||
|
{
|
||||||
|
switch (index)
|
||||||
|
{
|
||||||
|
case wxSYS_CAN_ICONIZE_FRAME:
|
||||||
|
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
|
||||||
|
return TRUE; break;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -55,6 +55,7 @@ WX_FORWARD_TO_INPUT_CONSUMER(wxTopLevelWindow)
|
|||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
int wxTopLevelWindow::ms_drawDecorations = -1;
|
int wxTopLevelWindow::ms_drawDecorations = -1;
|
||||||
|
int wxTopLevelWindow::ms_canIconize = -1;
|
||||||
|
|
||||||
void wxTopLevelWindow::Init()
|
void wxTopLevelWindow::Init()
|
||||||
{
|
{
|
||||||
@ -76,10 +77,18 @@ bool wxTopLevelWindow::Create(wxWindow *parent,
|
|||||||
exstyleOrig = 0;
|
exstyleOrig = 0;
|
||||||
|
|
||||||
if ( ms_drawDecorations == -1 )
|
if ( ms_drawDecorations == -1 )
|
||||||
ms_drawDecorations = !wxSystemSettings::HasFrameDecorations() ||
|
{
|
||||||
wxGetEnv(wxT("WXDECOR"), NULL);
|
ms_drawDecorations =
|
||||||
|
!wxSystemSettings::GetCapability(wxSYS_CAN_DRAW_FRAME_DECORATIONS)
|
||||||
|
|| wxGetEnv(wxT("WXDECOR"), NULL);
|
||||||
// FIXME -- wxUniv should provide a way to force non-native decorations!
|
// FIXME -- wxUniv should provide a way to force non-native decorations!
|
||||||
// $WXDECOR is just a hack in absence of better wxUniv solution
|
// $WXDECOR is just a hack in absence of better wxUniv solution
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ms_canIconize == -1 )
|
||||||
|
{
|
||||||
|
ms_canIconize = wxSystemSettings::GetCapability(wxSYS_CAN_ICONIZE_FRAME);
|
||||||
|
}
|
||||||
|
|
||||||
if ( ms_drawDecorations )
|
if ( ms_drawDecorations )
|
||||||
{
|
{
|
||||||
@ -138,7 +147,7 @@ long wxTopLevelWindow::GetDecorationsStyle() const
|
|||||||
if ( m_windowStyle & wxCAPTION )
|
if ( m_windowStyle & wxCAPTION )
|
||||||
{
|
{
|
||||||
style |= wxTOPLEVEL_TITLEBAR | wxTOPLEVEL_BUTTON_CLOSE;
|
style |= wxTOPLEVEL_TITLEBAR | wxTOPLEVEL_BUTTON_CLOSE;
|
||||||
if ( m_windowStyle & wxMINIMIZE_BOX )
|
if ( (m_windowStyle & wxMINIMIZE_BOX) && ms_canIconize )
|
||||||
style |= wxTOPLEVEL_BUTTON_ICONIZE;
|
style |= wxTOPLEVEL_BUTTON_ICONIZE;
|
||||||
if ( m_windowStyle & wxMAXIMIZE_BOX )
|
if ( m_windowStyle & wxMAXIMIZE_BOX )
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user