40 std::vector<SessionItem*> expected = {item0, item1, item2, item3};
46 EXPECT_EQ(std::get<bool>(command.
result()),
true);
49 expected = {item0, item2, item1, item3};
54 EXPECT_EQ(std::get<bool>(command.
result()),
true);
55 expected = {item0, item1, item2, item3};
60 EXPECT_EQ(std::get<bool>(command.
result()),
true);
63 expected = {item0, item2, item1, item3};
76 std::vector<SessionItem*> expected = {item0, item1, item2, item3};
82 EXPECT_EQ(std::get<bool>(command.
result()),
true);
86 expected = {item0, item1, item2, item3};
91 EXPECT_EQ(std::get<bool>(command.
result()),
true);
94 expected = {item0, item1, item2, item3};
107 std::vector<SessionItem*> expected = {item0, item1, item2, item3};
113 EXPECT_EQ(std::get<bool>(command.
result()),
true);
117 expected = {item0, item2, item1, item3};
122 EXPECT_EQ(std::get<bool>(command.
result()),
true);
125 expected = {item0, item1, item2, item3};
138 std::vector<SessionItem*> expected = {item0, item1, item2, item3};
144 EXPECT_EQ(std::get<bool>(command.
result()),
true);
148 expected = {item1, item2, item3, item0};
153 EXPECT_EQ(std::get<bool>(command.
result()),
true);
156 expected = {item0, item1, item2, item3};
169 std::vector<SessionItem*> expected = {item0, item1, item2, item3};
175 EXPECT_EQ(std::get<bool>(command.
result()),
true);
179 expected = {item1, item2, item3, item0};
184 EXPECT_EQ(std::get<bool>(command.
result()),
true);
187 expected = {item0, item1, item2, item3};
202 std::vector<SessionItem*> expected = {item0, parent};
206 expected = {child0, child1};
207 EXPECT_EQ(parent->
children(), expected);
212 EXPECT_EQ(std::get<bool>(command.result()),
true);
213 EXPECT_EQ(command.isObsolete(),
false);
220 expected = {child0, item0, child1};
221 EXPECT_EQ(parent->
children(), expected);
225 EXPECT_EQ(std::get<bool>(command.result()),
true);
226 EXPECT_EQ(command.isObsolete(),
false);
229 expected = {item0, parent};
233 expected = {child0, child1};
234 EXPECT_EQ(parent->
children(), expected);
248 std::vector<SessionItem*> expected = {item0, parent};
252 expected = {child0, child1};
253 EXPECT_EQ(parent->
children(), expected);
258 EXPECT_EQ(std::get<bool>(command.
result()),
true);
262 expected = {child0, item0, parent};
267 EXPECT_EQ(parent->
children(), expected);
271 EXPECT_EQ(std::get<bool>(command.
result()),
true);
275 expected = {item0, parent};
279 expected = {child0, child1};
280 EXPECT_EQ(parent->
children(), expected);
296 std::vector<SessionItem*> expected = {parent};
300 expected = {child0, child1, child2, child3};
301 EXPECT_EQ(parent->
children(), expected);
306 EXPECT_EQ(std::get<bool>(command.result()),
true);
307 EXPECT_EQ(command.isObsolete(),
false);
314 expected = {child2, child0, child1, child3};
315 EXPECT_EQ(parent->
children(), expected);
316 expected = {child2, child0, child1};
317 EXPECT_EQ(parent->
getItems(
"tag1"), expected);
319 EXPECT_EQ(parent->
getItems(
"tag2"), expected);
323 EXPECT_EQ(std::get<bool>(command.result()),
true);
324 EXPECT_EQ(command.isObsolete(),
false);
331 expected = {child0, child1};
332 EXPECT_EQ(parent->
getItems(
"tag1"), expected);
333 expected = {child2, child3};
334 EXPECT_EQ(parent->
getItems(
"tag2"), expected);
void undo()
Undo command as it was before execution.
CommandResult result() const
void execute()
Execute command.
bool isObsolete() const
Returns whether the command is obsolete (which means that it shouldn't be kept in the stack).
Command for unddo/redo framework to move item from one parent to another.
The main object representing an editable/displayable/serializable entity.
std::vector< SessionItem * > getItems(const std::string &tag) const
Returns all children stored at given tag.
void registerTag(const TagInfo &tagInfo, bool set_as_default=false)
Registers tag to hold items under given name.
std::vector< SessionItem * > children() const
Returns vector of children formed from all chidlren from all tags.
Main class to hold hierarchy of SessionItem objects.
SessionItem * rootItem() const
Returns root item of the model.
T * insertItem(SessionItem *parent=nullptr, const TagRow &tagrow={})
Inserts item into given parent under given tagrow.
static TagInfo universalTag(std::string name, std::vector< std::string > modelTypes={})
Constructs universal tag intended for unlimited amount of various items.
TEST_F(MoveItemCommandTest, rootContextNext)
materialitems.h Collection of materials to populate MaterialModel.