1/*************************************************************************
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3 *
4 * Copyright 2000, 2010 Oracle and/or its affiliates.
5 *
6 * OpenOffice.org - a multi-platform office productivity suite
7 *
8 * This file is part of OpenOffice.org.
9 *
10 * OpenOffice.org is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU Lesser General Public License version 3
12 * only, as published by the Free Software Foundation.
13 *
14 * OpenOffice.org is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU Lesser General Public License version 3 for more details
18 * (a copy is included in the LICENSE file that accompanied this code).
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * version 3 along with OpenOffice.org.  If not, see
22 * <http://www.openoffice.org/license.html>
23 * for a copy of the LGPLv3 License.
24 *
25 ************************************************************************/
26
27#ifndef __com_sun_star_awt_XStyleSettings_idl__
28#define __com_sun_star_awt_XStyleSettings_idl__
29
30#include <com/sun/star/util/Color.idl>
31#include <com/sun/star/awt/FontDescriptor.idl>
32#include <com/sun/star/uno/XInterface.idl>
33
34//==================================================================================================================
35
36module com { module sun { module star { module awt {
37
38published interface XStyleChangeListener;
39
40//==================================================================================================================
41
42/** provides access to certain style settings within an OpenOffice.org component, such as a window, or
43    within OpenOffice.org as a whole.
44
45    <p>Note that there are constraints for those settings. For instance, if controls are drawn with the
46    native widget framework, i.e. in the desktop theme's look, then they won't necessarily respect all
47    their style settings, because those have a lesser priority than the native look.</p>
48
49    <p>On the other hand, some settings are respected only when rendering the controls in the native
50    desktop/theme look. For instance, without native theming, buttons do not support a "roll over" mode,
51    i.e., they're painted the same way, no matter if they mouse hovers over them or not. But with native
52    theming, this changes, as here the general button look is drawn by the system's theming engine,
53    while the text is drawn by OpenOffice.org. In this case, the button respects the
54    <code>ButtonRolloverTextColor</code> when painting its text.</p>
55 */
56published interface XStyleSettings
57{
58    /// specifies the color of the border of active windows
59    [attribute] ::com::sun::star::util::Color ActiveBorderColor;
60
61    ///
62    [attribute] ::com::sun::star::util::Color ActiveColor;
63
64    /// specifies the color of the active tab of a tab control
65    [attribute] ::com::sun::star::util::Color ActiveTabColor;
66
67    /// specifies the text color for active UI components
68    [attribute] ::com::sun::star::util::Color ActiveTextColor;
69
70    /// specifies the color to use for text on buttons which are hovered with the mouse
71    [attribute] ::com::sun::star::util::Color ButtonRolloverTextColor;
72
73    /// specifies the color to use for text on buttons
74    [attribute] ::com::sun::star::util::Color ButtonTextColor;
75
76    ///
77    [attribute] ::com::sun::star::util::Color CheckedColor;
78
79    /// specifies the dark portion of the shadow to use for UI elements
80    [attribute] ::com::sun::star::util::Color DarkShadowColor;
81
82    /// specifies the color of the border of inactive windows
83    [attribute] ::com::sun::star::util::Color DeactiveBorderColor;
84
85    ///
86    [attribute] ::com::sun::star::util::Color DeactiveColor;
87
88    /// specifies the text color for inactive UI components
89    [attribute] ::com::sun::star::util::Color DeactiveTextColor;
90
91    /// specifies the background color of dialogs
92    [attribute] ::com::sun::star::util::Color DialogColor;
93
94    /// specifies the text color of dialogs
95    [attribute] ::com::sun::star::util::Color DialogTextColor;
96
97    /// specifies the text color for disabled UI elements
98    [attribute] ::com::sun::star::util::Color DisableColor;
99
100    ///
101    [attribute] ::com::sun::star::util::Color FaceColor;
102
103    ///
104    [attribute, readonly] ::com::sun::star::util::Color FaceGradientColor;
105
106    /// specifies the background color for dialog input controls
107    [attribute] ::com::sun::star::util::Color FieldColor;
108
109    /// specifies the text color for dialog input controls which are hovered with the mouse
110    [attribute] ::com::sun::star::util::Color FieldRolloverTextColor;
111
112    /// specifies the text color for dialog input controls
113    [attribute] ::com::sun::star::util::Color FieldTextColor;
114
115    /// specifies the text color for dialog elements used for grouping other elements
116    [attribute] ::com::sun::star::util::Color GroupTextColor;
117
118    /// specifies the background color for dialog elements displaying help content
119    [attribute] ::com::sun::star::util::Color HelpColor;
120
121    /// specifies the text color for dialog elements displaying help content
122    [attribute] ::com::sun::star::util::Color HelpTextColor;
123
124    /// specifies the background color for UI elements which are highlighted
125    [attribute] ::com::sun::star::util::Color HighlightColor;
126
127    /// specifies the text color for UI elements which are highlighted
128    [attribute] ::com::sun::star::util::Color HighlightTextColor;
129
130    /// specifies the color of inactive tabs of a tab control
131    [attribute] ::com::sun::star::util::Color InactiveTabColor;
132
133    /// specifies the text color of dialog elements displaying some info text
134    [attribute] ::com::sun::star::util::Color InfoTextColor;
135
136    /// specifies the text color of label elements in dialogs
137    [attribute] ::com::sun::star::util::Color LabelTextColor;
138
139    ///
140    [attribute] ::com::sun::star::util::Color LightColor;
141
142    /// specifies the background color of menu bars
143    [attribute] ::com::sun::star::util::Color MenuBarColor;
144
145    /// specifies the text color of menu bars
146    [attribute] ::com::sun::star::util::Color MenuBarTextColor;
147
148    /// specifies the border color of menus
149    [attribute] ::com::sun::star::util::Color MenuBorderColor;
150
151    // specifies the background color of menus
152    [attribute] ::com::sun::star::util::Color MenuColor;
153
154    /// specifies the background color of highlighted menu items
155    [attribute] ::com::sun::star::util::Color MenuHighlightColor;
156
157    /// specifies the text color of highlighted menu items
158    [attribute] ::com::sun::star::util::Color MenuHighlightTextColor;
159
160    // specifies the text color of menus
161    [attribute] ::com::sun::star::util::Color MenuTextColor;
162
163    /// specifies the color to use for monochrome control elements such as flat borders of controls
164    [attribute] ::com::sun::star::util::Color MonoColor;
165
166    /// specifies the text color of radio buttons and check boxes
167    [attribute] ::com::sun::star::util::Color RadioCheckTextColor;
168
169    /// specifies the color of separators between UI elements
170    [attribute, readonly] ::com::sun::star::util::Color SeparatorColor;
171
172    /// specifies the color to use for UI elements
173    [attribute] ::com::sun::star::util::Color ShadowColor;
174
175    /// specifies the background color to use for non-dialog windows
176    [attribute] ::com::sun::star::util::Color WindowColor;
177
178    /// specifies the text color to use for non-dialog windows
179    [attribute] ::com::sun::star::util::Color WindowTextColor;
180
181    /// specifies the background color to use for document workspaces
182    [attribute] ::com::sun::star::util::Color WorkspaceColor;
183
184    /** controls whether the an UI component should use a high-contrast mode
185    */
186    [attribute] boolean HighContrastMode;
187
188    /// specifies the application font
189    [attribute] FontDescriptor  ApplicationFont;
190
191    /// specifies the help font
192    [attribute] FontDescriptor  HelpFont;
193
194    /// specifies the font to use for window titles
195    [attribute] FontDescriptor  TitleFont;
196
197    /// specifies the font to use the title of floating windows
198    [attribute] FontDescriptor  FloatTitleFont;
199
200    /// specifies the font to use for menus
201    [attribute] FontDescriptor  MenuFont;
202
203    /// specifies the font to use for tool elements
204    [attribute] FontDescriptor  ToolFont;
205
206    /// specifies the font for dialog elements used for grouping other elements
207    [attribute] FontDescriptor  GroupFont;
208
209    /// specifies the font for label controls
210    [attribute] FontDescriptor  LabelFont;
211
212    /// specifies the font of dialog elements displaying some info text
213    [attribute] FontDescriptor  InfoFont;
214
215    /// specifies the font of radio buttons and check boxes
216    [attribute] FontDescriptor  RadioCheckFont;
217
218    /// specifies the font of push buttons
219    [attribute] FontDescriptor  PushButtonFont;
220
221    /// specifies the font for dialog input controls
222    [attribute] FontDescriptor  FieldFont;
223
224    /// registers a listener to be notified when the style settings change
225    void    addStyleChangeListener(
226        [in] XStyleChangeListener Listener );
227
228    /// registers a listener to be notified when the style settings change
229    void    removeStyleChangeListener(
230        [in] XStyleChangeListener Listener );
231};
232
233//==================================================================================================================
234
235}; }; }; };
236
237//==================================================================================================================
238
239#endif
240