TEST(SelectionTest, AddToSelection) { auto storageManager = std::make_shared<lc::storage::StorageManagerImpl>(); auto document = std::make_shared<lc::storage::DocumentImpl>(storageManager); auto docCanvas = std::make_shared<lc::viewer::DocumentCanvas>(document); auto layer = std::make_shared<lc::meta::Layer>(); std::shared_ptr<lc::operation::AddLayer> al = std::make_shared<lc::operation::AddLayer>(document, layer); al->execute(); auto builder = std::make_shared<lc::operation::EntityBuilder>(document); builder->appendEntity(std::make_shared<lc::entity::Line>(lc::geo::Coordinate(0,0,0), lc::geo::Coordinate(0, 10, 0), layer)); builder->appendEntity(std::make_shared<lc::entity::Line>(lc::geo::Coordinate(10,0,0), lc::geo::Coordinate(10, 10, 0), layer)); builder->execute(); docCanvas->makeSelection(0, 0, 1, 1, false); docCanvas->closeSelection(); docCanvas->makeSelection(9, 0, 1, 1, false); docCanvas->closeSelection(); EXPECT_EQ(2, docCanvas->selectedDrawables().size()); unsigned int i = 0; docCanvas->entityContainer().each<const lc::entity::CADEntity>([&](lc::entity::CADEntity_CSPtr di) { if(docCanvas->getDrawable(di)->selected()) { i++; } }); EXPECT_TRUE(i == docCanvas->selectedDrawables().size()); }
TEST(LuaUIOperationsTest, Rotate) { QApplication app(argc, argv); LuaInterface luaInterface; auto L = luaInterface.luaState(); luaInterface.hideUI(true); luaInterface.initLua(); auto mdiArea = LuaIntf::Lua::getGlobal<QMdiArea*>(L, "mdiArea"); if(mdiArea->subWindowList().count() == 0) { LuaIntf::LuaRef(L, "new_file")(); } mdiArea->setActiveSubWindow(mdiArea->subWindowList().at(0)); auto mdiChild = dynamic_cast<CadMdiChild*>(mdiArea->activeSubWindow()->widget()); auto storageManager = mdiChild->storageManager(); auto documentCanvas = mdiChild->viewer()->documentCanvas(); lc::entity::Line_CSPtr createdEntity; std::vector<lc::entity::CADEntity_CSPtr> entities; entities = storageManager->entityContainer().asVector(); for(auto entity : entities) { storageManager->removeEntity(entity); } EXPECT_EQ(0, storageManager->entityContainer().asVector().size()); LuaIntf::LuaRef(L, "create_line")(); LuaIntf::LuaRef(L, "event.trigger")("point", lc::geo::Coordinate(0, 0)); LuaIntf::LuaRef(L, "event.trigger")("point", lc::geo::Coordinate(100, 100)); EXPECT_EQ(1, storageManager->entityContainer().asVector().size()) << "Line was not created"; documentCanvas->makeSelection(0, 0, 100, 100, false, false); documentCanvas->closeSelection(); EXPECT_EQ(1, mdiChild->selection().size()) << "Entity not selected"; LuaIntf::LuaRef(L, "rotate_selected_entities")(); LuaIntf::LuaRef(L, "event.trigger")("point", lc::geo::Coordinate(0, 0)); LuaIntf::LuaRef(L, "event.trigger")("point", lc::geo::Coordinate(0, 100)); LuaIntf::LuaRef(L, "event.trigger")("point", lc::geo::Coordinate(100, 0)); entities = storageManager->entityContainer().asVector(); createdEntity = std::dynamic_pointer_cast<const lc::entity::Line>(entities.at(0)); EXPECT_EQ(lc::geo::Coordinate(0, 0), createdEntity->start()); EXPECT_EQ(lc::geo::Coordinate(100, -100), createdEntity->end()); }
void KWQFileButton::filenameChanged() { if (m_chooser) { const QString filename(gtk_file_selection_get_filename (GTK_FILE_SELECTION (m_chooser))); setFilename(filename); closeSelection(); } m_textChanged.call(filename()); }