5 #include "wimp_error.h" 9 const tCoordinate cIconHeight(52);
10 const tCoordinate cIconVerticalGap(8);
11 const tCoordinate cIconVerticalSpace(8);
12 const char* pca3dValidation =
"r2";
18 CAboutBox::CAboutBox(
const std::string& rksName,
const std::string& rksPurpose,
const std::string& rksAuthor,
const std::string& rksVersion)
24 AddRow(
"Purpose", rksPurpose);
25 AddRow(
"Author", rksAuthor);
26 AddRow(
"Version", rksVersion);
37 rwcbBlock.wfFlags.wfHasBackIcon = 0;
38 rwcbBlock.wfFlags.wfHasCloseIcon = 0;
39 rwcbBlock.lVisibleMaximum.cX = m_cHeaderWidth + m_cValueWidth + 36;
40 rwcbBlock.lVisibleMinimum.cY = -(m_lpsHeaders.size() * (cIconHeight + cIconVerticalGap) - cIconVerticalGap + 2 * cIconVerticalSpace);
41 rwcbBlock.lWorkareaMaximum.cX = rwcbBlock.lVisibleMaximum.cX;
42 rwcbBlock.lWorkareaMinimum.cY = rwcbBlock.lVisibleMinimum.cY;
49 bool b2d = (wimp_3dstatus() == 0);
54 icbBlock.lMinimum.cX = 8;
55 icbBlock.lMaximum.cX = 12 + m_cHeaderWidth;
56 icbBlock.lMaximum.cY = -cIconVerticalSpace;
58 for (std::list<const std::string*>::iterator it = m_lpsHeaders.begin(); it != m_lpsHeaders.end(); ++it)
61 icbBlock.lMinimum.cY = icbBlock.lMaximum.cY - cIconHeight;
62 icbBlock.idData.indirectedText.kpcaValidationString = (
const char*)-1;
63 icbBlock.idData.indirectedText.pcaTextbuffer =
const_cast<char*
>((*it)->c_str());
64 icbBlock.idData.indirectedText.iBufferLength = (*it)->size();
65 icbBlock.ifFlags.ifFlags = 0x17000311;
66 m_liIcons.push_back(
new CCreatedIcon(icbBlock,
this,
false));
67 icbBlock.lMaximum.cY -= (cIconHeight + cIconVerticalGap);
70 icbBlock.lMinimum.cX = 12 + m_cHeaderWidth;
71 icbBlock.lMaximum.cX = 28 + m_cHeaderWidth + m_cValueWidth;
72 icbBlock.lMaximum.cY = -cIconVerticalSpace;
74 for (std::list<const std::string*>::iterator it = m_lpsValues.begin(); it != m_lpsValues.end(); ++it)
76 icbBlock.lMinimum.cY = icbBlock.lMaximum.cY - cIconHeight;
77 icbBlock.idData.indirectedText.kpcaValidationString = b2d ? (
const char*)-1 : pca3dValidation;
78 icbBlock.idData.indirectedText.pcaTextbuffer =
const_cast<char*
>((*it)->c_str());
79 icbBlock.idData.indirectedText.iBufferLength = (*it)->size();
80 icbBlock.ifFlags.ifFlags = b2d ? 0x0700013d : 0x1700013d;
81 m_liIcons.push_back(
new CCreatedIcon(icbBlock,
this,
false));
82 icbBlock.lMaximum.cY -= (cIconHeight + cIconVerticalGap);
89 tCoordinate wh = wimp_strwidth(rksHeader.c_str()) + 16;
90 tCoordinate wv = wimp_strwidth(rksValue.c_str()) + 16;
92 if (wh > m_cHeaderWidth)
97 if (wv > m_cValueWidth)
102 m_lpsHeaders.push_back(
new std::string(rksHeader));
103 m_lpsValues.push_back(
new std::string(rksValue));
virtual void Adorn(tWindowCreateBlock &rwcbBlock)
virtual void Created(void)
CAboutBox(const std::string &rksName, const std::string &rksPurpose, const std::string &rksAuthor, const std::string &rksVersion)
void AddRow(const std::string &rksHeader, const std::string &rksValue)