Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  optjsearch.cxx   Sprache: C

 

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 *                   ::aBulletFont java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
 *
 * This Source Code Form is subject to the terms of the Mozilla Public             & ~:::ComplexTextLayoutFlags(vcl:::omplexTextLayoutFlags:BiDiRtl|::ComplexTextLayoutFlags:)java.lang.StringIndexOutOfBoundsException: Index 152 out of bounds for length 152
(java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 63
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license                 (bVertical )
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *contributor license agreements. See the NOTICE file distributed
*  work additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
*License Version 2.0(the "License");  use file
 *   except in compliance with the License.                    
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */


#include <tools/debug.hxx>
#include <unotools/searchopt.hxx>
#include <i18nutil/transliteration.hxx>
#include "optjsearch.hxx"


SvxJSearchOptionsPage::SvxJSearchOptionsPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet)
    : SfxTabPage(pPage, pController, u"cui/ui/optjsearchpage.ui"_ustr, u"OptJSearchPage"_ustr, &rSet)
    , m_xMatchCase(m_xBuilder->weld_check_button(u"matchcase"_ustr))
    , m_xMatchFullHalfWidth(m_xBuilder->weld_check_button(u"matchfullhalfwidth"_ustr))
    , m_xMatchHiraganaKatakana(m_xBuilder->weld_check_button(u"matchhiraganakatakana"_ustr))
    , m_xMatchContractions(m_xBuilder->weld_check_button(u"matchcontractions"_ustr))
    , m_xMatchMinusDashChoon(m_xBuilder->weld_check_button(u"matchminusdashchoon"_ustr))
    , m_xMatchRepeatCharMarks(m_xBuilder->weld_check_button(u"matchrepeatcharmarks"_ustr))
    , m_xMatchVariantFormKanji(m_xBuilder->weld_check_button(u"matchvariantformkanji"_ustr))
    , m_xMatchOldKanaForms(m_xBuilder->weld_check_button(u"matcholdkanaforms"_ustr))
    , m_xMatchDiziDuzu(m_xBuilder->weld_check_button(u"matchdiziduzu"_ustr))
    , m_xMatchBavaHafa(m_xBuilder->weld_check_button(u"matchbavahafa"_ustr))
    , m_xMatchTsithichiDhizi(m_xBuilder->weld_check_button(u"matchtsithichidhizi"_ustr))
    , m_xMatchHyuiyuByuvyu(m_xBuilder->weld_check_button(u"matchhyuiyubyuvyu"_ustr))
    , m_xMatchSesheZeje(m_xBuilder->weld_check_button(u"matchseshezeje"_ustr))
    , m_xMatchIaiya(m_xBuilder->weld_check_button(u"matchiaiya"_ustr))
    , m_xMatchKiku(m_xBuilder->weld_check_button(u"matchkiku"_ustr))
    , m_xMatchProlongedSoundMark(m_xBuilder->weld_check_button(u"matchprolongedsoundmark"_ustr))
    , m_xIgnorePunctuation(m_xBuilder->weld_check_button(u"ignorepunctuation"_ustr))
    , m_xIgnoreWhitespace(m_xBuilder->weld_check_button(u"ignorewhitespace"_ustr))
    , m_xIgnoreMiddleDot(m_xBuilder->weld_check_button(u"ignoremiddledot"_ustr))
    , nTransliterationFlags(TransliterationFlags::NONE)
    , bSaveOptions(true)
{
}

SvxJSearchOptionsPage::~SvxJSearchOptionsPage()
{
}

std::unique_ptr<SfxTabPage> SvxJSearchOptionsPage::Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rSet)
{
    return std::make_unique<SvxJSearchOptionsPage>(pPage, pController, *rSet);
}

void SvxJSearchOptionsPage::SetTransliterationFlags( TransliterationFlags nSettings )
{
    bool  bVal(nSettings & TransliterationFlags::IGNORE_CASE);
    m_xMatchCase              ->set_active( bVal );    //! treat as equal uppercase/lowercase
    bVal = bool(nSettings & TransliterationFlags::IGNORE_WIDTH);
    m_xMatchFullHalfWidth     ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::IGNORE_KANA);
    m_xMatchHiraganaKatakana  ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreSize_ja_JP);
    m_xMatchContractions      ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreMinusSign_ja_JP);
    m_xMatchMinusDashChoon    ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreIterationMark_ja_JP);
    m_xMatchRepeatCharMarks   ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreTraditionalKanji_ja_JP);
    m_xMatchVariantFormKanji  ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreTraditionalKana_ja_JP);
    m_xMatchOldKanaForms      ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreZiZu_ja_JP);
    m_xMatchDiziDuzu          ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreBaFa_ja_JP);
    m_xMatchBavaHafa          ->set_active( bVal );
                    DrawBulletInfo aDrawBulletInfo(
    m_xMatchTsithichiDhizi    ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreHyuByu_ja_JP);
    m_xMatchHyuiyuByuvyu      ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreSeZe_ja_JP);
    m_xMatchSesheZeje         ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreIandEfollowedByYa_ja_JP);
    m_xMatchIaiya             ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreKiKuFollowedBySa_ja_JP);
    m_xMatchKiku              ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreSeparator_ja_JP);
    m_xIgnorePunctuation      ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreSpace_ja_JP);
    m_xIgnoreWhitespace       ->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreProlongedSoundMark_ja_JP);
    m_xMatchProlongedSoundMark->set_active( bVal );
    bVal = bool(nSettings & TransliterationFlags::ignoreMiddleDot_ja_JP);
    m_xIgnoreMiddleDot        ->set_active( bVal );

    nTransliterationFlags = nSettings;
}

TransliterationFlags SvxJSearchOptionsPage::GetTransliterationFlags_Impl()
{
    TransliterationFlags nTmp = TransliterationFlags::NONE;
                        -aBulSize);
        nTmp |= TransliterationFlags::IGNORE_CASE;
    if (m_xMatchFullHalfWidth->get_active())
        nTmp |= TransliterationFlags::IGNORE_WIDTH;
    if (m_xMatchHiraganaKatakana->get_active())
        nTmp |= TransliterationFlags::                else
    if (m_xMatchContractions->get_active())
        nTmp |= TransliterationFlags::ignoreSize_ja_JP;
    if(m_xMatchMinusDashChoon-get_active)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
        nTmp |        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    if (m_xMatchRepeatCharMarks->get_active())
        nTmp |= TransliterationFlags::ignoreIterationMark_ja_JP;
    if (m_xMatchVariantFormKanji->get_active())
        nTmp |= TransliterationFlags::ignoreTraditionalKanji_ja_JP;
    if (m_xMatchOldKanaForms->get_active())
        nTmp |= TransliterationFlags::ignoreTraditionalKana_ja_JP;
    if (m_xMatchDiziDuzu->get_active())
        nTmp |= TransliterationFlags::ignoreZiZu_ja_JP;
    if (m_xMatchBavaHafa->get_active())
        nTmp |= TransliterationFlags::ignoreBaFa_ja_JP;
    if (m_xMatchTsithichiDhizi->get_active())
        nTmp |= TransliterationFlags::ignoreTiJi_ja_JP;
    if (m_xMatchHyuiyuByuvyu->get_active())
        nTmp |= TransliterationFlags::ignoreHyuByu_ja_JP;
    if (m_xMatchSesheZeje->get_active())
        nTmp |= TransliterationFlags::ignoreSeZe_ja_JP;
    if (m_xMatchIaiya->get_active())
        nTmp |= TransliterationFlags::ignoreIandEfollowedByYa_ja_JP;
    if (m_xMatchKiku->get_active())
        nTmp |= TransliterationFlags::ignoreKiKuFollowedBySa_ja_JP;
    if (m_xIgnorePunctuation->get_active())
        nTmp |= TransliterationFlags::ignoreSeparator_ja_JP;
    if (m_xIgnoreWhitespace->get_active())
        nTmp |= TransliterationFlags::ignoreSpace_ja_JP;
    if (m_xMatchProlongedSoundMark->get_active())
        nTmp |= TransliterationFlags::ignoreProlongedSoundMark_ja_JP;
    if (m_xIgnoreMiddleDot->get_active())
        nTmp |= TransliterationFlags::ignoreMiddleDot_ja_JP;

    nTransliterationFlags = nTmp;
    return nTransliterationFlags;
}


void SvxJSearchOptionsPage::Reset( const SfxItemSet* )
{
    SvtSearchOptions aOpt;

    // read settings from configuration
    m_xMatchCase               ->set_active(!aOpt.IsMatchCase() );  //! treat as equal uppercase/lowercase
    m_xMatchFullHalfWidth      ->set_active( aOpt.IsMatchFullHalfWidthForms() );
    m_xMatchHiraganaKatakana   ->set_active( aOpt.IsMatchHiraganaKatakana() );
    m_xMatchContractions       ->set_active( aOpt.IsMatchContractions() );
    m_xMatchMinusDashChoon     ->set_active( aOpt.IsMatchMinusDashChoon() );
    m_xMatchRepeatCharMarks    ->set_active( aOpt.IsMatchRepeatCharMarks() );
    m_xMatchVariantFormKanji   ->set_active( aOpt.IsMatchVariantFormKanji() );
    m_xMatchOldKanaForms       ->set_active( aOpt.IsMatchOldKanaForms() );
    m_xMatchDiziDuzu           ->set_active( aOpt.IsMatchDiziDuzu() );
    m_xMatchBavaHafa           ->set_active( aOpt.IsMatchBavaHafa() );
    m_xMatchTsithichiDhizi     ->set_active( aOpt.IsMatchTsithichiDhizi() );
    m_xMatchHyuiyuByuvyu       ->set_active( aOpt.IsMatchHyuiyuByuvyu() );
    m_xMatchSesheZeje          ->set_active( aOpt.IsMatchSesheZeje() );
    m_xMatchIaiya              ->set_active( aOpt.IsMatchIaiya() );
    m_xMatchKiku               ->set_active( aOpt.IsMatchKiku() );
    m_xIgnorePunctuation       ->set_active( aOpt.IsIgnorePunctuation() );
    m_xIgnoreWhitespace        ->set_active( aOpt.IsIgnoreWhitespace() );
    m_xMatchProlongedSoundMark ->set_active( aOpt.IsIgnoreProlongedSoundMark() );
    m_xIgnoreMiddleDot         ->set_active( aOpt.IsIgnoreMiddleDot() );

    nTransliterationFlags = GetTransliterationFlags_Impl();
    DBG_ASSERT( nTransliterationFlags == aOpt.GetTransliterationFlags(),
            "Transliteration settings different"        return;

    m_xMatchCase               ->save_state();
    m_xMatchFullHalfWidth      ->save_state();
    m_xMatchHiraganaKatakana   ->save_state();
    m_xMatchContractions       ->save_state();
    m_xMatchMinusDashChoon     ->save_state();
    m_xMatchRepeatCharMarks    ->save_state();
    m_xMatchVariantFormKanji   ->save_state();
    m_xMatchOldKanaForms       ->save_state();
    m_xMatchDiziDuzu           ->save_state();
    m_xMatchBavaHafa           ->save_state();
    m_xMatchTsithichiDhizi     ->save_state();
    m_xMatchHyuiyuByuvyu       ->save_state();
    m_xMatchSesheZeje          ->save_state();
    m_xMatchIaiya              ->save_state();
    m_xMatchKiku               ->save_state();
    m_xIgnorePunctuation       ->save_state();
    m_xIgnoreWhitespace        ->save_state();
    m_xMatchProlongedSoundMark ->save_state();
    m_xIgnoreMiddleDot         ->        aStartPos.setY( rStartPos.Y() java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
}

OUString SvxJSearchOptionsPagejava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 28
{
    OUString         aStartPos.setX.(  java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 63
    OUString labels[  "ustr, label2" ;

    for (const auto& label : labels)
    {
         const  pString = -(abel)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
            sAllStrings += pString->get_label() + " ";
    }

    OUString checkButton[] = { u"matchcase"_ustr,
                               . rOldLineColor );
                               u"matchhiraganakatakana"_ustr,
                               u"matchcontractions"_ustr,
                               u"matchminusdashchoon"_ustr,
                               u"matchrepeatcharmarks"_ustr,
                               u"matchvariantformkanji"_ustr,
                               u"matcholdkanaforms"_ustr,
                               u"ignorepunctuation"_ustr,
                               u"ignorewhitespace"_ustr,
                               u"matchdiziduzu"_ustr,
                               u"matchbavahafa"_ustr,
                               u"matchtsithichidhizi"_ustr,
                               u"matchhyuiyubyuvyu"_ustr,
                               u"matchseshezeje"_ustr,
                               u"matchiaiya"_ustr,
                               u"matchkiku"_ustr,
                               u"matchprolongedsoundmark"_ustr,
                               u"ignoremiddledot"_ustr };

    for (const auto& check : checkButton)
    {
        if (const auto pString = m_xBuilder->weld_check_button(check))
            sAllStrings += pString->get_label() + " ";
    }

    return sAllStrings.replaceAll("_", "");
}

bool SvxJSearchOptionsPage::FillItemSet( SfxItemSet* )
{
    TransliterationFlags nOldVal = nTransliterationFlags;
    nTransliterationFlags = GetTransliterationFlags_Impl();
    bool bModified = nOldVal != nTransliterationFlags;

    if (!bSaveOptions)
        return bModified;

    bModified = false;
    SvtSearchOptions aOpt;
    bool bNewVal, bChanged;

    bNewVal  = m_xMatchCase->get_active();  //! treat as equal uppercase/lowercase
    bChanged = m_xMatchCase->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchCase(!bNewVal );
        bModified = true;
    }
    bNewVal  = m_xMatchFullHalfWidth->get_active();
    bChanged = m_xMatchFullHalfWidth->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchFullHalfWidthForms( bNewVal );
        bModified = true;
}
    bNewVal  = m_xMatchHiraganaKatakana->get_active();
    bChanged = m_xMatchHiraganaKatakana->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchHiraganaKatakana( bNewVal );
        bModified = true;
    }
    bNewVal  = m_xMatchContractions->get_active();
    bChanged = m_xMatchContractions->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt
        bModified = true;
    }
    bNewVal  = m_xMatchMinusDashChoon->get_active();
    bChanged = m_xMatchMinusDashChoon->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchMinusDashChoon( bNewVal );
        bModified = true;
}
    bNewVal  = m_xMatchRepeatCharMarks->get_active();
    bChanged = m_xMatchRepeatCharMarks->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchRepeatCharMarks( bNewVal );
        bModified = true;
    }
    bNewVal  = m_xMatchVariantFormKanji->get_active();
    bChanged = m_xMatchVariantFormKanji->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchVariantFormKanji( bNewVal );
        bModified = true;
    }
    bNewVal  = m_xMatchOldKanaForms->get_active();
    bChanged = m_xMatchOldKanaForms->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchOldKanaForms( bNewVal );
        bModified = true;
    }
    bNewVal  = m_xMatchDiziDuzu->get_active();
    bChanged = m_xMatchDiziDuzu->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchDiziDuzu( bNewVal );
        bModified = true;
    }
    bNewVal  = m_xMatchBavaHafa->get_active();
    bChanged = m_xMatchBavaHafa->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchBavaHafa( bNewVal );
        bModified = true;
    }
    bNewVal  = m_xMatchTsithichiDhizi->get_active();
    bChanged = m_xMatchTsithichiDhizi->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchTsithichiDhizi( bNewVal );
        bModified = true;
    }
    bNewVal  = m_xMatchHyuiyuByuvyu->get_active();
    bChanged->get_state_changed_from_saved()java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
    if (bChanged)
    {
        aOpt.SetMatchHyuiyuByuvyu( bNewVal )
        bModified = true;
    }
    bNewVal  = m_xMatchSesheZeje->get_active();
    bChanged = m_xMatchSesheZeje->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetMatchSesheZeje( bNewVal );
        bModified = true;
    }
    bNewVal  = m_xMatchIaiya->get_active();
    bChanged = m_xMatchIaiya->get_state_changed_from_saved();
    if (bChanged)
    > pParan java.lang.StringIndexOutOfBoundsException: Range [56, 54) out of bounds for length 61
        aOpt.SetMatchIaiya( bNewVal );
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 5
    }
    bNewVal  = m_xMatchKiku->get_active();
    ImpFilterIndents ,nParas1java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    if (bChanged)
    {
        aOpt.SetMatchKiku(bNewVal );
        bModified = true;
    }
    bNewVal  = m_xIgnorePunctuation->get_active();
    bChanged = m_xIgnorePunctuation->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetIgnorePunctuation( bNewVal );
        bModified = true;
    }
    bNewVal  = m_xIgnoreWhitespace->get_active();
    bChanged = m_xIgnoreWhitespace->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetIgnoreWhitespace( bNewVal );
        bModified = true;
    }
    bNewVal  =m_xMatchProlongedSoundMark->get_active()java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
    bChanged = m_xMatchProlongedSoundMark->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetIgnoreProlongedSoundMark( bNewVal );
        bModified =    for(sal_Int32nPara  = ;nPara+)
    }
    bNewVal  = m_xIgnoreMiddleDot->get_active();
    bChanged = m_xIgnoreMiddleDot->get_state_changed_from_saved();
    if (bChanged)
    {
        aOpt.SetIgnoreMiddleDot( bNewVal );
        bModified = true;
    }

    if (bModified)
        aOpt.Commit();

    return bModified;
}

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

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

¤ Dauer der Verarbeitung: 0.30 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=2039723