1///////////////////////////////////////////////////////////////////////////// 2// Name: src/x11/settings.cpp 3// Purpose: wxSettings 4// Author: Julian Smart 5// Modified by: 6// Created: 17/09/98 7// RCS-ID: $Id: settings.cpp 39797 2006-06-19 20:18:46Z ABX $ 8// Copyright: (c) Julian Smart 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12// for compilers that support precompilation, includes "wx.h". 13#include "wx/wxprec.h" 14 15// TODO: these settings should probably be configurable from some central or 16// per-user file, which can be edited using a Windows-control-panel clone. 17// Also they should be documented better. Some are very MS Windows-ish. 18 19#include "wx/settings.h" 20 21#ifndef WX_PRECOMP 22 #include "wx/gdicmn.h" 23#endif 24 25#include "wx/x11/private.h" 26 27wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) 28{ 29 switch (index) 30 { 31 case wxSYS_COLOUR_APPWORKSPACE: 32 return wxColour( 0xc0c0c0 ); 33 34 default: 35 break; 36 } 37 38 // Overridden mostly by wxSystemSettings::GetColour in wxUniversal 39 return *wxWHITE; 40} 41 42wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) 43{ 44 switch (index) 45 { 46 case wxSYS_SYSTEM_FIXED_FONT: 47 { 48 return wxFont(12, wxMODERN, wxNORMAL, wxNORMAL, FALSE); 49 break; 50 } 51 case wxSYS_DEVICE_DEFAULT_FONT: 52 case wxSYS_SYSTEM_FONT: 53 case wxSYS_DEFAULT_GUI_FONT: 54 default: 55 { 56 return wxFont(12, wxSWISS, wxNORMAL, wxNORMAL, FALSE); 57 break; 58 } 59 } 60 61 return wxFont(); 62} 63 64// Get a system metric, e.g. scrollbar size 65int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow* WXUNUSED(win)) 66{ 67 switch ( index) 68 { 69 // TODO case wxSYS_MOUSE_BUTTONS: 70 // TODO case wxSYS_BORDER_X: 71 // TODO case wxSYS_BORDER_Y: 72 // TODO case wxSYS_CURSOR_X: 73 // TODO case wxSYS_CURSOR_Y: 74 // TODO case wxSYS_DCLICK_X: 75 // TODO case wxSYS_DCLICK_Y: 76 // TODO case wxSYS_DRAG_X: 77 // TODO case wxSYS_DRAG_Y: 78 // TODO case wxSYS_EDGE_X: 79 // TODO case wxSYS_EDGE_Y: 80 // TODO case wxSYS_HSCROLL_ARROW_X: 81 // TODO case wxSYS_HSCROLL_ARROW_Y: 82 // TODO case wxSYS_HTHUMB_X: 83 // TODO case wxSYS_ICON_X: 84 // TODO case wxSYS_ICON_Y: 85 // TODO case wxSYS_ICONSPACING_X: 86 // TODO case wxSYS_ICONSPACING_Y: 87 // TODO case wxSYS_WINDOWMIN_X: 88 // TODO case wxSYS_WINDOWMIN_Y: 89 90 case wxSYS_SCREEN_X: 91 return DisplayWidth( wxGlobalDisplay(), 0 ); 92 93 case wxSYS_SCREEN_Y: 94 return DisplayHeight( wxGlobalDisplay(), 0 ); 95 96 // TODO case wxSYS_FRAMESIZE_X: 97 // TODO case wxSYS_FRAMESIZE_Y: 98 // TODO case wxSYS_SMALLICON_X: 99 // TODO case wxSYS_SMALLICON_Y: 100 // TODO case wxSYS_HSCROLL_Y: 101 // TODO case wxSYS_VSCROLL_X: 102 // TODO case wxSYS_VSCROLL_ARROW_X: 103 // TODO case wxSYS_VSCROLL_ARROW_Y: 104 // TODO case wxSYS_VTHUMB_Y: 105 // TODO case wxSYS_CAPTION_Y: 106 // TODO case wxSYS_MENU_Y: 107 // TODO case wxSYS_NETWORK_PRESENT: 108 // TODO case wxSYS_PENWINDOWS_PRESENT: 109 // TODO case wxSYS_SHOW_SOUNDS: 110 // TODO case wxSYS_SWAP_BUTTONS: 111 112 default: 113 return -1; // unsupported metric 114 } 115} 116 117bool wxSystemSettingsNative::HasFeature(wxSystemFeature index) 118{ 119 switch (index) 120 { 121 case wxSYS_CAN_ICONIZE_FRAME: 122 case wxSYS_CAN_DRAW_FRAME_DECORATIONS: 123 return true; 124 125 default: 126 return false; 127 } 128} 129