/* -*- 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/. * */ #include #include #include #include #include "ClassificationEditView.hxx" namespace svx { ClassificationEditEngine::ClassificationEditEngine(SfxItemPool* pItemPool) : EditEngine(pItemPool) {} OUString ClassificationEditEngine::CalcFieldValue(const SvxFieldItem& rField, sal_Int32 /*nPara*/, sal_Int32 /*nPos*/, std::optional& /*rTxtColor*/, std::optional& /*rFldColor*/) { OUString aString; const ClassificationField* pClassificationField = dynamic_cast(rField.GetField()); if (pClassificationField) aString = pClassificationField->msDescription; else aString = "Unknown"; return aString; } ClassificationEditView::ClassificationEditView() { } void ClassificationEditView::makeEditEngine() { m_xEditEngine.reset(new ClassificationEditEngine(EditEngine::CreatePool())); } ClassificationEditView::~ClassificationEditView() { } void ClassificationEditView::InsertField(const SvxFieldItem& rFieldItem) { m_xEditView->InsertField(rFieldItem); m_xEditView->Invalidate(); } void ClassificationEditView::InvertSelectionWeight() { ESelection aSelection = m_xEditView->GetSelection(); for (sal_Int32 nParagraph = aSelection.nStartPara; nParagraph <= aSelection.nEndPara; ++nParagraph) { FontWeight eFontWeight = WEIGHT_BOLD; std::unique_ptr pSet(new SfxItemSet(m_xEditEngine->GetParaAttribs(nParagraph))); if (const SfxPoolItem* pItem = pSet->GetItem(EE_CHAR_WEIGHT, false)) { const SvxWeightItem* pWeightItem = dynamic_cast(pItem); if (pWeightItem && pWeightItem->GetWeight() == WEIGHT_BOLD) eFontWeight = WEIGHT_NORMAL; } SvxWeightItem aWeight(eFontWeight, EE_CHAR_WEIGHT); pSet->Put(aWeight); m_xEditEngine->SetParaAttribs(nParagraph, *pSet); } m_xEditView->Invalidate(); } } // end sfx2 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */