Interfaces graphiques

Ajouter un nouvel élément

Les performances du mois

CEGUI
2
Un éditeur de réseau de places et transitions (RdP)
1
Scaleform GFx
3

ang Un éditeur de réseau de places et transitions (RdP)

Licence : GPL
Un réseau de places et transitions est un réseau de Petri (Petri Net ou RdP) généralisé et non coloré (sans extensions).

L'application PTNET Editor permettra de dessiner/editer graphiquement un tel réseau, de l'animer, de l'analyser en construisant et visualisant son graphe de couverture/accessibilité, de le convertir en fichier image et de le sauvegarder en tant que document PNML.

1. Compiler l'application

L'application a été développée et testée sous GNU/Linux OpenSUSE 12.3 (KDE). Elle est basée sur le Framework Qt 4.8.4 et utilise aussi:
  • Boost Graph Library 1.49 (BGL) pour construire le graphe de couverture/accessibilité d'un RdP (graphgenerator.cpp)
  • la bibliothèque GraphViz 2.28 pour visualiser le graphe convenablement (graphvisualizer.cpp).

=> Vous devez installer ces bibliothèques pour compiler le code source!

Important: Pour éliminer les deux étapes suivantes (étape 2 et 3) et tester l'application directement, consultez le
fichier source tabwidget.cpp et commentez les étape [0], [1] et [2] de la méthode bool validateXml(QFile& file, MessageHandler &messageHandler). Autrement dit, modifiez cette méthode pour qu'elle retourne toujours true indiquant que le document PNML est valide.

2. PNML

PNML (Petri Net Markup Language) est un format standard d'échange des réseaux de Petri. L'application est basée sur ce standard. Vous pouvez télécharger le grammaire (spécification) de ce language ici: http://www.pnml.org/grammar.php.

Notre application est un éditeur des RdP sans extensions. Donc nous somme pas besoin de tous les fichiers de grammaire téléchargé. On va juste utiliser 4:
  • pnmlcoremodel.rng : Contient la définition de PNML Core Model.
  • ptnet.rng : Contient les déclarations des types ajoutées par les réseau de places et transitions : initialMarking (marquage initial d’une place) et inscription (poids d’un arc).
  • anyElement.xsd : Utilisé pour définir une grammaire non fournie par le standard PNML. Dans notre cas ceux sont les éléments ToolInfo.
  • conventions.rng: utilisé par ptnet.rng.

3. Convertir les fichiers RNG

Le grammaire PNML est décrit en langage RELAX NG (.rng). Celui ci est un langage de description de document XML alternative de XML Schema. RELAX NG n’est pas supporté par le module XML de la bibliothèque Qt. Donc on doit convertir les fichiers de format RNG en format XSD! A ce propos, on va utiliser l'outil Trang.

Trang est un outil libre permettant de convertir des schémas RELAX NG en XML Schema. Vous pouvez le télécharger ici:http://code.google.com/p/jing-trang/downloads/list.

Convertir les fichiers rng en des fichiers xsd ?

1. Dans le répertoire /home/~Download/Trang, créez un dossier et le nommez rng.
2. Créez un autre dossier dans le même répertoire /home/~Download/Trang et le nommez xsd.
3. Copiez les 4 fichiers rng dans le dossier rng.
4. Pour convertir les 4 fichiers, utilisez la commande : java -jar trang.jar -I rng -O xsd rng/ptnet.rng xsd/ptnet.xsd.
5. les fichiers RNG sont maintenant convertis en fichiers XSD et copiés dans le dossier xsd.

L'application va utiliser les 4 fichiers xsd pour valider un document PNML décrivant un RdP !

Donc, vous devez procéder comme suit:

6. Copier les 4 fichiers xsd dans le répertoire : ptnet/shemas
7. Modifier le fichier anyElement.xsd en supprimant la balise xs:group et en ajoutant la balise contenue dans le fichier ptnet/shemas/anyElement.txt

4. Tester l'application

Une fois l'application est compilée et les fichiers XSD sont générés (étapes 1-5) et ajoutés au répertoire /ptnet/shemas et modifiés (étapes 6-7), vous pouvez le tester en utilisant les exemples contenus dans le dossier ptnet/examples.
  • Pour changer les attributs d'une Place, Transition ou un arc faite un double-clique sur l'élément correspondant.
  • Pendant l'animation d'un RdP et pour franchir (tirer) une transition faite un clique gauche sur elle.




Bonne utilisation :)

ang CEGUI

Éditeur : CEGUI +
Cette bibliothèque d'interfaces graphiques est prévue pour être utilisée dans des jeux vidéo, elle propose des modules pour s'interfacer avec DirectX, OpenGL, Ogre3D et Irrlicht.

ang Gameswf

Éditeur : Thatcher Ulrich +
Librairie de parsage et de rendu de fichiers Flash (SWF), en utilisant les API 3D telles que OpenGL pour le rendu.

ang Scaleform GFx

Éditeur : Scaleform +
Middleware d'intégration d'applications Flash, pratique pour la réalisation d'interfaces utilisateurs et bien d'autres.

ang gui_chung_dll

Licence : Gratuit
gui_chung_dll est une version dll de gui_chung pour faire facilement des interface graphique de Windows avec des graphismes dans n'importe quelle language, comme c / c + +, freebasic, avec une syntaxe simple inspiré de Liberty Basic facile codage gui (boutons, combobox, EditText, StaticText, ListBox, Menu, graphicbox, ...). Comprend la création de fenêtres openGL , guiloadtexture de jpg avec l'alpha, et gfx fenêtres graphiques dessin. Il est basé sur l'API Windows et est écrit en freebasic compilé(freeware).

ang Agar

Éditeur : Hypertriton +
Agar est une bibliothèque logicielle (un toolkit) portable, pour applications en C, C++ ou Objective-C (avec des liens vers Perl et Ada). Conçu pour être facile à intégrer, Agar promouvoit le développement de l'interface graphique autour de l'application, et non l'inverse. La bibliothèque Agar est conçue pour fonctionner sous n'importe quelle plate-forme en mesure de fournir un affichage graphique. Á partir de la version 1.4, Agar peut être compilé sans dépendances, et à même été utilisé sur plate-formes embarquées sans système d'exploitation. Lorsque compilée avec support multithread, la bibliothèque est entièrement thread-safe.

L'interface de pilote d'Agar rend toute application Agar portable à plusieurs plate-formes et systèmes graphiques. Les applications Agar fonctionnent nativement sous les environnements à fenêtres (tel que Xlib, Windows API ou MacOS X Quartz/Cocoa), mais également sous les environnements sans fenêtre (tel que SDL). Agar utilise efficacement l'accélération graphique matérielle lorsque celle-ci est disponible (minimisant le transfert de données entre CPU et GPU).

La bibliothèque de base est voulue aussi générale et compacte que possible, mais plusieurs autres bibliothèques Agar ciblent des applications plus spécifiques, tel que Agar-MATH (fonctions mathématiques optimisées), Agar-VG (dessin vectoriel) et Agar-DEV (outils de développement). Basée sur Agar, FreeSG inclut un moteur 2D/3D, un système de résolution de contraintes, et plusieurs fonctions en géométrie algorithmique. Edacious implémente un ensemble de classes Agar utiles dans la conception électronique.

Agar est un logiciel libre. Son code source est librement utilisable et réutilisable par tous, sous les termes d'une license BSD, qui permet son utilisation dans des applications commerciales. Régulièrement mis à jour, Agar est stable et bénéficie d'une croissance constante depuis 2002.

7 éléments

 
 
 
 
Partenaires

PlanetHoster
Ikoula