Exemplo n.º 1
0
ERRORCODE HyperlinkRecord::ReadData(StorageDevicePtr device)
{
	ERRORCODE error;

	if ((error = device->read_record(&record, sizeof(record))) == ERRORCODE_None
		 && (error = device->read_cstring(m_csFilePathOrURL)) == ERRORCODE_None)
	{
	}
	return error;
}
Exemplo n.º 2
0
ERRORCODE CMacro::ReadData(StorageDevicePtr device)
{
	ERRORCODE error;

	if ((error = device->read_record(&m_Record, sizeof(m_Record))) == ERRORCODE_None
		  && (error = device->read_cstring(m_csName)) == ERRORCODE_None
		  && (error = device->read_cstring(m_csValue)) == ERRORCODE_None)
	{
		switch (m_Record.m_wValueType)
		{
			case VALUE_TYPE_OldField:
			{
				m_csFieldClass = "Address";			// A default.
				m_Record.m_wValueType = VALUE_TYPE_Field;
				break;
			}
			case VALUE_TYPE_Field:
			{
				error = device->read_cstring(m_csFieldClass);
				break;
			}
			default:			// Includes VALUE_TYPE_String.
			{
				m_csFieldClass = "";
				break;
			}
		}
#ifdef LOCALIZE
		// cb October 97 translate any permanent fields where required
		if (m_Record.m_wFlags & MACRO_FLAG_PermanentName)
		{
			m_csName = TranslateFields((LPCSTR) m_csName);
		}
#endif

	}
	return error;
}
Exemplo n.º 3
0
ERRORCODE OutlinePathRecord::ReadData(StorageDevicePtr device)
{
	ERRORCODE error;

	if ((error = device->read_record(&record, sizeof(record))) == ERRORCODE_None
			&& (error = device->read_cstring(m_csName)) == ERRORCODE_None
			&& (error = m_Path.ReadData(device)) == ERRORCODE_None)
	{
		if (record.m_DesignBounds.Width() == 0
			 || record.m_DesignBounds.Height() == 0)
		{
			record.m_DesignBounds.Left = MakeFixed(0);
			record.m_DesignBounds.Top = MakeFixed(0);
			record.m_DesignBounds.Right = MakeFixed(1);
			record.m_DesignBounds.Bottom = MakeFixed(1);
//			m_Path.BoundingBox(&record.m_DesignBounds);		// Normalized to 0,0 to 1,1
		}
	}
	return error;
}
Exemplo n.º 4
0
ERRORCODE ObjectLayoutRecord::ReadData(StorageDevicePtr device)
{
	SHORT count;
	ERRORCODE error;

	if ((error = device->read(&record, sizeof(record))) == ERRORCODE_None
			&& (error = device->read_cstring(m_csName)) == ERRORCODE_None
			&& (error = device->read(&count, sizeof(count))) == ERRORCODE_None)
	{
		LayoutElement element;		/* For transfer. */

	/* Read the elements. */

		elements.empty();

		while (count-- > 0)
		{
			LayoutElementPtr pelement;

		/* Make sure we can read the element before allocating. */

			if ((error = element.read(device)) != ERRORCODE_None)
			{
				return error;
			}

		/* Create a new layout element. */

			if ((pelement = new LayoutElement) == NULL)
			{
				return ERRORCODE_Memory;
			}
			pelement->record = element.record;

		/* Add it to the end of the list. */

			elements.append(pelement);
		}
	}
	return error;
}