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