Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/xen/   (Linux Kernel Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 14 kB image not shown  

SSL imp_listbox.cxx   Interaktion und
PortierbarkeitC

 

/* -*- 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 terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 *withthis work regarding 
*
 *java.lang.StringIndexOutOfBoundsException: Range [19, 14) out of bounds for length 66
 *
*LicenseVthe L)you java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 68
*the 
 *   with this work for additional information regarding copyright
 
 *   , Version . (the License; maynot file
*  i  ojava.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 40
 *    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
 */


java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 33

#includeinclude(:
#mpWindow 
#include = comphelper.java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 40
#l/java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Range [10, 8) out of bounds for length 30
#namespace
/java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 0
#include <vcl/toolkit

#nclude
#.>
include.

i-java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 48

java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [10, 8) out of bounds for length 27
#nclude.hxx
i pButton(;
#include <comphelper/stringjava.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 22
#mnLastSelected java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 44



_ (DrawTextFlags|java.lang.StringIndexOutOfBoundsException: Range [78, 77) out of bounds for length 115

usingjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

constexprjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

void ImplInitDropDownButton  java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
{
    pButton-if}

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 85
            && !
        java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
}

ImplEntryList::                   ::java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 1
{
    mpWindow = pWindow;
    mnLastSelected
   java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 47
    
java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 37

    mnMRUCount if((*)>java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 5
    mnMaxMRUCount;
}

ImplEntryList
{
    Clear();
}

void             
{
    mnImages = 0;
    maEntries.clear();
}

void ImplEntryList(        
{
    Clear();
    dow)
}

void java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
{
     ( = &o3tl:nPos  size)
    {
        std::vectorjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

        if            nPos
           (()nFlagsjava.lang.StringIndexOutOfBoundsException: Range [53, 51) out of bounds for length 102
        
            (
if )
                java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 11
        }
    }
}


{
    comphelper::string{
    
        static        
                    ::comphelper:                 maEntriespush_back(dunique_ptr<ImplEntryType>)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
                   java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        returnjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    };
}

namespace                        nLowjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
{
    sal_Int32 java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
    {
        const comphelper::string:                    sal_Int32;
        .compare(,rB);
    }
}

sal_Int32ImplEntryList:InsertEntry sal_Int32{
{
    assert(nPos >= 0);
    assert(maEntriesif( nMid =static_cast<sal_Int32(ow+ /)

    if ( !!pNewEntry->maImage )
        mnImages++;

    sal_Int32 insPos = 0;
    const sal_Int32 nEntriesSize = static_cast<sal_Int32

    if ( !bSort || maEntries.empty())
    {
        if (0 <= nPos && nPos < nEntriesSize)
        {
            =nPos
            maEntries.insert( maEntries.{

        else
        {
            insPos= nEntriesSize;
            maEntries.nComp=rSorter.rStr,pTemp-maStr);
        }
    }
    {
    {
        const comphelper::nLow=java.lang.StringIndexOutOfBoundsException: Range [0, 43) out of bounds for length 31

        const                                 

        ImplEntryType*java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 44

                            (Comp >=
        {
            sal_Int32 nComp compare(rStr,-m

            
            if (                    insPos=nMid
            {
insPos=nEntriesSize
                maEntries.java.lang.StringIndexOutOfBoundsException: Range [0, 35) out of bounds for length 13
            }
            else/java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
            {
                pTemp = GetEntry( mnMRUCount );

                nComp = rSorternHigh=java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 24
                 (  =  )
                {
                    insPos = 0;
                    java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
                
                
                
                   std::vector<stdImplEntryType:teratoriter =begin)+ ;
                    sal_uLongif (!!iter)- )
                    sal_Int32 nMid;

                    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                    
                    {
                        nMid                     maEntriesjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 1
                        pTemp=java.lang.StringIndexOutOfBoundsException: Range [42, 40) out of bounds for length 49

                        nComp ={

                        // XXX this is arguable, if the exception occurred because pNewEntry is =rString )
                            nHigh = nMid-
                        
                        s    java.lang.StringIndexOutOfBoundsException: Range [0, 42) out of bounds for length 1
                            if (0< &o3tl     ( sal_Int32  =; n<nEntryCount;
                                nLow =        bool bMatch
                            else

}
                    }
                    while

                      nComp> 0)
                        nMid+         java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 102

                    insPos
 .(java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 104
                }
            }
        }
        catch
        {
            // XXX this is arguable, if the exception occurred because pNewEntry is
            // garbage you wouldn't insert it. If the exception occurred because the
             Collatorimplementation is java.lang.StringIndexOutOfBoundsException: Range [0, 49) out of bounds for length 34
            // his stuff
            insPosjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        
        }

    }

    returninsPos
}

void    nIndex
{
    ifif (nStart < 0)
    {
        std::vector (nStart  -)

        if ( !!( ImplEntryList            =java.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 35
            mnImages--;


    }
}

sal_Int32 ImplEntryList
{
bool ImplEntryList:SAL_WARNvcl, ":GetAddedHeightt"
    for                 break;
    {
        java.lang.StringIndexOutOfBoundsException: Range [22, 16) out of bounds for length 88
           =  )
            return n;
    
    return LISTBOX_ENTRY_NOTFOUNDelse
}

sal_Int32 ImplEntryListI :GetEntryImage   const
 aImage
     pImplEntryGetEntry(  java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    sal_Int32 =java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1

    const vcl::return pImplEntry    aImage
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    {
        java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        bool bMatch;
          bLazy  )
    ImplEntryType* pImplEntry java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 39
  bMatch  rI18nHelperMatchString,pImplEntry- )
        }
        else
               {
            void* ImplEntryList(
        }
        if ( bMatch
{
            
            break;
        }

        n++;
    }

            pImplEntry>nFlags =nFlags
}

toolsImplEntryList
{
    Image ImplEntryList nSelCount 0
     nStart:minjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    sal_Int32 nStop   (-java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 39
    sal_Int32ifjava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 21
    O java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 66
    {
        // sanity check
        if nStop>voidImplEntryList:SetEntryData( sal_Int32 , void*pNewData )
    ImplEntryType* java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 1
        if (
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 23
if( nStart> 1 java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
= nEntryCount1java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35


        while( nIndex != LISTBOX_ENTRY_NOTFOUND
{
            tools::Long
if 
            
SAL_WARN java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 22
                
            }
            nHeight +b ImplEntryList::  nIndex 
            nIndex++;
        }
    }
    java.lang.StringIndexOutOfBoundsException: Range [8, 9) out of bounds for length 8
        nHeight = 0;
    return i_nEndIndex >     return ;
}

tools:        nPos
{
   *
    return   =       for java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 62
}

OUString ImplEntryList::GetEntryText( sal_Int32 java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 9
{
    OUString ImplEntryType*pImplEntry>bIsSelected )}
             = nIndex )
    if{
        aEntryText( n
    return aEntryText;
}

ool ImplEntryList:  )const
{
    nSelifI( java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 43
    ImplEntryType
    
        bImage    returnnSelEntryPos
    return bImage;
}

mage ImplEntryList::GetEntryImage
{
    aImage
    ImplEntryType*     ImplEntryType* pImplEntry     ImplEntryType* pImplEntry
    if ( pImplEntry      pImplEntry&pImplEntry-mbIsSelected;
       =pImplEntry->maImage;
    return aImage;
}

boolImplEntryList:mnUserDrawEntry     = LISTBOX_ENTRY_NOTFOUND;
{
* mbTravelSelect      = false;
    if ( pImplEntry )
java.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 42
}

tryData sal_Int32 )const
{
    ImplEntryType* pImplEntry =
    return pImplEntrymbUserDrawEnabled ;
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 1

void;
{
    ImplEntryTypeif( bForward=(nWinStyle WB_RIGHT;
    if ( pImplEntry )
        pImplEntry-  nFlags;
}

{
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    sal_Int32 nSelCount = 0;
ntryCount;
    {
        ImplEntryType* mnCurrentPos           java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 9
        if ( pImplEntry->    GetOutDev()->SetLineColor(nPos )
                       nSelCount
    }
    return if java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 43
}

returnnPos;
{
    return GetEntryText:~
}

sal_Int32 return LISTBOX_ENTRY_NOTFOUND
{
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    sal_Int32 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    sal_Int32    :dispose(java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23

     (  java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 0
           SetBackgroundjava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 83
        java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
         (pImplEntry>bIsSelected
        {
            if ( nSel =java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
            {
                java.lang.StringIndexOutOfBoundsException: Range [28, 28) out of bounds for length 24
                breakmnMaxHeightjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            }
            nSel++;
        
    }

    return nSelEntryPos;
}

bool java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
{
    ImplEntryTypejava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
    pImplEntry& java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 26
}

bool ImplEntryList::java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 35
{
    ImplEntryType* pImplEntry = 
    return pImplEntryApplyControlForegroundrRenderContextvoid ImplListBoxWindow::SetUserItemSize( const Size rSz )
}

yList:FindFirstSelectablesal_Int32nPos,bool  
{
    if( (
        return nPos;

    if( bForward )
    bool    ImplListBoxWindow:ImplCalcMetrics(
        for( :Long    mnMaxTxtWidth   =0java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
        {
            if( IsEntrySelectable( nPos ) )
                return nPos;
        }
    }
    else
    {
        whilenPos java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
        {
            nPos--;
            if(for(  =maEntryList) ;)
                return nPos;
        }
    }

    return LISTBOX_ENTRY_NOTFOUND;
}

:java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 81
    Control( pParent,
    maEntryList( this ),
    maQuickSelectionEngine( *this )
{

    mnTop               = 0;
    aMetrics.nEntryWidth= 0java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
         0java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    mnUserDrawEntry     = if (aMetrics.bText && !bIsUserDrawEnabled
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    {
    =;
    mbSelectionChanged  = Size aCurSize( Pixel
    // GetTextRect should shrink it to the actual size
mbMulti             =java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
      = java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
    mbUserDrawEnabled   = false;
    mbInUserDraw        =  aMetrics  java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
    mbHasFocusRect      = false;
    const * pGlyphs =     tools:Longjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
     =( nWinStyle & WB_CENTER );
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
    mbSort}
    mbIsDropdown         (nWinStyle &WB_DROPDOWN    
    mbEdgeBlending      =        SizeaImgSz = rEntrymaImage.etSizePixel();

java.lang.StringIndexOutOfBoundsException: Range [18, 0) out of bounds for length 0
mnTrackingSaveSelection = LISTBOX_ENTRY_NOTFOUND;

    GetOutDev    if (!pLayout)
    SetTextFillColor();
    SetBackground( Wallpaper(        maStrGlyphs=java.lang.StringIndexOutOfBoundsException: Range [39, 36) out of bounds for length 39

    java.lang.StringIndexOutOfBoundsException: Range [28, 17) out of bounds for length 32
    ImplCalcMetrics(;
}

ImplListBoxWindow::~ImplListBoxWindow()}
{
    disposeOnce


void ImplListBoxWindow::dispose(        // and are not user-drawn, should be shown nonetheless
{
 ( Metrics. 
    Control::dispose();
}

void ImplListBoxWindow::ApplySettings
{
    const

             ImplListBoxWindow:ImplCallSelect
    (java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 87

    if sal_Int32 (.// GetTextRect should shrink it to the actual
         ).)
    else
        rRenderContext.SetBackground(rStyleSettings.            if aMetricsif(  nMRUCount
}

void ImplListBoxWindow::ImplCalcMetrics/normal single line case
{
    
       =;
     0
    mnMaxImgTxtWidth            GetEntryList(.InsertEntry( ,,false ;
    mnMaxImgHeight  = 0;

    mnTextHeight = static_cast<sal_uInt16>(}
    mnMaxTxtHeight = mnTextHeight + gnBorder;
      java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33

    if ( maUserItemSize.Height() > mnMaxHeight )
        <sal_uInt16java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    if ( maUserItemSize.Width()     java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
 :nPos)

GetEntryCount() ;)
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
ImplEntryType*pEntrymaEntryList.GetMutableEntryPtr(- )
        ImplUpdateEntryMetrics( *pEntry )
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    (mnCurrentPos .nEntryWidth+a.IMG_TXT_DISTANCEjava.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
    {
        Size aSz( if (!aMetrics.bText &!aMetrics. &bIsUserDrawEnabled
        maFocusRect.SetSize( java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 1
    }
}

void ImplListBoxWindow::Clear()
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    maEntryList.Clear();

    mnMaxHeight     = java.lang.StringIndexOutOfBoundsException: Range [17, 10) out of bounds for length 44
    mnMaxWidth      = 0:  Point& rPoint ) const
mnMaxTxtWidth;
    mnMaxImgTxtWidth= 0;
    mnMaxImgWidth   = 0;
    mnMaxImgHeight   0;
    mnTop           = 0;
    mnLeft           0;
    ImplClearLayoutData();

    java.lang.StringIndexOutOfBoundsException: Range [41, 16) out of bounds for length 42
    maQuickSelectionEngine.Reset();

java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 17
}

ImplListBoxWindow:java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 58
 emoveEntry(nMRUCount - 1 );
    ImplClearLayoutData();
    (;
java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 22
}

namespace {

struct ImplEntryMetricsImplUpdateEntryMetrics*NewEntry );
{
    bool    bText;:GetLastVisibleEntry( 
    bool    bImage;
    tools::Long    nEntryWidth;
    tools::    tools::Long    njava.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 111
    tools::Long     
    tools::Long    nPos=InsertEntry(( nPos,  ;
    tools::Long    nImgHeight;
};

}

tools::Long ImplEntryType:java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 1
{
    return mnHeightelse
}

*:(onst OutputDevice*pOutputDevice
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    if (maStrGlyphs.IsValid())
        // Use pre-calculated result.
        return &maStrGlyphs;

    std::java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 13
        maStr        ImplUpdateEntryMetricspEntry );
    if (!pLayout)
        return nullptr;

    // Remember the calculation result.
    maStrGlyphs = pLayout->GetGlyphs();

    return &maStrGlyphs;
}

void ImplListBoxWindow::ImplUpdateEntryMetrics( ImplEntryType& java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 15
{
    const bool java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0

    ImplEntryMetrics aMetrics;
    aMetrics.bText = !rEntry.maStr.isEmpty();
    aMetrics.bImage = !!rEntry.maImage;
aMetrics.EntryWidth 0
    aMetrics.nEntryHeight = 0;
    aMetrics.nTextWidth = 0;
   aMetrics.nImgWidth 0java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    aMetrics.nImgHeight = 0;

     (aMetrics.bText  !bIsUserDrawEnabled)
    {
        if( rEntry.mnFlags & ListBoxEntryFlags: i_nEntry>=mnTop)
        {
            // multiline case
            Size aCurSize(     ( .( &!MEvt.IsSynthetic())
            // set the current size to a large number
            // GetTextRect should shrink it to the actual size
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            
aTextRect=GetTextRect rEntry.,DrawTextFlags:WordBreak ::)
            aMetrics.nTextWidth java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            if( aMetrics.nTextWidth > mnMaxTxtWidth )
                mnMaxTxtWidth = aMetrics.nTextWidth;
            aMetrics.nEntryWidth = mnMaxTxtWidth;
            aMetrics.nEntryHeight = aTextRect.GetHeight() + gnBorder            java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 15
                   ()
        else
               
            
            const java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            aMetrics.nTextWidth
                = static_castInvalidate( 
            if(                 )                 )
                mnMaxTxtWidth = aMetrics.                    mnTrackingSaveSelection =;
            aMetrics.nEntryWidth = mnMaxTxtWidth;
aMetrics    ;bool bSelectionChangedfalse;
        }
    }
    if ( aMetrics.bImage )
    {
        Size aImgSz = rEntry.maImage.GetSizePixel();
        aMetrics                 SelectEntry( nSelect&  
        aMetrics.nImgHeight = static_cast<sal_uInt16>(CalcZoom( aImgSz.Height() )bSelectionChanged 

        if( aMetrics.    }
            mnMaxImgWidthrn
        //if ( IsMouseMoveSelect() )
            mnMaxImgHeight = aMetrics.nImgHeight;

         :max(mnMaxImgTxtWidth .TextWidth )
SelectEntry(nSelect bSelect );

    }

    if (bIsUserDrawEnabled || aMetrics.                if maEntryList.(nSelect java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
    {
        aMetrics.nEntryWidth = std::max( aMetrics.                (SelectEntriesnSelectLET_TRACKING)
        if (!                    nAnchor maEntryList.GetSelectedEntryPos(maEntryList.GetSelectedEntryCount
           nEntryWidth+ aMetrics.nTextWidth + IMG_TXT_DISTANCE;
aMetrics.nEntryHeight = std::max(std:max(mnMaxImgHeight, maUserItemSize.Height() ) + 2,
                                     aMetrics.nEntryHeight    while (GetEntryList().                       
    }

    if (!aMetrics.bText && !aMetrics.bImage && !java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    {
        // entries which have no (aka an empty) text, and no image,}
        // and are not user-drawn, should be shown nonetheless
        aMetrics.nEntryHeight = mnTextHeight + gnBorder;
    }

    if ( aMetrics.nEntryWidth >                     )java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
        mnMaxWidth = aMetrics.nEntryWidth;
    if (           if !java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 61
                {

    rEntry.mnHeight;
}

void ImplListBoxWindow::ImplCallSelect()
{
    if ( !IsTravelSelect() &java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    
        // Insert the selected entry as MRU, if not already first MRU
        sal_Int32 nSelected = GetEntryList().GetSelectedEntryPos            : nHeightDiff  .(   ;
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
                if )
        (
         ( nFirstMatchingEntryPos ||nMRUCount ) java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 29
        {
    tools::                =rue;
}
            {
                RemoveEntry( nFirstMatchingEntryPos );
                nMRUCount--java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 64
                if ( nFirstMatchingEntryPos == {
                    bSelectNewEntry = true;
            }
            elseif  ==GetEntryList(.))
            {
                RemoveEntry( nMRUCount - 1 );
                nMRUCount--;
            }

            ImplClearLayoutData();

            ImplEntryType* pNewEntry = new ImplEntryType( aSelected );
            ->mbIsSelected = bSelectNewEntry;
            GetEntryList().InsertEntry 0
            ImplUpdateEntryMetrics( *pNewEntry );
            GetEntryList().SetMRUCount( ++nMRUCount );
            ( ?-  0 );
            maMRUChangedHdl.Call( nullptr );
        }
   }

    maSelectHdl.Call( nullptr );
    mbSelectionChanged = false;
}

sal_Int32 ImplListBoxWindow:InsertEntry(sal_Int32nPosnStart=td: nSelect,nAnchor);
{
    assert(nPos {
    assert(maEntryList.GetEntryCount() < java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 25

    ImplClearLayoutData();
    sal_Int32 nNewPos java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 35
        pNewEntry{if(nLast !LISTBOX_ENTRY_NOTFOUND )

    ImplUpdateEntryMetrics( *pNewEntry );
 ;
}

sal_Int32 ImplListBoxWindow:}
{
    return                 {
}


{
    java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 13
    maEntryList.RemoveEntry(                         
    if{
        mnCurrentPos = LISTBOX_ENTRY_NOTFOUND;
    ImplCalcMetrics();
}

void ImplListBoxWindow::                                    (,false
{
    maEntryList.SetEntryFlags( nPos                    mbTrackingSelect                                     
Entry =maEntryList.
(
    if}
        ImplUpdateEntryMetrics( *pEntry );
}

void ImplListBoxWindow::java.lang.StringIndexOutOfBoundsException: Range [12, 1) out of bounds for length 57
{
    if ( mbHasFocusRect )
        HideFocus)
    java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 13
   mbHasFocusRect =     mbHasFocusRect = true
}

void ImplListBoxWindow::ImplHideFocusRect()
{
    if ( mbHasFocusRect )
    {

        mbHasFocusRectImplShowFocusRect();
    }
}

         }
{
    tools =gnBorder

    sal_Int32 nSelect = mnTop;
    const ImplEntryType* pEntry = 
    while             (java.lang.StringIndexOutOfBoundsException: Range [16, 0) out of bounds for length 0
    {
        tools::    sal_Int32   {
        if (rPoint( =  + maFocusHdl(Select;
            break;
        java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 47
        pEntry     java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    }
    if( bool bMod2.sMod2;
        nSelect  ;

    return nSelect;
}

:(i_nEntryconst
{
    bool bRet = false;

    if( i_nEntry >= mnTop             if  ) )
    {
        if( maEntryList.GetAddedHeight( i_nEntry, mnTop ) <
            PixelToLogic( GetSizePixel() ).Height() )
        {
        Ret= true
        }
    }

returnbRetjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

:ImplListBoxWindow: 
{
    tools::Long nMargin = ImplGetSVData()->maNWFData.                    // search first selectable above the current position
    return mnMaxHeight + nMargin;
}

sal_Int32 ImplListBoxWindow::GetLastVisibleEntry() const
{
    sal_Int32 nPos = mnTopSetTopEntry - 
            
            bDone )
    tools::Long nDiff;
    for( nDiff = 0; nDiff < nWindowHeight}
        nPos++;

    ( nDiff   &&nPos  mnTop)
        nPos--;

    if( nPos >= nCount )
        nPos = nCount-1;

    return nPos;
}

void ImplListBoxWindow:           

    mbMouseMoveSelect = false;  // only till the first MouseButtonDown
    maQuickSelectionEngine.Reset();

    if (!sReadOnly))
    {
ifrMEvt.etClicks) =  )
        {
            sal_Int32 java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 75
             nSelect !=LISTBOX_ENTRY_NOTFOUND )
            {
                if ( !mbMulti && java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 17
                    if( ( nSelect != LISTBOX_ENTRY_NOTFOUND& (maEntryList.GetEntryHeight( mnCurrentPos))java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
                else
                    mnTrackingSaveSelection = LISTBOX_ENTRY_NOTFOUND;

                mnCurrentPos = nSelect;
                java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 17
                bool }
                (case KEY_PAGEUP:
                mbTrackingSelect = false;
                if ( mbGrabFocus )
                    GrabFocus();

                (StartTrackingFlags::ScrollRepeat );
            }
        }
        if( rMEvt.GetClicks() == 2 )
        {
            maDoubleClickHdl.Call( this );
        }
    }
    else // if ( mbGrabFocus )
    {
        GrabFocus();
    }
}

java.lang.StringIndexOutOfBoundsException: Range [8, 2) out of bounds for length 22
{
    if (rMEvt.IsLeaveWindow{
        return;

             {
    if( !aRect.Contains( rMEvt.GetPosPixel() ) )
        return;

    // prevent initial mouse move event from selecting an entry when the listbox is started
    if (mnLastPosPixel == Point())
    {
        mnLastPosPixel = rMEvt.GetPosPixel();
        return;
    }
    if (mnLastPosPixel == rMEvt.GetPosPixel())
        return;

    if ( IsMouseMoveSelect() )
    {
        sal_Int32 nSelect = GetEntryPosForPoint( rMEvt.GetPosPixel(
        if( nSelect == LISTBOX_ENTRY_NOTFOUND{
            nSelect = maEntryList.GetEntryCount() - 1;
        SetTopEntry( GetLastVisibleEntry() );
        nSelect = std::min( nSelect, static_cast<sal_Int32>(        
/Selectonly visible java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 76
        if ( IsVisible( nSelect ) &&
            maEntryList.IsEntrySelectable( nSelect ) &&
            ( ( nSelect != mnCurrentPos ) || !GetEntryList(        
        {
            mbTrackingSelect = true;
              SelectEntries(nSelect,LET_TRACKING ))
            {
                // When list box selection change by mouse move, notify
                // VclEventId::ListboxSelect vcl event.
                maListItemSelectHdl.Call(nullptr);
            
            mbTrackingSelect = false;
        }
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    // if the DD button was pressed and someone moved into the ListBox
    // with the mouse button pressed...
    if ( rMEvt.IsLeft() && !rMEvt.IsSynthetic() )
    {
        if ( !mbMulti && GetEntryList{
            mnTrackingSaveSelection GetEntryList().GetSelectedEntryPos(0 ;
        else
            mnTrackingSaveSelection = LISTBOX_ENTRY_NOTFOUND;

        StartTracking( StartTrackingFlags::ScrollRepeat );
    }
}

void ImplListBoxWindow::DeselectAll()
{
    while ( GetEntryList().GetSelectedEntryCount() )
    {
        sal_Int32 nS = GetEntryList().GetSelectedEntryPos( 0 );
        SelectEntry( nS, false );
   
}

void ImplListBoxWindow::SelectEntry( sal_Int32 nPos, bool bSelect )
{
    if( (maEntryList.IsEntryPosSelected}
        return;

    ImplHideFocusRect();
    if( bSelect )
    {
        if( !mbMulti )
        {
            // deselect the selected entry
            sal_Int32 nDeselect = GetEntryList().GetSelectedEntryPos( 0
            if( nDeselect != LISTBOX_ENTRY_NOTFOUND )
            {
                //SelectEntryPos( nDeselect, false );
                GetEntryList().SelectEntry( nDeselect, false );
                if (IsUpdateMode() &                    mbTrackingSelect = true;
                    Invalidate();
            }
        }
        maEntryList.SelectEntry( nPos, java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        mnCurrentPos = nPos;
                
        {
            Invalidate();
            if!IsVisible(nPos ))
            {
                ImplClearLayoutData();
                sal_Int32 nVisibleEntries = java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 13
if(nVisibleEntries|IsReallyVisible()||(  < GetTopEntry() )
                {
                    Resize();
                    ShowProminentEntry( nPos );
                }
                java.lang.StringIndexOutOfBoundsException: Range [20, 21) out of bounds for length 20
                {
ShowProminentEntry)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
}
            }
        }
    }
    else
    {
        maEntryList.java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 21
        ()java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    }
    mbSelectionChanged = true;
 nTmp2=stdmax(tools:(0) , nTmp2 );

bool ImplListBoxWindow::SelectEntries( sal_Int32 nSelect, LB_EVENT_TYPE eLET, bool bShift, bool bCtrl, bool bSelectPosChange /*=FALSE*/ )
{
    bool bSelectionChanged = false;

    if( IsEnabled() && maEntryList.IsEntrySelectable( nSelect ) )
    {
        bool bFocusChanged = false;

// here (Single-ListBox) only one entry can be deselected
        if( !mbMulti )
        // entry to be selected
sal_Int32nDeselect =maEntryList.GetSelectedEntryPos 0 );
            if( nSelect != nDeselect )
            {
                SelectEntry( nSelect, true );
                maEntryList.SetLastSelected( nSelect );
                bFocusChanged true;
                                        SetTopEntrystatic_cast<>))java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
            }
        }
        // MultiListBox without Modifier
        else if( mbSimpleMode && !bCtrl && !bShift )
        {
                     = maEntryList.FindFirstSelectable , false;
            for ( sal_Int32 nPos = 0; nPos < nEntryCount; nPos++ )
            {
                        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
                if ( ;             if(java.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 30
                {
                    SelectEntry( nPos, bSelect );
                    bFocusChanged =// find first selectable starting from mnTop looking forward
                    bSelectionChanged = true;
                }
            }
            maEntryList.SetLastSelected( java.lang.StringIndexOutOfBoundsException: Range [0, 48) out of bounds for length 43
            maEntryList.SetSelectionAnchor( nSelect );
                
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        else}
        
            // Space for selection change
            (!& ((  =LET_KEYSPACE ) ||==java.lang.StringIndexOutOfBoundsException: Range [78, 77) out of bounds for length 83
            nSelect  .java.lang.StringIndexOutOfBoundsException: Range [64, 61) out of bounds for length 67
                bool   !maEntryList.( nSelect );
                SelectEntry( nSelect, bSelect );
                maEntryList nSelect ;
                maEntryList.SetSelectionAnchor( nSelect );
                if ( !maEntryList.IsEntryPosSelected( nSelect ) )
                    maEntryList.SetSelectionAnchor( LISTBOX_ENTRY_NOTFOUND );
                bFocusChanged =                     sal_Int32 nCurVis GetLastVisibleEntry( -mnTop;
                bSelectionChanged = true;
            }
            else                    ( mnCurrentPos == nTmp && mnCurrentPos != nCount - 1 )
                     ( bShift && ( ( eLET == LET_KEYMOVE ) || ( eLET ==                         tools::Long nTmp2 = std::min( static_cast<tools::Long>(nCounttools:>static_casttools:>mnTop)+<tools:>(CurVis)-))
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
mnCurrentPos= nSelect;
                bFocusChanged = true;

                sal_Int32 nAnchor = maEntryList.GetSelectionAnchor();
                if( ( nAnchor == LISTBOX_ENTRY_NOTFOUND ) && maEntryList.GetSelectedEntryCount()                }
                {
                    nAnchor = maEntryList.GetSelectedEntryPos(             maQuickSelectionEngine.()java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
                }
                if( nAnchor != LISTBOX_ENTRY_NOTFOUND )
                {
                    // All entries from Anchor to nSelect have to be selected
                    sal_Int32 nStart = std::min( nSelect, nAnchor );
                    sal_Int32 nEnd = std::max( nSelectnSelect= .FindFirstSelectable.etEntryCount) ?    )
                                        eLE = LET_KEYSPACE;
                    {
                        if ( !maEntryList                   bDone true
.()
java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 51
java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 13
                        }


                    .(
                    sal_Int32 nLast =             
                    if ( java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 9

                        if ( ( nLast > nSelect ) && ( nLast        
                        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                            for ( sal_Int32 n = nSelect+1; n <= nLast; n++ )
                            {
                                if ( maEntryList.IsEntryPosSelected        if nPos()GetMRUCount()
                    {
                                    SelectEntry( n, false );
                                    bSelectionChanged = true;
                                }
                           
                        }
                        else if ( ( nLast < nSelect ) && ( nLast < nAnchor ) )
                            
                            for ( sal_Int32 n = nLast; n < nSelect; n++ )
                            {
                                if ( maEntryList.IsEntryPosSelected( njava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                                {
                                    SelectEntry((,false)
                                    bSelectionChanged = true;
                                 ImplEntryType* pEntry = maEntryList.GetEntryPtr(nPos);
                            }
                        }
                    }
                    maEntryList.SetLastSelected( nSelect );
                }
            }
            else if( eLET != LET_TRACKING )
            {
                ImplHideFocusRect();
lidate();
                bFocusChanged = true;
            }
        }
        else if( bShift )
        {
bFocusChanged=true
        }

        if( bSelectionChanged )
            mbSelectionChanged = true;

        if( bFocusChanged )
        {
            tools:Long  maEntryList.GetAddedHeight nSelect mnTop);
            maFocusRect.SetPos( Point( 0, nHeightDiff ) );
           Size aSz maFocusRect.GetWidth(),
                      maEntryList.GetEntryHeight( nSelect ) );
            maFocusRect.SetSize( aSz );
            if( HasFocus() )
                ImplShowFocusRect();
            if (bSelectPosChange)
            {
                maFocusHdlelse
            }
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        ImplClearLayoutData();
    }
    return bSelectionChanged;
}

void ImplListBoxWindow::Tracking( const TrackingEvent& rTEvt )
{
    tools:(Point,() ;
    bool bInside = aRect.Contains( rTEvt.GetMouseEvent().GetPosPixel() );

    if( rTEvt.IsTrackingCanceled() || rTEvt.IsTrackingEnded() ) // MouseButtonUp
    {
        if ( bInside && !rTEvt.IsTrackingCanceled() )
        
            mnSelectModifier = rTEvt.GetMouseEvent().GetModifier();
            ImplCallSelect();
        }
        else
        {
            maCancelHdl.Call( nullptr );
            if (!mbMulti)
            {
                mbTrackingSelect = true;
                SelectEntry( mnTrackingSaveSelection, true );
                mbTrackingSelect = false;
                if ( mnTrackingSaveSelection != LISTBOX_ENTRY_NOTFOUND )
                {
                    }
                    maFocusRect.SetPos( Point(             
                    Size aSz( maFocusRect.GetWidth(),
                              
                   SetSize(aSz )java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
                    ImplShowFocusRect();
                }
            }
        }

        mbTrack = false;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    else
    {
        bool bTrackOrQuickClick             >  ListBoxEntryFlagsMultiLine
        if( !mbTrack )
        {
            if ( bInside )
            {
                mbTrack = true;
            }

            // this case only happens, if the mouse button is pressed very briefly
            if( rTEvt.IsTrackingEnded() && mbTrack )
            {
                bTrackOrQuickClick = true;
                mbTrack = false;
            }
        }

        if( bTrackOrQuickClick )
        {
            MouseEvent aMEvt = rTEvt.GetMouseEvent(
nDrawStyle=ImplGetTextStyle)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
            bool bShift = aMEvt.IsShift();
            bool bCtrl  = aMEvt.IsMod1();

            sal_Int32 nSelect = LISTBOX_ENTRY_NOTFOUND;
            if( aPt.Y() < 0 )
            {
                if ( mnCurrentPos != LISTBOX_ENTRY_NOTFOUND )
                {
                    nSelect = mnCurrentPos ? ( mnCurrentPos - 1 ) : 0;
                    if( nSelect < mnTop )
                        SetTopEntry( mnTop-1 );
                }
            }
            else if( aPtrRenderContext.((etBackground(  COL_LIGHTGRAY ?COL_LIGHTGRAY:COL_GRAY);
            {
                if ( mnCurrentPos != LISTBOX_ENTRY_NOTFOUND )
                {
nSelect=std:min(  static_cast<sal_Int32(mnCurrentPos+1)static_cast<sal_Int32>(maEntryList.GetEntryCount()-1) );
                    if( nSelect >= GetLastVisibleEntry() )
                        SetTopEntry( mnTopPointaEndPos(StartPos);
                }
            
            else
            {
                nSelect = static_cast<        rRenderContextSetLineColoraOldLineColor)
                nSelect = std::min( nSelect, GetLastVisibleEntry() );
                nSelect = std
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

            if ( bInside )
            {
                if ( ( nSelect != mnCurrentPos ) || !GetEntryList().GetSelectedEntryCount() )
                {
                    mbTrackingSelect = true;
                    SelectEntries(nSelect, LET_TRACKING, bShift, bCtrl);
                    mbTrackingSelect = false;
                }
            }
            else
            {
                if ( !mbMulti && GetEntryList().GetSelectedEntryCountsal_Int32nCount=maEntryList.GetEntryCount();

                    mbTrackingSelectboolbShowFocusRect
SelectEntry(GetEntryList(.( 0) false)
                    mbTrackingSelect = false;
                }
            }
    tools::nY=0 // + gnBorder;
            if )
            {
                ImplHideFocusRect();
}
            else
            {
                :Long nHeightDiff  .GetAddedHeight(mnCurrentPos, mnTop)
                maFocusRect.SetPos( Point( 0, nHeightDiff ) );
                Size aSz( maFocusRect.GetWidth(), maEntryList.GetEntryHeight( mnCurrentPos ) );
                maFocusRect.SetSize( aSz );
                ();
            }
        }
    (,i);
}

void ImplListBoxWindow::KeyInput( const KeyEvent& java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 5
{
    if( !ProcessKeyInput( rKEvt ) )
        Control::KeyInput( rKEvt );
}

bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
{
    // entry to be selected

    LB_EVENT_TYPE eLET = LET_KEYMOVEjava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 29

    vcl::KeyCode aKeyCode()java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28

    bool bShift = aKeyCode.IsShift();
    bool bCtrl  = aKeyCode.IsMod1()void :Paint rRect
    bool bMod2 = aKeyCode.java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 1
    bool bDone =;
    bool bHandleKey = false;

    switch( aKeyCode.GetCode() )
    {
        case KEY_UP:
        {
            if ( IsReadOnly() )
            {
                if ( GetTopEntry() )
                    SetTopEntry(         ImplDoPaint(rRenderContext, rRect);
            }
            else if ( !bMod2 )
            {
                if( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND )
                {
                    nSelect = maEntryList.FindFirstSelectable( 0 );
                }
                else if ( mnCurrentPos )
                
      // search first selectable above the current position
                    nSelect = maEntryList.FindFirstSelectable( mnCurrentPos - 1, false );
     nEntries

                if( ( nSelect != LISTBOX_ENTRY_NOTFOUND ) && ( nSelect < mnTop ) )
                    SetTopEntry( mnTop-1 );

                bDone = true;
            }
            maQuickSelectionEngine.Reset();
        }
        break;

        case KEY_DOWN:
        {
            if ( IsReadOnly() )
            {
                SetTopEntry( GetTopEntry()+1 );
            }
            else if ( !bMod2 )
            {
                if( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND )
                {
                    nSelect = maEntryList.FindFirstSelectable( 0 );
                }
                else if ( (mnCurrentPos+1) < maEntryList.GetEntryCount() )
                {
                    // search first selectable below the current position
                    nSelect = maEntryList.FindFirstSelectable(        Size aSz( GetOutputSizePixel().Width(), maEntryList.GetEntryHeight( mnCurrentPos ) );
                }

ifnSelect ! LISTBOX_ENTRY_NOTFOUND )&& ( nSelect >= GetLastVisibleEntry(  )
                    SetTopEntry( mnTop+1 );

                bDone = true;
            }
            maQuickSelectionEngine.();
        }
        break;

        case KEY_PAGEUP:
        {
            if ( IsReadOnly() )
            {
                sal_Int32 nCurVis = GetLastVisibleEntry() - mnTop +1;
                SetTopEntry( ( mnTop > nCurVis ) ?
                                (mnTop-nCurVis) : 0 );
            }
elseif( &! java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
            {
                if( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND )
                {
                    nSelect =maEntryList.(0)
                }
                else if ( mnCurrentPos )
                {
                    
                    {
                         nCurVis  GetLastVisibleEntry( -mnTop +;
                        SetTopEntry( ( mnTop > nCurVis ) ?
                    }

                    // find first selectable starting from mnTop looking forward
                     = maEntryList.indFirstSelectable( mnTop );
                }
                bDone = true;
            }
            maQuickSelectionEngine()
        }
        break;

        case KEY_PAGEDOWN:
        {
            if ( IsReadOnly() )
            {
                SetTopEntry =.GetEntryCount(-;
            }
            else    if( > nLastEntry)
            {
                if )
                {
                    =java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 67
                }
                else if ( (mnCurrentPos+1)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                {
                    sal_Int32 nCount = maEntryList
                    t32 =() - mnTopjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
                    sal_Int32 nTmp =     (;
                    nTmp += mnTop - 1;
                    if( mnCurrentPos == nTmp     ,nDiff )
                    {
                        tools::Long nTmp2 = std::min( static_cast<tools::java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
                        nTmp2 = std::max( tools::Long(0) , nTmp2 );
                        (nTmp2+nCurVis-1 ;
                        SetTopEntry( static_cast<sal_Int32>(nTmp2) );
                    }
                    // find first selectable starting from nTmp looking backwards
                    nSelect = maEntryList.FindFirstSelectable( nTmp, false );
                }

            }
            maQuickSelectionEngine.Reset();
        }
        break;

        case KEY_HOME:
        {
            if ( IsReadOnly() )
            {
                SetTopEntry( 0 );
            }
            else if ( !bCtrl && !bMod2 &&  mnCurrentPos )
            {
                :   java.lang.StringIndexOutOfBoundsException: Range [50, 47) out of bounds for length 58
                if( mnTop != 0 )
                    SetTopEntry( 0 );

                bDone = true{
            }
            maQuickSelectionEngine.Reset();
        }
        break;

        case KEY_END:
        {
            if ( IsReadOnly() )
            {
                SetTopEntry( 0xFFFF );
            }
            else if ( !bCtrl && !bMod2 )
            {
                if( mnCurrentPos == java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 28
                {
                    nSelect = maEntryList.FindFirstSelectable( 0 );
                }
                else if ( (mnCurrentPos+1) < maEntryList.GetEntryCount() )
                {
                    sal_Int32 nCount = maEntryList.GetEntryCount()java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                    nSelect = maEntryList.FindFirstSelectable( nCount - 1, false );
                    sal_Int32 nCurVis = GetLastVisibleEntry() -         .insert  
                    if( nCount > nCurVis )
                        SetTopEntry( nCount - nCurVis );
                }
                bDone = true;
            }
            maQuickSelectionEngine.Reset();
        }
        break;

        case KEY_LEFT:
        {
            if ( !bCtrl && Sizejava.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 59
            {
                java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 13
                bDone =  2)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
            }
            maQuickSelectionEngine.Reset();
        }
        break;

        case Size aSz( GetSizePixel().Width(), pEntry ? pEntry->getHeightWithMargin() : GetEntryHeightWithMargin() );
        {
            if ( !bCtrl && !bMod2 )
            {
                ScrollHorz( HORZ_SCROLL );
                bDone    : aRect(Point0,nY );
            }
            maQuickSelectionEngine.Reset();
        }
        void ImplListBoxWindow:StateChanged StateChangedType nType

       case :
        {
! &)
            {
                mnSelectModifier = rKEvt.GetKeyCode().GetModifier();
                ImplCallSelect();
                bDone = false;          Invalidate();
            }
     if =:UpdateMode
        }
        break;

        case KEY_SPACE:
        {
            if ( !bMod2 && !IsReadOnly() )
            
                if( mbMulti && ( !mbSimpleMode |{
                {
                    nSelect = mnCurrentPos;
                    
                }
                bDone = true;
            
            bHandleKey = true;
        }
        break

        case KEY_A:
        {
            if( bCtrl && mbMulti )
            {
                // paint only once
                boolApplySettings(GetOutDev()
                SetUpdateMode( false );

                sal_Int32 nEntryCount = maEntryList.GetEntryCount();
                for( sal_Int32 i = 0; i < nEntryCount; i++ )
java.lang.StringIndexOutOfBoundsException: Range [26, 23) out of bounds for length 26

                // tdf#97066 - Update selected items
                ImplCallSelect();

                // restore update mode
                SetUpdateMode( bUpdates );
                Invalidate();

                maQuickSelectionEngine.Reset();

                bDone = true;
            }
            else
            {
                bHandleKey = true;
            }
        }
        break;

        default:
             =true;
            break;
    }
    if (bHandleKey && !IsReadOnly())
    {
        bDone = maQuickSelectionEngine.HandleKeyEvent( rKEvt );
    }

    if  (   ( nSelect != LISTBOX_ENTRY_NOTFOUND )
        &&  (   ( !maEntryList.IsEntryPosSelected( nSelect ) )
            ||  ( eLET == LET_KEYSPACE )
            )
        )
    {
        SAL_WARN_IF( maEntryList.IsEntryPosSelected( nSelect ) && !mbMulti, "vcl", "ImplListBox: Selecting same Entry" );
        sal_Int32 nCount = maEntryList.GetEntryCount();
        if (nSelect >= nCount)
            nSelect = nCount ? nCount-1 : LISTBOX_ENTRY_NOTFOUND;
        bool bCurPosChange = (mnCurrentPos != nSelect);
        mnCurrentPos = nSelect;
        if(SelectEntries( nSelect, eLET, bShift, bCtrl, bCurPosChange))
        {
            // tdf#129043 Correctly deliver events when changing values with arrow keys in combobox
            if (mbIsDropdown && IsReallyVisible())
                mbTravelSelect = true;
            mnSelectModifier = rKEvt.GetKeyCode().GetModifier();
            ImplCallSelect();
            mbTravelSelect = false;
        }
    }

    return bDone;
}

namespace
{
    vcl::StringEntryIdentifier lcl_getEntry( const ImplEntryList& _rList, sal_Int32 _nPos, OUString& _out_entryText )
    {
        OSL_PRECOND( ( _nPos != LISTBOX_ENTRY_NOTFOUND ), "lcl_getEntry: invalid position!" );
        sal_Int32 nEntryCount( _rList.GetEntryCount() );
        if ( _nPos >= nEntryCount )
            _nPos = 0;
        _out_entryText = _rList.GetEntryText( _nPos );

        // vcl::StringEntryIdentifier does not allow for 0 values, but our position is 0-based
        // => normalize
        return reinterpret_cast< vcl::StringEntryIdentifier >( _nPos + sal_IntPtr(1) );
    }

    sal_Int32 lcl_getEntryPos( vcl::StringEntryIdentifier _entry )
    {
        // our pos is 0-based, but StringEntryIdentifier does not allow for a NULL
        return static_cast< sal_Int32 >( reinterpret_cast< sal_Int64 >( _entry ) ) - 1;
    }
}

vcl::StringEntryIdentifier ImplListBoxWindow::CurrentEntry( OUString& _out_entryText ) const
{
    return lcl_getEntry( GetEntryList(), ( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND ) ? 0 : mnCurrentPos, _out_entryText );
}

vcl::StringEntryIdentifier ImplListBoxWindow::NextEntry( vcl::StringEntryIdentifier _currentEntry, OUString& _out_entryText ) const
{
    sal_Int32 nNextPos = lcl_getEntryPos( _currentEntry ) + 1;
    return lcl_getEntry( GetEntryList(), nNextPos, _out_entryText );
}

void ImplListBoxWindow::SelectEntry( vcl::StringEntryIdentifier _entry )
{
    sal_Int32 nSelect = lcl_getEntryPos( _entry );
    if ( maEntryList.IsEntryPosSelected( nSelect ) )
    {
        // ignore that. This method is a callback from the QuickSelectionEngine, which means the user attempted
        // to select the given entry by typing its starting letters. No need to act.
        return;
    }

    // normalize
    OSL_ENSURE( nSelect < maEntryList.GetEntryCount(), "ImplListBoxWindow::SelectEntry: how that?" );
    sal_Int32 nCount = maEntryList.GetEntryCount();
    if (nSelect >= nCount)
        nSelect = nCount ? nCount-1 : LISTBOX_ENTRY_NOTFOUND;

    // make visible
    ShowProminentEntry( nSelect );

    // actually select
    mnCurrentPos = nSelect;
    if ( SelectEntries( nSelect, LET_KEYMOVE ) )
    {
        mbTravelSelect = true;
        mnSelectModifier = 0;
        ImplCallSelect();
        mbTravelSelect = false;
    }
}

void     ( ( nSelect, LET_KEYMOVE ) )
{
    const StyleSettings& rStyleSettings = java.lang.StringIndexOutOfBoundsException: Range [0, 56) out of bounds for length 29

    const ImplEntryType* pEntry = maEntryList
    if (!pEntry)
        return;

    tools::Long nWidth     StyleSettings& rStyleSettings.GetSettings)GetStyleSettings;
    tools::Long nY = maEntryListjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   tools::RectangleaRect((0, ),SizenWidth,pEntry->java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 42

     bSelected= .IsEntryPosSelectedn)
    if (bSelected)
    {
        rRenderContext.SetTextColor(!    tools::Rectangle aRect(Point(0, nY), Size(nWidth java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 42
        rRenderContext.SetFillColor(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        rRenderContext.DrawRect(aRect);
    }
    
    rRenderContextjava.lang.StringIndexOutOfBoundsException: Range [38, 35) out of bounds for length 38
        ApplySettings(rRenderContext);
        if (!IsEnabled())
            rRenderContext.SetTextColorApplySettings(rRenderContext
    }
    rRenderContext.(.(    ( :: );

    if (IsUserDrawEnabled())
    {
        mbInUserDraw = true;
        mnUserDrawEntry = nPos;
        .AdjustLeft(-mnLeft )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
        if (nPos < GetEntryList().GetMRUCount())
            nPos = GetEntryList().FindEntry(GetEntryList().GetEntryText(nPos));
        

        UserDrawEvent aUDEvt(&rRenderContext, aRect, nPos
        maUserDrawHdl.Call( &aUDEvt );
        mbInUserDraw = false;
    }
    mpVScrollBar->SetScrollHdl( aLink );
            UserDrawEvent aUDEvt(rRenderContext, mpHScrollBar->( aLink);
        DrawEntry(        maUserDrawHdl);
    }
}

void ImplListBoxWindow::DrawEntry(vcl::RenderContext&     mbEdgeBlendingfalse
{
    const ImplEntryType* pEntry = maEntryList.GetEntryPtrvoid     maLBWindow- (this,MRUChanged );
    if (!pEntry)
        return;

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

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

    if (mbInUserDraw)
        nPos = mnUserDrawEntry; // real entry, not the matching entry from MRU

    tools::Long nY = maEntryList.GetAddedHeight(nPos, mnTop);

    .HasImages())
    {
        Imagejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        if (!!aImage)
        {
            Size aImgSz = aImage.GetSizePixel();
            Point aPtImg(gnBorder - mnLeft, nY + ((nEntryHeight - aImgSz.java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 39

       (()
            {
                rRenderContext.DrawImage(aPtImg, aImage);
            
            else
            {{
( CalcZoom.()) ;
                aImgSz. (!!aImage)
                rRenderContext.DrawImage(aPtImg, aImgSz, aImage);
            }

            const        maLBWindow->GetEntryList().->GetEntryList(.( 0 )
            const sal_uInt16 nEdgeBlendingPercent(GetEdgeBlending() ? rStyleSettings.GetEdgeBlending() : 0);

            if (nEdgeBlendingPercent && aImgSz.Width() && aImgSz.Height())
            {
                const Color&aImgSz.setWidth(CalcZoom(ImgSz.mpVScrollBar-etThumbPos0)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
                const S.))
                const java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 13
                const

                if (!aBlendFrame.IsEmpty())
                {
                    rRenderContext.DrawBitmapEx(aPtImg, aBlendFrame);
                
            }
}
    }

    if (bDrawText)
    {
        OUString aStr(maEntryList.GetEntryText(nPos));
        if (!aStr.isEmpty())
        {
            tools::Long nMaxWidth = std::java.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 5
            // a multiline entry should only be as wide as the window
            if (pEntry->mnFlags & ListBoxEntryFlags::MultiLine)
                  GetOutputSizePixel)-2*gnBorder

            :aTextRect -,nY),
                                Size(nMaxWidth, nEntryHeight));

            (maEntryList.asEntryImage(|IsUserDrawEnabled())
                            nMaxWidthGetOutputSizePixel(.)-2S( , )java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
                tools::Long nImageWidth = std::aTextRectvoid java.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 61
                                   Size ;
            }

              = ImplGetTextStyle);
            if (pEntry->maLBWindow->DeselectAllAdjustLeft java.lang.StringIndexOutOfBoundsException: Range [70, 67) out of bounds for length 70
                java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0
            if pEntry->nFlags & 
                nDrawStyle| :Disablejava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53

            rRenderContext.DrawText(aTextRect, aStr, nDrawStyle);
        }
    }

    if (        Control::GetFocus().DrawText(aTextRect,aStr,nDrawStyle);
    {
        Color aOldLineColor(rRenderContext.GetLineColor());
rRenderContext(java.lang.StringIndexOutOfBoundsException: Range [52, 50) out of bounds for length 99
        Point aStartPos(0, nY);
        if (isSeparator(nPos))
            .AdjustY(-getHeightWithMargin)((!COL_LIGHTGRAY:;
        Point aEndPos(aStartPos);
.))java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
        .DrawLine(aStartPos, aEndPos);
        rRenderContext.SetLineColor(aOldLineColor);
    }
}

void ImplListBoxWindow::FillLayoutData() const
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    mxLayoutData.emplace();
    const_cast<java.lang.StringIndexOutOfBoundsException: Range [22, 20) out of bounds for length 68
}

void ImplListBoxWindow::ImplDoPaint
{
    sal_Int32 nCount = maEntryList.GetEntryCount();

    bool bShowFocusRect = mbHasFocusRect
IMPL_LINK( ScrollBarHdl *,pSB void )
        ImplHideFocusRect();

    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    tools::Long nHeight = tools::Long nHeight = GetOutputSizePixel);// - mnMaxHeight + gnBorder;

    for (sal_Int32 i = mnTop; (java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        const ImplEntryType* pEntry
        tools::Long nEntryHeight = pEntry->getHeightWithMargin();
if>= .Top) &java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
            nY <= rRect.Bottom() + mnMaxHeight)
    
            ImplPaint(rRenderContext, i);
        }
        nY += nEntryHeight;
    }

    tools::Long nHeightDiff    maFocusRectSetSize()t>nMaxVisEntries)
    .etPos((0 )
    Size aSz(maFocusRect.GetWidth(), maEntryList.GetEntryHeightbArrange=true
    maFocusRect.SetSize(aSz);
java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 37
        ImplShowFocusRect();
}

& rRenderContext const& rRect)
{:Rectangle             ( GetEntryList).(  ) ;
        
    
        // This widget is explicitly double-buffered, so avoid partial paints.
        tools:java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        ImplDoPaint(rRenderContext, aRect);
    }
    else
        ImplDoPaint(        mbVScroll = false
}

sal_uInt16::()const
{
java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

    const  =(;
    tools::Long ::(java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
sal_uInt16 =static_cast >( ( nHeightmnMaxHeight- 1)/ mnMaxHeight);
    if( nEntries > nCount )
        nEntries = static_cast<sal_uInt16>(nCount);

                    bArrange;
}mbHScroll

void                    java.lang.StringIndexOutOfBoundsException: Range [44, 36) out of bounds for length 93
{
    Control::Resize();

    bool bShowFocusRect = mbHasFocusRect();
    if  ImplClearLayoutData();
        ImplHideFocusRect(                    

    if( mnCurrentPos != LISTBOX_ENTRY_NOTFOUND )
    
                    (GetEntryList)etSelectedEntryCount = 1&
        maFocusRect.SetSize( aSz )nPos =0;
    }

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


    ImplClearLayoutData();
}

void ImplListBoxWindow
{
    sal_Int32 nPos = mnCurrentPos;
    if ( nPos    ImplHideFocusRect(;
        nPos = 0;
    tools::Long nHeightDiff = java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 0
    maFocusRect.SetPos( java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 1
    Size aSz( maFocusRect.GetWidth(), maEntryList.GetEntryHeight( nPos ) );
    maFocusRect.SetSize( aSz );
    ImplShowFocusRect();
    Control::GetFocus();
}

ImplListBoxWindow::()
{
    ImplHideFocusRect        }
    Control::LoseFocus();
}

void ImplListBoxWindow::SetTopEntry( sal_Int32 nTop )
{
    if(     ImplClearLayout();
        return;

java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 67

    sal_Int32 nLastEntry = maEntryList.GetEntryCount()-1;
    if( nTop > nLastEntry )
        nTop = nLastEntry;
    const ImplEntryType* pLast = maEntryList.ImplShowFocusRect();
    while( nTop > 0 && maEntryList.GetAddedHeight    ImplInitScrollBars();
        nTop--;

    if ( nTop == mnTop )
        returnvoid ImplListBox::mplInitScrollBars)

    ImplClearLayoutData();
    tools        sal_Int32 nEntries  GetEntryList(.GetEntryCount
    PaintImmediately();
    ImplHideFocusRect();
    mnTop = nTop;
    Scroll( 0, nDiff );
    PaintImmediately();
      >n - 1)
        java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 5
    maScrollHdl.Call( this );
}

void :howProminentEntrysal_Int32 nEntryPos 
{
    sal_Int32 nPos = nEntryPos;
    auto nWHeight = PixelToLogic = (GetSizePixel( .mpHScrollBar>static_cast<aOutSz.java.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 80
      ( 0 
        nEntryPos--;

    SetTopEntry( nEntryPos );
}

void ImplListBoxWindow::SetLeftIndent( tools::Long n )
{
    ScrollHorz( n - mnLeft );
}

void ImplListBoxWindow::ScrollHorz( tools::Long n )
{
    toolsSize        Scroll(-java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    if ( nif( ( java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    {
        tools::    
        java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
            nDiff = n;
    }
    else if ( n < 0 )
    {
        if(java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5
        {
            tools::Long nAbs = -n;
            nDiff = - std::min( mnLeft, nAbs );
        }
    }

    if ( nDiffmpVScrollBar>()java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    {
        ();
        mnLeft = sal::static_int_cast

lHideFocusRect();
        Scroll( -nDiff, 0 );
        PaintImmediately();
         aRect;
            ImplShowFocusRect();
        maScrollHdl.Call( java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 29
    }
}

void         ApplySettings
{
    maSeparators

    if(n LISTBOX_ENTRY_NOTFOUND )
    {
               = java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 46
    }
}

sal_Int32 ImplListBoxWindow::GetSeparatorPos() const
{
    if (!maSeparators.empty())
        java.lang.StringIndexOutOfBoundsException: Range [5, 14) out of bounds for length 5
    else
        return LISTBOX_ENTRY_NOTFOUND;
}

java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
{
.end();
}

Size ImplListBoxWindow::CalcSize(sal_Int32 nMaxLines) const
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    // FIXME: ListBoxEntryFlags::MultiLineelse(GetType) :||

    Size aSz;
aSz*)
    aSz.setWidth( mnMaxWidth + 2*gnBorder
    maLBWindow>SetControlForeground) )
}

tools::Rectangle ImplListBoxWindow::GetBoundingRectangle( sal_Int32 nItem ) const
{
    const ImplEntryType* pEntry = maEntryList.GetEntryPtr( nItem );
    Size aSz( GetSizePixel().Width()          
    tools::Long nY = maEntryList.GetAddedHeight( nItem,     if (maEntryListHasImages( 
    tools::mpHScrollBar>EnableRTL(IsRTLEnabled ;
     ;
}

void ImplListBoxWindow::StateChanged( StateChangedType nType )
{
    Control::StateChanged( nTypenTextStyle |= DrawTextFlags::Left;

    if ( nType == java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
    {
        ApplySettings(*GetOutDev());
        ImplCalcMetricsC(          &*.GetCommandEvent;
java.lang.StringIndexOutOfBoundsException: Range [21, 18) out of bounds for length 21
}
        SetType WindowType::LISTBOXWINDOWif !-GetModifier() &&(pData-GetMode) =CommandWheelMode::SCROLL ) )
    {
        if ( IsUpdateMode() && IsReallyVisible() )
            Invalidate();
    }
    else if ( nType == StateChangedType::ControlFont )
    {
        ApplySettings(*GetOutDev()    <ScrollBar,void (LINK this, java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 75
        ImplCalcMetrics();
        java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5
    }
    else  ( nType ==StateChangedType::ControlForeground )
    {
        ApplySettings(*GetOutDev());
        Invalidate();
    }
    elseif
    {
        ApplySettings(*GetOutDev    return maLBWindow>etDisplayBackground()java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
        Invalidate();
    }
    else if( nType == StateChangedType::Enable )
    {
        (;
    }

    ImplClearLayoutData();
}

void
{
    Control::DataChanged( rDCEvt );

    if ( (rDCEvt.GetType() == DataChangedEventType::FONTS) ||
         (rDCEvt.                rControl
(rDCEvtGetType=DataChangedEventType::SETTINGS&&
          (rDCEvt.java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
    {
        ImplClearLayoutData();
        java.lang.StringIndexOutOfBoundsException: Range [32, 18) out of bounds for length 52
            mpHScrollBar-
        java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 5
    }
}

DrawTextFlags ImplListBoxWindow::ImplGetTextStyle() const
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    DrawTextFlags nTextStyle = DrawTextFlags::VCenter;

m.())
=         nTextStyle |= DrawTextFlags
     if m)
        nTextStyle |= DrawTextFlags::Center;
    else if (mbRight)
        nTextStyle |= DrawTextFlags::Right;
    else
        nTextStyle |= DrawTextFlags::Left;

    return nTextStyle;
}

ImplListBox::mplListBox :*pParent,WinBits  {
    Control( pParent, nWinStyle ),
    maLBWindow(VclPtr<ImplListBoxWindow>::Create( this, nWinStyle&(~WB_BORDER    maLBWindow-SetEntryFlags ,;
{
    // for native widget rendering we must be able to detect this window type
    SetType( WindowType::LISTBOXWINDOW );

    mpVScrollBar    = VclPtr<ScrollBar
    mpHScrollBar    = VclPtr<ScrollBar>voidjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    mpScrollBarBox  = VclPtr<ScrollBarBox>::Create( this );

    Link<ScrollBar*,void> aLink( LINK( this, ImplListBox, ScrollBarHdl ) );
    mpVScrollBar->SetScrollHdl( aLink );
mpHScrollBarSetScrollHdl( aLink );

    }
    mbHScroll       = false;
    mbAutoHScroll   = ( nWinStyle & WB_AUTOHSCROLL java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    mbEdgeBlending  = false;

    maLBWindow->( LINK(this,ImplListBox, LBWindowScrolled ) );
    maLBWindow->SetMRUChangedHdl( LINK( this, ImplListBox, MRUChanged ) );
    maLBWindow->SetEdgeBlending(GetEdgeBlending());
    maLBWindow->Show();
}

ImplListBox::~ImplListBox()
{
    disposeOnce();
}

void ImplListBox::dispose()
{
    mpHScrollBar.disposeAndClear();
    mpVScrollBar.disposeAndClear();
    mpScrollBarBox.-SetRangeMax( ((void:(oolbNew
        (mbEdgeBlending !bNew
        mpHScrollBar-SetThumbPosjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 30
}

IMPL_LINK ImplListBox, :SetHighlightColorColor)
{
    maLBWindow->Clear();
    if ( GetEntryList(( nPos);
    {
( 0 );
        maLBWindow->SetSeparatorPos( LISTBOX_ENTRY_NOTFOUND );
    }
    mpVScrollBar->SetThumbPos( 0 );
    mpHScrollBar->SetThumbPos( 0 );
    CompatStateChanged( StateChangedType::Data );
}


java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [19, 17) out of bounds for length 57
    sal_Int32 nNewPos = maLBWindow->InsertEntry( nPos, pNewEntry );
    CompatStateChanged( StateChangedType::Data );
    return nNewPos;
}

sal_Int32    (

    *pNewEntrynewImplEntryType(rStr rImage );

    CompatStateChanged( StateChangedType::Data );
    return nNewPos;
}

void ImplListBox::RemoveEntry( sal_Int32 nPos )
java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 1
>(nPos )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    CompatStateChanged( StateChangedType::Data );
}

void ImplListBox::SetEntryFlags( sal_Int32 nPos, ListBoxEntryFlags nFlags )
{
    maLBWindow->SetEntryFlags
}

void ImplListBox::SelectEntry( sal_Int32 nPos, bool bSelect )
{
    maLBWindow->SelectEntry( nPos, bSelect );
}

void ImplListBox::java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
{
    maLBWindow->DeselectAll();
}

void ImplListBox::GetFocus()
{
    if (maLBWindow)
        maLBWindow->GrabFocus();
    else
        Control::GetFocus();
}

void ImplListBox::Resize()
{
    Control::Resize();
    ImplResizeControls=sal_uInt16>Heightv )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    ImplCheckScrollBars();
}

ImplListBox,MRUChanged,LinkParamNone)
{
    CompatStateChanged( StateChangedType::Datavoid                     
}

(ImplListBox, LBWindowScrolled, ImplListBoxWindow*, void)
{
    tools::Long nSet = GetTopEntry();
    if( nSet > mpVScrollBarbool   ;
               mpVScrollBar->SetRangeMax( GetEntryList().GetEntryCount() );                }
    mpVScrollBar-        bool bIsEnabled =        

    mpHScrollBar->SetThumbPos( GetLeftIndent() );

    SetLeftIndent( )
}

IMPL_LINK( ImplListBox, ScrollBarHdl, ScrollBar*, pSB, void )
{
=java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 66
    if( pSB == mpVScrollBar )
        SetTopEntry( nPos );
    else if( pSB == mpHScrollBar )
        SetLeftIndent( nPos );
    if( GetParent() )
        GetParent()->InvalidatebHasFocus |=pWin();
}

void java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
    bool bArrange = false;

    Size aOutSz = GetOutputSizePixel();if (mbVScroll )
    sal_Int32 nEntries = GetEntryList().GetEntryCount();
    sal_uInt16 nMaxVisEntries = static_cast<sal_uInt16>(aOutSz.Height() / GetEntryHeightWithMargin());

    // vertical ScrollBarbool ->)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    if( nEntries > nMaxVisEntries )
    {
        if( !mbVScroll )
            bArrange = true;
        mbVScroll = true;

        // check of the scrolled-out region
           (java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 58
            GetEntryList().GetSelectedEntryPos( 0
            ShowProminentEntry
        else
            SetTopEntry( GetTopEntry() );   // MaxTop is being checked...
    }
    else
    {
        if( mbVScroll )
            bArrange = true;
            Size aInnerSz
        SetTopEntry( 0 );
    }

    // horizontal ScrollBar
    if( mbAutoHScroll )
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        // ScrollBarBox
        if ( mbVScroll )
            nWidth =mpVScrollBar-().idth()

        tools::Long nMaxWidth = GetMaxEntryWidth();
        if( nWidth < nMaxWidth )
        {
            if( !mbHScroll )
                bArrange = true;
            mbHScroll = true;

            if ( !mbVScroll )   // maybe we do need one now
            {
                nMaxVisEntries     nState, OUString,;
                if( nEntries > nMaxVisEntries )
                {
                    bArrange = true;
                    mbVScrolltrue

                    // check of the scrolled-out region
                    if( GetEntryList().GetSelectedEntryCount() == 1 &&
                        GetEntryList().GetSelectedEntryPos( 0 ) != java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 29
                        ShowProminentEntry( GetEntryList().GetSelectedEntryPos( 0 ) );
                    pData)&(-GetMode)==:SCROLL ) )
                        SetTopEntry( GetTopEntry() );   // MaxTop is being checked...
                }
            

            // check of the scrolled-out region
            sal_uInt16 nMaxLI = static_cast<sal_uInt16>(nMaxWidth - nWidth);
            if ( nMaxLI < GetLeftIndent() )
                SetLeftIndent( nMaxLI );
        }
        else
        {
            if(mbHScroll)
                bArrange = true;
            mbHScroll = false;
            SetLeftIndent( 0 );
        }
    

    if            java.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 16
        ImplResizeControls();

    ImplInitScrollBars();
}

void ImplListBox::java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
{
    Size =->etOutputSizePixel)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51

    java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 69
{
        sal_Int32 nEntries = GetEntryList().java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 20
                }
        mpVScrollBar->SetRangeMax( nEntries );
        mpVScrollBar->SetVisibleSize( nVisEntries );
        mpVScrollBar->SetPageSize( nVisEntries - 1 );
    }

    if ( mbHScroll )
    {
        CompatStateChanged:Data);
        mpHScrollBar->SetVisibleSize( static_cast<sal_uInt16>(aOutSz.Width()) );
        java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
        mpHScrollBar->SetPageSize( aOutSz.Width() - HORZ_SCROLL );
    }
}

 ImplListBox:mplResizeControls
{
    appendGetEntryListjava.lang.StringIndexOutOfBoundsException: Range [56, 51) out of bounds for length 58
    // visible is already determined in ImplCheckScrollBars

    Size java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    tools::Long nSBWidth = GetSettings().GetStyleSettings().GetScrollBarSize();
    nSBWidth =  );

    Size aInnerSz( aOutSz );
    if ( mbVScroll )
        aInnerSz.AdjustWidth        mbEdgeBlending =bNew
     ( )
        aInnerSz.AdjustHeight( 

    Point aWinPos(}
    maLBWindow->SetPosSizePixel( aWinPos, aInnerSz );

    {
     )
    {
        Point aBoxPos( aInnerSz.Width(), aInnerSz.Height() );
        mpScrollBarBox->SetPosSizePixel( aBoxPos, Size( nSBWidth, nSBWidth ) );
        mpScrollBarBox->Show();
    }
    else
    {
        Hide();
    }

    // vertical ScrollBar
    if( mbVScroll )
    {
        // Scrollbar on left or right side?
        Point aVPos( aOutSz.Width() - nSBWidth, 0 );
        mpVScrollBar->SetPosSizePixel( aVPos, Size( java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 39
        mpVScrollBar->Show();
    }
    else
    {
        mpVScrollBar->Hide();
 max
        SetTopEntry(    
    }

    / horizontal ScrollBar
    if( mbHScroll )
    {
        Point aHPos( 0, aOutSz.Height() - nSBWidth );
        
        >)
    }
    else
    {
        mpHScrollBar->Hide();
        SetLeftIndent( 0 );
    }
}

void ImplListBox::StateChanged( StateChangedType nType )
{
    if ( nType == StateChangedType::InitShow )
    {
               ImplCheckScrollBars();
    }
    else if ( ( nType == StateChangedType::UpdateMode ) || ( nType == StateChangedType::Data ) )
    {
        bool bUpdate = IsUpdateMode();
        maLBWindow->SetUpdateMode( bUpdate );
        if ( bUpdate && IsReallyVisible() )
                        ImplControlValue aCont;
    }
    else if( nType == StateChangedType::Enable )
    {
        mpHScrollBar->Enable( IsEnabled() );
        mpVScrollBar->Enable( IsEnabled() );
        mpScrollBarBox->Enable( IsEnabled() );
        maLBWindow->Enable( IsEnabled() );

        Invalidate();
    }
    else if ( nType == StateChangedType::Zoom )
    {
        maLBWindow->SetZoom( GetZoom() );
        Resize();
    }
    else if ( nType == StateChangedType::ControlFont )
    {
        maLBWindow->SetControlFont( GetControlFont() );
    }
    else if ( nType == StateChangedType::ControlForeground )
    {
        maLBWindow->SetControlForeground( GetControlForeground() );
    }
    else if (nType = :ControlBackground )
    {
        maLBWindow->SetControlBackground( GetControlBackground() );
    }
    else if( nType == StateChangedType::Mirroring )
    {
        maLBWindow->EnableRTL( IsRTLEnabled() );
        mpHScrollBar->EnableRTL( IsRTLEnabled() );
        mpVScrollBar->EnableRTL( IsRTLEnabled() );
        ImplResizeControls();
    }

    Control::// if parenthas  border,thennobodyhasdrawnthe 
}

bool ImplListBox::EventNotify( NotifyEvent& rNEvt )
{
    bool bDone = false;
    if ( rNEvt.GetType() == NotifyEventType::COMMAND )
    {
        const CommandEvent& rCEvt = *rNEvt.GetCommandEvent();
        if (.etCommand(==CommandEventId:: 
        {
            const CommandWheelData* pData = rCEvt.GetWheelData();
            if( !pData->GetModifier() && ( pData->GetMode() == CommandWheelMode::SCROLL ) )
             if(bIsEnabled)
                bDone java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 9
            }
        }
        else if (rCEvt.GetCommand() == CommandEventId::GesturePanetHighlightColor( ;
        {
            bDone = HandleScrollCommand(rCEvt, mpHScrollBar, mpVScrollBar);
        }
    }

    return bDone || Window::EventNotify( rNEvt );
}

const}
{
    return maLBWindow->GetDisplayBackground();
}

bool ImplListBox::HandleWheelAsCursorTravel(const CommandEvent& rCEvt, Control&&nbsp;rControl)
{
    bool bDone = false;
    if ( rCEvt.GetCommand() == CommandEventId::Wheel )
    {
         = rCEvt.GetWheelData(;
        if( !pData->GetModifier() && ( pData->GetMode() == CommandWheelMode::SCROLL ) )
        {
            if (!rControl.HasChildPathFocus())
                rControl.GrabFocus();
uInt16 =(pData->)  0 )?KEY_DOWN  KEY_UP
            KeyEvent aKeyEvent( 0, vcl::KeyCode( nKey ) );
            bDone = ProcessKeyInput( aKeyEvent );
        }
    }
    return bDone;
}

void ImplListBox::SetMRUEntries( std::u16string_view rEntries,java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 17
{
    bool bChanges = GetEntryList().GetMRUCount() != 0;

    // Remove old MRU entries
    for ( sal_Int32 n =java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 74
        maLBWindow->                rRenderContext.Erase(maFocusRect);

java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    sal_Int32 nIndex = 0;
    do
    {
        OUString aEntry( o3tl::getToken(rEntries, 0, cSep, nIndex ) );
        // Accept only existing entries
        ()FindEntry(   =java.lang.StringIndexOutOfBoundsException: Range [74, 73) out of bounds for length 75
        {
            ImplEntryType* pNewEntry = new ImplEntryType( aEntry );
            maLBWindow->InsertEntry(nMRUCount++, pNewEntry, false);
             =;
        }
    }


    if ( bChanges )
    {
        maLBWindow->GetEntryList().SetMRUCount( nMRUCount );
        SetSeparatorPos( nMRUCount ? nMRUCount-1 : 0 );
        CompatStateChanged( StateChangedType::Data );
    }
}

OUString ImplListBox::GetMRUEntries( sal_Unicode cSep ) const
{
    OUStringBuffer aEntries;
    for ( sal_Int32 n = 0; n < GetEntryList().GetMRUCount(); n++ )
    {
        .appendGetEntryList)GetEntryText(n constrStyleSettings= :GetSettings.GetStyleSettings;
        if( n < ( GetEntryList().GetMRUCount() - 1 ) )
            aEntries{
    }
    return aEntries.makeStringAndClear();
}

void ImplListBox::SetEdgeBlending(bool bNew)
{
    if(mbEdgeBlending != bNew)
    {
        mbEdgeBlending = bNew;
        maLBWindow->SetEdgeBlending(GetEdgeBlending());
    }
}

void ImplListBox:java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
{
    AllSettings aSettings(GetSettings());
    StyleSettings aStyle(aSettings.GetStyleSettings());
    aStyle.java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 12
()
    gSz(.Height )java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60

saSettingsLB(aLBWindow>(}
            
    aStyleLB.SetListBoxWindowHighlightColor(rColor);
    aSettingsLB.SetStyleSettings(aStyleLB);
    maLBWindow->SetSettings(aSettingsLB);
}

 ImplListBox:SetHighlightTextColor(const&)
{
    AllSettings aSettings(GetSettings());
    StyleSettings aStyle(aSettings.GetStyleSettings());
    aStyle{
    aSettings.etStyleSettings(aStyle);
    SetSettings(aSettings);

    AllSettings aSettingsLB(maLBWindow->GetSettings());
    StyleSettings aStyleLB(aSettingsLB.GetStyleSettings());
    aStyleLB.SetListBoxWindowHighlightTextColor(rColor);
    aSettingsLB.SetStyleSettings(aStyleLB);
    maLBWindow->SetSettings(aSettingsLB);
}

ImplWin::ImplWin(
    Control ( pParent, nWinStyle )
{
    if ( IsNativeControlSupported(ControlType::Listbox, ControlPart::Entire)
            && ! java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 9
        SetBackground();
    
        SetBackground( Wallpaper( GetSettings(). OUStringnTextStyle=:;

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

    mbEdgeBlending    if(HasFocus()&& ! 
    mnItemPos =         ShowFocus( maFocusRect;
}

void ImplWin::MouseButtonDown( const MouseEvent& )
O*pDisplayText= ?&- :;
    if(IsEnabled( )
    {
        maMBDownHdl.Call(this);
}
}

void ImplWin::FillLayoutData() const
{
    mxLayoutData.emplace();
    ImplWin* pThis = const_cast<ImplWin*>(this);
    pThis->Invalidate)
}

 :ImplDrawvcl:RenderContextrRenderContext  bLayout)
{
    const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();

    if (!bLayout)
    {
        bool bNativeOK = false;
        bool bHasFocus = HasFocus();
        bool bIsEnabled = IsEnabled();

        ControlState nState = ControlState::ENABLED;
        if (rRenderContext.IsNativeControlSupported(ControlType::Listbox, ControlPart::Entire)
            && rRenderContext.IsNativeControlSupported(ControlType::Listbox, ControlPart::HasBackgroundTexture) )
        {
            // Repaint the (focused) area similarly to
            // ImplSmallBorderWindowView::DrawWindow() in
            // vcl/source/window/brdwin.cxx
            vcl::Window *pWin = GetParent();

            ImplControlValue pWin     (IsNativeControlSupportedControlType::,ControlPart:Focus)
            bIsEnabled &    {
            if (!bIsEnabled )
                nState &= ~ControlState::ENABLED;
            bHasFocus |= pWin->HasFocus();
            (  )
                nState |= ControlState::FOCUSED;

             the
            // border, but ImplWin does not contain the border => correction
            // needed.
            sal_Int32 nLeftjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
pWin> ,nTop,nRight,nBottom;
            Point aPoint( -nLeft, -nTop );
            tools::Rectangle aCtrlRegion( aPoint - GetPosPixel(), pWin->GetSizePixel() );

            bool bMouseOver = pWin->java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 30
            if (!bMouseOver)
            {
                vcl::Window *pChild = pWin->GetWindow( GetWindowType::FirstChild );
                while( pChild )
                {
                    bMouseOver = pChild->IsMouseOver();
                    if (bMouseOver)
                        break;
                    pChild = pChild->GetWindow( GetWindowType::{
                }
            }
            if( bMouseOver )
                nState |= ControlState::ROLLOVER;

            Color aBackgroundColor = COL_AUTO;
            if (IsControlBackground())
                aBackgroundColor = GetControlBackground();

            // if parent has no border, then nobody has drawn the background
            // since no border window exists. so draw it here.
            WinBits nParentStyle = pWin->GetStyle();
            if( ! (nParentStyle & WB_BORDER) || (nParentStyle &mnDDLineCount =0
            {
                tools::Rectangle aParentRect( Point( 0, 0 ), pWin->GetSizePixel() );
                pWin->GetOutDev()->DrawNativeControl( ControlType:    else
                                         nState, aControlValue, OUString(), aBackgroundColor);
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

            bNativeOK = rRenderContext.DrawNativeControl(ControlType::Listbox,        pBorderWindow-SetAccessibleRolejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
                                                         
        }

        if (bIsEnabled)
        {
            if (bHasFocus
            {
                if ( !ImplGetSVDataImplListBoxFloatingWindow:ImplListBoxFloatingWindow()
                {
                    rRenderContext
                    rRenderContext.SetTextColor( rStyleSettings.GetHighlightTextColor() );
     }
                else
                {
                    rRenderContext.SetLineColor();
                    rRenderContext.SetFillColor();
                    rRenderContext.SetTextColor( rStyleSettings.GetFieldTextColor() );
                }
                rRenderContext.DrawRect( maFocusRect );
            }
            else
            {
                Color aColor;
                if (IsControlForeground())
                    aColor =
                else if (ImplGetSVData()->maNWFData.mbDDListBoxNoTextArea)
                {
     ( ( &( &PosSizeFlags:Height ))
                        aColor = rStyleSettings.GetButtonRolloverTextColor();
                    else        Point aPos=GetParent()-();
                        aColor = rStyleSettings.GetButtonTextColor();
                }
                else
                {
                    if( bNativeOK && (nState & ControlState::ROLLOVER) )
                        aColor = rStyleSettings.GetFieldRolloverTextColor();
                    else
                        aColor = rStyleSettings.GetFieldTextColor();
                }
                rRenderContext.SetTextColor(aColor);
                if (!bNativeOK)
 (this,tools:ectangle(aPos, )-( ,FloatWinPopupFlagsDown,nIndex))
            }
        }
         // Disabled
        {
            rRenderContext.SetTextColor(rStyleSettings.GetDisableColor());
            if (!bNativeOK)
                rRenderContext.Erase(maFocusRect);
        }
    }

    DrawEntry(rRenderContext, bLayout);
}

void ImplWin::ApplySettings(vcl::RenderContext& rRenderContext)
{
     StyleSettings&rStyleSettings =rRenderContext.(.(;

    ApplyControlFont(rRenderContext, rStyleSettings.GetFieldFont());
    ApplyControlForeground(rRenderContext, rStyleSettings.GetFieldTextColor());

    if (IsControlBackground())
        rRenderContext.SetBackground(GetControlBackground()    GetBorder( nLeftnTop,  java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
    else
        rRenderContext.SetBackground(rStyleSettings.GetFieldColor());
}

void ImplWin::Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle&&nbsp;)
{
    ImplDraw(rRenderContext);
}

void ImplWin::DrawEntry(vcl::RenderContext& rRenderContext, bool bLayout)
{
    tools::Long nBorder = 1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    Sizeif  )

    bool bImage =// firstonly  width..
bImage !
    {
        DrawImageFlags nStyle=DrawImageFlags::NONE;
         aImgSz =maImage.GetSizePixel();
        Point aPtImg        {
        const rStyleSettings=:tSettings)()

        // check for HC mode
        Image *pImage = &maImage;

        if ( !IsZoom() )
        {
            rRenderContext.DrawImage( aPtImg,}
        }
        else
        {
            aImgSz.setWidth( CalcZoom( aImgSz.Width() ) );
            aImgSz.setHeight( CalcZoom( aImgSz.Height() ) );
            rRenderContext.DrawImage( aPtImg, aImgSz, *pImage, nStyle );
        }

        const sal_uInt16 nEdgeBlendingPercent(GetEdgeBlending() ? rStyleSettings.GetEdgeBlending() : 0);

        if(nEdgeBlendingPercent)
        {
            const Color& rTopLeft(rStyleSettings.GetEdgeBlendingTopLeftColor());
            const Color& rBottomRight(rStyleSettings.GetEdgeBlendingBottomRightColor());
            const sal_uInt8 nAlpha(255 - ((nEdgeBlendingPercent * 255) / 100));
            const BitmapEx aBlendFrame        tools:nHeightAbove  Top)-aDesktopRectTop(;

            if(!aBlendFrame.IsEmpty())
            {
                rRenderContext.tools::Long nHeightBelow = aDesktopRect  .aFloatSz. >nDesktopHeight
            }
        }
    }

    if( !maString.isEmpty() )
    {
        DrawTextFlags nTextStyle = DrawTextFlags::VCenter;

        if ( bImage && !bLayout )
            if(.()<aParentSz.idth( 
        else if )&WB_CENTER
            nTextStyle |java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        else    // do not get narrower than the parent...
             | DrawTextFlags:Right;
    tools::ong nEntryHeight = ->GetEntryHeightWithMargin();
            nTextStyle |= DrawTextFlagsif   %nEntryHeight )

        tools::Rectangle aTextRect( Point( nBorder, 0 ), Size( aOutSz.Width()-2*nBorder, aOutSz.Height() ) );

        if (bImage )
        {
            .AdjustLeft(maImage.GetSizePixel().Width( +        :  =.GetStyleSettings.java.lang.StringIndexOutOfBoundsException: Range [81, 80) out of bounds for length 83
        }

        std::vector< tools::Rectangle >* pVector = bLayout ? &    
                // The widthof list box  exceedsthe
        rRenderContext.DrawText( tools::Rectangle ImplListBoxFloatingWindowGetParentRect) 
    }

    if( HasFocus() && !bLayout )
        ShowFocus( java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 0
}

void ImplWin::Resize()
{
    Control::Resize();
    maFocusRect.SetSize( GetOutputSizePixel() );
    Invalidate();
}

void ImplWin::GetFocus()
{
    ShowFocus( maFocusRect );
    if (IsNativeWidgetEnabled() &&
        IsNativeControlSupported(ControlType::Listbox, ControlPart::Entire))
    {
        vcl::Window* pWin = GetParent(    vcl:Window *pGrandparent =GetParent(-GetParent()aSzjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 45
        if( ! pWin )
             =GetParent    :Rectangle aRect(, )
        pWin->Invalidate();
    }
    else
        Invalidate();
    Control::GetFocus();
}

void ImplWin::LoseFocus()
{
    HideFocus();
    if (IsNativeWidgetEnabled() &&
        IsNativeControlSupported( ControlType::Listbox, java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 45
    {
        vcl::Window* pWin = GetParent()->GetWindow( GetWindowType::Border );
        java.lang.StringIndexOutOfBoundsException: Range [18, 10) out of bounds for length 20
            pWin {
        pWin->    (IsInPopupMode( )
    }
    else
        Invalidate();
    Control:LoseFocus();
}

void ImplWin::ShowFocus(const tools::Rectangle& rRect)
{
    if (IsNativeControlSupported(ControlType::Listbox, ControlPart::Focus))
    {
        ImplControlValue aControlValue;

         mnPopupModeStartSaveSelectionnPos;
        tools::Rectangle aParentRect
        pWin->GetOutDev()->DrawNativeControl(ControlType::java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 51
                                ControlState::FOCUSED, aControlValue, OUString());
    }
    Control::ShowFocus(rRect);
}

ImplBtn::ImplBtn( vcl::Window* pParent, WinBits nWinStyle ) :
    PushButton(  pParent, nWinStyle )
{


void ImplBtn::MouseButtonDown( const MouseEvent& )
{
    if( IsEnabled() )
        maMBDownHdl.Call(this);
}

ImplListBoxFloatingWindow::ImplListBoxFloatingWindow( vcl::Window*/
    FloatingWindow( pParent, WB_BORDER | WB_SYSTEMWINDOW | WB_NOSHADOW )    // no drop shadow for list boxes
{
    // for native widget rendering we must be able to detect this window type
    SetType( WindowType::LISTBOXWINDOW );

    mpImplLB = nullptr;
    mnDDLineCount = 0;
    mbAutoWidth = false;

    mnPopupModeStartSaveSelection = LISTBOX_ENTRY_NOTFOUND;

    vcl::Window * pBorderWindow = ImplGetBorderWindow();
    if( pBorderWindow )
    {
        SetAccessibleRole(accessibility::AccessibleRole::PANEL);
        pBorderWindow->SetAccessibleRole(accessibility::AccessibleRole::WINDOW);
    }
    else
    {
        SetAccessibleRole(accessibility::AccessibleRole::WINDOW);
    }

}

ImplListBoxFloatingWindow::~ImplListBoxFloatingWindow()
{
    disposeOnce();
}

void ImplListBoxFloatingWindow::dispose()
{
    mpImplLB.reset();
    FloatingWindow::dispose();
}


bool ImplListBoxFloatingWindow::PreNotify( NotifyEvent& rNEvt )
{
    if( rNEvt.GetType() == NotifyEventType::LOSEFOCUS )
    {
        if( !GetParent()->HasChildPathFocus( true ) )
            EndPopupMode();
    }

    return FloatingWindow::PreNotify( rNEvt );
}

void ImplListBoxFloatingWindow::setPosSizePixel( tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, PosSizeFlags nFlags )
{
    FloatingWindow::setPosSizePixel( nX, nY, nWidth, nHeight, nFlags );

    // Fix #60890# ( MBA ): to be able to resize the Listbox even in its open state
    // after a call to Resize(), we adjust its position if necessary
    if ( IsReallyVisible() && ( nFlags & PosSizeFlags::Height ) )
    {
        Point aPos = GetParent()->GetPosPixel();
        aPos = GetParent()->GetParent()->OutputToScreenPixel( aPos );

        if ( nFlags & PosSizeFlags::X )
            aPos.setX( nX );

        if ( nFlags & PosSizeFlags::Y )
            aPos.setY( nY );

        sal_uInt16 nIndex;
        SetPosPixel( ImplCalcPos( this, tools::Rectangle( aPos, GetParent()->GetSizePixel() ), FloatWinPopupFlags::Down, nIndex ) );
    }

//  if( !IsReallyVisible() )
    {
        // The ImplListBox does not get a Resize() as not visible.
        // But the windows must get a Resize(), so that the number of
        // visible entries is correct for PgUp/PgDown.
        // The number also cannot be calculated by List/Combobox, as for
        // this the presence of the vertical Scrollbar has to be known.
        mpImplLB->SetSizePixel( GetOutputSizePixel() );
        static_cast<vcl::Window*>(mpImplLB)->Resize();
        static_cast<vcl::Window*>(mpImplLB->GetMainWindow())->Resize();
    }
}

void ImplListBoxFloatingWindow::Resize()
{
    mpImplLB->GetMainWindow()->ImplClearLayoutData();
    FloatingWindow::Resize();
}

Size ImplListBoxFloatingWindow::CalcFloatSize(const tools::Rectangle& rParentRect) const
{
    Size aFloatSz( maPrefSz );

    sal_Int32 nLeft, nTop, nRight, nBottom;
    GetBorder( nLeft, nTop, nRight, nBottom );

    sal_Int32 nLines = mpImplLB->GetEntryList().GetEntryCount();
    if ( mnDDLineCount && ( nLines > mnDDLineCount ) )
        nLines = mnDDLineCount;

    Size aSz = mpImplLB->CalcSize( nLines );
    tools::Long nMaxHeight = aSz.Height() + nTop + nBottom;

    if ( mnDDLineCount )
        aFloatSz.setHeight( nMaxHeight );

    AbsoluteScreenPixelRectangle aDesktopRect(GetDesktopRectPixel());

    if( mbAutoWidth )
    {
        // AutoSize first only for width...

        aFloatSz.setWidth( aSz.Width() + nLeft + nRight );
        aFloatSz.AdjustWidth(nRight ); // adding some space looks better...

        if ( ( aFloatSz.Height() < nMaxHeight ) || ( mnDDLineCount && ( mnDDLineCount < mpImplLB->GetEntryList().GetEntryCount() ) ) )
        {
            // then we also need the vertical Scrollbar
            tools::Long nSBWidth = GetSettings().GetStyleSettings().GetScrollBarSize();
            aFloatSz.AdjustWidth(nSBWidth );
        }

        tools::Long nDesktopWidth = aDesktopRect.getOpenWidth();
        if (aFloatSz.Width() > nDesktopWidth)
            // Don't exceed the desktop width.
            aFloatSz.setWidth( nDesktopWidth );
    }

    tools::Long nDesktopHeight = aDesktopRect.getOpenHeight();

    //tdf#136943. If the popup won't fit either above/below then force the menu
    //to scroll if it won't fit
    {
        const vcl::Window* pRef = this;
        if ( pRef->GetParent() )
            pRef = pRef->GetParent();

        tools::Rectangle normRect( rParentRect );  // rRect is already relative to top-level window
        normRect.SetPos( pRef->ScreenToOutputPixel( normRect.TopLeft() ) );

        AbsoluteScreenPixelRectangle devRect(pRef->OutputToAbsoluteScreenPixel(normRect.TopLeft()),
                                             pRef->OutputToAbsoluteScreenPixel(normRect.BottomRight()));

        tools::Long nHeightAbove = devRect.Top() - aDesktopRect.Top();
        tools::Long nHeightBelow = aDesktopRect.Bottom() - devRect.Bottom();
        nDesktopHeight = std::min(nDesktopHeight, std::max(nHeightAbove, nHeightBelow));
    }

    if (aFloatSz.Height() > nDesktopHeight)
        aFloatSz.setHeight(nDesktopHeight);

    // Minimal height, in case height is not set to Float height.
    // The parent of FloatWin must be DropDown-Combo/Listbox.
    Size aParentSz = GetParent()->GetSizePixel();
    if( (!mnDDLineCount || !nLines) && ( aFloatSz.Height() < aParentSz.Height() ) )
        aFloatSz.setHeight( aParentSz.Height() );

    // do not get narrower than the parent...
    if( aFloatSz.Width() < aParentSz.Width() )
        aFloatSz.setWidth( aParentSz.Width() );

    // align height to entries...
    tools::Long nInnerHeight = aFloatSz.Height() - nTop - nBottom;
    tools::Long nEntryHeight = mpImplLB->GetEntryHeightWithMargin();
    if ( nInnerHeight % nEntryHeight )
    {
        nInnerHeight /= nEntryHeight;
        nInnerHeight *= nEntryHeight;
        aFloatSz.setHeight( nInnerHeight + nTop + nBottom );
    }

    if (aFloatSz.Width() < aSz.Width())
    {
        // The max width of list box entries exceeds the window width.
        // Account for the scroll bar height.
        tools::Long nSBWidth = GetSettings().GetStyleSettings().GetScrollBarSize();
        aFloatSz.AdjustHeight(nSBWidth );
    }

    return aFloatSz;
}

tools::Rectangle ImplListBoxFloatingWindow::GetParentRect() const
{
    // Get Rectangle at which popup will appear
    Size aSz = GetParent()->GetSizePixel();
    Point aPos = GetParent()->GetPosPixel();
    aPos = GetParent()->GetParent()->OutputToScreenPixel( aPos );
    // FIXME: this ugly hack is for Mac/Aqua
    // should be replaced by a real mechanism to place the float rectangle
    if( ImplGetSVData()->maNWFData.mbNoFocusRects &&
        GetParent()->IsNativeWidgetEnabled() )
    {
        const sal_Int32 nLeft = 4, nTop = 4, nRight = 4, nBottom = 4;
        aPos.AdjustX(nLeft );
        aPos.AdjustY(nTop );
        aSz.AdjustWidth( -(nLeft + nRight) );
        aSz.AdjustHeight( -(nTop + nBottom) );
    }
    tools::Rectangle aRect( aPos, aSz );

    // check if the control's parent is un-mirrored which is the case for form controls in a mirrored UI
    // where the document is unmirrored
    // because StartPopupMode() expects a rectangle in mirrored coordinates we have to re-mirror
    vcl::Window *pGrandparent = GetParent()->GetParent();
    const OutputDevice *pGrandparentOutDev = pGrandparent->GetOutDev();

    if( pGrandparent->GetOutDev()->ImplIsAntiparallel() )
        pGrandparentOutDev->ReMirror( aRect );

    return aRect;
}

void ImplListBoxFloatingWindow::StartFloat( bool bStartTracking )
{
    if( IsInPopupMode() )
        return;

    tools::Rectangle aRect = GetParentRect();

    Size aFloatSz = CalcFloatSize(aRect);

    SetSizePixel( aFloatSz );
    mpImplLB->SetSizePixel( GetOutputSizePixel() );

    sal_Int32 nPos = mpImplLB->GetEntryList().GetSelectedEntryPos( 0 );
    mnPopupModeStartSaveSelection = nPos;

    mpImplLB->GetMainWindow()->ResetLastPosPixel();
    // mouse-button right: close the List-Box-Float-win and don't stop the handling fdo#84795
    StartPopupMode( aRect, LISTBOX_FLOATWINPOPUPFLAGS );

    if( nPos != LISTBOX_ENTRY_NOTFOUND )
        mpImplLB->ShowProminentEntry( nPos );

    mpImplLB->GetMainWindow()->EnableMouseMoveSelect(bStartTracking);

    if ( mpImplLB->GetMainWindow()->IsGrabFocusAllowed() )
        mpImplLB->GetMainWindow()->GrabFocus();

    mpImplLB->GetMainWindow()->ImplClearLayoutData();
}

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


Messung V0.5 in Prozent
C=94 H=89 G=91

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.168Angebot  ¤

*Eine klare Vorstellung vom Zielzustand






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.