| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| // MARKER(update_precomp.py): autogen include statement, do not remove |
| #include "precompiled_sw.hxx" |
| |
| |
| #include <unotools/localedatawrapper.hxx> |
| #include <viewsh.hxx> |
| #include <initui.hxx> |
| #include <edtwin.hxx> |
| #include <shellres.hxx> |
| #include <fldbas.hxx> |
| #include <glosdoc.hxx> |
| #include <gloslst.hxx> |
| |
| #ifndef _UTLUI_HRC |
| #include <utlui.hrc> |
| #endif |
| #ifndef _INITUI_HRC |
| #include <initui.hrc> |
| #endif |
| #ifndef _COMCORE_HRC |
| #include <comcore.hrc> |
| #endif |
| #include <authfld.hxx> |
| #ifndef _DBMGR_HXX |
| #include <dbmgr.hxx> |
| #endif |
| #include <unotools/syslocale.hxx> |
| |
| #include <unomid.h> |
| |
| /*-------------------------------------------------------------------- |
| Beschreibung: globale Pointer |
| --------------------------------------------------------------------*/ |
| |
| SwGlossaries* pGlossaries = 0; |
| |
| // Liefert alle benoetigten Pfade. Wird durch UI initialisiert |
| SwGlossaryList* pGlossaryList = 0; |
| |
| String* pOldGrfCat = 0; |
| String* pOldTabCat = 0; |
| String* pOldFrmCat = 0; |
| String* pOldDrwCat = 0; |
| String* pCurrGlosGroup = 0; |
| |
| String* GetOldGrfCat() |
| { |
| return pOldGrfCat; |
| } |
| String* GetOldTabCat() |
| { |
| return pOldTabCat; |
| } |
| String* GetOldFrmCat() |
| { |
| return pOldFrmCat; |
| } |
| String* GetOldDrwCat() |
| { |
| return pOldDrwCat; |
| } |
| String* GetCurrGlosGroup() |
| { |
| return pCurrGlosGroup; |
| } |
| void SetCurrGlosGroup(String* pStr) |
| { |
| pCurrGlosGroup = pStr; |
| } |
| |
| SvStringsDtor* pDBNameList = 0; |
| |
| SvStringsDtor* pAuthFieldNameList = 0; |
| SvStringsDtor* pAuthFieldTypeList = 0; |
| |
| /*-------------------------------------------------------------------- |
| Beschreibung: UI beenden |
| --------------------------------------------------------------------*/ |
| |
| void _FinitUI() |
| { |
| SwNewDBMgr::RemoveDbtoolsClient(); |
| delete ViewShell::GetShellRes(); |
| ViewShell::SetShellRes( 0 ); |
| |
| SwEditWin::_FinitStaticData(); |
| |
| DELETEZ(pGlossaries); |
| |
| delete SwFieldType::pFldNames; |
| |
| delete pOldGrfCat; |
| delete pOldTabCat; |
| delete pOldFrmCat; |
| delete pOldDrwCat; |
| delete pCurrGlosGroup; |
| delete pDBNameList; |
| delete pGlossaryList; |
| delete pAuthFieldNameList; |
| delete pAuthFieldTypeList; |
| |
| |
| } |
| /*-------------------------------------------------------------------- |
| Beschreibung: Initialisierung |
| --------------------------------------------------------------------*/ |
| |
| |
| void _InitUI() |
| { |
| // ShellResource gibt der CORE die Moeglichkeit mit Resourcen zu arbeiten |
| ViewShell::SetShellRes( new ShellResource ); |
| pDBNameList = new SvStringsDtor( 5, 5 ); |
| SwEditWin::_InitStaticData(); |
| } |
| |
| |
| ShellResource::ShellResource() |
| : Resource( SW_RES(RID_SW_SHELLRES) ), |
| aPostItAuthor( SW_RES( STR_POSTIT_AUTHOR ) ), |
| aPostItPage( SW_RES( STR_POSTIT_PAGE ) ), |
| aPostItLine( SW_RES( STR_POSTIT_LINE ) ), |
| |
| aCalc_Syntax( SW_RES( STR_CALC_SYNTAX ) ), |
| aCalc_ZeroDiv( SW_RES( STR_CALC_ZERODIV ) ), |
| aCalc_Brack( SW_RES( STR_CALC_BRACK ) ), |
| aCalc_Pow( SW_RES( STR_CALC_POW ) ), |
| aCalc_VarNFnd( SW_RES( STR_CALC_VARNFND ) ), |
| aCalc_Overflow( SW_RES( STR_CALC_OVERFLOW ) ), |
| aCalc_WrongTime( SW_RES( STR_CALC_WRONGTIME ) ), |
| aCalc_Default( SW_RES( STR_CALC_DEFAULT ) ), |
| aCalc_Error( SW_RES( STR_CALC_ERROR ) ), |
| |
| aGetRefFld_Up( SW_RES( STR_GETREFFLD_UP ) ), |
| aGetRefFld_Down( SW_RES( STR_GETREFFLD_DOWN ) ), |
| // --> OD 2007-09-13 #i81002# |
| aGetRefFld_RefItemNotFound( SW_RES( STR_GETREFFLD_REFITEMNOTFOUND ) ), |
| // <-- |
| aStrAllPageHeadFoot( SW_RES( STR_ALLPAGE_HEADFOOT ) ), |
| aStrNone( SW_RES( STR_TEMPLATE_NONE )), |
| aFixedStr( SW_RES( STR_FIELD_FIXED )), |
| sDurationFormat( SW_RES( STR_DURATION_FORMAT )), |
| |
| aTOXIndexName( SW_RES(STR_TOI)), |
| aTOXUserName( SW_RES(STR_TOU)), |
| aTOXContentName( SW_RES(STR_TOC)), |
| aTOXIllustrationsName( SW_RES(STR_TOX_ILL)), |
| aTOXObjectsName( SW_RES(STR_TOX_OBJ)), |
| aTOXTablesName( SW_RES(STR_TOX_TBL)), |
| aTOXAuthoritiesName( SW_RES(STR_TOX_AUTH)), |
| aHyperlinkClick( SW_RES( STR_HYPERLINK_CLICK)), |
| pAutoFmtNameLst(0), |
| sPageDescFirstName( SW_RES(STR_PAGEDESC_FIRSTNAME)), |
| sPageDescFollowName( SW_RES(STR_PAGEDESC_FOLLOWNAME)), |
| sPageDescName( SW_RES(STR_PAGEDESC_NAME)) |
| { |
| const sal_uInt16 nCount = FLD_DOCINFO_END - FLD_DOCINFO_BEGIN; |
| |
| KeyCode aCode( KEY_SPACE ); |
| KeyCode aModifiedCode( KEY_SPACE, KEY_MOD1 ); |
| String aModStr( aModifiedCode.GetName() ); |
| aModStr.SearchAndReplace( aCode.GetName(), String() ); |
| aModStr.SearchAndReplaceAllAscii( "+", String() ); |
| aHyperlinkClick.SearchAndReplaceAllAscii( "%s", aModStr ); |
| |
| for(sal_uInt16 i = 0; i < nCount; ++i) |
| { |
| String* pNew = new SW_RESSTR(FLD_DOCINFO_BEGIN + i); |
| aDocInfoLst.Insert(pNew, aDocInfoLst.Count()); |
| } |
| |
| FreeResource(); |
| } |
| |
| ShellResource::~ShellResource() |
| { |
| if( pAutoFmtNameLst ) |
| delete pAutoFmtNameLst, pAutoFmtNameLst = 0; |
| } |
| |
| String ShellResource::GetPageDescName( sal_uInt16 nNo, sal_Bool bIsFirst, sal_Bool bFollow ) |
| { |
| String sRet( bIsFirst ? sPageDescFirstName |
| : bFollow ? sPageDescFollowName |
| : sPageDescName ); |
| sRet.SearchAndReplaceAscii( "$(ARG1)", String::CreateFromInt32( nNo )); |
| return sRet; |
| } |
| |
| |
| SwGlossaries* GetGlossaries() |
| { |
| if (!pGlossaries) |
| pGlossaries = new SwGlossaries; |
| return (pGlossaries); |
| } |
| |
| sal_Bool HasGlossaryList() |
| { |
| return pGlossaryList != 0; |
| } |
| |
| SwGlossaryList* GetGlossaryList() |
| { |
| if(!pGlossaryList) |
| pGlossaryList = new SwGlossaryList(); |
| |
| return pGlossaryList; |
| } |
| |
| struct ImpAutoFmtNameListLoader : public Resource |
| { |
| ImpAutoFmtNameListLoader( SvStringsDtor& rLst ); |
| }; |
| |
| void ShellResource::_GetAutoFmtNameLst() const |
| { |
| SvStringsDtor** ppLst = (SvStringsDtor**)&pAutoFmtNameLst; |
| *ppLst = new SvStringsDtor( STR_AUTOFMTREDL_END ); |
| ImpAutoFmtNameListLoader aTmp( **ppLst ); |
| } |
| |
| ImpAutoFmtNameListLoader::ImpAutoFmtNameListLoader( SvStringsDtor& rLst ) |
| : Resource( ResId(RID_SHELLRES_AUTOFMTSTRS, *pSwResMgr) ) |
| { |
| for( sal_uInt16 n = 0; n < STR_AUTOFMTREDL_END; ++n ) |
| { |
| String* p = new String( ResId( n + 1, *pSwResMgr) ); |
| if(STR_AUTOFMTREDL_TYPO == n) |
| { |
| #ifdef WNT |
| //fuer Windows Sonderbehandlung, da MS hier ein paar Zeichen im Dialogfont vergessen hat |
| p->SearchAndReplace(C2S("%1"), C2S(",,")); |
| p->SearchAndReplace(C2S("%2"), C2S("''")); |
| #else |
| const SvtSysLocale aSysLocale; |
| const LocaleDataWrapper& rLclD = aSysLocale.GetLocaleData(); |
| //unter richtigen Betriebssystemen funktioniert es auch so |
| p->SearchAndReplace(C2S("%1"), rLclD.getDoubleQuotationMarkStart()); |
| p->SearchAndReplace(C2S("%2"), rLclD.getDoubleQuotationMarkEnd()); |
| #endif |
| } |
| rLst.Insert( p, n ); |
| } |
| FreeResource(); |
| } |
| /* -----------------16.09.99 12:28------------------- |
| |
| --------------------------------------------------*/ |
| const String& SwAuthorityFieldType::GetAuthFieldName(ToxAuthorityField eType) |
| { |
| if(!pAuthFieldNameList) |
| { |
| pAuthFieldNameList = new SvStringsDtor(AUTH_FIELD_END, 1); |
| for(sal_uInt16 i = 0; i < AUTH_FIELD_END; i++) |
| { |
| String* pTmp = new String(SW_RES(STR_AUTH_FIELD_START + i)); |
| pAuthFieldNameList->Insert(pTmp, pAuthFieldNameList->Count()); |
| } |
| } |
| return *pAuthFieldNameList->GetObject( static_cast< sal_uInt16 >(eType) ); |
| } |
| /* -----------------16.09.99 12:29------------------- |
| |
| --------------------------------------------------*/ |
| const String& SwAuthorityFieldType::GetAuthTypeName(ToxAuthorityType eType) |
| { |
| if(!pAuthFieldTypeList) |
| { |
| pAuthFieldTypeList = new SvStringsDtor(AUTH_TYPE_END, 1); |
| for(sal_uInt16 i = 0; i < AUTH_TYPE_END; i++) |
| pAuthFieldTypeList->Insert( |
| new String(SW_RES(STR_AUTH_TYPE_START + i)), |
| pAuthFieldTypeList->Count()); |
| } |
| return *pAuthFieldTypeList->GetObject( static_cast< sal_uInt16 >(eType) ); |
| } |
| |
| |
| |