summaryrefslogtreecommitdiff
path: root/sw/source/ui/utlui/initui.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/ui/utlui/initui.cxx')
-rw-r--r--sw/source/ui/utlui/initui.cxx440
1 files changed, 440 insertions, 0 deletions
diff --git a/sw/source/ui/utlui/initui.cxx b/sw/source/ui/utlui/initui.cxx
new file mode 100644
index 000000000000..5357961dfc2b
--- /dev/null
+++ b/sw/source/ui/utlui/initui.cxx
@@ -0,0 +1,440 @@
+/*************************************************************************
+ *
+ * $RCSfile: initui.cxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 17:14:50 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifdef PRECOMPILED
+#include "ui_pch.hxx"
+#endif
+
+#pragma hdrstop
+
+#ifndef _SV_SVAPP_HXX //autogen
+#include <vcl/svapp.hxx>
+#endif
+#ifndef _VIEWSH_HXX
+#include <viewsh.hxx>
+#endif
+#ifndef _FINDER_HXX
+#include <finder.hxx>
+#endif
+#ifndef _INITUI_HXX
+#include <initui.hxx>
+#endif
+#ifndef _EDTWIN_HXX
+#include <edtwin.hxx>
+#endif
+#ifndef _SHELLRES_HXX
+#include <shellres.hxx>
+#endif
+#ifndef _FLDBAS_HXX
+#include <fldbas.hxx>
+#endif
+#ifndef _GLOSDOC_HXX
+#include <glosdoc.hxx>
+#endif
+#ifndef _GLOSLST_HXX
+#include <gloslst.hxx>
+#endif
+
+#ifndef _UTLUI_HRC
+#include <utlui.hrc>
+#endif
+#ifndef _INITUI_HRC
+#include <initui.hrc>
+#endif
+#ifndef _COMCORE_HRC
+#include <comcore.hrc>
+#endif
+#ifndef _AUTHFLD_HXX
+#include <authfld.hxx>
+#endif
+
+#define C2S(cChar) UniString::CreateFromAscii(cChar)
+/*--------------------------------------------------------------------
+ Beschreibung: globale Pointer
+ --------------------------------------------------------------------*/
+
+SwGlossaries* pGlossaries = 0;
+
+// Liefert alle benoetigten Pfade. Wird durch UI initialisiert
+SwPathFinder* pPathFinder = 0;
+SwGlossaryList* pGlossaryList = 0;
+
+String* pOldGrfCat = 0;
+String* pOldTabCat = 0;
+String* pOldFrmCat = 0;
+String* pOldDrwCat = 0;
+String* pCurrGlosGroup = 0;
+
+SvStringsDtor* pDBNameList = 0;
+
+SvStringsDtor* pAuthFieldNameList = 0;
+SvStringsDtor* pAuthFieldTypeList = 0;
+
+/*--------------------------------------------------------------------
+ Beschreibung: UI beenden
+ --------------------------------------------------------------------*/
+
+void _FinitUI()
+{
+ delete ViewShell::GetShellRes();
+ ViewShell::SetShellRes( 0 );
+
+ SwEditWin::_FinitStaticData();
+
+ DELETEZ(pPathFinder);
+ 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()
+{
+ pPathFinder = new SwPathFinder;
+ // 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) ),
+ aPostItPage( SW_RES( STR_POSTIT_PAGE ) ),
+ aPostItAuthor( SW_RES( STR_POSTIT_AUTHOR ) ),
+ 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 ) ),
+ aStrAllPageHeadFoot( SW_RES( STR_ALLPAGE_HEADFOOT ) ),
+ aStrNone( SW_RES( STR_TEMPLATE_NONE )),
+ aFixedStr( SW_RES( STR_FIELD_FIXED )),
+ 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)),
+ pAutoFmtNameLst( 0 )
+{
+ const USHORT nCount = FLD_DOCINFO_END - FLD_DOCINFO_BEGIN;
+
+ for(USHORT 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;
+}
+
+SwGlossaries* GetGlossaries()
+{
+ if (!pGlossaries)
+ pGlossaries = new SwGlossaries;
+ return (pGlossaries);
+}
+
+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( USHORT n = 0; n < STR_AUTOFMTREDL_END; ++n )
+ {
+ String* p = new String( ResId( n + 1, pSwResMgr) );
+ if(STR_AUTOFMTREDL_TYPO == n)
+ {
+ const International& rInt = Application::GetAppInternational();
+#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
+ //unter richtigen Betriebssystemen funktioniert es auch so
+ p->SearchAndReplace(C2S("%1"), rInt.GetDoubleQuotationMarkStartChar());
+ p->SearchAndReplace(C2S("%2"), rInt.GetDoubleQuotationMarkEndChar());
+#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(USHORT i = 0; i < AUTH_FIELD_END; i++)
+ {
+ String* pTmp = new String(SW_RES(STR_AUTH_FIELD_START + i));
+ //remove short cuts
+ pTmp->EraseAllChars('~');
+ pAuthFieldNameList->Insert(pTmp, pAuthFieldNameList->Count());
+ }
+ }
+ return *pAuthFieldNameList->GetObject(eType);
+}
+/* -----------------16.09.99 12:29-------------------
+
+ --------------------------------------------------*/
+const String& SwAuthorityFieldType::GetAuthTypeName(ToxAuthorityType eType)
+{
+ if(!pAuthFieldTypeList)
+ {
+ pAuthFieldTypeList = new SvStringsDtor(AUTH_TYPE_END, 1);
+ for(USHORT i = 0; i < AUTH_TYPE_END; i++)
+ pAuthFieldTypeList->Insert(
+ new String(SW_RES(STR_AUTH_TYPE_START + i)),
+ pAuthFieldTypeList->Count());
+ }
+ return *pAuthFieldTypeList->GetObject(eType);
+}
+
+/*************************************************************************
+
+ $Log: not supported by cvs2svn $
+ Revision 1.112 2000/09/18 16:06:17 willem.vandorp
+ OpenOffice header added.
+
+ Revision 1.111 2000/04/18 15:14:08 os
+ UNICODE
+
+ Revision 1.110 2000/02/14 14:23:29 os
+ #70473# Unicode
+
+ Revision 1.109 2000/02/10 10:35:22 os
+ #70359# titles added to AutoText groups
+
+ Revision 1.108 1999/10/06 12:24:13 os
+ index corrected
+
+ Revision 1.107 1999/10/05 10:40:03 os
+ index corrected
+
+ Revision 1.106 1999/09/22 12:48:10 aw
+ changes for IAO-Handle handling in SW (AW)
+
+ Revision 1.105 1999/09/20 09:58:34 os
+ local resources separated; Authority defines
+
+ Revision 1.104 1999/09/15 14:10:32 os
+ language improvements
+
+ Revision 1.103 1999/07/07 06:15:48 OS
+ extended indexes: Index names in ShellRes
+
+
+ Rev 1.102 07 Jul 1999 08:15:48 OS
+ extended indexes: Index names in ShellRes
+
+ Rev 1.101 10 Jun 1999 13:14:52 JP
+ have to change: no AppWin from SfxApp
+
+ Rev 1.100 28 May 1999 14:09:04 OS
+ #54839# Plattformstrings raus
+
+ Rev 1.99 09 Mar 1999 18:27:42 JP
+ Task #61405#: AutoCompletion von Woertern
+
+ Rev 1.98 05 Mar 1999 14:33:02 JP
+ Bug #62868#: beim Anzeigen der Feldnamen opt. das Fix mit ausgeben
+
+ Rev 1.97 12 Jan 1999 21:14:32 JP
+ Bug #60794#: Fehlererkennung beim Tabellenrechnen
+
+ Rev 1.96 10 Dec 1998 09:47:56 MIB
+ #60060#: Beschriftungen fuer Zeichen-Objekte
+
+ Rev 1.95 06 Oct 1998 09:47:22 JP
+ Task #57586#: ShellRes um die AutoFmt-RedlineNameListe erweitert
+
+ Rev 1.94 16 Jul 1998 16:40:46 JP
+ STR_NONE ->STR_TEMPLATE_NONE fuer den MacCompiler
+
+ Rev 1.93 26 Jun 1998 17:12:52 AMA
+ Chg: Notizen werden mit Zeilenangabe gedruckt
+
+ Rev 1.92 29 May 1998 18:56:32 JP
+ neuer String in den ShellResourcen
+
+ Rev 1.91 26 May 1998 15:31:36 JP
+ neuen String aufgenommen: Alle
+
+ Rev 1.90 21 Nov 1997 12:10:12 MA
+ includes
+
+ Rev 1.89 03 Nov 1997 13:59:24 MA
+ precomp entfernt
+
+ Rev 1.88 20 Jan 1997 17:04:30 JP
+ ShowTip Umbau
+
+ Rev 1.87 11 Nov 1996 10:54:12 MA
+ ResMgr
+
+ Rev 1.86 06 Nov 1996 16:55:10 OS
+ include
+
+ Rev 1.85 06 Nov 1996 16:39:06 OS
+ SpellCheck in der OFA
+
+ Rev 1.84 31 Oct 1996 14:51:50 JP
+ neue Resource fuer GetRefFelder
+
+ Rev 1.83 26 Sep 1996 16:57:24 OS
+ neu: SwGlossaryList
+
+ Rev 1.82 19 Sep 1996 10:34:56 JP
+ neu: pDBNameList fuers Basic
+
+ Rev 1.81 28 Aug 1996 15:42:32 OS
+ includes
+
+ Rev 1.80 16 Aug 1996 11:28:26 OM
+ Dokinfo aufgegliedert
+
+ Rev 1.79 12 Aug 1996 16:33:34 OM
+ Namen der Def Datenbank in SwTypes verschoben
+
+ Rev 1.78 25 Jul 1996 16:42:52 OM
+ Datenbankname am Dok auch mit Tabelle initialisieren
+
+ Rev 1.77 20 Dec 1995 17:21:22 OM
+ Address->FAR_DATA
+
+ Rev 1.76 05 Dec 1995 19:02:00 JP
+ static aActGroup nur noch ein Pointer (wird von InitUi gepflegt!)
+
+ Rev 1.75 28 Nov 1995 21:18:20 JP
+ UiSystem-Klasse aufgehoben, in initui/swtype aufgeteilt
+
+ Rev 1.74 28 Nov 1995 13:39:54 JP
+ Aufgeraeumt - alte externs entfernt, SwShellRes ueber Resource laden
+
+ Rev 1.73 27 Nov 1995 21:16:56 JP
+ static Strings aus caption.cxx hierher als Pointer verschoben
+
+ Rev 1.72 24 Nov 1995 16:57:22 OM
+ PCH->PRECOMPILED
+
+ Rev 1.71 13 Nov 1995 12:21:32 JP
+ static Namen von Grafik/OLE/Tabelle setzen fuer Verzeichnisse entfernt
+
+*************************************************************************/
+
+