summaryrefslogtreecommitdiff
path: root/sd/source/ui/dlg/tabtempl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/dlg/tabtempl.cxx')
-rw-r--r--sd/source/ui/dlg/tabtempl.cxx223
1 files changed, 223 insertions, 0 deletions
diff --git a/sd/source/ui/dlg/tabtempl.cxx b/sd/source/ui/dlg/tabtempl.cxx
new file mode 100644
index 000000000000..5fd9af68eee0
--- /dev/null
+++ b/sd/source/ui/dlg/tabtempl.cxx
@@ -0,0 +1,223 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_sd.hxx"
+
+#ifdef SD_DLLIMPLEMENTATION
+#undef SD_DLLIMPLEMENTATION
+#endif
+
+#include <editeng/flstitem.hxx>
+
+#include <svx/svxids.hrc>
+
+#include <svx/drawitem.hxx>
+#include <svl/intitem.hxx>
+#include <svx/ofaitem.hxx>
+#include <svx/svxgrahicitem.hxx>
+#include <svx/svdmodel.hxx>
+#include <svl/cjkoptions.hxx>
+
+
+#include <svx/dialogs.hrc>
+
+#include <svx/svxdlg.hxx>
+#include <svx/tabline.hxx>
+#include <svl/style.hxx>
+#include <svx/xtable.hxx>
+
+#include "DrawDocShell.hxx"
+#include "tabtempl.hxx"
+#include "tabtempl.hrc"
+#include "sdresid.hxx"
+#include "dlg_char.hxx"
+#include "paragr.hxx"
+#include <svx/flagsdef.hxx>
+
+/*************************************************************************
+|*
+|* Konstruktor des Tab-Dialogs: Fuegt die Seiten zum Dialog hinzu
+|*
+\************************************************************************/
+
+SdTabTemplateDlg::SdTabTemplateDlg( Window* pParent,
+ const SfxObjectShell* pDocShell,
+ SfxStyleSheetBase& rStyleBase,
+ SdrModel* pModel,
+ SdrView* pView ) :
+ SfxStyleDialog ( pParent, SdResId( TAB_TEMPLATE ), rStyleBase, FALSE ),
+ rDocShell ( *pDocShell ),
+ pSdrView ( pView ),
+ pColorTab ( pModel->GetColorTable() ),
+ pGradientList ( pModel->GetGradientList() ),
+ pHatchingList ( pModel->GetHatchList() ),
+ pBitmapList ( pModel->GetBitmapList() ),
+ pDashList ( pModel->GetDashList() ),
+ pLineEndList ( pModel->GetLineEndList() )
+{
+ FreeResource();
+
+ // Listbox fuellen und Select-Handler ueberladen
+
+ AddTabPage( RID_SVXPAGE_LINE);
+ AddTabPage( RID_SVXPAGE_AREA);
+ AddTabPage( RID_SVXPAGE_SHADOW);
+ AddTabPage( RID_SVXPAGE_TRANSPARENCE);
+ AddTabPage( RID_SVXPAGE_CHAR_NAME );
+ AddTabPage( RID_SVXPAGE_CHAR_EFFECTS );
+ AddTabPage( RID_SVXPAGE_STD_PARAGRAPH );
+ AddTabPage( RID_SVXPAGE_TEXTATTR );
+ AddTabPage( RID_SVXPAGE_TEXTANIMATION );
+ AddTabPage( RID_SVXPAGE_MEASURE);
+ AddTabPage( RID_SVXPAGE_CONNECTION);
+ AddTabPage( RID_SVXPAGE_ALIGN_PARAGRAPH );
+ AddTabPage( RID_SVXPAGE_TABULATOR );
+ SvtCJKOptions aCJKOptions;
+ if( aCJKOptions.IsAsianTypographyEnabled() )
+ AddTabPage( RID_SVXPAGE_PARA_ASIAN );
+ else
+ RemoveTabPage( RID_SVXPAGE_PARA_ASIAN );
+
+ nDlgType = 1;
+ nPageType = 0;
+ nPos = 0;
+
+ nColorTableState = CT_NONE;
+ nBitmapListState = CT_NONE;
+ nGradientListState = CT_NONE;
+ nHatchingListState = CT_NONE;
+}
+
+// -----------------------------------------------------------------------
+
+SdTabTemplateDlg::~SdTabTemplateDlg()
+{
+}
+
+// -----------------------------------------------------------------------
+
+void SdTabTemplateDlg::PageCreated( USHORT nId, SfxTabPage &rPage )
+{
+ SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool()));
+ switch( nId )
+ {
+ case RID_SVXPAGE_LINE:
+ aSet.Put (SvxColorTableItem(pColorTab,SID_COLOR_TABLE));
+ aSet.Put (SvxDashListItem(pDashList,SID_DASH_LIST));
+ aSet.Put (SvxLineEndListItem(pLineEndList,SID_LINEEND_LIST));
+ aSet.Put (SfxUInt16Item(SID_DLG_TYPE,nDlgType));
+ rPage.PageCreated(aSet);
+ break;
+
+ case RID_SVXPAGE_AREA:
+ aSet.Put (SvxColorTableItem(pColorTab,SID_COLOR_TABLE));
+ aSet.Put (SvxGradientListItem(pGradientList,SID_GRADIENT_LIST));
+ aSet.Put (SvxHatchListItem(pHatchingList,SID_HATCH_LIST));
+ aSet.Put (SvxBitmapListItem(pBitmapList,SID_BITMAP_LIST));
+ aSet.Put (SfxUInt16Item(SID_PAGE_TYPE,nPageType));
+ aSet.Put (SfxUInt16Item(SID_DLG_TYPE,nDlgType));
+ aSet.Put (SfxUInt16Item(SID_TABPAGE_POS,nPos));
+ rPage.PageCreated(aSet);
+
+
+ break;
+
+ case RID_SVXPAGE_SHADOW:
+ aSet.Put (SvxColorTableItem(pColorTab,SID_COLOR_TABLE)); //add CHINA001
+ aSet.Put (SfxUInt16Item(SID_PAGE_TYPE,nPageType));
+ aSet.Put (SfxUInt16Item(SID_DLG_TYPE,nDlgType));
+ rPage.PageCreated(aSet);
+ break;
+
+ case RID_SVXPAGE_TRANSPARENCE:
+ aSet.Put (SfxUInt16Item(SID_PAGE_TYPE,nPageType));
+ aSet.Put (SfxUInt16Item(SID_DLG_TYPE,nDlgType));
+ rPage.PageCreated(aSet);
+ break;
+
+ case RID_SVXPAGE_CHAR_NAME:
+ {
+ SvxFontListItem aItem(*( (const SvxFontListItem*)
+ ( rDocShell.GetItem( SID_ATTR_CHAR_FONTLIST) ) ) );
+
+ aSet.Put (SvxFontListItem( aItem.GetFontList(), SID_ATTR_CHAR_FONTLIST));
+ rPage.PageCreated(aSet);
+ }
+ break;
+
+ case RID_SVXPAGE_CHAR_EFFECTS:
+ aSet.Put (SfxUInt16Item(SID_DISABLE_CTL,DISABLE_CASEMAP));
+ rPage.PageCreated(aSet);
+ break;
+
+ case RID_SVXPAGE_STD_PARAGRAPH:
+ break;
+
+ case RID_SVXPAGE_TEXTATTR:
+ {
+ aSet.Put(OfaPtrItem(SID_SVXTEXTATTRPAGE_VIEW,pSdrView));
+ rPage.PageCreated(aSet);
+ }
+ break;
+
+ case RID_SVXPAGE_TEXTANIMATION:
+ break;
+
+ case RID_SVXPAGE_MEASURE:
+ aSet.Put (OfaPtrItem(SID_OBJECT_LIST,pSdrView));
+ rPage.PageCreated(aSet);
+ break;
+
+ case RID_SVXPAGE_CONNECTION:
+ {
+ aSet.Put (OfaPtrItem(SID_OBJECT_LIST,pSdrView));
+ rPage.PageCreated(aSet);
+ }
+ break;
+ }
+}
+
+// -----------------------------------------------------------------------
+
+const SfxItemSet* SdTabTemplateDlg::GetRefreshedSet()
+{
+ SfxItemSet* pRet = GetInputSetImpl();
+
+ if( pRet )
+ {
+ pRet->ClearItem();
+ pRet->SetParent( GetStyleSheet().GetItemSet().GetParent() );
+ }
+ else
+ pRet = new SfxItemSet( GetStyleSheet().GetItemSet() );
+
+ return pRet;
+}
+
+
+