📄 extformat.cpp
字号:
XF_COLOR_CODE_COMBINED07, XF_COLOR_CODE_YELLOW, XF_COLOR_CODE_LIGHT_YELLOW, XF_COLOR_CODE_DARK_GREEN, XF_COLOR_CODE_GREEN, XF_COLOR_CODE_COMBINED08, XF_COLOR_CODE_LIVING_GREEN, XF_COLOR_CODE_LIGHT_GREEN, XF_COLOR_CODE_COMBINED09, XF_COLOR_CODE_BLUE_GREEN, XF_COLOR_CODE_AQUAMARINA, XF_COLOR_CODE_TURQOISE, XF_COLOR_CODE_COMBINED10, XF_COLOR_CODE_DARK_BLUE, XF_COLOR_CODE_BLUE, XF_COLOR_CODE_LIGHT_BLUE, XF_COLOR_CODE_SKY_BLUE, XF_COLOR_CODE_COMBINED11, XF_COLOR_CODE_INDIGO, XF_COLOR_CODE_BLUE_GRAY, XF_COLOR_CODE_VIOLET, XF_COLOR_CODE_PLUM, XF_COLOR_CODE_LAVANDER, XF_COLOR_CODE_COMBINED12, XF_COLOR_CODE_GRAY50, XF_COLOR_CODE_GRAY40, XF_COLOR_CODE_GRAY25, XF_COLOR_CODE_WHITE };/* *********************************************************************/const unsigned8_t xf_t::FILL_OPTIONS_TABLE[] ={ XF_FILL_NONE, XF_FILL_SOLID, XF_FILL_ATEN75, XF_FILL_ATEN50, XF_FILL_ATEN25, XF_FILL_ATEN12, XF_FILL_ATEN06, XF_FILL_HORIZ_LIN, XF_FILL_VERTICAL_LIN, XF_FILL_DIAG, XF_FILL_INV_DIAG, XF_FILL_INTER_DIAG, XF_FILL_DIAG_THICK_INTER, XF_FILL_HORIZ_LINES_THIN, XF_FILL_VERTICAL_LINES_THIN, XF_FILL_DIAG_THIN, XF_FILL_INV_DIAG_THIN, XF_FILL_HORIZ_INT_THIN, XF_FILL_HORIZ_INTER_THICK };/* *********************************************************************/const unsigned8_t xf_t::BORDERSTYLE_OPTIONS_TABLE[] ={ XF_BRDOPTION_NONE, XF_BRDOPTION_THIN, XF_BRDOPTION_MEDIUM, XF_BRDOPTION_DASHED, XF_BRDOPTION_DOTTED, XF_BRDOPTION_THICK, XF_BRDOPTION_DOUBLE, XF_BRDOPTION_HAIR};const unsigned16_t xf_t::FORMAT_NUM_OPTIONS_TABLE[] ={ FMTCODE_GENERAL, FMTCODE_NUMBER1, FMTCODE_NUMBER2, FMTCODE_NUMBER3, FMTCODE_NUMBER4, FMTCODE_CURRENCY1, FMTCODE_CURRENCY2, FMTCODE_CURRENCY3, FMTCODE_CURRENCY4, FMTCODE_PERCENT1, FMTCODE_PERCENT2, FMTCODE_SCIENTIFIC1, FMTCODE_FRACTION1, FMTCODE_FRACTION2, FMTCODE_DATE1, FMTCODE_DATE2, FMTCODE_DATE3, FMTCODE_DATE4, FMTCODE_HOUR1, FMTCODE_HOUR2, FMTCODE_HOUR3, FMTCODE_HOUR4, FMTCODE_HOURDATE, FMTCODE_NUMBER5, FMTCODE_NUMBER6, FMTCODE_NUMBER7, FMTCODE_NUMBER8, FMTCODE_ACCOUNTING1, FMTCODE_ACCOUNTING2, FMTCODE_ACCOUNTING3, FMTCODE_ACCOUNTING4, FMTCODE_HOUR5, FMTCODE_HOUR6, FMTCODE_HOUR7, FMTCODE_SCIENTIFIC2, FMTCODE_TEXT};/* *********************************************************************/xf_t::xf_t() : m_usage_counter(0) { // Set a default value SetIndex(0x0000); SetFont(NULL); SetFormat(FMT_GENERAL); SetHAlign(HALIGN_GENERAL); SetVAlign(VALIGN_BOTTOM); SetTxtOrientation(ORI_NONE); SetFillFGColor(COLOR_BLACK); SetFillBGColor(COLOR_WHITE); SetFillStyle(FILL_NONE); SetLocked(XF_LOCKED); SetHidden(XF_NO_HIDDEN); SetWrap(XF_NO_WRAPPED); SetCellMode(XF_IS_CELL); SetBorderStyle(BORDER_BOTTOM ,BORDER_NONE, COLOR_BLACK); SetBorderStyle(BORDER_TOP ,BORDER_NONE, COLOR_BLACK); SetBorderStyle(BORDER_LEFT ,BORDER_NONE, COLOR_BLACK); SetBorderStyle(BORDER_RIGHT ,BORDER_NONE, COLOR_BLACK);}/* *********************************************************************/xf_t::xf_t(const xf_init_t& xfinit) : m_usage_counter(0){ SetIndex(xfinit.index); SetFont(xfinit.font); SetFormat(xfinit.format); SetHAlign(xfinit.halign); SetVAlign(xfinit.valign); SetTxtOrientation(xfinit.txtorientation); SetFillFGColor(xfinit.fill_fgcolor); SetFillBGColor(xfinit.fill_bgcolor); SetFillStyle(xfinit.fillstyle); SetLocked(xfinit.locked); SetHidden(xfinit.hidden); SetWrap(xfinit.wrap); SetCellMode(xfinit.is_cell); SetBorderStyle(BORDER_BOTTOM,xfinit.bottom_border_style, xfinit.bottom_border_color); SetBorderStyle(BORDER_TOP,xfinit.top_border_style, xfinit.top_border_color); SetBorderStyle(BORDER_LEFT,xfinit.left_border_style, xfinit.left_border_color); SetBorderStyle(BORDER_RIGHT,xfinit.right_border_style, xfinit.right_border_color);}/* *********************************************************************/xf_t::xf_t(unsigned16_t index, font_t* font, format_number_t format, halign_option_t halign, valign_option_t valign, txtori_option_t txtorientation, color_name_t fill_fgcolor, color_name_t fill_bgcolor, fill_option_t fillstyle, bool locked, bool hidden, bool wrap, bool is_cell, border_style_t top_border_style, color_name_t top_border_color, border_style_t bottom_border_style, color_name_t bottom_border_color, border_style_t left_border_style, color_name_t left_border_color, border_style_t right_border_style, color_name_t right_border_color) :m_usage_counter(0){ SetIndex(index); SetFont(font); SetFormat(format); SetHAlign(halign); SetVAlign(valign); SetTxtOrientation(txtorientation); SetFillFGColor(fill_fgcolor); SetFillBGColor(fill_bgcolor); SetFillStyle(fillstyle); SetLocked(locked); SetHidden(hidden); SetWrap(wrap); SetCellMode(is_cell); SetBorderStyle(BORDER_BOTTOM,bottom_border_style, bottom_border_color); SetBorderStyle(BORDER_TOP,top_border_style, top_border_color); SetBorderStyle(BORDER_LEFT,left_border_style, left_border_color); SetBorderStyle(BORDER_RIGHT,right_border_style, right_border_color); UpdateSignature();}void xf_t::UpdateSignature(){ crc xfcrc; xfcrc<<index; xfcrc<<(int)font; xfcrc<<(int)format; xfcrc<<halign; xfcrc<<valign; xfcrc<<txtorientation; xfcrc<<fill_fgcolor; xfcrc<<fill_bgcolor; xfcrc<<fillstyle; xfcrc<<locked; xfcrc<<hidden; xfcrc<<wrap; xfcrc<<is_cell; xfcrc<<top_border_style; xfcrc<<top_border_color; xfcrc<<bottom_border_style; xfcrc<<bottom_border_color; xfcrc<<left_border_style; xfcrc<<left_border_color; xfcrc<<right_border_style; xfcrc<<right_border_color; m_signature = xfcrc.get(); m_sigchanged = false;}/* *********************************************************************/xf_t::~xf_t(){}unsigned32_t xf_t::GetSignature(){ if(m_sigchanged) { UpdateSignature(); m_sigchanged = false; } return m_signature;}/* *********************************************************************/void xf_t::MarkUsed(void) { m_usage_counter++; if(font != NULL) font->MarkUsed();}/* *********************************************************************/bool xf_t::IsUsed(void) { return(m_usage_counter != 0);}/* *********************************************************************/void xf_t::SetFont(font_t* fontidx){ if(fontidx != NULL) fontidx->MarkUsed(); font = fontidx; m_sigchanged = true;}font_t* xf_t::GetFont(void){ return font;}unsigned16_t xf_t::GetFontIndex(void){ if(font != NULL) return font->GetIndex(); else return 0x0000;}/* *********************************************************************/void xf_t::SetFormat(format_number_t formatidx){ format = formatidx; m_sigchanged = true;};unsigned16_t xf_t::GetFormatIndex(void){ return xf_t::FORMAT_NUM_OPTIONS_TABLE[format];};format_number_t xf_t::GetFormat(void){ return format;}/* *********************************************************************//* Cell option wrappers*/void xf_t::SetBorderStyle(border_side_t side, border_style_t style, color_name_t color) { switch (side) { case BORDER_BOTTOM: bottom_border_style = BORDERSTYLE_OPTIONS_TABLE[style]; bottom_border_color = COLOR_OPTIONS_TABLE[color]; break; case BORDER_TOP: top_border_style = BORDERSTYLE_OPTIONS_TABLE[style]; top_border_color = COLOR_OPTIONS_TABLE[color]; break; case BORDER_LEFT: left_border_style = BORDERSTYLE_OPTIONS_TABLE[style]; left_border_color = COLOR_OPTIONS_TABLE[color]; break; case BORDER_RIGHT: right_border_style = BORDERSTYLE_OPTIONS_TABLE[style]; right_border_color = COLOR_OPTIONS_TABLE[color]; break; default: // It cannot get here break; } m_sigchanged = true;}/* *********************************************************************/unsigned8_t xf_t::GetBorderStyle(border_side_t side) { unsigned8_t ret_style = XF_BRDOPTION_NONE; switch (side) { case BORDER_BOTTOM: ret_style = bottom_border_style; break; case BORDER_TOP: ret_style = top_border_style; break; case BORDER_LEFT: ret_style = left_border_style; break; case BORDER_RIGHT: ret_style = right_border_style; break; default: // It cannot get here break; } return ret_style;}/* *********************************************************************/unsigned8_t xf_t::GetBorderColor(border_side_t side) { unsigned8_t ret_color = XF_COLOR_CODE_BLACK; switch (side) { case BORDER_BOTTOM: ret_color = bottom_border_color; break; case BORDER_TOP: ret_color = top_border_color; break; case BORDER_LEFT: ret_color = left_border_color; break; case BORDER_RIGHT: ret_color = right_border_color; break; default: // It cannot get here break; } return ret_color;}void xf_t::operator=(xf_t& right){ index = 0x0000; font = right.font; format = right.format; halign = right.halign; valign = right.valign; txtorientation = right.txtorientation; fill_fgcolor = right.fill_fgcolor; fill_bgcolor = right.fill_bgcolor; fillstyle = right.fillstyle; locked = right.locked; hidden = right.hidden; wrap = right.wrap; is_cell = right.is_cell; top_border_style = right.top_border_style; top_border_color = right.top_border_color; bottom_border_style = right.bottom_border_style; bottom_border_color = right.bottom_border_color; left_border_style = right.left_border_style; left_border_color = right.left_border_color; right_border_style = right.right_border_style; right_border_color = right.right_border_color; m_sigchanged = true;}/* Horizontal Align option wrappers*/void xf_t::SetHAlign(halign_option_t ha_option){ halign = xf_t::HALIGN_OPTIONS_TABLE[ha_option]; m_sigchanged = true;} unsigned8_t xf_t::GetHAlign(void){ return halign;}/* Vertical Align option wrappers*/void xf_t::SetVAlign(valign_option_t va_option){ valign = xf_t::VALIGN_OPTIONS_TABLE[va_option]; m_sigchanged = true;}unsigned8_t xf_t::GetVAlign(void){ return valign;}/* Text orientation option wrappers*/void xf_t::SetTxtOrientation(txtori_option_t ori_option) { txtorientation = xf_t::TXTORI_OPTIONS_TABLE[ori_option]; m_sigchanged = true;}unsigned8_t xf_t::GetTxtOrientation(void){ return txtorientation;}/* Fill Foreground color option wrappers*/void xf_t::SetFillFGColor(color_name_t color){ fill_fgcolor = xf_t::COLOR_OPTIONS_TABLE[color]; m_sigchanged = true;}unsigned8_t xf_t::GetFillFGColor(void){ return fill_fgcolor;}/* Fill Background color option wrappers*/void xf_t::SetFillBGColor(color_name_t color){ fill_bgcolor = xf_t::COLOR_OPTIONS_TABLE[color]; m_sigchanged = true;}unsigned8_t xf_t::GetFillBGColor(void){ return fill_bgcolor;}/* Fill Style option wrappers*/void xf_t::SetFillStyle(fill_option_t fill){ fillstyle = xf_t::FILL_OPTIONS_TABLE[fill]; m_sigchanged = true;}unsigned8_t xf_t::GetFillStyle(void){ return fillstyle;}/* Locked option wrappers*/void xf_t::SetLocked(bool locked_opt){ locked = locked_opt; m_sigchanged = true;}bool xf_t::IsLocked(void){ return locked;}/* Hidden option wrappers*/void xf_t::SetHidden(bool hidden_opt){ hidden = hidden_opt; m_sigchanged = true;}bool xf_t::IsHidden(void){ return hidden;}/* Wrap option wrappers*/void xf_t::SetWrap(bool wrap_opt){ wrap = wrap_opt; m_sigchanged = true;};bool xf_t::IsWrap(void){ return wrap;};/* Cell option wrappers*/void xf_t::SetCellMode(bool cellmode){ is_cell = cellmode; m_sigchanged = true;}bool xf_t::IsCell(void){ return is_cell;}/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * $Log: extformat.cpp,v $ * Revision 1.1.1.1 2004/08/27 16:31:48 darioglz * Initial Import. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -