示例#1
0
void EventsList::InsertEvents(const EventsList & otherEvents, size_t begin, size_t end, size_t position)
{
	if (begin >= otherEvents.size()) return;
	if (end < begin) return;
	if (end >= otherEvents.size()) end = otherEvents.size()-1;

    for (std::size_t insertPos = 0;insertPos <= (end-begin);insertPos++)
    {
	    if (position != (size_t)-1 && position+insertPos < events.size())
	        events.insert(events.begin()+position+insertPos, CloneRememberingOriginalEvent(otherEvents.events[begin+insertPos]));
	    else
	        events.push_back(CloneRememberingOriginalEvent(otherEvents.events[begin+insertPos]));
	}
}
示例#2
0
void EventsListSerialization::SerializeEventsTo(const EventsList & list, SerializerElement & events)
{
    events.ConsiderAsArrayOf("event");
    for ( unsigned int j = 0;j < list.size();j++ )
    {
        const gd::BaseEvent & event = list.GetEvent(j);
        SerializerElement & eventElem = events.AddChild("event");

        eventElem.SetAttribute( "disabled", event.IsDisabled());
        eventElem.SetAttribute( "folded", event.folded);
        eventElem.AddChild("type").SetValue(event.GetType());

        event.SerializeTo(eventElem);
    }
}