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