Changeset 15 in flair-src for trunk/lib/FlairCore/src/unexported/Widget_impl.h
- Timestamp:
- 04/08/16 15:40:57 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/FlairCore/src/unexported/Widget_impl.h
r2 r15 17 17 #include <io_data.h> 18 18 19 namespace flair 20 { 21 namespace gui 22 { 23 class Widget; 24 } 19 namespace flair { 20 namespace gui { 21 class Widget; 22 } 25 23 } 26 24 … … 28 26 * \brief Classe representant un Widget 29 27 * 30 * C'est une classe de base. Tout comme l'Object elle permet de gérer les liens de parenté 31 * et de détruire automatiquement les enfants. Elle permet en plus de gérer une communication 28 * C'est une classe de base. Tout comme l'Object elle permet de gérer les liens 29 *de parenté 30 * et de détruire automatiquement les enfants. Elle permet en plus de gérer une 31 *communication 32 32 * avec la station sol, et donc d'y afficher un QWidget. \n 33 * La comunication avec la station sol se fait par l'échange de fichiers xml. Les propriétés xml du Widget sont 33 * La comunication avec la station sol se fait par l'échange de fichiers xml. 34 *Les propriétés xml du Widget sont 34 35 * modifiables par les fonctions appropriées. \n 35 * Un fichier xml de réglages par défaut du Widget est utilisé s'il a été spécifié à la construction du FrameworkManager. 36 * Un fichier xml de réglages par défaut du Widget est utilisé s'il a été 37 *spécifié à la construction du FrameworkManager. 36 38 */ 37 class Widget_impl 38 { 39 friend class flair::core::FrameworkManager; 40 friend class FrameworkManager_impl; 39 class Widget_impl { 40 friend class flair::core::FrameworkManager; 41 friend class FrameworkManager_impl; 41 42 42 public: 43 /*! 44 * \brief Constructeur 45 * 46 * Construit un Widget, qui est automatiquement enfant du parent. Le fichier xml 47 * spécifié au constructeur du FrameworkManager est utilisé pour les réglages par 48 * défaut. \n 49 * Sauf pour le FrameworkManager, ce constructeur doit être apellé depuis une tache temps réel 50 * lorsque l'on utilise la librairie framework_rt. 51 * 52 * \param parent parent 53 * \param name nom 54 * \param type type 55 */ 56 Widget_impl(flair::gui::Widget* self,const flair::gui::Widget* parent,std::string name,std::string type); 43 public: 44 /*! 45 * \brief Constructeur 46 * 47 * Construit un Widget, qui est automatiquement enfant du parent. Le fichier 48 *xml 49 * spécifié au constructeur du FrameworkManager est utilisé pour les réglages 50 *par 51 * défaut. \n 52 * Sauf pour le FrameworkManager, ce constructeur doit être apellé depuis une 53 *tache temps réel 54 * lorsque l'on utilise la librairie framework_rt. 55 * 56 * \param parent parent 57 * \param name nom 58 * \param type type 59 */ 60 Widget_impl(flair::gui::Widget *self, const flair::gui::Widget *parent, 61 std::string name, std::string type); 57 62 58 /*! 59 * \brief Déstructeur 60 * 61 * Détruit automatiquement les enfants. 62 * La destruction implique la destruction du QWidget associé sur la station sol.\n 63 * Sauf pour le FrameworkManager, ce déstructeur doit être apellé depuis une tache temps réel 64 * lorsque l'on utilise la librairie framework_rt. 65 * 66 */ 67 ~Widget_impl(); 63 /*! 64 * \brief Déstructeur 65 * 66 * Détruit automatiquement les enfants. 67 * La destruction implique la destruction du QWidget associé sur la station 68 *sol.\n 69 * Sauf pour le FrameworkManager, ce déstructeur doit être apellé depuis une 70 *tache temps réel 71 * lorsque l'on utilise la librairie framework_rt. 72 * 73 */ 74 ~Widget_impl(); 68 75 69 70 71 72 73 74 75 76 77 76 /*! 77 * \brief Activer 78 * 79 * Active le QWidget associé sur la station sol. \n 80 * Un QWdiget désactivé apparait grisé et n'est pas modifiable. 81 * 82 * \param status 83 */ 84 void setEnabled(bool status); 78 85 79 80 81 82 83 84 86 /*! 87 * \brief Envoi le xml 88 * 89 * Envoi le xml à la station sol pour prendre en compte les changements. 90 */ 91 void SendXml(void); 85 92 86 87 88 93 xmlNodePtr file_node; 94 xmlNodePtr send_node; 95 bool isenabled; 89 96 90 91 flair::gui::Widget*self;97 private: 98 flair::gui::Widget *self; 92 99 93 std::vector<flair::gui::Widget*> childs;100 std::vector<flair::gui::Widget *> childs; 94 101 95 void AddChild(const flair::gui::Widget*child);96 void RemoveChild(const flair::gui::Widget*child);102 void AddChild(const flair::gui::Widget *child); 103 void RemoveChild(const flair::gui::Widget *child); 97 104 98 99 100 101 102 103 104 105 105 /*! 106 * \brief Efface les proriétés xml 107 * 108 * Permet d'effacer toutes les propriétés XML fixées par SetVolatileXmlProp. 109 * A utliser lorsque l'on a plus besoin d'utiliser ces propriétés. Utile 110 * pour réduire la taille des fichiers XML écangés avec la station sol. 111 */ 112 void ClearXmlProps(void); 106 113 107 //xml 108 void ProcessXML(xmlNode *node); 109 xmlDocPtr CopyDoc(void); 110 static xmlNodePtr GetNodeByProp(xmlNodePtr doc,xmlChar *type,xmlChar *prop,xmlChar *value); 111 void printSendNode(); 112 xmlDocPtr send_doc; 114 // xml 115 void ProcessXML(xmlNode *node); 116 xmlDocPtr CopyDoc(void); 117 static xmlNodePtr GetNodeByProp(xmlNodePtr doc, xmlChar *type, xmlChar *prop, 118 xmlChar *value); 119 void printSendNode(); 120 xmlDocPtr send_doc; 113 121 }; 114 122
Note:
See TracChangeset
for help on using the changeset viewer.