ModelGeneratorContext::ModelGeneratorContext() : ownedDoc(createEmptyDocument()), doc(ownedDoc), symbols(new LLVMModelDataSymbols(doc->getModel(), 0)), modelSymbols(new LLVMModelSymbols(getModel(), *symbols)), errString(new string()), options(0), functionPassManager(0) { // initialize LLVM // TODO check result InitializeNativeTarget(); context = new LLVMContext(); // Make the module, which holds all the code. module = new Module("LLVM Module", *context); builder = new IRBuilder<>(*context); errString = new std::string(); EngineBuilder engineBuilder(module); //engineBuilder.setEngineKind(EngineKind::JIT); engineBuilder.setErrorStr(errString); executionEngine = engineBuilder.create(); addGlobalMappings(); }
void KisActionManagerTest::testUpdateGUI() { KisDoc2* doc = createEmptyDocument(); KoMainWindow* shell = new KoMainWindow(doc->documentPart()->componentData()); KisView2* view = new KisView2(static_cast<KisPart2*>(doc->documentPart()), static_cast<KisDoc2*>(doc), shell); doc->documentPart()->addView(view); KisAction* action = new KisAction("dummy", this); action->setActivationFlags(KisAction::ACTIVE_DEVICE); view->actionManager()->addAction("dummy", action, view->actionCollection()); KisAction* action2 = new KisAction("dummy", this); action2->setActivationFlags(KisAction::ACTIVE_SHAPE_LAYER); view->actionManager()->addAction("dummy", action2, view->actionCollection()); view->actionManager()->updateGUI(); QVERIFY(!action->isEnabled()); QVERIFY(!action2->isEnabled()); KisPaintLayerSP paintLayer1 = new KisPaintLayer(doc->image(), "paintlayer1", OPACITY_OPAQUE_U8); doc->image()->addNode(paintLayer1); view->actionManager()->updateGUI(); QVERIFY(action->isEnabled()); QVERIFY(!action2->isEnabled()); }
void KisActionManagerTest::testTakeAction() { KisDoc2* doc = createEmptyDocument(); KoMainWindow* shell = new KoMainWindow(doc->documentPart()->componentData()); KisView2* view = new KisView2(static_cast<KisPart2*>(doc->documentPart()), static_cast<KisDoc2*>(doc), shell); doc->documentPart()->addView(view); KisAction* action = new KisAction("dummy", this); view->actionManager()->addAction("dummy", action, view->actionCollection()); QVERIFY(view->actionManager()->actionByName("dummy") != 0); view->actionManager()->takeAction(action); QVERIFY(view->actionManager()->actionByName("dummy") == 0); }
void KisActionManagerTest::testCondition() { KisDoc2* doc = createEmptyDocument(); KoMainWindow* shell = new KoMainWindow(doc->documentPart()->componentData()); KisView2* view = new KisView2(static_cast<KisPart2*>(doc->documentPart()), static_cast<KisDoc2*>(doc), shell); doc->documentPart()->addView(view); KisAction* action = new KisAction("dummy", this); action->setActivationFlags(KisAction::ACTIVE_DEVICE); action->setActivationConditions(KisAction::ACTIVE_NODE_EDITABLE); view->actionManager()->addAction("dummy", action, view->actionCollection()); KisPaintLayerSP paintLayer1 = new KisPaintLayer(doc->image(), "paintlayer1", OPACITY_OPAQUE_U8); doc->image()->addNode(paintLayer1); view->actionManager()->updateGUI(); QVERIFY(action->isEnabled()); // visible paintLayer1->setVisible(false); view->actionManager()->updateGUI(); QVERIFY(!action->isEnabled()); paintLayer1->setVisible(true); view->actionManager()->updateGUI(); QVERIFY(action->isEnabled()); // locked paintLayer1->setUserLocked(true); view->actionManager()->updateGUI(); QVERIFY(!action->isEnabled()); paintLayer1->setUserLocked(false); view->actionManager()->updateGUI(); QVERIFY(action->isEnabled()); }