EditorMainWindow::EditorMainWindow(EditorApplication* app, QWidget* parent) : QMainWindow(parent) , mApplication(app) , mEntityTreeDock(NULL) , mSpawnersDock(NULL) , mPropertyEditorDock(NULL) { mUpdateTimer = new QTimer(this); connect(mUpdateTimer, SIGNAL(timeout()), this, SLOT(EmitQueuedMessages())); mUpdateTimer->start(100); // register local message pump to receive messages from game message pump dtEntity::MessageFunctor functor(&mMessagePump, &dtEntity::MessagePump::EnqueueMessage); dtEntity::EntityManager& em = mApplication->GetEntityManager(); em.RegisterForMessages(dtEntity::ToolsUpdatedMessage::TYPE, functor); em.RegisterForMessages(dtEntity::SceneLoadedMessage::TYPE, functor); em.RegisterForMessages(dtEntity::SceneUnloadedMessage::TYPE, functor); em.RegisterForMessages(dtEntity::MapLoadedMessage::TYPE, functor); em.RegisterForMessages(dtEntity::MapUnloadedMessage::TYPE, functor); mMessagePump.RegisterForMessages(dtEntity::ToolsUpdatedMessage::TYPE, dtEntity::MessageFunctor(this, &EditorMainWindow::OnToolsUpdated)); mMessagePump.RegisterForMessages(dtEntity::SceneLoadedMessage::TYPE, dtEntity::MessageFunctor(this, &EditorMainWindow::OnSceneLoaded)); mMessagePump.RegisterForMessages(dtEntity::SceneUnloadedMessage::TYPE, dtEntity::MessageFunctor(this, &EditorMainWindow::OnSceneUnloaded)); mMessagePump.RegisterForMessages(dtEntity::MapLoadedMessage::TYPE, dtEntity::MessageFunctor(this, &EditorMainWindow::OnMapLoaded)); mMessagePump.RegisterForMessages(dtEntity::MapUnloadedMessage::TYPE, dtEntity::MessageFunctor(this, &EditorMainWindow::OnMapUnloaded)); setMinimumSize(800, 600); layout()->setContentsMargins(0, 0, 0, 0); setDockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks | QMainWindow::VerticalTabs); setWindowTitle("dtEntity Editor"); createActions(); createMenus(); createToolBars(); CreateDockWidgets(); connect(this, SIGNAL(LoadScene(const QString&)), app, SLOT(LoadScene(const QString&))); connect(this, SIGNAL(NewScene()), app, SLOT(NewScene())); connect(this, SIGNAL(SaveScene(QString)), app, SLOT(SaveScene(QString))); }
/* * Set up resources. */ void AddInitialResources() { ResAdd("Canvas", NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT)); ResAdd("Scene", NewScene()); #if 0 ResAdd("Mesh", NewMeshFromFile("data/shattered_ball.robj")); ResAdd("ColorMap", NewPixBufFromFile("data/shattered_ball_cmap.8")); ResAddPngImage("ColorMap", "Palette", "data/wecan_logo_cmap.png"); ResAdd("Palette", NewPaletteFromFile("data/shattered_ball_cmap.pal")); #else ResAdd("Mesh", NewMeshFromFile("data/wecan_logo.robj")); #endif { MeshT *mesh = R_("Mesh"); CalculateSurfaceNormals(mesh); NormalizeMeshSize(mesh); MeshApplyPalette(mesh, R_("Palette")); } SceneAddObject(R_("Scene"), NewSceneObject("Object", R_("Mesh"))); RenderMode = RENDER_GOURAUD_SHADING; RenderAllFaces = false; }
void SceneEditorScreenMain::OnNewPressed(BaseObject * obj, void *, void *) { NewScene(); bodies[0]->bodyControl->ReleaseScene(); bodies[0]->bodyControl->CreateScene(true); bodies[0]->bodyControl->Refresh(); }
void QtMainWindow::SetupActions() { QtMainWindowHandler *actionHandler = QtMainWindowHandler::Instance(); //File connect(ui->menuFile, SIGNAL(triggered(QAction *)), actionHandler, SLOT(FileMenuTriggered(QAction *))); connect(ui->actionNewScene, SIGNAL(triggered()), actionHandler, SLOT(NewScene())); connect(ui->actionOpenScene, SIGNAL(triggered()), actionHandler, SLOT(OpenScene())); connect(ui->actionOpenProject, SIGNAL(triggered()), actionHandler, SLOT(OpenProject())); connect(ui->actionSaveScene, SIGNAL(triggered()), actionHandler, SLOT(SaveScene())); connect(ui->actionSaveToFolder, SIGNAL(triggered()), actionHandler, SLOT(SaveToFolderWithChilds())); ui->actionExportPVRIOS->setData(GPU_POWERVR_IOS); ui->actionExportPVRAndroid->setData(GPU_POWERVR_ANDROID); ui->actionExportTegra->setData(GPU_TEGRA); ui->actionExportMali->setData(GPU_MALI); ui->actionExportAdreno->setData(GPU_ADRENO); ui->actionExportPNG->setData(GPU_UNKNOWN); connect(ui->menuExport, SIGNAL(triggered(QAction *)), actionHandler, SLOT(ExportMenuTriggered(QAction *))); connect(ui->actionReloadAll, SIGNAL(triggered()), actionHandler, SLOT(RepackAndReloadTextures())); //View connect(ui->actionRestoreViews, SIGNAL(triggered()), actionHandler, SLOT(RestoreViews())); //Tools connect(ui->actionMaterialEditor, SIGNAL(triggered()), actionHandler, SLOT(Materials())); connect(ui->actionTextureConverter, SIGNAL(triggered()), actionHandler, SLOT(ConvertTextures())); connect(ui->actionHeightMapEditor, SIGNAL(triggered()), actionHandler, SLOT(HeightmapEditor())); connect(ui->actionTileMapEditor, SIGNAL(triggered()), actionHandler, SLOT(TilemapEditor())); connect(ui->actionRulerTool, SIGNAL(triggered()), actionHandler, SLOT(RulerTool())); connect(ui->actionShowSettings, SIGNAL(triggered()), actionHandler, SLOT(ShowSettings())); connect(ui->actionSquareTextures, SIGNAL(triggered()), actionHandler, SLOT(SquareTextures())); connect(ui->actionShowMipmapLevel, SIGNAL(triggered()), actionHandler, SLOT(ReplaceZeroMipmaps())); #if defined (__DAVAENGINE_MACOS__) ui->menuTools->removeAction(ui->actionBeast); #else //#if defined (__DAVAENGINE_MACOS__) connect(ui->actionBeast, SIGNAL(triggered()), actionHandler, SLOT(Beast())); #endif //#if defined (__DAVAENGINE_MACOS__) //Edit connect(ui->actionConvertToShadow, SIGNAL(triggered()), actionHandler, SLOT(ConvertToShadow())); //Temporary hided for development-qa branch ui->actionEnableCameraLight->setVisible(false); ui->actionEnableCameraLight->setChecked(EditorSettings::Instance()->GetShowEditorCamerLight()); connect(ui->actionEnableCameraLight, SIGNAL(triggered()), actionHandler, SLOT(CameraLightTrigerred())); //Help connect(ui->actionHelp, SIGNAL(triggered()), actionHandler, SLOT(OpenHelp())); }
static void Init() { canvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT); uvmap = NewUVMap(WIDTH, HEIGHT, UV_FAST, 256, 256); UVMapGenerate2(uvmap); UVMapSetTexture(uvmap, texture); orig = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT); PixBufBlit(orig, 0, 0, NewPixBufWrapper(WIDTH, HEIGHT, uvmap->map.fast.u), NULL); scene = NewScene(); SceneAddObject(scene, NewSceneObject("Object", mesh)); shades = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT); InitDisplay(WIDTH, HEIGHT, DEPTH); LoadPalette(texturePal); }
void MpView::NewDataSet (int dataset_index, int graph_index) { if (dataset_index < 0) return; for (MpViewGraphMap::iterator i = Graphs.begin(); i != Graphs.end(); ++i) { int grf = i->first; if (dataset_index == i->second.iset && (graph_index < 0 || graph_index == grf)) { MpViewGraphData *G = &GD(grf); if (DataSetExists(dataset_index)) { switch (G->DS().GetDataType()) { case MpViewDataSet::a_EmptySet: // nothing to do break; case MpViewDataSet::a_Matrix: NewMatrix(G); break; case MpViewDataSet::a_Matrix3d: NewVolume(G); break; case MpViewDataSet::a_ComplexMatrix: NewComplexMatrix(G,G->DS().C); break; case MpViewDataSet::a_Scene: NewScene(G); break; case MpViewDataSet::a_XYZSet: NewXYZSet(G); break; case MpViewDataSet::a_Image: cerr<<"MpView::NewDataSet: IMAGE - can't happen"<<endl; break; default: cerr<<"MpView::NewDataSet: found illegal data set type" << endl; break; } } else { // data set doesn't exist (e.g. was deleted) -> unlink G->iset = -1; } } } }