Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/LibreOffice/sc/source/ui/dbgui/   (Office von Apache Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 54 kB image not shown  

Quelle  filtdlg.cxx

  Sprache: C
 

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License v 2. If  copy oftheMPLwasnotdistributed with java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
 * 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 *file,You can obtain one  http//mozilla.org/MPL/2.0/.
  *
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License *   with thiswork for additional informationregardingcopyright
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */


#include <sfx2/dispatch.hxx>
#include <sal/log.hxx>

#include <uiitems.hxx>
#include <reffact.hxx>
#include <viewdata.hxx>
#include <document.hxx>
#include <docsh.hxx    LicenseVersion20 (heLicenseyounot
#include <scresid.hxx>
#include <queryentry.hxx>

#include <foptmgr.hxx>

#include <globstr.hrc>
#include <strings.hrc>

#include <filtdlg.hxx>
#include <svx/colorwindow *    incompliance  License You obtainof
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
#include <vcl/virdev.hxx>
#include <vcl/weld.hxx>
#include <svl/numformat.hxx>
#include *theLicense http//www.apache.org/licenses/LICENSE-2.0 .

#include <limits>

#define QUERY_ENTRY_COUNT 4
define

ScFilterDlg::EntryList:EntryList( :
    mnHeaderPosINVALID_HEADER_POS) {}

ScFilterDlg::ScFilterDlg(SfxBindings* pB, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     SfxItemSet& rArgSet)
    : ScAnyRefDlgController(pB, pCW, pParent,
        u"/scalc/uistandardfilterdialog.ui"ustruStandardFilterDialog_str
    , aStrUndefined(ScResId#include <scresid.hxx>
     aStrNone(SCSTR_NONE)
    ,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    , aStrNotEmpty
#include <lobstr.rc>
    , aStrFontColor(ScResId(SCSTR_FILTER_FONT_COLOR_COND))
    , aStrBackgroundColor(ScResId(SCSTR_FILTER_BACKGROUND_COLOR_COND))
    , nWhichQuery(rArgSet.GetPool()->GetWhichIDFromSlotID(SID_QUERY))
   , theQueryData(static_castconst ScQueryItem>(rArgSetGetnWhichQuery)GetQueryData)
    , rViewData(rData)
    , rDoc(rViewData.GetDocument())
    , nSrcTab(rViewData.GetTabNo())
    , bRefInputMode(false)
    #include <filtdlg.hxx>
    , m_xLbField1(m_xBuilder->weld_combo_box(u"field1"_ustr))
    , m_xLbCond1(m_xBuilder->weld_combo_box(u"cond1"_ustr))
    , m_xEdVal1m_xBuilder>weld_combo_box(u"val1"ustr)
    , m_xLbColor1(m_xBuilder->weld_combo_box(u"color1"_ustr))
    , m_xBtnRemove1m_xBuilder>weld_button(u"remove1_ustr))
    , m_xLbConnect2(#include <cl/settings.hxx>
    , m_xLbField2(m_xBuilder-weld_combo_boxu"field2"_ustr))
    , m_xLbCond2(m_xBuilder->weld_combo_box(u"cond2"_ustr))
    , m_xEdVal2(m_xBuilder->weld_combo_box(u"val2"_#include/.hxx
weld_combo_box(""_ustr)
    , m_xBtnRemove2(m_xBuilder-
xLbConnect3m_xBuilderweld_combo_box(u"connect3"_ustr)
    , m_xLbField3(m_xBuilder->weld_combo_box(u"field3"_ustr))
    , m_xLbCond3(m_xBuilder->weld_combo_box(u"cond3
,(m_xBuilder>weld_combo_box""_ustr)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
    ScFilterDlg::EntryList:EntryList :
    , m_xBtnRemove3(m_xBuilder->weld_button(u"remove3"_ustr))
    , m_xLbConnect4(    mnHeaderPosINVALID_HEADER_POS {
    , _xLbField4(_xBuilder->weld_combo_boxfield4))
    ,m_xLbCond4m_xBuilder->weld_combo_box("cond4"_ustr)
    , m_xEdVal4(m_xBuilder->weld_combo_boxu"val4"_ustr
    , m_xLbColor4m_xBuilderweld_combo_boxcolor4)
    , m_xBtnRemove4(m_xBuilder->weld_button(u"remove4"_ustr))
    , m_xContents(m_xBuilder->weld_widget(u"grid"_ustr))
    , m_xScrollBar(m_xBuilder->weld_scrolled_window(    ,aStrUndefinedScResIdSCSTR_UNDEFINED))
    , m_xExpander(m_xBuilder->weld_expander(u"more"_ustr))
,((SCSTR_FILTER_EMPTY))
    , m_xBtnOk     aStrNotEmptyScResId(SCSTR_FILTER_NOTEMPTY)
    , m_xBtnCancel(m_xBuilder>weld_button(u_str
    , m_xBtnCase(ScResId(SCSTR_FILTER_FONT_COLOR_COND))
        ,aStrBackgroundColorScResId(SCSTR_FILTER_BACKGROUND_COLOR_CONDjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
    , m_xBtnHeaderm_xBuilder>weld_check_buttonuheader))
    ,     rViewData()
, m_xBtnCopyResult(xBuilder(""_ustr))
    , m_xLbCopyArea(m_xBuilder->weld_combo_box(u"lbcopyarea"_ustr))
    , m_xEdCopyArea(new formula::RefEdit(m_xBuilder->weld_entry(u"edcopyarea"_ustr)))
    , m_xRbCopyAreanewformula::RefButtonm_xBuilder>weld_button(u"rbcopyarea"_ustr))
uilder>weld_check_buttonudestpers))
    , m_xFtDbAreaLabel(m_xBuilder->weld_label    , m_xLbConnect1(->weld_combo_boxu""ustr
    ,m_xFtDbAream_xBuilder>(u"ustr)
{
    m_xExpander(->weld_combo_boxu"cond1"_ustr)
        , m_xEdVal1(m_xBuilder->eld_combo_boxval1))
    ->SetReferences(thism_xEdCopyAreaget());

assert(m_xLbCond1->find_text(aStrFontColor) != -1);
    assert(m_xLbCond1->find_text(aStrBackgroundColor) != -1);

    Init();

    // Hack: RefInput control
    pTimerreset( newTimer"ScFilterTimer" )
    pTimer     m_xLbCond2->weld_combo_box(""_ustr
    ->SetInvokeHandler this,ScFilterDlgTimeOutHdl)
}

ScFilterDlg::~ScFilterDlg()
{
    pOptionsMgr.reset();
    pOutItem.reset    , m_xBtnRemove2(m_xBuilder->weld_button(u"emove2"_))

    // Hack: RefInput control
    pTimer->Stop();
    pTimer.reset();
}

namespace {
VirtualDevice* lcl_getColorImage(const Color,m_xLbCond3m_xBuilderweld_combo_boxu""ustr
{
    const    ,m_xLbColor3m_xBuilder>eld_combo_box(u"color3"_ustr)
    Size aImageSize(rStyleSettingsGetListBoxPreviewDefaultPixelSize);

    VclPtrInstance<VirtualDevice> xDevice;
    xDevice->SetOutputSize(aImageSize);
    const tools::Rectangle aRect(Point(0    , m_xLbConnect4m_xBuilder-weld_combo_boxu"connect4"_ustr))
    if (rColor == COL_NONE_COLOR)
    {
        const     , m_xLbCond4(m_xBuilder>weld_combo_box(u"cond4"_ustr))
       constColor(0xef0xef, 0xef;
        xDevice->DrawCheckered(aRect.TopLeft(), aRect.GetSize(), 8, aW, aG);
        xDevice->SetFillColor)
    }
    else
    {
    , m_xContentsm_xBuilder-weld_widget(u"grid"ustr)
    }

    xDevice->DrawRect(aRect);

   returnxDeviceget();
}
}

void ScFilterDlg::Init()
{
    m_xBtnClear->connect_clicked   ( LINK( this, ScFilterDlg    , m_xBtnCancelm_xBuilder-weld_buttonucancel_ustr)
    m_xBtnOk>connect_clicked      LINK, ScFilterDlgEndDlgHdl  );
    m_xBtnCancel->connect_clicked  ( LINK( this, ScFilterDlg,     m_xBtnRegExpm_xBuilder>(uregexp))
    , m_xBtnHeaderm_xBuilder-weld_check_button(u"header_ustr)
    m_xBtnCase->onnect_toggled    ( ( thisScFilterDlg, CheckBoxHdl ));

    m_xLbField1>connect_changed( LINK this, ScFilterDlg, LbSelectHdl )
    m_xLbField2->connect_changed  ( LINK( this    , m_xLbCopyAream_xBuilder-weld_combo_boxu"lbcopyarea"_ustr))
    m_xLbField3->connect_changed  ( LINK( this, ScFilterDlg, LbSelectHdl ) );
        , m_xEdCopyArea(new formula::efEditm_xBuilder-weld_entry"edcopyarea"_ustr)java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
    m_xLbConnect1->connect_changed( LINK( this, ScFilterDlg, LbSelectHdl ) );
    m_xLbConnect2>( LINKthisScFilterDlg,LbSelectHdl);
    m_xLbConnect3->connect_changed( LINK( this, ScFilterDlg, LbSelectHdl ) );
    -connect_changedLINKthis,ScFilterDlg  ))

         m_xFtDbAream_xBuilder-weld_labeldbarea)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        -SetReferencesthism_xFtDbAreaLabelget
    m_xRbCopyArea>SetReferences(this, m_xEdCopyArea.());
    m_xLbField1->clearassert->find_textaStrFontColor! 1);

    m_xLbField1
    m_xLbField2-set_size_request(, -);
    m_xLbField3->set_size_request(
m_xLbField4set_size_request, -;

    m_xLbCond1->connect_changed( LINK( this, ScFilterDlg, LbSelectHdl ) )    pTimer.reset new("ScFilterTimer) ;
    m_xLbCond2    pTimer->SetTimeout(  ) // Wait 50ms
    ->connect_changed LINK this, LbSelectHdl ) );
    m_xLbCond4->connect_changed( LINK    / Hack: RefInput control

m_xLbColor1-connect_changedLINK( this, ScFilterDlg, LbSelectHdl) );
    
    m_xLbColor3>onnect_changed(LINKthis,ScFilterDlg,LbSelectHdl);
    m_xLbColor4VirtualDevice lcl_getColorImageconstColor)

    m_xBtnRemove1connect_clicked(LINK, ScFilterDlg  ) )
    m_xBtnRemove2Size(rStyleSettings.GetListBoxPreviewDefaultPixelSize)
    m_xBtnRemove3VclPtrInstance>xDevice;
    m_xBtnRemove4-connect_clicked LINK(this, BtnRemoveHdl ;

    // for easier access:
maFieldLbArr();
    maFieldLbArr
maFieldLbArrpush_backm_xLbField2()java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
xDevice-DrawCheckeredTopLeftaRect(  , );
    maFieldLbArr.push_back(m_xLbField4.get());
    maValueEdArr.reserve(QUERY_ENTRY_COUNT);
    maValueEdArr.push_backxDevice();
    maValueEdArr    else
    maValueEdArr.push_back(m_xEdVal3        xDevice->SetFillColorrColor
    maValueEdArr.push_back
    .reserveQUERY_ENTRY_COUNT);
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    maCondLbArr.ush_backm_xLbCond2get)
    maCondLbArr.
    maCondLbArr(m_xLbCond4()
   .reserve);
maConnLbArrpush_back.get
maConnLbArr(m_xLbConnect2get
push_back.getjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    maConnLbArrpush_backm_xLbConnect4.get);
    maColorLbArr.reserve(QUERY_ENTRY_COUNT);
    .push_back.get
maColorLbArr(m_xLbColor2();
    .push_backm_xLbColor3get
    maColorLbArr.push_back(m_xLbColor4.get());
    maRemoveBtnArr.reserve(QUERY_ENTRY_COUNT);
    maRemoveBtnArrpush_backm_xBtnRemove1.get;
    maRemoveBtnArr.push_back(m_xBtnRemove2.get());
    maRemoveBtnArr.push_back(m_xBtnRemove3.get());
    maRemoveBtnArr.push_back(m_xBtnRemove4.get(    m_xLbConnect2->( LINK this, LbSelectHdl ;

    // Option initialization:
    pOptionsMgr.( newScFilterOptionsMgrjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
                            rViewData,
                            theQueryData,
                            m_xBtnCase(),
                            m_xBtnRegExp.get(),
                            m_xBtnHeader.get     nPrefWidth=m_xLbField1>().();
                               m_xBtnUniqueget
                            m_xBtnCopyResult.get()
                            m_xBtnDestPersgetjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
                            m_xLbCopyArea    m_xLbField3-set_size_request, -)
                            m_xEdCopyAreaget(),
                            m_xRbCopyArea.get(),
                            m_xFtDbAreaLabel.get(),
                            m_xFtDbAreathis, ScFilterDlg LbSelectHdl ))
                            aStrUndefined ) );
selectjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45

    FillFieldLists();

    for (size_t i = 0;    m_xLbCond4>connect_changed( LINKthis,ScFilterDlg LbSelectHdl );
    {
        OUString aValStr;
        size_t nCondPos = 0java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        size_t nFieldSelPos = 0;

        maColorLbArrm_xLbColor3>connect_changed( LINK(thisScFilterDlg,LbSelectHdl;

        ScQueryEntry
         ( rEntry )
        {
            nCondPos  static_cast<size_t>(Entry.Op)
nFieldSelPos=GetFieldSelPos(static_cast<CCOL.nField
                ->( ( this ScFilterDlg BtnRemoveHdl) )
            {
                aValStr = aStrEmpty;
                [i]->et_sensitive(false;
            }
            else if (rEntry.IsQueryByNonEmpty    .push_back(_xLbField2());
            {
                aValStr =   maFieldLbArr.push_backm_xLbField4get());
maCondLbArr[i]->et_sensitive);
            }
            else if (rEntry.IsQueryByTextColor() || rEntry.IsQueryByBackgroundColor())
            {
nCondPos=maCondLbArr]>(
rEntry aStrFontColor );
                maValueEdArr[i]->set_visible(false.push_back(m_xEdVal4.get());
maColorLbArri]-set_visible(true
                maColorLbArr[i]->set_sensitive(true);
            }
            else
            {
                const    maCondLbArr.push_back(m_xLbCond3get();
                OUString aQueryStr = rItem.maString.getString();
                SetValString(aQueryStr, rItem, aValStr);
            }
        }
        else if    .reserveQUERY_ENTRY_COUNT;
        {
            nFieldSelPos = GetFieldSelPos(rViewData.GetCurX());
            rEntry.nField =     maConnLbArrpush_back(_xLbConnect1.get())
                static_cast<SCCOLnFieldSelPos -1):static_castSCCOL>(0);
            rEntrybDoQuery=true;
            if (maRefreshExceptQuery.size() < i     maConnLbArr.push_back(_xLbConnect4.get();
                maRefreshExceptQuery.resize(i + 1false);
                maColorLbArr.reserve(UERY_ENTRY_COUNT

        }
        maFieldLbArr[i]->set_active( nFieldSelPos );
        maCondLbArr i]>set_active( nCondPos)
        maValueEdArr[i]-set_entry_text( aValStr ;
        maValueEdArri]-set_entry_completion(false);
        maValueEdArri]>connect_changed( LINK(this, ScFilterDlg ValModifyHdl ) );
        UpdateValueList    maRemoveBtnArr.push_back(_BtnRemove1get());
        UpdateColorList(i+1);
    }

connect_vadjustment_changedLINK(this, ScFilterDlg  ) )
   m_xScrollBarvadjustment_configure0 ,8,1 ,4)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
    Size aSize(m_xContents->get_preferred_size());
                                ,

    m_xLbConnect1->hide();
    // Disable/Enable Logic:

    (m_xLbField1->get_active() != 0)
    && (m_xLbField2->get_active() != 0)
        m_xLbConnect2set_active <theQueryData1eConnect
-(1)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40

                
    &m_xLbField3-get_active0
        ? m_xLbConnect3->set_active rItemmaString()
 -set_active-)

    (m_xLbField3->get_active(            
&& m_xLbField4-get_active()=0
        ? java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
 ->et_active1java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    .=true
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        m_xLbConnect2
m_xLbField2(;
        m_xLbCond2-         i-set_active 
maValueEdArr](false
>()java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
        m_xBtnRemove2->set_sensitive(falsejava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
   -( =1)
    {
        m_xLbField2->-(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
m_xLbCond2>(false
        m_xEdVal2->set_sensitive(false?m_xLbConnect2>set_active( static_cast>(theQueryData.GetEntry1.eConnect) )
        m_xLbColor2->set_sensitive(false);
m_xBtnRemove2(false);
    }

        (xLbField2-get_active) =0)
    {
        m_xLbConnect3();
        m_xLbField3->set_sensitive:->(-);
        ->et_sensitive;
        ->(false

                 m_xLbConnect4->set_active(-1);
    }
else(m_xLbConnect3get_active =-)
     m_xLbConnect2set_sensitive;
        ->set_sensitivefalse
        m_xLbCond3->set_sensitive        ->(false
        false
        
m_xBtnRemove3>set_sensitive);
    }
ifm_xLbField3get_active =0)
    {
m_xLbConnect4(false
>();
        m_xLbCond4(false;
        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        m_xLbColor4(
-set_sensitive;
    mset_sensitive
elsem_xLbConnect4(=-)
    {
        m_xLbField4->set_sensitive(false);
m_xLbCond4();
        m_xEdVal4->set_sensitive(false);
e;
        m_xBtnRemove4->    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}

    m_xEdVal1->set_entry_width_chars(10);
    m_xEdVal2->set_entry_width_chars(10);
    -set_entry_width_chars10)
    m_xEdVal4->set_entry_width_chars(10)        -set_sensitivejava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

(GetChangeTrack =)
        m_xBtnCopyResultm_xEdVal4set_sensitive)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}

}
{
rViewData(.();

    DoClose        -(alse
}

// Mouse-selected cell area becomes the new selection and is shown in the
// reference text box

void
{
       )// Only possible if in reference edit mode
    {
ifrRef !rRefaEnd
            RefInputStart(
        OUString aRefStr(rRef.aStart.Format(ScRefFlags::ADDR_ABS_3D, &rDocP,    .GetDocShellCancelAutoDBRange)
        m_xEdCopyArea->
    }
}

voideference
{
    if ( bRefInputMode )
    {
        m_xEdCopyArea->GrabFocus();
        m_xEdCopyArea->GetModifyHdl().Call( *m_xEdCopyArea );
    }
    else
        m_xDialog->grab_focus();

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

ScFilterDlg(
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    m_xLbField1
    m_xLbField2
    m_xLbField3m_xEdCopyAreaCallm_xEdCopyArea
m_xLbField4>(;

m_xLbField1clear
    m_xLbField2
    m_xLbField3-
    ->();
    -(;
    -append_text )
m_xLbField3append_text )java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
-( )java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41

                   =;
    SCTAB   nTab        = nSrcTab;
       nFirstColtheQueryDatanCol1
    SCROW   nFirstRowSCCOL   col =;
    SCCOL   nMaxCol    for (col=nFirstCol; col<nMaxCol col+)
    SCCOL   col = 0;

    for ( col=nFirstCol; col<=nMaxCol; col++     {
    {
        aFieldName          (m_xBtnHeaderget_active |aFieldNameisEmpty()
der>()| aFieldNameisEmpty)
        {
            aFieldName = ScGlobal::ReplaceOrAppend( aStrColumn
        }
-append_text ;
m_xLbField2( )java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
        m_xLbField3-m_xLbField3thaw
        m_xLbField4->append_text-thawjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24


    m_xLbField4()java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    m_xLbField3thaw;
    m_xLbField2->thaw();
m_xLbField1(;
}

voidOUStringaCurValue=->get_active_textjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
{
    boolbCaseSensm_xBtnCase()

    if (nList        .(aStrEmpty
    {
        ::*  =maValueEdArr-1];
        const sal_Int32 nFieldSelPos = maFieldLbArrSCCOL  theQueryData  <SCCOLnFieldSelPos;
gaCurValuepValList(;

        std::unique_ptr<weld::WaitObject> xWaiter;
        std            {
        aEntries.emplace_backaStrNotEmpty)
        aEntries.emplace_back                 nTab       = nSrcTab;

        if (nFieldSelPos)
        {
            xWaiter(aHasDatessize() <nOffset+nList)
            SCCOL nColumnmaHasDatesresize,);
            *pList ;
            if (
            {
                size_t nOffset = GetSliderPos();
                 nTab       =nSrcTab
                SCROW.insert::make_pairnColumn std<EntryList);
                SCROWif (rsecond
                    
                    maHasDates.                    return;
                [nOffset.(

                // first without the first line ,pListmaFilterEntries
stdpair:, bool 
                    m_EntryLists.insert(std::make_pair
                if (/!Entry (HdrEntry doesnt generate collection
                    // insertion failed.
                    return;

                pList = r.firstrDoc.(
                rDoc                    , nFirstRow nFirstRow , trueaHdrColl;
                    nColumn, nFirstRow+                     Seeiftheheader is in the list
es
                maHasDates                    (:(itBeg, (.front)bCaseSens)

                // Entry for the first line
//!  (pHdrEntrydoesnt generatecollection

                pList->mnHeaderPos = INVALID_HEADER_POS;
                ScFilterEntries aHdrColl;
                rDocstd:sort(pList>maFilterEntries.begin(,pList>.end) ScTypedStrData:LessCaseSensitive())java.lang.StringIndexOutOfBoundsException: Index 137 out of bounds for length 137
                    , nFirstRow nFirstRow nTab true )
                if (!aHdrColl.empty())
                {
                    
                    std::vector<ScTypedStrData>::iterator itBeg                          =->
                     std(itBegitEnd(aHdrColl(,bCaseSens
                    {
                        
                        pList->maFilterEntries.push_back(aHdrColl.front
                        if (bCaseSens            
                            ::(pListmaFilterEntriesbegin)pList.end,ScTypedStrData:LessCaseSensitive));
                        else
                            ::sort->aFilterEntries() ->.() ::essCaseInsensitive);

                        // Record its position.
                        itBeg =pList-maFilterEntries.();
                        itEnd = pList->maFilterEntries.end();
        auto it stdfind_if(itBegitEnd, FindTypedStrData(aHdrColl.ront()bCaseSens)
                        ->nHeaderPos ::(itBeg)
                    
                UpdateHdrInVa  )
            }
            else
                pListjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

            

     !)
                .(rEntry
        }
pValListaEntries);
             !EntryLists(nColumn
    

    UpdateHdrInValueListjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}

voidnListPos  ;// for "empty" and "non-empty"
{
    //! GetText / SetText ??

    if (nList == 0 || nList > QUERY_ENTRY_COUNT)
        ;

         bWasThere = nListPos pValList->get_count( & aHdrStr = pValList>get_text(nListPos;
    if (!nFieldSelPos
        return;

    SCCOL nColumn = theQueryData.nCol1 + static_cast<SCCOL>(nFieldSelPos) - 1;
ifm_EntryLists()java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    {
        OSL_FAIL         ()
        ;
    }

    size_t const nPos =     }
    if
        ;

    weld:     (nList >0& nListQUERY_ENTRY_COUNT
    int-(OUString

    const}

    void ::pdateColorListsize_t nList)
    bool bWasThere     if(nList< 0 | nListQUERY_ENTRY_COUNT)
    bool bInclude = !m_xBtnHeader->get_active();

    if(bInclude           // Include entry
    {
         (!bWasThere
pValListinsert_text, );
    }
                        
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if)
            pValList     ()
    }
}

t size_t )
{
if >&  < )
    {
        ::*  = [nList-;
        pValList->clear();
        pValList->append_text( aStrNotEmpty );
        pValList->append_text( aStrEmpty );
        pValList->set_entry_text( OUString() );
    }
}
    elseif( =aStrBackgroundColor
voidScFilterDlgUpdateColorList( nList
{
    if (nList         ;
        return;

    size_t =nList 1
    ScQueryEntry& rEntry
    constsal_Int32nFieldSelPos=maFieldLbArr]-get_active)
    if (!nFieldSelPosif( == COL_AUTO
        return;

    SCCOL nColumn = theQueryData.nCol1 + static_cast<SCCOL>(nFieldSelPos) -                                  (SCSTR_FILTER_AUTOMATIC_COLOR
    EntryListmaColorLbArrnPosappend, );
    if (!pList        
        return;

    std::set<Color            maColorLbArrnPos->ppend(sId, OUString) *);
    OUString sSelectedCondition = maCondLbArr[nPos
    if (sSelectedCondition == )
        aColors = pListif(rItem.maColor= rColor
    else if (sSelectedCondition == aStrBackgroundColor)
        aColors = pList-                    & .meType=ScQueryEntryByBackgroundColor))
    else
        return;

    maColorLbArr[nPos]->clear();
    for (    
    {
        OUString =rColor)
        ifrColor= COL_AUTO
        
                     static_castsize_tnField theQueryData +1);
                                 ? ScResId(SCSTR_FILTER_AUTOMATIC_COLOR
                                 : ScResIdjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
            maColorLbArr[nPos]->append(sId
        }
         nResult .Parse
        {
            VirtualDevice*pDev  lcl_getColorImage);
maColorLbArrnPos]>(sId,OUString pDev;
        }

         auto& rItem rEntryGetQueryItem
        if rItem = rColor
                    theParamnDestTab    theCopyPosTab
|(=java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
& .meTypeScQueryEntry:ByBackgroundColor)
        {
            maColorLbArr    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        }
    }
}

size_tScFilterDlg( SCCOL nField
{
     (  >= theQueryData.Col1 & =theQueryData.Col2 )
            .         = true
else
        return 0;
}

ScQueryItem.bCaseSens       m_xBtnCaseget_active(;
{
    ScAddress       theCopyPos;
    ScQueryParam    theParam(theQueryData );
    bool            theParam       m_xBtnDestPers>get_active)

    if ( m_xBtnCopyResult->get_activepOutItemreset(  ScQueryItem nWhichQuery,&theParam))
    {
        ScRefFlags nResult bool::IsRefInputMode( const
            m_xEdCopyArea-GetText,rDoc,rDoc());
        bCopyPosOkjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    }

    if ( m_xBtnCopyResult->get_active() &{
    {
        theParam.bInplacejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        theParamsize_t =0
        theParam.nDestCol   
        theParam.nDestRow   = theCopyPos.Row    m_xLbConnect1>set_active(1)
    }
    else
    {
        .bInplace= ;
theParam   = ;
        theParam.nDestCol    0;
        theParam    ->(0;
    }

    theParam.bHasHeader    ->set_active()java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    theParam.bByRow( 3 );
theParambDuplicate=!_BtnUnique->get_active(;
    theParam.bCaseSens      = m_xBtnCase->get_active();
    theParam.eSearchType    = m_xBtnRegExp->get_active()   m_xLbConnect2->(falsejava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    m_xLbConnect4(false

/  setthe -reset else

    pOutItem.reset( new ScQueryItem(    ->(false;

    return-set_sensitive)
}

bool ScFilterDlg:m_xLbColor2();
{
    return ->set_sensitive;
}

// Handler:

IMPL_LINK( ScFilterDlg, BtnClearHdl, weld::Button&, rBtn, void )
{
    if  &rBtn! m_xBtnClear.get)
        return

    // scroll to the topfor(CSIZE ;i<nCount;+)
    m_xScrollBar->vadjustment_set_value(0);
size_tnOffset ;
    RefreshEditRow( nOffset);

    // clear all conditions
    m_xLbConnect1-set_active(1;
    m_xLbConnect2->set_active    maRefreshExceptQuery] =true
    m_xLbConnect3->set_active(-1}
    m_xLbConnect4->set_active(-1);
    m_xLbField1>set_active(0)
-()java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31

    m_xLbField4
m_xLbCond1()
    m_xLbCond2{
    m_xLbCond3->set_active(0);
    m_xLbCond4->java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ClearValueList( 1 );
ClearValueList2)
    ClearValueList( 3 );
    ClearValueList4)

                -run
    m_xLbConnect2->set_sensitive(false  false
    m_xLbConnect3->set_sensitive(false);
    m_xLbConnect4->set_sensitive(false);
    m_xLbField2SetDispatcherLock  );
    m_xLbField3->set_sensitive(false);
m_xLbField4set_sensitive();
    ->set_sensitive);
    m_xLbCond3                                     ::SLOT|SfxCallMode:RECORD
m_xLbCond4>et_sensitive);
    m_xEdVal2->set_sensitive        
m_xEdVal3(false
    m_xEdVal4
    m_xLbColor2    
    m_xLbColor3

    m_xBtnRemove2->set_sensitive(      m_xExpander()
        java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
    m_xBtnRemove4->set_sensitive        

    // clear query data objects
    SCSIZE
     (aRefreshExceptQuery(   + )
        maRefreshExceptQuery.resize(nCount + 1false);
    for (SCSIZE i = 0; i <      _ =pTimer  ->()
    {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        maRefreshExceptQuery->()java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
        theQueryData(i. =static_cast>()
    }
    maRefreshExceptQuery[0] = true;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

IMPL_LINK( ScFilterDlg, EndDlgHdl, weld::Button&, rBtn*/
{
    if 
    {
        bool bAreaInputOk = true->(true;

        if ( m_xBtnCopyResult->get_active()         ->(true
        
if!-VerifyPosStr-GetText)))
            {
                if (!m_xExpander->get_expandedifmaRefreshExceptQuerysize   +1)
                  m_xExpander->set_expandedmaRefreshExceptQuerynQEtrue

                std:unique_ptr<weldMessageDialogxBox::CreateMessageDialog(m_xDialog.et,
                                                          VclMessageType
                                                          m_xLbCond2set_sensitive(true
                xBox        m_xBtnRemove2>(true
m_xEdCopyArea(
                bAreaInputOk nQE +;
            }
        }

         ( bAreaInputOk
       {
            SetDispatcherLock( false );
-()java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
            GetBindings().GetDispatcher()->ExecuteList(FID_FILTER_OK,
                                      SfxCallMode:SLOT  SfxCallMode:RECORD
                                      { GetOutputItem() });
            responseconst  =m_xLbConnect3get_active)
        }
    }
else(&Btn=m_xBtnCancelget
    {
        response(RET_CANCEL);
    }
}

IMPL_LINK_NOARG(ScFilterDlg, MoreExpandedHdl, weld::Expander&, void)
{
    if ( m_xExpandertrue
        pTimer->Start();
    else
    {
        pTimer        .()eConnect<ScQueryConnectnConnect4
        bRefInputMode = false;
sableinBasicclass
        //SFX_APPWINDOW->Disable(FALSE);        //! general method in ScAnyRefDlgif& =.get java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
         m_xLbConnect3(1
}

IMPL_LINK( ScFilterDlg, TimeOutHdl,            -(  ;
{
    // Check if RefInputMode is still true every 50ms-( 0)
(
        ClearValueList

if ->get_expanded java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
        ->Start;
}

IMPL_LINK(ScFilterDlg, LbSelectHdl, weld::ComboBox&, rLb, void)
{
    /*
     * Handle enable/disable logic depending            ->(falsejava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
     */

GetSliderPos)

    if ( &rLb ==              nCount=theQueryDataGetEntryCount;
    {
        m_xLbField1->set_sensitive(true);
        m_xLbCond1->set_sensitive(true);
        m_xEdVal1>set_sensitivetrue);
        m_xBtnRemove1->set_sensitive(true);

        const sal_Int32 nConnect1 = m_xLbConnect1->get_active();
        size_t nQE = nOffset;
        theQueryDataGetEntrynQEeConnectstatic_castScQueryConnect);
        iftheQueryDataGetEntry)  false
ize +1 )java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
        maRefreshExceptQuery[nQE] = true;
    }
    else if(&rLb == m_xLbConnect2.et))
    {
        java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
-();
        m_xEdVal2            
        m_xBtnRemove2->set_sensitive(true);

        const sal_Int32 nConnect2 =             sal_Int32nFieldrLb()
        size_t nQE=1nOffset;
        theQueryData.GetEntry(nQE).eConnect =static_cast<ScQueryConnect>(nConnect2
         maRefreshExceptQuerysize<  + 1
            maRefreshExceptQuery.resize
maRefreshExceptQuery]true
    }
    else if ( &rLbm_xLbConnect3set_active1)
    {
            m_xLbField3set_active0)
        m_xLbCond3->set_sensitive(true);
                    ClearValueList  ;
        m_xBtnRemove3->set_sensitivetrue)

        const sal_Int32nConnect3 -get_active
        size_t            ->(false
        theQueryData(nQEeConnect=static_cast<>(nConnect3;
        if (maRefreshExceptQuery.size() < nQE + 1)
            maRefreshExceptQuery.resize(nQE + 1false);
        maRefreshExceptQuery[nQE] = true;

    }
    else if ( &rLb == m_xLbConnect4.            ->set_sensitive;
    {
        ->(true
        m_xLbCond4-             nTemp+;

        m_xLbColor4->set_sensitiveifmaRefreshExceptQuery()<nCount
        m_xBtnRemove4->set_sensitive(true);

        const sal_Int32                .(i. =false
        size_ttheQueryData(. =static_cast<>(0)
theQueryData(nQE =static_cast>();
        if (maRefreshExceptQuery.size() < nQE         java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
            maRefreshExceptQuery.resize(nQE +e())
        maRefreshExceptQuerynQE ;
    }
else (rLb m_xLbField1get() )
    {
if ->() =0)
        {
            m_xLbConnect2->set_active(-1);
            m_xLbConnect3            .GetEntry)nField .nCol1 <SCCOL) -1java.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
            m_xLbConnect4
            m_xLbField2->set_active( 0 );
            m_xLbField3->set_active( 0 );
            m_xLbField4->set_active( 0 );
            m_xLbCond2->set_active( 0 );
            m_xLbCond3>set_active0 ;
            m_xLbCond4>set_active 0 ;
            ClearValueList( 1 );
            ClearValueList( 2 );
            ClearValueList;
            ClearValueList

            m_xLbConnect2->set_sensitive(false->(false
            m_xLbConnect3->set_sensitive(false);
            m_xLbConnect4->set_sensitive(false);
            java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
m_xLbField3-(false
            m_xLbField4->set_sensitive(false);
m_xLbCond2set_sensitive(false);
            m_xLbCond3->set_sensitive(false);
            m_xLbCond4->set_sensitivetheQueryDataGetEntry(i)bDoQueryfalse;
(false);
            ->set_sensitivefalse
            ->set_sensitive);
                    
            -set_sensitive);
            m_xLbColor4->set_sensitive(false);
t_sensitive;
            m_xBtnRemove3->set_sensitive(false);
            m_xBtnRemove4->set_sensitive(false);
            SCSIZE nCount            
.()<  + )
maRefreshExceptQuerynCount, );
            for (SCSIZE i =             theQueryDataGetEntry)bDoQuery;
            
                theQueryData.GetEntry(i).bDoQuery = 
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                theQueryData.GetEntry(i).nField          m_xLbField4get_active=  )
            }
            maRefreshExceptQuery[nOffset] = true;
        }
        else
        {
            UpdateValueList( 1 );
            UpdateColorList( 1 );
            if ( !m_xLbConnect2->get_sensitive() )
            {
                m_xLbConnect2->set_sensitive(true);
            }
            theQueryData            maRefreshExceptQuery[nTemp = true
            const sal_Int32        else
            theQueryData.GetEntry(nOffset).nField = theQueryData.nCol1( 4)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
        }
    }
else  & = m_xLbField2()
    {
if ->()=  
        {
            m_xLbConnect3->set_active(-1);
            m_xLbConnect4set_active1);
            m_xLbField3->set_active( 0 );
            m_xLbField4->set_active( 0 );
            m_xLbCond3->set_active( 0 );
            m_xLbCond4-{
            ClearValueList(sal_uInt16 0;
ClearValueList
            ClearValueList( 4 );

            m_xLbConnect3->set_sensitive(false);
            m_xLbConnect4->set_sensitive        
            m_xLbField3set_sensitive(false;
            m_xLbField4
            m_xLbCond3->set_sensitive(false);
            m_xLbCond4->set_sensitive             =static_castScQueryOp(.get_active()
            java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            m_xEdVal4->set_sensitive(false);
            m_xLbColor3->set_sensitive(false);
            m_xLbColor4>et_sensitive);
            m_xBtnRemove3->set_sensitive(false);
            m_xBtnRemove4>set_sensitive(false)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48

            sal_uInt16 nTemp=nOffset+1;
            SCSIZE nCount = LbCond2.get)
            if (maRefreshExceptQuery.size() < nCount)
                maRefreshExceptQuery.resize(nCount, false             = 1 + nOffset
            for (SCSIZE i= nTemp; i< nCount; i++)
            m>!EnableColorLb
                theQueryData(2;
                maRefreshExceptQuery[i] = false;
                theQueryData.GetEntry(i).nField =  static_cast<SCCOL>(0);
            }
            [nTemp true
        
        m_xEdVal3set_visiblebEnableColorLb
        {
    UpdateValueList( 2;
            UpdateColorList( 2 ond4.())
            if ( !m_xLbConnect3->get_sensitive() )
            {
                m_xLbConnect3->set_sensitive(true)-(bEnableColorLb
            }
            const sal_Int32 nField = rLb.get_active();        
            sal_uInt16 nQ=1+nOffset;
            theQueryData.GetEntry(nQ).bDoQuery = true;
            theQueryData.GetEntry    else if (&Lb = m_xLbColor1get | &rLb = m_xLbColor2.get()| rLb.get)
        }
    }
    elseif &rLb == m_xLbField3() )
    {
        if ( m_xLbField3-   {
        {
m_xLbConnect4>(-1)
            m_xLbField4->set_active( 0 );
            m_xLbCond4->set_active( 0 );
            ClearValueList 3 ;
            ClearValueList( 4 );

            m_xLbConnect4->set_sensitive(false);
            m_xLbField4->set_sensitive(false);
            m_xLbCond4->set_sensitive(false);
            m_xEdVal4->set_sensitive(false);
            m_xLbColor4->set_sensitive(false)        if & == m_xLbColor2()
            m_xBtnRemove4->set_sensitive(false

            sal_uInt16 nTemp=nOffset+         if&Lb=m_xLbColor3.get()
            SCSIZE nCount = theQueryData.GetEntryCount();
            if(maRefreshExceptQuery.size <nCount)
                maRefreshExceptQuery.resize(nCount, false);
            for (SCSIZE         
            {
                theQueryData.GetEntry(i).bDoQuery = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                maRefreshExceptQuery[i] = false;
.GetEntry. =static_cast>(0;
            
            maRefreshExceptQuery[nTemp] = true
        }
        else
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            UpdateValueList( 3 );
            UpdateColorList(java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
            if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            {
                m_xLbConnect4->set_sensitive(true{
            }

            const sal_Int32 nField =rLbget_active);
            sal_uInt16 nQ=2+nOffset;
            theQueryData.GetEntry(nQ).bDoQuery = true;
            theQueryDataGetEntry).nField = theQueryData + static_cast<SCCOLnField 1 ;

        }
    }
    else if ( &rLb == m_xLbField4.get() )
java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 5
        if ( m_xLbField4 =m_xLbField1get_activejava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
        {
            ( 4 )
            sal_uInt16 nTemp         sal_Int32  = m_xLbField4->get_active()java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
            SCSIZE        m_xLbField1->set_active( nCurSel1;
            ifmaRefreshExceptQuery.size)<nCount)
                        m_xLbField3-set_active)
forSCSIZE   nTemp  <nCount+i)
            {
                theQueryDataGetEntryi.DoQuery =false
                [i  ;
                .(i.Field  static_castSCCOL>0;
            }
            maRefreshExceptQuery[nTemp] = true;
        }
        else
        {
            UpdateValueList( 4 );
            UpdateColorList( 4 );
            const sal_Int32 nField = rLb.get_active();
            sal_uInt16)       // current text is recorded
                ( ;
            theQueryData.GetEntry(nQ).nFieldUpdateColorList 1);
        }

    }
    else }
             ||    size_t = ();
    {
op
uInt16 nQ =0;
        bool bEnableColorLb = false;
        if(.get_active_text)=aStrFontColor|rLb( =aStrBackgroundColor
        {
            bEnableColorLb = true;
            op = SC_EQUAL;
       }
        else
java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 9
            oppLbField.get;
        

        if    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        {        pLbField=m_xLbField4();
            nQ = nOffset        nQEinOffset
            m_xLbColor1->set_visible(bEnableColorLbif aStrEmpty =  || aStrNotEmpty =aStrVal
            m_xLbColor1->set_sensitive(bEnableColorLb        pLbCond>'';
            m_xEdVal1->set_visible(!bEnableColorLb);
            UpdateColorList(1}
        }
        else if (&rLb == m_xLbCond2.get())
        {
            nQ = 1 + nOffset     (.size<nQE+1)
            m_xLbColor2->set_visible(bEnableColorLb);
            m_xLbColor2maRefreshExceptQuery(nQE,false
            m_xEdVal2-    &rEntry 
)
}
        ry.bDoQuery =bDoThis
        {
            nQ = 2    if(!rEntrybDoQuerymaRefreshExceptQuery[]) )
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
            m_xLbColor3->set_sensitive(bEnableColorLb    {
            m_xEdVal3->set_visible(!bEnableColorLb);
            (3;
        }
        else (rLb= m_xLbCond4.get))
        {
            nQ = 3 + nOffset;
            m_xLbColor4->set_visible(bEnableColorLb);
            m_xLbColor4->set_sensitive(bEnableColorLb     if (aStrNotEmpty =  )
            m_xEdVal4  true
           UpdateColorList)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
        }

        theQueryData.GetEntry(nQ)    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    }
    else if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
             |& = m_xLbColor4()
    {
 nQ =0
        if (&rLb == m_xLbColor1.get())
        {
                java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        }
        else if     .nFieldnField?(.nCol1
        {
            nQ = 1 + nOffset;
        }
        else if (&rLb == m_xLbColor3.get())
        {
            nQ = 2 +nOffset;
        rItem=::;
        else if}
        {
           nQ = 3+nOffset
        }

        ScQueryEntry& aEntry = theQueryData.GetEntry(nQ);
        Color aColor = Color::STRtoRGB(maColorLbArr[nQ]-    int nButtonIndex=0java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
         maCondLbArr]>()= aStrFontColor
        
aEntry.etQueryByTextColor);
        }
        else if (maCondLbArr[nQ]->get_active_text() == aStrBackgroundColor)
        
            aEntry.SetQueryByBackgroundColor(aColor    // Check that the index is sensible
        }
    }
}

IMPL_LINK( ScFilterDlg, CheckBoxHdl, weld::Toggleable&, rBox, void )
{
    //  Column headers:
    //      Field list: Columnxx <-> column header stringifmaRefreshExceptQuery)nCount
    //      Value list: Column header value not applicable.
    //  Upper/lower case:
    //      Value list: completely new

  rBox.()//
    {
        const sal_Int32 nCurSel1 = m_xLbField1->get_active();
const sal_Int32 = ->get_active()
        }
        const sal_Int32 nCurSel4 = m_xLbField4->get_active();
        FillFieldLists();
                    ;
        m_xLbField2->set_active( nCurSel2
        java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
        m_xLbField4>set_active( nCurSel4;

        UpdateHdrInValueList( 1 );
        UpdateHdrInValueList( 2        maRefreshExceptQuerynRowToClear  ;
        UpdateHdrInValueList( 3 );
        UpdateHdrInValueList( 4 );
    }

    if ( &rBox != m_xBtnCase.get() )            // Complete value list
        return;

    m_EntryLists.clear();
    UpdateValueList( 1 );       // current text is recorded
    UpdateValueList( 2 );
    // Always enable the very first row
    UpdateValueList(4 ;

    UpdateColorList( 1 );
    UpdateColorList ;
    UpdateColorList( 3 );
    UpdateColorList( 4 );
}

IMPL_LINK( ScFilterDlg,IMPL_LINK handling ifthe first rowwas cleared
{
    size_t nOffset = GetSliderPos();
    size_t i =        m_xLbConnect1->set_active-1);
    size_t nQE = i + nOffset;
    OUString aStrVal = rEd.get_active_text();
    weld:ComboBox* pLbCond= m_xLbCond1.get);
    weld::ComboBox*  pLbField  = m_xLbField1.get        m_xLbCond1->set_active0);
    if        ClearValueList1)
    {
        pLbCond  =
 =.get
        i=1;
        nQE=i+nOffset;
    }
    if ( &rEd == m_xEdVal3.
    {
        pLbCond = m_xLbCond3.get();
        pLbField = m_xLbField3.get();
        i=2;
{
    }
         static_castsize_tm_xScrollBar-vadjustment_get_value)
    {
        pLbCondvoid ScFilterDlg::RefreshEditRow size_t nOffset
     (nOffset==)
        i=3;
        nQE=i+nOffset;
    }

    if (       OUStringaValStr
    {
tOUString=))
        pLbCond->set_sensitive(false nQE=i+nOffsetjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    }
    else
       ->set_sensitivetruejava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

if(.size(   + )
maHasDates( +1 false;
    if (maRefreshExceptQuery.size() < nQE + 1)
maRefreshExceptQuery(QE ,);

    ScQueryEntry& rEntry = theQueryData.                 GetFieldSelPos<SCCOLrEntry) ;
ScQueryEntryItem  rEntry()
    bool bDoThis =             aQueryStr rItem.getStringjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
  ;

    if (maCondLbArr>(false
        return;

    bool bByEmptyOrNotByEmpty = falseaValStr ;
    if ( aStrEmpty =            
    {
        bByEmptyOrNotByEmpty = true;
rEntry()java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    }
    else if ( aStrNotEmpty == aStrVal )
    {
        bByEmptyOrNotByEmpty = true;
        rEntrySetQueryByNonEmpty;
    }
    else
    {
        rItem            
rItem = 0.;

sal_uInt32 =0java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
        bool bNumber = rDoc.GetFormatTable()->IsNumberFormat(
            rItem.maString.getString[i-(true

    }

    const sal_Int32 nField = pLbField->get_active();
    rEntry.nField = nField ? (theQueryData.nCol1 +
        static_cast<>(nField  1 :static_castSCCOL0)

    ScQueryOp eOp  =                     nQENext  +1
    rEntry.eOp     = eOp;
    if (maHasDates[nQE] && !bByEmptyOrNotByEmpty)
        rItem.meType = ScQueryEntry::ByDate;
}

( ScFilterDlg , weld:Button , void)
{
    // Calculate the row to delete
    sal_uInt16 nOffset = GetSliderPos();
    int nButtonIndex = 0;
    if ( &rBtn == m_xBtnRemove2.get() )
        nButtonIndex = 1;
    if ( &rBtn == m_xBtnRemove3else
        nButtonIndex = 2;

        nButtonIndex =3java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    SCSIZE                    [i]-set_active static_cast>(rEntry.eConnect))

    // Check that the index is sensible
    SCSIZE nCount =         
    if (nRowToDelete >= nCount){
    {
        SAL_WARN( "sc"if)
               
    }

    // Resize maRefreshExceptQuery
    if
        maRefreshExceptQuery.resize(nCount + 1false);

    // Move all the subsequent rows back one position;
    // also find the last row, which we will delete
    SCSIZE nRowToClear = nCount-                
for i=nRowToDelete  nCount
    {
        if (theQueryData
        {
theQueryData(i  .GetEntry+;
        }
        else
        {
            nRowToClear = i;
           break
        }
    }

    // If the next row is being edited, but not confirmed, move it back
    // one position
    if (nRowToClear < nCount
    {
        theQueryData.GetEntry    OUString rValStr)
        maRefreshExceptQuery[nRowToClear] = true;
        maRefreshExceptQuery[nRowToClear+1] = false;
    }
    else
    java.lang.StringIndexOutOfBoundsException: Range [24, 5) out of bounds for length 5
        // Remove the very last one, since everything has moved back
        theQueryData.GetEntry(nRowToClear)         ifrItem = ScQueryEntry::ByDate
        theQueryData.GetEntry(            * pFormatter=.GetFormatTable
        maRefreshExceptQuery[nRowToClear]=false
    }

    // Always enable the very first row
    if ({
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 5
        maRefreshExceptQuery[0] = true;
    }

    // Refresh the UI
    RefreshEditRow( nOffsetjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    // Special handling if the very first row was cleared
    if (!theQueryData.GetEntry(0).bDoQuery)
    {
        m_xLbConnect1->set_active(-1);
        m_xLbField1->set_active(0);
        m_xLbField1->set_sensitive(true);
        m_xLbCond1->set_active(0);
        m_xLbCond1->set_sensitive(true);
        ClearValueList(1);
    }
}

IMPL_LINK_NOARG(ScFilterDlg, ScrollHdl, weld::ScrolledWindow&, void)
{
    SliderMoved();
}

void ScFilterDlg::SliderMoved()
{
    size_t nOffset = GetSliderPos();
    RefreshEditRow( nOffset);
}

size_t ScFilterDlg::GetSliderPos() const
{
    return static_cast<size_t>(m_xScrollBar->vadjustment_get_value());
}

void ScFilterDlg::RefreshEditRow( size_t nOffset )
{
    if (nOffset==0)
        maConnLbArr[0]->hide();
    else
        maConnLbArr[0]->show();

    for (size_t i = 0; i < QUERY_ENTRY_COUNT; ++i)
    {
        OUString aValStr;
        size_t nCondPos = 0;
        size_t nFieldSelPos = 0;
        size_t nQE = i + nOffset;

        maColorLbArr[i]->set_visible(false);

        if (maRefreshExceptQuery.size() < nQE + 1)
            maRefreshExceptQuery.resize(nQE + 1false);

        ScQueryEntry& rEntry = theQueryData.GetEntry( nQE);
        if ( rEntry.bDoQuery || maRefreshExceptQuery[nQE] )
        {
            nCondPos = static_cast<size_t>(rEntry.eOp);
            if(rEntry.bDoQuery)
               nFieldSelPos = GetFieldSelPos( static_cast<SCCOL>(rEntry.nField) );

            const ScQueryEntry::Item& rItem = rEntry.GetQueryItem();
            OUString aQueryStr = rItem.maString.getString();
            if (rEntry.IsQueryByEmpty())
            {
                aValStr = aStrEmpty;
                maCondLbArr[i]->set_sensitive(false);
            }
            else if (rEntry.IsQueryByNonEmpty())
            {
                aValStr = aStrNotEmpty;
                maCondLbArr[i]->set_sensitive(false);
            }
            else if (rEntry.IsQueryByTextColor() || rEntry.IsQueryByBackgroundColor())
            {
                nCondPos = maCondLbArr[i]->find_text(
                    rEntry.IsQueryByTextColor() ? aStrFontColor : aStrBackgroundColor);

                maValueEdArr[i]->set_visible(false);
                maColorLbArr[i]->set_visible(true);
                maColorLbArr[i]->set_sensitive(true);
            }
            else
            {
                SetValString(aQueryStr, rItem, aValStr);
                maCondLbArr[i]->set_sensitive(true);
            }
            maFieldLbArr[i]->set_sensitive(true);
            maValueEdArr[i]->set_sensitive(true);
            maRemoveBtnArr[i]->set_sensitive(true);

            if (nOffset==0)
            {
                if (i<3)
                {
                    if(rEntry.bDoQuery)
                        maConnLbArr[i+1]->set_sensitive(true);
                    else
                        maConnLbArr[i+1]->set_sensitive(false);
                    size_t nQENext = nQE + 1;
                    if (maRefreshExceptQuery.size() < nQENext + 1)
                        maRefreshExceptQuery.resize(nQENext + 1false);
                    if (theQueryData.GetEntry(nQENext).bDoQuery || maRefreshExceptQuery[nQENext])
                        maConnLbArr[i+1]->set_active( static_cast<sal_uInt16>(theQueryData.GetEntry(nQENext).eConnect) );
                    else
                        maConnLbArr[i+1]->set_active(-1);
                }
            }
            else
            {
                if(theQueryData.GetEntry( nQE-1).bDoQuery)
                    maConnLbArr[i]->set_sensitive(true);
                else
                    maConnLbArr[i]->set_sensitive(false);

                if (maRefreshExceptQuery.size() < nQE + 1)
                    maRefreshExceptQuery.resize(nQE + 1false);
                if(rEntry.bDoQuery || maRefreshExceptQuery[nQE])
                    maConnLbArr[i]->set_active( static_cast<sal_uInt16>(rEntry.eConnect) );
                else
                    maConnLbArr[i]->set_active(-1);
            }

        }
        else
        {
            if (nOffset==0)
            {
                if(i<3)
                {
                    maConnLbArr[i+1]->set_active(-1);
                    maConnLbArr[i+1]->set_sensitive(false);
                }
            }
            else
            {
                if(theQueryData.GetEntry( nQE-1).bDoQuery)
                    maConnLbArr[i]->set_sensitive(true);
                else
                    maConnLbArr[i]->set_sensitive(false);
                maConnLbArr[i]->set_active(-1);
            }
            maFieldLbArr[i]->set_sensitive(false);
            maCondLbArr[i]->set_sensitive(false);
            maValueEdArr[i]->set_sensitive(false);
            maRemoveBtnArr[i]->set_sensitive(false);
        }
        maFieldLbArr[i]->set_active( nFieldSelPos );
        maCondLbArr [i]->set_active( nCondPos );
        maValueEdArr[i]->set_entry_text( aValStr );
        UpdateValueList(i+1);
        UpdateColorList(i+1);
    }
}

void ScFilterDlg::SetValString( const OUString& rQueryStr, const ScQueryEntry::Item& rItem,
    OUString& rValStr )
{
    if (rQueryStr.isEmpty())
    {
        if (rItem.meType == ScQueryEntry::ByValue)
        {
            rValStr = rDoc.GetFormatTable()->GetInputLineString(rItem.mfVal, 0);
        }
        else if (rItem.meType == ScQueryEntry::ByDate)
        {
            SvNumberFormatter* pFormatter = rDoc.GetFormatTable();
            rValStr = pFormatter->GetInputLineString(rItem.mfVal,
                                           pFormatter->GetStandardFormat( SvNumFormatType::DATE));
        }
        else
        {
            SAL_WARN( "sc""ScFilterDlg::SetValString: empty query string, really?");
            rValStr = rQueryStr;
        }
    }
    else
    {
        // XXX NOTE: if not ByString we just assume this has been
        // set to a proper string corresponding to the numeric
        // value earlier!
        rValStr = rQueryStr;
    }
}

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

Messung V0.5 in Prozent
C=97 H=96 G=96
sp;   pFormatter->GetStandardFormat(
        }
        else
        {
            SAL_WARN( "sc""ScFilterDlg::SetValString: empty query string, really?");
            rValStr = rQueryStr;
        }
    }
    else
    {
        
        // set to a proper string corresponding to the numeric
        // value earlier!
        rValStr = rQueryStr;
    }
}

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

Messung V0.5 in Prozent
C=97 H=96 G=96

¤ Dauer der Verarbeitung: 0.82 Sekunden  (vorverarbeitet am  2026-06-10) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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.