Author: orw Date: Tue May 14 13:37:28 2013 New Revision: 1482331 URL: http://svn.apache.org/r1482331 Log: correct context switch handling in paragraph property panel and position and size property panel
Modified: openoffice/trunk/main/svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx openoffice/trunk/main/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx openoffice/trunk/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx Modified: openoffice/trunk/main/svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx?rev=1482331&r1=1482330&r2=1482331&view=diff ============================================================================== --- openoffice/trunk/main/svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx (original) +++ openoffice/trunk/main/svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx Tue May 14 13:37:28 2013 @@ -471,43 +471,38 @@ void ParaLineSpacingControl::Rearrange(S aLineDist.SaveValue(); - sal_uInt16 uCount = aLineDist.GetEntryCount(); - if( uCount == LLINESPACE_FIX + 1 ) - { - switch (currentContext.GetCombinedContext()) - { - case CombinedEnumContext(Application_Impress, Context_Table): - case CombinedEnumContext(Application_Draw, Context_Table): - case CombinedEnumContext(Application_Writer, Context_DrawText): - case CombinedEnumContext(Application_Calc, Context_DrawText): - case CombinedEnumContext(Application_Draw, Context_DrawText): - case CombinedEnumContext(Application_Impress, Context_DrawText): - case CombinedEnumContext(Application_Writer, Context_Annotation): - case CombinedEnumContext(Application_Draw, Context_Draw): - case CombinedEnumContext(Application_Draw, Context_TextObject): - case CombinedEnumContext(Application_Draw, Context_Graphic): - case CombinedEnumContext(Application_Impress, Context_Draw): - case CombinedEnumContext(Application_Impress, Context_TextObject): - case CombinedEnumContext(Application_Impress, Context_Graphic): - { - aLineDist.RemoveEntry(LLINESPACE_FIX); - } - } - } - else if( uCount == LLINESPACE_FIX) - { - switch (currentContext.GetCombinedContext()) - { - case CombinedEnumContext(Application_Writer, Context_Default): - case CombinedEnumContext(Application_Writer, Context_Text): - case CombinedEnumContext(Application_Writer, Context_Table): - { - aLineDist.InsertEntry(String::CreateFromAscii("Fixed"), LLINESPACE_FIX); - } - } - } - maLineSpacing.Format(); - maLineSpacing.StartSelection(); + const sal_uInt16 uCount = aLineDist.GetEntryCount(); + if( uCount == LLINESPACE_FIX + 1 ) + { + switch (currentContext.GetCombinedContext_DI()) + { + case CombinedEnumContext(Application_DrawImpress, Context_Table): + case CombinedEnumContext(Application_DrawImpress, Context_DrawText): + case CombinedEnumContext(Application_DrawImpress, Context_Draw): + case CombinedEnumContext(Application_DrawImpress, Context_TextObject): + case CombinedEnumContext(Application_DrawImpress, Context_Graphic): + case CombinedEnumContext(Application_Calc, Context_DrawText): + case CombinedEnumContext(Application_WriterVariants, Context_DrawText): + case CombinedEnumContext(Application_WriterVariants, Context_Annotation): + { + aLineDist.RemoveEntry(LLINESPACE_FIX); + } + } + } + else if( uCount == LLINESPACE_FIX) + { + switch (currentContext.GetCombinedContext_DI()) + { + case CombinedEnumContext(Application_WriterVariants, Context_Default): + case CombinedEnumContext(Application_WriterVariants, Context_Text): + case CombinedEnumContext(Application_WriterVariants, Context_Table): + { + aLineDist.InsertEntry(String::CreateFromAscii("Fixed"), LLINESPACE_FIX); + } + } + } + maLineSpacing.Format(); + maLineSpacing.StartSelection(); } void ParaLineSpacingControl::SetAllNoSel() Modified: openoffice/trunk/main/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx?rev=1482331&r1=1482330&r2=1482331&view=diff ============================================================================== --- openoffice/trunk/main/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx (original) +++ openoffice/trunk/main/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx Tue May 14 13:37:28 2013 @@ -835,86 +835,86 @@ IMPL_LINK( ParaPropertyPanel, ModifyInde IMPL_LINK(ParaPropertyPanel, ClickIndent_IncDec_Hdl_Impl, ToolBox *, pControl) { - switch (pControl->GetCurItemId()) - { - case INDENT_INCREMENT: - { - switch (maContext.GetCombinedContext()) - { - case CombinedEnumContext(Application_Writer, Context_Default): - case CombinedEnumContext(Application_Writer, Context_Text): - case CombinedEnumContext(Application_Writer, Context_Table): - { - SfxBoolItem aMargin( SID_INC_INDENT, sal_True ); - GetBindings()->GetDispatcher()->Execute( - SID_INC_INDENT, SFX_CALLMODE_RECORD, &aMargin, 0L); - } - break; - default: - { - SvxLRSpaceItem aMargin( SID_ATTR_PARA_LRSPACE ); - - maTxtLeft += INDENT_STEP; - sal_Int64 nVal = OutputDevice::LogicToLogic( maTxtLeft, (MapUnit)(SFX_MAPUNIT_TWIP), MAP_100TH_MM ); - nVal = OutputDevice::LogicToLogic( (long)nVal, MAP_100TH_MM, (MapUnit)m_eLRSpaceUnit ); - aMargin.SetTxtLeft( (const long)nVal ); - aMargin.SetRight( (const long)GetCoreValue( *maRightIndent.get(), m_eLRSpaceUnit ) ); - aMargin.SetTxtFirstLineOfst( (const short)GetCoreValue( *maFLineIndent.get(), m_eLRSpaceUnit ) ); - - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_PARA_LRSPACE, SFX_CALLMODE_RECORD, &aMargin, 0L); - } - } - } - break; - case INDENT_DECREMENT: - { - switch (maContext.GetCombinedContext()) - { - case CombinedEnumContext(Application_Writer, Context_Default): - case CombinedEnumContext(Application_Writer, Context_Text): - case CombinedEnumContext(Application_Writer, Context_Table): - { - SfxBoolItem aMargin( SID_DEC_INDENT, sal_True ); - GetBindings()->GetDispatcher()->Execute( - SID_DEC_INDENT, SFX_CALLMODE_RECORD, &aMargin, 0L); - } - break; - default: - { - if((maTxtLeft - INDENT_STEP) < 0) - maTxtLeft = DEFAULT_VALUE; - else - maTxtLeft -= INDENT_STEP; - - SvxLRSpaceItem aMargin( SID_ATTR_PARA_LRSPACE ); - - sal_Int64 nVal = OutputDevice::LogicToLogic( maTxtLeft, (MapUnit)(SFX_MAPUNIT_TWIP), MAP_100TH_MM ); - nVal = OutputDevice::LogicToLogic( (long)nVal, MAP_100TH_MM, (MapUnit)m_eLRSpaceUnit ); - - aMargin.SetTxtLeft( (const long)nVal ); - aMargin.SetRight( (const long)GetCoreValue( *maRightIndent.get(), m_eLRSpaceUnit ) ); - aMargin.SetTxtFirstLineOfst( (const short)GetCoreValue( *maFLineIndent.get(), m_eLRSpaceUnit ) ); - - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_PARA_LRSPACE, SFX_CALLMODE_RECORD, &aMargin, 0L); - } - } - } - break; - case ID_HANGING_INDENT: - { - SvxLRSpaceItem aMargin( SID_ATTR_PARA_LRSPACE ); - aMargin.SetTxtLeft( (const long)GetCoreValue( *maLeftIndent.get(), m_eLRSpaceUnit ) + (const short)GetCoreValue( *maFLineIndent.get(), m_eLRSpaceUnit ) ); - aMargin.SetRight( (const long)GetCoreValue( *maRightIndent.get(), m_eLRSpaceUnit ) ); - aMargin.SetTxtFirstLineOfst( ((const short)GetCoreValue( *maFLineIndent.get(), m_eLRSpaceUnit ))*(-1) ); + switch (pControl->GetCurItemId()) + { + case INDENT_INCREMENT: + { + switch (maContext.GetCombinedContext_DI()) + { + case CombinedEnumContext(Application_WriterVariants, Context_Default): + case CombinedEnumContext(Application_WriterVariants, Context_Text): + case CombinedEnumContext(Application_WriterVariants, Context_Table): + { + SfxBoolItem aMargin( SID_INC_INDENT, sal_True ); + GetBindings()->GetDispatcher()->Execute( + SID_INC_INDENT, SFX_CALLMODE_RECORD, &aMargin, 0L); + } + break; + default: + { + SvxLRSpaceItem aMargin( SID_ATTR_PARA_LRSPACE ); + + maTxtLeft += INDENT_STEP; + sal_Int64 nVal = OutputDevice::LogicToLogic( maTxtLeft, (MapUnit)(SFX_MAPUNIT_TWIP), MAP_100TH_MM ); + nVal = OutputDevice::LogicToLogic( (long)nVal, MAP_100TH_MM, (MapUnit)m_eLRSpaceUnit ); + aMargin.SetTxtLeft( (const long)nVal ); + aMargin.SetRight( (const long)GetCoreValue( *maRightIndent.get(), m_eLRSpaceUnit ) ); + aMargin.SetTxtFirstLineOfst( (const short)GetCoreValue( *maFLineIndent.get(), m_eLRSpaceUnit ) ); + + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_PARA_LRSPACE, SFX_CALLMODE_RECORD, &aMargin, 0L); + } + } + } + break; + case INDENT_DECREMENT: + { + switch (maContext.GetCombinedContext_DI()) + { + case CombinedEnumContext(Application_WriterVariants, Context_Default): + case CombinedEnumContext(Application_WriterVariants, Context_Text): + case CombinedEnumContext(Application_WriterVariants, Context_Table): + { + SfxBoolItem aMargin( SID_DEC_INDENT, sal_True ); + GetBindings()->GetDispatcher()->Execute( + SID_DEC_INDENT, SFX_CALLMODE_RECORD, &aMargin, 0L); + } + break; + default: + { + if((maTxtLeft - INDENT_STEP) < 0) + maTxtLeft = DEFAULT_VALUE; + else + maTxtLeft -= INDENT_STEP; + + SvxLRSpaceItem aMargin( SID_ATTR_PARA_LRSPACE ); + + sal_Int64 nVal = OutputDevice::LogicToLogic( maTxtLeft, (MapUnit)(SFX_MAPUNIT_TWIP), MAP_100TH_MM ); + nVal = OutputDevice::LogicToLogic( (long)nVal, MAP_100TH_MM, (MapUnit)m_eLRSpaceUnit ); + + aMargin.SetTxtLeft( (const long)nVal ); + aMargin.SetRight( (const long)GetCoreValue( *maRightIndent.get(), m_eLRSpaceUnit ) ); + aMargin.SetTxtFirstLineOfst( (const short)GetCoreValue( *maFLineIndent.get(), m_eLRSpaceUnit ) ); + + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_PARA_LRSPACE, SFX_CALLMODE_RECORD, &aMargin, 0L); + } + } + } + break; + case ID_HANGING_INDENT: + { + SvxLRSpaceItem aMargin( SID_ATTR_PARA_LRSPACE ); + aMargin.SetTxtLeft( (const long)GetCoreValue( *maLeftIndent.get(), m_eLRSpaceUnit ) + (const short)GetCoreValue( *maFLineIndent.get(), m_eLRSpaceUnit ) ); + aMargin.SetRight( (const long)GetCoreValue( *maRightIndent.get(), m_eLRSpaceUnit ) ); + aMargin.SetTxtFirstLineOfst( ((const short)GetCoreValue( *maFLineIndent.get(), m_eLRSpaceUnit ))*(-1) ); - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_PARA_LRSPACE, SFX_CALLMODE_RECORD, &aMargin, 0L); - } - break; - } - return( 0L ); + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_PARA_LRSPACE, SFX_CALLMODE_RECORD, &aMargin, 0L); + } + break; + } + return( 0L ); } IMPL_LINK(ParaPropertyPanel, ClickProDemote_Hdl_Impl, ToolBox *, pControl) @@ -1174,160 +1174,146 @@ void ParaPropertyPanel::StateChangedAlig void ParaPropertyPanel::StateChangedIndentImpl( sal_uInt16 /* nSID */, SfxItemState eState, const SfxPoolItem* pState ) { - switch (maContext.GetCombinedContext()) - { - - case CombinedEnumContext(Application_Writer, Context_DrawText): - case CombinedEnumContext(Application_Calc, Context_DrawText): - case CombinedEnumContext(Application_Writer, Context_Annotation): - { - maLeftIndent->SetMin( DEFAULT_VALUE ); - maRightIndent->SetMin( DEFAULT_VALUE ); - maFLineIndent->SetMin( DEFAULT_VALUE ); - maTbxIndent_IncDec->Show(); - maTbxProDemote->Hide(); - } - break; - case CombinedEnumContext(Application_Draw, Context_DrawText): - case CombinedEnumContext(Application_Impress, Context_DrawText): - case CombinedEnumContext(Application_Draw, Context_Draw): - case CombinedEnumContext(Application_Draw, Context_TextObject): - case CombinedEnumContext(Application_Draw, Context_Graphic): - case CombinedEnumContext(Application_Impress, Context_Draw): - case CombinedEnumContext(Application_Impress, Context_TextObject): - case CombinedEnumContext(Application_Impress, Context_Graphic): - case CombinedEnumContext(Application_Impress, Context_Table): - case CombinedEnumContext(Application_Draw, Context_Table): - { - maLeftIndent->SetMin( DEFAULT_VALUE ); - maRightIndent->SetMin( DEFAULT_VALUE ); - maFLineIndent->SetMin( DEFAULT_VALUE ); - maTbxIndent_IncDec->Hide(); - maTbxProDemote->Show(); - } - break; - case CombinedEnumContext(Application_Writer, Context_Default): - case CombinedEnumContext(Application_Writer, Context_Text): - case CombinedEnumContext(Application_Writer, Context_Table): - { - maLeftIndent->SetMin( NEGA_MAXVALUE, FUNIT_100TH_MM ); - maRightIndent->SetMin( NEGA_MAXVALUE, FUNIT_100TH_MM ); - maFLineIndent->SetMin( NEGA_MAXVALUE, FUNIT_100TH_MM ); - maTbxIndent_IncDec->Show(); - maTbxProDemote->Hide(); - } - break; - } + switch (maContext.GetCombinedContext_DI()) + { - if( pState && eState >= SFX_ITEM_AVAILABLE ) - { - SvxLRSpaceItem* pSpace = ( SvxLRSpaceItem*)pState; - maTxtLeft = pSpace->GetTxtLeft(); - maTxtLeft = OutputDevice::LogicToLogic( maTxtLeft, (MapUnit)m_eLRSpaceUnit, MAP_100TH_MM ); - maTxtLeft = OutputDevice::LogicToLogic( maTxtLeft, MAP_100TH_MM, (MapUnit)(SFX_MAPUNIT_TWIP) ); - - long aTxtRight = pSpace->GetRight(); - aTxtRight = OutputDevice::LogicToLogic( aTxtRight, (MapUnit)m_eLRSpaceUnit, MAP_100TH_MM ); - aTxtRight = OutputDevice::LogicToLogic( aTxtRight, MAP_100TH_MM, (MapUnit)(SFX_MAPUNIT_TWIP) ); - - long aTxtFirstLineOfst = pSpace->GetTxtFirstLineOfst(); - aTxtFirstLineOfst = OutputDevice::LogicToLogic( aTxtFirstLineOfst, (MapUnit)m_eLRSpaceUnit, MAP_100TH_MM ); - aTxtFirstLineOfst = OutputDevice::LogicToLogic( aTxtFirstLineOfst, MAP_100TH_MM, (MapUnit)(SFX_MAPUNIT_TWIP) ); - - long nVal = OutputDevice::LogicToLogic( maTxtLeft, (MapUnit)(SFX_MAPUNIT_TWIP), MAP_100TH_MM ); - nVal = (long)maLeftIndent->Normalize( (long)nVal ); - maLeftIndent->SetValue( nVal, FUNIT_100TH_MM ); - - if(maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Text) && - maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Default) && - maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Table)) - { - maFLineIndent->SetMin( nVal*(-1), FUNIT_100TH_MM ); - } + case CombinedEnumContext(Application_WriterVariants, Context_DrawText): + case CombinedEnumContext(Application_WriterVariants, Context_Annotation): + case CombinedEnumContext(Application_Calc, Context_DrawText): + { + maLeftIndent->SetMin( DEFAULT_VALUE ); + maRightIndent->SetMin( DEFAULT_VALUE ); + maFLineIndent->SetMin( DEFAULT_VALUE ); + maTbxIndent_IncDec->Show(); + maTbxProDemote->Hide(); + } + break; + case CombinedEnumContext(Application_DrawImpress, Context_DrawText): + case CombinedEnumContext(Application_DrawImpress, Context_Draw): + case CombinedEnumContext(Application_DrawImpress, Context_TextObject): + case CombinedEnumContext(Application_DrawImpress, Context_Graphic): + case CombinedEnumContext(Application_DrawImpress, Context_Table): + { + maLeftIndent->SetMin( DEFAULT_VALUE ); + maRightIndent->SetMin( DEFAULT_VALUE ); + maFLineIndent->SetMin( DEFAULT_VALUE ); + maTbxIndent_IncDec->Hide(); + maTbxProDemote->Show(); + } + break; + case CombinedEnumContext(Application_WriterVariants, Context_Default): + case CombinedEnumContext(Application_WriterVariants, Context_Text): + case CombinedEnumContext(Application_WriterVariants, Context_Table): + { + maLeftIndent->SetMin( NEGA_MAXVALUE, FUNIT_100TH_MM ); + maRightIndent->SetMin( NEGA_MAXVALUE, FUNIT_100TH_MM ); + maFLineIndent->SetMin( NEGA_MAXVALUE, FUNIT_100TH_MM ); + maTbxIndent_IncDec->Show(); + maTbxProDemote->Hide(); + } + break; + } + + if( pState && eState >= SFX_ITEM_AVAILABLE ) + { + SvxLRSpaceItem* pSpace = ( SvxLRSpaceItem*)pState; + maTxtLeft = pSpace->GetTxtLeft(); + maTxtLeft = OutputDevice::LogicToLogic( maTxtLeft, (MapUnit)m_eLRSpaceUnit, MAP_100TH_MM ); + maTxtLeft = OutputDevice::LogicToLogic( maTxtLeft, MAP_100TH_MM, (MapUnit)(SFX_MAPUNIT_TWIP) ); + + long aTxtRight = pSpace->GetRight(); + aTxtRight = OutputDevice::LogicToLogic( aTxtRight, (MapUnit)m_eLRSpaceUnit, MAP_100TH_MM ); + aTxtRight = OutputDevice::LogicToLogic( aTxtRight, MAP_100TH_MM, (MapUnit)(SFX_MAPUNIT_TWIP) ); + + long aTxtFirstLineOfst = pSpace->GetTxtFirstLineOfst(); + aTxtFirstLineOfst = OutputDevice::LogicToLogic( aTxtFirstLineOfst, (MapUnit)m_eLRSpaceUnit, MAP_100TH_MM ); + aTxtFirstLineOfst = OutputDevice::LogicToLogic( aTxtFirstLineOfst, MAP_100TH_MM, (MapUnit)(SFX_MAPUNIT_TWIP) ); + + long nVal = OutputDevice::LogicToLogic( maTxtLeft, (MapUnit)(SFX_MAPUNIT_TWIP), MAP_100TH_MM ); + nVal = (long)maLeftIndent->Normalize( (long)nVal ); + maLeftIndent->SetValue( nVal, FUNIT_100TH_MM ); + + if ( maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Text) + && maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Default) + && maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Table)) + { + maFLineIndent->SetMin( nVal*(-1), FUNIT_100TH_MM ); + } - long nrVal = OutputDevice::LogicToLogic( aTxtRight, (MapUnit)(SFX_MAPUNIT_TWIP), MAP_100TH_MM ); - nrVal = (long)maRightIndent->Normalize( (long)nrVal ); - maRightIndent->SetValue( nrVal, FUNIT_100TH_MM ); - - long nfVal = OutputDevice::LogicToLogic( aTxtFirstLineOfst, (MapUnit)(SFX_MAPUNIT_TWIP), MAP_100TH_MM ); - nfVal = (long)maFLineIndent->Normalize( (long)nfVal ); - maFLineIndent->SetValue( nfVal, FUNIT_100TH_MM ); + long nrVal = OutputDevice::LogicToLogic( aTxtRight, (MapUnit)(SFX_MAPUNIT_TWIP), MAP_100TH_MM ); + nrVal = (long)maRightIndent->Normalize( (long)nrVal ); + maRightIndent->SetValue( nrVal, FUNIT_100TH_MM ); + + long nfVal = OutputDevice::LogicToLogic( aTxtFirstLineOfst, (MapUnit)(SFX_MAPUNIT_TWIP), MAP_100TH_MM ); + nfVal = (long)maFLineIndent->Normalize( (long)nfVal ); + maFLineIndent->SetValue( nfVal, FUNIT_100TH_MM ); - switch (maContext.GetCombinedContext()) - { - case CombinedEnumContext(Application_Writer, Context_DrawText): - case CombinedEnumContext(Application_Writer, Context_Text): - case CombinedEnumContext(Application_Writer, Context_Default): - case CombinedEnumContext(Application_Writer, Context_Table): - case CombinedEnumContext(Application_Writer, Context_Annotation): - { - maLeftIndent->SetMax( MAX_SW - nrVal, FUNIT_100TH_MM ); - maRightIndent->SetMax( MAX_SW - nVal, FUNIT_100TH_MM ); - maFLineIndent->SetMax( MAX_SW - nVal - nrVal, FUNIT_100TH_MM ); - } - break; - case CombinedEnumContext(Application_Draw, Context_DrawText): - case CombinedEnumContext(Application_Draw, Context_Draw): - case CombinedEnumContext(Application_Draw, Context_Table): - case CombinedEnumContext(Application_Draw, Context_TextObject): - case CombinedEnumContext(Application_Draw, Context_Graphic): - case CombinedEnumContext(Application_Impress, Context_TextObject): - case CombinedEnumContext(Application_Impress, Context_DrawText): - case CombinedEnumContext(Application_Impress, Context_Table): - case CombinedEnumContext(Application_Impress, Context_Draw): - case CombinedEnumContext(Application_Impress, Context_Graphic): - { - maLeftIndent->SetMax( MAX_SC_SD - nrVal, FUNIT_100TH_MM ); - maRightIndent->SetMax( MAX_SC_SD - nVal, FUNIT_100TH_MM ); - maFLineIndent->SetMax( MAX_SC_SD - nVal - nrVal, FUNIT_100TH_MM ); - } - } + switch (maContext.GetCombinedContext_DI()) + { + case CombinedEnumContext(Application_WriterVariants, Context_DrawText): + case CombinedEnumContext(Application_WriterVariants, Context_Text): + case CombinedEnumContext(Application_WriterVariants, Context_Default): + case CombinedEnumContext(Application_WriterVariants, Context_Table): + case CombinedEnumContext(Application_WriterVariants, Context_Annotation): + { + maLeftIndent->SetMax( MAX_SW - nrVal, FUNIT_100TH_MM ); + maRightIndent->SetMax( MAX_SW - nVal, FUNIT_100TH_MM ); + maFLineIndent->SetMax( MAX_SW - nVal - nrVal, FUNIT_100TH_MM ); + } + break; + case CombinedEnumContext(Application_DrawImpress, Context_DrawText): + case CombinedEnumContext(Application_DrawImpress, Context_Draw): + case CombinedEnumContext(Application_DrawImpress, Context_Table): + case CombinedEnumContext(Application_DrawImpress, Context_TextObject): + case CombinedEnumContext(Application_DrawImpress, Context_Graphic): + { + maLeftIndent->SetMax( MAX_SC_SD - nrVal, FUNIT_100TH_MM ); + maRightIndent->SetMax( MAX_SC_SD - nVal, FUNIT_100TH_MM ); + maFLineIndent->SetMax( MAX_SC_SD - nVal - nrVal, FUNIT_100TH_MM ); + } + } maTbxIndent_IncDec->Enable(); maTbxIndent_IncDec->EnableItem(ID_HANGING_INDENT, sal_True); - if ( maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Text) - && maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Default) - && maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Table) ) + if ( maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Text) + && maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Default) + && maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Table) ) { maTbxIndent_IncDec->EnableItem(BT_TBX_INDENT_INC, sal_True); maTbxIndent_IncDec->EnableItem(BT_TBX_INDENT_DEC, sal_True); } -// maTbxProDemote->Enable(); -// if( !mbOutLineRight && !mbOutLineLeft ) -// maTbxProDemote->EnableItem(SD_HANGING_INDENT, sal_True); - maTbxProDemote->EnableItem(SD_HANGING_INDENT, sal_True); - } - else if( eState == SFX_ITEM_DISABLED ) - { - maLeftIndent-> Disable(); - maRightIndent->Disable(); - maFLineIndent->Disable(); - maTbxIndent_IncDec->Disable(); - if( maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Text) && - maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Default) && - maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Table) ) - maTbxIndent_IncDec->Disable(); - else - maTbxIndent_IncDec->EnableItem(ID_HANGING_INDENT, sal_False); + maTbxProDemote->EnableItem(SD_HANGING_INDENT, sal_True); + } + else if( eState == SFX_ITEM_DISABLED ) + { + maLeftIndent-> Disable(); + maRightIndent->Disable(); + maFLineIndent->Disable(); + maTbxIndent_IncDec->Disable(); + if( maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Text) && + maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Default) && + maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Table) ) + maTbxIndent_IncDec->Disable(); + else + maTbxIndent_IncDec->EnableItem(ID_HANGING_INDENT, sal_False); -// maTbxProDemote->Disable(); - maTbxProDemote->EnableItem(SD_HANGING_INDENT, sal_False); - } - else - { - maLeftIndent->SetEmptyFieldValue(); - maRightIndent->SetEmptyFieldValue(); - maFLineIndent->SetEmptyFieldValue(); - if( maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Text) && - maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Default) && - maContext.GetCombinedContext() != CombinedEnumContext(Application_Writer, Context_Table) ) - maTbxIndent_IncDec->Disable(); - else - maTbxIndent_IncDec->EnableItem(ID_HANGING_INDENT, sal_False); -// maTbxProDemote->Disable(); - maTbxProDemote->EnableItem(SD_HANGING_INDENT, sal_False); - } + // maTbxProDemote->Disable(); + maTbxProDemote->EnableItem(SD_HANGING_INDENT, sal_False); + } + else + { + maLeftIndent->SetEmptyFieldValue(); + maRightIndent->SetEmptyFieldValue(); + maFLineIndent->SetEmptyFieldValue(); + if( maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Text) && + maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Default) && + maContext.GetCombinedContext_DI() != CombinedEnumContext(Application_WriterVariants, Context_Table) ) + maTbxIndent_IncDec->Disable(); + else + maTbxIndent_IncDec->EnableItem(ID_HANGING_INDENT, sal_False); + maTbxProDemote->EnableItem(SD_HANGING_INDENT, sal_False); + } } void ParaPropertyPanel::StateChangedLnSPImpl( sal_uInt16 /* nSID */, SfxItemState eState, const SfxPoolItem* pState ) @@ -1412,9 +1398,9 @@ void ParaPropertyPanel::StateChangeOutLi void ParaPropertyPanel::StateChangeIncDecImpl( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState ) { - if ( ( maContext.GetCombinedContext() == CombinedEnumContext(Application_Writer, Context_Text) - || maContext.GetCombinedContext() == CombinedEnumContext(Application_Writer, Context_Default) - || maContext.GetCombinedContext() == CombinedEnumContext(Application_Writer, Context_Table) ) + if ( ( maContext.GetCombinedContext_DI() == CombinedEnumContext(Application_WriterVariants, Context_Text) + || maContext.GetCombinedContext_DI() == CombinedEnumContext(Application_WriterVariants, Context_Default) + || maContext.GetCombinedContext_DI() == CombinedEnumContext(Application_WriterVariants, Context_Table) ) && ( nSID == SID_INC_INDENT || nSID == SID_DEC_INDENT ) ) { // Writer's text shell is the only one which provides reasonable states for Slots SID_INC_INDENT and SID_DEC_INDENT Modified: openoffice/trunk/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx?rev=1482331&r1=1482330&r2=1482331&view=diff ============================================================================== --- openoffice/trunk/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx (original) +++ openoffice/trunk/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx Tue May 14 13:37:28 2013 @@ -1043,12 +1043,11 @@ void PosSizePropertyPanel::executeSize() SfxUInt32Item aWidthItem( SID_ATTR_TRANSFORM_WIDTH, (sal_uInt32) lWidth); SfxUInt32Item aHeightItem( SID_ATTR_TRANSFORM_HEIGHT, (sal_uInt32) lHeight); SfxAllEnumItem aPointItem (SID_ATTR_TRANSFORM_SIZE_POINT, (sal_uInt16)meRP); - const sal_Int32 nCombinedContext(maContext.GetCombinedContext()); + const sal_Int32 nCombinedContext(maContext.GetCombinedContext_DI()); - if( nCombinedContext == CombinedEnumContext(Application_Writer, Context_Graphic) // mnContextId == PROPERTY_CONTEXT_SW_GRAPHIC - || nCombinedContext == CombinedEnumContext(Application_Writer, Context_OLE) //mnContextId == PROPERTY_CONTEXT_SW_OLE + if( nCombinedContext == CombinedEnumContext(Application_WriterVariants, Context_Graphic) + || nCombinedContext == CombinedEnumContext(Application_WriterVariants, Context_OLE) ) - // if( mnContextId == PROPERTY_CONTEXT_SW_GRAPHIC || mnContextId == PROPERTY_CONTEXT_SW_OLE ) { GetBindings()->GetDispatcher()->Execute(SID_ATTR_TRANSFORM, SFX_CALLMODE_RECORD, &aWidthItem, &aHeightItem, &aPointItem, 0L ); }