OverwriteDialog::OverwriteDialog(const Glib::RefPtr<Gtk::Builder>& refGlade) : actualFile(NULL) { loadWidgets(refGlade); rename->signal_clicked().connect(sigc::mem_fun(*this, &OverwriteDialog::renameClicked)); overwrite->signal_clicked().connect(sigc::mem_fun(*this, &OverwriteDialog::overwriteClicked)); cancel->signal_clicked().connect(sigc::mem_fun(*this, &OverwriteDialog::cancelClicked)); overwriteWindow->signal_hide().connect(sigc::mem_fun(*this, &OverwriteDialog::hide)); }
int main() { // Create the window sf::RenderWindow window(sf::VideoMode(400, 300), "TestXPF"); tgui::Gui gui(window); try { // Load the font gui.setFont("../../fonts/DejaVuSans.ttf"); // Load the widgets loadWidgets(gui); } catch (const tgui::Exception& e) { std::cerr << "Failed to load TGUI widgets: " << e.what() << std::endl; return 1; } // Main loop while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { // When the window is closed, the application ends if (event.type == sf::Event::Closed) window.close(); // When the window is resized, the view is changed else if (event.type == sf::Event::Resized) { window.setView(sf::View(sf::FloatRect(0, 0, event.size.width, event.size.height))); gui.setView(window.getView()); } // Pass the event to all the widgets gui.handleEvent(event); } window.clear(); // Draw all created widgets gui.draw(); window.display(); } return EXIT_SUCCESS; }
void initWidgets(void) { memset(&head, 0, sizeof(Widget)); tail = &head; selectedWidget = NULL; loadWidgets("data/widgets/list.json"); drawingWidgets = 0; optionsLeft = getTexture("gfx/widgets/optionsLeft.png"); optionsRight = getTexture("gfx/widgets/optionsRight.png"); }
void Storage::loadNewSong(MPD::Song s) { // save current file currentArtist->saveArtist(filePath); if (Config::GetInstance()->isRemoteStorageEnabled()) { // save to shared storage if (remoteSaveArtist(filePath)) { currentArtist->setSynced(true); } else { currentArtist->setSynced(false); } // save with sync flags currentArtist->saveArtist(filePath); } // clear current Artist currentArtist->clear(); // load new data to storage filePath = createArtistFilePath(s.GetArtist()); currentArtist->name.set(s.GetArtist()); currentArtist->album.set(s.GetAlbum()); // check if file exists // search in local temp currentArtist->loadArtistFromFile(filePath); // if is enabled remote sharing, share if (Config::GetInstance()->isRemoteStorageEnabled()) { // remote load artist std::string remoteArtistContent = remoteLoadArtist(s.GetArtist()); currentArtist->loadArtistFromRemoteContent(remoteArtistContent); } // classificate artist currentArtist->loadClassificator(); currentArtist->classificateArtist(); loadWidgets(); }
int main(int argc, char** argv) { const int WIDTH = 800; const int HEIGHT = 600; /* * Create window */ sf::RenderWindow window(sf::VideoMode(WIDTH, HEIGHT), "Window", sf::Style::Default, sf::ContextSettings(32)); /* * Initialize GLEW */ GLenum status = glewInit(); if(status != GLEW_OK) { std::cerr << "[F] GLEW NOT INITIALIZED: "; std::cerr << glewGetErrorString(status) << std::endl; window.close(); return -1; } /* * Create GUI */ tgui::Gui gui(window); tgui::Gui gui2(window); gui.setGlobalFont("fonts/DejaVuSans.ttf"); loadWidgets(gui, gui2, window); /* * load geometry */ GLuint vbo_geometry; loadGeometry(vbo_geometry); /* * load shader */ Shader shader; if (!shader.loadShadersFile(argc >= 2? argv[1] : 0, argc >= 3? argv[2] : 0)) { window.close(); return -1; } //if /* * create program */ Program program; if (!program.loadShader(shader)) { window.close(); return -1; } //if glEnable(GL_DEPTH_TEST); glDepthMask(GL_TRUE); glClearDepth(1.f); Camera camera; sf::Event event; tgui::Callback callback; Model model; sf::Clock clock; /* * main loop */ //spin is the object spinning about its y-axis //rotation is the object translating around the origin in a circle float spinRate = M_PI; float rotationRate = M_PI/2; while (window.isOpen()) { while (window.pollEvent(event)) { switch (event.type) { case sf::Event::Closed: window.close(); break; case sf::Event::Resized: glViewport(0, 0, event.size.width, event.size.height); camera.projection = glm::perspective(45.0f, float(event.size.width)/float(event.size.height), 0.01f, 100.0f); break; case sf::Event::KeyPressed: switch(event.key.code) { case sf::Keyboard::Escape: cleanUp(vbo_geometry, window); exit(0); break; case sf::Keyboard::Up: if (!simPaused) { rotationRate += 0; //if wanting to modify rotation spinRate += .1; } break; case sf::Keyboard::Down: if (!simPaused) { rotationRate -= 0; //if wanting to modify rotation spinRate -= .1; } break; default: break; } //switch break; case sf::Event::MouseButtonPressed: switch (event.key.code) { case sf::Mouse::Left: //rotationRate *= -1; //if wanting to modify rotation spinRate *= -1; break; default: break; } //switch break; default: break; } //switch gui.handleEvent(event); } //if while (gui.pollCallback(callback)) { gui.handleEvent(event); } //if update(model, spinRate, rotationRate, clock.restart().asSeconds()); window.clear(); window.pushGLStates(); gui2.draw(); window.popGLStates(); glClear(GL_DEPTH_BUFFER_BIT); /* * render OpenGL here */ glUseProgram(program.program); glEnableVertexAttribArray(program.location.position); glEnableVertexAttribArray(program.location.color); glBindBuffer(GL_ARRAY_BUFFER, vbo_geometry); render(model, camera, program); glBindBuffer(GL_ARRAY_BUFFER, 0); glDisableVertexAttribArray(program.location.position); glDisableVertexAttribArray(program.location.color); glUseProgram(0); window.pushGLStates(); gui.draw(); window.popGLStates(); window.display(); } //while // Clean up after ourselves cleanUp(vbo_geometry, window); return EXIT_SUCCESS; } //main
int main(int argc, char** argv) { --argc; ++argv; const int WIDTH = 800; const int HEIGHT = 600; /* * Create window */ sf::RenderWindow window(sf::VideoMode(WIDTH, HEIGHT), "Window", sf::Style::Default, sf::ContextSettings(32)); /* * Initialize GLEW */ GLenum status = glewInit(); if(status != GLEW_OK) { std::cerr << "[F] GLEW NOT INITIALIZED: "; std::cerr << glewGetErrorString(status) << std::endl; window.close(); return -1; } glEnable(GL_TEXTURE_2D); glEnable(GL_DEPTH_TEST); glDepthMask(GL_TRUE); //glFrontFace(GL_CW); //glCullFace(GL_BACK); //glEnable(GL_CULL_FACE); glClearDepth(1.f); glShadeModel(GL_SMOOTH); /* * Create GUI */ tgui::Gui gui(window); tgui::Gui gui2(window); gui.setGlobalFont("fonts/DejaVuSans.ttf"); loadWidgets(gui, gui2, window); char* args[argc + 1]; /* * load geometry */ Model cube; getArgs(argc, argv, ".obj", args); if (!args[0]) { std::cerr << "[F] MUST SUPPLY 1+ OBJ FILES IN COMMAND LINE ARGS <filename.obj>" << std::endl; exit(-1); } //if cube.mesh = loadMesh(args[0]); if (!cube.mesh) { exit(-1); } //if getArgs(argc, argv, ".scale", args); if (args[0]) { cube.scale = glm::vec3(strtof(args[0], NULL)); } //if else { cube.scale = glm::vec3(1.0f); } //else /* * load shaders */ Shader vertexShader(GL_VERTEX_SHADER); getArgs(argc, argv, ".vs", args); vertexShader.loadFromFile(args[0]? args[0] : ".vs"); vertexShader.compile(); Shader fragmentShader(GL_FRAGMENT_SHADER); getArgs(argc, argv, ".fs", args); fragmentShader.loadFromFile(args[0]? args[0] : ".fs"); fragmentShader.compile(); /* * create program */ ShaderProgram program; program.attachShader(vertexShader); program.attachShader(fragmentShader); program.linkProgram(); program.addAttribute("vertexPosition_modelspace"); program.addAttribute("vertexUV"); //program.addAttribute("vertexNormal_modelspace"); program.addUniform("MVP"); program.addUniform("sampler"); Camera camera; sf::Event event; tgui::Callback callback; Planet p(&cube); /* * main loop */ while (window.isOpen()) { while (window.pollEvent(event)) { switch (event.type) { case sf::Event::Closed: window.close(); break; case sf::Event::Resized: glViewport(0, 0, event.size.width, event.size.height); camera.projection = glm::perspective(45.0f, float(event.size.width)/float(event.size.height), 0.01f, 100.0f); break; default: break; } //switch gui.handleEvent(event); } //if while (gui.pollCallback(callback)) { gui.handleEvent(event); } //if window.clear(); guiDraw(window, gui2); glClear(GL_DEPTH_BUFFER_BIT); /* * render OpenGL here */ //glValidateProgram(program.program); for (Planet* planet : planets) { render(*planet, camera, program); } //for guiDraw(window, gui); window.display(); } //while // Clean up after ourselves if (window.isOpen()) { window.close(); } //if return EXIT_SUCCESS; } //main