summaryrefslogtreecommitdiff
path: root/sw/source/ui/uiview/viewdlg2.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/ui/uiview/viewdlg2.cxx')
-rw-r--r--sw/source/ui/uiview/viewdlg2.cxx403
1 files changed, 403 insertions, 0 deletions
diff --git a/sw/source/ui/uiview/viewdlg2.cxx b/sw/source/ui/uiview/viewdlg2.cxx
new file mode 100644
index 000000000000..b986e894351c
--- /dev/null
+++ b/sw/source/ui/uiview/viewdlg2.cxx
@@ -0,0 +1,403 @@
+/*************************************************************************
+ *
+ * $RCSfile: viewdlg2.cxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 17:14:49 $
+ *
+ * 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 _SFXREQUEST_HXX //autogen
+#include <sfx2/request.hxx>
+#endif
+#ifndef _SFXVIEWFRM_HXX //autogen
+#include <sfx2/viewfrm.hxx>
+#endif
+
+
+#ifndef _FLDMGR_HXX //autogen
+#include <fldmgr.hxx>
+#endif
+#ifndef _EXPFLD_HXX //autogen
+#include <expfld.hxx>
+#endif
+
+#ifndef _MODOPT_HXX //autogen
+#include <modcfg.hxx>
+#endif
+
+#include "swmodule.hxx"
+#include "view.hxx"
+#include "wview.hxx"
+#include "wrtsh.hxx"
+#include "cmdid.h"
+#include "cption.hxx"
+#include "caption.hxx"
+#include "insfnote.hxx"
+#include "poolfmt.hxx"
+#include "edtwin.hxx"
+
+#include "view.hrc"
+
+extern String* pOldGrfCat;
+extern String* pOldTabCat;
+extern String* pOldFrmCat;
+extern String* pOldDrwCat;
+
+/* -----------------06.11.98 13:45-------------------
+ *
+ * --------------------------------------------------*/
+
+void SwView::ExecDlgExt(SfxRequest &rReq)
+{
+ Window *pMDI = &GetViewFrame()->GetWindow();
+ ModalDialog *pDialog = 0;
+ const SfxItemSet* pOutSet = 0;
+
+ switch ( rReq.GetSlot() )
+ {
+ case FN_INSERT_CAPTION:
+ {
+ pDialog = new SwCaptionDialog( pMDI, *this );
+ break;
+ }
+ case FN_EDIT_FOOTNOTE:
+ {
+ pDialog = new SwInsFootNoteDlg( pMDI, *pWrtShell, TRUE );
+ pDialog->SetHelpId(FN_EDIT_FOOTNOTE);
+ pDialog->SetText( SW_RESSTR(STR_EDIT_FOOTNOTE) );
+ break;
+ }
+ }
+ if ( pDialog )
+ {
+ pDialog->Execute();
+ delete pDialog;
+ }
+}
+
+/* -----------------06.11.98 14:53-------------------
+ *
+ * --------------------------------------------------*/
+
+void SwView::AutoCaption(const USHORT nType, const SvGlobalName *pOleId)
+{
+ SwModuleOptions* pModOpt = SW_MOD()->GetModuleConfig();
+
+ BOOL bWeb = 0 != PTR_CAST(SwWebView, this);
+ if (pModOpt->IsInsWithCaption(bWeb))
+ {
+ const InsCaptionOpt *pOpt = pModOpt->GetCapOption(bWeb, (SwCapObjType)nType, pOleId);
+ if (pOpt && pOpt->UseCaption() == TRUE)
+ InsertCaption(pOpt);
+ }
+}
+
+/* -----------------06.11.98 12:58-------------------
+ *
+ * --------------------------------------------------*/
+
+void SwView::InsertCaption(const InsCaptionOpt *pOpt)
+{
+ if (!pOpt)
+ return;
+
+ const String &rName = pOpt->GetCategory();
+
+ // Existiert Pool-Vorlage gleichen Namens?
+ SwWrtShell &rSh = GetWrtShell();
+ USHORT nPoolId = rSh.GetPoolId(rName, GET_POOLID_TXTCOLL);
+ if( USHRT_MAX != nPoolId )
+ rSh.GetTxtCollFromPool(nPoolId);
+ // Pool-Vorlage existiert nicht: Existiert sie am Dokument?
+ else if( !rSh.GetParaStyle(rName) )
+ {
+ // Sie existiert auch nicht am Dokument: erzeugen
+ SwTxtFmtColl* pDerivedFrom = rSh.GetTxtCollFromPool(RES_POOLCOLL_LABEL);
+ rSh.MakeTxtFmtColl(rName, pDerivedFrom);
+ }
+
+ USHORT eType = (SwWrtShell::SelectionType)rSh.GetSelectionType();
+ if (eType & SwWrtShell::SEL_OLE)
+ eType = SwWrtShell::SEL_GRF;
+
+ // SwLabelType
+ const USHORT eT = eType & SwWrtShell::SEL_TBL ? LTYPE_TABLE :
+ eType & SwWrtShell::SEL_FRM ? LTYPE_FLY :
+ eType == SwWrtShell::SEL_TXT ? LTYPE_FLY :
+ eType & SwWrtShell::SEL_DRW ? LTYPE_DRAW :
+ LTYPE_OBJECT;
+
+ SwFldMgr aMgr(&rSh);
+ SwSetExpFieldType* pFldType =
+ (SwSetExpFieldType*)aMgr.GetFldType(RES_SETEXPFLD, rName);
+ if (!pFldType)
+ {
+ // Neuen Feldtypen erzeugen
+ SwSetExpFieldType aSwSetExpFieldType(rSh.GetDoc(), rName, GSE_SEQ);
+ aMgr.InsertFldType(aSwSetExpFieldType);
+ pFldType = (SwSetExpFieldType*)aMgr.GetFldType(RES_SETEXPFLD, rName);
+ }
+
+ if (!pOpt->IgnoreSeqOpts())
+ {
+ if (pFldType)
+ {
+ pFldType->SetDelimiter(pOpt->GetSeparator());
+ pFldType->SetOutlineLvl(pOpt->GetLevel());
+ }
+ }
+
+ USHORT nID = 0;
+ SwFieldType* pType = 0;
+ const USHORT nCount = aMgr.GetFldTypeCount();
+ for (USHORT i = 0; i < nCount; ++i)
+ {
+ pType = aMgr.GetFldType(USHRT_MAX, i);
+ String aTmpName( pType->GetName() );
+ if (aTmpName == rName && pType->Which() == RES_SETEXPFLD)
+ {
+ nID = i;
+ break;
+ }
+ }
+ rSh.StartAllAction();
+
+ GetWrtShell().InsertLabel( (SwLabelType)eT,
+ pOpt->GetCaption(),
+ !pOpt->GetPos(),
+ nID,
+ pOpt->CopyAttributes() );
+ // Nummernformat setzen
+ ((SwSetExpFieldType*)pType)->SetSeqFormat(pOpt->GetNumType());
+
+ rSh.UpdateExpFlds( TRUE );
+
+ rSh.EndAllAction();
+
+ if ( rSh.IsFrmSelected() )
+ {
+ GetEditWin().StopInsFrm();
+ rSh.EnterSelFrmMode();
+ }
+
+ // Kategorie merken
+ String** ppStr = 0;
+ if (eType & SwWrtShell::SEL_GRF)
+ ppStr = &pOldGrfCat;
+ else if( eType & SwWrtShell::SEL_TBL)
+ ppStr = &pOldTabCat;
+ else if( eType & SwWrtShell::SEL_FRM)
+ ppStr = &pOldFrmCat;
+ else if( eType == SwWrtShell::SEL_TXT)
+ ppStr = &pOldFrmCat;
+ else if( eType & SwWrtShell::SEL_DRW)
+ ppStr = &pOldDrwCat;
+
+ if( ppStr )
+ {
+ if( !*ppStr )
+ *ppStr = new String( rName );
+ else
+ **ppStr = rName;
+ }
+}
+
+/*------------------------------------------------------------------------
+ $Log: not supported by cvs2svn $
+ Revision 1.56 2000/09/18 16:06:13 willem.vandorp
+ OpenOffice header added.
+
+ Revision 1.55 2000/05/26 07:21:35 os
+ old SW Basic API Slots removed
+
+ Revision 1.54 1999/06/09 08:44:54 OS
+ #66732# Insert caption: copy border and shadow optionally
+
+
+ Rev 1.53 09 Jun 1999 10:44:54 OS
+ #66732# Insert caption: copy border and shadow optionally
+
+ Rev 1.52 17 Feb 1999 08:40:28 OS
+ #58158# Einfuegen TabPage auch in HTML-Docs
+
+ Rev 1.51 25 Jan 1999 14:10:32 HR
+ include editwin.hxx
+
+ Rev 1.50 21 Jan 1999 18:53:36 MA
+ #60697# die bloeden Stati pflegen
+
+ Rev 1.49 10 Dec 1998 09:47:16 MIB
+ #60060#: Beschriftungen fuer Zeichen-Objekte
+
+ Rev 1.48 06 Nov 1998 17:05:58 OM
+ #58158# Automatische Beschriftung
+
+ Rev 1.47 21 Nov 1997 15:00:18 MA
+ includes
+
+ Rev 1.46 03 Nov 1997 13:58:28 MA
+ precomp entfernt
+
+ Rev 1.45 07 Apr 1997 19:00:26 MH
+ chg: header
+
+ Rev 1.44 11 Nov 1996 11:10:50 MA
+ ResMgr
+
+ Rev 1.43 29 Jul 1996 15:47:16 MA
+ includes
+
+ Rev 1.42 23 Feb 1996 17:04:58 OM
+ OpenINetDlg entfernt
+
+ Rev 1.41 20 Feb 1996 10:08:20 OM
+ Methode fuer Internet-Open-Dlg
+
+ Rev 1.40 30 Nov 1995 15:16:04 OS
+ div. Slots verschoben
+
+ Rev 1.39 24 Nov 1995 16:58:00 OM
+ PCH->PRECOMPILED
+
+ Rev 1.38 08 Nov 1995 13:07:44 OS
+ Change => Set
+
+ Rev 1.37 06 Nov 1995 17:20:04 OS
+ kleinere Optimierung
+
+ Rev 1.36 31 Oct 1995 18:42:46 OM
+ GetFrameWindow entfernt
+
+ Rev 1.35 30 Oct 1995 18:51:18 OS
+ FN_POSTIT ueber Slot einfuegen
+
+ Rev 1.34 18 Sep 1995 18:30:08 OM
+ HelpIDs
+
+ Rev 1.33 24 Aug 1995 14:31:54 MA
+ swstddlg -> svxstandarddialog
+
+ Rev 1.32 21 Aug 1995 09:26:36 MA
+ chg: swstddlg -> svxstandarddialog, Optimierungen
+
+ Rev 1.31 23 Jun 1995 07:26:34 OS
+ FALSe gibt's nicht
+
+ Rev 1.30 22 Jun 1995 20:03:46 MA
+ fix/opt: FrmMgr mit Shell erzeugen.
+
+ Rev 1.29 09 Jun 1995 14:25:34 OM
+ Alten DB-Manager entfernt
+
+ Rev 1.28 05 Apr 1995 19:06:34 OS
+ Fix fuer Tabellen-und Rahmenhintergrund Bug 10891
+
+ Rev 1.27 04 Apr 1995 14:09:56 MA
+ Optimiert, includes gespart.
+
+ Rev 1.26 03 Apr 1995 19:41:52 OS
+ Titel fuer Edit-Footnote Fix 11252
+
+ Rev 1.25 28 Mar 1995 19:39:54 OM
+ Aufgeteilt auf viewdlg2 und 4
+
+ Rev 1.24 24 Mar 1995 20:17:22 PK
+ pkbla ist out
+
+ Rev 1.23 04 Mar 1995 14:08:04 MA
+ fix: GPF Umrandung fuer Tabelle.
+
+ Rev 1.22 02 Mar 1995 18:49:34 PK
+ pkbla-geraffel wieder uebersetzbar
+
+ Rev 1.21 01 Mar 1995 11:08:48 MA
+ weg: Sw-BoxItem, neu: KeepItem.
+
+ Rev 1.20 16 Feb 1995 19:33:58 PK
+ swborderdlg: einsatz von swflyfrmattrmgr
+
+ Rev 1.19 08 Feb 1995 18:39:38 PK
+ bla-geraffel mit #ifdef pkbla
+
+ Rev 1.18 08 Feb 1995 10:21:44 SWG
+ blaout kommentiert.
+
+ Rev 1.17 08 Feb 1995 10:18:18 SWG
+ blaout kommentiert.
+
+ Rev 1.16 07 Feb 1995 19:34:38 PK
+ umrandungen, bla-geraffel
+
+ Rev 1.14 26 Jan 1995 16:58:44 PK
+ gebrauch von get- und settabborders
+
+ Rev 1.13 24 Jan 1995 13:29:06 PK
+ Map entfernt
+
+ Rev 1.12 18 Jan 1995 13:22:58 MS
+ Precompiled hd
+
+ Rev 1.11 13 Jan 1995 12:17:06 MS
+ Aufteilung DBMgr
+
+------------------------------------------------------------------------*/
+