IccMAX 2.1.27
Color Profile Tools
Loading...
Searching...
No Matches
MyTagDialog Class Reference

#include <wxProfileDump.h>

+ Inheritance diagram for MyTagDialog:
+ Collaboration diagram for MyTagDialog:

Public Member Functions

 MyTagDialog (wxWindow *pParent, CIccProfile *pIcc, icTagSignature sig, CIccTag *pTag)
 

Data Fields

wxFont m_FixedFont
 
CIccProfilem_pIcc
 
CIccTagm_pTag
 
icTagSignature m_sigTag
 

Detailed Description

Constructor & Destructor Documentation

◆ MyTagDialog()

MyTagDialog::MyTagDialog ( wxWindow *  pParent,
CIccProfile pIcc,
icTagSignature  sig,
CIccTag pTag 
)
1108 :
1109wxDialog(pParent, wxID_ANY, _T("View Tag"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
1110{
1111 m_pIcc = pIcc;
1112 m_sigTag = sig;
1113 m_pTag = pTag;
1114
1115 CIccInfo Fmt;
1116
1117 wxString sTagSignature = Fmt.GetTagSigName(sig);
1118 wxString sTagType;
1119 std::string desc;
1120
1121 if (pTag) {
1122 if (pTag->IsArrayType()) {
1123 sTagType = _T("Array of ");
1124 }
1125 else {
1126 sTagType.Empty();
1127 }
1128 sTagType += Fmt.GetTagTypeSigName(pTag->GetType());
1129
1130 wxBeginBusyCursor();
1131 pTag->Describe(desc, 100);
1132 wxEndBusyCursor();
1133 }
1134 else if (pIcc) {
1135 CIccMemIO *pIO = pIcc->GetTagIO(sig);
1136 sTagType = "***Invalid Tag!***";
1137
1138 if (pIO) {
1139 std::string dump;
1140 icMemDump(dump, pIO->GetData(), pIO->GetLength());
1141 delete pIO;
1142 desc = "Data contents of tag:\n\n";
1143 desc += dump;
1144 }
1145 else {
1146 desc = "Invalid Tag Directory Entry!\n";
1147 }
1148 }
1149 else {
1150 desc = "Invalid Tag Entry!\n";
1151 sTagType = "***Invalid Tag***";
1152 }
1153
1154 wxSizer *sizer = new wxBoxSizer(wxVERTICAL);
1155
1156 wxSizer *sizerRow1 = new wxBoxSizer(wxHORIZONTAL);
1157 wxSize winSize = wxDefaultSize;
1158
1159 winSize.SetWidth(100);
1160 wxStaticText *labelSig = new wxStaticText(this, wxID_ANY, _T("Tag Signature:"), wxDefaultPosition, winSize, wxALIGN_RIGHT);
1161
1162 winSize.SetWidth(400);
1163 wxStaticText *textSig = new wxStaticText(this, wxID_ANY, sTagSignature, wxDefaultPosition, winSize, wxSTATIC_BORDER|wxTE_RIGHT);
1164
1165 sizerRow1->Add(labelSig, 0, wxALL | wxALIGN_CENTRE_VERTICAL, 5);
1166 sizerRow1->Add(textSig, 1, wxALL | wxALIGN_CENTRE_VERTICAL, 5);
1167
1168 sizer->Add(sizerRow1, wxSizerFlags().Expand());
1169
1170 wxSizer *sizerRow2 = new wxBoxSizer(wxHORIZONTAL);
1171 winSize = wxDefaultSize;
1172
1173 winSize.SetWidth(100);
1174 wxStaticText *labelType = new wxStaticText(this, wxID_ANY, _T("Tag Type:"), wxDefaultPosition, winSize, wxALIGN_RIGHT);
1175
1176 winSize.SetWidth(400);
1177 wxStaticText *textType = new wxStaticText(this, wxID_ANY, sTagType, wxDefaultPosition, winSize, wxSTATIC_BORDER|wxTE_RIGHT);
1178
1179 sizerRow2->Add(labelType, 0, wxALL | wxALIGN_CENTRE_VERTICAL, 5);
1180 sizerRow2->Add(textType, 1, wxALL | wxALIGN_CENTRE_VERTICAL, 5);
1181
1182 sizer->Add(sizerRow2, wxSizerFlags().Expand());
1183
1184 winSize = wxSize(500, 400);
1185 wxTextCtrl *textReport = new wxTextCtrl(this, wxID_ANY, wxString(desc.c_str()), wxDefaultPosition, winSize,
1186 wxTE_MULTILINE |wxTE_READONLY | wxTE_RICH| wxTE_DONTWRAP);
1187
1188 sizer->Add(textReport, wxSizerFlags(1).Expand());
1189
1190 SetSizer(sizer);
1191 sizer->Fit(this);
1192}
ICCPROFLIB_API void icMemDump(std::string &sDump, void *pBuf, icUInt32Number nNum)
Definition IccUtil.cpp:951
Definition IccUtil.h:303
const icChar * GetTagSigName(icTagSignature sig)
Definition IccUtil.cpp:1495
const icChar * GetTagTypeSigName(icTagTypeSignature sig)
Definition IccUtil.cpp:1594
Definition IccIO.h:217
icUInt8Number * GetData()
Definition IccIO.h:235
virtual icInt32Number GetLength()
Definition IccIO.cpp:752
virtual icTagTypeSignature GetType() const
Definition IccTagBasic.h:131
virtual void Describe(std::string &sDescription, int nVerboseness=0)
Definition IccTagBasic.h:221
virtual bool IsArrayType()
Definition IccTagBasic.h:135
icTagSignature m_sigTag
Definition wxProfileDump.h:210
CIccProfile * m_pIcc
Definition wxProfileDump.h:209
CIccTag * m_pTag
Definition wxProfileDump.h:211

References MyTagDialog(), CIccTag::Describe(), CIccMemIO::GetData(), CIccMemIO::GetLength(), CIccInfo::GetTagTypeSigName(), CIccTag::GetType(), icMemDump(), CIccTag::IsArrayType(), m_pIcc, m_pTag, and m_sigTag.

Referenced by MyTagDialog().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ m_FixedFont

wxFont MyTagDialog::m_FixedFont

◆ m_pIcc

CIccProfile* MyTagDialog::m_pIcc

Referenced by MyTagDialog().

◆ m_pTag

CIccTag* MyTagDialog::m_pTag

Referenced by MyTagDialog().

◆ m_sigTag

icTagSignature MyTagDialog::m_sigTag

Referenced by MyTagDialog().


The documentation for this class was generated from the following files: