80 const std::vector<ITEM*>& aAddedItems,
81 const std::set<KIID>& aRemovedItems,
82 const std::vector<ITEM*>& aHeads,
83 const std::vector<LOGGER::EVENT_ENTRY>& aEvents )
85 wxString
result = wxString::Format(
"mode %d\n", aMode );
90 for(
const KIID& uuid : aRemovedItems )
91 result += wxString::Format(
"removed %s\n", uuid.AsString().c_str() );
93 for(
ITEM* item : aAddedItems )
94 result += wxString::Format(
"added %s\n", item->Format().c_str() );
96 for(
ITEM* item : aHeads )
97 result += wxString::Format(
"head %s\n", item->Format().c_str() );
130 wxStringTokenizer tokens( aLine );
131 wxString cmd = tokens.GetNextToken();
135 wxCHECK_MSG( cmd == wxT(
"event" ),
EVENT_ENTRY(),
"Line doesn't contain an event!" );
138 evt.
p.
x = wxAtoi( tokens.GetNextToken() );
139 evt.
p.
y = wxAtoi( tokens.GetNextToken() );
141 evt.
layer = wxAtoi( tokens.GetNextToken() );
142 n_uuids = wxAtoi( tokens.GetNextToken() );
144 for(
int i = 0; i < n_uuids; i++)
145 evt.
uuids.push_back(
KIID( tokens.GetNextToken() ) );
void Log(EVENT_TYPE evt, const VECTOR2I &pos=VECTOR2I(), const ITEM *item=nullptr, const SIZES_SETTINGS *sizes=nullptr, int aLayer=0)
static wxString FormatLogFileAsString(int aMode, const std::vector< ITEM * > &aAddedItems, const std::set< KIID > &aRemovedItems, const std::vector< ITEM * > &aHeads, const std::vector< EVENT_ENTRY > &aEvents)
void LogM(EVENT_TYPE evt, const VECTOR2I &pos=VECTOR2I(), std::vector< ITEM * > items={}, const SIZES_SETTINGS *sizes=nullptr, int aLayer=0)
std::vector< KIID > uuids
wxString result
Test unit parsing edge cases and error handling.