/* -*- 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 one or more * contributor license agreements. See the NOTICE file distributed * 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"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
namespace sdr::properties
{ class AttributeProperties : public DefaultProperties, public SfxListener, public svl::StyleSheetUser
{ // core to set parent at SfxItemSet and to execute the hard attribute computations void ImpSetParentAtSfxItemSet(bool bDontRemoveHardAttr);
// add style sheet, do all the necessary handling void ImpAddStyleSheet(SfxStyleSheet* pNewStyleSheet, bool bDontRemoveHardAttr);
// remove StyleSheet, do all the necessary handling void ImpRemoveStyleSheet();
protected: // create a new itemset virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& pPool) override;
// Do the ItemChange, may do special handling virtualvoid ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = nullptr) override;
// constructor for copying, but using new object
AttributeProperties(const AttributeProperties& rProps, SdrObject& rObj);
public: // Clone() operator, normally just calls the local copy constructor virtual std::unique_ptr<BaseProperties> Clone(SdrObject& rObj) const override;
// Get the local ItemSet. This directly returns the local ItemSet of the object. No // merging of ItemSets is done for e.g. Group objects. virtualconst SfxItemSet& GetObjectItemSet() const override final;
// set a new StyleSheet and broadcast virtualvoid SetStyleSheet(SfxStyleSheet* pNewStyleSheet, bool bDontRemoveHardAttr, bool bBroadcast, bool bAdjustTextFrameWidthAndHeight = true) override;
// get the installed StyleSheet virtual SfxStyleSheet* GetStyleSheet() const override;
// force all attributes which come from styles to hard attributes // to be able to live without the style. virtualvoid ForceStyleToHardAttributes() override;
// This is the Notify(...) from 2nd base class SfxListener virtualvoid Notify(SfxBroadcaster& rBC, const SfxHint& rHint) override;
virtualbool isUsedByModel() const override; private: // the StyleSheet of this object
SfxStyleSheet* mpStyleSheet;
};
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.