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