FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcDbField.h
Go to the documentation of this file.
1#pragma once
2
3//
4// (C) Copyright 2005-2024 by Graebert GmbH.
5//
6// Permission to use, copy, modify, and distribute this software in
7// object code form for any purpose and without fee is hereby granted,
8// provided that the above copyright notice appears in all copies and
9// that both that copyright notice and the limited warranty and
10// restricted rights notice below appear in all supporting
11// documentation.
12//
13// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
14// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
15// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
16// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
17// UNINTERRUPTED OR ERROR FREE.
18
20#include "..\acdb17\AcDb.h"
21#include "..\acdb17\AcValue.h"
22#include "..\acad\Acad.h"
23
24template < typename Param1 > class AcArrayMemCopyReallocator;
25class AcDbDatabase;
26class AcDbDwgFiler;
27class AcDbDxfFiler;
28class AcDbObject;
30class AcFdFieldValue;
31class AcRxClass;
32class AcValue;
33struct AcHyperlink;
34
36{
37public:
39 {
40 kDisable = 0,
41 kOnOpen = 0x01,
42 kOnSave = 0x02,
43 kOnPlot = 0x04,
44 kOnEtransmit = 0x08,
45 kOnRegen = 0x10,
46 kOnDemand = 0x20,
47 kAutomatic = ( kOnOpen | kOnSave | kOnPlot | kOnEtransmit | kOnRegen | kOnDemand )
48 };
50 {
51 kNotYetEvaluated = 0x01,
52 kSuccess = 0x02,
53 kEvaluatorNotFound = 0x04,
54 kSyntaxError = 0x08,
55 kInvalidCode = 0x10,
56 kInvalidContext = 0x20,
57 kOtherError = 0x40
58 };
60 {
61 kOpen = 0x01,
62 kSave = 0x02,
63 kPlot = 0x04,
64 kEtransmit = 0x08,
65 kRegen = 0x10,
66 kDemand = 0x20,
67 kPreview = 0x40
68 };
70 {
71 kRawCode = 0x00,
72 kFieldCode = 0x01,
73 kEvaluatedText = 0x02,
74 kEvaluatedChildren = 0x04,
75 kObjectReference = 0x08,
76 kAddMarkers = 0x10,
77 kEscapeBackslash = 0x20,
78 kStripOptions = 0x40,
79 kPreserveFields = 0x80,
80 kTextField = 0x100,
81 kPreserveOptions = 0x200,
82 kDetachChildren = 0x400,
83 kChildObjectReference = 0x800,
84 kForExpression = 0x1000
85 };
87 {
88 kSkipFilingResult = 0x01
89 };
90 enum State
91 {
92 kInitialized = 0x01,
93 kCompiled = 0x02,
94 kModified = 0x04,
95 kEvaluated = 0x08,
96 kHasCache = 0x10,
97 kHasFormattedString = 0x20
98 };
99public:
101
102public:
104 AcDbField(wchar_t const *,bool = false);
105 bool hasHyperlink(void)const ;
106 bool isTextField(void)const ;
108 EvalStatus evaluationStatus(int * = nullptr,wchar_t * * = nullptr)const ;
110 State state(void)const ;
112 Acad::ErrorStatus convertToTextField(void);
113 Acad::ErrorStatus evaluate(int, AcDbDatabase *,int * = NULL,int * = NULL);
114 Acad::ErrorStatus getChild(int, AcDbField * &, AcDb::OpenMode);
115 Acad::ErrorStatus getData(wchar_t const *, AcValue *)const ;
117 Acad::ErrorStatus getFormat(wchar_t * &)const ;
118 Acad::ErrorStatus getHyperlink( AcHyperlink &)const ;
119 Acad::ErrorStatus getHyperlink(wchar_t * *,wchar_t * *,wchar_t * *,wchar_t * *,long *)const ;
120 Acad::ErrorStatus getValue( AcFdFieldValue &)const ;
121 Acad::ErrorStatus getValue( AcValue &)const ;
122 Acad::ErrorStatus getValue(wchar_t * &)const ;
123 Acad::ErrorStatus postInDatabase( AcDbDatabase *);
124 Acad::ErrorStatus removeHyperlink(void);
125 Acad::ErrorStatus setData(wchar_t const *, AcValue const *);
126 Acad::ErrorStatus setData(wchar_t const *, AcValue const *,bool);
127 Acad::ErrorStatus setEvaluationOption( EvalOption);
128 Acad::ErrorStatus setEvaluatorId(wchar_t const *);
130 Acad::ErrorStatus setFilingOption( FilingOption);
131 Acad::ErrorStatus setFormat(wchar_t const *);
132 Acad::ErrorStatus setHyperlink( AcHyperlink const &);
133 Acad::ErrorStatus setHyperlink(wchar_t const *,wchar_t const *,wchar_t const *);
134 Acad::ErrorStatus setHyperlink(wchar_t const *,wchar_t const *,wchar_t const *,long);
135 Acad::ErrorStatus setInObject( AcDbObject *,wchar_t const *);
136 virtual Acad::ErrorStatus subClose( void );
137 int childCount(void)const ;
138
139
140
141 virtual ~AcDbField(void);
142
143 virtual Acad::ErrorStatus dwgInFields( AcDbDwgFiler *);
144 virtual Acad::ErrorStatus dwgOutFields( AcDbDwgFiler *)const ;
145 virtual Acad::ErrorStatus dxfInFields( AcDbDxfFiler *);
146 virtual Acad::ErrorStatus dxfOutFields( AcDbDxfFiler *)const ;
147
148 wchar_t const * evaluatorId(void)const ;
150 wchar_t const * getFormat(void)const ;
151 wchar_t const * getValue(void)const ;
152
153protected:
155
156};
#define ACRX_DECLARE_MEMBERS(classname)
Definition addmacro.h:756
Acad::ErrorStatus getHyperlink(wchar_t **, wchar_t **, wchar_t **, wchar_t **, long *) const
bool hasHyperlink(void) const
Acad::ErrorStatus setEvaluatorId(wchar_t const *)
AcDbField(wchar_t const *, bool=false)
Acad::ErrorStatus getValue(wchar_t *&) const
Acad::ErrorStatus setFormat(wchar_t const *)
Acad::ErrorStatus getChild(int, AcDbField *&, AcDb::OpenMode)
Acad::ErrorStatus convertToTextField(void)
Acad::ErrorStatus postInDatabase(AcDbDatabase *)
Acad::ErrorStatus setHyperlink(AcHyperlink const &)
Acad::ErrorStatus setHyperlink(wchar_t const *, wchar_t const *, wchar_t const *, long)
virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler *)
Acad::ErrorStatus getFormat(wchar_t *&) const
Acad::ErrorStatus evaluate(int, AcDbDatabase *, int *=NULL, int *=NULL)
wchar_t const * getValue(void) const
EvalStatus evaluationStatus(int *=nullptr, wchar_t **=nullptr) const
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler *) const
Acad::ErrorStatus setFieldCode(wchar_t const *, AcDbField::FieldCodeFlag=(AcDbField::FieldCodeFlag) 0, AcArray< AcDbField *, AcArrayMemCopyReallocator< AcDbField * > > *=0)
Acad::ErrorStatus setInObject(AcDbObject *, wchar_t const *)
Acad::ErrorStatus setFilingOption(FilingOption)
bool isTextField(void) const
State state(void) const
Acad::ErrorStatus getHyperlink(AcHyperlink &) const
AcDbField(void)
virtual ~AcDbField(void)
AcValue::DataType dataType(void) const
AcDbField(AcDbSystemInternals *)
Acad::ErrorStatus setHyperlink(wchar_t const *, wchar_t const *, wchar_t const *)
FilingOption filingOption(void) const
wchar_t const * evaluatorId(void) const
EvalOption evaluationOption(void) const
Acad::ErrorStatus getFieldCode(wchar_t *&, FieldCodeFlag, AcArray< AcDbField *, AcArrayMemCopyReallocator< AcDbField * > > *=0, AcDb::OpenMode=AcDb::kForRead) const
Acad::ErrorStatus setData(wchar_t const *, AcValue const *)
int childCount(void) const
Acad::ErrorStatus removeHyperlink(void)
Acad::ErrorStatus setData(wchar_t const *, AcValue const *, bool)
wchar_t const * getFieldCode(FieldCodeFlag, AcArray< AcDbField *, AcArrayMemCopyReallocator< AcDbField * > > *=0, AcDb::OpenMode=AcDb::kForRead) const
Acad::ErrorStatus getValue(AcFdFieldValue &) const
Acad::ErrorStatus getValue(AcValue &) const
Acad::ErrorStatus getData(wchar_t const *, AcValue *) const
virtual Acad::ErrorStatus subClose(void)
wchar_t const * getFormat(void) const
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler *) const
Acad::ErrorStatus setEvaluationOption(EvalOption)
virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler *)