/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2008 by Sun Microsystems, Inc. * * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: drawdlg.cxx,v $ * $Revision: 1.15 $ * * 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 * * for a copy of the LGPLv3 License. * ************************************************************************/ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sw.hxx" #ifndef _SVX_SVXIDS_HRC //autogen #include #endif #ifndef _MSGBOX_HXX //autogen #include #endif #include #include #include #include #include #include #include #include "view.hxx" #include "wrtsh.hxx" #include "docsh.hxx" #include "cmdid.h" #include "drawsh.hxx" #include #include /*-------------------------------------------------------------------- Beschreibung: --------------------------------------------------------------------*/ void SwDrawShell::ExecDrawDlg(SfxRequest& rReq) { SwWrtShell* pSh = &GetShell(); SdrView* pView = pSh->GetDrawView(); SdrModel* pDoc = pView->GetModel(); BOOL bChanged = pDoc->IsChanged(); pDoc->SetChanged(FALSE); SfxItemSet aNewAttr( pDoc->GetItemPool() ); pView->GetAttributes( aNewAttr ); GetView().NoRotate(); switch (rReq.GetSlot()) { case FN_DRAWTEXT_ATTR_DLG: { SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); if ( pFact ) { SfxAbstractTabDialog *pDlg = pFact->CreateTextTabDialog( NULL, &aNewAttr, RID_SVXDLG_TEXT, pView ); USHORT nResult = pDlg->Execute(); if (nResult == RET_OK) { if (pView->AreObjectsMarked()) { pSh->StartAction(); pView->SetAttributes(*pDlg->GetOutputItemSet()); rReq.Done(*(pDlg->GetOutputItemSet())); pSh->EndAction(); } } delete( pDlg ); } } break; case SID_ATTRIBUTES_AREA: { BOOL bHasMarked = pView->AreObjectsMarked(); SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); DBG_ASSERT(pFact, "Dialogdiet Factory fail!"); AbstractSvxAreaTabDialog * pDlg = pFact->CreateSvxAreaTabDialog( NULL, &aNewAttr, pDoc, RID_SVXDLG_AREA, pView); DBG_ASSERT(pDlg, "Dialogdiet fail!"); const SvxColorTableItem* pColorItem = (const SvxColorTableItem*) GetView().GetDocShell()->GetItem(SID_COLOR_TABLE); if(pColorItem->GetColorTable() == XColorTable::GetStdColorTable()) pDlg->DontDeleteColorTable(); if (pDlg->Execute() == RET_OK) { pSh->StartAction(); if (bHasMarked) pView->SetAttributes(*pDlg->GetOutputItemSet()); else pView->SetDefaultAttr(*pDlg->GetOutputItemSet(), FALSE); pSh->EndAction(); static USHORT __READONLY_DATA aInval[] = { SID_ATTR_FILL_STYLE, SID_ATTR_FILL_COLOR, 0 }; SfxBindings &rBnd = GetView().GetViewFrame()->GetBindings(); rBnd.Invalidate(aInval); rBnd.Update(SID_ATTR_FILL_STYLE); rBnd.Update(SID_ATTR_FILL_COLOR); } delete pDlg; } break; case SID_ATTRIBUTES_LINE: { BOOL bHasMarked = pView->AreObjectsMarked(); const SdrObject* pObj = NULL; const SdrMarkList& rMarkList = pView->GetMarkedObjectList(); if( rMarkList.GetMarkCount() == 1 ) pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); DBG_ASSERT(pFact, "Dialogdiet Factory fail!"); SfxAbstractTabDialog * pDlg = pFact->CreateSvxLineTabDialog( NULL, &aNewAttr, pDoc, RID_SVXDLG_LINE, pObj, bHasMarked); DBG_ASSERT(pDlg, "Dialogdiet fail!"); if (pDlg->Execute() == RET_OK) { pSh->StartAction(); if(bHasMarked) pView->SetAttrToMarked(*pDlg->GetOutputItemSet(), FALSE); else pView->SetDefaultAttr(*pDlg->GetOutputItemSet(), FALSE); pSh->EndAction(); static USHORT __READONLY_DATA aInval[] = { SID_ATTR_LINE_STYLE, SID_ATTR_LINE_WIDTH, SID_ATTR_LINE_COLOR, 0 }; GetView().GetViewFrame()->GetBindings().Invalidate(aInval); } delete pDlg; } break; default: break; } if (pDoc->IsChanged()) GetShell().SetModified(); else if (bChanged) pDoc->SetChanged(TRUE); } /*-------------------------------------------------------------------- Beschreibung: --------------------------------------------------------------------*/ void SwDrawShell::ExecDrawAttrArgs(SfxRequest& rReq) { SwWrtShell* pSh = &GetShell(); SdrView* pView = pSh->GetDrawView(); const SfxItemSet* pArgs = rReq.GetArgs(); BOOL bChanged = pView->GetModel()->IsChanged(); pView->GetModel()->SetChanged(FALSE); GetView().NoRotate(); if (pArgs) { if(pView->AreObjectsMarked()) pView->SetAttrToMarked(*rReq.GetArgs(), FALSE); else pView->SetDefaultAttr(*rReq.GetArgs(), FALSE); } else { SfxDispatcher* pDis = pSh->GetView().GetViewFrame()->GetDispatcher(); switch (rReq.GetSlot()) { case SID_ATTR_FILL_STYLE: case SID_ATTR_FILL_COLOR: case SID_ATTR_FILL_GRADIENT: case SID_ATTR_FILL_HATCH: case SID_ATTR_FILL_BITMAP: pDis->Execute(SID_ATTRIBUTES_AREA, FALSE); break; case SID_ATTR_LINE_STYLE: case SID_ATTR_LINE_DASH: case SID_ATTR_LINE_WIDTH: case SID_ATTR_LINE_COLOR: pDis->Execute(SID_ATTRIBUTES_LINE, FALSE); break; } } if (pView->GetModel()->IsChanged()) GetShell().SetModified(); else if (bChanged) pView->GetModel()->SetChanged(TRUE); } /*-------------------------------------------------------------------- Beschreibung: --------------------------------------------------------------------*/ void SwDrawShell::GetDrawAttrState(SfxItemSet& rSet) { SdrView* pSdrView = GetShell().GetDrawView(); if (pSdrView->AreObjectsMarked()) { BOOL bDisable = Disable( rSet ); if( !bDisable ) pSdrView->GetAttributes( rSet ); } else rSet.Put(pSdrView->GetDefaultAttr()); } on> LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-02-28new loplugin unoanyNoel Grandin
Change-Id: I5d6c4a67cb2a09e7cd5bd620c6b262d188701b89 Reviewed-on: https://gerrit.libreoffice.org/34714 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-04-25tdf#42949: clean up includes in include/oox/core using iwyuJorenz Paragas
This allows the headers in that folder to stand on their own and not depend on any transitively included headers. All changes to other files are needed to fix compiler errors related to missing includes that occurred afterwards. Change-Id: I2083b30763f0b2c1aacdff00226e5f567ae52db4 Reviewed-on: https://gerrit.libreoffice.org/24355 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-10-29Too much copy pasta is not good for youTor Lillqvist
Change-Id: Ie5a3cddd6fcf9d1a763284c1aea0fca579da4f8d
2015-10-23com::sun::star->css in lotuswordpro,mysqlc,ooxNoel Grandin
Change-Id: Id99ff87c4eb3f1b36702261ce63d5d2793ea35d7
2014-06-25remove whitespacesMarkus Mohrhard
Change-Id: Ie14ba3dcb97f20479a04538748ef2c1c9e6c5dac