Librairie de classe pour gtk+

Description

Voila, c'est un de mes premiers "gros" projets, que j'ai commencé en Octobre. En gros, c'est un pack de classe pour simplifier le développement d'application avec GTK+ 2.x (moi, j'utilise le 2.4). Les classes disponibles pour le moments sont :

- Crystal (la classe de base)
- Form (C'est une classe qui gère les fenêtre ou GtkWindow)
- Label (Gère les Labels ou GtkLabel)
- Button (Gère les bouton ou GtkButton)
- Textbox (Gère les Textbox)
- String (Ma classe de gestion des chaines de caractère personnelle, que j'ai déja publié sur ce site; à part que cette classe à été mise à jour)

Voila. Ensuite, comme tout les editeur de GUI ou de truc comme sa, jai pas résisté à la tentation de montre des typedef de partout ...
Les anciens développeur VB remarqueront que les fonctions membres et les propriétés de mes classes ressemblent étrangement aux noms des propriétés et fonctions membres des classes Visual Basic.

PS : Développé avec Visual C++ 7.0 (.Net 2002) et testé sous Visual C++ 6.0

Source / Exemple :


// Préprocésseur --------------------------------------------------------------
#include "Crystal.hpp"
// Prototypes -----------------------------------------------------------------
void main(int argc, char *argv[]);
void *frmMain_OnDestroy(GtkWidget *, void *);
void *cmdExit_OnClick(GtkWidget *, void *);
// Objets publiques -----------------------------------------------------------
Form *frmMain;
Button *cmdExit;
// Fonction Main --------------------------------------------------------------
void main(int argc, char *argv[])
{
	// Initialise GTK+
	Crystal::Init(&argc, &argv);
	// Crée frmMain
	frmMain = new Form("Main");
	frmMain->ConnectSignal("destroy", &frmMain_OnDestroy);
	// Crée cmdExit
	cmdExit = new Button("Quitter");
	cmdExit->ConnectSignal("clicked", &cmdExit_OnClick);
	// Ajoute cmdExit dans frmMain
	frmMain->Add(cmdExit);
	// Affiche frmMain et frmText
	frmMain->ShowAll();
	// Lance la boucle évenementielle
	Crystal::Run();
}
// ----------------------------------------------------------------------------
void *frmMain_OnDestroy(GtkWidget *Widget, void *Data)
{
	// Supprime les objets
	delete frmMain;
	// Quitte la boucle évenementielle
	Crystal::Exit();
	// Retourne NULL
	return NULL;
}
// ----------------------------------------------------------------------------
void *cmdExit_OnClick(GtkWidget *, void *)
{
	// Détruit frmMain
	frmMain->Close();
}
// ----------------------------------------------------------------------------

Conclusion :


Les bug connus : Bein c'est la 1ère bêta, donc, c'est bourré de bug.
PS : Pour utiliser cette librairie, il faut bien évidement avoir installé GTK+ 2.x
PS2 : SA ne fait pas très longtemps que je code, et encore moins longtemps que je code en C++. Bref, s'il vous plait, ne soyez pas trop cruels en jugeant ce code ;).

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.