diff options
author | Tomaž Vajngerl <quikee@gmail.com> | 2012-09-26 21:20:27 +0200 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2012-09-26 21:22:41 +0200 |
commit | 0cd97e8c33c49a6c44d26ba309493dbfec00eb8d (patch) | |
tree | f6fa8a08f4564058eaac2238fff075c5769df9b9 /cui/source/tabpages/transfrm.cxx | |
parent | 70412d0f3f7979d3d069be8121d49dbb96775cce (diff) |
Change the image rotation widget to better looking DialControl
Change-Id: Ie11827a924a5b22d86bad24aa7f14a66b870e90c
Diffstat (limited to 'cui/source/tabpages/transfrm.cxx')
-rw-r--r-- | cui/source/tabpages/transfrm.cxx | 61 |
1 files changed, 10 insertions, 51 deletions
diff --git a/cui/source/tabpages/transfrm.cxx b/cui/source/tabpages/transfrm.cxx index 57daf104f89e..54d32d81e558 100644 --- a/cui/source/tabpages/transfrm.cxx +++ b/cui/source/tabpages/transfrm.cxx @@ -228,10 +228,9 @@ SvxAngleTabPage::SvxAngleTabPage( Window* pParent, const SfxItemSet& rInAttrs ) aFlAngle ( this, CUI_RES( FL_ANGLE ) ), aFtAngle ( this, CUI_RES( FT_ANGLE ) ), - aMtrAngle ( this, CUI_RES( MTR_FLD_ANGLE ) ), + maNfAngle ( this, CUI_RES( NF_ANGLE ) ), aFtAnglePresets ( this, CUI_RES(FT_ANGLEPRESETS) ), - aCtlAngle ( this, CUI_RES( CTL_ANGLE ), - RP_RB, 200, 80, CS_ANGLE ), + aCtlAngle ( this, CUI_RES( CTL_ANGLE ) ), rOutAttrs ( rInAttrs ) { FreeResource(); @@ -241,12 +240,11 @@ SvxAngleTabPage::SvxAngleTabPage( Window* pParent, const SfxItemSet& rInAttrs ) DBG_ASSERT( pPool, "no pool (!)" ); ePoolUnit = pPool->GetMetric(SID_ATTR_TRANSFORM_POS_X); - aMtrAngle.SetModifyHdl(LINK( this, SvxAngleTabPage, ModifiedHdl)); - aCtlRect.SetAccessibleRelationLabeledBy(&aFtPosPresets); aCtlRect.SetAccessibleRelationMemberOf(&aFlPosition); aCtlAngle.SetAccessibleRelationLabeledBy(&aFtAnglePresets); aCtlAngle.SetAccessibleRelationMemberOf(&aFlAngle); + aCtlAngle.SetLinkedField( &maNfAngle ); } // ----------------------------------------------------------------------- @@ -303,29 +301,27 @@ void SvxAngleTabPage::Construct() aCtlRect.Disable(); aFlAngle.Disable(); aFtAngle.Disable(); - aMtrAngle.Disable(); + maNfAngle.Disable(); aFtAnglePresets.Disable(); aCtlAngle.Disable(); } } -// ----------------------------------------------------------------------- - sal_Bool SvxAngleTabPage::FillItemSet(SfxItemSet& rSet) { sal_Bool bModified = sal_False; - if(aMtrAngle.IsValueModified() || aMtrPosX.IsValueModified() || aMtrPosY.IsValueModified()) + if(aCtlAngle.IsValueModified() || aMtrPosX.IsValueModified() || aMtrPosY.IsValueModified()) { const double fUIScale(double(pView->GetModel()->GetUIScale())); const double fTmpX((GetCoreValue(aMtrPosX, ePoolUnit) + maAnchor.getX()) * fUIScale); const double fTmpY((GetCoreValue(aMtrPosY, ePoolUnit) + maAnchor.getY()) * fUIScale); - rSet.Put(SfxInt32Item(GetWhich(SID_ATTR_TRANSFORM_ANGLE), static_cast<sal_Int32>(aMtrAngle.GetValue()))); + rSet.Put(SfxInt32Item(GetWhich(SID_ATTR_TRANSFORM_ANGLE), aCtlAngle.GetRotation())); rSet.Put(SfxInt32Item(GetWhich(SID_ATTR_TRANSFORM_ROT_X), basegfx::fround(fTmpX))); rSet.Put(SfxInt32Item(GetWhich(SID_ATTR_TRANSFORM_ROT_Y), basegfx::fround(fTmpY))); - bModified |= sal_True; + bModified = sal_True; } return bModified; @@ -362,15 +358,13 @@ void SvxAngleTabPage::Reset(const SfxItemSet& rAttrs) pItem = GetItem( rAttrs, SID_ATTR_TRANSFORM_ANGLE ); if(pItem) { - aMtrAngle.SetValue(((const SfxInt32Item*)pItem)->GetValue()); + aCtlAngle.SetRotation(((const SfxInt32Item*)pItem)->GetValue()); } else { - aMtrAngle.SetText( String() ); + aCtlAngle.SetRotation(0); } - - aMtrAngle.SaveValue(); - ModifiedHdl(this); + aCtlAngle.SaveValue(); } // ----------------------------------------------------------------------- @@ -469,41 +463,6 @@ void SvxAngleTabPage::PointChanged(Window* pWindow, RECT_POINT eRP) } } } - else if(pWindow == &aCtlAngle) - { - switch( eRP ) - { - case RP_LT: aMtrAngle.SetUserValue( 13500, FUNIT_NONE ); break; - case RP_MT: aMtrAngle.SetUserValue( 9000, FUNIT_NONE ); break; - case RP_RT: aMtrAngle.SetUserValue( 4500, FUNIT_NONE ); break; - case RP_LM: aMtrAngle.SetUserValue( 18000, FUNIT_NONE ); break; - case RP_RM: aMtrAngle.SetUserValue( 0, FUNIT_NONE ); break; - case RP_LB: aMtrAngle.SetUserValue( 22500, FUNIT_NONE ); break; - case RP_MB: aMtrAngle.SetUserValue( 27000, FUNIT_NONE ); break; - case RP_RB: aMtrAngle.SetUserValue( 31500, FUNIT_NONE ); break; - case RP_MM: break; - } - } -} - -//------------------------------------------------------------------------ - -IMPL_LINK_NOARG(SvxAngleTabPage, ModifiedHdl) -{ - switch(aMtrAngle.GetValue()) - { - case 13500: aCtlAngle.SetActualRP( RP_LT ); break; - case 9000: aCtlAngle.SetActualRP( RP_MT ); break; - case 4500: aCtlAngle.SetActualRP( RP_RT ); break; - case 18000: aCtlAngle.SetActualRP( RP_LM ); break; - case 0: aCtlAngle.SetActualRP( RP_RM ); break; - case 22500: aCtlAngle.SetActualRP( RP_LB ); break; - case 27000: aCtlAngle.SetActualRP( RP_MB ); break; - case 31500: aCtlAngle.SetActualRP( RP_RB ); break; - default: aCtlAngle.SetActualRP( RP_MM ); break; - } - - return( 0L ); } /************************************************************************* |