/*********************************************************************\ Function name : CDialogArrowBtn::Save Description : Created at : 30.08.01, @ 10:27:02 Created by : Thomas Kunert Modified by : \*********************************************************************/ Bool CDialogArrowBtn::Save(BaseFile* pFile, String strFill) { if (m_bIsPopupButton) { WriteString(pFile, "POPUPBUTTON "); WriteString(pFile, m_strControlID); LineBreak(pFile, strFill); WriteString(pFile, "{"); LineBreak(pFile, strFill + SPACE_NEW_LINE); SaveAlignment(pFile); LineBreak(pFile, strFill + SPACE_NEW_LINE); WriteString(pFile, "CHILDS"); LineBreak(pFile, strFill + SPACE_NEW_LINE); WriteString(pFile, "{"); if (m_Children.GetItemCount() > 0) LineBreak(pFile, strFill + SPACE_NEW_LINE + SPACE_NEW_LINE); else LineBreak(pFile, strFill + SPACE_NEW_LINE); m_Children.Write(pFile, strFill); WriteString(pFile, "}"); LineBreak(pFile, strFill); WriteString(pFile, "}"); } else { // it's just an arrow button WriteString(pFile, "ARROWBUTTON "); WriteString(pFile, m_strControlID); WriteString(pFile, " { "); SaveAlignment(pFile); if (m_lArrowType == ARROW_LEFT) WriteString(pFile, "ARROW_LEFT; "); if (m_lArrowType == ARROW_RIGHT) WriteString(pFile, "ARROW_RIGHT; "); if (m_lArrowType == ARROW_UP) WriteString(pFile, "ARROW_UP; "); if (m_lArrowType == ARROW_DOWN) WriteString(pFile, "ARROW_DOWN; "); if (m_lArrowType == ARROW_SMALL_LEFT) WriteString(pFile, "ARROW_SMALL_LEFT; "); if (m_lArrowType == ARROW_SMALL_RIGHT) WriteString(pFile, "ARROW_SMALL_RIGHT; "); if (m_lArrowType == ARROW_SMALL_UP) WriteString(pFile, "ARROW_SMALL_UP; "); if (m_lArrowType == ARROW_SMALL_DOWN) WriteString(pFile, "ARROW_SMALL_DOWN; "); WriteString(pFile, " }"); } return true; }
/*********************************************************************\ Function name : CDialogUserArea::Save Description : Created at : 30.08.01, @ 10:30:20 Created by : Thomas Kunert Modified by : \*********************************************************************/ Bool CDialogUserArea::Save(BaseFile* pFile, String strFill) { WriteString(pFile, "USERAREA "); WriteString(pFile, m_strControlID); WriteString(pFile, " { "); SaveAlignment(pFile); WriteString(pFile, "}"); return true; }
/*********************************************************************\ Function name : CDialogRadioBtn::Save Description : Created at : 30.08.01, @ 10:29:19 Created by : Thomas Kunert Modified by : \*********************************************************************/ Bool CDialogRadioBtn::Save(BaseFile* pFile, String strFill) { if (m_bText) WriteString(pFile, "SPECIALRADIO "); else WriteString(pFile, "RADIOGADGET "); WriteString(pFile, m_strControlID); //LineBreak(pFile, strFill); WriteString(pFile, " { "); SaveAlignment(pFile); WriteString(pFile, " }"); return true; }
/*********************************************************************\ Function name : CDialogCustomElement::Save Description : Created at : 27.03.02, @ 14:54:04 Created by : Thomas Kunert Modified by : \*********************************************************************/ Bool CDialogCustomElement::Save(BaseFile* pFile, String strFill) { if (g_pCustomElements && m_lElement >= 0 && m_lElement < g_pCustomElements->Entries()) { CustomProperty* pProp; CCustomElements* pElement = g_pCustomElements->GetItem(m_lElement); if (!pElement) return true; if (!m_pbcGUI) return false; BaseContainer* pBC = &m_pbcGUI[m_lElement]; pProp = pElement->m_pProp; WriteString(pFile, pElement->m_pChResSym); WriteString(pFile, " "); WriteString(pFile, m_strControlID); LineBreak(pFile, strFill); WriteString(pFile, "{"); LineBreak(pFile, strFill + *g_pstrFillSave); SaveAlignment(pFile); LineBreak(pFile, strFill); if (pElement->m_bIsOpen) { WriteString(pFile, *g_pstrFillSave); WriteString(pFile, "OPEN"); WriteString(pFile, "; "); LineBreak(pFile, strFill); } Int32 i; for (i = 0; pProp && pProp[i].type != CUSTOMTYPE_END; i++) { Bool b = false; if (pProp[i].type == CUSTOMTYPE_FLAG) { if (pBC->GetBool(pProp[i].id)) { WriteString(pFile, *g_pstrFillSave); WriteString(pFile, pProp[i].ident); WriteString(pFile, "; "); b = true; } } else if (pProp[i].type == CUSTOMTYPE_LONG) { WriteString(pFile, *g_pstrFillSave); WriteString(pFile, pProp[i].ident); WriteString(pFile, " "); WriteString(pFile, String::IntToString(pBC->GetInt32(pProp[i].id))); // XXX: BITMAPBUTTON SIZE is a CUSTOMTYPE_LONG property, yet it // requires a tuple for the SIZE parameter. Can we find a better // way than hardcoding this? // https://github.com/nr-plugins/resedit/issues/2 if (String(pElement->m_pChResSym) == String("BITMAPBUTTON") && String(pProp[i].ident) == String("SIZE")) { WriteString(pFile, ", "); WriteString(pFile, String::IntToString(pBC->GetInt32(pProp[i].id))); } WriteString(pFile, "; "); b = true; } else if (pProp[i].type == CUSTOMTYPE_REAL) { WriteString(pFile, *g_pstrFillSave); WriteString(pFile, pProp[i].ident); WriteString(pFile, " "); WriteString(pFile, String::FloatToString(pBC->GetFloat(pProp[i].id))); WriteString(pFile, "; "); b = true; } else if (pProp[i].type == CUSTOMTYPE_STRING) { if (pBC->GetString(pProp[i].id).Content()) { WriteString(pFile, *g_pstrFillSave); WriteString(pFile, pProp[i].ident); WriteString(pFile, " "); WriteString(pFile, pBC->GetString(pProp[i].id)); WriteString(pFile, "; "); b = true; } } else if (pProp[i].type == CUSTOMTYPE_VECTOR) { WriteString(pFile, *g_pstrFillSave); WriteString(pFile, pProp[i].ident); WriteString(pFile, " "); WriteString(pFile, String::FloatToString(pBC->GetVector(pProp[i].id).x)); WriteString(pFile, " "); WriteString(pFile, String::FloatToString(pBC->GetVector(pProp[i].id).y)); WriteString(pFile, " "); WriteString(pFile, String::FloatToString(pBC->GetVector(pProp[i].id).z)); WriteString(pFile, " "); WriteString(pFile, "; "); b = true; } if (b) LineBreak(pFile, strFill); } WriteString(pFile, "}"); } return true; }
/*********************************************************************\ Function name : CDialogGroup::Save Description : Created at : 30.08.01, @ 10:28:37 Created by : Thomas Kunert Modified by : \*********************************************************************/ Bool CDialogGroup::Save(BaseFile* pFile, String strFill) { if (m_bBorderNoTitle) { m_strNameID = ""; m_strName = ""; } if (m_lGroupType == 0) // DRTYPE_GROUP WriteString(pFile, "GROUP "); else if (m_lGroupType == 1) // DRTYPE_TAB WriteString(pFile, "TAB "); else if (m_lGroupType == 2) // DRTYPE_SCROLLGROUP WriteString(pFile, "SCROLLGROUP "); else if (m_lGroupType == 3) // DRTYPE_RADIOGROUP WriteString(pFile, "RADIOGROUP "); WriteString(pFile, m_strControlID); LineBreak(pFile, strFill); WriteString(pFile, "{"); LineBreak(pFile, strFill + SPACE_NEW_LINE); SaveAlignment(pFile); LineBreak(pFile, strFill + SPACE_NEW_LINE); if ((m_lGroupType == GROUP_TYPE_SIMPLE) || (m_lGroupType == GROUP_TYPE_RADIO)) // tab groups don't have a border { if (m_bHasBorder) { WriteString(pFile, "BORDERSTYLE "); if (m_lBorderStyle == BORDER_NONE) WriteString(pFile, "BORDER_NONE"); if (m_lBorderStyle == BORDER_THIN_IN) WriteString(pFile, "BORDER_THIN_IN"); if (m_lBorderStyle == BORDER_THIN_OUT) WriteString(pFile, "BORDER_THIN_OUT"); if (m_lBorderStyle == BORDER_IN) WriteString(pFile, "BORDER_IN"); if (m_lBorderStyle == BORDER_OUT) WriteString(pFile, "BORDER_OUT"); if (m_lBorderStyle == BORDER_GROUP_IN) WriteString(pFile, "BORDER_GROUP_IN"); if (m_lBorderStyle == BORDER_GROUP_TOP) WriteString(pFile, "BORDER_GROUP_TOP"); if (m_lBorderStyle == BORDER_GROUP_OUT) WriteString(pFile, "BORDER_GROUP_OUT"); if (m_lBorderStyle == BORDER_OUT2) WriteString(pFile, "BORDER_OUT2"); if (m_lBorderStyle == BORDER_OUT3) WriteString(pFile, "BORDER_OUT3"); if (m_lBorderStyle == BORDER_OUT3l) WriteString(pFile, "BORDER_OUT3l"); if (m_lBorderStyle == BORDER_OUT3r) WriteString(pFile, "BORDER_OUT3r"); if (m_lBorderStyle == BORDER_BLACK) WriteString(pFile, "BORDER_BLACK"); if (m_lBorderStyle == BORDER_ACTIVE_1) WriteString(pFile, "BORDER_OUT2"); if (m_lBorderStyle == BORDER_ACTIVE_2) WriteString(pFile, "BORDER_OUT3"); WriteString(pFile, "; "); } WriteString(pFile, "BORDERSIZE "); WriteInt32(pFile, m_lLeftBorder); WriteString(pFile, ", "); WriteInt32(pFile, m_lTopBorder); WriteString(pFile, ", "); WriteInt32(pFile, m_lRightBorder); WriteString(pFile, ", "); WriteInt32(pFile, m_lBottomBorder); WriteString(pFile, "; "); LineBreak(pFile, strFill + SPACE_NEW_LINE); if (m_lCols > 0) { WriteString(pFile, "COLUMNS "); WriteInt32(pFile, m_lCols); WriteString(pFile, ";"); LineBreak(pFile, strFill + SPACE_NEW_LINE); } else if (m_lRows > 0) { WriteString(pFile, "ROWS "); WriteInt32(pFile, m_lRows); WriteString(pFile, ";"); LineBreak(pFile, strFill + SPACE_NEW_LINE); } if (m_lGroupFlags & (BFV_GRIDGROUP_EQUALCOLS | BFV_GRIDGROUP_EQUALROWS | BFV_GRIDGROUP_ALLOW_WEIGHTS)) { if (m_lGroupFlags & BFV_GRIDGROUP_EQUALCOLS) WriteString(pFile, "EQUAL_COLS; "); if (m_lGroupFlags & BFV_GRIDGROUP_EQUALROWS) WriteString(pFile, "EQUAL_ROWS; "); if (m_lGroupFlags & BFV_GRIDGROUP_ALLOW_WEIGHTS) WriteString(pFile, "ALLOW_WEIGHTS; "); LineBreak(pFile, strFill + SPACE_NEW_LINE); } if (m_lSpaceX >= 0 && m_lSpaceY >= 0) { WriteString(pFile, "SPACE "); WriteInt32(pFile, m_lSpaceX); WriteString(pFile, ", "); WriteInt32(pFile, m_lSpaceY); WriteString(pFile, ";"); LineBreak(pFile, strFill + SPACE_NEW_LINE); } } if (m_lGroupType == GROUP_TYPE_TAB) { if (m_lTabType == TAB_NOSELECT) WriteString(pFile, "SELECTION_NONE"); else if (m_lTabType == TAB_TABS) WriteString(pFile, "SELECTION_TABS"); else if (m_lTabType == TAB_VLTABS) WriteString(pFile, "SELECTION_VLTABS"); else if (m_lTabType == TAB_VRTABS) WriteString(pFile, "SELECTION_VRTABS"); else if (m_lTabType == TAB_CYCLE) WriteString(pFile, "SELECTION_CYCLE"); else if (m_lTabType == TAB_RADIO) WriteString(pFile, "SELECTION_RADIO"); WriteString(pFile, "; "); LineBreak(pFile, strFill + SPACE_NEW_LINE); } if (m_lGroupType == GROUP_TYPE_SCROLL) { SaveAlignment(pFile); if (m_lScrollType & SCROLLGROUP_VERT) WriteString(pFile, "SCROLL_V; "); if (m_lScrollType & SCROLLGROUP_HORIZ) WriteString(pFile, "SCROLL_H; "); if (m_lScrollType & SCROLLGROUP_BORDERIN) WriteString(pFile, "SCROLL_BORDER; "); if (m_lScrollType & SCROLLGROUP_STATUSBAR) WriteString(pFile, "SCROLL_STATUSBAR; "); if (m_lScrollType & SCROLLGROUP_AUTOHORIZ) WriteString(pFile, "SCROLL_AUTO_H; "); if (m_lScrollType & SCROLLGROUP_AUTOVERT) WriteString(pFile, "SCROLL_AUTO_V; "); if (m_lScrollType & SCROLLGROUP_NOBLIT) WriteString(pFile, "SCROLL_NOBLIT; "); if (m_lScrollType & SCROLLGROUP_LEFT) WriteString(pFile, "SCROLL_LEFT; "); LineBreak(pFile, strFill + SPACE_NEW_LINE); } if (m_bHasTitleCheckbox) WriteString(pFile, "TITLECHECKBOX;"); LineBreak(pFile, strFill + SPACE_NEW_LINE); CDialogItem::Save(pFile, strFill + SPACE_NEW_LINE); LineBreak(pFile, strFill); WriteString(pFile, "}"); return true; }