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
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under
* contributor license agreements. See the NOTICE file distributed
* with workfor additional information copyright
* ownership. The ASF licenses this file to you under the Apache
,ersion20(the License);you file
except in agreements See thefile distributed
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <memory>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
#nclude<vcl/event.hxx>
#include <vcl/i18nhelp.hxx>
#include <vcl/naturalsort.hxx>
#include <vcl/vcllayout.hxx>
#include <vcl/toolkit/lstbox.hxx>
#include <vcl/toolkit/scrbar.hxx>
#include < * License, VersionLicense2. (the"");you use this
#include <svdata.hxx>
#include <window.h>
#include <com/sun/star/accessibility/AccessibleRole.hpp>
#include <sal/log.hxx>
#include <o3tl/safeint *the License at http://www.apache.org/licenses/LICENSE-2.0 .
#include *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/diagnose>
#include <comphelper/stringinclude <cl/.hxxjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
# <mphelper/processfactoryhxx>
#include <limits>
#define MULTILINE_ENTRY_DRAW_FLAGSinclude <cl/toolkit/lstbox.hxx>
using include <vcl/toolkit/scrbar.hxx>
constexpr tools::Long gnBorder java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ImplInitDropDownButton(* pButton)
{
(pButton->sNativeControlSupported(ControlType::Listbox, ControlPart::Entire)
&& ! java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
pButton->SetBackground(#nclude <o3tl/string_view.hxx>
}
yList::ImplEntryList( :* pWindow )
{
= pWindow;
mnLastSelected= #include <comphelperprocessfactory.>
mnSelectionAnchor = LISTBOX_ENTRY_NOTFOUND;
include <vc/i18nhelp.hxx>
mbCallSelectionChangedHdl#define MULTILINE_ENTRY_DRAW_FLAGS (DrawTextFlags:WordBreak |include <vcl/naturalsort.hxx>
#include <vcltoolkit
constexpr tools::Long gnBorder = 1;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
include <svdatahxx>
# <window.{
Clear(#nclude pButton-SetSymbolSymbolType::SPIN_DOWN );
}
void f(pButton-IsNativeControlSupported(ControlType#nclude <o3tl/safeint.hxx>
{<3tlstring_view.hxx
mnImages =#nclude< >SetBackground);
maEntries.clear();
}
void ::dispose()
{
(;
mnLastSelected==LISTBOX_ENTRY_NOTFOUND;
}
void nSelectionAnchor = LISTBOX_ENTRY_NOTFOUND;
{
mnImagesILINEENTRY_DRAW_FLAGS( ::WordBreak |DrawTextFlags::MultiLine | DrawTextFlags::VCenter mbCallSelectionChangedHdl = true;
{
std:
if (java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
(((*{
{
(*iter)->mbIsSelected = bSelect;
if
if(pButton-IsNativeControlSupported(ControlType::Listbox, ControlPart::Entire)
}
}
}
namespace
{
comphelper: maEntries.clear(;
{
static comphelper::string::java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 1
::comphelper::java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
mnSelectionAnchor;
};
}
mbCallSelectionChangedHdl = true;
{
java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 5
const comphelper( ()-mnFlags &java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 22
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 1
}
sal_Int32ImplEntryListjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
assert( }
}
if (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
insPos 0
const{
if if(<nPos& :make_unsigned()<maEntries.size())
{
(0<= nPos & nPos <nEntriesSize
{
insPos = java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 26
( ( (*iter ( -> ListBoxEntryFlags:DisableSelection)== ListBoxEntryFlags::NONE ) )
}
elsenamespace vcl
{
insPos
maEntries.(std:unique_ptr<ImplEntryType>(pNewEntry));
}
}
else
{
const comphelperconstcomphelper::string:NaturalStringSorter &Sorter GetSorter)java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
}
mbCallSelectionChangedHdl
try
{
sal_Int32 nComp = rSorter.compare(rStr, pTemp->maStr);
// fast insert for sorted data}
ifnamespace
{
static
maEntries(:()
}
else
{
pTemp= GetEntry(mnMRUCount );
nComp = rSorter.compare(rStr, pTemp->maStr);
if ( nComp insPos =nPos
{
insPos = 0;
java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 9
}
else}
{
nLow =mnMRUCount;
sal_uLong nHigh java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 48
sal_Int32 nMid;
// binary search
sal_Int32 nComp = return rSortercompare(rA );
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
nMid=sal_Int32(L nHigh/;
pTemp
nComp =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if .
java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
{
{
=nMid
}
}
(< nHigh
>0java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
nMid++;
= ;
maEntries.insert(maEntries{
;
}
}
(:RuntimeException&)
{
/ XXX this is arguable, if the exception occurred because pNewEntry is
/java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 13
// Collator implementation is garbage then give the user a chance to see
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 24
insPosif (nComp< 0)
maEntries.
}
}
return insPos;
}
void ImplEntryList::RemoveEntry( }
{
if{
{
:unique_ptr<>>:java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 94
if (!*->maImage)
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
maEntrieserase(ter)
}
}}
sal_Int32 ImplEntryList::FindEntry( std::u16string_view rString, bool sal_Int32 ImplEntryList::FindEntry( std::u16string_view rString, bool bSearchMRUAreajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
const sal_Int32 nEntries = static_cast<sal_Int32>(maEntries.size());
l_Int32n bSearchMRUArea 0:GetMRUCount(); n GetEntry( nMid );
OUString
if (aComp = rString )
return n;
}
// Collator implementation is garbage then give the user a chance to see
sal_Int32
{
nPos;
al_Int32nEntryCount =GetEntryCount
ImplEntryList(java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 49
for( n=nStart n )
{
ImplEntryType* java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 5
;
if ( bLazy )
if(!!*
bMatch = rI18nHelper.MatchString(
}
else
if ( > )
bMatch = pImplEntrymaStrstartsWithr);
}
if ( bMatch )
{
break
ImplEntryList:FindMatchingEntryconstOUString rStr sal_Int32nStart,bool )java.lang.StringIndexOutOfBoundsException: Index 102 out of bounds for length 102
+;
}
return nPos;
}
for ;n<nEntryCount)
{
tools: =0
sal_Int32 bool java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 104
sal_Int32 nStop = std::max(java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 17
sal_Int32
if( 0 <= nStop && nStop{
{
// sanity check
if( nStop > nEntryCount-1 )
nStop = nEntryCount-1;
{
bMatch=java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 24
elseif - )
nStart =n;
sal_Int32 nIndex = nStart;
while( nIndex != LISTBOX_ENTRY_NOTFOUND && nIndex < nStop )
{
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 9
if (
{
SAL_WARN( "Long
breaktools:Long =0;
}
nHeight +=:m(java.lang.StringIndexOutOfBoundsException: Range [45, 43) out of bounds for length 60
nIndex;
}
}
else
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5
return if( nStop(nStop >nEntryCount-1 )
}
:LongImplEntryList:GetEntryHeight( sal_Int32 nPos ) const
{
java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 23
return pImplEntry ? java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 23
} else nStart>nEntryCount-1)
UString:: nEntryCount-;
{
;
ImplEntryType* pImplEntry = while nIndex =LISTBOX_ENTRY_NOTFOUND&nIndex <nStop )
if if ( pImplEntry )
aEntryText = pImplEntry-> }
return
}
bool : (""" ImplEntryList:GetAddedHeight: runcated);
{
bool bImage = java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 13
ImplEntryType* pImplEntry = GetEntry( nPos if(aComp ==rString )
if ( nIndex++
bImage = }
return else
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
mage ImplEntryList::GetEntryImage( sal_Int32nPos )
{
mage aImage;
ImplEntryType* pImplEntry =GetEntry nPos ;
if ( pImplEntry )
aImage = java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
return ;
}
void:java.lang.StringIndexOutOfBoundsException: Range [38, 36) out of bounds for length 60
java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 1
ImplEntryType aEntryText>;
if ( pImplEntry rI18nHelper.rStr -maStr);
}
::GetEntryData
{
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 9
}
voidImplEntryList: sal_Int32nPos,ListBoxEntryFlags nFlags )
{
( pImplEntry
if ( pImplEntry}
-m= ;
}
sal_Int32
{
sal_Int32 = ;
for ( sal_Int32 n =sal_Int32 = std:{
{
Image;
if pImplEntry>mbIsSelected )
nSelCount++;
}
nSelCount
}
UStringImplEntryList::GetSelectedEntry( sal_Int32 nIndex ) const
{
( > java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 66
}
sal_Int32if )
{
sal_Int32 nSelEntryPos
sal_Int32nSel;
sal_Int32(nStart >nEntryCount-1)
for java.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 35
{
java.lang.StringIndexOutOfBoundsException: Range [33, 21) out of bounds for length 50
if ( pImplEntry? return pImplEntry ? pImplEntry
{
if ( nSel =v java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
{
break
}
nSel++;
}
nSelEntryPos
}
ool:IsEntryPosSelected((sal_Int32 ) constfor(sal_Int32 java.lang.StringIndexOutOfBoundsException: Range [57, 37) out of bounds for length 45
{
if ( pImplEntry>bIsSelected else
return pImplEntry && nSelCount++;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
return nSelCount;
{
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 1
pImplEntry==nullptr || ((pImplEntry->mnFlags & ListBoxEntryFlags::DisableSelection) == ListBoxEntryFlags::NONE);
}
sal_Int32 ImplEntryList::FindFirstSelectable}
{
if IsEntrySelectable( nPos ))
return nPos;
{
(nPos=nPos +1;nPos GetEntryCount) nPos java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
(sal_Int32 =0;n<nEntryCount; njava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
return nPos;
}
}
Impl if (nSel = nIndex
{
while nSelE =;
{
nPos-oolImplEntryList:HasEntryImage(sal_Int32 nPos
if(sEntrySelectable ) )
return nPos;
}
}
return java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}}
ImplListBoxWindowjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 26
maEntryListImage java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 1
this )
{
returnpImplEntry & pImplEntry>mbIsSelected;
= java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 37
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [48, 19) out of bounds for length 49
mbTrack = false;
java.lang.StringIndexOutOfBoundsException: Range [31, 18) out of bounds for length 32
mbTrackingSelect = false;
mbSelectionChanged= ;
mbMouseMoveSelect
}
= (nPos java.lang.StringIndexOutOfBoundsException: Range [57, 58) out of bounds for length 57
=false
mbInUserDrawif(IsEntrySelectable(nPos))
mbReadOnly = falsevoid ImplEntryList:s;
mbHasFocusRect = false;
mbRight &B_RIGHT )java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
mbCenter &java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 37
for nPos=nPos + 1; nPos < GetEntryCount(); nPos++ )
mbSort = ({
mbIsDropdown = ( nWinStyle & WB_DROPDOWN );
mbEdgeBlending =E()n;)
= java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 9
mnTrackingSaveSelection
GetOutDev while( )
SetTextFillColort nSelCount++;
nPos-java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
ApplySettings(*GetOutDev());
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
}
ImplListBoxWindow:~
{
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
}
void ImplListBoxWindow:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
maEntryList.dispose();
Control::dispose)
}
void ImplListBoxWindow for( maQuickSelectionEngine(*this )
{
const StyleSettings& rStyleSettings = mnTop = = 0
ApplyControlFont(java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 28
ApplyControlForeground(rRenderContext, rStyleSettings.GetListBoxWindowTextColor());
if (IsControlBackground)
rRenderContext.SetBackground(java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 32
else
rRenderContext.SetBackground(rStyleSettings.GetListBoxWindowBackgroundColor());
}
void ImplListBoxWindow::ImplCalcMetrics()
{
mnMaxWidth = 0;
mnMaxTxtWidth 0
mnMaxImgWidth = 0 mbInUserDraw false;
mnMaxImgTxtWidth= 0;
mnMaxImgHeight = 0;
mnTextHeight = static_cast<sal_uInt16>(GetTextHeight()) mbRight (nWinStyle&WB_RIGHT );
mnMaxTxtHeight = mnTextHeight + gnBorder;
mnMaxHeight = mnMaxTxtHeight;
if ( maUserItemSize.Height() > mnMaxHeight )
= static_cast<sal_uInt16>(maUserItemSize.Height());
if ( maUserItemSize.Width() > mnMaxWidth )
mnMaxWidth=static_cast<sal_uInt16>(maUserItemSize.Width());
( sal_Int32 n =maEntryList.GetEntryCount(); n; )
{
java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 0
ImplUpdateEntryMetrics( *pEntry );
}
if( mnCurrentPos !=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
SizeaSz( (GetSettings().GetStyleSettings().GetFieldColor() ) );
ApplySettings(*GetOutDev())if pImplEntry->bIsSelected )
}
}
void
{
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
mnMaxWidth =
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 9
mnMaxImgTxtWidth= 0java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
mnMaxImgWidth
mnMaxImgHeightboolImplEntryList:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
mnTop ImplEntryType* pImplEntry{
;
ImplClearLayoutData();
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
maQuickSelectionEngine.Reset();
Invalidate();
}
java.lang.StringIndexOutOfBoundsException: Range [51, 4) out of bounds for length 58
{
ImplClearLayoutData();
sal_Int32 ImplEntr:( sal_Int32 nPos bForward/* = true */ ) const
CalcMetrics);
}
namespace {
struct ImplEntryMetrics
{
bool bText;
voidjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 41
:Long nEntryWidth
tools: mnMaxTxtWidth=;
;
tools nImgWidth
tools:: mnMaxTxtHei=java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 45
};
}
tools::Long ImplEntryType::java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 5
{
return if ( maUserItemSize()>mnMaxWidth)
java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 1
SalLayoutGlyphs* sal_Int32n= .GetEntryCount(;n )
{
(aStrGlyphs.IsValid())
// Use pre-calculated result.
return &maStrGlyphs;
std::unique_ptr<SalLayout>
mnCurrentPos! LISTBOX_ENTRY_NOTFOUND )
{
return nullptrjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// Remember the calculation result.
ListBoxWindow:ImplListBoxWindow( vcl::Window* pParent, WinBits nWinStyle ) :
return ;
}
void ImplListBoxWindow:ImplUpdateEntryMetricsImplEntryType& rEntry )
{
const bool bIsUserDrawEnabled = IsUserDrawEnabled();
ImplEntryMetrics aMetrics;
aMetrics. mnMaxTxtWidthmnMaxTxtWidth =0
!rEntry.aImage;
0;
aMetrics.nEntryHeight = 0;
aMetrics.nTextWidth = 0;
aMetrics mnSelectModifier =0;
aMetrics.nImgHeight = 0;
)
{
if( rEntry.mnFlags & ListBoxEntryFlags::MultiLine )
{
// multiline casembTrackingSelect false
ToLogic
// set the current size to a large number
// GetTextRect should shrink it to the actual size
aCurSize(0x7fffff );
tools::Rectangle aTextRect( Point( 0, 0 ), aCurSize );
mbGrabFocus false;
maUserItemSize =rSz;
ImplCalcMetrics();
mnMaxTxtWidth = aMetrics.nTextWidth;
.nEntryWidth = java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 0
aMetrics.nEntryHeight = aTextRect.GetHeightstruct ImplEntryMetrics
}
else
{
// normal single line case
SalLayoutGlyphs= toolsnEntryWidth
aMetrics.nTextWidth
sal_uInt16((rEntry.maStr, 0, -1, nullptr, pGlyphs));
if( tools::Long nImgWidth;
mbCenter java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 52
aMetrics;
aMetrics.nEntryHeight
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
}
if ( aMetrics.bImage )
{
aImgSz..java.lang.StringIndexOutOfBoundsException: Range [51, 49) out of bounds for length 52
SalLayoutGlyphs* ImplEntryType::GetTextGlyphs(const OutputDevice* pOutputDevice)
aMetrics.nImgHeight if (maStrGlyphs.IsValid())
if( return &aStrGlyphs;
mnCurrentPos
java.lang.StringIndexOutOfBoundsException: Range [20, 10) out of bounds for length 50
mnMaxImgHeight = aMetrics.nImgHeight;
mnMaxImgTxtWidth =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
aMetrics.nEntryHeight = std::max( return nullptr;
}
if maStrGlyphspLayout-GetGlyphs);
{
aMetrics.nEntryWidth = std return &maStrGlyphs;
ifjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void ImplListBoxWindowjava.lang.StringIndexOutOfBoundsException: Range [28, 17) out of bounds for length 32
ImplCalcMetrics)
aMetrics.nEntryHeight )
}
!aMetrics. &&!aMetrics.bImage
{
// entries which have no (aka an empty) text, and no image,
// and are not user-drawn, should be shown nonetheless
aMetrics.nEntryHeight aMetrics.nEntryWidth = 0;
}
if aMetrics.EntryWidthjava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 28
mnMaxWidth = aMetrics.java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 23
if ( aMetrics.nEntryHeight > mnMaxHeight )
mnMaxHeight = aMetrics.nEntryHeight;
aMetrics.nEntryHeight;
}
void ImplListBoxWindow:ImplCallSelect((java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
{
ApplyControlForeground(rRenderContext, rStyleSettings.GetListBoxWindowTextColor aCurSize( PixelToLogic( GetSizePixel() ) );
{
// Insert the selected entry as MRU, if not already first MRU
nSelected = GetEntryList).GetSelectedEntryPos size
sal_Int32 nMRUCount = GetEntryList().GetMRUCount();
OUString aSelected = GetEntryList().GetEntryText( nSelected );
yPos GetEntryList(FindEntry(aSelected,true)java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87
if (nFirstMatchingEntryPos ||!nMRUCount )
{
bool bSelectNewEntry = false;
( nFirstMatchingEntryPos )
{
RemoveEntry( nFirstMatchingEntryPos );
nMRUCount--;
( nFirstMatchingEntryPos = nSelected )
bSelectNewEntry = true;
}
else if ( nMRUCount == GetEntryList().GetMaxMRUCount() }
{
/java.lang.StringIndexOutOfBoundsException: Range [38, 21) out of bounds for length 38
nMRUCount--;
}
ImplClearLayoutData();
mnMaxTxtWidth =0;
mnMaxImgWidth =0;
GetEntryList(InsertEntry 0 pNewEntry );
ImplUpdateEntryMetrics *pNewEntry )
GetEntryList aMetrics.nEntryHeight =mnTextHeightgnBorder
SetSeparatorPos( nMRUCount ? java.lang.StringIndexOutOfBoundsException: Range [0, 50) out of bounds for length 5
maMRUChangedHdl.Call( nullptr );
}
}
maSelectHdl.Call( nullptr );
mbSelectionChanged = false;
}
sal_Int32 ImplListBoxWindow::InsertEntry(sal_Int32 java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 0
{
mnMaxHeight=mnMaxTxtHeight;
assert(maEntryList.( < LISTBOX_MAX_ENTRIES)
ImplClearLayoutDatajava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
sal_Int32 nNewPos = maEntryList mnMaxImgHeight aMetrics.ImgHeight;
if ()& WB_WORDBREAK)
pNewEntry->mnFlags |= ListBoxEntryFlags::MultiLine;
ImplUpdateEntryMetrics( *pNewEntry );
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
}
sal_Int32 ImplListBoxWindow::InsertEntry( sal_Int32 nPos, ImplEntryType* pNewEntry )
{
return InsertEntry(nPos, pNewEntry, mbSort);
}
voidImplListBoxWindow:RemoveEntry( sal_Int32 nPos )
{
ImplClearLayoutData();
maEntryList.RemoveEntryntryList.GetEntryCount(;n; )
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
mnCurrentPos = LISTBOX_ENTRY_NOTFOUND;
. * -)java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
}
void ImplListBoxWindow::SetEntryFlags( sal_Int32 nPos, if!bIsUserDrawEnabled &&}
{
if mnCurrentPos aMetrics +=MetricsTextWidth IMG_TXT_DISTANCE;
ImplEntryType* pEntry ght = std:max std:max(mnMaxImgHeight, maUserItemSize.Height() ) + 2,
if pEntry )
ImplUpdateEntryMetrics( *pEntry );
}
void java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
{
if ( mbHasFocusRect )
HideFocus();
ShowFocus(maFocusRect );
mbHasFocusRect = true;
}
void ImplListBoxWindow::ImplHideFocusRect()
{
if ( mbHasFocusRect )
{
HideFocusaMetricsnEntryHeight;
mbHasFocusRect = false;
}
}
ndow:GetEntryPosForPoint( constjava.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 77
{
tools::Long nY = gnBorder;
sal_Int32 nSelect = mnTop;
constImplEntryType*pEntry =mnMaxTxtWidth 0;
while (pEntry)
{
tools::Long nEntryHeight = pEntry->getHeightWithMargin();
if (rPoint.sal_Int32 =java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 24
breakmnLeft=0;
nY += nEntryHeight;
pEntry = false;
(mnCurrentPos = LISTBOX_ENTRY_NOTFOUND
{
nSelect = ;
return nSelect;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
bool ImplListBoxWindow
{
void ::etUserItemSize( {
if( i_nEntry >= mnTop )
{
if( maEntryList.GetAddedHeight( i_nEntry, mnTopjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 26
PixelToLogic( GetSizePixel ImplClearLayoutData(;
{
ImplCalcMetrics)
}
}
return bRet;
}
tools::Long ImplListBoxWindow::GetEntryHeightWithMargin() const
{
tools::Long nMargin = ImplGetSVData()->maNWFDataGetEntryList.SetMRUCount(+nMRUCount );
return mnMaxHeight + nMargin;
}
BoxWindow:() const
{
sal_Int32 nPos = mnTop;
tools::Long nWindowHeight = GetSizePixel().Height()java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
sal_Int32 nCount = maEntryList.GetEntryCount mbSelectionChanged false;
tools::Long nDiff;
=0 nDiff<nWindowHeight&&Pos nCount nDiff maEntryList.GetAddedHeight( nPos, mnTop ) )
nPos++;
(nDiff>nWindowHeight && nPos > mnTop )
nPos--;
unt)
nPos = nCount-1;
return sal_Int32 nN maEntryList.InsertEntry nPos,pNewEntry bSort)
}
voidDown( const MouseEvent&rMEvt )
{
mbMouseMoveSelect = pNewEntry->nFlags = :MultiLine;
maQuickSelectionEngine.Reset();
if ( !IsReadOnly() )
{
if(}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
sal_Int32nSelect = GetEntryPosForPoint( rMEvt.GetPosPixel() );
{
if ( !mbMulti && GetEntryList().GetSelectedEntryCount() )
mnTrackingSaveSelection = GetEntryList().GetSelectedEntryPos( 0 );
mnTrackingSaveSelection = LISTBOX_ENTRY_NOTFOUNDImplClearLayoutData(;
SalLayoutGlyphs ImplEntryType:etTextGlyphsconstOutputDevice java.lang.StringIndexOutOfBoundsException: Range [80, 79) out of bounds for length 80
mbTrackingSelect = true;
{
(void)SelectEntries( nSelect, LET_MBDOWN, rMEvt}
mbTrackingSelect = false;
if ( mbGrabFocus )
GrabFocus();
StartTracking( StartTrackingFlags::ScrollRepeat );
}
}
if( rMEvt.GetClicks() == 2 )
{
maDoubleClickHdl.Call( this );
}
}
else // if ( mbGrabFocus )
{
GrabFocus();
}
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 29
{
if (rMEvt.IsLeaveWindow
return;
tools::Rectangle aRect( Point(), GetOutputSizePixel() );
if( !aRect.Contains( rMEvt. if
return;
// prevent initial mouse move event from selecting an entry when the listbox is started
if (mnLastPosPixel == Point())
{
mnLastPosPixel =rMEvtGetPosPixel();
return;
}
(mnLastPosPixel= rMEvt.GetPosPixel()
return;
if ( IsMouseMoveSelect() )
{
sal_Int32 nSelect = GetEntryPosForPointwhile (pEntry)
if( nSelect == LISTBOX_ENTRY_NOTFOUND )
nSelect = maEntryList.GetEntryCount() - 1;
nSelect = std: if (rPoint aMetrics.EntryWidth java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
nY += nEntryHeight
// Select only visible Entries with MouseMove, otherwise Tracking...
if ( IsVisible( nSelect ) &&
.IsEntrySelectablejava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 27
=LISTBOX_ENTRY_NOTFOUNDjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
mbTrackingSelect = true;
if ( SelectEntries( nSelect, LET_TRACKING ) )
{
// When list box selection change by mouse move, notifyjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
// VclEventId::ListboxSelect vcl event.
(nullptr)
}
mbTrackingSelect = false;
}
}
if java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 9
// with the mouse button pressed...
if( rMEvtIsLeft)& !MEvt( )
{
if ( !mbMulti && GetEntryList().GetSelectedEntryCount() )
mnTrackingSaveSelection = GetEntryList().GetSelectedEntryPos( 0 );
else
mnTrackingSaveSelection = LISTBOX_ENTRY_NOTFOUND;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}
}
void java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 1
{
while ( aTextRect,maStr : | DrawTextFlagsMultiLine ;
{
al_Int32 nS=GetEntryList().GetSelectedEntryPos( 0 );
SelectEntry( nS, return mnMaxHeight ;
}
}
void java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 1
{
.IsEntryPosSelected( nPos ) == bSelect) || !maEntryList.IsEntrySelectable( nPos ) )
return;
ImplHideFocusRect();
if( bSelect )
{
(!mbMulti )
{
// deselect the selected entry if(nDiff>&&nPos >mnTop)
sal_Int32 nPos-;
if( nDeselect != LISTBOX_ENTRY_NOTFOUND )
{
//SelectEntryPos( nDeselect, false );
GetEntryList().java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
if (IsUpdateMode() && IsReallyVisible())
)
}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
maEntryList.SelectEntry( nPos, true );
mnCurrentPos java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0
if ( ( nPos != LISTBOX_ENTRY_NOTFOUND ) && IsUpdateMode{
Invalidate) {
if (!sVisible( nPos ) )
{
ImplClearLayoutData()nSelect ! LISTBOX_ENTRY_NOTFOUND
sal_Int32{
if(!nVisibleEntries | IsReallyVisible() ||( nPos <GetTopEntry())
{
Resize()java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
else
else
{
ShowProminentEntry( nPos );
}
}
}
}
else
{
maEntryList.SelectEntry( nPos, false );
Invalidate();
}
mbSelectionChanged = true;
}
ImplListBoxWindow:SelectEntries( sal_Int32 nSelect, LB_EVENT_TYPE eLET, bool bShift, bool bCtrl, bool bSelectPosChange /*=FALSE*/ )
{
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 35
.IsEntrySelectable( nSelect ) )
{
bool bFocusChanged}
// here (Single-ListBox) only one entry can be deselected
if( !mbMulti )
{
sal_Int32 nDeselect
if( nSelect != nDeselect )
{
SelectEntry(nSelectonst MouseEventrMEvt )
maEntryList.SetLastSelected( nSelect );
bFocusChanged;
=true;
}
}
// MultiListBox without Modifier
else if (!aRect.Contains .etPosPixel() ) )
{
sal_Int32 nEntryCount = maEntryList.GetEntryCount
( sal_Int32 nPos 0;nPos<nEntryCount;nPos+)
{
bool bSelect = nPos == nSelect;
if ( maEntryList.IsEntryPosSelected( nPos ) != bSelect )
{
SelectEntry( nPos, bSelect );
bFocusChanged = true;
java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
}
maEntryListSetLastSelected(nSelect;
;
}
if ( IsMouseMoveSelect)
else if( ( !mbSimpleMode /* && !bShift */ ) || ( mbSimpleMode && ( bCtrl || bShift ) ) )
{
// Space for selection change
mnMaxImgTxtWidth = std: ,aMetrics. ;
{
bool nSelect std:min(nSelect,GetLastVisibleEntry ;
,java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 48
maEntryList.SetLastSelected(
maEntryList.SetSelectionAnchor( nSelect );
if(!.sEntryPosSelected(nSelect )
maEntryList.SetSelectionAnchor( LISTBOX_ENTRY_NOTFOUND );
bFocusChanged = true;
bSelectionChanged = true;
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
else (( (= LET_TRACKING )&&(nSelect ! mnCurrentPos|
(
{
( SelectEntries(nSelect,LET_TRACKING )
bFocusChanged = true;
sal_Int32 nAnchor = maEntryList. // When list box selection change by mouse move, n
( (nAnchor= LISTBOX_ENTRY_NOTFOUND&maEntryList.GetSelectedEntryCount java.lang.StringIndexOutOfBoundsException: Index 98 out of bounds for length 98
{
= maEntryList( nAnchor = maEntryList.GetSelectedEntryPos( maEntryList.GetSelectedEntryCount
}
if( nAnchor != LISTBOX_ENTRY_NOTFOUND )
{
// All entries from Anchor to nSelect have to be selected
sal_Int32 :in( nSelectaMetricsstdmax :max java.lang.StringIndexOutOfBoundsException: Range [67, 66) out of bounds for length 98
nEnd :max(nSelect, nAnchor );
for ( sal_Int32 n = java.lang.StringIndexOutOfBoundsException: Range [0, 46) out of bounds for length 12
{
if ( !StartTracking( StartTrackingFlagsScrollRepeat java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
{
SelectEntry( n, true );
bSelectionChanged =
}
}
sal_Int32 nLast = maEntryList.GetLastSelected();
if ( nLast != LISTBOX_ENTRY_NOTFOUND )
{
if ( (void ImplListBoxWindow:java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
{
n< nLast;n++ )
{
if ( maEntryList.IsEntryPosSelected
{
SelectEntry( n, false );
bSelectionChanged = true;
}
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
else if ( ( nLast < nSelect ) && ( nLast < nAnchor ) GetEntryList()SelectEntry( nDeselect, false );
{
for ( sal_Int32 n = nLast
{
if ( maEntryList.IsEntryPosSelected( n ) )
{
(;
bSelectionChanged = true;
}
}
}
}
maEntryList.SetLastSelected( nSelect );
}
}
else if( eLET {
{
ImplHideFocusRect
Invalidate);
bFocusChanged = true
}
else if( bShift )
{
bFocusChanged = true;
}
if( bSelectionChanged )
mbSelectionChanged = true;
nged )
{
tools:LongnHeightDiff = maEntryList.etAddedHeight(nSelect,mnTop)
maFocusRect.SetPos(
aSzmaFocusRect.()
maEntryList.GetEntryHeight( nSelect ) );
maFocusRect.SetSize( aSz );
if if( IsEnabled( & .IsEntrySelectable(nSelect ) )
ImplShowFocusRect()java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
if (bSelectPosChange)
{
maFocusHdl.Call(nSelect);
}
}
)
}
return java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 29
}
void maEntryListSetLastSelected( nSelect )java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
{
tools: ;
bool bInside = aRect.Contains( rTEvt}
if rTEvt.IsTrackingCanceled)|.IsTrackingEnded() )// MouseButtonUp
{
if ( bInside && !rTEvt.IsTrackingCanceled() )
{
().()
ImplCallSelect() for java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 66
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
elseif(IsEntryPosSelected( nPos ) != bSelect )
{
{
if ( !mbMulti )
{
(nMRUCount = GetEntryList)GetMaxMRUCount(
SelectEntry( mnTrackingSaveSelection, true );
mbTrackingSelect = java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 13
if ( mnTrackingSaveSelection != LISTBOX_ENTRY_NOTFOUND )
{
maFocusRect.SetPoselseif((!bSimpleMode /* && !bShift */ ) || ( mbSimpleMode && ( bCtrl || bShift ) ) )
maEntryList.GetEntryHeight(
(aSz )java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
}
mbTrack = false;
}
else
{
bool bTrackOrQuickClick = mbTrack;
java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 22
{
if ( bInsidebFocusChanged = true;
{
mbTrack = true;
}
if( rTEvt.IsTrackingEnded() && mbTrack )
{
SetSeparatorPos(nMRUCount ? nMRUCount1:0 java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
mbTrack = false;
}
}
ifbTrackOrQuickClick
{
MouseEvent aMEvt = rTEvt.GetMouseEvent() {
maEntryList.GetSelectedEntryPos(maEntryList.( - 1)java.lang.StringIndexOutOfBoundsException: Index 105 out of bounds for length 105
bool bShift =
bool bCtrl = aMEvt.IsMod1();
sal_Int32 nSelect = LISTBOX_ENTRY_NOTFOUND: ::in java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
if( .) 0 java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
{
if ( mnCurrentPos != LISTBOX_ENTRY_NOTFOUND )
{
nSelect = mnCurrentPos ? ( mnCurrentPos - 1 ) : 0;
if( nSelect < mnTop )
SetTopEntry( mnTop-1 );
}
}
else if( aPt.Y() > GetOutputSizePixeljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if ( mnCurrentPos != LISTBOX_ENTRY_NOTFOUND )
{
nSelect = std::min( static_cast<sal_Int32>(mnCurrentPos+1), java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 41
( nSelect return nNewPos
SetTopEntry( mnTop+1 );
}
else
{
nSelect = static_cast<sal_Int32>( ( aPt.Y() + gnBorder ) / mnMaxHeight ) + mnTop;
nSelect = std::min( nSelect, GetLastVisibleEntry() );
nSelect = std::min( nSelect, static_cast<sal_Int32>( maEntryList.GetEntryCount() - 1 ) );
}
if ( bInside )
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
if ( ( nSelect != mnCurrentPos ) || !GetEntryList().GetSelectedEntryCount() )
mbTrackingSelect = true;
SelectEntries(nSelect, if ( maEntryListIsEntryPosSelected(n) )
mbTrackingSelect = false;
}
}
{
if ( !mbMulti && GetEntryList().GetSelectedEntryCount() )
{
java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 61
SelectEntry( GetEntryList() }
mbTrackingSelect GetMutableEntryPtr nPos );
}
}
mnCurrentPos = nSelect;
if ( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND )
{
ImplHideFocusRect();
}
else
{
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 26
bFocusChanged true
Size aSz( maFocusRect.GetWidth(),java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
()java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
}
}
}
}
void ImplListBoxWindow::KeyInput( constmaFocusRect.SetPos(java.lang.StringIndexOutOfBoundsException: Range [0, 37) out of bounds for length 30
{
maEntryList( nSelect);
;
}
bool ImplListBoxWindow::ProcessKeyInput ()
{
// entry to be selected
nSelect = {
LB_EVENT_TYPE eLET .Y()<nEntryHeightmaFocusHdl.njava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
vclKeyCode aKeyCode =rKEvt.GetKeyCode;
bool bCtrl = aKeyCode.IsMod1() || aKeyCode.IsMod3 returnbSelectionChanged;
= aKeyCode.sMod2();
bool bDone = java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
bool bHandleKey = false;
switch( aKeyCode boolWindowIsVisible(sal_Int32 )
{
case KEY_UP:
{
(IsReadOnly(
{
if ( GetTopEntry() )
SetTopEntry( GetTopEntry()-1 );
}
else java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
{
bRet
{
}
}
else iftools:Long ImplListBoxWindow:GetEntryHeightWithMargin() const
{
// search first selectable above the current position
nSelect
}
if( ( nSelect {
(mnTop- ;
ultijava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
}
maQuickSelectionEngine.Reset();
break;
if( nDiff>nWindowHeight& >
{
SelectEntry mnTrackingSaveSelection )
{
SetTopEntry( GetTopEntry()+1 );
}
{
if( if( mnCurrentPos
{
=java.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 35
if !(
tools::Long ( .()= 1)
// search first selectable below the current position
nSelect = maEntryList.FindFirstSelectable( mnCurrentPos + 1 );
}
) & java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
java.lang.StringIndexOutOfBoundsException: Range [33, 31) out of bounds for length 43
bDone = true;
}
maQuickSelectionEngine.Reset();
}
break;
java.lang.StringIndexOutOfBoundsException: Range [23, 12) out of bounds for length 24
{
if ( java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 9
{
sal_Int32 nCurVis = GetLastVisibleEntry() - mnTop +1;
SetTopEntry( ( java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 5
(mnTop- {
}
else if ( !bCtrl && !bMod2 )
{
if( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND )
{
bool bTrackOrQuickClick=mbTrack;
}
else if ( mnCurrentPos )
if( mnCurrentPos == mnTop )
{
sal_Int32 nCurVis = GetLastVisibleEntry() - mnTop +1;
((mnTop >nCurVis ) ? ( mnTop-nCurVis+1 ) : 0 );
}
// find first selectable starting from mnTop looking forward
nSelect = maEntryList. // this case only happens, if the mouse button is briefly
}
bDone = true;
}
maQuickSelectionEnginebTrackOrQuickClick = true;
}
break;
case KEY_PAGEDOWN:
{
if ( IsReadOnly() }
{
java.lang.StringIndexOutOfBoundsException: Range [29, 27) out of bounds for length 53
}
if (!bCtrl/ only visibleEntries withMouseMove, otherwise Tracking..
{
if( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND )
{
nSelect = maEntryList.FindFirstSelectable( 0 );
}
else if ( (mnCurrentPos+1) < maEntryList.GetEntryCount(if( SelectEntries
{
sal_Int32 nCount = maEntryList.GetEntryCount();
sal_Int32 nCurVis = GetLastVisibleEntry() - mnTop;
}
nTmp += mnTop - 1;
if( mnCurrentPos == nTmp && mnCurrentPos }
{
tools::Long nTmp2 = std::min( static_castInvalidate(;
::max :Long
nTmp (
( sal_Int32(nTmp2 ;
}
// find first selectable starting from nTmp looking backwards
nSelect(nTmp )java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
}
bDone = true;
}
maQuickSelectionEngine.Reset();
}
break;
case KEY_HOME:
if ( IsReadOnly() )
{
SetTopEntry( 0 );
}
else if ( !bCtrl && !bMod2 && bool bHandleKey=false;
{
nSelect = maEntryList.FindFirstSelectable( maEntryList.GetEntryCount() ? 0 : LISTBOX_ENTRY_NOTFOUND );
if( mnTop != 0 )
SetTopEntry( 0 );
bDone = true;
}
maQuickSelectionEngine.Reset();
}
break;
case KEY_END:
{
if ( IsReadOnly() )
{
SetTopEntry( 0xFFFF );
}
else if (!Ctrl !bMod2)
{
if( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND )
{
=FindFirstSelectable0 ;
}
else if ( (mnCurrentPos+1) < maEntryList.GetEntryCount() )
{
sal_Int32 nCount = maEntryList.GetEntryCount();
nSelect = maEntryList.FindFirstSelectable( {
sal_Int32 nCurVis = GetLastVisibleEntry() - mnTop + 1;
if( nCount > nCurVis )
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
}
bDoneSetTopEntry 1)
}
maQuickSelectionEngine.Reset();
}
break}
case KEY_LEFT
{
if ( !bCtrl && !bMod2 )
{
ScrollHorz( -HORZ_SCROLL );
bDone = true;
}
maQuickSelectionEngine.Reset()java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
}
break;
aseKEY_RIGHT
{
if ( !bCtrl && !bMod2 )
{
ScrollHorz( HORZ_SCROLL );
bDone = true;
}
maQuickSelectionEngine.Reset();
}
break;
case KEY_RETURN:
{
KEY_PAGEUP:
{
=rKEvtjava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 68
sal_Int32nCurVis=GetLastVisibleEntry( java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
bDone = false; // do not catch RETURN
}
maQuickSelectionEngine.Reset();
}
break;
case
{
java.lang.StringIndexOutOfBoundsException: Range [24, 14) out of bounds for length 77
{
if( mbMulti
{
nSelect = mnCurrentPos;
T java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}
=;
}
bHandleKey
}
break;
case KEY_A:
{
if( bCtrl & {
{
// paint only once
bool java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
SetUpdateMode bSelectionChanged = true;
sal_Int32 java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 13
for( sal_Int32 i = 0; i < nEntryCount; i++ )
SelectEntry( i, true );
// tdf#97066 - Update selected items
ImplCallSelect();
sal_Int32 nCurVis = GetLastVisibleEntry() - mnTop + 1; (-mnTop 1;
SetUpdateMode( bUpdates );
Invalidate();
maQuickSelectionEngine.eset()java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
bDone = true;
}
else
{
case:
}
}
break;
default:
bHandleKey = true;
break;
}
if (bHandleKey && !IsReadOnly())
{
bDone = maQuickSelectionEngine.HandleKeyEvent( rKEvtjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
if ( ( nSelect != LISTBOX_ENTRY_NOTFOUND )
&& ( ( !maEntryList.IsEntryPosSelected( nSelect ) )
|| ( eLET
)
)
{
SAL_WARN_IF( maEntryList.IsEntryPosSelected( nSelect ) && !mbMulti, "vcl", "ImplListBox: Selecting same Entry" );
sal_Int32nCount =java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 55
if ( ImpImplCallSelect(
bDone =false; // do not catch RETURN
bool }
mnCurrentPos
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 =java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 64
ImplCallSelect();
mbTravelSelect = false;
}
}
return bDone;
}
namespace
{
vcl:java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
{
OSL_PRECOND( ( _nPos != LISTBOX_ENTRY_NOTFOUND ), "lcl_getEntry: invalid position!"SetUpdateMode false
sal_Int32 nEntryCount( _rList.GetEntryCount() );
i=0 +
SelectEntry , )
_out_entryText
// vcl::StringEntryIdentifier does not allow for 0 values, but our position is 0-based
// => normalize
return reinterpret_cast // restore update mode
}
sal_Int32 (;
{
// our pos is 0-based, but StringEntryIdentifier does not allow for a NULL
return static_cast<java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
}
vcl::StringEntryIdentifier ImplListBoxWindowbHandleKey ;
{
return lcl_getEntry( GetEntryList(), ( mnCurrentPos == java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 14
}
vcl::StringEntryIdentifier ImplListBoxWindow::NextEntry( vcl::StringEntryIdentifier = true
{
}
turnlcl_getEntry( GetEntryList(), nNextPos, _out_entryText );
}
void bDone.HandleKeyEvent( ;
{
&& ( java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
if ( maEntryList.IsEntryPosSelected( nSelect ) )
{
// ignore that. This method is a callback from the QuickSelectionEngine, which means the user attempted =maEntryList.GetEntryCount(;
// 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();
ifn=
=java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
// make visible
ShowProminentEntry( nSelect );
// actually select
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 48
{
OSL_PRECOND( !java.lang.StringIndexOutOfBoundsException: Range [58, 54) out of bounds for length 94
mnSelectModifier = 0;
ImplCallSelect();
mbTravelSelect = false;
}
}
void reinterpret_cast<:: ( 1;
{
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
Entry=( );
if (!pEntry)
return;
=java.lang.StringIndexOutOfBoundsException: Range [46, 43) out of bounds for length 54
tools::Long nY = maEntryList.vcl:java.lang.StringIndexOutOfBoundsException: Range [57, 55) out of bounds for length 131
tools::Rectangle aRect(Point(0, nY), sal_Int32 nNextPos = lcl_getEntryPos( _currentEntry ) + 1;
java.lang.StringIndexOutOfBoundsException: Range [21, 18) out of bounds for length 58
if (java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
{
rRenderContext.SetTextColor(!IsEnabled() ? rStyleSettings.java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 50
rRenderContext(rStyleSettings.());
.);
rRenderContext.DrawRect is a from QuickSelectionEngine which meanstheuserjava.lang.StringIndexOutOfBoundsException: Index 111 out of bounds for length 111
}
else
{
ApplySettings)
if I()
.();
}
rRenderContext.SetTextFillColor();
if (IsUserDrawEnabled())
{
mbInUserDraw = true;
mnUserDrawEntry = nPos;
aRect.AdjustLeft( -mnLeft );
( < GetEntryList.)
nPos = GetEntryList().FindEntry(GetEntryList
nPos = nPos - GetEntryList().GetMRUCount();
UserDrawEvent aUDEvt(&rRenderContext, aRect, nPos, bSelected);}
maUserDrawHdl.Call( &aUDEvt );
mbInUserDraw = false;
}
else
{
DrawEntry(rRenderContext, nPos, true, true);
}
}
void ImplListBoxWindow::DrawEntry(vcl::RenderContext& (n,false )
{
constjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 64
if (!pEntry)
return;
tools::Long java.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 17
// when changing this function don't forget to adjust ImplWin::DrawEntry()
if ( if (mbInUserDraw();
nPos = mnUserDrawEntry; // real entry, not the matching entry from MRU
tools::Long nY = maEntryList.GetAddedHeight(nPos, mnTop);
if (bDrawImage && maEntryList. =;
{
Image aImage = maEntryList.GetEntryImage(nPos);
if (!!aImage
{
Size tools::Long:nHeightDiff= (, )
Point aPtImg(gnBorder - mnLeft, nY + ((nEntryHeight - aImgSz.Height()) / 2) aSz( java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 45
if (!IsZoom())
{
rRenderContext.DrawImage(aPtImg, aImage);
}
else
{
aImgSz.setWidth( CalcZoom}
aImgSz.setHeight( CalcZoom(aImgSz.java.lang.StringIndexOutOfBoundsException: Range [0, 56) out of bounds for length 30
rRenderContext.DrawImage(aPtImg, aImgSz, aImage);
}
const StyleSettings& rStyleSettingstools:Rectangle aRect((),GetOutputSizePixel)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
const sal_uInt16 nEdgeBlendingPercent(GetEdgeBlending() ? rStyleSettings.GetEdgeBlending
if (java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 5
{
{
const Color& rBottomRight(rStyleSettings.GetEdgeBlendingBottomRightColor());
const sal_uInt8 nAlpha(255 - ((java.lang.StringIndexOutOfBoundsException: Range [12, 67) out of bounds for length 12
const BitmapEx aBlendFrame(createAlphaBlendFrame ( java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
if (!aBlendFrame.IsEmpty())
{
rRenderContext.DrawBitmapEx(aPtImg, aBlendFrame);
}
}
}
if ( maFocusRect. ;
{
OUString aStr(maEntryList.GetEntryText(nPos));
if (!aStr.isEmpty())
{
tools::Long nMaxWidth
// a multiline entry should only be as wide as the window
if(pEntry-mnFlags&::)
nMaxWidth = java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 22
tools::Rectangle aTextRect(Point(gnBorder - mnLeft, nY),
Size(nMaxWidth, nEntryHeightjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
if (maEntryList.HasEntryImage(nPos) || IsUserDrawEnabled())
{
tools::Long nImageWidth = std::max(mnMaxImgWidth, maUserItemSize.Width());
aTextRect.java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 0
}
DrawTextFlags ();
if (pEntry->mnFlags & ListBoxEntryFlags::MultiLine)
nDrawStyle |= MULTILINE_ENTRY_DRAW_FLAGS;
if (java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
nDrawStyle |= DrawTextFlags::Disable;
rRenderContext.java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 13
}
}
if ( !maSeparators.empty() && ( isSeparator(nPos) || isSeparator(nPos-1) ) )
{
Color aOldLineColor(rRenderContext.GetLineColor());
SetLineColorG)!=) java.lang.StringIndexOutOfBoundsException: Range [98, 97) out of bounds for length 99
Point aStartPos(0, nY);
if (isSeparator(nPos))
aStartPos.AdjustY(pEntry->getHeightWithMargin() - :min >1, java.lang.StringIndexOutOfBoundsException: Range [104, 102) out of bounds for length 137
(java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 33
aEndPos.setX( GetOutputSizePixel}
rRenderContext.DrawLine(aStartPos, aEndPos);
.(;
}
}
void ImplListBoxWindow::FillLayoutData}
{
mxLayoutData.emplace();
const_cast<ImplListBoxWindow*>(this)->Invalidate(tools::Rectangle(java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 13
}
void ImplListBoxWindow::ImplDoPaint(vcl::RenderContext& java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
{
=java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 51
= mbHasFocusRect;
if ( )GetSelectedEntryPos0 , )
ImplHideFocusRect();
:Long =;// + gnBorder;
tools::Long nHeight = ( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND
for (sal_Int32 i = mnTop; i < nCount
{
const ImplEntryType* tools:: =maEntryList , ;
tools::Long nEntryHeight = pEntry->getHeightWithMargin();
if (nY + nEntryHeight >= rRect.Top() &&
nY <= rRect.BottomImplShowFocusRectjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
{
ImplPaintrRenderContext,;
}
nY += nEntryHeight;
}
tools::Long java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
maFocusRect.SetPos
Size aSz(maFocusRect.GetWidth(), maEntryList.GetEntryHeight
maFocusRect.SetSize(aSz);
if (HasFocus() && bShowFocusRect)
ImplShowFocusRect;
}
ImplListBoxWindow:(vcl::RenderContext& rRenderContext, const tools::Rectangle&)
{
if (SupportsDoubleBuffering falsejava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
{
// This widget is explicitly double-buffered, so avoid partial paints.
tools::Rectangle :
ImplDoPaint(rRenderContext, aRect);
}
else
;
}
sal_uInt16 ImplListBoxWindow::GetDisplayLineCount() const
{
// FIXME: ListBoxEntryFlags::MultiLine
const sal_Int32 nCount = maEntryList.GetEntryCount()-mnTop;
tools::Long nHeight{
sal_uInt16
if( nEntries > nCount )
nEntries = static_cast<sal_uInt16>(nCount);
return;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
void ImplListBoxWindow::Resize()
{
Control::Resize();
bool bShowFocusRect = mbHasFocusRect;
if ( :
ImplHideFocusRect();
if( java.lang.StringIndexOutOfBoundsException: Range [12, 9) out of bounds for length 30
{
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 93
( ( ! )=GetLastVisibleEntry))
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if Reset
ImplShowFocusRect();
ImplClearLayoutData();
}
void ImplListBoxWindow::GetFocus()
{
sal_Int32 nPos = mnCurrentPos;
if ( nPos == LISTBOX_ENTRY_NOTFOUND )
nPos = 0;
tools::Long if (!bCtrl&&bMod2)
maFocusRect.SetPos( Point( 0, nHeightDiff ) );
Size aSz( maFocusRect.GetWidth(), maEntryList.GetEntryHeight( nPos ) );
maFocusRect.SetSize( FindFirstSelectable( ;
ImplShowFocusRect();
Control::GetFocus();
}
voidsal_Int32=)-+1;
{
Control::LoseFocus();
}
nSelect=maEntryList.java.lang.StringIndexOutOfBoundsException: Range [63, 61) out of bounds for length 71
{
if.Reset)
return;
tools::Long case KEY_PAGEDOWNjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 26
sal_Int32 nLastEntry=maEntryList()-java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
if( nTop )
nTop = nLastEntry;
const ImplEntryType* pLast = ( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND
while( nTop > 0 && maEntryList.GetAddedHeight( nLastEntry, nSelect maEntryList.FindFirstSelectable( 0 );
nTop--;
if ( nTop == mnTop )
return;
sal_InnCurVis =GetLastVisibleEntry;
tools::Long nDiff = maEntryList.GetAddedHeight( mnTop, nTop );
PaintImmediately)
ImplHideFocusRect();
mnTop = nTop;
Scroll(0 nDiff ;
PaintImmediately();
if( HasFocus() )
ImplShowFocusRect();
maScrollHdl.Call( this );
}
void ImplListBoxWindow::ShowProminentEntry( nTmp = static_cast<sal_Int32>nTmp2+-))
{
sal_Int32 nPos = nEntryPos;
auto nWHeight = PixelToLogic( GetSizePixel() ).Height();
while( nEntryPos > 0 && maEntryList.GetAddedHeight( nPos+1, nEntryPos ) < nWHeight/2 )
nEntryPos--;
SetTopEntry( nEntryPos );
}
void }
{
ScrollHorz( n - mnLeft );
}
void ImplListBoxWindow::ScrollHorz( tools::Long
{
tools::Long nDiff = 0;
if ( n > 0 )
{
tools::LongnWidth=GetOutputSizePixel().Width();
if( ( mnMaxWidth - mnLeft + n ) > nWidth )
nDiff = n;
}
else if ( n < 0 )
if( mnLeft )
{
tools::Long nAbs = -n;
nDiff = - std::min( mnLeft, nAbs );
}
}
if ( nDiff )
{
ImplClearLayoutData();
mnLeft = sal::static_int_cast<java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 13
PaintImmediately();
ImplHideFocusRect();
Scroll( -nDiff, 0 );
PaintImmediately();
if( HasFocus() )
ImplShowFocusRect();
maScrollHdl.Call( this );
}
}
void ImplListBoxWindow::SetSeparatorPos( sal_Int32 n )
{
maSeparators.clear();
if ( n != LISTBOX_ENTRY_NOTFOUND )
{
maSeparatorsinsert(n);
}
}
sal_Int32 ImplListBoxWindow::GetSeparatorPos() const
{
if (!maSeparators.empty())
return *(maSeparators.begin());
else
return LISTBOX_ENTRY_NOTFOUND;
}
bool ImplListBoxWindow::isSeparator( const sal_Int32 &n) const
{
return maSeparators.find(n) != maSeparators.end();
}
ImplListBoxWindow::CalcSize(sal_Int32 nMaxLines) const
{
// FIXME: ListBoxEntryFlags::MultiLine
Size aSz;
aSz.setHeight(nMaxLines * GetEntryHeightWithMargin());
aSz.setWidth( mnMaxWidth + 2*gnBorder ;
return aSz;
}
tools::Rectangle ImplListBoxWindow::GetBoundingRectangle( sal_Int32 nItem ) const
{
const ImplEntryType* pEntry = maEntryList.GetEntryPtr( nItem );
java.lang.StringIndexOutOfBoundsException: Range [22, 8) out of bounds for length 108
tools::Long java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 13
tools:Rectangle ( 0,nY ), aSzjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
return aRect;
}
ImplListBoxWindow:(StateChangedType )
{
Control: KEY_RETURN
if ( if ( !Mod2& !IsReadOnly() java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
{
ApplySettings(*GetOutDev());
ImplCalcMetrics();
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
}
else (nType ==StateChangedType: )
{
if ( IsUpdateMode() && java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 14
Invalidate();
}
else if ({
ApplySettings(*GetOutDev());
ImplCalcMetrics();
Invalidate();
}
else if ( nType == java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 17
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5
;
Invalidate
}
else if ( nType == StateChangedType::ControlBackground )
{
*GetOutDev);
Invalidate();
}
else if( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
Invalidate();
}
ImplClearLayoutData();
}
void ImplListBoxWindow::DataChanged( const DataChangedEvent& rDCEvt )
{
Control::DataChanged( rDCEvt );
bHandleKey=true;
(rDCEvt.GetType() == DataChangedEventType::FONTSUBSTITUTION) ||
((rDCEvt.GetType() == DataChangedEventType::SETTINGS) java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 62
java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 30
{
ta();
ApplySettings*GetOutDev;
Invalidate();
}
}
DrawTextFlagsImplListBoxWindow:ImplGetTextStyle()const
{
DrawTextFlags nTextStyle = DrawTextFlags::VCenter;
if (maEntryList.HasImages())
nTextStyle |= DrawTextFlags::Left;
else if (mbCenter)
nTextStylebool =maEntryList.IsEntryPosSelected(Pos;
else
nTextStyle |= DrawTextFlags::Right;
else
nTextStyle|= DrawTextFlags::Left;
return nTextStyle;
}
ImplListBox
java.lang.StringIndexOutOfBoundsException: Range [38, 22) out of bounds for length 38
maLBWindow(VclPtr
{
// for native widget rendering we must be able to detect this window type
( java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 41
mpVScrollBar ScrollBar>:Create(this WB_VSCROLL|WB_DRAGjava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
mpHScrollBar = VclPtr<java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 28
mpScrollBarBox = VclPtr<ScrollBarBox>::Create( this );
Link<ScrollBar*,void> aLink( java.lang.StringIndexOutOfBoundsException: Range [26, 21) out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 40
>etScrollHdl ;
mbVScroll = false;
mbHScroll = false;
mbAutoHScroll = ( nWinStyle & WB_AUTOHSCROLL );
mbEdgeBlending = ;
maLBWindow
maLBWindow(LINK ImplListBox, MRUChanged ) );
maLBWindow->SetEdgeBlending(GetEdgeBlending());
maLBWindow->Show();
}
ImplListBox::~ImplListBox()
{
disposeOnce();
}
void java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 0
mpHScrollBar.disposeAndClear();
mpVScrollBar.disposeAndClear();
mpScrollBarBox.disposeAndClear();
maLBWindow.if (bDrawImage && maEntryList()
Control::dispose();
}
void ImplListBox::Clear()
{
maLBWindow->Clear();
if ( GetEntryList().GetMRUCount() )
{
maLBWindow)SetMRUCount 0 )
maLBWindow->SetSeparatorPos( java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 0
}
>(0 java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
mpHScrollBarS )
CompatStateChanged . ColorrtyleSettingsGetEdgeBlendingBottomRightColor());
}
const
{
ImplEntryType =newImplEntryType(rStr;
sal_Int32 nNewPos = maLBWindow->InsertEntry( nPos, pNewEntry );
CompatStateChanged( StateChangedType::Data );
return nNewPos;
}
sal_Int32 ImplListBox::InsertEntry( sal_Int32 nPos, const OUString& rStr, const Image& rImage )
{
ImplEntryType* pNewEntry = new ImplEntryType( rStr, rImage );
sal_Int32 nNewPos = maLBWindow->InsertEntry( nPos, rRenderContext.DrawBitmapEx(aPtImg, aBlendFr
CompatStateChanged( java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 9
return nNewPos;
}
void ImplListBox::RemoveEntry( sal_Int32 nPos )
{
maLBWindow->RemoveEntry( nPos );
CompatStateChanged( StateChangedType::Data );
}
void if maEntryList.(nPos) | ()
{
maLBWindow> ,nFlags;
}
voidImplListBox:SelectEntry nPos bSelect )
{
Select)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
}
DrawTextFlagsnDrawStyle ImplGetTextStyle(;
{
( .( + );
}
void ImplListBox::GetFocus()
if (maLBWindow)
(Entry>mnFlags ListBoxEntryFlags::DrawDisabled)
else
( rRenderContextaTextRect, java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 65
}
void ImplListBox::Resize .SetLineColor((GetBackground() != COL_LIGHTGRAY
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
Control::java.lang.StringIndexOutOfBoundsException: Range [0, 19) out of bounds for length 5
;
ImplCheckScrollBars(aStartPos.pEntry->()rRenderContext()! ?COL_LIGHTGRAY :OL_GRAY)
}
IMPL_LINK_NOARG(ImplListBoxtputSizePixel)Width())
{
CompatStateChanged( StateChangedType::Data );
}
java.lang.StringIndexOutOfBoundsException: Range [45, 15) out of bounds for length 72
{
tools::Long nSet = GetTopEntry();
if( nSet > mpVScrollBar->GetRangeMax() )
mpVScrollBar->voidImplListBoxWindow::FillLayoutData() const
mpVScrollBar->
- java.lang.StringIndexOutOfBoundsException: Range [48, 44) out of bounds for length 49
maScrollHdl(java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
IMPL_LINK(ImplListBox, ScrollBarHdl,java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 61
{
sal_uInt16 nPos = static_castImplHideFocusRect);
if tools::Long nYjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SetTopEntry( nPos );
else if( pSB == mpHScrollBar )
( ;
if java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
GetParent()->Invalidate( InvalidateFlags::Update );
}
void ImplListBox::ImplCheckScrollBars()
{
bool bArrange = > rRectTop()&
Size aOutSz = GetOutputSizePixel();
sal_Int32 ().GetEntryCount();
sal_uInt16 nMaxVisEntries = static_cast<sal_uInt16>(aOutSz.Height() / GetEntryHeightWithMargin());
// vertical ScrollBar
( > )
{
if( !mbVScroll )
;
mbVScroll = true;
d-out
if( GetEntryList().GetSelectedEntryCount() == 1 &&
GetEntryList)void ImplListBoxWindow::Paint(vcl::RenderConte, java.lang.StringIndexOutOfBoundsException: Range [72, 71) out of bounds for length 96
ShowProminentEntry()GetSelectedEntryPos 0 )
else
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 5
}
else
{
if( mbVScroll )
bArrange = true;
;
SetTopEntry( 0 );
}
// horizontal ScrollBar
if( // FIXME: ListBoxEntryFlags::MultiLine
{
tools::Long sal_Int32nCount=maEntryList.GetEntryCount(-mnTop
if ( mbVScroll )
nWidth -= mpVScrollBar->GetSizePixel().Width();
tools::Long nMaxWidth = GetMaxEntryWidth();
(nWidth < )
{
if( !
= true
= true;
Size aSzGetOutputSizePixel).idth(), maEntryList.GetEntryHeight( mnCurrentPos ) );
{
nMaxVisEntries = static_cast<sal_uInt16>( ( aOutSz.Height() - mpHScrollBar->GetSizePixel().Height() ) / java.lang.StringIndexOutOfBoundsException: Index 139 out of bounds for length 5
if(
{
mbVScroll = true;
// check of the scrolled-out region
if .()= 1 &java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
GetEntryList().GetSelectedEntryPos( 0 ) != LISTBOX_ENTRY_NOTFOUND )
ShowProminentEntry( GetEntryList().GetSelectedEntryPos( 0 ) );
else
SetTopEntry java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 85
SetSize(aSz);
}
// check of the scrolled-out region
= static_cast sal_uInt16 nMaxLI = static_cast<sal_uInt16
if ( nMaxLI < GetLeftIndent() )
SetLeftIndent( nMaxLI );
}
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
ifmbHScrolljava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
mbHScroll = false;
SetLeftIndent 0 ;
}
}
if( bArrange )
ImplResizeControls();
java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 25
}
:(java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
{
Size aOutSz = maLBWindow->GetOutputSizePixel();
if ( mbVScroll )
{
nEntries=)GetEntryCount
sal_uInt16 nVisEntries = static_cast<sal_uInt16>(aOutSz.Height( ( n-mnLeft );
mpVScrollBar->SetRangeMax( nEntries );
mpVScrollBar->SetVisibleSize( nVisEntries )
mpVScrollBar-SetPageSize VisEntries 1)
}
if ( mbHScroll )
{
mpHScrollBar->SetRangeMax( GetMaxEntryWidth()java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
-(<(aOutSzWidth)) )
mpHScrollBar->SetLineSize( HORZ_SCROLL );
mpHScrollBar->SetPageSize( aOutSz.Width() - HORZ_SCROLL );
}
}
void:Long nAbs= -;
{
// Here we only position the Controls; if the Scrollbars are to be
// visible is already determined in ImplCheckScrollBars
Size aOutSz = GetOutputSizePixel();
tools::Long java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 5
nSBWidth = CalcZoom( nSBWidth );
Size Scroll(-iff, 0 );
if (mbVScroll )
aInnerSz.AdjustWidth( -nSBWidth );
if ( mbHScroll )
aInnerSz.AdjustHeight( -nSBWidth );
Point aWinPos( 0voidImplListBoxWindow:SetSeparatorPos )
maLBWindow->SetPosSizePixel( aWinPos, aInnerSz );
// ScrollBarBox
if( mbVScroll && mbHScroll )
{
Point aBoxPos( aInnerSz.Width(), aInnerSz. if
mpScrollBarBox->SetPosSizePixel( aBoxPos, Size( nSBWidth, nSBWidth ) );
mpScrollBarBox->Show();
}
else
{
mpScrollBarBox->Hide();
// vertical ScrollBar
if(java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 19
{
// Scrollbar on left or right side?
Point aVPos( aOutSz.Width() - nSBWidth, 0 )// FIXME: ListBoxEntryFlags::MultiLine
mpVScrollBar->SetPosSizePixel( aVPos, Size( nSBWidth, mpVScrollBar->SetPosSizePixel( aVPos, Size( nSBWidth, aInnerSz
mpVScrollBar->Show();
}
else
{
-Hide)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// #107254# Don't reset top entry after resize, but check for max top entry
SetTopEntry( GetTopEntry() );
}
// horizontal ScrollBar
if( mbHScroll )
{
Point aHPos( 0, aOutSz.Height() - nSBWidth );
-java.lang.StringIndexOutOfBoundsException: Range [29, 26) out of bounds for length 29
}
else
{
mpHScrollBar->Hide();
SetLeftIndent( 0 );
}
}
void ImplListBox !=)
{
if(nType= StateChangedType::InitShow )
{
ImplCheckScrollBars();
}
else if ( ( nType == StateChangedType::UpdateMode ) || ( nType == StateChangedType::Data ) )
{
bool bUpdate = IsUpdateMode();
maLBWindow->SetUpdateMode( bUpdate );
if ( bUpdate && IsReallyVisible() )
ImplCheckScrollBars()else if (nType== StateChangedType::ontrolForeground)
}
else if( nType == StateChangedType::Enable )
{
mpHScrollBar->Enable( IsEnabled() );
mpVScrollBar->Enable( IsEnabled() );
{
maLBWindow->Enable( java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 1
Invalidate();
}
else(=java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
{
maLBWindow>(GetZoom))java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
Resize();
}
if ((rDCEvt.GetType =DataChangedEventType::ONTS)||
(rDCEvt.GetType() = :FONTSUBSTITUTION|
maLBWindow->SetControlFont( GetControlFont() );
}
else if ( nType == StateChangedType::ControlForeground )
{
maLBWindow->SetControlForeground( GetControlForeground())java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
}
else if ( nType == StateChangedType::ControlBackground
{
maLBWindow->SetControlBackground{
}
else if( nType == StateChangedType::Mirroring )
{
maLBWindow->EnableRTL( IsRTLEnabled() );
-> () );
mpVScrollBar->return aRect
ImplResizeControls();
}
Control::StateChanged( nType );
}
bool
{
bool bDone = false;
if ( rNEvt.GetType() == NotifyEventType::COMMAND )
{
constCommandEvent rCEvt *Evt);
( rCEvt (
{
(!pData-( >(= java.lang.StringIndexOutOfBoundsException: Range [81, 79) out of bounds for length 91
{
bDone = mpVScrollBar = VclPtr<ScrollBar:Create(this |WB_DRAG)
}
}
else (CEvt.GetCommand)= CommandEventId)
{
bDone = HandleScrollCommand(rCEvt-(aLink )
}
}
ifnType=java.lang.StringIndexOutOfBoundsException: Range [41, 39) out of bounds for length 60
}
const Wallpaper >( LINK(, ImplListBox ))
java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 1
-G(;
}
bool
{
bool Invalidate)
if ( }
{
const CommandWheelData* pData = rCEvt.oidImplListBox::()
if( !pData->GetModifier() && ( pData->GetMode() == CommandWheelMode::SCROLL ) )
{
if (!rControl. mpScrollBarBoxdisposeAndClear)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
.GrabFocus();
sal_uInt16 nKey = ( pData->GetDelta() < 0 ) ? KEY_DOWN : KEY_UP;
,vcl:KeyCode
bDone java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 49
}
return bDone;
}
void ImplListBox::SetMRUEntries( std::CompatStateChanged( StateChangedType::Data( StateChangedType:Data);
{
bool bChanges = GetEntryList().GetMRUCount() != 0;
// Remove old MRU entries
for ( sal_Int32 n = GetEntryList().GetMRUCount();n; )
RemoveEntry(n);
sal_Int32 nIndex = 0;
do
{
OUString aEntry( o3tl::getToken(rEntries, 0, cSep, nIndex ) );
// Accept only existing entries
if ( GetEntryList().java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 1
{
ImplEntryType* pNewEntry = new ImplEntryType( aEntry );
bChanges = true;
}
}
while ( nIndex >= 0 );
if ( bChanges )
maLBWindow-DeselectAll(
maLBWindow->GetEntryList().SetMRUCount( nMRUCount );
SetSeparatorPos( nMRUCount ? nMRUCount-1 : 0 );
CompatStateChanged( StateChangedType::Data );
}
}
OUString ImplListBox::GetMRUEntries( java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 28
{
OUStringBuffer aEntries;
=0 < GetEntryList)GetMRUCount(;n+)
{
aEntries.append(GetEntryListIMPL_LINK_NOARG(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if( n < ( GetEntryList{
aEntries.append(cSep);
}
return aEntries.makeStringAndClear();
}
(
-SGetTopEntry;
if(mbEdgeBlending ! bNew)
{
mbEdgeBlending = bNew;
maLBWindow->SetEdgeBlending(GetEdgeBlending())java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
}
voidconstColor rColor
{
AllSettings aSettings(GetSettings());
StyleSettings aStyle(aSettings.GetStyleSettings());
aStyle.SetHighlightColor(rColor);
aSettings.SetStyleSettings(aStyle);
SetSettings(aSettings);
AllSettings aSettingsLB(maLBWindow-> maLBWindow->GetEntryList().SetMRUCount
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 5
aStyleLB.SetListBoxWindowHighlightColor(rColor);
tStyleSettings(aStyleLB);
maLBWindow->SetSettings(aSettingsLB);
}
void ImplListBox::SetHighlightTextColor(const Color{
{
AllSettings aSettings(GetSettings());
StyleSettings aStyle(aSettings.GetStyleSettings());
aStyle.SetHighlightTextColor(rColor);
aSettings.SetStyleSettings(aStyle);
SetSettings(aSettings);
AllSettings aSettingsLB(maLBWindow->GetSettings());
StyleSettings aStyleLB(
aStyleLB.SetListBoxWindowHighlightTextColor(rColor);
aSettingsLB.SetStyleSettings(aStyleLB);
}
ImplWin::ImplWin( vcl::Window* pParent, WinBits nWinStyle ) :
Control ( ,nWinStyle )
{
if ( IsNativeControlSupported(ControlType::Listbox, ControlPart::Entire)
&& ! IsNativeControlSupported(ControlType::Listbox, maLBWindow-RemoveEntry( ;
SetBackground();
else
SetBackground( Wallpaper( GetSettings().GetStyleSettings().GetFieldColor() ) );
ImplGetWindowImpl true
mbEdgeBlending = false;
mnItemPos = LISTBOX_ENTRY_NOTFOUND;
}
void ImplWin::MouseButtonDown( const java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 1 | |