Module SigCjC_ColorManager.pkg
1//==============================================================================
2// Project : SigCj - VDF Classes for Codejock
3// File : SigCjC_ColorManager.pkg
4// Description : VDF Class for Codejock control
5//
6// Created by : Ian Smith
7// Revision : $Rev: $
8// $Date: $
9// $Author: $
10//
11// Requirements : Visual DataFlex 14.1
12// Codejock SuitePro - Version 13.4.2
13//
14// Copyright : (c) 2009 VDF SIG UK
15// Visual DataFlex Special Interest Group UK.
16// http://www.vdfsig.co.uk/
17// dev@vdfsig.co.uk
18//
19// This file is part of SigCj.
20//
21// SigCj is free software: you can redistribute it and/or modify
22// it under the terms of the GNU Lesser General Public License
23// as published by the Free Software Foundation, either version
24// 2.1 of the License, or (at your option) any later version.
25//
26// SigCj is distributed in the hope that it will be useful, but
27// WITHOUT ANY WARRANTY; without even the implied warranty of
28// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29// GNU Lesser General Public License for more details.
30//
31// If you have the complete SigCj workspace then a copy of the
32// GNU Lesser General Public License is in the Docs folder. If
33// not, see <http://www.gnu.org/licenses/>.
34//
35//==============================================================================
36
37Use FlexCOM20.pkg
38
39Define OLEXTPColorManagerColor for Integer
40 Define OLESTDCOLOR_BACKGROUND for 1
41 Define OLESTDCOLOR_ACTIVECAPTION for 2
42 Define OLESTDCOLOR_INACTIVECAPTION for 3
43 Define OLESTDCOLOR_MENU for 4
44 Define OLESTDCOLOR_WINDOW for 5
45 Define OLESTDCOLOR_WINDOWFRAME for 6
46 Define OLESTDCOLOR_MENUTEXT for 7
47 Define OLESTDCOLOR_WINDOWTEXT for 8
48 Define OLESTDCOLOR_CAPTIONTEXT for 9
49 Define OLESTDCOLOR_ACTIVEBORDER for 10
50 Define OLESTDCOLOR_INACTIVEBORDER for 11
51 Define OLESTDCOLOR_APPWORKSPACE for 12
52 Define OLESTDCOLOR_HIGHLIGHT for 13
53 Define OLESTDCOLOR_HIGHLIGHTTEXT for 14
54 Define OLESTDCOLOR_BTNFACE for 15
55 Define OLESTDCOLOR_BTNSHADOW for 16
56 Define OLESTDCOLOR_GRAYTEXT for 17
57 Define OLESTDCOLOR_BTNTEXT for 18
58 Define OLESTDCOLOR_INACTIVECAPTIONTEXT for 19
59 Define OLESTDCOLOR_BTNHIGHLIGHT for 20
60 Define OLESTDCOLOR_3DDKSHADOW for 21
61 Define OLESTDCOLOR_3DLIGHT for 22
62 Define OLESTDCOLOR_INFOTEXT for 23
63 Define OLESTDCOLOR_INFOBK for 24
64 Define OLESTDCOLOR_HOTLIGHT for 26
65 Define OLESTDCOLOR_GRADIENTACTIVECAPTION for 27
66 Define OLESTDCOLOR_GRADIENTINACTIVECAPTION for 28
67 Define OLEXPCOLOR_TOOLBAR_FACE for 30
68 Define OLEXPCOLOR_HIGHLIGHT for 31
69 Define OLEXPCOLOR_HIGHLIGHT_BORDER for 32
70 Define OLEXPCOLOR_HIGHLIGHT_PUSHED for 33
71 Define OLEXPCOLOR_HIGHLIGHT_CHECKED for 36
72 Define OLEXPCOLOR_HIGHLIGHT_CHECKED_BORDER for 37
73 Define OLEXPCOLOR_ICONSHADDOW for 34
74 Define OLEXPCOLOR_GRAYTEXT for 35
75 Define OLEXPCOLOR_TOOLBAR_GRIPPER for 38
76 Define OLEXPCOLOR_SEPARATOR for 39
77 Define OLEXPCOLOR_DISABLED for 40
78 Define OLEXPCOLOR_MENUBAR_FACE for 41
79 Define OLEXPCOLOR_MENUBAR_EXPANDED for 42
80 Define OLEXPCOLOR_MENUBAR_BORDER for 43
81 Define OLEXPCOLOR_MENUBAR_TEXT for 44
82 Define OLEXPCOLOR_HIGHLIGHT_TEXT for 45
83 Define OLEXPCOLOR_TOOLBAR_TEXT for 46
84 Define OLEXPCOLOR_PUSHED_TEXT for 47
85 Define OLEXPCOLOR_TAB_INACTIVE_BACK for 48
86 Define OLEXPCOLOR_TAB_INACTIVE_TEXT for 49
87 Define OLEXPCOLOR_HIGHLIGHT_PUSHED_BORDER for 50
88 Define OLEXPCOLOR_3DFACE for 51
89 Define OLEXPCOLOR_3DSHADOW for 52
90 Define OLEXPCOLOR_FRAME for 54
91 Define OLEXPCOLOR_SPLITTER_FACE for 55
92 Define OLEXPCOLOR_LABEL for 56
93 Define OLEXPCOLOR_STATICFRAME for 57
94
95Define OLEXTPCurrentSystemTheme for Integer
96 // No known theme in use
97 Define OLExtpSystemThemeUnknown for 0
98 // Blue theme in use
99 Define OLExtpSystemThemeBlue for 1
100 // Olive theme in use
101 Define OLExtpSystemThemeOlive for 2
102 // Silver theme in use
103 Define OLExtpSystemThemeSilver for 3
104 // Silver theme in use
105 Define OLExtpSystemThemeRoyale for 4
106 // Silver theme in use
107 Define OLExtpSystemThemeAero for 5
108 // Use OS theme.
109 Define OLExtpSystemThemeAuto for 6
110
111Class cSigCjComIColorManager is a Mixin
112
113 { MethodType=Property DesignTime=False }
114 Function ComSystemTheme Returns OLEXTPCurrentSystemTheme
115 OLEXTPCurrentSystemTheme retVal
116 Get ComProperty of (phDispatchDriver(Self)) 3 OLE_VT_I4 to retVal
117 Function_Return retVal
118 End_Function
119
120 { MethodType=Property DesignTime=False }
121 Procedure Set ComSystemTheme OLEXTPCurrentSystemTheme value
122 Set ComProperty of (phDispatchDriver(Self)) 3 OLE_VT_I4 to value
123 End_Procedure
124
125 { MethodType=Property DesignTime=False }
126 Function ComEnableLunaBlueForRoyaleTheme Returns Boolean
127 Boolean retVal
128 Get ComProperty of (phDispatchDriver(Self)) 4 OLE_VT_BOOL to retVal
129 Function_Return retVal
130 End_Function
131
132 { MethodType=Property DesignTime=False }
133 Procedure Set ComEnableLunaBlueForRoyaleTheme Boolean value
134 Set ComProperty of (phDispatchDriver(Self)) 4 OLE_VT_BOOL to value
135 End_Procedure
136
137 { MethodType=Property DesignTime=False }
138 Function ComColor OLEXTPColorManagerColor llIndex Returns OLE_COLOR
139 Handle hDispatchDriver
140 OLE_COLOR retVal
141 Get phDispatchDriver to hDispatchDriver
142 Send PrepareParams to hDispatchDriver 1
143 Send DefineParam to hDispatchDriver OLE_VT_I4 llIndex
144 Get InvokeComMethod of hDispatchDriver 0 OLE_VT_I4 to retVal
145 Function_Return retVal
146 End_Function
147
148 Procedure ComSetColor OLEXTPColorManagerColor llIndex OLE_COLOR llColor
149 Handle hDispatchDriver
150 Get phDispatchDriver to hDispatchDriver
151 Send PrepareParams to hDispatchDriver 2
152 Send DefineParam to hDispatchDriver OLE_VT_I4 llIndex
153 Send DefineParam to hDispatchDriver OLE_VT_I4 llColor
154 Send InvokeComMethod to hDispatchDriver 1 OLE_VT_VOID
155 End_Procedure
156
157 Function ComGetCurrentSystemTheme Returns OLEXTPCurrentSystemTheme
158 Handle hDispatchDriver
159 OLEXTPCurrentSystemTheme retVal
160 Get phDispatchDriver to hDispatchDriver
161 Get InvokeComMethod of hDispatchDriver 2 OLE_VT_I4 to retVal
162 Function_Return retVal
163 End_Function
164End_Class
165
166// CoClass
167Class cSigCjComColorManager is a cComAutomationObject
168 Import_Class_Protocol cSigCjComIColorManager
169
170 Procedure Construct_Object
171 Forward Send Construct_Object
172 Set peAutoCreate to acNoAutoCreate
173 End_Procedure
174End_Class
175
176//==============================================================================
177//End of package - SigCjC_ColorManager.pkg
178//==============================================================================
179