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();
+ }
+ }
}
/*--------------------------------------------------------------------