Exemplo n.º 1
0
/*********************************************************************\
	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;
}
Exemplo n.º 2
0
/*********************************************************************\
	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;
}
Exemplo n.º 3
0
/*********************************************************************\
	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;
}
Exemplo n.º 4
0
/*********************************************************************\
	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;
}
Exemplo n.º 5
0
/*********************************************************************\
	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;
}