summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/ovision/ui.h
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/ovision/ui.h')
-rw-r--r--2004/i/nono/src/ovision/ui.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/2004/i/nono/src/ovision/ui.h b/2004/i/nono/src/ovision/ui.h
new file mode 100644
index 0000000..4b29cb7
--- /dev/null
+++ b/2004/i/nono/src/ovision/ui.h
@@ -0,0 +1,92 @@
+#ifndef UI_h
+#define UI_h
+// UI.h - classe User Interface
+// nono - Programme du robot Efrei Robotique I1-I2 2004
+// Copyright (C) 2004 Olivier Gaillard
+
+
+// Realise a l'aide du "NCURSES Programming HOWTO"
+
+
+#include "menu.h"
+
+
+#define NUM_COULEUR 1
+#define NB_COULEUR 2
+
+
+/// Interface ncurses permettant de piloter adjust
+class UI {
+
+ /// Variable utilisees pour ncurses
+ ITEM **item;
+ MENU *menu;
+ WINDOW *mainWindow;
+
+ /// Id du fifo
+ int fifo;
+
+ /// PID du prog
+ long pid;
+
+ /// Sauvegarde la valeur de sorties du NN
+ int savedNNColorNumber;
+
+ /// liste des images
+ char **fileList;
+
+ /// id de l'image actuel
+ int curImage;
+
+ /// taille de la liste
+ int lengthFileList;
+
+
+ public:
+ /// Constructeurs.
+ UI (void);
+
+ /// Destructeur.
+ ~UI (void);
+
+ /// Affiche le menu principale
+ void Menu();
+
+ /// reponse du programme adjust
+ int uiReady;
+
+ protected:
+ /// Cree la liste d'images a ouvrir
+ void ParseFileList();
+
+ /// Envoie une donnee au prog adjust
+ void SendSignal(char *buf);
+
+ /// Menu de selection de couleur
+ inline int ChooseColor(int type)
+ {return ChooseColor(type, 0);}
+
+ /// Menu de selection de couleur
+ int ChooseColor(int type, int current);
+
+ /// Affiche un msg dans la barre d'etat
+ void PrintStatus(char *str);
+
+ /// Menu de suppression de couleur
+ void GoDelColor();
+
+ /// Menu de selection du group a former
+ void GoSelectGroup(int type);
+
+ /// Menu de melange de couleurs
+ void GoMergeWindow();
+
+ /// Menu de changements des composantes d'un poid du NN
+ void GoChangeColor();
+
+ /// Synchronisation des poids locaux et de ceux du programme adjust
+ void UpdateNodes();
+};
+
+
+#endif // UI_h