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));
}
示例#2
0
文件: TestXPF.cpp 项目: wpbest/XPF
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;
}
示例#3
0
文件: widgets.c 项目: nnesse/tbftss
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();
  }
示例#5
0
文件: main.cpp 项目: WendyHanzer/4s
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
示例#6
0
文件: main.cpp 项目: WendyHanzer/4s
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