45 #include <wx/dcclient.h>
46 #include <wx/txtstrm.h>
62 switch(primitiveValueType) {
72 ostream << (
value ?
"TRUE" :
"FALSE");
87 if (!valueName.empty()) {
97 if (!bitSet.empty()) {
119 size_t digits = DBL_DIG;
132 ostream <<
"{ 0, 10, 0 }";
140 int width = sprintf(
buffer,
"%.*e",
int(digits-1),
data);
141 if ( width <= 0 || width >=
int(
sizeof(
buffer) - 1) ) {
146 char* dotPos = strchr(
buffer,
'.');
148 char* ePos = strchr(dotPos,
'e');
157 if ( sscanf(ePos + 1,
"%d", &exp) != 1 ) {
163 int fractDigits =
int(ePos - dotPos - 1);
164 while ( fractDigits > 0 && ePos[-1] ==
'0' ) {
175 ostream <<
"{ " <<
tmp1 <<
", 10, " << tmp2 <<
" }";
184 size_t length =
value.length();
187 size_t posBreak = 0, pos = 0;
188 long count =
min(length, 78 - curLength);
191 unsigned char c =
value[pos];
192 if (c ==
'"')
count--;
198 unsigned char c =
value[pos];
204 if (posBreak == 0 || pos == length)
208 for (pos = 0; pos < posBreak; pos++) {
209 unsigned char c =
value[pos];
211 if (c ==
'"')
tmp += c;
215 length = length - posBreak;
287 data_size =
value.size();
296 size_t first_line = 0;
302 if (blocks_num > 1) {
312 while (--blocks_num > 0) {
378 static const char HEX[] =
"0123456789ABCDEF";
380 while (
count-- > 0) {
382 tmp +=
HEX[(c >> 4) & 0xf];
const unsigned int kMaxTextLine
static void s_FinishOctetString(CStyledTextOStream &ostream)
const int kTextBlockLines
void x_RenderComma(CStyledTextOStream &ostream) const
void SetTrailComma(bool fTrailComma)
static void GetRealObject(TTypeInfo &type, TConstObjectPtr &ptr)
virtual void x_RenderText(CStyledTextOStream &ostream, CTextPanelContext *context) const
CAsnElementPrimitive(const CMemberId &memberId, TTypeInfo type, TConstObjectPtr ptr, size_t indent, CAsnBioContext *bioContext)
static CTextItem * CreateItem(const CMemberId &memberId, TTypeInfo type, TConstObjectPtr ptr, size_t indent, CAsnBioContext *bioContext)
virtual void RenderValue(CStyledTextOStream &ostream, CTextPanelContext *context, TTypeInfo type, TConstObjectPtr ptr) const
virtual void RenderValue(CStyledTextOStream &ostream, CTextPanelContext *context, TTypeInfo type, TConstObjectPtr ptr) const
virtual void x_RenderText(CStyledTextOStream &ostream, CTextPanelContext *context) const
static const CTextStyle & GetStyle(Element element)
virtual void Indent(size_t steps)
virtual CStyledTextOStream & operator<<(const string &text)
size_t GetDataOffset() const
virtual StreamHint GetHint() const
virtual int CurrentRowLength() const
virtual void SetStyle(const CTextStyle *style)
virtual void SetDefaultStyle()
void AddItem(ITextItem *item, bool updatePositions=true)
virtual int CurrentRowLength() const =0
void RenderText(CStyledTextOStream &ostream, CTextPanelContext *context) const
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
#define finite
Define value of finite (Is Finite).
bool IsBitset(void) const
string GetDisplayName(TEnumValueType value) const
const void * TConstObjectPtr
EPrimitiveValueType
Primitive value type.
static const TObjectType * SafeCast(TTypeInfo type)
@ ePrimitiveValueSpecial
null, void
@ ePrimitiveValueOctetString
vector<(signed|unsigned)? char>
@ ePrimitiveValueString
string|char*|const char*
@ ePrimitiveValueInteger
(signed|unsigned) (char|short|int|long)
@ ePrimitiveValueBool
bool
@ ePrimitiveValueEnum
enum
@ ePrimitiveValueReal
float|double
int32_t Int4
4-byte (32-bit) signed integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static string Int8ToString(Int8 value, TNumToStringFlags flags=0, int base=10)
Convert Int8 to string.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
static string UInt8ToString(Uint8 value, TNumToStringFlags flags=0, int base=10)
Convert UInt8 to string.
EPrimitiveValueType GetPrimitiveValueType(void) const
virtual void GetValueString(TConstObjectPtr objectPtr, string &value) const
virtual void GetValueString(TConstObjectPtr objectPtr, string &value) const override
ETypeFamily GetTypeFamily(void) const
virtual void GetValueOctetString(TConstObjectPtr objectPtr, vector< char > &value) const
virtual Int4 GetValueInt4(TConstObjectPtr objectPtr) const override
virtual bool IsSigned(void) const
virtual double GetValueDouble(TConstObjectPtr objectPtr) const
virtual bool GetValueBool(TConstObjectPtr objectPtr) const
const CEnumeratedTypeValues & Values(void) const
virtual Int8 GetValueInt8(TConstObjectPtr objectPtr) const
unsigned int
A callback function used to compare two keys in a database.
static void text(MDB_val *v)
const GenericPointer< typename T::ValueType > T2 value
Floating-point support routines.
static CS_CONTEXT * context