DgnTextStyle.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------------------+
2 |
3 | Supplied under applicable software license agreement.
4 |
5 | Copyright (c) 2018 Bentley Systems, Incorporated. All rights reserved.
6 |
7 +---------------------------------------------------------------------------------------*/
8 #pragma once
10 #include "ElementHandle.h"
11 #include "DgnFile.h"
12 
13 
14 #include <Bentley/RefCounted.h>
15 #include "DgnFontManager.h"
16 
17 DGNPLATFORM_TYPEDEFS (TextStylePropertyMask)
18 DGNPLATFORM_TYPEDEFS (DgnTextStyleAppData)
19 
67 /*=================================================================================**/
71 {
72  virtual void _OnTextStyleChange (DgnTextStyleCP before, DgnTextStyleCP after, StyleEventType type, StyleEventSource source, void* sender) = 0;
73 };
74 
75 /*=================================================================================**/
79 {
80 };
81 
82 /*=================================================================================**/
89 {
90 private:
91  virtual void MakeClassAbstract() = 0;
92 public:
93 public:
97 
101  DGNPLATFORM_EXPORT static TextStylePropertyMaskPtr CreatePropMask ();
102 
105  DGNPLATFORM_EXPORT bool GetPropertyFlag (TextStyleProperty flag) const;
106 
109  DGNPLATFORM_EXPORT bool SetPropertyFlag (TextStyleProperty flag, bool value);
110 
113  DGNPLATFORM_EXPORT bool AnyBitSet () const;
114 
117  DGNPLATFORM_EXPORT void ResetFlags ();
118 
119 
120 }; // TextStylePropertyMask
121 
122 /*=================================================================================**/
129 {
130 private:
131  virtual void MakeClassAbstract() = 0;
132 public:
133 public:
137  DGNPLATFORM_EXPORT WStringCR GetName () const;
138 
141  DGNPLATFORM_EXPORT ElementId GetID () const;
142 
145  DGNPLATFORM_EXPORT DgnFileR GetFile () const;
146 
152 
155  DGNPLATFORM_EXPORT BentleyStatus GetProperty (TextStyleProperty type, bool& value) const;
156 
160  DGNPLATFORM_EXPORT BentleyStatus GetProperty (TextStyleProperty type, UInt32& value) const;
161 
164  DGNPLATFORM_EXPORT BentleyStatus GetProperty (TextStyleProperty type, Int32& value) const;
165 
168  DGNPLATFORM_EXPORT BentleyStatus GetProperty (TextStyleProperty type, double& value) const;
169 
172  DGNPLATFORM_EXPORT BentleyStatus GetProperty (TextStyleProperty type, DPoint2d& value) const;
173 
176  DGNPLATFORM_EXPORT BentleyStatus GetProperty (TextStyleProperty type, DgnFontCP& value) const;
177 
180  DGNPLATFORM_EXPORT BentleyStatus SetProperty (TextStyleProperty type, bool value);
181 
184  DGNPLATFORM_EXPORT BentleyStatus SetProperty (TextStyleProperty type, UInt32 value);
185 
188  DGNPLATFORM_EXPORT BentleyStatus SetProperty (TextStyleProperty type, Int32 value);
189 
192  DGNPLATFORM_EXPORT BentleyStatus SetProperty (TextStyleProperty type, double value);
193 
197 
201 
205 
208  DGNPLATFORM_EXPORT void SetID (ElementId id);
209 
215  DGNPLATFORM_EXPORT static DgnTextStylePtr GetByID (ElementId styleID, DgnFileR file);
216 
222  DGNPLATFORM_EXPORT static DgnTextStylePtr GetByName (WCharCP name, DgnFileR file);
223 
229  DGNPLATFORM_EXPORT static bool ExistsByName (WCharCP name, DgnFileR file);
230 
235  DGNPLATFORM_EXPORT static bvector<DgnTextStylePtr> BuildList (DgnFileR file);
236 
242 
250  DGNPLATFORM_EXPORT static BentleyStatus Delete (WCharCP name, DgnFileR file);
251 
256  DGNPLATFORM_EXPORT bool HasDependants () const;
257 
263  DGNPLATFORM_EXPORT static BentleyStatus RemapDependents (WCharCP destStyle, WCharCP sourceStyle, DgnFileR file);
264 
271  DGNPLATFORM_EXPORT BentleyStatus Replace (WCharCP oldName = NULL, DgnFileP file = NULL);
272 
276 
279  DGNPLATFORM_EXPORT void CopyValues (DgnTextStyleCR style);
280 
286  DGNPLATFORM_EXPORT static DgnTextStylePtr Create (WCharCP name, DgnFileR file);
287 
290  DGNPLATFORM_EXPORT static DgnTextStylePtr GetSettings (DgnFileR file);
291 
294  DGNPLATFORM_EXPORT static BentleyStatus ReplaceSettings (DgnTextStyleCR style, DgnFileR file);
295 
301  MSCORE_EXPORT static DgnTextStylePtr GetActive();
302 
308  MSCORE_EXPORT static StatusInt SetActive (DgnTextStyleCR style);
309 
314  MSCORE_EXPORT static DgnTextStylePtr GetByName (WCharCP name, StyleIteratorMode mode);
315 
321  MSCORE_EXPORT static bvector<DgnTextStylePtr> BuildList (StyleIteratorMode mode);
322 
328  MSCORE_EXPORT static void AddListener (TextStyleEvents& listener);
329 
334  MSCORE_EXPORT static void DropListener (TextStyleEvents& listener);
335 
336 }; // DgnTextStyle
337 
338 struct TextStyleCollection;
339 /*=================================================================================**/
344 struct TextStyleIterator : std::iterator<std::forward_iterator_tag, DgnTextStyleP const>
345  {
346 
347  private:
348  ChildElemIter m_elemIter;
349  mutable DgnTextStylePtr m_current;
350 
354  bool IsValid (){return m_elemIter.IsValid();}
355  public:
356 
359  DGNPLATFORM_EXPORT TextStyleIterator& operator ++ ();
360 
364 
367  DGNPLATFORM_EXPORT bool operator == (TextStyleIterator const &) const;
368 
371  DGNPLATFORM_EXPORT bool operator != (TextStyleIterator const &) const;
372  };
373 
374 /*=================================================================================**/
380  {
382 
383  public:
384 
389 
392 
396 
400  };
401 
402 
403 
405 
An Iterator for the children of an ElementHandle for query purposes.
Definition: ElementHandle.h:755
An element was added to the file.
const_iterator iterator
only const iteration is possible
Definition: DgnTextStyle.h:391
#define END_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:69
struct Bentley::WString const & WStringCR
Definition: Bentley.h:239
iterator begin()
Definition: stdcxx/bstdmap.h:178
iterator end()
Definition: stdcxx/bstdmap.h:186
StyleEventSource
Definition: DgnPlatform.h:1672
#define DGNPLATFORM_EXPORT
Definition: DgnPlatform/ExportMacros.h:58
TextStyleIterator const_iterator
Definition: DgnTextStyle.h:390
A DgnFile is an in-memory representation of a physical file, regardless of its format.
Definition: DgnFile.h:308
wchar_t const * WCharCP
Definition: Bentley.h:224
TextStylePropertyMaskPtr PropertyMaskPtr
Definition: DgnTextStyle.h:134
struct DgnPlatform::DgnFont const * DgnFontCP
Definition: DgnFontManager.h:67
uint32_t UInt32
Definition: Bentley.r.h:128
#define NULL
Definition: Bentley.h:157
A forward iterator to go through the list of styles in a file.
Definition: DgnTextStyle.h:344
StyleEventType
Definition: DgnPlatform.h:1661
#define CLRPUBLIC
Definition: DgnPlatform/ExportMacros.h:12
RefCountedPtr< DgnFile > m_dgnFile
Definition: DgnTextStyle.h:381
BentleyStatus
Definition: Bentley.h:208
int32_t Int32
Definition: Bentley.r.h:119
struct DgnPlatform::DgnTextStyle const & DgnTextStyleCR
Definition: DgnPlatform.h:229
Class to manipulate a textstyle in a DgnFile.
Definition: DgnTextStyle.h:128
#define DGNPLATFORM_TYPEDEFS(_name_)
Definition: DgnPlatform.h:73
A shared pointer template for reference-counted objects.
Definition: RefCounted.h:119
TextStyleProperty
TextProperty enum which describes the various formatting properties supported by texstyles.
Definition: DgnTextStyleProperties.r.h:27
struct DgnPlatform::DgnTextStyle const * DgnTextStyleCP
Definition: DgnPlatform.h:229
struct DPoint2d const & DPoint2dCR
Definition: msgeomstructs_typedefs.h:78
StyleIteratorMode
Definition: DgnPlatform.h:1653
#define BEGIN_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:68
Definition: DgnTextStyle.h:78
DVec3d operator*(Transform const &transform, DVec3d const &vector)
operator overload for multiplication of a transform and a vector li>The vector appears on the left as...
bool operator!=(const BentleyAllocator< _Ty > &, const BentleyAllocator< _Other > &)
Definition: BentleyAllocator.h:152
int StatusInt
Definition: Bentley.h:222
Concrete class that can be used to implement the reference-counting pattern.
Definition: RefCounted.h:109
UInt64 ElementId
Definition: DgnPlatformBaseType.r.h:83
A collection of textstyles in a file.
Definition: DgnTextStyle.h:379
A BitMask of all textstyle properties Bit indices are enumerated by the TextStyleProperty enum...
Definition: DgnTextStyle.h:88
struct DgnPlatform::TextStylePropertyMask const & TextStylePropertyMaskCR
Definition: DgnTextStyle.h:17
2d point coordinates.
Definition: dpoint2d.h:23
bool operator==(const BentleyAllocator< _Ty > &, const BentleyAllocator< _Other > &)
Definition: BentleyAllocator.h:146

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.