summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdedxv.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/svdraw/svdedxv.cxx')
-rw-r--r--svx/source/svdraw/svdedxv.cxx32
1 files changed, 32 insertions, 0 deletions
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index cb1c00feb61d..6134278eddb8 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -1810,6 +1810,38 @@ void SdrObjEditView::OnEndPasteOrDrop( PasteOrDropInfos* )
// applications can derive from these virtual methods to do something before a drop or paste operation
}
+sal_uInt16 SdrObjEditView::GetSelectionLevel() const
+{
+ sal_uInt16 nLevel = 0xFFFF;
+ if( IsTextEdit() )
+ {
+ DBG_ASSERT(pTextEditOutlinerView!=NULL,"SdrObjEditView::GetAttributes(): pTextEditOutlinerView=NULL");
+ DBG_ASSERT(pTextEditOutliner!=NULL,"SdrObjEditView::GetAttributes(): pTextEditOutliner=NULL");
+ if( pTextEditOutlinerView )
+ {
+ //start and end position
+ ESelection aSelect = pTextEditOutlinerView->GetSelection();
+ sal_uInt16 nStartPara = ::std::min( aSelect.nStartPara, aSelect.nEndPara );
+ sal_uInt16 nEndPara = ::std::max( aSelect.nStartPara, aSelect.nEndPara );
+ //get level from each paragraph
+ nLevel = 0;
+ for( sal_uInt16 nPara = nStartPara; nPara <= nEndPara; nPara++ )
+ {
+ sal_uInt16 nParaDepth = 1 << pTextEditOutliner->GetDepth( nPara );
+ if( !(nLevel & nParaDepth) )
+ nLevel += nParaDepth;
+ }
+ //reduce one level for Outliner Object
+ //if( nLevel > 0 && GetTextEditObject()->GetObjIdentifier() == OBJ_OUTLINETEXT )
+ // nLevel = nLevel >> 1;
+ //no bullet paragraph selected
+ if( nLevel == 0)
+ nLevel = 0xFFFF;
+ }
+ }
+ return nLevel;
+}
+
bool SdrObjEditView::SupportsFormatPaintbrush( sal_uInt32 nObjectInventor, sal_uInt16 nObjectIdentifier ) const
{
if( nObjectInventor != SdrInventor && nObjectInventor != E3dInventor )