SFWM est une librairie (libsfwm) écrite dans le but d'apporter au SFML des fonctions avancées dans la gestions des fenêtres et des contrôles.

En effet, par défaut, SFML ne gère que les fonctions d'affichage de base et n'est pas capable par exemple d'afficher une simple MessageBox. SFWM ajoute ces fonctions.

 

Le but de SFWM est d'apporter au SFML un window manager rapide et léger directement interfacé à la boucle d'événement du SFML.

 

SFWM reste rudimentaire comparé à Qt, et si le but est de créer et de gérer des interfaces très complexes alors l'utilisation de Qt sera à préférer.

 

SFWM permet d'ajouter facilement des boites de dialogues (dialogs) à un projet pro issu de QtCreator. L'ensemble des boites de dialogues créées ainsi sera ensuite modifiable sans ajout de ligne de codes, par le moyen d'un éditeur directement intégré au projet en cours.

 

La version courante est codée en C++, sous QtCreator, et n'est disponible que sous Linux (mais sera portée prochainement sous Windows).

 

SFWM permet également d'associer des variables du projet de l'utilisateur à des contrôles => les mécanismes d'initialisation et de mise à jour des variables peuvent être entièrement gérés par SFWM.

 

La gestion des événements est gérée soit par des fonctions virtuelles au moyen de fonctions du type onPressLeft, ou onLoad (fonctions pré-créées par l'éditeur lors de la création d'une nouvelle dialog). Mais SFWM gère aussi un mécanisme de CallBack.

 

Ainsi, SFWM constitue un système de développement visuel directement intégré dans le projet.

 

 

Les pages suivantes sont une présentation rapide et superficielle de SFWM.

Une documentation technique plus détaillée sera proposée lorsque le projet sera plus avancé.