1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski #ifndef _SMMOD_HXX 25*b1cdbd2cSJim Jagielski #define _SMMOD_HXX 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski #ifndef _SV_RESARY_HXX 28*b1cdbd2cSJim Jagielski #include <tools/resary.hxx> 29*b1cdbd2cSJim Jagielski #endif 30*b1cdbd2cSJim Jagielski #include <svl/lstner.hxx> 31*b1cdbd2cSJim Jagielski #include <svtools/colorcfg.hxx> 32*b1cdbd2cSJim Jagielski 33*b1cdbd2cSJim Jagielski #include <tools/shl.hxx> 34*b1cdbd2cSJim Jagielski #include <sfx2/module.hxx> 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski #ifndef _STARMATH_HRC 37*b1cdbd2cSJim Jagielski #include "starmath.hrc" 38*b1cdbd2cSJim Jagielski #endif 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski #include <unotools/options.hxx> 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski class SvxErrorHandler; 43*b1cdbd2cSJim Jagielski class SfxObjectFactory; 44*b1cdbd2cSJim Jagielski class SmConfig; 45*b1cdbd2cSJim Jagielski class SmModule; 46*b1cdbd2cSJim Jagielski class SmSymbolManager; 47*b1cdbd2cSJim Jagielski 48*b1cdbd2cSJim Jagielski /************************************************************************* 49*b1cdbd2cSJim Jagielski |* 50*b1cdbd2cSJim Jagielski |* This subclass of <SfxModule> (which is a subclass of <SfxShell>) is 51*b1cdbd2cSJim Jagielski |* linked to the DLL. One instance of this class exists while the DLL is 52*b1cdbd2cSJim Jagielski |* loaded. 53*b1cdbd2cSJim Jagielski |* 54*b1cdbd2cSJim Jagielski |* SdModule is like to be compared with the <SfxApplication>-subclass. 55*b1cdbd2cSJim Jagielski |* 56*b1cdbd2cSJim Jagielski |* Remember: Don`t export this class! It uses DLL-internal symbols. 57*b1cdbd2cSJim Jagielski |* 58*b1cdbd2cSJim Jagielski \************************************************************************/ 59*b1cdbd2cSJim Jagielski 60*b1cdbd2cSJim Jagielski class SvtSysLocale; 61*b1cdbd2cSJim Jagielski class VirtualDevice; 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////////// 64*b1cdbd2cSJim Jagielski 65*b1cdbd2cSJim Jagielski class SmResId : public ResId 66*b1cdbd2cSJim Jagielski { 67*b1cdbd2cSJim Jagielski public: 68*b1cdbd2cSJim Jagielski SmResId(sal_uInt16 nId); 69*b1cdbd2cSJim Jagielski }; 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski class SmNamesArray : public Resource 72*b1cdbd2cSJim Jagielski { 73*b1cdbd2cSJim Jagielski ResStringArray aNamesAry; 74*b1cdbd2cSJim Jagielski LanguageType nLanguage; 75*b1cdbd2cSJim Jagielski 76*b1cdbd2cSJim Jagielski public: SmNamesArray(LanguageType nLang,int nRID)77*b1cdbd2cSJim Jagielski SmNamesArray( LanguageType nLang, int nRID ) : 78*b1cdbd2cSJim Jagielski Resource( SmResId(RID_LOCALIZED_NAMES) ), 79*b1cdbd2cSJim Jagielski aNamesAry (SmResId( static_cast < sal_uInt16 > ( nRID ))), 80*b1cdbd2cSJim Jagielski nLanguage (nLang) 81*b1cdbd2cSJim Jagielski { 82*b1cdbd2cSJim Jagielski FreeResource(); 83*b1cdbd2cSJim Jagielski } 84*b1cdbd2cSJim Jagielski GetLanguage() const85*b1cdbd2cSJim Jagielski LanguageType GetLanguage() const { return nLanguage; } GetNamesArray() const86*b1cdbd2cSJim Jagielski const ResStringArray& GetNamesArray() const { return aNamesAry; } 87*b1cdbd2cSJim Jagielski }; 88*b1cdbd2cSJim Jagielski 89*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////////// 90*b1cdbd2cSJim Jagielski 91*b1cdbd2cSJim Jagielski class SmLocalizedSymbolData : public Resource 92*b1cdbd2cSJim Jagielski { 93*b1cdbd2cSJim Jagielski ResStringArray aUiSymbolNamesAry; 94*b1cdbd2cSJim Jagielski ResStringArray aExportSymbolNamesAry; 95*b1cdbd2cSJim Jagielski ResStringArray aUiSymbolSetNamesAry; 96*b1cdbd2cSJim Jagielski ResStringArray aExportSymbolSetNamesAry; 97*b1cdbd2cSJim Jagielski SmNamesArray *p50NamesAry; 98*b1cdbd2cSJim Jagielski SmNamesArray *p60NamesAry; 99*b1cdbd2cSJim Jagielski LanguageType n50NamesLang; 100*b1cdbd2cSJim Jagielski LanguageType n60NamesLang; 101*b1cdbd2cSJim Jagielski 102*b1cdbd2cSJim Jagielski public: 103*b1cdbd2cSJim Jagielski SmLocalizedSymbolData(); 104*b1cdbd2cSJim Jagielski ~SmLocalizedSymbolData(); 105*b1cdbd2cSJim Jagielski GetUiSymbolNamesArray() const106*b1cdbd2cSJim Jagielski const ResStringArray& GetUiSymbolNamesArray() const { return aUiSymbolNamesAry; } GetExportSymbolNamesArray() const107*b1cdbd2cSJim Jagielski const ResStringArray& GetExportSymbolNamesArray() const { return aExportSymbolNamesAry; } 108*b1cdbd2cSJim Jagielski const String GetUiSymbolName( const String &rExportName ) const; 109*b1cdbd2cSJim Jagielski const String GetExportSymbolName( const String &rUiName ) const; 110*b1cdbd2cSJim Jagielski GetUiSymbolSetNamesArray() const111*b1cdbd2cSJim Jagielski const ResStringArray& GetUiSymbolSetNamesArray() const { return aUiSymbolSetNamesAry; } GetExportSymbolSetNamesArray() const112*b1cdbd2cSJim Jagielski const ResStringArray& GetExportSymbolSetNamesArray() const { return aExportSymbolSetNamesAry; } 113*b1cdbd2cSJim Jagielski const String GetUiSymbolSetName( const String &rExportName ) const; 114*b1cdbd2cSJim Jagielski const String GetExportSymbolSetName( const String &rUiName ) const; 115*b1cdbd2cSJim Jagielski 116*b1cdbd2cSJim Jagielski const ResStringArray* Get50NamesArray( LanguageType nLang ); 117*b1cdbd2cSJim Jagielski const ResStringArray* Get60NamesArray( LanguageType nLang ); 118*b1cdbd2cSJim Jagielski }; 119*b1cdbd2cSJim Jagielski 120*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////////// 121*b1cdbd2cSJim Jagielski 122*b1cdbd2cSJim Jagielski class SmModule : public SfxModule, utl::ConfigurationListener 123*b1cdbd2cSJim Jagielski { 124*b1cdbd2cSJim Jagielski svtools::ColorConfig *pColorConfig; 125*b1cdbd2cSJim Jagielski SmConfig *pConfig; 126*b1cdbd2cSJim Jagielski SmLocalizedSymbolData *pLocSymbolData; 127*b1cdbd2cSJim Jagielski SvtSysLocale *pSysLocale; 128*b1cdbd2cSJim Jagielski VirtualDevice *pVirtualDev; 129*b1cdbd2cSJim Jagielski 130*b1cdbd2cSJim Jagielski void _CreateSysLocale() const; 131*b1cdbd2cSJim Jagielski void _CreateVirtualDev() const; 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski void ApplyColorConfigValues( const svtools::ColorConfig &rColorCfg ); 134*b1cdbd2cSJim Jagielski 135*b1cdbd2cSJim Jagielski public: 136*b1cdbd2cSJim Jagielski TYPEINFO(); 137*b1cdbd2cSJim Jagielski SFX_DECL_INTERFACE(SFX_INTERFACE_SMA_START + 0) 138*b1cdbd2cSJim Jagielski 139*b1cdbd2cSJim Jagielski SmModule(SfxObjectFactory* pObjFact); 140*b1cdbd2cSJim Jagielski virtual ~SmModule(); 141*b1cdbd2cSJim Jagielski 142*b1cdbd2cSJim Jagielski virtual void ConfigurationChanged( utl::ConfigurationBroadcaster*, sal_uInt32 ); 143*b1cdbd2cSJim Jagielski 144*b1cdbd2cSJim Jagielski svtools::ColorConfig & GetColorConfig(); 145*b1cdbd2cSJim Jagielski 146*b1cdbd2cSJim Jagielski SmConfig * GetConfig(); 147*b1cdbd2cSJim Jagielski SmSymbolManager & GetSymbolManager(); 148*b1cdbd2cSJim Jagielski 149*b1cdbd2cSJim Jagielski SmLocalizedSymbolData & GetLocSymbolData() const; 150*b1cdbd2cSJim Jagielski 151*b1cdbd2cSJim Jagielski void GetState(SfxItemSet&); 152*b1cdbd2cSJim Jagielski GetSysLocale() const153*b1cdbd2cSJim Jagielski const SvtSysLocale& GetSysLocale() const 154*b1cdbd2cSJim Jagielski { 155*b1cdbd2cSJim Jagielski if( !pSysLocale ) 156*b1cdbd2cSJim Jagielski _CreateSysLocale(); 157*b1cdbd2cSJim Jagielski return *pSysLocale; 158*b1cdbd2cSJim Jagielski } 159*b1cdbd2cSJim Jagielski GetDefaultVirtualDev()160*b1cdbd2cSJim Jagielski VirtualDevice & GetDefaultVirtualDev() 161*b1cdbd2cSJim Jagielski { 162*b1cdbd2cSJim Jagielski if (!pVirtualDev) 163*b1cdbd2cSJim Jagielski _CreateVirtualDev(); 164*b1cdbd2cSJim Jagielski return *pVirtualDev; 165*b1cdbd2cSJim Jagielski } 166*b1cdbd2cSJim Jagielski 167*b1cdbd2cSJim Jagielski //virtuelle Methoden fuer den Optionendialog 168*b1cdbd2cSJim Jagielski virtual SfxItemSet* CreateItemSet( sal_uInt16 nId ); 169*b1cdbd2cSJim Jagielski virtual void ApplyItemSet( sal_uInt16 nId, const SfxItemSet& rSet ); 170*b1cdbd2cSJim Jagielski virtual SfxTabPage* CreateTabPage( sal_uInt16 nId, Window* pParent, const SfxItemSet& rSet ); 171*b1cdbd2cSJim Jagielski }; 172*b1cdbd2cSJim Jagielski 173*b1cdbd2cSJim Jagielski #define SM_MOD() ( *(SmModule**) GetAppData(SHL_SM) ) 174*b1cdbd2cSJim Jagielski 175*b1cdbd2cSJim Jagielski #endif // _SDMOD_HXX 176*b1cdbd2cSJim Jagielski 177