Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 4 janv. 2007 à 22:13
??
Quel est le pb avec le .cpp?
Tu mets tout le contenu du .cpp dans un #ifdef/#endif...
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 4 janv. 2007 à 12:43
Alors, dans l'ordre:
Pour les indentations (et les fautes d'ortho), j'ai dû coder ça entre minuit et 5h du mat, ceci explique cela.
Pour les define, c'est simplement parce que ta méthode ne marche pas: n'oublie pas qu'il y a un .cpp derrière. avec ma méthode, un peu crade je l'avoue, toutes les fonctions sont inlinées en fonction(){}; -> tu n'as pas à virer tout le code lors de la release.
Pour l'homogénéité -> ok je regarderai ça
Pour le focus, je sais pas trop comment faire :/
et c'est a peu près tout :)
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 31 déc. 2006 à 01:18
Yep salut Arnaud (et Kirua au passage ^^), je viens de parcourir ta source :)
Je vais faire ce que je n'ai pas fait depuis si longtemps sur CppFrance : une critique constructive :D
Donc d'abord les points positifs : très très bonne source en fait, c'est vrai que c'est très pratique et propre, simple d'utilisation, utile, bien commentée et "personnalisable" avec quelques #defines : j'aime beaucoup :)
Bon maintenant les points négatifs :p :
-l'indentation où tu mélanges des espaces et des tabulations...'fin ça c'est personnel hein mais j'aime bien quand c'est homogène...bon ok on s'en fout :p
-#define CGTKwin dumpGTKwin ou #define CGTKwin _CGTKwin : pour quoi faire?
Pourquoi ne pas faire plus simplement :
#ifndef GTKWIN_DISABLE
class CGTKwin
{
void Init(); // l'implémentation sera dans le .cpp
// blabla...
};
#else
class CGTKwin
{
void Init(){} // implémentation vide
// blabla...
};
#endif
-pourquoi get_win() et par GetWin() ? Ta façon de nommer les fonctions n'est pas homogène...
-les variagles globales qui sont dans le namespace NDebug : soit les mettre en static au sens C du terme, c'est à dire non visibles depuis un autre fichier .cpp (ça ne coûte rien et c'est plus propre ^^), soit les mettre en private et static au sens C++ du terme dans la classe CGTKwin, ce qui est bcp + logique non??
-on peut écrire sur la zone de texte GTK+, je pense qu'on doit pouvoir empêcher ça en 1 seule ligne de code...tu me diras, de toutes façons c'est juste pour du débuggage donc c'est pas important...
-au démarrage de ton prog, le focus est donné à la fenêtre GTK+, alors que ce serait plus logique de le donner à la fenêtre GLFW. Détail aussi, et puis ça dépend surtout du programme que l'on débuggue plutôt que de CGTKwin : peut-on créer une fenêtre GTK+ sans qu'elle ait le focus?? (ou sinon faudrait que CGTKwin appelle une fonction GLFW qui donnerait le focus à la fenêtre GLFW : cette fonction existe-t-elle?)
Bon et puis quelques fautes d'ortho/de frappe...(dsl ^^) :
-appellés -> appelés (CGTKwin.cpp)
-appeller -> appeler (CGTKwin.cpp)
-Fenêtre désactivés -> Fenêtre désactivée (CGTKwin.h)
-calbacks -> callbacks (CGTKwin.cpp)
Voili voilou, ça faisait longtemps que je ne faisais pas ça :)
A tous les programmeurs OpenGL : c'est vraiment utile, vous devriez vous en servir, et puis c'est un pote à moi qui l'a faite, elle est forcément bien cette source :p
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 24 déc. 2006 à 22:53
Tu devrais mettre l'accent sur le côté ultra pratique de ta classe. Je vais le faire pour toi:
vous déclarez l'objet une bonne fois pour toutes, et puis partout dans votre programme très compliqué et bourrant à compiler / débugger, vous enregistrez les variables sensibles que vous aimeriez suivre en temps réel, et pouvoir modifier aisément. En une ligne, elles apparaitront de façon ergonomique dans la petite fenêtre GTK+. Et quand le debug est terminé et que vous voulez distribuer: pops, on désactive. MAIS: faut pas commenter partout dans le code. Puisque 2 jours après la release, on vous signale un bug: pas de problème, on réactive, et on recommence ^^.
Il y a vraiment du potentiel pour ce genre de choses :).
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 24 déc. 2006 à 17:38
Oh juste une remarque en passant : J'ai fait cette source pour pouvoir modifier rapidement des petits trucs chiants genre la couleur de particules, etc, sans avoir à compiler 20 fois pour trouver la bonne teinte ou la bonne taille ou une taille de police qui va bien, etc.
C'est uniquement à ça que ça sert ;)
4 janv. 2007 à 22:13
Quel est le pb avec le .cpp?
Tu mets tout le contenu du .cpp dans un #ifdef/#endif...
4 janv. 2007 à 12:43
Pour les indentations (et les fautes d'ortho), j'ai dû coder ça entre minuit et 5h du mat, ceci explique cela.
Pour les define, c'est simplement parce que ta méthode ne marche pas: n'oublie pas qu'il y a un .cpp derrière. avec ma méthode, un peu crade je l'avoue, toutes les fonctions sont inlinées en fonction(){}; -> tu n'as pas à virer tout le code lors de la release.
Pour l'homogénéité -> ok je regarderai ça
Pour le focus, je sais pas trop comment faire :/
et c'est a peu près tout :)
31 déc. 2006 à 01:18
Je vais faire ce que je n'ai pas fait depuis si longtemps sur CppFrance : une critique constructive :D
Donc d'abord les points positifs : très très bonne source en fait, c'est vrai que c'est très pratique et propre, simple d'utilisation, utile, bien commentée et "personnalisable" avec quelques #defines : j'aime beaucoup :)
Bon maintenant les points négatifs :p :
-l'indentation où tu mélanges des espaces et des tabulations...'fin ça c'est personnel hein mais j'aime bien quand c'est homogène...bon ok on s'en fout :p
-#define CGTKwin dumpGTKwin ou #define CGTKwin _CGTKwin : pour quoi faire?
Pourquoi ne pas faire plus simplement :
#ifndef GTKWIN_DISABLE
class CGTKwin
{
void Init(); // l'implémentation sera dans le .cpp
// blabla...
};
#else
class CGTKwin
{
void Init(){} // implémentation vide
// blabla...
};
#endif
-pourquoi get_win() et par GetWin() ? Ta façon de nommer les fonctions n'est pas homogène...
-les variagles globales qui sont dans le namespace NDebug : soit les mettre en static au sens C du terme, c'est à dire non visibles depuis un autre fichier .cpp (ça ne coûte rien et c'est plus propre ^^), soit les mettre en private et static au sens C++ du terme dans la classe CGTKwin, ce qui est bcp + logique non??
-on peut écrire sur la zone de texte GTK+, je pense qu'on doit pouvoir empêcher ça en 1 seule ligne de code...tu me diras, de toutes façons c'est juste pour du débuggage donc c'est pas important...
-au démarrage de ton prog, le focus est donné à la fenêtre GTK+, alors que ce serait plus logique de le donner à la fenêtre GLFW. Détail aussi, et puis ça dépend surtout du programme que l'on débuggue plutôt que de CGTKwin : peut-on créer une fenêtre GTK+ sans qu'elle ait le focus?? (ou sinon faudrait que CGTKwin appelle une fonction GLFW qui donnerait le focus à la fenêtre GLFW : cette fonction existe-t-elle?)
Bon et puis quelques fautes d'ortho/de frappe...(dsl ^^) :
-appellés -> appelés (CGTKwin.cpp)
-appeller -> appeler (CGTKwin.cpp)
-Fenêtre désactivés -> Fenêtre désactivée (CGTKwin.h)
-calbacks -> callbacks (CGTKwin.cpp)
Voili voilou, ça faisait longtemps que je ne faisais pas ça :)
A tous les programmeurs OpenGL : c'est vraiment utile, vous devriez vous en servir, et puis c'est un pote à moi qui l'a faite, elle est forcément bien cette source :p
24 déc. 2006 à 22:53
vous déclarez l'objet une bonne fois pour toutes, et puis partout dans votre programme très compliqué et bourrant à compiler / débugger, vous enregistrez les variables sensibles que vous aimeriez suivre en temps réel, et pouvoir modifier aisément. En une ligne, elles apparaitront de façon ergonomique dans la petite fenêtre GTK+. Et quand le debug est terminé et que vous voulez distribuer: pops, on désactive. MAIS: faut pas commenter partout dans le code. Puisque 2 jours après la release, on vous signale un bug: pas de problème, on réactive, et on recommence ^^.
Il y a vraiment du potentiel pour ce genre de choses :).
24 déc. 2006 à 17:38
C'est uniquement à ça que ça sert ;)
Joyeuses fêtes.