Author: orw Date: Tue Apr 2 14:36:07 2013 New Revision: 1463566 URL: http://svn.apache.org/r1463566 Log: #121795# - position and size property panel - get it working for embedded objects and Writer graphics
Modified: openoffice/branches/sidebar/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx openoffice/branches/sidebar/main/sw/sdi/_frmsh.sdi openoffice/branches/sidebar/main/sw/source/core/frmedt/feshview.cxx openoffice/branches/sidebar/main/sw/source/ui/shells/frmsh.cxx Modified: openoffice/branches/sidebar/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx?rev=1463566&r1=1463565&r2=1463566&view=diff ============================================================================== --- openoffice/branches/sidebar/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx (original) +++ openoffice/branches/sidebar/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx Tue Apr 2 14:36:07 2013 @@ -115,7 +115,12 @@ PosSizePropertyPanel::PosSizePropertyPan mbInDestructor(false) { Initialize(); - FreeResource(); + FreeResource(); + + mpBindings->Update( SID_ATTR_TRANSFORM_WIDTH ); + mpBindings->Update( SID_ATTR_TRANSFORM_HEIGHT ); + mpBindings->Update( SID_ATTR_TRANSFORM_PROTECT_SIZE ); + mpBindings->Update( SID_ATTR_METRIC ); } Modified: openoffice/branches/sidebar/main/sw/sdi/_frmsh.sdi URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sw/sdi/_frmsh.sdi?rev=1463566&r1=1463565&r2=1463566&view=diff ============================================================================== --- openoffice/branches/sidebar/main/sw/sdi/_frmsh.sdi (original) +++ openoffice/branches/sidebar/main/sw/sdi/_frmsh.sdi Tue Apr 2 14:36:07 2013 @@ -162,6 +162,11 @@ interface BaseTextFrame StateMethod = GetState ; DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR"; ] + SID_ATTR_TRANSFORM_PROTECT_SIZE + [ + StateMethod = GetState ; + DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR"; + ] SID_ATTR_ULSPACE // status(final|play) [ Modified: openoffice/branches/sidebar/main/sw/source/core/frmedt/feshview.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sw/source/core/frmedt/feshview.cxx?rev=1463566&r1=1463565&r2=1463566&view=diff ============================================================================== --- openoffice/branches/sidebar/main/sw/source/core/frmedt/feshview.cxx (original) +++ openoffice/branches/sidebar/main/sw/source/core/frmedt/feshview.cxx Tue Apr 2 14:36:07 2013 @@ -2486,10 +2486,10 @@ sal_uInt8 SwFEShell::IsSelObjProtected( { // TODO/LATER: use correct aspect const bool bNeverResize = (embed::EmbedMisc::EMBED_NEVERRESIZE & xObj->getStatus( embed::Aspects::MSOLE_CONTENT )); - if ( (FLYPROTECT_CONTENT & eType) && bNeverResize ) - { - nChk |= FLYPROTECT_SIZE; - nChk |= FLYPROTECT_FIXED; + if ( ( (FLYPROTECT_CONTENT & eType) || (FLYPROTECT_SIZE & eType) ) && bNeverResize ) + { + nChk |= FLYPROTECT_SIZE; + nChk |= FLYPROTECT_FIXED; } // set FLYPROTECT_POS if it is a Math object anchored 'as char' and baseline alignment is activated Modified: openoffice/branches/sidebar/main/sw/source/ui/shells/frmsh.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sw/source/ui/shells/frmsh.cxx?rev=1463566&r1=1463565&r2=1463566&view=diff ============================================================================== --- openoffice/branches/sidebar/main/sw/source/ui/shells/frmsh.cxx (original) +++ openoffice/branches/sidebar/main/sw/source/ui/shells/frmsh.cxx Tue Apr 2 14:36:07 2013 @@ -35,6 +35,8 @@ #include <svl/rectitem.hxx> #include <svl/ptitem.hxx> #include <svl/stritem.hxx> +#include <svl/intitem.hxx> +#include <svl/eitem.hxx> #include <editeng/colritem.hxx> #include <editeng/bolnitem.hxx> #include <editeng/boxitem.hxx> @@ -383,6 +385,36 @@ void SwFrameShell::Execute(SfxRequest &r } } break; + + case SID_ATTR_TRANSFORM: + { + bool bApplyNewSize = false; + + Size aNewSize = aMgr.GetSize(); + if ( SFX_ITEM_SET == pArgs->GetItemState( SID_ATTR_TRANSFORM_WIDTH, FALSE, &pItem ) ) + { + aNewSize.setWidth( static_cast< const SfxUInt32Item* >(pItem)->GetValue() ); + bApplyNewSize = true; + } + + if ( SFX_ITEM_SET == pArgs->GetItemState( SID_ATTR_TRANSFORM_HEIGHT, FALSE, &pItem ) ) + { + aNewSize.setHeight( static_cast< const SfxUInt32Item* >(pItem)->GetValue() ); + bApplyNewSize = true; + } + + if ( bApplyNewSize ) + { + aMgr.SetSize( aNewSize ); + } + else + { + bUpdateMgr = sal_False; + } + + } + break; + case FN_FORMAT_FRAME_DLG: case FN_PROPERTY_WRAP_DLG: { @@ -638,21 +670,22 @@ void SwFrameShell::Execute(SfxRequest &r } break; // <-- - default: - ASSERT( !this, "falscher Dispatcher" ); - return; - } - // Vorlagen-AutoUpdate - SwFrmFmt* pFmt = rSh.GetCurFrmFmt(); - if ( bUpdateMgr ) - { - if(bCopyToFmt && pFmt && pFmt->IsAutoUpdateFmt()) - { - rSh.AutoUpdateFrame(pFmt, aMgr.GetAttrSet()); - } - else - aMgr.UpdateFlyFrm(); - } + default: + ASSERT( !this, "falscher Dispatcher" ); + return; + } + if ( bUpdateMgr ) + { + SwFrmFmt* pFmt = rSh.GetCurFrmFmt(); + if ( bCopyToFmt && pFmt && pFmt->IsAutoUpdateFmt() ) + { + rSh.AutoUpdateFrame(pFmt, aMgr.GetAttrSet()); + } + else + { + aMgr.UpdateFlyFrm(); + } + } } @@ -866,14 +899,48 @@ void SwFrameShell::GetState(SfxItemSet& if ( bParentCntProt ) rSet.DisableItem( nWhich ); break; + + case SID_ATTR_TRANSFORM: + { + rSet.DisableItem( nWhich ); + } + break; + + case SID_ATTR_TRANSFORM_PROTECT_SIZE: + { + const sal_uInt8 eProtection = rSh.IsSelObjProtected( FLYPROTECT_SIZE ); + if ( ( eProtection & FLYPROTECT_CONTENT ) || + ( eProtection & FLYPROTECT_SIZE ) ) + { + rSet.Put( SfxBoolItem( SID_ATTR_TRANSFORM_PROTECT_SIZE, sal_True ) ); + } + else + { + rSet.Put( SfxBoolItem( SID_ATTR_TRANSFORM_PROTECT_SIZE, sal_False ) ); + } + } + break; + + case SID_ATTR_TRANSFORM_WIDTH: + { + rSet.Put( SfxUInt32Item( SID_ATTR_TRANSFORM_WIDTH, aMgr.GetSize().getWidth() ) ); + } + break; + + case SID_ATTR_TRANSFORM_HEIGHT: + { + rSet.Put( SfxUInt32Item( SID_ATTR_TRANSFORM_HEIGHT, aMgr.GetSize().getHeight() ) ); + } + break; + case FN_FORMAT_FRAME_DLG: { const int nSel = rSh.GetSelectionType(); if ( bParentCntProt || nSel & nsSelectionType::SEL_GRF) - rSet.DisableItem( nWhich ); + rSet.DisableItem( nWhich ); } break; - // --> OD 2009-07-07 #i73249# + case FN_TITLE_DESCRIPTION_SHAPE: { SwWrtShell &rWrtSh = GetShell(); @@ -886,14 +953,14 @@ void SwFrameShell::GetState(SfxItemSet& } break; - // <-- - default: - /* do nothing */; - break; - } - nWhich = aIter.NextWhich(); - } - } + + default: + /* do nothing */; + break; + } + nWhich = aIter.NextWhich(); + } + } } /*--------------------------------------------------------------------