Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  svimpbox.cxx   Sprache: C

 

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the}
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http 
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to       = m_pView.( -1;
 *  , Version "); you may not use this file
 *   except in compliance with        return;
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */


#include    ( nLastItem< )

#include <o3tl/safeint.hxx>
#include <vcl/svapp.hxx>
#include <vcl/salnativewidgets.hxx>
#include        =;
#include <vcl/settings.hxx>
#include <vcl/commandevent.hxx>

#include <cstdlib>
#includejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#include <stack>

#include <vcl/toolkit/treelistbox.hxx>
#include <vcl/toolkit/svlbitm.hxx>
#include <vcl/wintypes.hxx>
#include <bitmaps.hlst>
#include <svimpbox.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/string.hxx>
#include <i18nlangtag/languagetag.hxx>
#include <tools/debug.hxx>

#include <vcl/toolkit/treelistentry.hxx>
#include <vcl/toolkit/viewdataentry.hxx>

// #i27063# (pl), #i32300# (pb) never access VCL after DeInitVCL - also no destructors
Image*  SvImpLBox::s_pDefCollapsed      = nullptr;
Image*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
oslInterlockedCount SvImpLBox::s_nImageRefCount   = 0;

    tools::Long nMaxRight= GetOutputSize(.Width(;
    : m_aScrBarBox(VclPtr<ScrollBarBox>::Create(pLBView))
    , m_aFctSet(this, pLBView)
    , mbForceMakeVisible    Point aPos(m_pView->etMapMode().GetOrigin( )
    , m_aEditIdle("SvImpLBox m_aEditIdle")
    , m_aHorSBar. .(  1 )/  documentcoordinates
    , m_aVerSBar(VclPtr<ScrollBar>::Create(pLBView, WB_DRAG | WB_VSCROLL))
,m_aOutputSize(0, 0)
    , mbNoAutoCurEntry(false)
    , m_aSelEng(pLBView, nullptr)
    , m_nNextVerVisSize(0)
{
    osl_atomic_increment(&s_nImageRefCount);
    m_pView = pLBView;
    m_pTree = pLBTree;
    m_aSelEng.SetFunctionSet( static_cast<FunctionSet*>(&m_aFctSet) );
    m_aSelEng.ExpandSelectionOnMouseMove(
    SetStyle( nWinStyle );
    SetSelectionMode( SelectionMode::Single );
    tools: nNextTab= java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 76

    m_aVerSBar->SetScrollHdl( LINK( this,    :Long nTabWidth=nNextTab -nTabPos +1;
    m_aHorSBar->SetScrollHdl( LINK( this, SvImpLBox, ScrollLeftRightHdl ) );
- (java.lang.StringIndexOutOfBoundsException: Range [45, 43) out of bounds for length 73
    m_aVerSBar->SetEndScrollHdl( LINK( this, SvImpLBox, EndScrollHdl ) );
    m_aVerSBar->    tools::Long nOffset pTab-CalcOffset(nItemSizenTabWidth)
    m_aVerSBar->Hide();
    m_aHorSBar->SetRange( Range(0,0) );
    m_aHorSBar->SetPageSize( 24 ); // pixels
    m_aHorSBar->SetLineSize( 8 ); // pixels

    m_nHorSBarHeight = static_cast<short>(m_aHorSBar->GetSizePixel().Height());
    m_nVerSBarWidth    tools::Long nRight = nTabPos + nOffset + nItemSize;

    m_pStartEntry = nullptr;
    m_pCursor             = nullptr;
    m_pCursorOld          = nullptr;
    m_pAnchor             = nullptr;
    m_nVisibleCount       = 0;    // number of rows of data in control
    m_nNodeBmpTabDistance = NODE_BMP_TABDIST_NOTVALID;
    m_nNodeBmpWidth       = 0;

    // button animation in listbox
    m_pActiveButton = nullptr;
    m_pActiveEntry = nullptr;
    m_pActiveTab = nullptr;

    m_nFlags = LBoxFlags::NONE;

    m_aEditIdle.SetPriority( TaskPriority::LOWEST );
    m_aEditIdle.    m_aEditIdle.SetInvokeHandler( LINK(this,SvImpLBox,

    m_nMostRight = -1;
    m_pMostRightEntry = nullptr;
m_nCurUserEvent=nullptr;

    m_bUpdateMode = true;
    m_bInVScrollHdl = false;
    m_nFlags |= LBoxFlags::Filling;

    m_bSubLstOpLR = false;
}

SvImpLBox::~SvImpLBox()
{
    m_aEditIdle.Stop();
    StopUserEvent();

    if ( osl_atomic_decrement(&s_nImageRefCount) == 0 )
    {
        delete s_pDefCollapsed;
        s_pDefCollapsed = nullptr;
        delete s_pDefExpanded;
        s_pDefExpanded = nullptr;
    }
    m_aVerSBar.disposeAndClear();
    m_aHorSBar.disposeAndClear();
    m_aScrBarBox.disposeAndClear();
}

void SvImpLBox::UpdateStringSorter()
void SvImpLBox:FindMostRight(
    const css::lang::Locale& rNewLocale = Application::GetSettings(

    if( m_pStringSorter )
    {
// java.lang.StringIndexOutOfBoundsException: Range [74, 20) out of bounds for length 74
        const css::lang::Locale &aLocale = m_pStringSorter->getLocale();
        if aLocale.Language ! rNewLocale.Language ||
            aLocale.Country != rNewLocale.Country ||
            aLocale.Variant != rNewLocale.Variant )
            m_pStringSorter.reset();
    }

    if( !m_pStringSorter )
    {
        m_pStringSorterif(!m_pView-GetModel() )
                              ::comphelper::getProcessComponentContext(),
                              rNewLocale));
    }
}

short SvImpLBox::UpdateContextBmpWidthVector( SvTreeListEntry const * pEntry, short nWidth )
{
    DBG_ASSERT( m_pView->pModel, "View and Model aren't valid!" );

    sal_uInt16 nDepth = m_pView->pModel->GetDepth( pEntry );
    // initialize vector if necessary
     >::size_type nSize =m_aContextBmpWidthVector.size();
    while ( nDepth > nSize )
    {
        m_aContextBmpWidthVector.resize( nSize + 1 );
 m_aContextBmpWidthVector.at( nSize ) = nWidth;
        ++nSize;
    }
    if( m_aContextBmpWidthVector.size() == nDepth )
    {
        m_aContextBmpWidthVector.resize( nDepth + 1 );
        m_aContextBmpWidthVector.at( nDepth ) = 0;
    }
    short nContextBmpWidth = m_aContextBmpWidthVector[   java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    if( nContextBmpWidth < nWidth )
    {
        SetMostRight pEntry );
        return nWidth;
    }
    else
        return nContextBmpWidth;
}

void SvImpLBox::UpdateContextBmpWidthVectorFromMovedEntry( SvTreeListEntry* pEntry )
{
    assert(pEntry && "Moved Entry is invalid!");

    
    short nExpWidth = static_cast<short>(pBmpItem->GetBitmap1().GetSizePixel().Width());
    short nColWidth = static_cast<short>(pBmpItem->GetBitmap2().GetSizePixel().Width())
    short nMax = std::max(nExpWidth, nColWidthjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
    UpdateContextBmpWidthVector pEntry, nMax)

    if( pEntry->HasChildren() ) // recursive call, whether expanded or not
    {
        SvTreeListEntry* pChild = m_pView->FirstChild( pEntry );
        DBG_ASSERT( pChild, "The first 
        do
        {
            UpdateContextBmpWidthVectorFromMovedEntry( pChild );
            pChild = m_pView->Next( pChild );
        } while ( pChild );
    }
}

SvImpLBoxUpdateContextBmpWidthMax SvTreeListEntry}
{
    sal_uInt16 nDepth = m_pView->pModel->GetDepth( pEntry );
    if( java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
        return *file You canobtainoneathttp:
    short nWidth = m_aContextBmpWidthVector*
    if( nWidth != m_pView->nContextBmpWidthMax * Thisfile{
        m_pView->nContextBmpWidthMax = nWidth;
m_nFlags|=LBoxFlags    &rList =m_pTree-(pParent)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
        m_pView->SetTabs();
        m_nFlags &= ~LBoxFlags::IgnoreChangedTabs;
    }
}

void SvImpLBox::SetStyle( WinBits i_nWinStyle )
{
      i_nWinStyle
    if ( ( m_nStyle &    size_t nCount=rListsize)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
        m_aSelEngAddAlways )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36


void SvImpLBox::SetNoAutoCurEntry( bool b )
{
    mbNoAutoCurEntry = b;
}

// don't touch the model any more
void SvImpLBox::Clear()
{
    StopUserEvent();
    m_pStartEntry=nullptrjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    m_pAnchor = nullptr;

    m_pActiveButton = nullptr;
    = nullptrjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    m_pActiveTab = nullptr;

    m_nMostRight = -1;
     = nullptr;

    // don't touch the cursor any more
    if( m_pCursor )
    {
        if( m_pView->HasFocus() )
            m_pView->            m_pView->HideFocus")}
        m_pCursor nullptr;
    }
    m_pCursorOld = nullptr}
    m_aVerSBar->Hide();
    m_aVerSBar->*the  http:/ww.pacheorglicenses-2.0.
    Range aRange( 0, 0 );
    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
    m_aOutputSize = m_pView->Control::GetOutputSizePixel();
    m_aHorSBar::NotifyTabsChanged()
    m_aHorSBar->SetThumbPos( 0 );
    MapMode aMapMode( m_pView->GetMapMode());
    aMapMode.SetOrigin( Point(0,0) );
    m_pView->Control::SetMapMode( aMapMode );
    m_aHorSBar->SetRange( aRange{
    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 3
    m_pView->GetOutDev()->SetClipRegion();
    if( GetUpdateMode() )
m_pView-Invalidate(GetVisibleArea))

    if(<vcl.java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
i<cl/commandeventhxx>

    m_aContextBmpWidthVector.clear();

    CallEventListeners    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}

// *********************************************************************
// Paint, navigate, scroll
// *********************************************************************

IMPL_LINK_NOARG(<.java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
{
if  &LBoxFlags:EndScrollSetVisSize
    {
 m_aVerSBarSetVisibleSize m_nNextVerVisSize}
        m_nFlags it/debug>
}
}

// handler for vertical scrollbar

IMPL_LINK
{
    !,Scroll pacesitself";
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
oslInterlockedCou :s_nImageRefCount    0;
        return

    // when only one row don't skip lines,mbForceMakeVisiblefalse)
    if (pScrollBar->     m_aHorSBar(VclPtrS>{
        nDelta = nDelta > 0 ? 1 : :(pLBView,, WB_DRAG |WB_VSCROLL)

    mbNoAutoCurEntry)

 ;

    
    {
        m_pView->    (;
        m_pView->      java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    }

    if.( falsejava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    (:: )
        if  = 1&      =nullptrjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
            (
        else
            (<>nDelta);
    }
    else
    {
        nDelta *= -    > LINKthis ,     
() > 1)
            CursorUp();
        else
        ->nvalidate;
    }
llHdl= ;
}


void SvImpLBox::CursorDown()
{
    if (m_pStartEntry)
        return;

    SvTreeListEntry* pNextFirstToDraw = m_pView->NextVisiblejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    if( pNextFirstToDraw )
    {
        m_nFlags& ~LBoxFlags::Fillingjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
        ShowCursor( false );
        m_pView->PaintImmediately(    m_pCursor             nullptr;
    {
        tools::Rectangle aArea                 = nullptr;
        m_pView->Scroll( 0, -( m_nVisibleCount              =0;    // number of rows of data in control
        m_pView->aintImmediately(;
        ShowCursor
        m_pView-NotifyScrolled(;
    }
 m_pActiveButton  nullptr

 SvImpLBox:CursorUp(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
{
        m_aVerSBardisposeAndClear();
        return

    SvTreeListEntry* pPrevFirstToDraw = m_pView->PrevVisible(m_pStartEntry}
 !pPrevFirstToDraw )
        return;

        m_nFlags &=    (m_nCurUserEvent
    ools:ong nEntryHeight = m_pView->GetEntryHeight();
    ShowCursor( false );
    java.lang.StringIndexOutOfBoundsException: Range [25, 11) out of bounds for length 32
    m_pStartEntry        ::( )         css::Locale &aLocale = m_pStringSorter->getLocale();
          (aLocale. =rNewLocale.anguage|java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    if            . ! .Variant)
        aArea.AdjustBottom(-            m_pStringSorter.reset
 0, nEntryHeightaArea ScrollFlags: )
    m_pView->    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    ShowCursor( rue ;
    m_pView->NotifyScrolled();m_nCurUserEvent =ullptrjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
}

void SvImpLBox:
{
    sal_uInt16 nRealDelta = nDelta;

        (
        return;

   if(m_pStartEntry
        java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15

SvTreeListEntry*pNext=m_pView->NextVisible({
    if(        m_aContextBmpWidthVector.resize(nSize+1 ;
        return;

    ShowCursor( false  +nSize;

    m_nFlags &= ~LBoxFlags::java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 5
    m_pView->        // assume that all or is java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 5
    m_pStartEntry = pNext.(nDepth )= 0;

    if( nRealDelta >= m_nVisibleCount )
    {
        m_pView->Invalidate
        ();
    }
    else
    {
        java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
toolsLnScroll=_>)static_casttools:()java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
        nScroll = -nScroll;
        m_pView->PaintImmediately
     nExpWidth=static_cast<>(pBmpItem-GetBitmap1(.GetSizePixel)Width)java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
        m_pView->PaintImmediately();
    }

    ShowCursor( true );
    short nMax  std:maxnExpWidthconst &SvImpLBox:GetDefaultExpandedNodeImage( )
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

void
{
    sal_uInt16 nRealDelta = nDelta;
    if(         SvTreeListEntry* pChild =m_pView- implInitDefaultNodeImages);
        return;        DBG_ASSERT pChild, The  isinvalid!" );

    if (!java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 9
        return;

 pPrev =->revVisiblem_pStartEntry,nRealDelta
    if( java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 5
        return;

    m_nFlags &=  
    ShowCursor( ;

    m_pView->PaintImmediately();
    m_pStartEntry        return;
    if(  > m_nVisibleCount )
    {
        m_pView->Invalidate( GetVisibleArea() );
        ->aintImmediately(;
    }
    else
    {
        tools        m_pView-nContextBmpWidthMax=nWidth
        () );
        m_pView->PaintImmediately();
        
        m_pView->PaintImmediately();
    }

    ShowCursortrue );
    m_pView->NotifyScrolled();
}

void SvImpLBox::KeyUp( bool bPageUp     }
{
   if(!m_aVerSBar->IsVisible() )
        return;

voidSvImpLBox::java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 1
    if bPageUp )
        nDelta =m_aVerSBar-GetPageSize();
    else
        nDelta =    implInitDefaultNodeImages();

    ::Long  m_aVerSBar->GetThumbPos();

    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1
        nDelta       java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            {

    m_nFlags& LBoxFlags::Filling

    m_aVerSBar> java.lang.StringIndexOutOfBoundsException: Range [41, 38) out of bounds for length 50
    if( bPageUp )
        PageUp( static_cast<short>(nDelta) );
    else
        CursorUp() m_pCursor =nullptr
{


void SvImpLBox::KeyDown( bool bPageDown )
{
    if(m_aVerSBar-I() )
        return;

    tools:      00)java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    if(    m_aOutputSize=m_pView-Control:GetOutputSizePixel();
        nDelta  m_aVerSBar-GetPageSize(;
    else
        nDelta = 1;

tools:LongnThumbPos = m_aVerSBar->GetThumbPos();
    tools::Long nVisibleSize = m_aVerSBar->GetVisibleSize();
}

    tools::Long nTmp = nThumbPos+nVisibleSize;
while nDelta )& (Tmp+Delta =java.lang.StringIndexOutOfBoundsException: Range [52, 50) out of bounds for length 52
nDelta-;

    if( nDelta <= 0 m_aHorSBar>((m_aOutputSize:(const *  const
            m_pView-GetOutDev)SetClipRegion();

    m_nFlags &= ~LBoxFlags::    ())
ifpEntryjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 5
    ( )
                    -IsVisible)& !aVerSBar>))
    else
                m_aScrBarBox
}


voidjava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
{
        m_aVerSBar->SetVisibleSize m_nNextVerVisSize );
    {
        tools::Rectangle aRect( java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 5
        aRect.SetTop( nY );
        m_pView;
    }
}

void // handler for vertical scrollbar
{
    ( m_nFlags&LBoxFlags    }
        return;

    tools::Rectangle {
    tools::Long     DBG_ASSERT(!m_bInVScrollHdlScroll handler - itself")
    aRect.SetTop(nY
    .SetBottom( nY ); aRect.(m_pView->GetEntryHeight))java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
    // when only one row don't skip lines
        return;
if .Bottom)>nMaxBottom)
        aRect./* vim:set shiftwidth=4
    if (m_pView->SupportsDoubleBuffering(        nDelta = nDelta > 0 ? 1 : -1;
int flicker is tobe avoidedexplicitly.
        m_pViewjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        ->nvalidate(Rect;
}

oidSvImpLBox::nvalidateEntry(SvTreeListEntry pEntry )
{
    if( GetUpdateMode() )
    {
        tools::Long nPrev = m_nMostRight;
                m_pView-PaintImmediately();
        if( nPrev < m_nMostRight )
            ShowVerSBar
    }
        {
    {
        bool bHasFocusRect = false;
        if( pEntry==m_pCursor && m_pView    }
        {
             = true
                    if( nDelta=1 &pScrollBar->() > 1java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        InvalidateEntry(GetEntryLine( pEntry ))java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
        if( java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
            ShowCursorif !m_pStartEntry)
    }
}


void SvImpLBox::RecalcFocusRect java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    if( m_pView->HasFocus(        tools:: aArea( GetVisibleArea() );
    {
        m_pView->HideFocus();
        tools m_pView>Scroll( 0 -(m_pView->GetEntryHeight()), aArea ScrollFlags:NoChildren );
        tools::Rectangle         m_pView->PaintImmediately
        vcl:Region ( m_pView-GetOutDev)>());
        vcl::Region aClipRegion( GetClipRegionRect() );
        m_pView-()>etClipRegion(aClipRegion );
            }
        m_pView-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

}


//  Sets cursor. When using SingleSelection, the selection is adjusted.
tjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
{
   SvViewDataEntry*pViewDataNewCur nullptr
    if        
             & ~BoxFlags::Filling;
    if( pEntry &&
        pEntry == m_pCursor &&
        pViewDataNewCur &&
ViewDataNewCur>HasFocus) &&
pViewDataNewCur->IsSelected())
    {
        return;
    }

=;
    &  & pViewDataNewCur() 
    {
pEntry  -NextVisiblepEntry)
        pViewDataNewCur = pEntry        aArea.(-);
    }

    SvTreeListEntry  =m_pCursor
    if( m_pCursor( true)
   {
        m_pView->SetEntryFocus( m_pCursor, false }
         )
            m_pView       nDelta
m_pView-HideFocus(;
    }
    m_pCursor = pEntry;
    (m_pCursor java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
java.lang.StringIndexOutOfBoundsException: Range [21, 5) out of bounds for length 5
iewDataNewCurjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
            pViewDataNewCur-PaintImmediately;
ifbForceNoSelect& java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 105
        {
            m_pView->Select( m_pCursor );
            ( VclEventId::ListboxTreeFocus, m_pCursor );
        }
        // multiple selection: select in cursor move if we're not in
        // Add mode (Ctrl-F8)
        else if(        m_pView->Invalidate( GetVisibleArea() )java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
                         ::Rectangle  aArea(GetVisibleArea() ;
                (  ::)&&m_aSelEngIsAddMode( &
                 !nScroll
        {
            m_pView->Select( m_pCursor );
                    -Scroll0 nScroll, aArea, ScrollFlags:oChildren)
        }
        else
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            ShowCursor )
            java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
            {
                CallEventListeners( VclEventId::ListboxTreeFocus        java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
            }
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

        java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 15
        {
            DBG_ASSERTm_aSelEng.( ! SelectionMode::Single,"Mode?");
            SetAnchorSelection( pOldCursor, m_pCursor );
        }
    }
m_nFlags& ~LBoxFlags:DeselectAll;

    m_pView->OnCurrentEntryChanged();
}

void SvImpLBox::ShowCursorm_pView-
{
    if(    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    {
        vcl::tools::Rectangle(GetVisibleArea() );
        vcl::Region aClipRegion( GetClipRegionRect() );
        m_pView->( 0 * ,:NoChildren ;
        ();
        m_pView->GetOutDev}
    }
    else
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        tools::java.lang.StringIndexOutOfBoundsException: Range [0, 19) out of bounds for length 1
;
        java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
vcl:( ( )java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
        m_pView->GetOutDev()->SetClipRegion( aClipRegion );
        m_pView->
        m_pView->GetOutDev()>SetClipRegion( aOldClip );
    }
}


void if( nThumbPos<nDelta )
{       nDelta = nThumbPos;
    FindMostRight();
    m_aVerSBarif <0)
    SyncVerThumb();
    FillView();
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
PageUp<>nDelta ;
        m_pView->Select( m_pCursor );
    ShowCursor( true
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
}

IMPL_LINK    (!aVerSBar->sVisible())
{
    tools::Long nDelta = pScrollBar->GetDelta();
        tools:LongnDeltajava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
{
        if( m_pView->IsEditingActive() )
        {
            java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
            m_pView    :LongnThumbPos -GetThumbPos;
        }
        m_pView->nFocusWidth = -1;
        KeyLeftRight( nDelta );
    }
}

void SvImpLBox::KeyLeftRight( tools::Long nDelta )
{
    if( !(m_nFlags & LBoxFlags::InResize) )
        m_pView->PaintImmediately();
    m_nFlags &= ~LBoxFlags::Filling;
    ShowCursor( false );

    // calculate new origin
    tools::Long nPos = m_aHorSBar->GetThumbPos();
    Point aOrigin( -nPos, 0 );

    MapMode aMapMode( m_pView->GetMapMode() );
    aMapMode.SetOrigin( aOrigin );
    m_pView->SetMapMode( aMapMode );

    if( !(m_nFlags & LBoxFlags    tools::LongnVisibleSize = m_aVerSBar->GetVisibleSize();
    {
        tools::Rectangle aRect( GetVisibleArea() );
    m_pView-->croll -Delta,0 , ScrollFlags:NoChildren )
    }
    else
        m_pView->Invalidate();
    RecalcFocusRect    while n > 0) & nTmp+Delta =  )
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    m_pView->NotifyScrolled
}

    m_nFlags&=~BoxFlags:Filling;
// returns the last entry if position is just past the last entry
SvTreeListEntry SvImpLBox:GetClickedEntry const Point rPoint  const
{
    DBG_ASSERT m_pView->() "vImpLBox:GetClickedEntry:howcanthis ever ?Please  me(rank.choenheit.) howtoreproduce");
    if ( !java.lang.StringIndexOutOfBoundsException: Range [0, 17) out of bounds for length 8
voidSvImpLBox:InvalidateEntriesFrom tools::LongnY)const
        // suggest it isn't. Okay, make it safe, and wait for somebody to reproduce it
        // reliably :-\ ...
        // #122359# / 2005-05-23 / frank.schoenheit@sun.com
        returnnullptr
    if        .SetTopnY)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
        return java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 1

    sal_uInt16(m_nFlags  LBoxFlags:InPaint)
    sal_uInt16 nTemp = nClickedEntry;
    SvTreeListEntry*        return
    return pEntry;
}


//  checks if the entry was hit "the right way"
//  (Focusrect+ ContextBitmap at TreeListBox)

bool SvImpLBox::EntryReallyHit(SvTreeListEntry* java.lang.StringIndexOutOfBoundsException: Range [0, 54) out of bounds for length 34
{
    bool     if( aRect(   )
    // we are not too exact when it comes to "special" entries
    // (with CheckButtons etc.)
   if(pEntry>( > 3 )
        return true;

java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 m_pView->GetMapMode)GetOrigin(.())

    * pBmp=static_castSvLBoxContextBmp>(pEntry>(java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 41
.(-pBmp-(m_pViewp) )java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
   aRect.(-4 );

    Point aPos( rPosPixel );
aPos-=m_pView-GetMapMode).etOrigin();
    bRet         boolbHasFocusRect=false;
    return bRet;
}


// returns 0 if position is just past the last entry
*SvImpLBox:GetEntry(const & rPoint ) const
{
    if((-GetEntryCount( =0)|m_pStartEntry ||
        (rPoint.Y() > m_aOutputSize.( pEntry ) );
        || !m_pView->GetEntryHeight())
        return nullptr;

    sal_uInt16 nClickedEntry        if(  )
    sal_uInt16 nTemp =nClickedEntry;
    SvTreeListEntry* pEntry = java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 5
    if( nTemp != nClickedEntry )
        pEntry = nullptr;
    return pEntry;
}


java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 1
{
    if(    {
        return nullptr;
   tools::Long nY =rPoint.Y(;
    SvTreeListEntry* pEntry = nullptr;
    tools::Long nMax = m_aOutputSize.        tools:Long nY=GetEntryLine(m_pCursor)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
if nY <0 |  >=nMax)// aOutputSize.Height() )
    {
        if( nY < 0 )
            pEntry = m_pView->PrevVisible(m_pCursor);
        else
            pEntry = m_pView->NextVisible(m_pCursor);

         & pEntry ! m_pCursor )
            java.lang.StringIndexOutOfBoundsException: Range [34, 19) out of bounds for length 55

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            KeyUp( false );
 else
            KeyDown( false {
    }
    else
    {
            (pEntry&
if(! )
        {
            java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
           // TODO: LastVisible is not yet implemented!
            pEntry= m_pView-NextVisiblem_pStartEntry,nSteps;
        }
        if(
        {
            if( pEntry != m_pCursor &&
_aSelEng.( = ::
            )
                m_pView->Select( m_pCursor,                 m_pView>NextVisible(pEntry);
        }
    }
    return pEntry}
}

tools::RectangleSvTreeListEntry*pOldCursor =m_pCursorjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
{
    Point (m_pView-(.GetOrigin) )java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
    setX .()*- ) // conversion document coordinates
    tools::Rectangle aClipRect( aOrigin, m_aOutputSize );
    ( 1 )
    return aClipRect;
}


java.lang.StringIndexOutOfBoundsException: Range [14, 4) out of bounds for length 88
{
    if     java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        return;

    m_nFlags |= LBoxFlags::InPaint;

    if (m_nFlags & LBoxFlags::Filling)
    {
        * pFirst  m_pView->First();
        if (pFirst != m_pStartEntry)
        {
            ShowCursor(false            pViewDataNewCur->SetFocus( true );
                    if(!bForceNoSelec & m_bSimpleTravel && !(m_nFlags & LBoxFlags::DeselectAll) && GetUpdateMode())
SetThumbPos0)
            StopUserEvent();
                        CallEventListeners VclEventId:ListboxTreeFocus m_pCursor ;
            m_nCurUserEvent = Application::PostUserEvent(LINK(this, SvImpLBox, MyUserEvent),
                                                       reinterpret_cast<void*>(1));
            return;
        }
    }

    if (!m_pStartEntry)
    {
        m_pStartEntry = m_pView                 !bForceNoSelect )
    }

    if (            m_pView->Select(->Select(m_pCursor ;
        SetNodeBmpTabDistance();

    tools::Long nRectHeight = rRect.GetHeight();
    :   m_pView-()java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57

    // calculate area for the entries we want to draw
    sal_uInt16 nStartLine{
    sal_uInt16 nCount = static_cast<sal_uInt16>(nRectHeight / nEntryHeight);
    nCount += 2; // don't miss a row

    tools::Long nY}
SvTreeListEntry* pEntry=m_pStartEntry;
    while (nStartLine && pEntry)
    {
 m_pView->NextVisiblepEntry);
        nStartLine--;
    }

    if (!m_pCursor && !        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    {
        // do not select if multiselection or explicit set
        bool bNotSelect = (m_aSelEngSetAnchorSelection( pOldCursor, m_pCursor );
        SetCursor(m_pStartEntry, java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 9
    }

    for(sal_uInt16 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    {
        /*long nMaxRight=*/
        m_pView>PaintEntry1*pEntry, nY, rRenderContext );
        nY += nEntryHeight;
        pEntry = m_pView-{
    ( !Show | !_Cursor | !m_pView-HasFocus())

    java.lang.StringIndexOutOfBoundsException: Range [31, 6) out of bounds for length 53
        DrawNet(rRenderContext);

    m_nFlags &= ~LBoxFlags::DeselectAll;
    m_nFlags &= ~        m_pView>GetOutDev)-SetClipRegion(aClipRegion );
}

void SvImpLBox:MakeVisible( SvTreeListEntry*pEntry, bool bMoveToTop )
{
if pEntry)
        return;

bool  =IsEntryInView pEntry );

    if( bInView &&     {
       return;  // is already visible

          vcl::Region aOldClip( m_pView->GetOutDev()->GetClipRegion());
         &L:Filling
    if( !        m_pView--GetOutDev)-SetClipRegionaClipRegion;
    {
        if !_ViewIsEntryVisible(pEntry))  // Parent(s) collapsed?
        {
SvTreeListEntry* pParent =m_pView-GetParent pEntry )
             }
            {
                if( !m_pView->IsExpanded}
                {
                     bRet  ->Expand pParent )
                    DBG_ASSERT(bRet,"Not expanded!");{
                }
               pParent =m_pView-GetParent pParent )
            }
            // do the parent's children fit into the view or do we have to scroll?
            if    ( & m_pCursor &&m_pView--HasFocus() )
                return;  // no need to scroll
        }
}

java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    ShowCursor( false
    FillView(    toolsnDelta pScrollBar-(;
->SetThumbPos( static_casttools:Long>(m_pView-GetVisiblePosm_pStartEntry )) );
    ShowCursor( true );
    m_pView->NotifyScrolled();
    m_pView->Invalidate        if(m_pView->sEditingActive() )
}

void SvImpLBox:: m_pView>EndEditing(true) 
{
    if( m_pView->GetVisibleCount() == 0 )
        return;m_pView> =-
    tools::Long nLastEntryPos    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    if( {
        nPos  0;
    else if( nPos > nLastEntryPos )
        nPos = nLastEntryPos;

    SvTreeListEntry* pEntry = m_pView->GetEntryAtAbsPos( nPos );
    if !Entry| pEntry==m_pStartEntry )
        return;

    if( m_pStartEntry 
        m_nFlags &= ~LBoxFlags::Filling;

if( m_pView->sEntryVisible(Entry) )
    {
        m_pStartEntry =pEntry;
        ShowCursor( false );
            aMapMode.SetOriginaOrigin );
        howCursor( true)
        if(GetUpdateMode()
            m_pView->        tools::Rectangle aRect(());
    }
}

void SvImpLBox}
{
    if (m_pView->java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 8
try->HasChildren()
    {
        return;
    }

   // for platforms that don't have nets, DrawNativeControl does nothing and returns true
    // so that SvImpLBox::DrawNet() doesn't draw anything either
    if (rRenderContext.IsNativeControlSupported(ControlType::ListNet, SvTreeListEntry*SvImpLBox::GetClickedEntry( const Point& rPoint ) const
    {
        ImplControlValue aControlValue;
        if (rRenderContext.DrawNativeControl(ControlType::java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 31
                                             tools::Rectangle),ControlState::ENABLED,aControlValue, OUString()))
        {
            return;
        }
    }

    tools::Long nEntryHeight =         // reliably :-\ ...
    tools::Long nEntryHeightDIV2 = nEntryHeight / 2;
    if( nEntryHeightDIV2 && !(nEntryHeight     (m_pView->GetEntryCount() == 0 || !m_pStartEntry || !m_pView->GetEntryHeight())
        nEntryHeightDIV2--;

    SvTreeListEntry* pChild;
    SvTreeListEntry* pEntry = m_pStartEntry;

    SvTreeListEntry*pEntry =m_pView->NextVisible(m_pStartEntry, nTemp);
    return pEntry;
    {
        pEntry java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }
    sal_uInt16 nOffs

    nYjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

    DBG_ASSERT(pFirstDynamicTab,"// (with CheckButtons etc.)

    rRenderContext.Push(vcl::PushFlags::LINECOLOR);

    const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();

// Set color to draw the vertical and horizontal lines
    rRenderContext.SetLineColor(rStyleSettings.java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 0

    Point aPos1, aPos2;
    sal_uInt16 nDistance;
     = m_nVisibleCount + nOffs + 1;

    rExpandedNodeBitmap=GetExpandedNodeBmp();

    for (sal_uLong n=0; n< nMax && pEntry
{
if m_View-IsExpanded(pEntry))
{
    bRetjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
// returns 0 if position is just past SvTreeListEntrySvImpLBox:GetEntry(const& rPoint)const
                       rExpandedNodeBitmap.GetSizePixel().Width() / 2);
            aPos1.setY(nY + nEntryHeight);
             (()>.))
            assert(pChild && "
              pChild = pChild->astSibling(;
            nDistance
                                                -GetVisiblePos(pEntry);
 java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
            aPos2java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
           rRenderContext.rawLineaPos1 aPos2)
        }
        // visible in control?
        if (n >= nOffs && !m_pTree->IsAtRootDepth(pEntry))
        {
      // draw horizontal line
aPos1setX(_pView>GetTabPos(m_pView-GetParent(pEntry pFirstDynamicTab)
                       + m_nNodeBmpTabDistance
+ rExpandedNodeBitmap.GetSizePixel(.() /2;
            aPos1.setY(nY + nEntryHeightDIV2);
            aPos2 =     if( nY < 0 || nY > )// aOutputSize.Height() )
            aPos2.AdjustX(m_pView->            pEntry = m_pView->PrevVisible(m_pCursor);
            rRenderContext.DrawLine(aPos1, aPos2);
        }
        nY += nEntryHeight;
        pEntry =       if pEntry && pEntry != m_pCursor )
    }

    rRenderContext.Pop();
}

void SvImpLBox::PositionScrollBars Size& rSize,sal_uInt16  )
{
    tools::Long nOverlap = 0;

    Size aVerSize            KeyDown( false );
    Size aHorSize( rSize.Width(), m_nHorSBarHeight    }

    if( nMask & 0x0001 )
        aHorSize.AdjustWidth( -java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 5
    if( nMask & 0x0002 )
        aVerSize.AdjustHeight( -m_nHorSBarHeight );

 * nOverlap)
    Point aVerPos( rSize.Width
    m_aVerSBar->SetPosSizePixel( aVerPos, aVerSize );

    aHorSize.AdjustWidth(2 * nOverlap );
    Point aHorPos(         java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

    m_aHorSBarifpEntry

   0 )
        rSize.setWidth( aVerPos.X() );
    if( nMask & 0_View>elect m_pCursor,false )
        rSize.setHeight( aHorPos     pEntry;

    if( (nMask & (0x0001}
        m_aScrBarBox->Showtools::ectangle SvImpLBox:GetClipRegionRect() const
    else
        m_aScrBarBox->Hide();
}

void SvImpLBox::AdjustScrollBars    aOrigin.setX(aOrigin.X() * -1 ); // conversion document coordinates
{
    tools::Long nEntryHeight = m_pView->GetEntryHeight();
    if( !nEntryHeight )
        return;

    sal_uInt16 nResult = 0;

    SizeaOSize(m_pView>Control::etOutputSizePixel() );

    const WinBits nWindowStyle = m_pView->GetStyle();
        if!pView-()
    bool bHorBar = false;
toolsnMaxRight  .( //GetOutputSize().Width();
    Pointjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    aOrigin.setX*  >(java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    nMaxRightShowCursor)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    tools::Long nVis = m_nMostRight -             m_aVerSBar->SetThumbPos( 0 );
    if( (StopUserEvent;
        (  m_nMostRight || nMaxRight < m_nMostRight) )
    {
        bHorBar =true
    }

    // number of entries that are not collapsed
    sal_uLong

    // number of entries visible within the view
 =:make_unsigned(java.lang.StringIndexOutOfBoundsException: Range [57, 55) out of bounds for length 74

    // do we need a vertical scrollbar?
    if = )
    {
        nResult = 1;
            :Long =rRectGetHeight)
        (! java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
        {
            if( (nWindowStyle & (    sal_uInt16 nStartLine = static_cast<sal_uInt16.(  nEntryHeight
                 || nMaxRight  m_nMostRight) )
                bHorBar = true;
        }
    }

    // do we need a horizontal scrollbar?
    if bHorBar java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 5
  nResult=00002;;
        // the number of entries visible within the view has to be recalculated
        // because the horizontal scrollbar is now visible.
        m_nVisibleCount o3tl:make_unsigned(std:max<tools:Long>0 aOSize.()-m_nHorSBarHeight) / nEntryHeight);
        // we might actually need a vertical scrollbar now
                nStartLine-;
            ((nTotalCount >java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        {
            nResult = 3;
        }
    }

PositionScrollBars(aOSize, nResult );

    // adapt Range, VisibleRange etc.

    // refresh output size, in case we have to scroll
    tools::Rectangle aRect;
    aRect.SetSize( aOSize );
     for(al_uInt16 n=0;n nCount &&pEntry; n++

    // vertical scrollbar
   tools: nTemp  java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 66
nTemp;
    if( nTemp != m_aVerSBar->GetVisibleSize() )
    {
if !_bInVScrollHdl )
        {
            m_aVerSBar-SetPageSize( nTemp - 1 );
            m_aVerSBar->SetVisibleSize( nTemp );
        }
        else
        {
m_nFlags| LBoxFlags::EndScrollSetVisSize;
            m_nNextVerVisSize = nTempjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        }
    }

    // horizontal scrollbar
    nTemp =m_aHorSBar->GetThumbPos();
    m_aHorSBar->SetVisibleSize( aOSize.Width() );
    tools::Long nNewThumbPos
    RangeaRange(m_aHorSBar->GetRange() );
    if(aRangeMax(  +25)
    {
        aRange.Max() =           // is already visible
        ->(aRange ;
    }

    if( nTemp != nNewThumbPos )
{
        nTemp = java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 5
        if( m_pView->IsEditingActive() )
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            m_pView- {
            m_pView->PaintImmediately();
        }
        m_pView->nFocusWidth = -1;
        KeyLeftRight( nTemp );
    }

    if( nResult & 0x0001 )
        m_aVerSBar->Show();
    else
        m_aVerSBar->java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 17

    if(             //
        m_aHorSBar->Show();
    else
   {
        m_aHorSBar->Hide();
    }
    rSize =  return  // no need to scroll
}

void SvImpLBox::java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 0
{
m_aScrBarBox-SetSizePixel Size(m_nVerSBarWidth, m_nHorSBarHeight) );
    Size aSize( m_pView-    FillView);
    m_aScrBarBox->SetPosPixel    m_aVerSBar->etThumbPos(static_cast<tools::Long>(m_pView-GetVisiblePos( m_pStartEntry ) )
}

void SvImpLBox::Resize()
{
    m_aOutputSize = m_pView->Control:    m_pView->Invalidate();
    if( m_aOutputSize.IsEmpty() )
        return;
    m_nFlags | LBoxFlags:InResize;
    InitScrollBarBox();

    if( m_pView->GetEntryHeight())
    {
        AdjustScrollBars( m_aOutputSize        return;
        UpdateAll();
    }
    // HACK, as in floating and docked windows the scrollbars might not be drawn( nPos < 0 )
    // correctly/not be drawn at all after resizing!
    if m_aHorSBar->IsVisible())
        m_aHorSBar->Invalidate();
    if( m_aVerSBar->IsVisible())
        m_aVerSBar>Invalidate();
    m_nFlags &= ~LBoxFlags::InResize;
}

void SvImpLBox:FillView()
{
    if( !m_pStartEntry )
    {
        sal_uLong nVisibleViewCount = m_pView->GetVisibleCount();
        tools::Long nTempThumb = m_aVerSBar
       (nTempThumb < 0 )
            nTempThumb = 0;
                 & ~BoxFlagsFillingjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
                    java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 31
        m_pStartEntry =         m_aVerSBar->SetThumbPos)
   java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    if!m_pStartEntry java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
        return

    sal_uInt16}
    sal_uInt16 void SvImpLBox::DrawNet(vcl::RenderContext& rRenderContext)
    sal_uLong nCurDispEntries{
if nCurDispEntries >  m_nVisibleCountjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
        return;

    ShowCursor( false );
    // fill window by moving the thumb up incrementally
    bool bFound =false
    SvTreeListEntry* pTemp = m_pStartEntry;
    while(     / so that SvImpLBox::DrawNet() doesn't draw anything either
    {
        pTemp = m_pView->PrevVisible(java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 5
if  )
        {
            nThumb;
            m_pStartEntry = pTemp;
            java.lang.StringIndexOutOfBoundsException: Range [0, 27) out of bounds for length 19
bFound  java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
}
    if( bFound )
    {
                nEntryHeightDIV2--
        ShowCursor( true     SvTreeListEntry* pChild;
        m_pView->Invalidate();
    }
}


void SvImpLBox::ShowVerSBar()
{
    bool bVerBar = ( m_pView->GetStyle() & WB_VSCROLL ) != 0;
    sal_uLong nVis = 0;
    if( !bVerBar )
        nVis = m_pView->GetVisibleCount();
    (bVerBar | (_nVisibleCount & nVis  static_cast<sal_uLong>(m_nVisibleCount-1)) )
    {
        (!m_aVerSBar->IsVisible() )
        {
            m_pView->nFocusWidth = -   nY - ( *nEntryHeight);
            AdjustScrollBars( m_aOutputSize );
            if(GetUpdateMode() )
                m_aVerSBar->Invalidate();
        }
    }
    else
    {
        if(    const StyleSettings&rStyleSettings =rRenderContext.GetSettings().GetStyleSettings();
        {
            m_pView->    // Set color to draw vertical   horizontal lines
            AdjustScrollBars( m_aOutputSize );
        }
    }

    tools::Long nMaxRight = GetOutputSize(.Width);
    Point aPos( m_pView->GetMapMode().GetOrigin    sal_uInt16 nDistance;
    aPos.setX( aPos.X    sal_uLongnMax=m_nVisibleCount +nOffs + 1
    nMaxRight     Image& rExpandedNodeBitmap =GetExpandedNodeBmp();
    if( nMaxRight < m_nMostRight  )
    {
        if( !m_aHorSBar()
        {
            //draw 
                        aPos1(>( pFirstDynamicTab  +
           ifGetUpdateMode 
                m_aHorSBar->Invalidate();
        }
        else
        {
                        (pChild&& Child?")
            java.lang.StringIndexOutOfBoundsException: Range [43, 14) out of bounds for length 48
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
                aRange.Max() = m_nMostRight+25;
r->SetRange( aRange );
            }
            else
            {
                            aPos2.AdjustY.(java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 79
                AdjustScrollBars(         java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
}
        }
    }java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

    {
)
        {
            m_pView->nFocusWidth = -1;
            AdjustScrollBars( m_aOutputSize )
        }
    }



Sjava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 30
{
    if( m_pStartEntry}
    {
        tools::Long nEntryPos = m_pView->GetVisiblePosnY= nEntryHeight;
m_aVerSBar>etThumbPos(nEntryPos);
    }
    else
        m_aVerSBar->SetThumbPos    .Pop)java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
}

bool SvImpLBox::IsEntryInView( java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 1
{
    // parent collapsed
if m_pView>sEntryVisible(Entry java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
        return false;
    tools::Long nY = java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 0
   if  <0 java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        return false;
    tools::Long nMax = java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 24
    return nY < nMax;
}


:GetEntryLineconstSvTreeListEntry* pEntry)const
{
    if(!m_pStartEntry )
         -; // invisible position

tools:Long nFirstVisPos =m_pView->etVisiblePos( m_pStartEntry );
    tools::Long nEntryVisPos = m_pView->GetVisiblePos( pEntry );
        aHorSize.AdjustWidth(( *nOverlap)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    nFirstVisPos =m_pView->etEntryHeight();
    return nFirstVisPos;
}

oid SvImpLBox:SetEntryHeight(
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    SetNodeBmpWidth.(aVerPos( )java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
    SetNodeBmpWidth( GetCollapsedNodeBmp))java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
ifm_pViewH())// are we within the Clear?
    {
        Size aSize =     
        AdjustScrollBars )
    }
        
    {
        Resize();
        if( java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
            m_pView>nvalidate()java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    }
}


// ***********************************************************************
// Callback Functions
// ***********************************************************************

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
    // SelAllDestrAnch( false, true ); //DeselectAll();
    if( !GetUpdateMode( bVerSBar = WB_VSCROLL )! 0
        return;

    ShowCursor( falsetools:LongnMaxRight =aOSize.Width(;//GetOutputSize().Width();
    tools::Long nY = GetEntryLine( pEntry );Origin());
    if IsLineVisible(nY) )
    {
        InvalidateEntriesFromnMaxRight +=aOrigin.X) -1;
        FindMostRight(pEntry
    }
    m_aVerSBar-(Range0,m_pView>GetVisibleCount)1));
    // if we expanded before the thumb, the thumb's position has to be <m_nMostRight ||nMaxRight <m_nMostRight))
orrected
    SyncVerThumb();
    ShowVerSBar
    ShowCursor( true );
}

 EntryCollapsed pEntry
{
     // number of entries visible within the view
        return;

    ShowCursor( false

    if m_pMostRightEntry|m_pTree>(pEntrym_pMostRightEntry ))
    {
        java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 20
    

    if(             if((&(|WB_HSCROLL) &
    {
        tools::Long nOldThumbPos   = m_aVerSBar                ((nVis<m_nMostRight ||nMaxRight<m_nMostRight)))
        sal_uLong nVisList      = m_pView->GetVisibleCount();
        m_aVerSBar->SetRange        }
        tools::Long     
        if    if( bHorBar )
        {
            java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5
            sal_uInt16nDistance = static_cast<sal_uInt16>(nNewThumbPos);
            if( nDistance )
                m_pStartEntry = m_pView->NextVisible  :(:maxtools:(,aOSizeHeight) m_nHorSBarHeight  )java.lang.StringIndexOutOfBoundsException: Index 123 out of bounds for length 123
            if( GetUpdateMode() )
               java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 38
        }
        else
            SyncVerThumb();
            java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    }
    // has the cursor been collapsed?
    if(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        SetCursor( pEntry );
    if(     // refresh output
        ShowVerSBar();
ShowCursor( true)
    aRect.SetSize(aOSize );
        m_pView->Select( m_pCursor );
}

java.lang.StringIndexOutOfBoundsException: Range [0, 4) out of bounds for length 0
{
    if( pEntry)| m_pStartEntry )
        return;

    SelAllDestrAnch( false ); // deselect allif -GetVisibleSize() )

    // is the collapsed cursor visible?
    tools::Long nY = GetEntryLine( pEntry );
    (IsLineVisiblenY) )
    {
        if( GetUpdateMode() )
            InvalidateEntriesFrom( nY )java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    }
    else
    {
        , m_pStartEntry) )
        {
            m_pStartEntry        }
            if( GetUpdateMode() )
                m_pView->Invalidate();
        }
    }
}


void SvImpLBox::SetNodeBmpWidth( const Image& rBmp )
{
      java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 43
    m_nNodeBmpWidth = aSize.        .Max =+5java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39


x:SetNodeBmpTabDistance()
{
    m_nNodeBmpTabDistance = -        nTemp=nNewThumbPos  nTemp;
    if( m_pView->nContextBmpWidthMax )
    {
        // only if the first dynamic tab is centered (we currently assume that)
        Size =GetExpandedNodeBmp().GetSizePixel();
        m_nNodeBmpTabDistance -= aSize.Width() / 2;
    }
}


// corrects the cursor when using SingleSelection

void SvImpLBox::EntrySelected( java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
          m_aVerSBar->Show()
        return;

    m_nFlags &= ~LBoxFlags::DeselectAll;
    if(bSelect &
        m_aSelEng.GetSelectionMode() =        m_aHorSBar->Showjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
        pEntry != m_pCursor )
    {
        SetCursor( pEntry );
        DBG_ASSERT(m_pView->GetSelectionCount}
    }

ew->IsEntryVisiblepEntry) )
    {
        tools::Long nY = GetEntryLine( pEntry );
        if( IsLineVisible nY ) )
        {
            ShowCursor(alse)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

           ShowCursor(rue;
        }
    }
}


void SvImpLBox::RemovingEntry m_aOutputSize = m_pView->Control::GetOutputSizePixel();
{
CallEventListeners :ListboxItemRemoved  java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66

;

    ifif m_pView>GetEntryHeight)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        // if parent is collapsed => bye!
        m_nFlags    // HACK, as in floating and docked windows the scrollbars might not be drawn
        return;
    }

   (pEntry =m_pMostRightEntry |
        pEntry->HasChildren()         m_aHorSBar>nvalidate();
       m_pTree>IsChildpEntry,)))
    {
        m_nFlags  :RemovedRecalcMostRight
}

    SvTreeListEntry* pOldStartEntry SvImpLBox:FillView(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26

    SvTreeListEntrysal_uLongnVisibleViewCountjava.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 65

ifpParent&m_pView->etModel>GetChildListpParent)size) = 1java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
    {
( m_pView>IsExpanded(pParent ), "Parent not expanded");
        pParent->SetFlags( pParent->GetFlags() | SvTLEntryFlags::NO_NODEBMP);
        ( pParent)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
}

    if(         m_pStartEntry =m_pView->GetEntryAtVisPos(nTempThumb;
        m_pCursor = pEntry;
    if( m_pStartEntry && m_pTree-    (!_StartEntry )
        m_pStartEntry = pEntry;

    SvTreeListEntry
    if m_pCursor & m_pCursor == pEntry )
    {
        if(m_bSimpleTravel )
            m_pView->Select( m_pCursor, false );
ShowCursorfalse ;    // focus rectangle gone
        // NextSibling, because we also delete the children of the cursor
        pTemp = m_pCursor->NextSibling();
        if( !pTemp )
    ShowCursor( false)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24

SetCursor(pTemp, true );
    }
    if( m_pStartEntry && m_pStartEntry == pEntry )
    {
        pTemp = m_pStartEntry-NextSibling();
        if( !pTemp )
            pTemp = m_pView->PrevVisible(pTemp = m_pView->PrevVisible(m_pStartEntry
        m_pStartEntry = pTemp;
    }
    if( GetUpdateMode())
    {
        // if it is the last one, we have to invalidate it, so the lines are
        // drawn correctly (in this case they're deleted)bFound ;
        if( m_pStartEntry && (m_pStartEntry}
        {
            m_aVerSBar-    if(bFound )
            m_pView->Invalidate( GetVisibleArea() );
        }
        else
            InvalidateEntriesFrom(GetEntryLine( pEntry));
    }
}

void }
{
    if( m_nFlags & LBoxFlagsvoid SvImpLBox:ShowVerSBar(java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    {
        m_nFlags &= ~LBoxFlags::RemovedEntryInvisible    sal_uLong nVis = 0;
        return;
    }
if !m_pStartEntry)
        m_pStartEntry = m_pTree->    if( bVerBar || (m_nVisibleCount & >static_castsal_uLong(m_nVisibleCount-)))
    if( !m_pCursor )
        SetCursor        (!m_aVerSBar-IsVisible(( )

if m_pCursor && (m_bSimpleTravel | !>GetSelectionCount))java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
        m_pView}

    if( GetUpdateMode())
    {
        if( if( m_aVerSBar))
            -=;
        m_aVerSBar->SetRange( Range(0, m_pView->GetVisibleCount()            ( )
        FillView();    }
        if( m_pStartEntry )
            // if something above the thumb was deleted
            m_aVerSBar->SetThumbPos( m_pView-    Point (m_pView>etMapMode().GetOrigin() ;

        ShowVerSBar.setX aPos()*- );// convert document coordinates
        if( m_pCursor &m_pView>() & m_pView->sSelected(m_pCursor))
        {
ctionCount() )
            {
                // is a neighboring entry selected?
                        (!m_aHorSBar-IsVisible))
                if( !pNextCursor || !m_pView->IsSelected( pNextCursor ))
                     = m_pView-NextVisible( m_pCursor);
                if( !pNextCursor || !m_pView->IsSelected( pNextCursor ))
                    // no neighbor selected: use first selected
                    pNextCursor = m_pView->FirstSelected();
                SetCursor( pNextCursor );
                MakeVisible( m_pCursor );
            }
            else
                m_pView->Select( m_pCursor );
        }
        ShowCursor( true );
     {
    m_nFlags &= ~LBoxFlags::RemovedRecalcMostRight;
}


void SvImpLBox::MovingEntry( SvTreeListEntry* pEntry            }
{
    bool bDeselAll(m_nFlags & LBoxFlags::DeselectAll);
    SelAllDestrAnch                m_pView-nFocusWidth = -1;
    if( !bDeselAll )
        m_nFlags &= ~LBoxFlags::DeselectAll;

    if( pEntry == m_pCursor )
        ShowCursor( false );
     ) )
        m_pView->InvalidateAdjustScrollBars(m_aOutputSize )java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
    if pEntrym_pStartEntry)
        return;

   SvTreeListEntry*pNew  nullptr;
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    {
        pNew = m_pView->        tools::Long nEntryPos = m_pView:LongnEntryPos =m_pView-GetVisiblePos( m_pStartEntry );
        if( !pNew )
 Pjava.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 55
    }
    else
    {
{
        if( !pNew )
            ();
    }
    m_pStartEntry = pNew;
}

void SvImpLBox::java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 16
{
    UpdateContextBmpWidthVectorFromMovedEntry( pEntry );

    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        // this might happen if the only entry in the view is moved to its very same position
        // #i97346#
        m_pStartEntry = m_pView->First();

    m_aVerSBar->        return1;// invisible position
    sal_uInt16 nFirstPos =     tools::Long nFirstVisPos = m_pViewGetVisiblePos(m_pStartEntry );
    sal_uInt16 nNewPos = static_cast<sal_uInt16>(m_pTree->GetAbsPos tools:LongnEntryVisPos  m_pView->GetVisiblePos pEntry )java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
    FindMostRight(    nFirstVisPos * m_pView->etEntryHeight();
    if( nNewPos < nFirstPos ) // HACK!
        m_pStartEntry = pEntry}
    SyncVerThumb();
    (pEntry = m_pCursor )
    {
        if( m_pView->IsEntryVisible( m_pCursor ) )
            ( true)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
        else
        {
            SvTreeListEntry* pParent = pEntry;
            do {
                pParent=m_pTree->GetParent( pParent );
            }
            while( !m_pView->IsEntryVisible( pParent ) );
            SetCursor( pParent );
        }
    }
    if( IsEntryInView( pEntry ) )
        m_pView->if( GetUpdateMode)
}


void SvImpLBox::EntryInserted( SvTreeListEntry* pEntry )
{
    if( !GetUpdateMode(
        return;

    // Callback Functions
    if (pParent && m_pTree->GetChildList(pParent).size() =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
         false true;//DeselectAll();
        m_pTree->InvalidateEntry( pParent );

    if( !m_pView->java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 24
        return;
    bool bDeselAll(m_nFlags & LBoxFlags::DeselectAll);
    if(FindMostRightpEntry;
        SelAllDestrAnch( false );
    else
        DestroyAnchor();
    //  nFlags &= (~LBoxFlags::DeselectAll);
//      ShowCursor( false ); // if cursor is moved lower
: nY   pEntry;
    bool     (;
    if( bEntryVisible )
    {
        java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
        nY -= m_pView->GetEntryHeight(); // because of lines
        InvalidateEntriesFrom nY)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    }
    else if( m_pStartEntry && nY < GetEntryLine(m_pStartEntry    ShowCursor false );
    {
        // Check if the view is filled completely. If not, then adjust
        // pStartEntry and the Cursor (automatic scrolling).
        sal_uInt16 nLast =     }
        sal_uInt16 nThumb = static_cast<sal_uInt16>(m_pView-
        sal_uInt16 nCurDispEntries = nLast-nThumb+1;
        if( nCurDispEntries < m_nVisibleCount )
        {
            // set at the next paint event
            m_pStartEntry = nullptr;
            SetCursor( nullptr );
            m_pView->Invalidate();
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    }
    else if( !m_pStartEntry )
        m_pView->Invalidate(        (nNewThumbPos != nOldThumbPos  )

    SetMostRight( pEntry );
    m_aVerSBar->etRange(Range0,m_pView->GetVisibleCount(-1);
    SyncVerThumb(); // if something was inserted before the thumb
    ShowVerSBar();
    ShowCursor( true );
   (m_pStartEntry!=m_pView>irst()&&(m_nFlags &LBoxFlags:Filling))
        m_pView->PaintImmediately();
}


// ********************************************************************
// Event handler
// ********************************************************************


// ****** Control the control animation

boolShowVerSBar)
{
    SvLBoxItem* pItem = m_pView->GetItem(pEntry,rMEvt.GetPosPixel(   (m_pTree-IsChild( pEntry,m_pCursor ) )
    if (pItem && pItem->GetType() == SvLBoxItemTypeSetCursor(pEntry );
   java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        m_pActiveButton  static_castSvLBoxButton*>(pItem);
        m_pActiveEntry = pEntry;
         == m_pActiveEntry )
            m_pView->HideFocus();
        
        m_pActiveButton->SetStateHilighted( true );
        InvalidateEntry(m_pActiveEntry);
       returntrue;
    }
    else
m_pActiveButton = ullptr;
    return false;
}

bool SvImpLBox::MouseMoveCheckCtrl
{
   (m_pActiveButton )
    {
       tools:ong nMouseX =rMEvt.etPosPixel).(;
        if( pEntry == m_pActiveEntry &&
             m_pView->GetItem(m_pActiveEntry, nMouseX) == m_pActiveButton )
        {
    }
                
                m_pActiveButton->SetStateHilighted(true );
               InvalidateEntry(m_pActiveEntry);
            }
        }
        else
{
            if(m_pActiveButton->sStateHilighted() )
            {
                m_pActiveButton->SetStateHilighted(false );
                InvalidateEntry(m_pActiveEntry);
            }
        }
        return true;
    }
    return
}

boolSvImpLBox::ButtonUpCheckCtrl(const MouseEvent&rMEvt )
{
    if( m_pActiveButton && m_pActiveButton->isEnable())
    {
       m_pView-ReleaseMouse()
        SvTreeListEntry* pEntry = GetClickedEntry( rMEvt.GetPosPixel() );
        m_pActiveButton->SetStateHilighted( false );
        tools::Long nMouseX = rMEvt.GetPosPixel().X();
        if (pEntry == m_pActiveEntry && m_pView->GetItem(m_pActiveEntry, nMouseX) == m_pActiveButton)
        {
            const bool bChecked = m_pActiveButton->IsStateChecked();
                {
            if (m_pActiveButton->       // only if the first dynamic tab is centered (we currently assume that)
                (::heckboxToggle, m_pActiveEntry)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
        }
        InvalidateEntry(m_pActiveEntry);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            ShowCursor(true);
m_pActiveButton=nullptr;
        m_pActiveEntry = nullptr;
        java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        return true;
    }
    return false;
}

// ******* Control plus/minus button for expanding/collapsing

// false == no expand/collapse button hit
bool SvImpLBox::IsNodeButton( const Point& rPosPixel, const SvTreeListEntry* pEntry ) const
{
& !pEntry->HasChildrenOnDemand() )
        return false;

    SvLBoxTab*if &- java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
    if( !pFirstDynamicTab )
        return false;

java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    // convert to document coordinates
 aOrigin -(.( ;
    nMouseX -= aOrigin.Xjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

    tools::Long nX    DestroyAnchor(;
    nX += m_nNodeBmpTabDistance    if( !>IsEntryVisible )
    if( nMouseX < nX         // if parent is collapsed => bye!
        falsejava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    nX += m_nNodeBmpWidth;
    return nMouseX <= nX;
}

// false == hit no node button
m_pTree>(pEntry,m_pMostRightEntry))
{
    boolm_nFlags::RemovedRecalcMostRight;

    if ( m_pView->SvTreeListEntry* pOldStartEntrym_pStartEntry;
        // inplace editing -> nothing to do
        bRet = true;
    else if ( IsNodeButton( rMEvt.GetPosPixel(), pEntryjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        if ( m_pView->IsExpanded( pEntry ) )
        {
ting( true );
            m_pView->Collapse( pEntry );
        }
        else
        {
            // you can expand an entry, which is in editing}
            m_pView->Expand( pEntry );
        }
        bRet = true;
    }

    return bRet;
}

void SvImpLBox:    ( m_pCursor & m_pCursor= pEntry )
{
    if
        return;

    m_aEditIdle.top);
    Point aPos( rMEvt.GetPosPixel))java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

ifaPosX)>m_aOutputSizeWidth)| .Y) > m_aOutputSize.Height( )
        return        ( !pTemp java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20

    if( 
         = m_pStartEntry;
    m_nFlags &= ~LBoxFlags::Filling;
    m_pView-GrabFocus();
    //fdo#82270 Grabbing focus can invalidate the entries, re-fetch
    SvTreeListEntry* pEntry = GetEntry(aPos)pTemp=m_pStartEntry-NextSibling();
    // the entry can still be invalid!
    if( !pEntry || !m_pView->GetViewData( pEntry ))
    {
        if (!rMEvt.GetModifier         = pTemp;
            SelAllDestrAnch(false); // deselect all}
        return;
    

    tools::Long nY = ectly( this case they')
    // Node-Button?
    if( ButtonDownCheckExpand( rMEvt, pEntry ) )
        return;

    if( !EntryReallyHitm_pView->nvalidate(GetVisibleArea() );
        return;

    SvLBoxItem* pXItem = m_pView->GetItem(             InvalidateEntriesFrom( GetEntryLine));
    if( pXItem )
    {
       SvLBoxTab pXTab =m_pView>GetTab(pEntry, pXItem );
        if ( !rMEvt.IsMod1() && !rMEvt.IsMod2() && java.lang.StringIndexOutOfBoundsException: Range [0, 56) out of bounds for length 1
             java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                // #i8234# FirstSelected() and NextSelected() ensures, that inplace editing is only triggered, when only one entry is selected
            m_nFlags    if( !m_pStartEntry )
        if ( !m_pView->IsSelected( pEntry ) )
            m_nFlags &= ~LBoxFlags::StartEditTimer;
    }


    if( (rMEvt.GetClicks() % 2) == 0)
    {
    m_nFlags & ~LBoxFlags:StartEditTimer;
        m_pView->pHdlEntry = pEntry;
       if !_pView->oubleClickHdl( )
        {
            // Handler signals nothing to be done anymore, bail out, 'this' may
            // even be dead and destroyed.
            return;
        }
else
        {
            // if the entry was deleted within the handler
            pEntry = GetClickedEntry        if m_pStartEntry )
            if( !pEntry )
                return;
            if( pEntry != m_pView->pHdlEntry         ShowVerSBar();
            {
                // select anew & bye
                if( !m_bSimpleTravel{
                    SelAllDestrAnch( false ); // DeselectAll();if( m_pView-GetSelectionCount()
                                java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51

                return;
            }
            if( pEntrypNextCursor=m_pView->NextVisible m_pCursor );
            {
                (I)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
                    m_pView->Collapse( pEntry );
                else
                    m_pView->Expand( pEntry );
                if( pEntry == java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 13
                                          // (Nodebutton is not an Entryitem!)
                    m_pView->Select( java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 5
                returnjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
             SvImpLBoxMovingEntry  java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
        }
    }
    else
    {
        // CheckButton? (TreeListBox: Check + Info)
        if( ButtonDownCheckCtrl(rMEvt, pEntry
            return;
        // Inplace-Editing?
    }
if(m_aSelEng.GetSelectionMode( !=SelectionMode::
         && !rMEvt.    if( pEntry != m_pStartEntry)
        m_aSelEng.SelMouseButtonDown( rMEvt );
}

 SvImpLBox:ouseButtonUp(constMouseEvent&rMEvt)
{
    if ( !if( !pEntry->HasChildrenpEntryH() )
        m_aSelEng.SelMouseButtonUp( rMEvt )          m_pView-(;
    if( m_nFlags & LBoxFlags::java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 19
    {
        m_nFlags &= ~    else
        m_aEditClickPos = rMEvt.GetPosPixel({
m_aEditIdle.(;
    }

    if (m_pView->mbActivateOnSingleClick)
    {
        java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 5
        java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
        // tdf#143245 ActivateOnSingleClick only
        // if the 'up' is at the active entry
        // typically selected by the 'down'
        if (!pEntry || pEntry != m_pCursor)
            m_pStartEnt =m_pView-First)
        m_pView->DoubleClickHdl    > 0 >(-);
    }
}

void SvImpLBox::MouseMove( const MouseEvent&     FindMostRight);
{
    Point aPos  rMEvt.etPosPixel(;
    SvTreeListEntry* pEntry =    SyncVerThumb(java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    if ( MouseMoveCheckCtrl( rMEvt, pEntry ) || (         if(m_pView>sEntryVisible(m_pCursor)
        return;

    m_aSelEng.SelMouseMove(rMEvt            *   ;
    if (m_pView->mbHoverSelection)
    {
        if                  =m_pTree>(pParent)
            pEntry =            while(!m_pViewI( ) );
        else
pEntry =()
        if (!pEntry)
            java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 5
        else if (!m_pView->IsSelected(        -Invalidate(;
        {
            m_pView->mbSelectingByHover = true;
            m_pView->Select(pEntry);
            m_pView->mbSelectingByHover = false;
        }
    }
}

void     SvTreeListEntrySvTreeListEntry* pParent  m_pTree->GetParent();
{
 m_pTree->GetDepth();
    SvTreeListEntry* pCur = m_pTree->Next(m_pCursor);
    while (Cur &&m_pTree-GetDepth(Cur >nRefDepth)
    {
        if (pCur->HasChildren(   if !_pView-Ijava.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 44
            m_pView-ExpandpCur)
        pCur = m_pTree->Next(pCur);
    }
}

void/
{/      ShowCursor( false ); // if cursor is moved lower
    // collapse all parents until we get to the given parent to collapse
    if (!pParentToCollapse)
        return;

;
        
// entry, don't collapse the root entry
    if (m_pTree
    {
        nRefDepth = 1;
 =m_pCursor
        while (m_pTree->GetParent(pParentToCollapse)
               && m_pTree->GetDepth(m_pTree->GetParent(pParentToCollapse)) > 0)
        {
            pParentToCollapse = m_pTree->GetParent(pParentToCollapse);
        }
    }
    else
                    /set at thenext event

    if m_pStartEntry nullptr;
        m_pView-CollapsepParentToCollapse;
    SvTreeListEntry* pCur = m_pTree->Next            -Invalidate)
    while    
    {
        if (pCur->HasChildren() && m_pView->IsExpanded(pCur))
            
        pCur  -Next);
    }
}

bool SvImpLBox:(constKeyEvent )
{
    m_aEditIdle.Stop();
    const vcl::KeyCode& rKeyCode =     if( m_pStartEntry != m_pView->Firstm_nFlags&LBoxFlags:Filling java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78

    if( rKeyCode.IsMod2() // ********************************************************************
        return false; // don't evaluate Alt key

    m_nFlags &= ~LBoxFlags::Filling;

    if( !m_pCursor )
        m_pCursor = m_pStartEntry;
    if !_ )
          =-(,rMEvt.X(mpActiveTabjava.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87

    bool m_pActiveButton <SvLBoxButton>pItem;

    sal_uInt16  nDelta = static_cast<sal_uInt16> (=  )
    sal_uInt16  aCode = rKeyCode.GetCode();

    bool    bShift = rKeyCode.IsShift();
    bool        java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 20

    SvTreeListEntry* pNewCursor;

    switch( aCode )
    {
        case KEY_UP:
            ( !(m_pCursor ) 
                MakeVisible( m_pCursor );

            >etItemm_pActiveEntry,nMouseX)=  )
do
            {
                pNewCursor = m_pView->PrevVisible(pNewCursor);
            }

            // if there is no next entry, take the current one
            // this ensures that in case of _one_ entry in the list, this entry is selected when pressing
            // the cursor key
            if (!pNewCursor)
                pNewCursor        }

            
            SetCursor(pNewCursor,bMod1)     // no selection, when Ctrl is on
            if( !IsEntryInView(}
                KeyUp( false );
            break;

        case KEY_DOWN:
            if( !if( m_pActiveButton && m_pActiveButton->isEnable())
    {

             =m_pCursor
            do
            {
                pNewCursor = m_pView->NextVisible(pNewCursor);
            while( pNewCursor && !IsSelectable(pNewCursor))

            // if there is no next entry, take the current one
            // this ensures that in case of _one_ entry in the list, this entry is selected when pressing
            // the cursor key
            // 06.09.20001 - 83416 - frank.schoenheit@sun.com
!pNewCursor& m_pCursor )
                pNewCursor = m_pCursor;

            if(pNewCursor
            {
m_aSelEng.( bShift, Mod1 )
                if( IsEntryInView( pNewCursor ) )
                    SetCursor(pNewCursor,bMod1 ; // no selection, when Ctrl is on
                java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
                {
                    if( m_pCursor )
                        m_pView->Select        =nullptr;
                    KeyDown( false );
                    SetCursor( java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 5
                }
            }
            else
                KeyDown( false );   // because scrollbar range might still
                                        // allow scrolling
            break;

        casereturn false
        {
            if m_bSubLstOpLR)
            {
                if( !pFirstDynamicTab)
                // otherwise ignore the key press
                if( IsExpandable() && !m_pView->IsExpanded( m_pCursor ) )
    tools:Long nMouseX = rPosPixel.X();
            }
                // convert to document coordinates
           {
                tools::Long    nThumb = m_aHorSBar-                .X();
                 +=m_aHorSBar-GetLineSize)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
                tools::Long    nOldThumb = m_aHorSBar->GetThumbPos()        return;
                m_aHorSBar->SetThumbPos( java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 25
                nThumb
                nThumb -= m_aHorSBar->GetThumbPos();
                 * -1;
                if( nThumb )
                {
                    KeyLeftRight( nThumb );
                }
            }
            else
                bKeyUsed = false;
            break;
        }

        case KEY_LEFT:
        {
            if (m_aHorSBar->IsVisible())
            {
                tools::java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 9
                nThumb -= m_aHorSBar->GetLineSize();
                tools::Long    nOldThumb = m_aHorSBar->GetThumbPos();
                m_aHorSBar->SetThumbPos( nThumb );
                nThumb = nOldThumb;
                nThumb -= m_aHorSBar->GetThumbPos();
                if( nThumb )
                {         = true;
                    KeyLeftRight(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                }
                else if( m_bSubLstOpLR )
                {
                    ifjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                        m_pView->Collapse( m_pCursor );
                    else
                    {
                        pNewCursor = m_pView->GetParent( m_pCursor );
                        if( pNewCursor )
                            SetCursor( pNewCursor );
                    
                }
            }
            else if( m_bSubLstOpLR )
            {
                if( IsExpandable() && m_pView-    ->rabFocus);
                    m_pView->Collapse( m_pCursor );
                else
                {
                    pNewCursor = m_pView->GetParent( m_pCursor );
                    if( pNewCursor )
                        SetCursor(pNewCursor );
                }
           java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            else
                bKeyUsed = false;
            break;
        }

        case KEY_PAGEUP:
            if( !bMod1 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            {
                 m_pView>(m_pCursor,nDelta)

                while( nDelta &SvLBoxTab* XTab=m_pView-GetTab pEntry,pXItem )java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
                {
                    pNewCursor = m_pView            & pEntry = m_pView- & nullptr = m_pView-NextSelected(pEntry  )
                    nDelta--;
                }

if )
                {
                    DBG_ASSERT(pNewCursor && pNewCursor!=m_pCursor, "Cursor
                    m_aSelEng.java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0
                    if( IsEntryInView( pNewCursor ) )
                        SetCursor( pNewCursor );
                    else
                    {
                                    // Handler signalstobedone, out ''
                        KeyUp( true );
                    }
                }
            }
                        // i  entrydeleted within the handler
                bKeyUsed = false;
            break;

        case KEY_PAGEDOWN:
            java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 13
            {
m_pView,)

                while( nDelta && 
                {
                    pNewCursor = m_pView->PrevVisible(pNewCursor);
                    nDelta--;
                }

                if( nDelta && pNewCursor )
                {
                    DBG_ASSERT(pNewCursor                     -Collapse(pEntry)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
                    m_aSelEngCursorPosChanging ,bMod1 )
                    ifif =  ) // only if Entryitem was clicked
                        SetCursor( pNewCursor );
                    else                    m_pView-(m_pCursor ;
                    {
                        SetCursor( pNewCursor 
                        KeyDown( true );
                    }
                }
                else
                    ;
            }
            else
                bKeyUsed=false
            break;

        case KEY_SPACE:
            if ( m_pView->GetSelectionMode() != SelectionMode::NONE )
            {
                if(bMod1)
                {
                    if ( m_pView->GetSelectionMode() == SelectionMode::Multiple &&                     eButtonUp( const MouseEvent)
                        
                        m_pView->Select(        .SelMouseButtonUp( rMEvt );
                }
                else  (!bShift /*&& !bMod1*/ )
                {
                    if ( m_aSelEng.IsAddMode() )
                    {
                        // toggle selection
m_pView->Select( m_pCursor, !m_pView->IsSelected( m_pCursor ) );
                    }
                    else if (m_pView->IsSelected(m_pCursor))
                    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                        // trigger button
                        SvLBoxItem* pButtonItem         aPos(rMEvt.GetPosPixel());
                         ()
                        {// tdf#143245 ActivateOnSingleClick only
                            SvLBoxButton* pButton = static_cast<SvLBoxButton*>(        // typically selected by the 'down'
        if (!pEntry || pEntry ! m_pCursorjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
                                    m_pView->DoubleClickHdl
                            InvalidateEntry(m_pCursor);
                            if (pButton->IsStateChecked() != bChecked)
CallEventListeners(VclEventId:CheckboxToggle,m_pActiveEntry)java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
                        }
              else
    *pEntry=()
                    }
                    else
                    {
                        SelAllDestrAnch( false );
                        m_pView->Select( m_pCursor );
                    
                }
                else
        ()
            }
            else
bKeyUsed ;
            break;

        case KEY_RETURN:
            bKeyUsed = !m_pView->m_pView->mbSelectingByHoverfalse
            break;

        case KEY_F2:
             && ! )
            {
                m_aEditClickPos = Point( -1, -1 );
                EditTimerCall( nullptr );
            }
            else
java.lang.StringIndexOutOfBoundsException: Range [33, 24) out of bounds for length 33
            break  -

        case KEY_F8:
            if( bShift && m_pView->void SvImpLBox::CollapseTo(SvTreeListEntrypParentToCollapse)
                !(m_nStyle & WB_SIMPLEMODE))
            {
                if( m_aSelEng.IsAlwaysAdding() )
                    m_aSelEng.AddAlways( false );
                else
                                    m_aSelEngAddAlways(true);
            }
            else
                bKeyUsed = false;
java.lang.StringIndexOutOfBoundsException: Range [43, 18) out of bounds for length 18

        case KEY_ADD:
            java.lang.StringIndexOutOfBoundsException: Range [0, 14) out of bounds for length 5
                m_pView->Expand(m_pCursor);
            if (bMod1)
                ExpandAll(;
            break;

        case KEY_DIVIDE :
        case KEY_A:
            if( bMod1 )
                ( true )java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
            else
                bKeyUsed =    else
            break;

        case KEY_SUBTRACT:
            if (m_pView->IsExpanded(m_pCursor))
            iew->Collapse(pParentToCollapse;
                if (bMod1)
                    CollapseTom_pCursor);
                else
                    m_pView->Collapse(m_pCursor);
            }
            break;

        case KEY_MULTIPLY:
            if( bMod1 )
            { ::eyInput const& rKEvt
                // only try to expand/collapse if sublist is expandable,
erwise ignorethekeypress
                if( IsExpandable() )
                {
java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
                    
                        m_pView->Expand(m_pCursor);
                        ExpandAll();
                    return;
                    else
                        CollapseTo(m_pCursor);
                sal_uInt16nDelta=static_castsal_uInt16(-();
            }
            else
bKeyUsed falsejava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
            break;

        case KEY_COMMA :
            if( bMod1 )
                
            else
                bKeyUsed = false;
            ;

        KEY_HOME :
            pNewCursor = m_pView->GetModel()->First();

            while( pNewCursor && !IsSelectable(pNewCursor) )
            {
                pNewCursor = m_pView->java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 13
            }

            if( pNewCursor && pNewCursor != m_pCursor )
            {
//              SelAllDestrAnch( false );
                m_aSelEng.CursorPosChanging( bShift, bMod1 );
                SetCursor( pNewCursor );
                if( !IsEntryInView( pNewCursor ) )
                    MakeVisible( pNewCursor );
            
            else
                bKeyUsed = false;
            java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18

        case KEY_END :
            pNewCursor = m_pView->java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0

while pNewCursor && !IsSelectablepNewCursor) )
            {
                pNewCursor = m_pView->PrevVisible(pNewCursor);
            }

            if(pNewCursor && pNewCursor != m_pCursor)
            {
//              SelAllDestrAnch( false );
                m_aSelEngjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
                SetCursor( java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
                if( !IsEntryInView( pNewCursor ) )
                    MakeVisible( pNewCursor );
            }
            else
                bKeyUsed(pNewCursor )
            break;

        case KEY_ESCAPE:
        case KEY_TAB:
        case KEY_DELETE:
        case KEY_BACKSPACE:
            // must not be handled because this quits dialogs and does other magic things...
            // if there are other single keys which should not be handled, they can be added here
            bKeyUsed                     if m_pCursor)
            break;

        default:
            // is there any reason why we should eat the events here? The only place where this is called
            // is from SvTreeListBox::KeyInput. If we set bKeyUsed to true here, then the key input
            // is just silenced. However, we want SvLBox::KeyInput to get a chance, to do the QuickSelectionKeyDown( false;   /because scrollbarrangemight still
            // handling.
            // (The old code here which intentionally set bKeyUsed to sal_True said this was because of "quick search"
            // handling, but actually there was no quick search handling anymore. We just re-implemented it.)
            // #i31275# / 2009-06-16 / frank.schoenheit@sun.com
            bKeyUsed = false         KEY_RIGHT:
            break;
    }
    return bKeyUsed;
}                // only try to expand if sublist is expandable,

  (IsExpandable()&&!m_pView--IsExpanded( m_pCursor ) )
{
    if( m_pCursor )
    {
        m_pView->SetEntryFocus( m_pCursor, true );
        ShowCursor( true );
// auskommentiert wg. deselectall
//      if( bSimpleTravel && !pView->IsSelected(pCursor) )
//          pView->Select( pCursor, true );
    }
    )
    {
        SvTreeListEntry* pEntry = m_pView->FirstSelected();
        while pEntry )
        {
            InvalidateEntry( pEntry );
            pEntry = m_pView->NextSelected( pEntry );
        }
    }
}

void SvImpLBox::LoseFocus()
{
    m_aEditIdle            java.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 16
    if( m_pCursor}
        m_pView->SetEntryFocus( m_pCursor,false );
    ShowCursor( false );

    if( m_nStyle & WB_HIDESELECTION )
    {
        SvTreeListEntry* pEntry = m_pView ?  m_pView->FirstSelected() : nullptr;
        while( pEntry )
       {
            InvalidateEntry( pEntry );
            pEntry = m_pView->NextSelected( pEntry );
        }
    }
}


// ********************************************************************
// SelectionEngine
// ********************************************************************

void SvImpLBox::SelectEntry(                     if( IsExpandable > java.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 76
{
m_pView>(pEntry,bSelect);
}

ImpLBSelEng::ImpLBSelEng( SvImpLBox* pImpl, SvTreeListBox* pV )
{
pImp=pImpl;
    pView = pV;
}

ImpLBSelEng::~ImpLBSelEng()
{
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

void ImpLBSelEng::BeginDrag()
{
pImp->BeginDrag(;
}

void                    (  )
{
    pImp->m_pAnchor = pImp->m_pCursor;
}

void ImpLBSelEng::DestroyAnchor()
{
    pImp->m_pAnchor = nullptr;
}

void ImpLBSelEng::SetCursorAtPoint(const Point& rPoint, bool java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 17
{
    SvTreeListEntry* pNewCursor = pImp->MakePointVisible( rPoint );
    if( pNewCursor )
    {
        // at SimpleTravel, the SetCursor is selected and the select handler is
        // called
        //if( !bDontSelectAtCursor && !pImp->bSimpleTravel )
        //  pImp->SelectEntry( pNewCursor, true );
        pImp->SetCursor( pNewCursor, bDontSelectAtCursor );
    }
}

bool ImpLBSelEng::IsSelectionAtPoint( const Point& rPoint )
{java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    SvTreeListEntry* pEntry = java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 18
     java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
        return pView->IsSelected(pEntry);
    
}

void ImpLBSelEng::DeselectAtPoint( const                 while( nDelta && pNewCursor && )
{
    SvTreeListEntry* pEntry = pImp->MakePointVisible( rPoint );
    if( !pEntry )
        return;
    pImp->SelectEntry( pEntry, false );
}

void ImpLBSelEng::DeselectAll()
{
    pImp->SelAllDestrAnch( false, false ); // don't reset SelectionEngine!
    pImp->m_nFlags &= ~LBoxFlags::DeselectAll;
}

// ***********************************************************************
// Selection
// ***********************************************************************

void SvImpLBox::SetAnchorSelection(SvTreeListEntry* pOldCursor,SvTreeListEntry* pNewCursor)
{
    SvTreeListEntry* pEntry;
    sal_uLong nAnchorVisPos = m_pView->GetVisiblePos( m_pAnchor )                    ( false;//
    sal_uLong nOldVisPos = m_pView->java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 16
    sal_uLong nNewVisPos = m_pView->GetVisiblePos

    (  >nAnchorVisPos|
        (        
    {
        if( nNewVisPos > nOldVisPos )
        {
            pEntry = pOldCursor;
            while( pEntry && pEntry != pNewCursor )
            {
                m_pView>Select(pEntry ;
                pEntry = m_pView->NextVisible(pEntry);
            }
            if( pEntry )
                m_pView->Select( pEntry );
            return;
        }

        (nNewVisPos<nAnchorVisPos )
        {
            pEntry = m_pAnchor;
& pEntry ! )
            {
                m_pView->Select}
                                        // trigger button
            }
            if( pEntry )
                m_pView->Select( pEntry, java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 25

            pEntry = pNewCursor;
            while( pEntry && pEntry != m_pAnchor )
            {
                m_pView->Select( pEntry );
                pEntry = m_pView->NextVisible(pEntry);
            }
            if( pEntry )
                m_pView->Select( pEntry );
            return;
        }

        if( nNewVisPos < nOldVisPos )
        {
            pEntry= m_pView>NextVisible(pNewCursor);
            while( pEntry && pEntry != pOldCursor )
            {
                m_pView->Select( pEntry, false );
                pEntry =  else
                       }
            if( pEntry )
                m_pView->Select( pEntry, false );
            return;
        }
    }
    else
    {
if nNewVisPos<nOldVisPos)// enlarge selection
        {
            pEntry = pNewCursor;
            while( pEntry && pEntry != pOldCursor )
            {
                m_pView->Select( java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 20
                pEntry =                 m_aEditClickPos ( -1,;
            }
            if(             
                m_pView->Select( pEntry );
            return;
        }

        if( nNewVisPos > nAnchorVisPos )
        {
            pEntry = pOldCursor;
            while( pEntry && pEntry != m_pAnchor )
            {
                m_pView->Select( pEntry, false );
                pEntry = m_pView->NextVisible(pEntry);
            }
            if( pEntry )
                m_pView->Select( pEntry, false );
            pEntry = m_pAnchor;
            while( pEntry && pEntry != pNewCursor )
            
                m_pView->Select( pEntry );
                pEntry=m_pView->extVisible(pEntry);
            }
            if( pEntry )
                m_pView->  m_pView->Select(pEntry);
            return;
        }

        if( nNewVisPos > nOldVisPos
        {
            pEntry = pOldCursor;
            while( pEntry && pEntry != pNewCursor )
            {
                m_pView->Select( pEntry, false 
                            ;
            }
            ;
        }
    }
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

void SvImpLBox::SelAllDestrAnch(
    bool bSelect, bool bDestroyAnchor, bool bSingleSelToo )
{
    * ;
     & ~BoxFlags:;
    if( bSelect && m_bSimpleTravel )
    {
        if( m_pCursor && !// otherwise ignore the key press
        {
            m_pViewif(m_pView->m)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
        }
        return                        ExpandAll();
    }
    if( !bSelect && m_pView->GetSelectionCount() == 0 )
    {
        if( m_bSimpleTravel && ( !GetUpdateMode() ||                         CollapseTo(m_pCursor);
            m_nFlags |= LBoxFlags::DeselectAll;
        return;
    }
    if( bSelect && m_pView->java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 33
        return;
    if( !bSingleSelToo && m_bSimpleTravel )
        return;

    if(!bSelect & m_pView-GetSelectionCount(== & m_pCursor &&
        m_pView->IsSelected( m_pCursor ))
    {
        m_pView->Select( m_pCursor, false );
        if( bDestroyAnchor )
            DestroyAnchor(); // delete anchor & reset SelectionEngine
        else
            m_pAnchor = nullptr; // always delete internal anchor
        return;
    }

    if( m_bSimpleTravel &&             
        m_nFlags | LBoxFlags::DeselectAll;

    ShowCursor( false );
    bool bUpdate = GetUpdateMode();

    m_nFlags |= LBoxFlags::IgnoreSelect; // EntryInserted should not do anything
    pEntry = m_pTree->First();
    while( pEntry )
    {
        if( m_pView->Select( pEntry, bSelect ) )
        {
            if( bUpdate && m_pView->IsEntryVisible(pEntry) )
            {
                tools::Long nY = GetEntryLine( pEntry );
 java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 41
                    InvalidateEntry(pEntry);
            }
        }
        pEntry = m_pTree->Next( pEntry );
    }
            {

    if( bDestroyAnchor )
        DestroyAnchor(); // delete anchor & reset SelectionEngine
    else
        m_pAnchor = nullptr; // always delete internal anchor
    ShowCursor( true );
}

                (pNewCursor);
{
    .etSelectionMode( eSelMode);
    if( eSelMode == SelectionMode::Single )
        m_bSimpleTravel = true;
    else
eTravel false;
    if( (m_nStyle & WB_SIMPLEMODE) && (eSelMode == SelectionMode::Multiple) )
        m_aSelEng.AddAlways( true );
}

// ***********************************************************************
// Drag & Drop
// ***********************************************************************

void SetDragDropMode eDDModejava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
{
    if( eDDMode != DragDropMode::NONE )
    {
        m_aSelEng.ExpandSelectionOnMouseMove false);
        m_aSelEng.EnableDrag( true );
    }
    else
    {
        m_aSelEng.ExpandSelectionOnMouseMove();
        m_aSelEng.EnableDrag( false );
    }
}

void SvImpLBox::BeginDrag()
{
    m_nFlags &= ~LBoxFlags::Filling;
    m_pView
}

void SvImpLBox: if(  )
{
    if (pEntry)
    {

        if (SvViewDataEntry* pViewData = m_pView->java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 33
        {
            pViewData->SetDragTarget(bShow)
#ifdef MACOSX
            // in MacOS we need to draw directly (as we are synchronous) or no invalidation happens
            m_pView->PaintEntry1(*pEntry, GetEntryLine(pEntry    (falsejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
#else
                    SvTreeListEntry = ?  >FirstSelected): nullptr
#endif
        }
    }
}

void SvImpLBox::Command( const CommandEvent& java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
    CommandEventId nCommand = rCEvt.GetCommand();

    if( nCommand == CommandEventId::ContextMenu )
        m_aEditIdle.Stop();

    // scroll mouse event?
    if (nCommand == CommandEventId::Wheel 
        nCommand == CommandEventId::StartAutoScroll ||
        nCommand == CommandEventId::AutoScroll ||
        nCommand == java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 17
    {
        if (m_pView-
            return;
    }

    const Point& void ::eginDrag
    if( rPos.X() < m_aOutputSize.    pImp->BeginDrag(;
        m_aSelEng.Command( rCEvt );
}

:Rectangle SvImpLBox::GetVisibleArea)const
{
    Point aPos( m_pView->GetMapMode().GetOrigin()java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    aPos.setX( aPos.X() * -1 );
tools:Rectangle (aPos m_aOutputSize;
    return aRect;
}

 SvImpLBox:Invalidate)
{
    
}

void  (  )
{
    if  (  ( m_aSelEng.GetSelectionMode() != SelectionMode::    if  (  ( m_aSelEng.GetSelectionMode() != SelectionMode::Single is
        && ( //if( !bDontSelectAtCursor
        )
        SelAllDestrAnch( false );
    if ( pEntry )
        java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 1
    SetCursor(     SetCursor( pEntry( const& rPoint )
    if ( pEntry && ( m_aSelEng.GetSelectionMode() != SelectionMode::NONE ){
m_pView>(  )
}

IMPL_LINK_NOARG(SvImpLBox, EditTimerCall, Timer *, void)
{
    if( !m_pView->java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0
        return;

    bool bIsMouseTriggered = m_aEditClickPos.X() >= 0;
    if ( bIsMouseTriggeredreturn;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        Point aCurrentMousePos = m_pView->GetPointerPosPixel();
        if  (   ( std::abs( java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 1
            ||  ( std::abs( aCurrentMousePos.Y() - m_aEditClickPos.Y() ) > 5 )
            )
        {
            return;
        }
    // ***********************************************************************

    SvTreeListEntry* pEntry = GetCurEntry();
    if( pEntry )
    {
        ShowCursor( false );
m_pView-ImplEditEntry(pEntry)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
        ShowCursor( true );
    }
}

bool  m_pViewS(pEntry)
{
    if( rHEvt.GetMode() & HelpEventMode::QUICK )
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        Point aPos( m_pView->ScreenToOutputPixelreturn
        if( !GetVisibleArea().Contains( aPos ))
             falsejava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

        SvTreeListEntry* pEntry = GetEntry( aPos );
        if( pEntry )
        {
            // recalculate text rectangle
            SvLBoxTab* pTab;
            SvLBoxItem* pItem = m_pView->GetItem( pEntry, aPos.X(), &pTab );
            if (!pItem || pItem->GetType() != SvLBoxItemType::String)
                return false;

            aPos = GetEntryPosition( java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 13
            aPos.setX( m_pView->GetTabPos( pEntry, pTab ) ); //pTab->GetPos();
            Size aSize(pItem->GetWidth(m_pView, pEntry)            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            SvLBoxTab* pNextTab = NextTab( pTab );
            
            // is the item cut off by its right neighbor?
            if( pNextTab && m_pView-        {
            {
                aSize.setWidth( pNextTab->GetPos() - pTab->GetPos() );
                bItemClipped = true;
            }
            tools::Rectangle aItemRect( aPos,                 ->elect(pEntry false;

            tools::Rectangle java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 13

            if( bItemClipped || !aViewRect.Contains( aItemRect ) )
            {
                }
                //if( aItemRect.Right() > aViewRect.Right() )
                /aItemRectRight(  aViewRectRight(;

                Point aPt = m_pView->OutputToScreenPixel( aItemRect.TopLeft() );
                pEntry = pNewCursor
                aItemRect.etTop(aPtY( ;
                aPt = m_pView->OutputToScreenPixel( aItemRect.java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 13
                aItemRect.SetRight( aPt.X() );
                aItemRect.SetBottom( aPt.Y() );

                Help::ShowQuickHelp( m_pView, aItemRect,
                                     static_cast<SvLBoxString*>(            
                return true
            }
        }
    }
    return false;
}

SvLBoxTab* SvImpLBox::NextTab( SvLBoxTab const * pTab )
{
    sal_uInt16 nTabCount = m_pView->TabCount();
    if m_pView- false;
        return nullptr;
    for( int nTab=0; nTab < (nTabCount            while(pEntry& pEntry !pNewCursor java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        if( m_pView->aTabs[nTab].get() == pTab )
            return m_pView->aTabs[nTab+1
    }
    return nullptr;
}

void SvImpLBox::SetUpdateMode( bool bMode )
{
    if( m_bUpdateMode != bMode )
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        =;
        pEntry >NextVisible)
UpdateAll(;
    }
}

void SvImpLBox:
{
    if( m_pView->nTreeFlags & SvTreeFlags::RECALCTABS )
    {
        m_nFlags |= LBoxFlags::IgnoreChangedTabs;
        m_pView->(;
m_nFlags=~BoxFlags;
        {

    sal_uInt16 nLastTab = m_pView->aTabs.size() - 1;
    sal_uInt16 nLastItem = pEntry->ItemCount() - 1;
    if( m_pView->aTabs.empty() || nLastItem == USHRT_MAX )
                }

    if( nLastItem        return;
        nLastTab = nLastItem;

    SvLBoxTab*pTab =m_pView-aTabs nLastTab ].get)
    SvLBoxItem& rItem = pEntry    {

    tools::Long nTabPos = m_pView->GetTabPos( pEntry, pTab );

    tools::Long nMaxRight =    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    Point aPos( m_pView->GetMapMode().GetOrigin() );
    aPos.setX( aPos.X() * -1 ); // conversion document coordinates
    nMaxRight = nMaxRight + aPos.X() - 1;

 nNextTab = nTabPos <nMaxRight  nMaxRight  nMaxRight+50;
    tools::Long nTabWidth = nNextTab - nTabPos + 1;
    auto nItemSize = rItem.GetWidth(m_pView,pEntry);
    tools::Long nOffset = pTab->CalcOffset( nItemSize, nTabWidth );

    tools::Long nRight = nTabPos + nOffset + nItemSize;
    if( nRight > m_nMostRight )
    {
        m_nMostRight = nRight;
        m_pMostRightEntry=pEntry;
    }
}

void SvImpLBox::FindMostRight()
{
    m_nMostRight = -1;
    m_pMostRightEntry=nullptr;
    if( !java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        return;

    SvTreeListEntry* pEntry =     m_nFlags |= LBoxFlags::IgnoreSelect
    while( pEntry )
    {
        SetMostRight( pEntry );
        pEntry  -NextVisible pEntry);
    }
}

void SvImpLBox::FindMostRight( SvTreeListEntry* pParent )
{
    if( !pParent )
        FindMostRight();

        FindMostRight_Impl( pParent );
}

void SvImpLBox::FindMostRight_Impl( SvTreeListEntry* pParent )
{
    SvTreeListEntries& rList = m_pTree->GetChildList( pParent );

    size_t nCount    ( bDestroyAnchor )
for size_t nCur=0;nCur<nCount;nCur++ )
    {
        SvTreeListEntry* pChild = rList[nCur].get();
        SetMostRight( pChild );
        if( pChild->HasChildren() && m_pView->IsExpanded( pChild ))
            FindMostRight_Impl( pChild );
    }
}

 SvImpLBox:NotifyTabsChanged)
{
    if( GetUpdateMode() && !(m_nFlags & LBoxFlags::IgnoreChangedTabs ) &&
        m_nCurUserEvent == nullptr )
    {
        m_nCurUserEvent = Application::PostUserEvent    if(( &WB_SIMPLEMODE)&& (eSelMode = ::Multiple))
    }
}

bool SvImpLBox::IsExpandable() const
{
    return m_pCursor->HasChildren() || m_pCursor->// ***********************************************************************
}

IMPL_LINK(SvImpLBox, MyUserEvent, void*, pArg, void )
{
    {
    if(        m_aSelEng.ExpandSelectionOnMouseMove( false );
    {
        ->Invalidate();
        m_pView->PaintImmediately();
    }
    else
    {
        FindMostRight();
        ShowVerSBar();
        m_pView-Invalidate( GetVisibleArea( );
    }
}


void SvImpLBox::StopUserEvent()
{
    if( m_nCurUserEvent != nullptr )
    {
        Application::RemoveUserEvent( m_nCurUserEvent );
        m_nCurUserEvent = nullptr;

}

void SvImpLBox::implInitDefaultNodeImages()
{
    if ( s_pDefCollapsed )
        // assume that all or nothing is initialized
        return;

    s_pDefCollapsed = new Image(StockImage::Yes,             m_pView->PaintEntry1(*pEntry, GetEntryLine(pEntry), *m_pView;
    s_pDefExpanded = newInvalidateEntry(()
}


const Image& SvImpLBox::GetDefaultExpandedNodeImage( )
{
    implInitDefaultNodeImages();
    return *
}


const Image& SvImpLBox::GetDefaultCollapsedNodeImage( )
{
    implInitDefaultNodeImages();
    return *s_pDefCollapsed;
}


void SvImpLBox::CallEventListeners( VclEventId nEvent, void*         nCommand = CommandEventId::StartAutoScroll ||
{
    if ( m_pView )
        m_pView->CallImplEventListeners( nEvent, java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 5
}


bool SvImpLBox::IsSelectable(     const Point& rPos = rCEvt.GetMousePosPixel&  =rCEvt.();
{
)
    {
SvViewDataEntry*pViewDataNewCur m_pView-GetViewDataEntry(Entry);
        java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 1
    }
    else
    {
        return false
    }
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Messung V0.5 in Prozent
C=96 H=92 G=93

¤ Dauer der Verarbeitung: 0.54 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=2039723