LibreOffice Module forms (master) 1
rtattributehandler.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include "rtattributes.hxx"
23#include <rtl/ref.hxx>
25#include <editeng/svxenum.hxx>
26#include <editeng/frmdir.hxx>
28
29class SfxItemSet;
30class SfxPoolItem;
31class SfxItemPool;
32
33namespace frm
34{
35
37 {
38 private:
41
42 protected:
44 WhichId getWhich() const { return m_nWhich; }
45
46 public:
47 AttributeHandler( AttributeId _nAttributeId, WhichId _nWhichId );
48
50 virtual AttributeState getState( const SfxItemSet& _rAttribs ) const;
51 virtual void executeAttribute( const SfxItemSet& _rCurrentAttribs, SfxItemSet& _rNewAttribs, const SfxPoolItem* _pAdditionalArg, SvtScriptType _nForScriptType ) const = 0;
52
53 protected:
55 AttributeCheckState getCheckState( const SfxItemSet& _rAttribs ) const;
56
58 void putItemForScript( SfxItemSet& _rAttribs, const SfxPoolItem& _rItem, SvtScriptType _nForScriptType ) const;
59
60 // pseudo-abstract
61 virtual AttributeCheckState implGetCheckState( const SfxPoolItem& _rItem ) const;
62
63 protected:
64 virtual ~AttributeHandler() override;
65 };
66
67 namespace AttributeHandlerFactory
68 {
69 ::rtl::Reference< AttributeHandler > getHandlerFor( AttributeId _nAttributeId, const SfxItemPool& _rEditEnginePool );
70 }
71
73 {
74 private:
76
77 public:
78 explicit ParaAlignmentHandler( AttributeId _nAttributeId );
79
80 public:
81 virtual AttributeCheckState implGetCheckState( const SfxPoolItem& _rItem ) const override;
82 virtual void executeAttribute( const SfxItemSet& _rCurrentAttribs, SfxItemSet& _rNewAttribs, const SfxPoolItem* _pAdditionalArg, SvtScriptType _nForScriptType ) const override;
83 };
84
86 {
87 private:
88 sal_uInt16 m_nLineSpace;
89
90 public:
91 explicit LineSpacingHandler( AttributeId _nAttributeId );
92
93 public:
94 virtual AttributeCheckState implGetCheckState( const SfxPoolItem& _rItem ) const override;
95 virtual void executeAttribute( const SfxItemSet& _rCurrentAttribs, SfxItemSet& _rNewAttribs, const SfxPoolItem* _pAdditionalArg, SvtScriptType _nForScriptType ) const override;
96 };
97
99 {
100 private:
102
103 public:
104 explicit EscapementHandler( AttributeId _nAttributeId );
105
106 public:
107 virtual AttributeCheckState implGetCheckState( const SfxPoolItem& _rItem ) const override;
108 virtual void executeAttribute( const SfxItemSet& _rCurrentAttribs, SfxItemSet& _rNewAttribs, const SfxPoolItem* _pAdditionalArg, SvtScriptType _nForScriptType ) const override;
109 };
110
112 {
113 private:
115
116 public:
117 SlotHandler( AttributeId _nAttributeId, WhichId _nWhichId );
118
119 public:
120 virtual AttributeState getState( const SfxItemSet& _rAttribs ) const override;
121 virtual void executeAttribute( const SfxItemSet& _rCurrentAttribs, SfxItemSet& _rNewAttribs, const SfxPoolItem* _pAdditionalArg, SvtScriptType _nForScriptType ) const override;
122 };
123
125 {
126 public:
127 BooleanHandler( AttributeId _nAttributeId, WhichId _nWhichId );
128
129 public:
130 virtual AttributeCheckState implGetCheckState( const SfxPoolItem& _rItem ) const override;
131 virtual void executeAttribute( const SfxItemSet& _rCurrentAttribs, SfxItemSet& _rNewAttribs, const SfxPoolItem* _pAdditionalArg, SvtScriptType _nForScriptType ) const override;
132 };
133
135 {
136 public:
137 FontSizeHandler( AttributeId _nAttributeId, WhichId _nWhichId );
138
139 public:
140 virtual AttributeState getState( const SfxItemSet& _rAttribs ) const override;
141 virtual void executeAttribute( const SfxItemSet& _rCurrentAttribs, SfxItemSet& _rNewAttribs, const SfxPoolItem* _pAdditionalArg, SvtScriptType _nForScriptType ) const override;
142 };
143
145 {
146 private:
150
151 public:
152 explicit ParagraphDirectionHandler( AttributeId _nAttributeId );
153
154 public:
155 virtual AttributeCheckState implGetCheckState( const SfxPoolItem& _rItem ) const override;
156 virtual void executeAttribute( const SfxItemSet& _rCurrentAttribs, SfxItemSet& _rNewAttribs, const SfxPoolItem* _pAdditionalArg, SvtScriptType _nForScriptType ) const override;
157 };
158
159
160} // namespace frm
161
162
163/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual AttributeState getState(const SfxItemSet &_rAttribs) const
AttributeId getAttribute() const
virtual ~AttributeHandler() override
AttributeCheckState getCheckState(const SfxItemSet &_rAttribs) const
helper method calling implGetCheckState
void putItemForScript(SfxItemSet &_rAttribs, const SfxPoolItem &_rItem, SvtScriptType _nForScriptType) const
helper method putting an item into a set, respecting a script type
virtual AttributeCheckState implGetCheckState(const SfxPoolItem &_rItem) const
virtual void executeAttribute(const SfxItemSet &_rCurrentAttribs, SfxItemSet &_rNewAttribs, const SfxPoolItem *_pAdditionalArg, SvtScriptType _nForScriptType) const =0
AttributeId getAttributeId() const
AttributeHandler(AttributeId _nAttributeId, WhichId _nWhichId)
virtual AttributeCheckState implGetCheckState(const SfxPoolItem &_rItem) const override
BooleanHandler(AttributeId _nAttributeId, WhichId _nWhichId)
virtual void executeAttribute(const SfxItemSet &_rCurrentAttribs, SfxItemSet &_rNewAttribs, const SfxPoolItem *_pAdditionalArg, SvtScriptType _nForScriptType) const override
virtual AttributeCheckState implGetCheckState(const SfxPoolItem &_rItem) const override
virtual void executeAttribute(const SfxItemSet &_rCurrentAttribs, SfxItemSet &_rNewAttribs, const SfxPoolItem *_pAdditionalArg, SvtScriptType _nForScriptType) const override
EscapementHandler(AttributeId _nAttributeId)
FontSizeHandler(AttributeId _nAttributeId, WhichId _nWhichId)
virtual AttributeState getState(const SfxItemSet &_rAttribs) const override
virtual void executeAttribute(const SfxItemSet &_rCurrentAttribs, SfxItemSet &_rNewAttribs, const SfxPoolItem *_pAdditionalArg, SvtScriptType _nForScriptType) const override
virtual AttributeCheckState implGetCheckState(const SfxPoolItem &_rItem) const override
virtual void executeAttribute(const SfxItemSet &_rCurrentAttribs, SfxItemSet &_rNewAttribs, const SfxPoolItem *_pAdditionalArg, SvtScriptType _nForScriptType) const override
LineSpacingHandler(AttributeId _nAttributeId)
virtual AttributeCheckState implGetCheckState(const SfxPoolItem &_rItem) const override
ParaAlignmentHandler(AttributeId _nAttributeId)
virtual void executeAttribute(const SfxItemSet &_rCurrentAttribs, SfxItemSet &_rNewAttribs, const SfxPoolItem *_pAdditionalArg, SvtScriptType _nForScriptType) const override
ParagraphDirectionHandler(AttributeId _nAttributeId)
virtual void executeAttribute(const SfxItemSet &_rCurrentAttribs, SfxItemSet &_rNewAttribs, const SfxPoolItem *_pAdditionalArg, SvtScriptType _nForScriptType) const override
virtual AttributeCheckState implGetCheckState(const SfxPoolItem &_rItem) const override
SlotHandler(AttributeId _nAttributeId, WhichId _nWhichId)
virtual void executeAttribute(const SfxItemSet &_rCurrentAttribs, SfxItemSet &_rNewAttribs, const SfxPoolItem *_pAdditionalArg, SvtScriptType _nForScriptType) const override
virtual AttributeState getState(const SfxItemSet &_rAttribs) const override
SvxFrameDirection
SvtScriptType
::rtl::Reference< AttributeHandler > getHandlerFor(AttributeId _nAttributeId, const SfxItemPool &_rEditEnginePool)
ListBox is a bit confusing / different from other form components, so here are a few notes:
Definition: BaseListBox.hxx:25
sal_uInt16 WhichId
the "which id" of an item in an SfxItemSet
AttributeCheckState
sal_Int32 AttributeId
the id of an attribute
SvxEscapement
SvxAdjust