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:
		@@ -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 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user