/////////////////////////////////////////////////////////////////////////////
// Name: settings.cpp
// Purpose: wxSettings
-// Author: AUTHOR
+// Author: Stefan Csomor
// Modified by:
-// Created: ??/??/98
+// Created: 1998-01-01
// RCS-ID: $Id$
-// Copyright: (c) AUTHOR
+// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/gdicmn.h"
#include "wx/utils.h"
-wxColour wxSystemSettings::GetSystemColour(int index)
+#include "wx/mac/uma.h"
+
+// ----------------------------------------------------------------------------
+// wxSystemSettingsNative
+// ----------------------------------------------------------------------------
+
+// ----------------------------------------------------------------------------
+// colours
+// ----------------------------------------------------------------------------
+
+wxColour wxSystemSettingsNative::GetColour(wxSystemColour index)
{
int major,minor;
wxGetOsVersion( &major, &minor );
case wxSYS_COLOUR_ACTIVEBORDER:
case wxSYS_COLOUR_INACTIVEBORDER:
case wxSYS_COLOUR_BTNFACE:
+ case wxSYS_COLOUR_MENUBAR:
return wxColor( 0xDD , 0xDD , 0xDD ) ;
break ;
break ;
}
case wxSYS_COLOUR_BTNSHADOW:
- return wxColor( 0x44 , 0x44 , 0x44 ) ;
+ if (major >= 10)
+ return wxColor( 0xBE , 0xBE , 0xBE ) ;
+ else
+ return wxColor( 0x44 , 0x44 , 0x44 ) ;
break ;
case wxSYS_COLOUR_BTNTEXT:
case wxSYS_COLOUR_APPWORKSPACE:
return *wxWHITE ;
break ;
+
+ case wxSYS_COLOUR_HOTLIGHT:
+ case wxSYS_COLOUR_GRADIENTACTIVECAPTION:
+ case wxSYS_COLOUR_GRADIENTINACTIVECAPTION:
+ case wxSYS_COLOUR_MENUHILIGHT:
+ // TODO
+ return *wxBLACK;
+
+ case wxSYS_COLOUR_MAX:
+ wxFAIL_MSG( _T("unknown system colour index") );
+ break ;
}
return *wxWHITE;
}
-wxFont wxSystemSettings::GetSystemFont(int index)
+// ----------------------------------------------------------------------------
+// fonts
+// ----------------------------------------------------------------------------
+
+wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
{
switch (index)
{
return *wxNORMAL_FONT;
}
+// ----------------------------------------------------------------------------
+// system metrics/features
+// ----------------------------------------------------------------------------
+
// Get a system metric, e.g. scrollbar size
-int wxSystemSettings::GetSystemMetric(int index)
+int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
{
+ int value;
+
switch ( index)
{
case wxSYS_MOUSE_BUTTONS:
- return 2; // we emulate a two button mouse (ctrl + click = right button )
+ // we emulate a two button mouse (ctrl + click = right button )
+ return 2;
case wxSYS_BORDER_X:
// TODO
- return 0;
+ return 0;
case wxSYS_BORDER_Y:
// TODO
return 0;
// TODO
return 0;
case wxSYS_HSCROLL_ARROW_X:
- return 16;
+ return 16;
case wxSYS_HSCROLL_ARROW_Y:
- return 16;
+ return 16;
case wxSYS_HTHUMB_X:
- return 16;
+ return 16;
case wxSYS_ICON_X:
// TODO
return 0;
// TODO
return 0;
case wxSYS_SCREEN_X:
- // TODO
- return 0;
+ wxDisplaySize(&value, NULL);
+ return value;
case wxSYS_SCREEN_Y:
- // TODO
- return 0;
+ wxDisplaySize(NULL, &value);
+ return value;
case wxSYS_FRAMESIZE_X:
// TODO
return 0;
// TODO
return 0;
case wxSYS_HSCROLL_Y:
- return 16;
+ return 16;
case wxSYS_VSCROLL_X:
- return 16;
+ return 16;
case wxSYS_VSCROLL_ARROW_X:
- return 16;
+ return 16;
case wxSYS_VSCROLL_ARROW_Y:
- return 16;
+ return 16;
case wxSYS_VTHUMB_Y:
- return 16;
+ return 16;
case wxSYS_CAPTION_Y:
// TODO
- return 0;
+ return 0;
case wxSYS_MENU_Y:
// TODO
- return 0;
+ return 0;
case wxSYS_NETWORK_PRESENT:
// TODO
- return 0;
+ return 0;
case wxSYS_PENWINDOWS_PRESENT:
- return 0;
+ return 0;
case wxSYS_SHOW_SOUNDS:
// TODO
return 0;
case wxSYS_SWAP_BUTTONS:
- return 0;
- default:
- return 0;
+ return 0;
+ default:
+ return 0;
}
return 0;
}
-bool wxSystemSettings::GetCapability(int index)
+bool wxSystemSettingsNative::HasFeature(wxSystemFeature index)
{
switch (index)
{
case wxSYS_CAN_ICONIZE_FRAME:
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
- return TRUE; break;
+ return TRUE;
+
default:
return FALSE;
}