int main (int argc, char *argv[]) { QApplication app(argc,argv); MaFenetre fenetre(200,200); fenetre.show(); return app.exec(); }
int main(int argc, char *argv[]) { QApplication app(argc, argv); FenPrincipale fenetre(800, 600); fenetre.show(); return app.exec(); }
int main(int argc, char * argv[]) { QApplication app(argc, argv); // EXO 28 // QWidget fenetre; // fenetre.setFixedSize(200, 200); // QVBoxLayout layout(&fenetre); // QLineEdit identificateur(&fenetre); // identificateur.setFixedWidth(180); // //identificateur.move(10,10); // layout.addWidget(&identificateur); // QTextEdit titre(&fenetre); // titre.setFixedSize(180,110); // //titre.move(10,45); // layout.addWidget(&titre); // QPushButton save("Sauver", &fenetre); // save.setFixedWidth(80); // //save.move(10,170); // layout.addWidget(&save); // //fenetre.setLayout(&layout); // QString file = QFileDialog::getOpenFileName(0,QString(),"../TD7"); // qDebug()<<file; // TacheManager& tm = TacheManager::getInstance(); // try {tm.load(file);} // catch(...){} // Tache& t = tm.getTache("T1"); // identificateur.setText(t.getId()); // titre.setText(t.getTitre()); // fenetre.show(); // EXO 29 TacheManager& m=TacheManager::getInstance(); QString chemin = QFileDialog::getOpenFileName(0,QString(),"../TD7"); m.load(chemin); Tache& t=m.getTache("T2"); TacheEditeur fenetre(t); fenetre.setTacheManager(&m); fenetre.setFile(&chemin); fenetre.show(); return app.exec(); }
void Favoris::afficher(void) { QSqlQuery requete(db_fav); QDialog fenetre(this,Qt::Window); QGridLayout layout; QTreeWidget arbre; layout.addWidget(&arbre,0,0); fenetre.setLayout(&layout); fenetre.exec(); }
int main( int argc, char *argv[] ) { // créer une fenêtre FenetreTP fenetre( "INF2705 TP" ); // allouer des ressources et définir le contexte OpenGL initialiser(); bool boucler = true; while ( boucler ) { // affichage fenetre.afficherScene(); fenetre.swap(); // récupérer les événements et appeler la fonction de rappel boucler = fenetre.gererEvenement(); } // détruire les ressources OpenGL allouées conclure(); return 0; }
int main(int argc, char **argv) { // Notre fenêtre SDL_Window* fenetre(0); SDL_GLContext contexteOpenGL(0); SDL_Event event; bool done(false); // Initialisation de la SDL if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_HAPTIC) < 0) { std::cout << "Erreur lors de l'initialisation de la SDL : " << SDL_GetError() << std::endl; SDL_Quit(); return -1; } IMG_Init(IMG_INIT_JPG | IMG_INIT_PNG); // Version d'OpenGL SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); // Double Buffer SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1); // Création de la fenêtre fenetre = SDL_CreateWindow( "NGEngine - 01Basic", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL ); if(fenetre == 0) { std::cout << "Erreur lors de la creation de la fenetre : " << SDL_GetError() << std::endl; SDL_Quit(); return -1; } // Création du contexte OpenGL contexteOpenGL = SDL_GL_CreateContext(fenetre); if(contexteOpenGL == 0) { std::cout << SDL_GetError() << std::endl; SDL_DestroyWindow(fenetre); SDL_Quit(); return -1; } // On initialise GLEW GLenum initialisationGLEW( glewInit() ); // Si l'initialisation a échouée : if(initialisationGLEW != GLEW_OK) { // On affiche l'erreur grâce à la fonction : glewGetErrorString(GLenum code) std::cout << "Erreur d'initialisation de GLEW : " << glewGetErrorString(initialisationGLEW) << std::endl; // On quitte la SDL SDL_GL_DeleteContext(contexteOpenGL); SDL_DestroyWindow(fenetre); SDL_Quit(); return -1; } glClearColor(0.3, 0.3, 0.5, 1.); // Vertices et coordonnées // float vertices[] = {-0.5, -0.5, 0.0, 0.5, 0.5, -0.5}; // Création de la subscene nge::scene::Scene scene; nge::scene::SubScene *subscene = new nge::scene::SubScene(600, 800, 600, 0, 0); scene.add(subscene); Sint32 vertices[] = { 0, 0, 160, 0, 0, 160, 160, 160, }; Uint8 colors[] = { 255, 0, 0, 255, 0, 255, 255, 255, 0, 255, 0, 255, 0, 0, 255, 255 }; double texcoords[] { 0., 0., 1., 0., 0., 1., 1., 1. }; nge::texture::Texture *tex = NGE_SDL_Texture_Load("nge.png"); nge::video::D2::entity::Basic e1(4, 1, GL_TRIANGLE_STRIP), e2(4, 1, GL_TRIANGLE_STRIP), e3(4, 1, GL_TRIANGLE_STRIP), e4(4, 1, GL_TRIANGLE_STRIP); nge::video::shader::Shader *shaders[3]; shaders[0] = new nge::video::shader::Shader(); if(!shaders[0]->load_files("Shaders/vertex2.vert", "Shaders/vertex2.frag")) printf("fichiers des shaders non trouvés.\n"); shaders[1] = new nge::video::shader::Shader(); if(!shaders[1]->load_files("Shaders/vertex2color4.vert", "Shaders/vertex2color4.frag")) printf("fichiers des shaders non trouvés.\n"); shaders[2] = new nge::video::shader::Shader(); if(!shaders[2]->load_files("Shaders/vertex2color4tex2.vert", "Shaders/vertex2color4tex2.frag")) printf("fichiers des shaders non trouvés.\n"); if(!shaders[0]->compile()) printf("shaders not compiled\n"); else printf("shaders compiled\n"); if(!shaders[1]->compile()) printf("shaders not compiled\n"); else printf("shaders compiled\n"); if(!shaders[2]->compile()) printf("shaders not compiled\n"); else printf("shaders compiled\n"); shaders[0]->set_matrix(&subscene->_projection, &subscene->_modelview); shaders[1]->set_matrix(&subscene->_projection, &subscene->_modelview); shaders[2]->set_matrix(&subscene->_projection, &subscene->_modelview); e1.setVertexBuf(vertices, false); // (x, y) couples e1._shader = shaders[0]; e2.setVertexBuf(vertices, false); // (x, y) couples e2.setColorBuf(colors, false); e2._shader = shaders[1]; *(e2.getPosition()) = glm::vec2(165, 0); e3.setVertexBuf(vertices, false); // (x, y) couples e3.setColorBuf(colors, false); e3.setTexCoords(texcoords, false); e3.setTexture(tex, true); // free the texture e3._shader = shaders[2]; *(e3.getPosition()) = glm::vec2(330, 0); e4.setVertexBuf(vertices, false); // (x, y) couples e4.setColorBuf(colors, false); e4.setTexCoords(texcoords, false); e4.setTexture(tex, false); // don't free the texture e4._shader = shaders[2]; *(e4.getPosition()) = glm::vec2(0, 170); subscene->add(&e1); subscene->add(&e2); subscene->add(&e3); subscene->add(&e4); char down; nge::video::D2::Camera *cam; cam = subscene->getCamera2D(); bool t[6] = {0}; // Boucle principale while(!done) { while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT: done = 1; break; case SDL_KEYDOWN: switch (event.key.keysym.sym) { case SDLK_ESCAPE: done = 1; break; case SDLK_LEFT: t[0] = 1; break; case SDLK_RIGHT: t[1] = 1; break; case SDLK_UP: t[2] = 1; break; case SDLK_DOWN: t[3] = 1; break; case SDLK_z: t[4] = 1; break; case SDLK_s: t[5] = 1; break; default: break; } break; case SDL_KEYUP: switch (event.key.keysym.sym) { case SDLK_LEFT: t[0] = 0; break; case SDLK_RIGHT: t[1] = 0; break; case SDLK_UP: t[2] = 0; break; case SDLK_DOWN: t[3] = 0; break; case SDLK_z: t[4] = 0; break; case SDLK_s: t[5] = 0; break; default: break; } break; default: break; } } #define NB 5 if(t[0]) cam->moveX(-NB); else; if(t[1]) cam->moveX(NB); else; if(t[2]) cam->moveY(-NB); else; if(t[3]) cam->moveY(NB); else; #undef NB if(t[4]) { cam->increaseWidth(- cam->getZoomXSpeed() * 2); cam->increaseHeight(- cam->getZoomYSpeed() * 2); } else; if(t[5]) { cam->increaseWidth(cam->getZoomXSpeed() * 2); cam->increaseHeight(cam->getZoomYSpeed() * 2); } else; // on met à jour if(e4._alpha == 255) down = -5; else if(e4._alpha == 0) down = 5; e4._alpha += down; // Nettoyage de l'écran glClear(GL_COLOR_BUFFER_BIT); subscene->draw(); // Actualisation de la fenêtre SDL_GL_SwapWindow(fenetre); SDL_Delay(10); } // On quitte la SDL delete shaders[0]; delete shaders[1]; delete shaders[2]; SDL_GL_DeleteContext(contexteOpenGL); SDL_DestroyWindow(fenetre); SDL_Quit(); return 0; }
bool Favoris::add(TFavoris * fav) { QSqlQuery requete(db_fav); QDialog fenetre(this); QComboBox liste_dossiers; QLineEdit champ_nom(fav->nom); QDialogButtonBox btn(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal); QFormLayout layout; QStringList dossiers; liste_dossiers.setEditable(true); layout.addRow("nom du favoris :",&champ_nom); layout.addRow("Dossier :",&liste_dossiers); layout.addRow(&btn); fenetre.setLayout(&layout); connect(&btn,SIGNAL(accepted()),&fenetre,SLOT(accept())); connect(&btn,SIGNAL(rejected()),&fenetre,SLOT(close())); //on remplit la liste des dossiers if(requete.exec("Select nom_dossier from dossiers")) { while(requete.next()) dossiers << requete.value(0).toString(); } else QMessageBox::critical(this,"Erreur","Problème survenu lors de la lecture des dossiers : " + requete.lastError().text()); liste_dossiers.addItems(dossiers); if(fenetre.exec()) //si on click sur Save { QByteArray bytes; QBuffer buffer(&bytes); buffer.open(QIODevice::WriteOnly); QPixmap pix = fav->favicon.pixmap(16,16); pix.save(&buffer,"png"); requete.prepare("INSERT INTO adresses (url,nom_favoris,dossier,favicon) VALUES (:url,:nom,:dossier,:favicon);"); requete.bindValue(":url",fav->url,QSql::In); requete.bindValue(":nom",champ_nom.text(),QSql::In); requete.bindValue(":dossier",liste_dossiers.currentText(),QSql::In); requete.bindValue(":favicon",buffer.data(),QSql::In | QSql::Binary); buffer.close(); if(dossiers.contains(liste_dossiers.currentText())) //si le dossier existe déjà { if(!requete.exec()) { QMessageBox::critical(this,"Erreur","Problème survenu lors de l'enregistrement' : " + requete.lastError().text()); return false; } } else //sinon on doit l'ajouter dans la base de données... { //if(!requete.exec("INSERT INTO adresses (url,nom_favoris,dossier,favicon) VALUES ('"+fav->url+"','"+champ_nom.text()+"','"+liste_dossiers.currentText()+"','"+QVariant(fav->favicon).toByteArray()+"');")) if(!requete.exec()) { QMessageBox::critical(this,"Erreur","Problème survenu lors de l'enregistrement (adresse) : " + requete.lastError().text()); return false; } if(!requete.exec("INSERT INTO dossiers (nom_dossier,parent) VALUES ('"+liste_dossiers.currentText()+"','favoris');")) { QMessageBox::critical(this,"Erreur","Problème survenu lors de l'enregistrement (dossier) : " + requete.lastError().text()); return false; } } } else return false; //si l'enregistrement à merdé... fav->nom = champ_nom.text(); //nom sous lequel le lien à été enregitsré fav->path = liste_dossiers.currentText(); //nom du dossier dans lequel l'ajout à été fait... return true; //si l'enregistrement s'est bien passé }