Index: trunk/include/FlairCore/AhrsData.h
===================================================================
--- trunk/include/FlairCore/AhrsData.h	(revision 2)
+++ trunk/include/FlairCore/AhrsData.h	(revision 13)
@@ -18,158 +18,172 @@
 #include <Quaternion.h>
 
-namespace flair { namespace core {
+namespace flair {
+namespace core {
 
-    /*! \class AhrsData
-    *
-    * \brief Class defining AHRS datas
-    *
-    * AHRS datas consist of quaternion and rotational angles values. \n
-    *
-    */
-    class AhrsData: public io_data {
-        public:
-            class Type: public DataType {
-            public:
-                Type(const ScalarType &inElementDataType):
-                    elementDataType(inElementDataType) {}
-                const ScalarType  &GetElementDataType() const {return elementDataType;}
-                std::string GetDescription() const {return "ahrs data";}
-                size_t GetSize() const {
-                    return 7*elementDataType.GetSize();
-                }
-            private:
-                const ScalarType &elementDataType;
-            };
+/*! \class AhrsData
+*
+* \brief Class defining AHRS datas
+*
+* AHRS datas consist of quaternion and rotational angles values. \n
+*
+*/
+class AhrsData : public io_data {
+public:
+  class Type : public DataType {
+  public:
+    Type(const ScalarType &inElementDataType)
+        : elementDataType(inElementDataType) {}
+    const ScalarType &GetElementDataType() const { return elementDataType; }
+    std::string GetDescription() const { return "ahrs data"; }
+    size_t GetSize() const { return 7 * elementDataType.GetSize(); }
 
-            /*!
-            \enum PlotableData_t
-            \brief Datas wich can be plotted in a DataPlot1D
-            */
-            typedef enum {
-                Roll/*! roll */, Pitch/*! pitch */, Yaw/*! yaw */,
-                RollDeg/*! roll degree*/, PitchDeg/*! pitch degree */, YawDeg/*! yaw degree */,
-                Q0/*! quaternion 0 */, Q1/*! quaternion 1 */, Q2/*! quaternion 2 */, Q3/*! quaternion 3 */,
-                Wx/*! x filtered angular rate */, Wy/*! y filtered angular rate */, Wz/*! z filtered angular rate */,
-                WxDeg/*! x filtered angular rate degree*/, WyDeg/*! y filtered angular rate degree*/, WzDeg/*! z filtered angular rate degree*/,
-                } PlotableData_t;
+  private:
+    const ScalarType &elementDataType;
+  };
 
-            /*!
-            * \brief Constructor
-            *
-            * Construct an io_data representing AHRS datas. \n
-            *
-            * \param parent parent
-            * \param name name
-            * \param n number of samples
-            */
-            AhrsData(const Object* parent,std::string name="",int n=1);
+  /*!
+  \enum PlotableData_t
+  \brief Datas wich can be plotted in a DataPlot1D
+  */
+  typedef enum {
+    Roll /*! roll */,
+    Pitch /*! pitch */,
+    Yaw /*! yaw */,
+    RollDeg /*! roll degree*/,
+    PitchDeg /*! pitch degree */,
+    YawDeg /*! yaw degree */,
+    Q0 /*! quaternion 0 */,
+    Q1 /*! quaternion 1 */,
+    Q2 /*! quaternion 2 */,
+    Q3 /*! quaternion 3 */,
+    Wx /*! x filtered angular rate */,
+    Wy /*! y filtered angular rate */,
+    Wz /*! z filtered angular rate */,
+    WxDeg /*! x filtered angular rate degree*/,
+    WyDeg /*! y filtered angular rate degree*/,
+    WzDeg /*! z filtered angular rate degree*/,
+  } PlotableData_t;
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~AhrsData();
+  /*!
+  * \brief Constructor
+  *
+  * Construct an io_data representing AHRS datas. \n
+  *
+  * \param parent parent
+  * \param name name
+  * \param n number of samples
+  */
+  AhrsData(const Object *parent, std::string name = "", int n = 1);
 
-            /*!
-            * \brief Element
-            *
-            * Get a pointer to a specific element. This pointer can be used for plotting.
-            *
-            * \param plotableData data type
-            *
-            * \return pointer to the element
-            */
-            IODataElement *Element(PlotableData_t plotableData) const;
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~AhrsData();
 
-            /*!
-            * \brief Set quaternion
-            *
-            * This method is mutex protected.
-            *
-            * \param quaternion quaternion
-            *
-            */
-            void SetQuaternion(const Quaternion &quaternion);
+  /*!
+  * \brief Element
+  *
+  * Get a pointer to a specific element. This pointer can be used for plotting.
+  *
+  * \param plotableData data type
+  *
+  * \return pointer to the element
+  */
+  IODataElement *Element(PlotableData_t plotableData) const;
 
-            /*!
-            * \brief Get quaternion
-            *
-            * This method is mutex protected.
-            *
-            * \return quaternion
-            *
-            */
-            Quaternion GetQuaternion(void) const;
+  /*!
+  * \brief Set quaternion
+  *
+  * This method is mutex protected.
+  *
+  * \param quaternion quaternion
+  *
+  */
+  void SetQuaternion(const Quaternion &quaternion);
 
-            /*!
-            * \brief Set angular rates
-            *
-            * This method is mutex protected.
-            *
-            * \param angularRates angular rates
-            *
-            */
-            void SetAngularRates(const Vector3D &angularRates);
+  /*!
+  * \brief Get quaternion
+  *
+  * This method is mutex protected.
+  *
+  * \return quaternion
+  *
+  */
+  Quaternion GetQuaternion(void) const;
 
-            /*!
-            * \brief Get angular rates
-            *
-            * This method is mutex protected.
-            *
-            * \return angular rates
-            *
-            */
-            Vector3D GetAngularRates(void) const;
+  /*!
+  * \brief Set angular rates
+  *
+  * This method is mutex protected.
+  *
+  * \param angularRates angular rates
+  *
+  */
+  void SetAngularRates(const Vector3D &angularRates);
 
-            /*!
-            * \brief Get both quaternion and angular rates
-            *
-            * This method is mutex protected.
-            *
-            * \param quaternion quaternion
-            * \param angularRates angular rates
-            *
-            */
-            void GetQuaternionAndAngularRates(Quaternion &quaternion,Vector3D &angularRates) const;
+  /*!
+  * \brief Get angular rates
+  *
+  * This method is mutex protected.
+  *
+  * \return angular rates
+  *
+  */
+  Vector3D GetAngularRates(void) const;
 
-            /*!
-            * \brief Set both quaternion and angular rates
-            *
-            * This method is mutex protected.
-            *
-            * \param quaternion quaternion
-            * \param angularRates angular rates
-            *
-            */
-            void SetQuaternionAndAngularRates(const Quaternion &quaternion,const Vector3D &angularRates);
+  /*!
+  * \brief Get both quaternion and angular rates
+  *
+  * This method is mutex protected.
+  *
+  * \param quaternion quaternion
+  * \param angularRates angular rates
+  *
+  */
+  void GetQuaternionAndAngularRates(Quaternion &quaternion,
+                                    Vector3D &angularRates) const;
 
-            const Type &GetDataType() const {return dataType;}
-        private:
-            /*!
-            * \brief Copy datas
-            *
-            * Reimplemented from io_data. \n
-            * See io_data::CopyDatas.
-            *
-            * \param dst destination buffer
-            */
-            void CopyDatas(char *dst) const;
+  /*!
+  * \brief Set both quaternion and angular rates
+  *
+  * This method is mutex protected.
+  *
+  * \param quaternion quaternion
+  * \param angularRates angular rates
+  *
+  */
+  void SetQuaternionAndAngularRates(const Quaternion &quaternion,
+                                    const Vector3D &angularRates);
 
-            void Queue(char **dst,const void *src,size_t size) const;
+  const Type &GetDataType() const { return dataType; }
 
-            /*!
-            * \brief %Quaternion
-            *
-            */
-            Quaternion quaternion;
+private:
+  /*!
+  * \brief Copy datas
+  *
+  * Reimplemented from io_data. \n
+  * See io_data::CopyDatas.
+  *
+  * \param dst destination buffer
+  */
+  void CopyDatas(char *dst) const;
 
-            /*!
-            * \brief Angular rates
-            *
-            */
-            Vector3D angularRates;
+  void Queue(char **dst, const void *src, size_t size) const;
 
-            Type dataType;
-    };
+  /*!
+  * \brief %Quaternion
+  *
+  */
+  Quaternion quaternion;
+
+  /*!
+  * \brief Angular rates
+  *
+  */
+  Vector3D angularRates;
+
+  Type dataType;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/Box.h
===================================================================
--- trunk/include/FlairCore/Box.h	(revision 2)
+++ trunk/include/FlairCore/Box.h	(revision 13)
@@ -16,91 +16,92 @@
 #include <Widget.h>
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    class Layout;
-    class LayoutPosition;
+class Layout;
+class LayoutPosition;
 
-    /*! \class Box
-    *
-    * \brief Abstract class to display a box on the ground station
-    *
-    * This is an abstract class to display boxes (like CheckBox, SpinBox, etc). \n
-    * To access reimplemented box's value, use Box::GetMutex and Box::ReleaseMutex. \n
-    * Note that this mutex is in reality the one from the parent Layout. To minimize memory
-    * footprint, each Box does not have its own Mutex.
-    */
-    class Box: public Widget
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a Box. \n
-            * Type must agree with predifined (hard coded) types
-            * in ground station code. \n
-            * The Box will automatically be child of position->getLayout() Layout. After calling this method,
-            * position will be deleted as it is no longer usefull.
-            *
-            * \param position position
-            * \param name name
-            * \param type type
-            */
-            Box(const LayoutPosition* position,std::string name,std::string type);
+/*! \class Box
+*
+* \brief Abstract class to display a box on the ground station
+*
+* This is an abstract class to display boxes (like CheckBox, SpinBox, etc). \n
+* To access reimplemented box's value, use Box::GetMutex and Box::ReleaseMutex.
+*\n
+* Note that this mutex is in reality the one from the parent Layout. To minimize
+*memory
+* footprint, each Box does not have its own Mutex.
+*/
+class Box : public Widget {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a Box. \n
+  * Type must agree with predifined (hard coded) types
+  * in ground station code. \n
+  * The Box will automatically be child of position->getLayout() Layout. After
+  *calling this method,
+  * position will be deleted as it is no longer usefull.
+  *
+  * \param position position
+  * \param name name
+  * \param type type
+  */
+  Box(const LayoutPosition *position, std::string name, std::string type);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Box();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Box();
 
-            /*!
-            * \brief Has the value changed since last call?
-            *
-            * This method returns the value of an internal flag
-            * which is set through SetValueChanged(). \n
-            * After calling this method, the internal flag is
-            * set to false.
-            *
-            * \return true is valued has changed since last call
-            */
-            bool ValueChanged(void);
+  /*!
+  * \brief Has the value changed since last call?
+  *
+  * This method returns the value of an internal flag
+  * which is set through SetValueChanged(). \n
+  * After calling this method, the internal flag is
+  * set to false.
+  *
+  * \return true is valued has changed since last call
+  */
+  bool ValueChanged(void);
 
-        protected:
-            /*!
-            * \brief Set the value changed flag
-            *
-            * The reimplemented class must call this method when Box's value is changed. \n
-            * This method must be called with Mutex locked. Indeed, as reimplemented class
-            * also has to lock the Mutex to change the Box value, this mecanism avoid two successives
-            * lock and unlock.
-            *
-            */
-            void SetValueChanged(void);
+protected:
+  /*!
+  * \brief Set the value changed flag
+  *
+  * The reimplemented class must call this method when Box's value is changed.
+  *\n
+  * This method must be called with Mutex locked. Indeed, as reimplemented class
+  * also has to lock the Mutex to change the Box value, this mecanism avoid two
+  *successives
+  * lock and unlock.
+  *
+  */
+  void SetValueChanged(void);
 
-            /*!
-            * \brief Get Mutex
-            *
-            * This method must be called before changing Box's value or
-            * calling SetValueChanged().
-            *
-            */
-            void GetMutex(void) const;
+  /*!
+  * \brief Get Mutex
+  *
+  * This method must be called before changing Box's value or
+  * calling SetValueChanged().
+  *
+  */
+  void GetMutex(void) const;
 
-            /*!
-            * \brief Release Mutex
-            *
-             * This method must be called after changing Box's value or
-            *  calling SetValueChanged().
-            *
-            */
-            void ReleaseMutex(void) const;
+  /*!
+  * \brief Release Mutex
+  *
+   * This method must be called after changing Box's value or
+  *  calling SetValueChanged().
+  *
+  */
+  void ReleaseMutex(void) const;
 
-
-        private:
-            bool value_changed;
-    };
+private:
+  bool value_changed;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/CheckBox.h
===================================================================
--- trunk/include/FlairCore/CheckBox.h	(revision 2)
+++ trunk/include/FlairCore/CheckBox.h	(revision 13)
@@ -16,61 +16,59 @@
 #include <Box.h>
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class CheckBox
-    *
-    * \brief Class displaying a QCheckBox on the ground station
-    *
-    */
-    class CheckBox: public Box
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QCheckBox at given position.
-            *
-            * \param position position to display the QCheckBox
-            * \param name name
-            * \param default_value default value if not in the xml config file
-            */
-            CheckBox(const LayoutPosition* position,std::string name,bool default_value=true);
+/*! \class CheckBox
+*
+* \brief Class displaying a QCheckBox on the ground station
+*
+*/
+class CheckBox : public Box {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QCheckBox at given position.
+  *
+  * \param position position to display the QCheckBox
+  * \param name name
+  * \param default_value default value if not in the xml config file
+  */
+  CheckBox(const LayoutPosition *position, std::string name,
+           bool default_value = true);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~CheckBox();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~CheckBox();
 
-            /*!
-            * \brief Is checked?
-            *
-            * \return true if checked
-            */
-            bool IsChecked(void) const;
+  /*!
+  * \brief Is checked?
+  *
+  * \return true if checked
+  */
+  bool IsChecked(void) const;
 
-            /*!
-            * \brief Value
-            *
-            * \return 1 if checked, 0 otherwise
-            */
-            int Value(void) const;
+  /*!
+  * \brief Value
+  *
+  * \return 1 if checked, 0 otherwise
+  */
+  int Value(void) const;
 
-        private:
-            /*!
-            * \brief XmlEvent from ground station
-            *
-            * Reimplemented from Widget.
-            *
-            */
-            void XmlEvent(void);
+private:
+  /*!
+  * \brief XmlEvent from ground station
+  *
+  * Reimplemented from Widget.
+  *
+  */
+  void XmlEvent(void);
 
-            bool box_value;
-    };
+  bool box_value;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/ComboBox.h
===================================================================
--- trunk/include/FlairCore/ComboBox.h	(revision 2)
+++ trunk/include/FlairCore/ComboBox.h	(revision 13)
@@ -16,64 +16,61 @@
 #include <Box.h>
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class ComboBox
-    *
-    * \brief Class displaying a QComboBox on the ground station
-    *
-    */
-    class ComboBox: public Box
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QComboBox at given position.
-            *
-            * \param position position to display the QComboBox
-            * \param name name
-            */
-            ComboBox(const LayoutPosition* position,std::string name);
+/*! \class ComboBox
+*
+* \brief Class displaying a QComboBox on the ground station
+*
+*/
+class ComboBox : public Box {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QComboBox at given position.
+  *
+  * \param position position to display the QComboBox
+  * \param name name
+  */
+  ComboBox(const LayoutPosition *position, std::string name);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~ComboBox();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~ComboBox();
 
-             /*!
-            * \brief Add an item
-            *
-            * Add an item to the end of the list.
-            *
-            * \param name item nam
-            */
-            void AddItem(std::string name);
+  /*!
+ * \brief Add an item
+ *
+ * Add an item to the end of the list.
+ *
+ * \param name item nam
+ */
+  void AddItem(std::string name);
 
-            /*!
-            * \brief Currend index
-            *
-            * Index of the currently selected item. Items are numbered starting to 0.
-            *
-            * \return index number
-            */
-            int CurrentIndex(void) const;
+  /*!
+  * \brief Currend index
+  *
+  * Index of the currently selected item. Items are numbered starting to 0.
+  *
+  * \return index number
+  */
+  int CurrentIndex(void) const;
 
-        private:
-            /*!
-            * \brief XmlEvent from ground station
-            *
-            * Reimplemented from Widget.
-            *
-            */
-            void XmlEvent(void);
+private:
+  /*!
+  * \brief XmlEvent from ground station
+  *
+  * Reimplemented from Widget.
+  *
+  */
+  void XmlEvent(void);
 
-            int box_value;
-    };
+  int box_value;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/ConditionVariable.h
===================================================================
--- trunk/include/FlairCore/ConditionVariable.h	(revision 2)
+++ trunk/include/FlairCore/ConditionVariable.h	(revision 13)
@@ -18,69 +18,75 @@
 class ConditionVariable_impl;
 
-namespace flair
-{
-namespace core
-{
+namespace flair {
+namespace core {
 
-    /*! \class ConditionVariable
-    *
-    * \brief Class defining a condition variable
-    *
-    */
+/*! \class ConditionVariable
+*
+* \brief Class defining a condition variable
+*
+*/
 
-    class ConditionVariable: public Mutex
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a condition variable with its associated mutex.
-            *
-            * \param parent parent
-            * \param name name
-            */
-            ConditionVariable(const Object* parent,std::string name);
+class ConditionVariable : public Mutex {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a condition variable with its associated mutex.
+  *
+  * \param parent parent
+  * \param name name
+  */
+  ConditionVariable(const Object *parent, std::string name);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~ConditionVariable();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~ConditionVariable();
 
-            /*!
-            * \brief Block on the condition variable
-            *
-            * This method must be called with mutex locked (see Mutex::GetMutex) by the calling thread or undefined behaviour will result. \n
-            * It atomically releases mutex and causes the calling thread to block on the condition variable. \n
-            * Only one thread can be blocked at the same time. \n
-            * Upon successful return, the mutex has been locked and is owned by the calling thread which should unlock it (see Mutex::ReleaseMutex).
-            */
-            void CondWait(void);
+  /*!
+  * \brief Block on the condition variable
+  *
+  * This method must be called with mutex locked (see Mutex::GetMutex) by the
+  *calling thread or undefined behaviour will result. \n
+  * It atomically releases mutex and causes the calling thread to block on the
+  *condition variable. \n
+  * Only one thread can be blocked at the same time. \n
+  * Upon successful return, the mutex has been locked and is owned by the
+  *calling thread which should unlock it (see Mutex::ReleaseMutex).
+  */
+  void CondWait(void);
 
-            /*!
-            * \brief Block on the condition variable with a timeout
-            *
-            * This method must be called with mutex locked (see Mutex::GetMutex) by the calling thread or undefined behaviour will result. \n
-            * It atomically releases mutex and causes the calling thread to block on the condition variable. \n
-            * Only one thread can be blocked at the same time. \n
-            * Upon successful return, the mutex has been locked and is owned by the calling thread which should unlock it (see Mutex::ReleaseMutex).
-            *
-            * \param date absolute date
-            * \return true if the condition variable is signaled before the date specified in parameter elapses, false otherwise
-            */
-            bool CondWaitUntil(Time date);
+  /*!
+  * \brief Block on the condition variable with a timeout
+  *
+  * This method must be called with mutex locked (see Mutex::GetMutex) by the
+  *calling thread or undefined behaviour will result. \n
+  * It atomically releases mutex and causes the calling thread to block on the
+  *condition variable. \n
+  * Only one thread can be blocked at the same time. \n
+  * Upon successful return, the mutex has been locked and is owned by the
+  *calling thread which should unlock it (see Mutex::ReleaseMutex).
+  *
+  * \param date absolute date
+  * \return true if the condition variable is signaled before the date specified
+  *in parameter elapses, false otherwise
+  */
+  bool CondWaitUntil(Time date);
 
-            /*!
-            * \brief Unblock threads blocked on the condition variable
-            *
-            * This method should be called with mutex locked (see Mutex::GetMutex) by the calling thread. \n
-            * In this case, upon return, the calling thread should unlock the mutex (see Mutex::ReleaseMutex).
-            *
-            */
-            void CondSignal(void);
+  /*!
+  * \brief Unblock threads blocked on the condition variable
+  *
+  * This method should be called with mutex locked (see Mutex::GetMutex) by the
+  *calling thread. \n
+  * In this case, upon return, the calling thread should unlock the mutex (see
+  *Mutex::ReleaseMutex).
+  *
+  */
+  void CondSignal(void);
 
-        private:
-            class ConditionVariable_impl* pimpl_;
-    };
+private:
+  class ConditionVariable_impl *pimpl_;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/ConnectedSocket.h
===================================================================
--- trunk/include/FlairCore/ConnectedSocket.h	(revision 2)
+++ trunk/include/FlairCore/ConnectedSocket.h	(revision 13)
@@ -16,89 +16,93 @@
 #include <Object.h>
 
-namespace flair
-{
-namespace core
-{
+namespace flair {
+namespace core {
 
-    /*! \class ConnectedSocket
-    *
-    * \brief Interface class encapsulating a connected socket. Preserves packets order and guaranty delivery.
-    *
-    */
-    class ConnectedSocket: public Object {
-    public:
-        /*!
-        * \brief Constructor
-        *
-        */
-        ConnectedSocket(const Object* parent,const std::string name);
+/*! \class ConnectedSocket
+*
+* \brief Interface class encapsulating a connected socket. Preserves packets
+*order and guaranty delivery.
+*
+*/
+class ConnectedSocket : public Object {
+public:
+  /*!
+  * \brief Constructor
+  *
+  */
+  ConnectedSocket(const Object *parent, const std::string name);
 
-        /*!
-        * \brief Destructor
-        *
-        */
-        ~ConnectedSocket();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~ConnectedSocket();
 
-        /*!
-        * \brief Returns a socket which listens on a specific port/address
-        *
-        * \param const Object* parentObject
-        * \param const string name
-        * \param unsigned int port
-        * \param const localAddress (defaults to any)
-        */
-        virtual void Listen(const unsigned int port,const std::string localAddress="ANY")=0;
+  /*!
+  * \brief Returns a socket which listens on a specific port/address
+  *
+  * \param const Object* parentObject
+  * \param const string name
+  * \param unsigned int port
+  * \param const localAddress (defaults to any)
+  */
+  virtual void Listen(const unsigned int port,
+                      const std::string localAddress = "ANY") = 0;
 
-        /*!
-        * \brief Returns a socket on a new incoming connexion
-        *
-        * \param ConnectedSocket &listeningSocket
-        */
-        virtual ConnectedSocket *Accept(Time timeout)=0; //should throw an exception if not a listening socket
+  /*!
+  * \brief Returns a socket on a new incoming connexion
+  *
+  * \param ConnectedSocket &listeningSocket
+  */
+  virtual ConnectedSocket *Accept(
+      Time timeout) = 0; // should throw an exception if not a listening socket
 
-        /*!
-        * \brief Returns a socket connected to a distant host
-        *
-        * \param const Object* parentObject
-        * \param const string name
-        * \param unsigned int port
-        * \param const distantAddress
-        * \param timeout timeout (in milliseconds)
-        */
-        virtual bool Connect(const unsigned int port,const std::string distantAddress,Time timeout)=0;
+  /*!
+  * \brief Returns a socket connected to a distant host
+  *
+  * \param const Object* parentObject
+  * \param const string name
+  * \param unsigned int port
+  * \param const distantAddress
+  * \param timeout timeout (in milliseconds)
+  */
+  virtual bool Connect(const unsigned int port,
+                       const std::string distantAddress, Time timeout) = 0;
 
-        /*!
-        * \brief Send a message
-        *
-        * \param message message
-        * \param message_len message length
-        * \param timeout timeout (in milliseconds)
-        */
-        virtual ssize_t SendMessage(const char* message,size_t message_len,Time timeout)=0;
+  /*!
+  * \brief Send a message
+  *
+  * \param message message
+  * \param message_len message length
+  * \param timeout timeout (in milliseconds)
+  */
+  virtual ssize_t SendMessage(const char *message, size_t message_len,
+                              Time timeout) = 0;
 
-        /*!
-        * \brief Receive a message
-        *
-        * Receive a message and wait up to timeout. \n
-        *
-        * \param buf buffer to put the message
-        * \param buf_len buffer length
-        * \param timeout timeout (in milliseconds)
-        *
-        * \return size of the received message
-        */
-        virtual ssize_t RecvMessage(char* buf,size_t buf_len,Time timeout)=0;
+  /*!
+  * \brief Receive a message
+  *
+  * Receive a message and wait up to timeout. \n
+  *
+  * \param buf buffer to put the message
+  * \param buf_len buffer length
+  * \param timeout timeout (in milliseconds)
+  *
+  * \return size of the received message
+  */
+  virtual ssize_t RecvMessage(char *buf, size_t buf_len, Time timeout) = 0;
 
-        std::string ReadString(const size_t &stringLength, Time timeout);
-        uint16_t ReadUInt16(Time const& timeout);
-        void WriteUInt16(uint16_t const& data,Time const& timeout);
-        uint32_t ReadUInt32(Time const& timeout);
-        void WriteUInt32(uint32_t const& data,Time const& timeout);
+  std::string ReadString(const size_t &stringLength, Time timeout);
+  uint16_t ReadUInt16(Time const &timeout);
+  void WriteUInt16(uint16_t const &data, Time const &timeout);
+  uint32_t ReadUInt32(Time const &timeout);
+  void WriteUInt32(uint32_t const &data, Time const &timeout);
 
-        //!! See Socket.h for a more generic implementation of network/host endianness conversion
-        virtual uint16_t NetworkToHost16(uint16_t data)=0;
-        virtual uint16_t HostToNetwork16(uint16_t data)=0;
-        virtual uint32_t NetworkToHost32(uint32_t data)=0;
-        virtual uint32_t HostToNetwork32(uint32_t data)=0;
+  //!! See Socket.h for a more generic implementation of network/host endianness
+  // conversion
+  virtual uint16_t NetworkToHost16(uint16_t data) = 0;
+  virtual uint16_t HostToNetwork16(uint16_t data) = 0;
+  virtual uint32_t NetworkToHost32(uint32_t data) = 0;
+  virtual uint32_t HostToNetwork32(uint32_t data) = 0;
 };
 
Index: trunk/include/FlairCore/DataPlot.h
===================================================================
--- trunk/include/FlairCore/DataPlot.h	(revision 2)
+++ trunk/include/FlairCore/DataPlot.h	(revision 13)
@@ -18,98 +18,93 @@
 class DataPlot_impl;
 
-namespace flair
-{
-    namespace core
-    {
-        class IODataElement;
-    }
+namespace flair {
+namespace core {
+class IODataElement;
 }
-namespace flair
-{
-namespace gui
-{
-    class LayoutPosition;
+}
+namespace flair {
+namespace gui {
+class LayoutPosition;
 
-    /*! \class DataPlot
-    *
-    * \brief Abstract class to display plots on ground station
-    *
-    */
-    class DataPlot: public SendData
-    {
-        public:
-            /*!
-            \enum Color_t
-            \brief Types of colors
-            */
-            typedef enum {
-                Red/*! red  */,
-                Blue/*! blue  */,
-                Green/*! green  */,
-                Yellow/*! yellow  */,
-                Black/*! black  */,
-                White/*! white  */,
-                } Color_t;
+/*! \class DataPlot
+*
+* \brief Abstract class to display plots on ground station
+*
+*/
+class DataPlot : public SendData {
+public:
+  /*!
+  \enum Color_t
+  \brief Types of colors
+  */
+  typedef enum {
+    Red /*! red  */,
+    Blue /*! blue  */,
+    Green /*! green  */,
+    Yellow /*! yellow  */,
+    Black /*! black  */,
+    White /*! white  */,
+  } Color_t;
 
-            /*!
-            * \brief Constructor
-            *
-            * Type must agree with predifined (hard coded) types
-            * in ground station code. After calling this constructor,
-            * position will be deleted as it is no longer usefull.
-            * The DataPlot will automatically be child of position->getLayout() Layout.
-            *
-            * \param position position
-            * \param name nom
-            * \param type type
-            */
-            DataPlot(const LayoutPosition* position,std::string name,std::string type);
+  /*!
+  * \brief Constructor
+  *
+  * Type must agree with predifined (hard coded) types
+  * in ground station code. After calling this constructor,
+  * position will be deleted as it is no longer usefull.
+  * The DataPlot will automatically be child of position->getLayout() Layout.
+  *
+  * \param position position
+  * \param name nom
+  * \param type type
+  */
+  DataPlot(const LayoutPosition *position, std::string name, std::string type);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~DataPlot();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~DataPlot();
 
-        protected:
-            /*!
-            * \brief Add an IODataElement to the plot.
-            *
-            * This method registers element for sending.
-            *
-            * \param element element to plot
-            */
-            void AddDataToSend(const core::IODataElement *element);
+protected:
+  /*!
+  * \brief Add an IODataElement to the plot.
+  *
+  * This method registers element for sending.
+  *
+  * \param element element to plot
+  */
+  void AddDataToSend(const core::IODataElement *element);
 
-        private:
-            /*!
-            * \brief Copy datas to specified buffer
-            *
-            * Reimplemented from SendData.
-            *
-            * \param buf output buffer
-            */
-            void CopyDatas(char* buf) const;
+private:
+  /*!
+  * \brief Copy datas to specified buffer
+  *
+  * Reimplemented from SendData.
+  *
+  * \param buf output buffer
+  */
+  void CopyDatas(char *buf) const;
 
-            /*!
-            * \brief Extra Xml event
-            *
-            * Reimplemented from SendData.
-            */
-            void ExtraXmlEvent(void){};
+  /*!
+  * \brief Extra Xml event
+  *
+  * Reimplemented from SendData.
+  */
+  void ExtraXmlEvent(void){};
 
-            class DataPlot_impl* pimpl_;
-    };
+  class DataPlot_impl *pimpl_;
+};
 
-    /*!
-    * \brief Get RGB components from color type
-    *
-    *
-    * \param color input color
-    * \param r output component
-    * \param g output component
-    * \param b output component
-    */
-    void RGBFromColor(DataPlot::Color_t color,uint8_t &r,uint8_t &g,uint8_t &b);
+/*!
+* \brief Get RGB components from color type
+*
+*
+* \param color input color
+* \param r output component
+* \param g output component
+* \param b output component
+*/
+void RGBFromColor(DataPlot::Color_t color, uint8_t &r, uint8_t &g, uint8_t &b);
 
 } // end namespace gui
Index: trunk/include/FlairCore/DataPlot1D.h
===================================================================
--- trunk/include/FlairCore/DataPlot1D.h	(revision 2)
+++ trunk/include/FlairCore/DataPlot1D.h	(revision 13)
@@ -17,66 +17,67 @@
 #include <stdint.h>
 
-namespace flair
-{
-namespace core
-{
-    class IODataElement;
+namespace flair {
+namespace core {
+class IODataElement;
 }
 
-namespace gui
-{
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class DataPlot1D
-    *
-    * \brief Class displaying a 1D plot on the ground station
-    *
-    */
-    class DataPlot1D: private DataPlot
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a 1D plot at given position.
-            *
-            * \param position position to display the plot
-            * \param name name
-            * \param ymin default ymin of the plot
-            * \param ymax default ymax of the plot
-            */
-            DataPlot1D(const LayoutPosition* position,std::string name,float ymin,float ymax);
+/*! \class DataPlot1D
+*
+* \brief Class displaying a 1D plot on the ground station
+*
+*/
+class DataPlot1D : private DataPlot {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a 1D plot at given position.
+  *
+  * \param position position to display the plot
+  * \param name name
+  * \param ymin default ymin of the plot
+  * \param ymax default ymax of the plot
+  */
+  DataPlot1D(const LayoutPosition *position, std::string name, float ymin,
+             float ymax);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~DataPlot1D();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~DataPlot1D();
 
-            /*!
-            * \brief Add a curve from an IODataElement to the plot.
-            *
-            * Curve's color can be selected by its name.
-            *
-            * \param element element to plot
-            * \param color color of the curve
-            * \param curve_name name of the curve for the legend, if unspecified, element->ObjectName() will be used
-            */
-            void AddCurve(const core::IODataElement* element,Color_t color,std::string curve_name="");
+  /*!
+  * \brief Add a curve from an IODataElement to the plot.
+  *
+  * Curve's color can be selected by its name.
+  *
+  * \param element element to plot
+  * \param color color of the curve
+  * \param curve_name name of the curve for the legend, if unspecified,
+  *element->ObjectName() will be used
+  */
+  void AddCurve(const core::IODataElement *element, Color_t color,
+                std::string curve_name = "");
 
-            /*!
-            * \brief Add a curve from an IODataElement to the plot.
-            *
-            * Curve's color can be selected by its RGB components.
-            *
-            * \param element element to plot
-            * \param r red component of the curve
-            * \param g green component of the curve
-            * \param b blue component of the curve
-            * \param curve_name name of the curve for the legend, if unspecified, element->ObjectName() will be used
-            */
-            void AddCurve(const core::IODataElement* element,uint8_t r=255,uint8_t g=0,uint8_t b=0,std::string curve_name="");
-    };
+  /*!
+  * \brief Add a curve from an IODataElement to the plot.
+  *
+  * Curve's color can be selected by its RGB components.
+  *
+  * \param element element to plot
+  * \param r red component of the curve
+  * \param g green component of the curve
+  * \param b blue component of the curve
+  * \param curve_name name of the curve for the legend, if unspecified,
+  *element->ObjectName() will be used
+  */
+  void AddCurve(const core::IODataElement *element, uint8_t r = 255,
+                uint8_t g = 0, uint8_t b = 0, std::string curve_name = "");
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/DataPlot2D.h
===================================================================
--- trunk/include/FlairCore/DataPlot2D.h	(revision 2)
+++ trunk/include/FlairCore/DataPlot2D.h	(revision 13)
@@ -17,74 +17,75 @@
 #include <stdint.h>
 
-namespace flair
-{
-    namespace core
-    {
-        class IODataElement;
-    }
+namespace flair {
+namespace core {
+class IODataElement;
 }
-namespace flair
-{
-namespace gui
-{
+}
+namespace flair {
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class DataPlot2D
-    *
-    * \brief Class displaying a 2D plot on the ground station
-    *
-    */
-    class DataPlot2D: private DataPlot
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a 2D plot at given place position.
-            *
-            * \param position position to display the plot
-            * \param name name
-            * \param x_name name of x axis
-            * \param xmin default xmin of the plot
-            * \param xmax default xmax of the plot
-            * \param y_name name of y axis
-            * \param ymin default ymin of the plot
-            * \param ymax default ymax of the plot
-            */
-            DataPlot2D(const LayoutPosition* position,std::string name,std::string x_name,float xmin,float xmax,std::string y_name,float ymin,float ymax);
+/*! \class DataPlot2D
+*
+* \brief Class displaying a 2D plot on the ground station
+*
+*/
+class DataPlot2D : private DataPlot {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a 2D plot at given place position.
+  *
+  * \param position position to display the plot
+  * \param name name
+  * \param x_name name of x axis
+  * \param xmin default xmin of the plot
+  * \param xmax default xmax of the plot
+  * \param y_name name of y axis
+  * \param ymin default ymin of the plot
+  * \param ymax default ymax of the plot
+  */
+  DataPlot2D(const LayoutPosition *position, std::string name,
+             std::string x_name, float xmin, float xmax, std::string y_name,
+             float ymin, float ymax);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~DataPlot2D();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~DataPlot2D();
 
-            /*!
-            * \brief Add a curve from elements to the plot.
-            *
-            * Curve's color can be selected by its name.
-            *
-            * \param x_element element to plot for x coordinate
-            * \param y_element element to plot for y coordinate
-            * \param color color of the curve
-            * \param curve_name name of the curve ofr the legend
-            */
-            void AddCurve(const core::IODataElement* x_element,const core::IODataElement* y_element,Color_t color,std::string curve_name="");
+  /*!
+  * \brief Add a curve from elements to the plot.
+  *
+  * Curve's color can be selected by its name.
+  *
+  * \param x_element element to plot for x coordinate
+  * \param y_element element to plot for y coordinate
+  * \param color color of the curve
+  * \param curve_name name of the curve ofr the legend
+  */
+  void AddCurve(const core::IODataElement *x_element,
+                const core::IODataElement *y_element, Color_t color,
+                std::string curve_name = "");
 
-            /*!
-            * \brief Add a curve from elements to the plot.
-            *
-            * Curve's color can be selected by its RGB components.
-            *
-            * \param x_element element to plot for x coordinate
-            * \param y_element element to plot for y coordinate
-            * \param r red component of the curve
-            * \param g green component of the curve
-            * \param b blue component of the curve
-            * \param curve_name name of the curve ofr the legend
-            */
-            void AddCurve(const core::IODataElement* x_element,const core::IODataElement* y_element,uint8_t r=255,uint8_t g=0,uint8_t b=0,std::string curve_name="");
-    };
+  /*!
+  * \brief Add a curve from elements to the plot.
+  *
+  * Curve's color can be selected by its RGB components.
+  *
+  * \param x_element element to plot for x coordinate
+  * \param y_element element to plot for y coordinate
+  * \param r red component of the curve
+  * \param g green component of the curve
+  * \param b blue component of the curve
+  * \param curve_name name of the curve ofr the legend
+  */
+  void AddCurve(const core::IODataElement *x_element,
+                const core::IODataElement *y_element, uint8_t r = 255,
+                uint8_t g = 0, uint8_t b = 0, std::string curve_name = "");
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/DoubleSpinBox.h
===================================================================
--- trunk/include/FlairCore/DoubleSpinBox.h	(revision 2)
+++ trunk/include/FlairCore/DoubleSpinBox.h	(revision 13)
@@ -16,76 +16,77 @@
 #include <Box.h>
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    class Layout;
+class Layout;
 
-    /*! \class DoubleSpinBox
-    *
-    * \brief Class displaying a QDoubleSpinBox on the ground station
-    *
-    */
-    class DoubleSpinBox: public Box
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QDoubleSpinBox at given position. \n
-            * The QDoubleSpinBox is saturated to min and max values.
-            *
-            * \param position position to display the QDoubleSpinBox
-            * \param name name
-            * \param min minimum value
-            * \param max maximum value
-            * \param step step
-            * \param decimals number of decimals
-            * \param default_value default value if not in the xml config file
-            */
-            DoubleSpinBox(const LayoutPosition* position,std::string name,double min,double max,double step,int decimals=2,double default_value=0);
+/*! \class DoubleSpinBox
+*
+* \brief Class displaying a QDoubleSpinBox on the ground station
+*
+*/
+class DoubleSpinBox : public Box {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QDoubleSpinBox at given position. \n
+  * The QDoubleSpinBox is saturated to min and max values.
+  *
+  * \param position position to display the QDoubleSpinBox
+  * \param name name
+  * \param min minimum value
+  * \param max maximum value
+  * \param step step
+  * \param decimals number of decimals
+  * \param default_value default value if not in the xml config file
+  */
+  DoubleSpinBox(const LayoutPosition *position, std::string name, double min,
+                double max, double step, int decimals = 2,
+                double default_value = 0);
 
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QDoubleSpinBox at given position. \n
-            * The QDoubleSpinBox is saturated to min and max values.
-            *
-            * \param position position to display the QDoubleSpinBox
-            * \param name name
-            * \param suffix suffix for the value (eg unit)
-            * \param min minimum value
-            * \param max maximum value
-            * \param step step
-            * \param decimals number of decimals
-            * \param default_value default value if not in the xml config file
-            */
-            DoubleSpinBox(const LayoutPosition* position,std::string name,std::string suffix,double min,double max,double step,int decimals=2,double default_value=0);
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QDoubleSpinBox at given position. \n
+  * The QDoubleSpinBox is saturated to min and max values.
+  *
+  * \param position position to display the QDoubleSpinBox
+  * \param name name
+  * \param suffix suffix for the value (eg unit)
+  * \param min minimum value
+  * \param max maximum value
+  * \param step step
+  * \param decimals number of decimals
+  * \param default_value default value if not in the xml config file
+  */
+  DoubleSpinBox(const LayoutPosition *position, std::string name,
+                std::string suffix, double min, double max, double step,
+                int decimals = 2, double default_value = 0);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~DoubleSpinBox();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~DoubleSpinBox();
 
-            /*!
-            * \brief Value
-            *
-            * \return value
-            */
-            double Value(void) const;
+  /*!
+  * \brief Value
+  *
+  * \return value
+  */
+  double Value(void) const;
 
-        private:
-            /*!
-            * \brief XmlEvent from ground station
-            *
-            * Reimplemented from Widget.
-            *
-            */
-            void XmlEvent(void);
+private:
+  /*!
+  * \brief XmlEvent from ground station
+  *
+  * Reimplemented from Widget.
+  *
+  */
+  void XmlEvent(void);
 
-            double box_value;
-    };
+  double box_value;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/Euler.h
===================================================================
--- trunk/include/FlairCore/Euler.h	(revision 2)
+++ trunk/include/FlairCore/Euler.h	(revision 13)
@@ -14,136 +14,136 @@
 #define EULER_H
 
-namespace flair { namespace core {
-    class Quaternion;
+namespace flair {
+namespace core {
+class Quaternion;
 
-    /*! \class Euler
-    *
-    * \brief Class defining euler angles
-    *
-    * Euler angles are expressed in radians.
-    *
-    */
-    class Euler {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct euler angles using specified values.
-            *
-            * \param roll roll value
-            * \param pitch pitch value
-            * \param yaw yaw value
-            */
-            Euler(float roll=0,float pitch=0,float yaw=0);
+/*! \class Euler
+*
+* \brief Class defining euler angles
+*
+* Euler angles are expressed in radians.
+*
+*/
+class Euler {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct euler angles using specified values.
+  *
+  * \param roll roll value
+  * \param pitch pitch value
+  * \param yaw yaw value
+  */
+  Euler(float roll = 0, float pitch = 0, float yaw = 0);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Euler();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Euler();
 
-            /*!
-            * \brief x axis rotation
-            *
-            * \param value rotation value in radians
-            */
-            //todo: passer par un quaternion
-            //void RotateX(float value);
+  /*!
+  * \brief x axis rotation
+  *
+  * \param value rotation value in radians
+  */
+  // todo: passer par un quaternion
+  // void RotateX(float value);
 
-            /*!
-            * \brief x axis rotation
-            *
-            * \param value rotation value in degrees
-            */
-            //void RotateXDeg(float value);
+  /*!
+  * \brief x axis rotation
+  *
+  * \param value rotation value in degrees
+  */
+  // void RotateXDeg(float value);
 
-            /*!
-            * \brief y axis rotation
-            *
-            * \param value rotation value in radians
-            */
-            //void RotateY(float value);
+  /*!
+  * \brief y axis rotation
+  *
+  * \param value rotation value in radians
+  */
+  // void RotateY(float value);
 
-            /*!
-            * \brief y axis rotation
-            *
-            * \param value rotation value in degrees
-            */
-            //void RotateYDeg(float value);
+  /*!
+  * \brief y axis rotation
+  *
+  * \param value rotation value in degrees
+  */
+  // void RotateYDeg(float value);
 
-            /*!
-            * \brief z axis rotation
-            *
-            * \param value rotation value in radians
-            */
-            //void RotateZ(float value);
+  /*!
+  * \brief z axis rotation
+  *
+  * \param value rotation value in radians
+  */
+  // void RotateZ(float value);
 
-            /*!
-            * \brief z axis rotation
-            *
-            * \param value rotation value in degrees
-            */
-            //void RotateZDeg(float value);
+  /*!
+  * \brief z axis rotation
+  *
+  * \param value rotation value in degrees
+  */
+  // void RotateZDeg(float value);
 
-            /*!
-            * \brief Convert to quaternion
-            *
-            * \param quaternion output quaternion
-            */
-            void ToQuaternion(Quaternion &quaternion) const;
+  /*!
+  * \brief Convert to quaternion
+  *
+  * \param quaternion output quaternion
+  */
+  void ToQuaternion(Quaternion &quaternion) const;
 
-            /*!
-            * \brief Convert to quaternion
-            *
-            * \return quaternion
-            */
-            Quaternion ToQuaternion(void) const;
-            /*!
-            * \brief Convert from radian to degree
-            *
-            * \param radianValue value in radian
-            *
-            * \return value in degree
-            */
-            static float ToDegree(float radianValue);
+  /*!
+  * \brief Convert to quaternion
+  *
+  * \return quaternion
+  */
+  Quaternion ToQuaternion(void) const;
+  /*!
+  * \brief Convert from radian to degree
+  *
+  * \param radianValue value in radian
+  *
+  * \return value in degree
+  */
+  static float ToDegree(float radianValue);
 
-            /*!
-            * \brief Convert from degree to radian
-            *
-            * \param degreeValue value in degree
-            *
-            * \return value in radian
-            */
-            static float ToRadian(float degreeValue);
+  /*!
+  * \brief Convert from degree to radian
+  *
+  * \param degreeValue value in degree
+  *
+  * \return value in radian
+  */
+  static float ToRadian(float degreeValue);
 
-            /*!
-            * \brief Compute yaw distance
-            *
-            * Compute yaw distance from given angle. This is the minimum distance.
-            *
-            * \param angle starting angle
-            *
-            * \return value distance in radian
-            */
-            float YawDistanceFrom(float angle) const;
+  /*!
+  * \brief Compute yaw distance
+  *
+  * Compute yaw distance from given angle. This is the minimum distance.
+  *
+  * \param angle starting angle
+  *
+  * \return value distance in radian
+  */
+  float YawDistanceFrom(float angle) const;
 
-            /*!
-            * \brief roll value
-            */
-            float roll;
+  /*!
+  * \brief roll value
+  */
+  float roll;
 
-            /*!
-            * \brief pitch value
-            */
-            float pitch;
+  /*!
+  * \brief pitch value
+  */
+  float pitch;
 
-            /*!
-            * \brief yaw value
-            */
-            float yaw;
+  /*!
+  * \brief yaw value
+  */
+  float yaw;
 
-            Euler& operator=(const Euler &euler);
-
-    };
+  Euler &operator=(const Euler &euler);
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/FrameworkManager.h
===================================================================
--- trunk/include/FlairCore/FrameworkManager.h	(revision 2)
+++ trunk/include/FlairCore/FrameworkManager.h	(revision 13)
@@ -18,202 +18,209 @@
 class FrameworkManager_impl;
 
-namespace flair
-{
-    namespace gui
-    {
-        class TabWidget;
-        class SendData;
-    }
+namespace flair {
+namespace gui {
+class TabWidget;
+class SendData;
 }
-namespace flair
-{
-namespace core
-{
-    class IODevice;
-
-    /*! \class FrameworkManager
-    *
-    * \brief Main class of the Framework library
-    *
-    * This is the main class of the library. Only one instance of this class is allowed
-    * by program. Morevoer, its name must be unique if more than one program using this class
-    * is running on the same system (a control and a simlator for example). \n
-    * This class allows: \n
-    * -connexion with ground station, \n
-    * -creation of a QTabWidget on ground station, \n
-    * -handling of xml files, used for default values of Widgets, \n
-    * -logging of datas.
-    */
-    class FrameworkManager: public Object
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a FrameworkManager. \n
-            * Call SetupConnection method just after this constructor to setup the conection with a ground station.
-            *
-            * \param name name, must be unique
-            */
-            FrameworkManager(std::string name);
-
-            /*!
-            * \brief Destructor
-            *
-            * Calling it will automatically destruct all childs. \n
-            * Destruction implies destruction of the QTabWidget on ground station.
-            *
-            */
-            ~FrameworkManager();
-
-            /*!
-            * \brief Setup the connection with ground station
-            *
-            * Call this method just after the constructor of this class. If this method is not called, the program will run headless.
-            *
-            * \param address address of ground station
-            * \param port port of ground station
-            * \param rcv_buf_size receive buffer size
-            */
-            void SetupConnection(std::string address,uint16_t port,size_t rcv_buf_size=10000);
-
-            /*!
-            * \brief Setup the user interface
-            *
-            * If this method is called after SetupConnection, Widgets will be displayed in the ground station.
-            * Otherwise, it will run headless, but default values of Widgets will be taken from the xml file.
-            *
-            * \param xml_file xml file for default values of Widgets
-            */
-            void SetupUserInterface(std::string xml_file);
-
-            /*!
-            * \brief Get TabWidget
-            *
-            * \return TabWidget
-            */
-            gui::TabWidget* GetTabWidget(void) const;
-
-            /*!
-            * \brief Logger setup
-            *
-            * Setup path of log files. \n
-            * No logging will be performed if this method is not called. \n
-            *
-            * \param log_path path to store logs
-            */
-            void SetupLogger(std::string log_path);
-
-            /*!
-            * \brief Add log element
-            *
-            * The added element will be automatically logged once
-            * logging started (see StartLog()). \n
-            * This element must define on its side the io_data
-            * to log, trough IODevice::SetDataToLog method.
-            *
-            * \param device IODevice to add
-            */
-            void AddDeviceToLog(IODevice *device);
-
-            /*!
-            * \brief Start logging
-            *
-            * All IODevice added through AddDeviceToLog() method
-            * will automatically be logged. \n
-            * SetupLogger() must have been called before.
-            */
-            void StartLog(void);
-
-            /*!
-            * \brief Stop logging
-            *
-            * Logs will automatically be sent to ground station.
-            */
-            void StopLog(void);
-
-            /*!
-            * \brief Is logging?
-            *
-            * \return true if is logging
-            */
-            bool IsLogging(void) const;
-
-            /*!
-            * \brief Notify that SendData's period has changed
-            *
-            * This funtion must be called when the period has changed. \n
-            * Normally, it occurs in the Widget::XmlEvent method. \n
-            * This method must be called with communication blocked (see BlockCom()).
-            *
-            * \param obj SendData which changed
-            */
-            void UpdateSendData(const gui::SendData *obj);
-
-            /*!
-            * \brief Block communication
-            *
-            * This funtion blocks the communication beetween the program and ground station. \n
-            * It must be called before changing datas or parameters exchanged between the program
-            * and the ground station.
-            *
-            */
-            void BlockCom(void);
-
-             /*!
-            * \brief Unblock communication
-            *
-            * This funtion unblocks the communication beetween the program and ground station. \n
-            * It must be called after changing datas or parameters exchanged between the program
-            * and the ground station.
-            *
-            */
-            void UnBlockCom(void);
-
-            /*!
-            * \brief Is connection lost?
-            *
-            * Once this method returns true, it will never return false back. \n
-            * Note that this method return false if no connection is defined (see SetupConnection).
-            *
-            * \return true if connection with ground station is lost
-            */
-            bool ConnectionLost(void) const;
-
-            /*!
-            * \brief Disable errors display
-            *
-            * Disable errors display, if you do not want to saturate console for exemple.
-            * By defaults errors disply is enabled.
-            *
-            * \param value true to disable errors display
-            */
-            void DisableErrorsDisplay(bool value);
-
-            /*!
-            * \brief Is displaying errors?
-            *
-            *
-            * \return true if errors display is enabled
-            */
-            bool IsDisplayingErrors(void) const;
-
-        private:
-            class FrameworkManager_impl* pimpl_;
-    };
-
-    /*!
-    * \brief get FrameworkManager
-    *
-    * \return the FrameworkManager
-    */
-    FrameworkManager* getFrameworkManager(void);
-
-    /*!
-    * \brief is big endian?
-    *
-    * \return true if big endian, false if little endian
-    */
-    bool IsBigEndian(void);
+}
+namespace flair {
+namespace core {
+class IODevice;
+
+/*! \class FrameworkManager
+*
+* \brief Main class of the Framework library
+*
+* This is the main class of the library. Only one instance of this class is
+*allowed
+* by program. Morevoer, its name must be unique if more than one program using
+*this class
+* is running on the same system (a control and a simlator for example). \n
+* This class allows: \n
+* -connexion with ground station, \n
+* -creation of a QTabWidget on ground station, \n
+* -handling of xml files, used for default values of Widgets, \n
+* -logging of datas.
+*/
+class FrameworkManager : public Object {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a FrameworkManager. \n
+  * Call SetupConnection method just after this constructor to setup the
+  *conection with a ground station.
+  *
+  * \param name name, must be unique
+  */
+  FrameworkManager(std::string name);
+
+  /*!
+  * \brief Destructor
+  *
+  * Calling it will automatically destruct all childs. \n
+  * Destruction implies destruction of the QTabWidget on ground station.
+  *
+  */
+  ~FrameworkManager();
+
+  /*!
+  * \brief Setup the connection with ground station
+  *
+  * Call this method just after the constructor of this class. If this method is
+  *not called, the program will run headless.
+  *
+  * \param address address of ground station
+  * \param port port of ground station
+  * \param rcv_buf_size receive buffer size
+  */
+  void SetupConnection(std::string address, uint16_t port,
+                       size_t rcv_buf_size = 10000);
+
+  /*!
+  * \brief Setup the user interface
+  *
+  * If this method is called after SetupConnection, Widgets will be displayed in
+  *the ground station.
+  * Otherwise, it will run headless, but default values of Widgets will be taken
+  *from the xml file.
+  *
+  * \param xml_file xml file for default values of Widgets
+  */
+  void SetupUserInterface(std::string xml_file);
+
+  /*!
+  * \brief Get TabWidget
+  *
+  * \return TabWidget
+  */
+  gui::TabWidget *GetTabWidget(void) const;
+
+  /*!
+  * \brief Logger setup
+  *
+  * Setup path of log files. \n
+  * No logging will be performed if this method is not called. \n
+  *
+  * \param log_path path to store logs
+  */
+  void SetupLogger(std::string log_path);
+
+  /*!
+  * \brief Add log element
+  *
+  * The added element will be automatically logged once
+  * logging started (see StartLog()). \n
+  * This element must define on its side the io_data
+  * to log, trough IODevice::SetDataToLog method.
+  *
+  * \param device IODevice to add
+  */
+  void AddDeviceToLog(IODevice *device);
+
+  /*!
+  * \brief Start logging
+  *
+  * All IODevice added through AddDeviceToLog() method
+  * will automatically be logged. \n
+  * SetupLogger() must have been called before.
+  */
+  void StartLog(void);
+
+  /*!
+  * \brief Stop logging
+  *
+  * Logs will automatically be sent to ground station.
+  */
+  void StopLog(void);
+
+  /*!
+  * \brief Is logging?
+  *
+  * \return true if is logging
+  */
+  bool IsLogging(void) const;
+
+  /*!
+  * \brief Notify that SendData's period has changed
+  *
+  * This funtion must be called when the period has changed. \n
+  * Normally, it occurs in the Widget::XmlEvent method. \n
+  * This method must be called with communication blocked (see BlockCom()).
+  *
+  * \param obj SendData which changed
+  */
+  void UpdateSendData(const gui::SendData *obj);
+
+  /*!
+  * \brief Block communication
+  *
+  * This funtion blocks the communication beetween the program and ground
+  *station. \n
+  * It must be called before changing datas or parameters exchanged between the
+  *program
+  * and the ground station.
+  *
+  */
+  void BlockCom(void);
+
+  /*!
+ * \brief Unblock communication
+ *
+ * This funtion unblocks the communication beetween the program and ground
+ *station. \n
+ * It must be called after changing datas or parameters exchanged between the
+ *program
+ * and the ground station.
+ *
+ */
+  void UnBlockCom(void);
+
+  /*!
+  * \brief Is connection lost?
+  *
+  * Once this method returns true, it will never return false back. \n
+  * Note that this method return false if no connection is defined (see
+  *SetupConnection).
+  *
+  * \return true if connection with ground station is lost
+  */
+  bool ConnectionLost(void) const;
+
+  /*!
+  * \brief Disable errors display
+  *
+  * Disable errors display, if you do not want to saturate console for exemple.
+  * By defaults errors disply is enabled.
+  *
+  * \param value true to disable errors display
+  */
+  void DisableErrorsDisplay(bool value);
+
+  /*!
+  * \brief Is displaying errors?
+  *
+  *
+  * \return true if errors display is enabled
+  */
+  bool IsDisplayingErrors(void) const;
+
+private:
+  class FrameworkManager_impl *pimpl_;
+};
+
+/*!
+* \brief get FrameworkManager
+*
+* \return the FrameworkManager
+*/
+FrameworkManager *getFrameworkManager(void);
+
+/*!
+* \brief is big endian?
+*
+* \return true if big endian, false if little endian
+*/
+bool IsBigEndian(void);
 
 } // end namespace core
Index: trunk/include/FlairCore/GeoCoordinate.h
===================================================================
--- trunk/include/FlairCore/GeoCoordinate.h	(revision 2)
+++ trunk/include/FlairCore/GeoCoordinate.h	(revision 13)
@@ -15,94 +15,99 @@
 #include <io_data.h>
 
-namespace flair { namespace core {
+namespace flair {
+namespace core {
 
-    /*! \class GeoCoordinate
-    *
-    * \brief Class defining a point by its lla coordinates
-    */
-    class GeoCoordinate: public io_data {
-        public:
-            class Type: public DataType {
-            public:
-                size_t GetSize() const {
-                    return sizeof(latitude)+sizeof(longitude)+sizeof(altitude);
-                }
-                std::string GetDescription() const {return "lla";}
-            };
+/*! \class GeoCoordinate
+*
+* \brief Class defining a point by its lla coordinates
+*/
+class GeoCoordinate : public io_data {
+public:
+  class Type : public DataType {
+  public:
+    size_t GetSize() const {
+      return sizeof(latitude) + sizeof(longitude) + sizeof(altitude);
+    }
+    std::string GetDescription() const { return "lla"; }
+  };
 
-            /*!
-            * \brief Constructor
-            *
-            * Construct GeoCoordinate using values from another class.
-            *
-            * \param parent parent
-            * \param name name
-            * \param point class to copy
-            * \param n number of samples
-            */
-            GeoCoordinate(const Object* parent,std::string name,const GeoCoordinate *point,int n=1);
+  /*!
+  * \brief Constructor
+  *
+  * Construct GeoCoordinate using values from another class.
+  *
+  * \param parent parent
+  * \param name name
+  * \param point class to copy
+  * \param n number of samples
+  */
+  GeoCoordinate(const Object *parent, std::string name,
+                const GeoCoordinate *point, int n = 1);
 
-            /*!
-            * \brief Constructor
-            *
-            * Construct GeoCoordinate using specified values.
-            *
-            * \param parent parent
-            * \param name name
-            * \param latitude latitude
-            * \param longitude longitude
-            * \param altitude altitude
-            * \param n number of samples
-            */
-            GeoCoordinate(const Object* parent,std::string name,double latitude,double longitude,double altitude,int n=1);
+  /*!
+  * \brief Constructor
+  *
+  * Construct GeoCoordinate using specified values.
+  *
+  * \param parent parent
+  * \param name name
+  * \param latitude latitude
+  * \param longitude longitude
+  * \param altitude altitude
+  * \param n number of samples
+  */
+  GeoCoordinate(const Object *parent, std::string name, double latitude,
+                double longitude, double altitude, int n = 1);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~GeoCoordinate();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~GeoCoordinate();
 
-            /*!
-            * \brief Copy
-            *
-            * \param point class to copy
-            */
-            void CopyFrom(const GeoCoordinate *point);
+  /*!
+  * \brief Copy
+  *
+  * \param point class to copy
+  */
+  void CopyFrom(const GeoCoordinate *point);
 
-            /*!
-            * \brief Set coordinates
-            *
-            * \param latitude latitude
-            * \param longitude longitude
-            * \param altitude altitude
-            */
-            void SetCoordinates(double latitude,double longitude,double altitude);
+  /*!
+  * \brief Set coordinates
+  *
+  * \param latitude latitude
+  * \param longitude longitude
+  * \param altitude altitude
+  */
+  void SetCoordinates(double latitude, double longitude, double altitude);
 
-            /*!
-            * \brief Get coordinates
-            *
-            * \param latitude latitude
-            * \param longitude longitude
-            * \param altitude altitude
-            */
-            void GetCoordinates(double *latitude,double *longitude,double *altitude) const;
+  /*!
+  * \brief Get coordinates
+  *
+  * \param latitude latitude
+  * \param longitude longitude
+  * \param altitude altitude
+  */
+  void GetCoordinates(double *latitude, double *longitude,
+                      double *altitude) const;
 
-            Type const &GetDataType() const {return dataType;}
-        private:
-            /*!
-            * \brief Copy datas
-            *
-            * Reimplemented from io_data. \n
-            * See io_data::CopyDatas.
-            *
-            * \param dst destination buffer
-            */
-            void CopyDatas(char* ptr) const;
+  Type const &GetDataType() const { return dataType; }
 
-            double latitude;
-            double longitude;
-            double altitude;
-            Type dataType;
-    };
+private:
+  /*!
+  * \brief Copy datas
+  *
+  * Reimplemented from io_data. \n
+  * See io_data::CopyDatas.
+  *
+  * \param dst destination buffer
+  */
+  void CopyDatas(char *ptr) const;
+
+  double latitude;
+  double longitude;
+  double altitude;
+  Type dataType;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/GridLayout.h
===================================================================
--- trunk/include/FlairCore/GridLayout.h	(revision 2)
+++ trunk/include/FlairCore/GridLayout.h	(revision 13)
@@ -16,39 +16,37 @@
 #include <Layout.h>
 
-namespace flair
-{
-namespace gui
-{
-    class LayoutPosition;
+namespace flair {
+namespace gui {
+class LayoutPosition;
 
-    /*! \class GridLayout
-    *
-    * \brief Class displaying a QGridLayout on the ground station
-    *
-    */
-    class GridLayout: public Layout
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QCheckBox at given position. \n
-            * The GridLayout will automatically be child of position->getLayout() Layout. After calling this constructor,
-            * position will be deleted as it is no longer usefull.
-            *
-            * \param parent parent
-            * \param name name
+/*! \class GridLayout
+*
+* \brief Class displaying a QGridLayout on the ground station
+*
+*/
+class GridLayout : public Layout {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QCheckBox at given position. \n
+  * The GridLayout will automatically be child of position->getLayout() Layout.
+  After calling this constructor,
+  * position will be deleted as it is no longer usefull.
+  *
+  * \param parent parent
+  * \param name name
 
-            */
-            GridLayout(const LayoutPosition* position,std::string name);
+  */
+  GridLayout(const LayoutPosition *position, std::string name);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~GridLayout();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~GridLayout();
 
-        private:
-    };
+private:
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/GroupBox.h
===================================================================
--- trunk/include/FlairCore/GroupBox.h	(revision 2)
+++ trunk/include/FlairCore/GroupBox.h	(revision 13)
@@ -16,38 +16,36 @@
 #include <Layout.h>
 
-namespace flair
-{
-namespace gui
-{
-    class LayoutPosition;
+namespace flair {
+namespace gui {
+class LayoutPosition;
 
-    /*! \class GroupBox
-    *
-    * \brief Class displaying a QGroupBox on the ground station
-    *
-    */
-    class GroupBox: public Layout
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QGroupBox at given position. \n
-            * The GroupBox will automatically be child of position->getLayout() Layout. After calling this constructor,
-            * position will be deleted as it is no longer usefull.
-            *
-            * \param position position
-            * \param name name
-            */
-            GroupBox(const LayoutPosition* position,std::string name);
+/*! \class GroupBox
+*
+* \brief Class displaying a QGroupBox on the ground station
+*
+*/
+class GroupBox : public Layout {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QGroupBox at given position. \n
+  * The GroupBox will automatically be child of position->getLayout() Layout.
+  *After calling this constructor,
+  * position will be deleted as it is no longer usefull.
+  *
+  * \param position position
+  * \param name name
+  */
+  GroupBox(const LayoutPosition *position, std::string name);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~GroupBox();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~GroupBox();
 
-        private:
-    };
+private:
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/I2cPort.h
===================================================================
--- trunk/include/FlairCore/I2cPort.h	(revision 2)
+++ trunk/include/FlairCore/I2cPort.h	(revision 13)
@@ -17,84 +17,81 @@
 #include <stdint.h>
 
-namespace flair
-{
-namespace core
-{
-    /*! \class I2cPort
-    *
-    * \brief Base class for i2c port
-    *
-    * This class has a Mutex which must be used to protect access to the port in case
-    * that more than one Thread is using it. Lock the Mutex before any communication (including SetSlave)
-    * and release it after communication.
-    */
-    class I2cPort: public Mutex
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct an i2c port.
-            *
-            * \param parent parent
-            * \param name name
-            */
-            I2cPort(const Object* parent,std::string name): Mutex(parent,name)
-            {}
+namespace flair {
+namespace core {
+/*! \class I2cPort
+*
+* \brief Base class for i2c port
+*
+* This class has a Mutex which must be used to protect access to the port in
+*case
+* that more than one Thread is using it. Lock the Mutex before any communication
+*(including SetSlave)
+* and release it after communication.
+*/
+class I2cPort : public Mutex {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct an i2c port.
+  *
+  * \param parent parent
+  * \param name name
+  */
+  I2cPort(const Object *parent, std::string name) : Mutex(parent, name) {}
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~I2cPort(){};
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~I2cPort(){};
 
-            /*!
-            * \brief Set slave's address
-            *
-            * This function need to be called before any communication.
-            *
-            * \param address slave's address
-            */
-            virtual int SetSlave(uint16_t address)=0;
+  /*!
+  * \brief Set slave's address
+  *
+  * This function need to be called before any communication.
+  *
+  * \param address slave's address
+  */
+  virtual int SetSlave(uint16_t address) = 0;
 
-            /*!
-            * \brief Write datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of written datas
-            */
-            virtual ssize_t Write(const void *buf,size_t nbyte)=0;
+  /*!
+  * \brief Write datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of written datas
+  */
+  virtual ssize_t Write(const void *buf, size_t nbyte) = 0;
 
-            /*!
-            * \brief Read datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of read datas
-            */
-            virtual ssize_t Read(void *buf,size_t nbyte)=0;
+  /*!
+  * \brief Read datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of read datas
+  */
+  virtual ssize_t Read(void *buf, size_t nbyte) = 0;
 
-            /*!
-            * \brief Set RX timeout
-            *
-            * Timeout for waiting an ACK from the slave.
-            *
-            * \param timeout_ns timeout in nano second
-            */
-            virtual void SetRxTimeout(Time timeout_ns)=0;
+  /*!
+  * \brief Set RX timeout
+  *
+  * Timeout for waiting an ACK from the slave.
+  *
+  * \param timeout_ns timeout in nano second
+  */
+  virtual void SetRxTimeout(Time timeout_ns) = 0;
 
-            /*!
-            * \brief Set TX timeout
-            *
-            * Timeout for waiting an ACK from the slave.
-            *
-            * \param timeout_ns timeout in nano second
-            */
-            virtual void SetTxTimeout(Time timeout_ns)=0;
-
-    };
+  /*!
+  * \brief Set TX timeout
+  *
+  * Timeout for waiting an ACK from the slave.
+  *
+  * \param timeout_ns timeout in nano second
+  */
+  virtual void SetTxTimeout(Time timeout_ns) = 0;
+};
 } // end namespace core
 } // end namespace framework
Index: trunk/include/FlairCore/IODataElement.h
===================================================================
--- trunk/include/FlairCore/IODataElement.h	(revision 2)
+++ trunk/include/FlairCore/IODataElement.h	(revision 13)
@@ -16,46 +16,42 @@
 #include "io_data.h"
 
-namespace flair { namespace core {
+namespace flair {
+namespace core {
 
-    class DataType;
+class DataType;
 
-    /*! \class IODataElement
-    *
-    * \brief Abstract class for accessing an element of an io_data.
-    */
-    class IODataElement: public Object
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct an IODataElement. \n
-            *
-            */
-            IODataElement(const io_data* parent,std::string name): Object(parent,name)
-            {
-                this->parent=parent;
-            }
-            size_t Size() const
-            {
-                return size;
-            }
+/*! \class IODataElement
+*
+* \brief Abstract class for accessing an element of an io_data.
+*/
+class IODataElement : public Object {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct an IODataElement. \n
+  *
+  */
+  IODataElement(const io_data *parent, std::string name)
+      : Object(parent, name) {
+    this->parent = parent;
+  }
+  size_t Size() const { return size; }
 
-            virtual void CopyData(char* dst) const=0;
+  virtual void CopyData(char *dst) const = 0;
 
-            /*!
-            * \brief DataType
-            *
-            * \return type of data
-            */
-            virtual DataType const &GetDataType(void) const=0;
+  /*!
+  * \brief DataType
+  *
+  * \return type of data
+  */
+  virtual DataType const &GetDataType(void) const = 0;
 
-        protected:
-            size_t size;
+protected:
+  size_t size;
 
-        private:
-            const io_data* parent;
-
-    };
+private:
+  const io_data *parent;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/IODevice.h
===================================================================
--- trunk/include/FlairCore/IODevice.h	(revision 2)
+++ trunk/include/FlairCore/IODevice.h	(revision 13)
@@ -20,120 +20,131 @@
 class FrameworkManager_impl;
 
-namespace flair { namespace core {
+namespace flair {
+namespace core {
 
-    class io_data;
-    class DataType;
+class io_data;
+class DataType;
 
-    /*! \class IODevice
-    *
-    * \brief Abstract class for input/ouput system
-    *
-    * An input/output system is generally used to describe a sensor, an actuator or a filter. \n
-    * These systems can be linked (for exemple a sensor with a filter), when an IODevice
-    * is created with a parent of type IODevice.
-    * In this case, an update of the parent's data will call an update
-    * of the child's data (for exemple when a sensor gets new datas, a filter is automatically called). \n
-    * Output of this object can also be sent to a shared memory using the OutputToShMem method; in order to use it with an
-    * external program.
-    */
-    class IODevice: public Object {
-        friend class ::IODevice_impl;
-        friend class ::Thread_impl;
-        friend class ::FrameworkManager_impl;
+/*! \class IODevice
+*
+* \brief Abstract class for input/ouput system
+*
+* An input/output system is generally used to describe a sensor, an actuator or
+*a filter. \n
+* These systems can be linked (for exemple a sensor with a filter), when an
+*IODevice
+* is created with a parent of type IODevice.
+* In this case, an update of the parent's data will call an update
+* of the child's data (for exemple when a sensor gets new datas, a filter is
+*automatically called). \n
+* Output of this object can also be sent to a shared memory using the
+*OutputToShMem method; in order to use it with an
+* external program.
+*/
+class IODevice : public Object {
+  friend class ::IODevice_impl;
+  friend class ::Thread_impl;
+  friend class ::FrameworkManager_impl;
 
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct an IODevice of Object's type "IODevice" (see Object::ObjectType). \n
-            * If parent's Object::ObjectType is also "IODevice", this IODevice will be linked to its parent
-            * (see ProcessUpdate()).
-            *
-            * \param parent parent
-            * \param name name
-            */
-            IODevice(const Object* parent,std::string name);
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct an IODevice of Object's type "IODevice" (see Object::ObjectType).
+  *\n
+  * If parent's Object::ObjectType is also "IODevice", this IODevice will be
+  *linked to its parent
+  * (see ProcessUpdate()).
+  *
+  * \param parent parent
+  * \param name name
+  */
+  IODevice(const Object *parent, std::string name);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            virtual ~IODevice();
+  /*!
+  * \brief Destructor
+  *
+  */
+  virtual ~IODevice();
 
-            /*!
-            * \brief Add an IODevice to the logs
-            *
-            * The IODevice will be automatically logged among this IODevice logs,
-            * if logging is enabled (see SetDataToLog(), FrameworkManager::StartLog
-            * and FrameworkManager::AddDeviceToLog). \n
-            * Logging happens when ProcessUpdate() is called. \n
-            * Note that when an IODevice is just added for logs (ie. no parent/child
-            * link between the two IODevice),
-            * UpdateFrom() is not automatically called.
-            *
-            * \param device IODevice to log
-            */
-            void AddDeviceToLog(const IODevice* device);
+  /*!
+  * \brief Add an IODevice to the logs
+  *
+  * The IODevice will be automatically logged among this IODevice logs,
+  * if logging is enabled (see SetDataToLog(), FrameworkManager::StartLog
+  * and FrameworkManager::AddDeviceToLog). \n
+  * Logging happens when ProcessUpdate() is called. \n
+  * Note that when an IODevice is just added for logs (ie. no parent/child
+  * link between the two IODevice),
+  * UpdateFrom() is not automatically called.
+  *
+  * \param device IODevice to log
+  */
+  void AddDeviceToLog(const IODevice *device);
 
-            /*!
-            * \brief Add an io_data to the log
-            *
-            * The io_data will be automatically logged if enabled (see FrameworkManager::StartLog
-            * and FrameworkManager::AddDeviceToLog),
-            * during call to ProcessUpdate().
-            *
-            * \param data data to log
-            */
-            void AddDataToLog(const io_data* data);
+  /*!
+  * \brief Add an io_data to the log
+  *
+  * The io_data will be automatically logged if enabled (see
+  *FrameworkManager::StartLog
+  * and FrameworkManager::AddDeviceToLog),
+  * during call to ProcessUpdate().
+  *
+  * \param data data to log
+  */
+  void AddDataToLog(const io_data *data);
 
-            /*!
-            * \brief Send the output to a shared memory
-            *
-            * Use this method to output log datas to a shared memory.
-            * This can be usefull to get datas from an external progam. \n
-            * Output happens when ProcessUpdate() is called. \n
-            * The name and the structure of the shared memory will be displayed when
-            * this method is called with true as argument. \n
-            * By default it is not enabled.
-            *
-            *
-            * \param enabled true to enable the output, false otherwise
-            */
-            void OutputToShMem(bool enabled);
+  /*!
+  * \brief Send the output to a shared memory
+  *
+  * Use this method to output log datas to a shared memory.
+  * This can be usefull to get datas from an external progam. \n
+  * Output happens when ProcessUpdate() is called. \n
+  * The name and the structure of the shared memory will be displayed when
+  * this method is called with true as argument. \n
+  * By default it is not enabled.
+  *
+  *
+  * \param enabled true to enable the output, false otherwise
+  */
+  void OutputToShMem(bool enabled);
 
-            //TODO: these 2 method should be pure virtual
-            virtual DataType const &GetInputDataType() const;
-            virtual DataType const &GetOutputDataType() const;
+  // TODO: these 2 method should be pure virtual
+  virtual DataType const &GetInputDataType() const;
+  virtual DataType const &GetOutputDataType() const;
 
-        protected:
-            /*!
-            * \brief Process the childs of type IODevice, and log if needed
-            *
-            * This method must be called after computing datas;
-            * generally at the end of the reimplemented UpdateFrom or after acquiring datas in case of a sensor. \n
-            * It will call UpdateFrom methods of each child of type IODevice,
-            * and log all datas (this IODevice and its childs)
-            * if logging is enabled (see SetDataToLog(), AddDeviceToLog(),
-            * FrameworkManager::StartLog and FrameworkManager::AddDeviceToLog). \n
-            * If a thread is waiting on this IODevice (see Thread::WaitUpdate), it will be resumed.
-            *
-            * \param data data to process
-            */
-            void ProcessUpdate(io_data* data);
+protected:
+  /*!
+  * \brief Process the childs of type IODevice, and log if needed
+  *
+  * This method must be called after computing datas;
+  * generally at the end of the reimplemented UpdateFrom or after acquiring
+  *datas in case of a sensor. \n
+  * It will call UpdateFrom methods of each child of type IODevice,
+  * and log all datas (this IODevice and its childs)
+  * if logging is enabled (see SetDataToLog(), AddDeviceToLog(),
+  * FrameworkManager::StartLog and FrameworkManager::AddDeviceToLog). \n
+  * If a thread is waiting on this IODevice (see Thread::WaitUpdate), it will be
+  *resumed.
+  *
+  * \param data data to process
+  */
+  void ProcessUpdate(io_data *data);
 
-        private:
-            /*!
-            * \brief Update using provided datas
-            *
-            * This method is automatically called by ProcessUpdate()
-            * of the Object::Parent's if its Object::ObjectType is "IODevice". \n
-            * This method must be reimplemented, in order to process the data from the parent.
-            *
-            * \param data data from the parent to process
-            */
-            virtual void UpdateFrom(const io_data *data)=0;
+private:
+  /*!
+  * \brief Update using provided datas
+  *
+  * This method is automatically called by ProcessUpdate()
+  * of the Object::Parent's if its Object::ObjectType is "IODevice". \n
+  * This method must be reimplemented, in order to process the data from the
+  *parent.
+  *
+  * \param data data from the parent to process
+  */
+  virtual void UpdateFrom(const io_data *data) = 0;
 
-            class IODevice_impl* pimpl_;
-    };
+  class IODevice_impl *pimpl_;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/ImuData.h
===================================================================
--- trunk/include/FlairCore/ImuData.h	(revision 2)
+++ trunk/include/FlairCore/ImuData.h	(revision 13)
@@ -17,190 +17,203 @@
 #include <Vector3D.h>
 
-namespace flair { namespace core {
-
-    /*! \class ImuData
-    *
-    * \brief Class defining IMU datas
-    *
-    * IMU (inertial measurement unit) datas consist of raw accelerometer values, raw gyrometer values
-    * and raw magnetometer values.
-    *
-    */
-    class ImuData: public io_data {
-        public:
-            class Type: public DataType {
-            public:
-                Type(ScalarType const &_elementDataType):
-                    elementDataType(_elementDataType){}
-                ScalarType const &GetElementDataType() const {return elementDataType;}
-                std::string GetDescription() const {return "imu data";}
-                size_t GetSize() const {
-                    size_t size=0;
-                    size+=3*elementDataType.GetSize();//RawAcc
-                    size+=3*elementDataType.GetSize();//RawGyr
-                    size+=3*elementDataType.GetSize();//RawMag
-                    return size;
-                }
-            private:
-                ScalarType const &elementDataType;
-            };
-
-            /*!
-            \enum PlotableData_t
-            \brief Datas wich can be plotted in a DataPlot1D
-            */
-            typedef enum {
-                RawAx/*! x raw accelerometer */, RawAy/*! y raw accelerometer */ ,RawAz/*! z raw accelerometer */,
-                RawGx/*! x raw gyrometer */,RawGy/*! y raw gyrometer */,RawGz/*! z raw gyrometer */,
-                RawGxDeg/*! x raw gyrometer degree */,RawGyDeg/*! y raw gyrometer degree */,RawGzDeg/*! z raw gyrometer degree */,
-                RawMx/*! x raw magnetometer */,RawMy/*! y raw magnetometer */,RawMz/*! z raw magnetometer */
-                } PlotableData_t;
-
-            /*!
-            * \brief Constructor
-            *
-            * Construct an io_data representing IMU datas. \n
-            *
-            * \param parent parent
-            * \param name name
-            * \param n number of samples
-            */
-            ImuData(const Object* parent,std::string name="",int n=1);
-
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~ImuData();
-
-            /*!
-            * \brief Element
-            *
-            * Get a pointer to a specific element. This pointer can be used for plotting.
-            *
-            * \param data_type data type
-            *
-            * \return pointer to the element
-            */
-            IODataElement* Element(PlotableData_t data_type) const;
-
-            /*!
-            * \brief Get raw accelerations
-            *
-            * This method is mutex protected.
-            *
-            * \return raw accelerations
-            *
-            */
-            Vector3D GetRawAcc(void) const;
-
-            /*!
-            * \brief Get raw magnetometers
-            *
-            * This method is mutex protected.
-            *
-            * \return raw magnetometers
-            *
-            */
-            Vector3D GetRawMag(void) const;
-
-            /*!
-            * \brief Get raw angular speed
-            *
-            * This method is mutex protected.
-            *
-            * \return raw angular speed
-            *
-            */
-            Vector3D GetRawGyr(void) const;
-
-            /*!
-            * \brief Get raw accelerations, magnetometers and angular speeds
-            *
-            * This method is mutex protected.
-            *
-            * \param rawAcc raw accelerations
-            * \param rawMag raw magnetometers
-            * \param rawGyr raw angular speeds
-            *
-            */
-            void GetRawAccMagAndGyr(Vector3D &rawAcc,Vector3D &rawMag,Vector3D &rawGyr) const;
-
-            /*!
-            * \brief Set raw accelerations
-            *
-            * This method is mutex protected.
-            *
-            * \param raw accelerations
-            *
-            */
-            void SetRawAcc(const Vector3D &rawAcc);
-
-            /*!
-            * \brief Set raw magnetometers
-            *
-            * This method is mutex protected.
-            *
-            * \param raw magnetometers
-            *
-            */
-            void SetRawMag(const Vector3D &rawMag);
-
-            /*!
-            * \brief Set raw angular speed
-            *
-            * This method is mutex protected.
-            *
-            * \param raw angular speed
-            *
-            */
-            void SetRawGyr(const Vector3D &rawGyr);
-
-            /*!
-            * \brief Set raw accelerations, magnetometers and angular speeds
-            *
-            * This method is mutex protected.
-            *
-            * \param rawAcc raw accelerations
-            * \param rawMag raw magnetometers
-            * \param rawGyr raw angular speeds
-            *
-            */
-            void SetRawAccMagAndGyr(const Vector3D &rawAcc,const Vector3D &rawMag,const Vector3D &rawGyr);
-
-            Type const&GetDataType() const {return dataType;}
-        private:
-            /*!
-            * \brief Copy datas
-            *
-            * Reimplemented from io_data. \n
-            * See io_data::CopyDatas.
-            *
-            * \param dst destination buffer
-            */
-            void CopyDatas(char* dst) const;
-
-            /*!
-            * \brief Raw accelerometer
-            *
-            */
-            Vector3D rawAcc;
-
-            /*!
-            * \brief Raw gyrometer
-            *
-            */
-            Vector3D rawGyr;
-
-            /*!
-            * \brief Raw magnetometer
-            *
-            */
-            Vector3D rawMag;
-
-            void Queue(char** dst,const void *src,size_t size) const;
-            Type dataType;
-
-    };
+namespace flair {
+namespace core {
+
+/*! \class ImuData
+*
+* \brief Class defining IMU datas
+*
+* IMU (inertial measurement unit) datas consist of raw accelerometer values, raw
+*gyrometer values
+* and raw magnetometer values.
+*
+*/
+class ImuData : public io_data {
+public:
+  class Type : public DataType {
+  public:
+    Type(ScalarType const &_elementDataType)
+        : elementDataType(_elementDataType) {}
+    ScalarType const &GetElementDataType() const { return elementDataType; }
+    std::string GetDescription() const { return "imu data"; }
+    size_t GetSize() const {
+      size_t size = 0;
+      size += 3 * elementDataType.GetSize(); // RawAcc
+      size += 3 * elementDataType.GetSize(); // RawGyr
+      size += 3 * elementDataType.GetSize(); // RawMag
+      return size;
+    }
+
+  private:
+    ScalarType const &elementDataType;
+  };
+
+  /*!
+  \enum PlotableData_t
+  \brief Datas wich can be plotted in a DataPlot1D
+  */
+  typedef enum {
+    RawAx /*! x raw accelerometer */,
+    RawAy /*! y raw accelerometer */,
+    RawAz /*! z raw accelerometer */,
+    RawGx /*! x raw gyrometer */,
+    RawGy /*! y raw gyrometer */,
+    RawGz /*! z raw gyrometer */,
+    RawGxDeg /*! x raw gyrometer degree */,
+    RawGyDeg /*! y raw gyrometer degree */,
+    RawGzDeg /*! z raw gyrometer degree */,
+    RawMx /*! x raw magnetometer */,
+    RawMy /*! y raw magnetometer */,
+    RawMz /*! z raw magnetometer */
+  } PlotableData_t;
+
+  /*!
+  * \brief Constructor
+  *
+  * Construct an io_data representing IMU datas. \n
+  *
+  * \param parent parent
+  * \param name name
+  * \param n number of samples
+  */
+  ImuData(const Object *parent, std::string name = "", int n = 1);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~ImuData();
+
+  /*!
+  * \brief Element
+  *
+  * Get a pointer to a specific element. This pointer can be used for plotting.
+  *
+  * \param data_type data type
+  *
+  * \return pointer to the element
+  */
+  IODataElement *Element(PlotableData_t data_type) const;
+
+  /*!
+  * \brief Get raw accelerations
+  *
+  * This method is mutex protected.
+  *
+  * \return raw accelerations
+  *
+  */
+  Vector3D GetRawAcc(void) const;
+
+  /*!
+  * \brief Get raw magnetometers
+  *
+  * This method is mutex protected.
+  *
+  * \return raw magnetometers
+  *
+  */
+  Vector3D GetRawMag(void) const;
+
+  /*!
+  * \brief Get raw angular speed
+  *
+  * This method is mutex protected.
+  *
+  * \return raw angular speed
+  *
+  */
+  Vector3D GetRawGyr(void) const;
+
+  /*!
+  * \brief Get raw accelerations, magnetometers and angular speeds
+  *
+  * This method is mutex protected.
+  *
+  * \param rawAcc raw accelerations
+  * \param rawMag raw magnetometers
+  * \param rawGyr raw angular speeds
+  *
+  */
+  void GetRawAccMagAndGyr(Vector3D &rawAcc, Vector3D &rawMag,
+                          Vector3D &rawGyr) const;
+
+  /*!
+  * \brief Set raw accelerations
+  *
+  * This method is mutex protected.
+  *
+  * \param raw accelerations
+  *
+  */
+  void SetRawAcc(const Vector3D &rawAcc);
+
+  /*!
+  * \brief Set raw magnetometers
+  *
+  * This method is mutex protected.
+  *
+  * \param raw magnetometers
+  *
+  */
+  void SetRawMag(const Vector3D &rawMag);
+
+  /*!
+  * \brief Set raw angular speed
+  *
+  * This method is mutex protected.
+  *
+  * \param raw angular speed
+  *
+  */
+  void SetRawGyr(const Vector3D &rawGyr);
+
+  /*!
+  * \brief Set raw accelerations, magnetometers and angular speeds
+  *
+  * This method is mutex protected.
+  *
+  * \param rawAcc raw accelerations
+  * \param rawMag raw magnetometers
+  * \param rawGyr raw angular speeds
+  *
+  */
+  void SetRawAccMagAndGyr(const Vector3D &rawAcc, const Vector3D &rawMag,
+                          const Vector3D &rawGyr);
+
+  Type const &GetDataType() const { return dataType; }
+
+private:
+  /*!
+  * \brief Copy datas
+  *
+  * Reimplemented from io_data. \n
+  * See io_data::CopyDatas.
+  *
+  * \param dst destination buffer
+  */
+  void CopyDatas(char *dst) const;
+
+  /*!
+  * \brief Raw accelerometer
+  *
+  */
+  Vector3D rawAcc;
+
+  /*!
+  * \brief Raw gyrometer
+  *
+  */
+  Vector3D rawGyr;
+
+  /*!
+  * \brief Raw magnetometer
+  *
+  */
+  Vector3D rawMag;
+
+  void Queue(char **dst, const void *src, size_t size) const;
+  Type dataType;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/Label.h
===================================================================
--- trunk/include/FlairCore/Label.h	(revision 2)
+++ trunk/include/FlairCore/Label.h	(revision 13)
@@ -16,48 +16,47 @@
 #include <Widget.h>
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class Label
-    *
-    * \brief Class displaying a QLabel on the ground station
-    *
-    */
-    class Label:public Widget
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QLabel at given position. \n
-            * The Label will automatically be child of position->getLayout() Layout. After calling this constructor,
-            * position will be deleted as it is no longer usefull.
-            *
-            * \param parent parent
-            * \param name name
-            * \param buf_size size of the text buffer
-            */
-            Label(const LayoutPosition* position,std::string name,size_t buf_size=255);
+/*! \class Label
+*
+* \brief Class displaying a QLabel on the ground station
+*
+*/
+class Label : public Widget {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QLabel at given position. \n
+  * The Label will automatically be child of position->getLayout() Layout. After
+  *calling this constructor,
+  * position will be deleted as it is no longer usefull.
+  *
+  * \param parent parent
+  * \param name name
+  * \param buf_size size of the text buffer
+  */
+  Label(const LayoutPosition *position, std::string name,
+        size_t buf_size = 255);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Label();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Label();
 
-            /*!
-            * \brief Set text
-            *
-            * \param format text string to display, see standard printf
-            */
-            void SetText(const char * format, ...);
+  /*!
+  * \brief Set text
+  *
+  * \param format text string to display, see standard printf
+  */
+  void SetText(const char *format, ...);
 
-        private:
-            char* printf_buffer;
-    };
+private:
+  char *printf_buffer;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/Layout.h
===================================================================
--- trunk/include/FlairCore/Layout.h	(revision 2)
+++ trunk/include/FlairCore/Layout.h	(revision 13)
@@ -17,80 +17,80 @@
 #include <Mutex.h>
 
-namespace flair
-{
-namespace gui
-{
-    class LayoutPosition;
+namespace flair {
+namespace gui {
+class LayoutPosition;
 
-    /*! \class Layout
-    *
-    * \brief Abstract class to display a layout on the ground station
-    *
-    * This is an abstract class to display layouts (like GridLayout, GroupBox, etc). \n
-    * A layout can contains Widgets (Box, DataPlot, Picture, etc). \n
-    * Layout holds a Mutex, which can be used to protect access to Box's value for example.
-    */
-    class Layout: public Widget
-    {
-        friend class Box;
+/*! \class Layout
+*
+* \brief Abstract class to display a layout on the ground station
+*
+* This is an abstract class to display layouts (like GridLayout, GroupBox, etc).
+*\n
+* A layout can contains Widgets (Box, DataPlot, Picture, etc). \n
+* Layout holds a Mutex, which can be used to protect access to Box's value for
+*example.
+*/
+class Layout : public Widget {
+  friend class Box;
 
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a Layout. Type is a predifined one, and will be
-            * interpreted by the ground station.
-            *
-            * \param parent parent
-            * \param name name
-            * \param type type of layout
-            */
-            Layout(const Widget* parent,std::string name,std::string type);
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a Layout. Type is a predifined one, and will be
+  * interpreted by the ground station.
+  *
+  * \param parent parent
+  * \param name name
+  * \param type type of layout
+  */
+  Layout(const Widget *parent, std::string name, std::string type);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Layout();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Layout();
 
-            /*!
-            * \brief Last Row and Col LayoutPosition
-            *
-            * Get a LayoutPosition at the last row and col.
-            *
-            * \return the LayoutPosition
-            */
-            LayoutPosition* LastRowLastCol(void) const;
+  /*!
+  * \brief Last Row and Col LayoutPosition
+  *
+  * Get a LayoutPosition at the last row and col.
+  *
+  * \return the LayoutPosition
+  */
+  LayoutPosition *LastRowLastCol(void) const;
 
-            /*!
-            * \brief New Row LayoutPosition
-            *
-            * Get a LayoutPosition at a new row and first col. This new row will be at the last position.
-            *
-            * \return the LayoutPosition
-            */
-            LayoutPosition*  NewRow(void) const;
+  /*!
+  * \brief New Row LayoutPosition
+  *
+  * Get a LayoutPosition at a new row and first col. This new row will be at the
+  *last position.
+  *
+  * \return the LayoutPosition
+  */
+  LayoutPosition *NewRow(void) const;
 
-            /*!
-            * \brief LayoutPosition at specified position
-            *
-            * Get a LayoutPosition at specified row and col.
-            *
-            * \param row row
-            * \param col col
-            *
-            * \return the LayoutPosition
-            */
-            LayoutPosition*  At(uint16_t row,uint16_t col) const;
+  /*!
+  * \brief LayoutPosition at specified position
+  *
+  * Get a LayoutPosition at specified row and col.
+  *
+  * \param row row
+  * \param col col
+  *
+  * \return the LayoutPosition
+  */
+  LayoutPosition *At(uint16_t row, uint16_t col) const;
 
-        private:
-            /*!
-            * \brief Mutex
-            *
-            * This Mutex can be used by friends class like Box to protect access
-            * to Box's value.
-            */
-            core::Mutex* mutex;
-    };
+private:
+  /*!
+  * \brief Mutex
+  *
+  * This Mutex can be used by friends class like Box to protect access
+  * to Box's value.
+  */
+  core::Mutex *mutex;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/LayoutPosition.h
===================================================================
--- trunk/include/FlairCore/LayoutPosition.h	(revision 2)
+++ trunk/include/FlairCore/LayoutPosition.h	(revision 13)
@@ -16,63 +16,58 @@
 #include <stdint.h>
 
-namespace flair
-{
-namespace gui
-{
-    class Layout;
+namespace flair {
+namespace gui {
+class Layout;
 
-    /*! \class LayoutPosition
-    *
-    * \brief Class to define a position in a layout on the ground station.
-    *
+/*! \class LayoutPosition
+*
+* \brief Class to define a position in a layout on the ground station.
+*
 
-    */
-    class LayoutPosition
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a LayoutPosition, in given Layout at given place.
-            *
-            * \param layout layout
-            * \param row row position
-            * \param col col position
-            */
-            LayoutPosition(const Layout* layout,int16_t row,int16_t col);
+*/
+class LayoutPosition {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a LayoutPosition, in given Layout at given place.
+  *
+  * \param layout layout
+  * \param row row position
+  * \param col col position
+  */
+  LayoutPosition(const Layout *layout, int16_t row, int16_t col);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~LayoutPosition();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~LayoutPosition();
 
-            /*!
-            * \brief get Layout
-            *
-            * \return the parent Layout
-            */
-            const Layout* getLayout(void) const;
+  /*!
+  * \brief get Layout
+  *
+  * \return the parent Layout
+  */
+  const Layout *getLayout(void) const;
 
-            /*!
-            * \brief get row
-            *
-            * \return row position
-            */
-            int16_t Row(void) const;
+  /*!
+  * \brief get row
+  *
+  * \return row position
+  */
+  int16_t Row(void) const;
 
-            /*!
-            * \brief get col
-            *
-            * \return col position
-            */
-            int16_t Col(void) const;
+  /*!
+  * \brief get col
+  *
+  * \return col position
+  */
+  int16_t Col(void) const;
 
-
-        private:
-            const Layout *layout;
-            int16_t row,col;
-
-    };
+private:
+  const Layout *layout;
+  int16_t row, col;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/Map.h
===================================================================
--- trunk/include/FlairCore/Map.h	(revision 2)
+++ trunk/include/FlairCore/Map.h	(revision 13)
@@ -17,72 +17,69 @@
 #include <stdint.h>
 
-namespace flair
-{
-namespace core
-{
-    class GeoCoordinate;
+namespace flair {
+namespace core {
+class GeoCoordinate;
 }
 
-namespace gui
-{
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class Map
-    *
-    * \brief Class displaying a GPS map on the ground station
-    *
-    */
-    class Map: public SendData
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a map at given position. \n
-            * The Map will automatically be child of position->getLayout() Layout. After calling this constructor,
-            * position will be deleted as it is no longer usefull.
-            *
-            * \param position position to draw map
-            * \param name name
-            */
-            Map(const LayoutPosition* position,std::string name);
+/*! \class Map
+*
+* \brief Class displaying a GPS map on the ground station
+*
+*/
+class Map : public SendData {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a map at given position. \n
+  * The Map will automatically be child of position->getLayout() Layout. After
+  *calling this constructor,
+  * position will be deleted as it is no longer usefull.
+  *
+  * \param position position to draw map
+  * \param name name
+  */
+  Map(const LayoutPosition *position, std::string name);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Map();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Map();
 
-            /*!
-            * \brief Add a point to the map
-            *
-            * \param point point to draw
-            * \param name name
-            */
-            void AddPoint(const core::GeoCoordinate* point,std::string name="");
+  /*!
+  * \brief Add a point to the map
+  *
+  * \param point point to draw
+  * \param name name
+  */
+  void AddPoint(const core::GeoCoordinate *point, std::string name = "");
 
-            /*!
-            * \brief Copy datas to specified buffer
-            *
-            * Reimplemented from SendData.
-            *
-            * \param buf output buffer
-            */
-            void CopyDatas(char* buf) const;
+  /*!
+  * \brief Copy datas to specified buffer
+  *
+  * Reimplemented from SendData.
+  *
+  * \param buf output buffer
+  */
+  void CopyDatas(char *buf) const;
 
-        private:
-            /*!
-            * \brief Extra Xml event
-            *
-            * Reimplemented from SendData.
-            */
-            void ExtraXmlEvent(void);
+private:
+  /*!
+  * \brief Extra Xml event
+  *
+  * Reimplemented from SendData.
+  */
+  void ExtraXmlEvent(void);
 
-            std::vector<core::GeoCoordinate*> checkpoints;
-            std::vector<const core::GeoCoordinate*> to_draw;
-            //std::vector<xmlNodePtr> checkpoints_node;
-            //bool init;
-    };
+  std::vector<core::GeoCoordinate *> checkpoints;
+  std::vector<const core::GeoCoordinate *> to_draw;
+  // std::vector<xmlNodePtr> checkpoints_node;
+  // bool init;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/Mutex.h
===================================================================
--- trunk/include/FlairCore/Mutex.h	(revision 2)
+++ trunk/include/FlairCore/Mutex.h	(revision 13)
@@ -19,54 +19,51 @@
 class ConditionVariable_impl;
 
-namespace flair
-{
-namespace core
-{
+namespace flair {
+namespace core {
 
-    /*! \class Mutex
-    *
-    * \brief Class defining a mutex
-    *
-    */
-    class Mutex: public Object
-    {
-        friend class ::ConditionVariable_impl;
+/*! \class Mutex
+*
+* \brief Class defining a mutex
+*
+*/
+class Mutex : public Object {
+  friend class ::ConditionVariable_impl;
 
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a mutex.
-            *
-            * \param parent parent
-            * \param name name
-            */
-            Mutex(const Object *parent,std::string name="");
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a mutex.
+  *
+  * \param parent parent
+  * \param name name
+  */
+  Mutex(const Object *parent, std::string name = "");
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Mutex();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Mutex();
 
-            /*!
-            * \brief GetMutex
-            *
-            * Lock the mutex.
-            *
-            */
-            void GetMutex(void) const;
+  /*!
+  * \brief GetMutex
+  *
+  * Lock the mutex.
+  *
+  */
+  void GetMutex(void) const;
 
-            /*!
-            * \brief ReleaseMutex
-            *
-            * Unlock the mutex.
-            *
-            */
-            void ReleaseMutex(void) const;
+  /*!
+  * \brief ReleaseMutex
+  *
+  * Unlock the mutex.
+  *
+  */
+  void ReleaseMutex(void) const;
 
-        private:
-            class Mutex_impl* pimpl_;
-    };
+private:
+  class Mutex_impl *pimpl_;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/Object.h
===================================================================
--- trunk/include/FlairCore/Object.h	(revision 2)
+++ trunk/include/FlairCore/Object.h	(revision 13)
@@ -18,7 +18,7 @@
 #include <stdarg.h>
 
-#define Warn(...) Warning(__PRETTY_FUNCTION__,__VA_ARGS__)
-#define Err(...) Error(__PRETTY_FUNCTION__,__VA_ARGS__)
-#define Info(...) Information(__PRETTY_FUNCTION__,__LINE__,__VA_ARGS__)
+#define Warn(...) Warning(__PRETTY_FUNCTION__, __VA_ARGS__)
+#define Err(...) Error(__PRETTY_FUNCTION__, __VA_ARGS__)
+#define Info(...) Information(__PRETTY_FUNCTION__, __LINE__, __VA_ARGS__)
 
 #define TIME_INFINITE 0
@@ -28,168 +28,166 @@
 class Widget_impl;
 
-namespace flair
-{
-namespace core
-{
+namespace flair {
+namespace core {
 
-    class FrameworkManager;
+class FrameworkManager;
 
-    class Message {
-    public:
-        Message(unsigned int myBufferSize):bufferSize(myBufferSize) {
-            buffer=new char[bufferSize];
-        }
-        ~Message() {
-            delete buffer;
-        }
-        char *buffer;
-        size_t bufferSize;
-    };
+class Message {
+public:
+  Message(unsigned int myBufferSize) : bufferSize(myBufferSize) {
+    buffer = new char[bufferSize];
+  }
+  ~Message() { delete buffer; }
+  char *buffer;
+  size_t bufferSize;
+};
 
-    /*!
-    * \brief Time definition, in ns
-    *
-    */
-    typedef unsigned long long Time;
+/*!
+* \brief Time definition, in ns
+*
+*/
+typedef unsigned long long Time;
 
-    /*!
-    * \brief Time
-    *
-    * \return actual time in ns (origin depends on whether the method is compiled in hard real time mode or not. As a conquence, only time differences should be used)
-    */
-    Time GetTime(void);
+/*!
+* \brief Time
+*
+* \return actual time in ns (origin depends on whether the method is compiled in
+*hard real time mode or not. As a conquence, only time differences should be
+*used)
+*/
+Time GetTime(void);
 
-    /*!
-    * \brief Formatted print
-    *
-    * See standard printf for syntax.
-    *
-    * \param format text string to display
-    */
-    void Printf(const char *format, ...);
+/*!
+* \brief Formatted print
+*
+* See standard printf for syntax.
+*
+* \param format text string to display
+*/
+void Printf(const char *format, ...);
 
-    /*! \class Object
-    *
-    * \brief Base class for all Framework's classes
-    *
-    * This is the base class for all other classes. \n
-    * It handles parent/child links and thus allow auto destruction of childs.
-    *
-    */
-    class Object
-    {
-        friend class ::Widget_impl;
+/*! \class Object
+*
+* \brief Base class for all Framework's classes
+*
+* This is the base class for all other classes. \n
+* It handles parent/child links and thus allow auto destruction of childs.
+*
+*/
+class Object {
+  friend class ::Widget_impl;
 
-        public:
-            typedef enum {
-                Auto=0,
-                Red=31,
-                Green=32,
-                Orange=33
-            } color_t;
-            /*!
-            * \brief Constructor
-            *
-            * Construct an Object, which is child of its parent.
-            *
-            * \param parent parent
-            * \param name name
-            * \param type type
-            */
-            Object(const Object* parent=NULL,std::string name="",std::string type="");
+public:
+  typedef enum { Auto = 0, Red = 31, Green = 32, Orange = 33 } color_t;
+  /*!
+  * \brief Constructor
+  *
+  * Construct an Object, which is child of its parent.
+  *
+  * \param parent parent
+  * \param name name
+  * \param type type
+  */
+  Object(const Object *parent = NULL, std::string name = "",
+         std::string type = "");
 
-            /*!
-            * \brief Destructor
-            *
-            * Calling it will automatically destruct all childs.
-            *
-            */
-            virtual ~Object();
+  /*!
+  * \brief Destructor
+  *
+  * Calling it will automatically destruct all childs.
+  *
+  */
+  virtual ~Object();
 
-            /*!
-            * \brief Name
-            *
-            * \return Object's name
-            */
-            std::string ObjectName(void) const;
+  /*!
+  * \brief Name
+  *
+  * \return Object's name
+  */
+  std::string ObjectName(void) const;
 
-            /*!
-            * \brief Type
-            *
-            * \return Object's type
-            */
-            std::string ObjectType(void) const;
+  /*!
+  * \brief Type
+  *
+  * \return Object's type
+  */
+  std::string ObjectType(void) const;
 
-            /*!
-            * \brief Parent
-            *
-            * \return Object's parent
-            */
-            const Object* Parent(void) const;
+  /*!
+  * \brief Parent
+  *
+  * \return Object's parent
+  */
+  const Object *Parent(void) const;
 
-            /*!
-            * \brief Childs of the same type
-            *
-            * \return a vector of all childs of the same type
-            */
-            std::vector<const Object*>* TypeChilds(void) const;
+  /*!
+  * \brief Childs of the same type
+  *
+  * \return a vector of all childs of the same type
+  */
+  std::vector<const Object *> *TypeChilds(void) const;
 
-            /*!
-            * \brief Childs
-            *
-            * \return a vector of all childs
-            */
-            std::vector<const Object*>* Childs(void) const;
+  /*!
+  * \brief Childs
+  *
+  * \return a vector of all childs
+  */
+  std::vector<const Object *> *Childs(void) const;
 
-            /*!
-            * \brief Formatted information
-            *
-            * Green colored Printf(). \n
-            * Note that it is better to call Info macro, which automatically fills function parameter.
-            *
-            * \param function name of calling function
-            * \param line line number in calling function
-            * \param format text string to display
-            */
-            void Information(const char *function, int line, const char *format, ...) const;
+  /*!
+  * \brief Formatted information
+  *
+  * Green colored Printf(). \n
+  * Note that it is better to call Info macro, which automatically fills
+  *function parameter.
+  *
+  * \param function name of calling function
+  * \param line line number in calling function
+  * \param format text string to display
+  */
+  void Information(const char *function, int line, const char *format,
+                   ...) const;
 
-            /*!
-            * \brief Formatted warning
-            *
-            * Orange colored Printf(). \n
-            * Note that it is better to call Warn macro, which automatically fills function parameter.
-            *
-            * \param function name of calling function
-            * \param format text string to display
-            */
-            void Warning(const char *function,const char *format, ...) const;
+  /*!
+  * \brief Formatted warning
+  *
+  * Orange colored Printf(). \n
+  * Note that it is better to call Warn macro, which automatically fills
+  *function parameter.
+  *
+  * \param function name of calling function
+  * \param format text string to display
+  */
+  void Warning(const char *function, const char *format, ...) const;
 
-            /*!
-            * \brief Formatted error
-            *
-            * Red colored Printf(). \n
-            * Note that it is better to call Err macro, which automatically fills function parameter. \n
-            * After calling this method, ErrorOccured() will always return true.
-            *
-            * \param function name of calling function
-            * \param format text string to display
-            */
-            void Error(const char *function,const char *format, ...) const;
+  /*!
+  * \brief Formatted error
+  *
+  * Red colored Printf(). \n
+  * Note that it is better to call Err macro, which automatically fills function
+  *parameter. \n
+  * After calling this method, ErrorOccured() will always return true.
+  *
+  * \param function name of calling function
+  * \param format text string to display
+  */
+  void Error(const char *function, const char *format, ...) const;
 
-            /*!
-            * \brief Has an errror occured?
-            *
-            * Check if an error occured, in fact if Error() was called at least once. \n
-            * Once Error() was called, this method will never return back false.
-            *
-            * \param recursive if true, recursively check among childs
-            * \return true if an error occured
-            */
-            bool ErrorOccured(bool recursive=true) const;
+  /*!
+  * \brief Has an errror occured?
+  *
+  * Check if an error occured, in fact if Error() was called at least once. \n
+  * Once Error() was called, this method will never return back false.
+  *
+  * \param recursive if true, recursively check among childs
+  * \return true if an error occured
+  */
+  bool ErrorOccured(bool recursive = true) const;
 
-        private:
-            class Object_impl* pimpl_;
-            void ColorPrintf(color_t, const char *function, int line, const char *format, va_list *args) const;
-    };
+private:
+  class Object_impl *pimpl_;
+  void ColorPrintf(color_t, const char *function, int line, const char *format,
+                   va_list *args) const;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/OneAxisRotation.h
===================================================================
--- trunk/include/FlairCore/OneAxisRotation.h	(revision 2)
+++ trunk/include/FlairCore/OneAxisRotation.h	(revision 13)
@@ -18,77 +18,71 @@
 class OneAxisRotation_impl;
 
-
-namespace flair
-{
-namespace gui
-{
-    class LayoutPosition;
+namespace flair {
+namespace gui {
+class LayoutPosition;
 }
 
-namespace core
-{
-    class Vector3D;
-    class Euler;
-    class Quaternion;
-    class RotationMatrix;
+namespace core {
+class Vector3D;
+class Euler;
+class Quaternion;
+class RotationMatrix;
 
-    /*! \class OneAxisRotation
-    *
-    * \brief Class defining a rotation around one axis
-    *
-    * Axe and value of the rotation are placed in a GroupBox on ground station.
-    *
-    */
-    class OneAxisRotation: public gui::GroupBox
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a OneAxisRotation at given position.
-            *
-            * \param position position to place the GroupBox
-            * \param name name
-            */
-            OneAxisRotation(const gui::LayoutPosition* position,std::string namel);
+/*! \class OneAxisRotation
+*
+* \brief Class defining a rotation around one axis
+*
+* Axe and value of the rotation are placed in a GroupBox on ground station.
+*
+*/
+class OneAxisRotation : public gui::GroupBox {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a OneAxisRotation at given position.
+  *
+  * \param position position to place the GroupBox
+  * \param name name
+  */
+  OneAxisRotation(const gui::LayoutPosition *position, std::string namel);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~OneAxisRotation();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~OneAxisRotation();
 
-            /*!
-            * \brief Compute rotation
-            *
-            * \param vector Vector3D to rotate
-            */
-            void ComputeRotation(core::Vector3D& vector) const;
+  /*!
+  * \brief Compute rotation
+  *
+  * \param vector Vector3D to rotate
+  */
+  void ComputeRotation(core::Vector3D &vector) const;
 
-            /*!
-            * \brief Compute rotation
-            *
-            * \param euler Euler angle to rotate
-            */
-            void ComputeRotation(core::Euler& euler) const;
+  /*!
+  * \brief Compute rotation
+  *
+  * \param euler Euler angle to rotate
+  */
+  void ComputeRotation(core::Euler &euler) const;
 
-            /*!
-            * \brief Compute rotation
-            *
-            * \param quaternion Quaternion to rotate
-            */
-            void ComputeRotation(core::Quaternion& quaternion) const;
+  /*!
+  * \brief Compute rotation
+  *
+  * \param quaternion Quaternion to rotate
+  */
+  void ComputeRotation(core::Quaternion &quaternion) const;
 
-            /*!
-            * \brief Compute rotation
-            *
-            * \param matrix RotationMatrix to rotate
-            */
-            void ComputeRotation(core::RotationMatrix& matrix) const;
+  /*!
+  * \brief Compute rotation
+  *
+  * \param matrix RotationMatrix to rotate
+  */
+  void ComputeRotation(core::RotationMatrix &matrix) const;
 
-        private:
-            const class OneAxisRotation_impl* pimpl_;
-
-    };
+private:
+  const class OneAxisRotation_impl *pimpl_;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/Picture.h
===================================================================
--- trunk/include/FlairCore/Picture.h	(revision 2)
+++ trunk/include/FlairCore/Picture.h	(revision 13)
@@ -17,62 +17,60 @@
 #include <cxtypes.h>
 
-namespace flair
-{
-namespace core
-{
-    class cvimage;
+namespace flair {
+namespace core {
+class cvimage;
 }
 
-namespace gui
-{
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class Picture
-    *
-    * \brief Class displaying a Picture on the ground station
-    *
-    */
-    class Picture:public SendData
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a picture at given position. \n
-            * The Picture will automatically be child of position->getLayout() Layout. After calling this constructor,
-            * position will be deleted as it is no longer usefull.
-            *
-            * \param position position to draw plot
-            * \param name name
-            * \param image image to draw
-            */
-            Picture(const LayoutPosition* position,std::string name,const core::cvimage *image);
+/*! \class Picture
+*
+* \brief Class displaying a Picture on the ground station
+*
+*/
+class Picture : public SendData {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a picture at given position. \n
+  * The Picture will automatically be child of position->getLayout() Layout.
+  *After calling this constructor,
+  * position will be deleted as it is no longer usefull.
+  *
+  * \param position position to draw plot
+  * \param name name
+  * \param image image to draw
+  */
+  Picture(const LayoutPosition *position, std::string name,
+          const core::cvimage *image);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Picture();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Picture();
 
-        private:
-            /*!
-            * \brief Copy datas to specified buffer
-            *
-            * Reimplemented from SendData.
-            *
-            * \param buf output buffer
-            */
-            void CopyDatas(char* buf) const;
+private:
+  /*!
+  * \brief Copy datas to specified buffer
+  *
+  * Reimplemented from SendData.
+  *
+  * \param buf output buffer
+  */
+  void CopyDatas(char *buf) const;
 
-            /*!
-            * \brief Extra Xml event
-            *
-            * Reimplemented from SendData.
-            */
-            void ExtraXmlEvent(void){};
+  /*!
+  * \brief Extra Xml event
+  *
+  * Reimplemented from SendData.
+  */
+  void ExtraXmlEvent(void){};
 
-            const core::cvimage *image;
-    };
+  const core::cvimage *image;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/PushButton.h
===================================================================
--- trunk/include/FlairCore/PushButton.h	(revision 2)
+++ trunk/include/FlairCore/PushButton.h	(revision 13)
@@ -16,59 +16,57 @@
 #include <Widget.h>
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class PushButton
-    *
-    * \brief Class displaying a QPushButton on the ground station
-    *
-    */
-    class PushButton:public Widget
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QPushButton at given position. \n
-            * The PushButton will automatically be child of position->getLayout() Layout. After calling this constructor,
-            * position will be deleted as it is no longer usefull.
-            *
-            * \param parent parent
-            * \param name name
-            */
-            PushButton(const LayoutPosition* position,std::string name);
+/*! \class PushButton
+*
+* \brief Class displaying a QPushButton on the ground station
+*
+*/
+class PushButton : public Widget {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QPushButton at given position. \n
+  * The PushButton will automatically be child of position->getLayout() Layout.
+  *After calling this constructor,
+  * position will be deleted as it is no longer usefull.
+  *
+  * \param parent parent
+  * \param name name
+  */
+  PushButton(const LayoutPosition *position, std::string name);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~PushButton();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~PushButton();
 
-            /*!
-            * \brief Has been clicled?
-            *
-            * After calling this method, the internal flag
-            * representing the state of the button is
-            * automatically set to false.
-            *
-            * \return true if button was clicked
-            */
-            bool Clicked(void);
+  /*!
+  * \brief Has been clicled?
+  *
+  * After calling this method, the internal flag
+  * representing the state of the button is
+  * automatically set to false.
+  *
+  * \return true if button was clicked
+  */
+  bool Clicked(void);
 
-        private:
-            /*!
-            * \brief XmlEvent from ground station
-            *
-            * Reimplemented from Widget.
-            *
-            */
-            void XmlEvent(void);
+private:
+  /*!
+  * \brief XmlEvent from ground station
+  *
+  * Reimplemented from Widget.
+  *
+  */
+  void XmlEvent(void);
 
-            bool clicked;
-    };
+  bool clicked;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/Quaternion.h
===================================================================
--- trunk/include/FlairCore/Quaternion.h	(revision 2)
+++ trunk/include/FlairCore/Quaternion.h	(revision 13)
@@ -13,201 +13,205 @@
 #define QUATERNION_H
 
-namespace flair { namespace core {
-    class Euler;
-    class Vector3D;
-    class RotationMatrix;
-
-    /*! \class Quaternion
-    *
-    * \brief Class defining a quaternion
-    */
-    class Quaternion {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a quaternion using specified values.
-            *
-            * \param q0, scalar part
-            * \param q1
-            * \param q2
-            * \param q3
-            */
-            Quaternion(float q0=1,float q1=0,float q2=0,float q3=0);
-
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Quaternion();
-
-            /*!
-            * \brief Norm
-            *
-            * \return norm
-            */
-            float GetNorm(void) const;
-
-            /*!
-            * \brief Normalize
-            */
-            void Normalize(void);
-
-            /*!
-            * \brief Logarithm
-            *
-            * This method also Normalize the quaternion.
-            *
-            * \param logarithm output logarithm
-            */
-            void GetLogarithm(Vector3D &logarithm);
-
-            /*!
-            * \brief Logarithm
-            *
-            * This method also Normalize the quaternion.
-            *
-            * \return output logarithm
-            */
-            Vector3D GetLogarithm(void);
-
-            /*!
-            * \brief Conjugate
-            */
-            void Conjugate(void);
-
-            /*!
-            * \brief Conjugate
-            *
-            * \return Conjugate
-            */
-            Quaternion GetConjugate(void);
-
-            /*!
-            * \brief Derivative
-            *
-            * \param w angular speed
-            *
-            * \return derivative
-            */
-            Quaternion GetDerivative(const Vector3D &angularSpeed) const;
-
-            /*!
-            * \brief Derivate
-            *
-            * \param w rotationonal speed
-            */
-            void Derivate(const Vector3D &angularSpeed);
-
-            /*!
-            * \brief Convert to euler angles
-            *
-            * \param euler output euler angles
-            */
-            void ToEuler(Euler &euler) const;
-
-            /*!
-            * \brief Convert to euler angles
-            *
-            * \return euler angles
-            */
-            Euler ToEuler(void) const;
-
-            /*!
-            * \brief Convert to rotation matrix
-            *
-            * \param m output matrix
-            */
-            void ToRotationMatrix(RotationMatrix &matrix) const;
-
-            /*!
-            * \brief q0
-            */
-            float q0;
-
-            /*!
-            * \brief q1
-            */
-            float q1;
-
-            /*!
-            * \brief q2
-            */
-            float q2;
-
-            /*!
-            * \brief q3
-            */
-            float q3;
-
-            Quaternion& operator+=(const Quaternion& quaternion);
-            Quaternion& operator-=(const Quaternion& quaternion);
-            Quaternion& operator=(const Quaternion& quaternion);
-    };
-
-    /*! Add
-    *
-    * \brief Add
-    *
-    * \param quaterniontA quaternion
-    * \param quaterniontB quaternion
-    *
-    * \return quaterniontA+quaterniontB
-    */
-    Quaternion operator + (Quaternion const &quaterniontA,Quaternion const &quaterniontB);
-
-    /*! Substract
-    *
-    * \brief Substract
-    *
-    * \param quaterniontA quaternion
-    * \param quaterniontB quaternion
-    *
-    * \return quaterniontA-quaterniontB
-    */
-    Quaternion operator - (Quaternion const &quaternionA,Quaternion const &quaterniontB);
-
-    /*! Minus
-    *
-    * \brief Minus
-    *
-    * \param quaternion quaternion
-    *
-    * \return -quaternion
-    */
-    Quaternion operator-(const Quaternion &quaternion);
-
-    /*! Multiply
-    *
-    * \brief Multiply
-    *
-    * \param quaterniontA quaternion
-    * \param quaterniontB quaternion
-    *
-    * \return quaterniontA*quaterniontB
-    */
-    Quaternion operator * (Quaternion const &quaternionA,Quaternion const &quaterniontB);
-
-    /*! Multiply
-    *
-    * \brief Multiply
-    *
-    * \param coeff coefficient
-    * \param quat quaternion
-    *
-    * \return coeff*quat
-    */
-    Quaternion operator * (float coeff,Quaternion const &quaternion);
-
-    /*! Multiply
-    *
-    * \brief Multiply
-    *
-    * \param quat quaternion
-    * \param coeff coefficient
-    *
-    * \return coeff*quat
-    */
-    Quaternion operator * (Quaternion const &quaternion,float coeff);
+namespace flair {
+namespace core {
+class Euler;
+class Vector3D;
+class RotationMatrix;
+
+/*! \class Quaternion
+*
+* \brief Class defining a quaternion
+*/
+class Quaternion {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a quaternion using specified values.
+  *
+  * \param q0, scalar part
+  * \param q1
+  * \param q2
+  * \param q3
+  */
+  Quaternion(float q0 = 1, float q1 = 0, float q2 = 0, float q3 = 0);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Quaternion();
+
+  /*!
+  * \brief Norm
+  *
+  * \return norm
+  */
+  float GetNorm(void) const;
+
+  /*!
+  * \brief Normalize
+  */
+  void Normalize(void);
+
+  /*!
+  * \brief Logarithm
+  *
+  * This method also Normalize the quaternion.
+  *
+  * \param logarithm output logarithm
+  */
+  void GetLogarithm(Vector3D &logarithm);
+
+  /*!
+  * \brief Logarithm
+  *
+  * This method also Normalize the quaternion.
+  *
+  * \return output logarithm
+  */
+  Vector3D GetLogarithm(void);
+
+  /*!
+  * \brief Conjugate
+  */
+  void Conjugate(void);
+
+  /*!
+  * \brief Conjugate
+  *
+  * \return Conjugate
+  */
+  Quaternion GetConjugate(void);
+
+  /*!
+  * \brief Derivative
+  *
+  * \param w angular speed
+  *
+  * \return derivative
+  */
+  Quaternion GetDerivative(const Vector3D &angularSpeed) const;
+
+  /*!
+  * \brief Derivate
+  *
+  * \param w rotationonal speed
+  */
+  void Derivate(const Vector3D &angularSpeed);
+
+  /*!
+  * \brief Convert to euler angles
+  *
+  * \param euler output euler angles
+  */
+  void ToEuler(Euler &euler) const;
+
+  /*!
+  * \brief Convert to euler angles
+  *
+  * \return euler angles
+  */
+  Euler ToEuler(void) const;
+
+  /*!
+  * \brief Convert to rotation matrix
+  *
+  * \param m output matrix
+  */
+  void ToRotationMatrix(RotationMatrix &matrix) const;
+
+  /*!
+  * \brief q0
+  */
+  float q0;
+
+  /*!
+  * \brief q1
+  */
+  float q1;
+
+  /*!
+  * \brief q2
+  */
+  float q2;
+
+  /*!
+  * \brief q3
+  */
+  float q3;
+
+  Quaternion &operator+=(const Quaternion &quaternion);
+  Quaternion &operator-=(const Quaternion &quaternion);
+  Quaternion &operator=(const Quaternion &quaternion);
+};
+
+/*! Add
+*
+* \brief Add
+*
+* \param quaterniontA quaternion
+* \param quaterniontB quaternion
+*
+* \return quaterniontA+quaterniontB
+*/
+Quaternion operator+(Quaternion const &quaterniontA,
+                     Quaternion const &quaterniontB);
+
+/*! Substract
+*
+* \brief Substract
+*
+* \param quaterniontA quaternion
+* \param quaterniontB quaternion
+*
+* \return quaterniontA-quaterniontB
+*/
+Quaternion operator-(Quaternion const &quaternionA,
+                     Quaternion const &quaterniontB);
+
+/*! Minus
+*
+* \brief Minus
+*
+* \param quaternion quaternion
+*
+* \return -quaternion
+*/
+Quaternion operator-(const Quaternion &quaternion);
+
+/*! Multiply
+*
+* \brief Multiply
+*
+* \param quaterniontA quaternion
+* \param quaterniontB quaternion
+*
+* \return quaterniontA*quaterniontB
+*/
+Quaternion operator*(Quaternion const &quaternionA,
+                     Quaternion const &quaterniontB);
+
+/*! Multiply
+*
+* \brief Multiply
+*
+* \param coeff coefficient
+* \param quat quaternion
+*
+* \return coeff*quat
+*/
+Quaternion operator*(float coeff, Quaternion const &quaternion);
+
+/*! Multiply
+*
+* \brief Multiply
+*
+* \param quat quaternion
+* \param coeff coefficient
+*
+* \return coeff*quat
+*/
+Quaternion operator*(Quaternion const &quaternion, float coeff);
 
 } // end namespace core
Index: trunk/include/FlairCore/RTDM_I2cPort.h
===================================================================
--- trunk/include/FlairCore/RTDM_I2cPort.h	(revision 2)
+++ trunk/include/FlairCore/RTDM_I2cPort.h	(revision 13)
@@ -16,88 +16,85 @@
 #include <I2cPort.h>
 
-namespace flair
-{
-namespace core
-{
-    /*! \class RTDM_I2cPort
-    *
-    * \brief Class for real time i2c port using RTDM
-    *
-    * This class can only be used with the real time version of Framework library.
-    *
-    */
-    class RTDM_I2cPort: public I2cPort
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct an RTDM i2c port, with the following default values: \n
-            * - 400kbits baudrate \n
-            * - 500000ns RX timeout \n
-            * - 1000000ns TX timeout
-            *
-            * \param parent parent
-            * \param name name
-            * \param device i2c device (ex rti2c1)
-            */
-            RTDM_I2cPort(const Object* parent,std::string name,std::string device);
+namespace flair {
+namespace core {
+/*! \class RTDM_I2cPort
+*
+* \brief Class for real time i2c port using RTDM
+*
+* This class can only be used with the real time version of Framework library.
+*
+*/
+class RTDM_I2cPort : public I2cPort {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct an RTDM i2c port, with the following default values: \n
+  * - 400kbits baudrate \n
+  * - 500000ns RX timeout \n
+  * - 1000000ns TX timeout
+  *
+  * \param parent parent
+  * \param name name
+  * \param device i2c device (ex rti2c1)
+  */
+  RTDM_I2cPort(const Object *parent, std::string name, std::string device);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~RTDM_I2cPort();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~RTDM_I2cPort();
 
-            /*!
-            * \brief Set slave's address
-            *
-            * This method need to be called before any communication.
-            *
-            * \param address slave's address
-            */
-            int SetSlave(uint16_t address);
+  /*!
+  * \brief Set slave's address
+  *
+  * This method need to be called before any communication.
+  *
+  * \param address slave's address
+  */
+  int SetSlave(uint16_t address);
 
-            /*!
-            * \brief Write datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of written datas
-            */
-            ssize_t Write(const void *buf,size_t nbyte);
+  /*!
+  * \brief Write datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of written datas
+  */
+  ssize_t Write(const void *buf, size_t nbyte);
 
-            /*!
-            * \brief Read datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of read datas
-            */
-            ssize_t Read(void *buf,size_t nbyte);
+  /*!
+  * \brief Read datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of read datas
+  */
+  ssize_t Read(void *buf, size_t nbyte);
 
-            /*!
-            * \brief Set RX timeout
-            *
-            * Timeout for waiting an ACK from the slave.
-            *
-            * \param timeout_ns timeout in nano second
-            */
-            void SetRxTimeout(Time timeout_ns);
+  /*!
+  * \brief Set RX timeout
+  *
+  * Timeout for waiting an ACK from the slave.
+  *
+  * \param timeout_ns timeout in nano second
+  */
+  void SetRxTimeout(Time timeout_ns);
 
-            /*!
-            * \brief Set TX timeout
-            *
-            * Timeout for waiting an ACK from the slave.
-            *
-            * \param timeout_ns timeout in nano second
-            */
-            void SetTxTimeout(Time timeout_ns);
+  /*!
+  * \brief Set TX timeout
+  *
+  * Timeout for waiting an ACK from the slave.
+  *
+  * \param timeout_ns timeout in nano second
+  */
+  void SetTxTimeout(Time timeout_ns);
 
-        private:
-            int fd;
-    };
+private:
+  int fd;
+};
 } // end namespace core
 } // end namespace flair
Index: trunk/include/FlairCore/RTDM_SerialPort.h
===================================================================
--- trunk/include/FlairCore/RTDM_SerialPort.h	(revision 2)
+++ trunk/include/FlairCore/RTDM_SerialPort.h	(revision 13)
@@ -16,83 +16,81 @@
 #include <SerialPort.h>
 
-namespace flair
-{
-namespace core
-{
-    /*! \class RTDM_SerialPort
-    *
-    * \brief Class for real time serial port using RTDM
-    *
-    * This class can only be used with the real time version of Framework library.
-    *
-    */
-    class RTDM_SerialPort: public SerialPort
-    {
+namespace flair {
+namespace core {
+/*! \class RTDM_SerialPort
+*
+* \brief Class for real time serial port using RTDM
+*
+* This class can only be used with the real time version of Framework library.
+*
+*/
+class RTDM_SerialPort : public SerialPort {
 
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct an RTDM serial port, with the following default values: \n
-            * - 115200bps baudrate
-            *
-            * \param parent parent
-            * \param name name
-            * \param device serial device (ex rtser1)
-            */
-            RTDM_SerialPort(const Object* parent,std::string port_name,std::string device);
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct an RTDM serial port, with the following default values: \n
+  * - 115200bps baudrate
+  *
+  * \param parent parent
+  * \param name name
+  * \param device serial device (ex rtser1)
+  */
+  RTDM_SerialPort(const Object *parent, std::string port_name,
+                  std::string device);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~RTDM_SerialPort();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~RTDM_SerialPort();
 
-            /*!
-            * \brief Set baudrate
-            *
-            * \param baudrate baudrate
-            *
-            */
-            void SetBaudrate(int baudrate);
+  /*!
+  * \brief Set baudrate
+  *
+  * \param baudrate baudrate
+  *
+  */
+  void SetBaudrate(int baudrate);
 
-            /*!
-            * \brief Set RX timeout
-            *
-            * Timeout for waiting datas.
-            *
-            * \param timeout_ns timeout in nano second
-            */
-            void SetRxTimeout(Time timeout_ns);
+  /*!
+  * \brief Set RX timeout
+  *
+  * Timeout for waiting datas.
+  *
+  * \param timeout_ns timeout in nano second
+  */
+  void SetRxTimeout(Time timeout_ns);
 
-            /*!
-            * \brief Write datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of written datas
-            */
-            ssize_t Write(const void *buf,size_t nbyte);
+  /*!
+  * \brief Write datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of written datas
+  */
+  ssize_t Write(const void *buf, size_t nbyte);
 
-            /*!
-            * \brief Read datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of read datas
-            */
-            ssize_t Read(void *buf,size_t nbyte);
+  /*!
+  * \brief Read datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of read datas
+  */
+  ssize_t Read(void *buf, size_t nbyte);
 
-            /*!
-            * \brief Flush input datas
-            *
-            */
-            void FlushInput(void);
+  /*!
+  * \brief Flush input datas
+  *
+  */
+  void FlushInput(void);
 
-        private:
-            int fd;
-    };
+private:
+  int fd;
+};
 } // end namespace core
 } // end namespace flair
Index: trunk/include/FlairCore/RangeFinderPlot.h
===================================================================
--- trunk/include/FlairCore/RangeFinderPlot.h	(revision 2)
+++ trunk/include/FlairCore/RangeFinderPlot.h	(revision 13)
@@ -5,5 +5,6 @@
 /*!
  * \file RangeFinderPlot.h
- * \brief Class displaying a 2D plot on the ground station for laser range finder like Hokuyo
+ * \brief Class displaying a 2D plot on the ground station for laser range
+ * finder like Hokuyo
  * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
  * \date 2014/07/23
@@ -17,77 +18,75 @@
 #include <stdint.h>
 
-namespace flair
-{
-    namespace core
-    {
-        class cvmatrix;
-    }
+namespace flair {
+namespace core {
+class cvmatrix;
+}
 }
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class RangeFinderPlot
-    *
-    * \brief Class displaying a 2D plot on the ground station for laser range finder like Hokuyo
-    *
-    */
-    class RangeFinderPlot: public SendData
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a 2D plot at given position. \n
-            * The RangeFinderPlot will automatically be child of position->getLayout() Layout. After calling this constructor,
-            * position will be deleted as it is no longer usefull.
-            *
-            * \param position position to display the plot
-            * \param name name
-            * \param x_name name of x axis
-            * \param xmin default xmin of the plot
-            * \param xmax default xmax of the plot
-            * \param y_name name of y axis
-            * \param ymin default ymin of the plot
-            * \param ymax default ymax of the plot
-            * \param datas laser datas
-            * \param start_angle start angle of the laser
-            * \param end_angle end angle of the laser
-            * \param nb_samples number of samples
-            */
-            RangeFinderPlot(const LayoutPosition* position,std::string name,
-                            std::string x_name,float xmin,float xmax,
-                            std::string y_name,float ymin,float ymax,
-                            const core::cvmatrix* datas,float start_angle,float end_angle,uint32_t nb_samples);
+/*! \class RangeFinderPlot
+*
+* \brief Class displaying a 2D plot on the ground station for laser range finder
+*like Hokuyo
+*
+*/
+class RangeFinderPlot : public SendData {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a 2D plot at given position. \n
+  * The RangeFinderPlot will automatically be child of position->getLayout()
+  *Layout. After calling this constructor,
+  * position will be deleted as it is no longer usefull.
+  *
+  * \param position position to display the plot
+  * \param name name
+  * \param x_name name of x axis
+  * \param xmin default xmin of the plot
+  * \param xmax default xmax of the plot
+  * \param y_name name of y axis
+  * \param ymin default ymin of the plot
+  * \param ymax default ymax of the plot
+  * \param datas laser datas
+  * \param start_angle start angle of the laser
+  * \param end_angle end angle of the laser
+  * \param nb_samples number of samples
+  */
+  RangeFinderPlot(const LayoutPosition *position, std::string name,
+                  std::string x_name, float xmin, float xmax,
+                  std::string y_name, float ymin, float ymax,
+                  const core::cvmatrix *datas, float start_angle,
+                  float end_angle, uint32_t nb_samples);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~RangeFinderPlot();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~RangeFinderPlot();
 
-        private:
-            /*!
-            * \brief Copy datas to specified buffer
-            *
-            * Reimplemented from SendData.
-            *
-            * \param buf output buffer
-            */
-            void CopyDatas(char* buf) const;
+private:
+  /*!
+  * \brief Copy datas to specified buffer
+  *
+  * Reimplemented from SendData.
+  *
+  * \param buf output buffer
+  */
+  void CopyDatas(char *buf) const;
 
-            /*!
-            * \brief Extra Xml event
-            *
-            * Reimplemented from SendData.
-            */
-            void ExtraXmlEvent(void){};
+  /*!
+  * \brief Extra Xml event
+  *
+  * Reimplemented from SendData.
+  */
+  void ExtraXmlEvent(void){};
 
-            const core::cvmatrix* datas;
-    };
+  const core::cvmatrix *datas;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/RotationMatrix.h
===================================================================
--- trunk/include/FlairCore/RotationMatrix.h	(revision 2)
+++ trunk/include/FlairCore/RotationMatrix.h	(revision 13)
@@ -17,48 +17,48 @@
 namespace flair {
 namespace core {
-    class Euler;
+class Euler;
 
-    /*! \class RotationMatrix
-    *
-    * \brief Class defining a rotation matrix
-    */
-    class RotationMatrix {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct an identity rotation matrix
-            *
-            */
-            RotationMatrix();
+/*! \class RotationMatrix
+*
+* \brief Class defining a rotation matrix
+*/
+class RotationMatrix {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct an identity rotation matrix
+  *
+  */
+  RotationMatrix();
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~RotationMatrix();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~RotationMatrix();
 
-            /*!
-            * \brief Convert to euler angles
-            *
-            * \param euler output euler angles
-            */
-            void ToEuler(Euler &euler) const;
+  /*!
+  * \brief Convert to euler angles
+  *
+  * \param euler output euler angles
+  */
+  void ToEuler(Euler &euler) const;
 
-            /*!
-            * \brief Convert to euler angles
-            *
-            * \return euler angles
-            */
-            Euler ToEuler(void) const;
-            /*!
-            * \brief matrix
-            *
-            */
-            float m[3][3];
+  /*!
+  * \brief Convert to euler angles
+  *
+  * \return euler angles
+  */
+  Euler ToEuler(void) const;
+  /*!
+  * \brief matrix
+  *
+  */
+  float m[3][3];
 
-            float& operator()(size_t row,size_t col);
-            const float& operator()(size_t row,size_t col) const;
-    };
+  float &operator()(size_t row, size_t col);
+  const float &operator()(size_t row, size_t col) const;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/SendData.h
===================================================================
--- trunk/include/FlairCore/SendData.h	(revision 2)
+++ trunk/include/FlairCore/SendData.h	(revision 13)
@@ -18,80 +18,78 @@
 class SendData_impl;
 
-namespace flair
-{
-namespace gui
-{
-    class LayoutPosition;
+namespace flair {
+namespace gui {
+class LayoutPosition;
 
-    /*! \class SendData
-    *
-    * \brief Abstract class for sending datas to ground station
-    *
-    */
-    class SendData: public Widget
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            */
-            SendData(const LayoutPosition* position,std::string name,std::string type,uint16_t default_periodms=100,bool default_enabled=false);
+/*! \class SendData
+*
+* \brief Abstract class for sending datas to ground station
+*
+*/
+class SendData : public Widget {
+public:
+  /*!
+  * \brief Constructor
+  *
+  */
+  SendData(const LayoutPosition *position, std::string name, std::string type,
+           uint16_t default_periodms = 100, bool default_enabled = false);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            virtual ~SendData();
+  /*!
+  * \brief Destructor
+  *
+  */
+  virtual ~SendData();
 
-            /*!
-            * \brief Copy datas to specified buffer
-            *
-            * This method must be reimplemented, in order to send datas to ground station.
-            *
-            * \param buf output buffer
-            */
-            virtual void CopyDatas(char* buf) const =0;
+  /*!
+  * \brief Copy datas to specified buffer
+  *
+  * This method must be reimplemented, in order to send datas to ground station.
+  *
+  * \param buf output buffer
+  */
+  virtual void CopyDatas(char *buf) const = 0;
 
-            size_t SendSize(void) const;
-            uint16_t SendPeriod(void) const; // in ms
-            bool IsEnabled(void) const;
+  size_t SendSize(void) const;
+  uint16_t SendPeriod(void) const; // in ms
+  bool IsEnabled(void) const;
 
-        protected:
+protected:
+  /*!
+  * \brief Notify that SenData's datas have changed
+  *
+  * This method must be called when the datas have changed. \n
+  * Normally, it occurs when a curve is added to a plot for example. \n
+  * This method automatically blocks and unblocks the communication.
+  *
+  */
+  void SetSendSize(size_t value);
 
-            /*!
-            * \brief Notify that SenData's datas have changed
-            *
-            * This method must be called when the datas have changed. \n
-            * Normally, it occurs when a curve is added to a plot for example. \n
-            * This method automatically blocks and unblocks the communication.
-            *
-            */
-            void SetSendSize(size_t value);
+  /*!
+  * \brief Extra Xml event
+  *
+  * This method must be reimplemented to handle extra xml event. \n
+  * It is automatically called when something changed from
+  * ground station, through XmlEvent method. \n
+  */
+  virtual void ExtraXmlEvent(void) = 0;
 
-            /*!
-            * \brief Extra Xml event
-            *
-            * This method must be reimplemented to handle extra xml event. \n
-            * It is automatically called when something changed from
-            * ground station, through XmlEvent method. \n
-            */
-            virtual void ExtraXmlEvent(void)=0;
+private:
+  /*!
+  * \brief XmlEvent from ground station
+  *
+  * Reimplemented from Widget. \n
+  * This method handles period and enabled properties of the SendData. \n
+  * Then it calls ExtraXmlEvent to handle specific xml events of reimplemented
+  *class.
+  *
+  */
+  void XmlEvent(void);
 
-        private:
-            /*!
-            * \brief XmlEvent from ground station
-            *
-            * Reimplemented from Widget. \n
-            * This method handles period and enabled properties of the SendData. \n
-            * Then it calls ExtraXmlEvent to handle specific xml events of reimplemented class.
-            *
-            */
-            void XmlEvent(void);
+  void SetSendPeriod(uint16_t value);
+  void SetEnabled(bool value);
 
-            void SetSendPeriod(uint16_t value);
-            void SetEnabled(bool value);
-
-            class SendData_impl* pimpl_;
-    };
+  class SendData_impl *pimpl_;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/SerialPort.h
===================================================================
--- trunk/include/FlairCore/SerialPort.h	(revision 2)
+++ trunk/include/FlairCore/SerialPort.h	(revision 13)
@@ -17,76 +17,71 @@
 #include <stdint.h>
 
-namespace flair
-{
-namespace core
-{
-    /*! \class SerialPort
-    *
-    * \brief Base class for serial port
-    */
-    class SerialPort: public Object
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a serial port.
-            *
-            * \param parent parent
-            * \param name name
-            */
-            SerialPort(const Object* parent,std::string name): Object(parent,name)
-            {}
+namespace flair {
+namespace core {
+/*! \class SerialPort
+*
+* \brief Base class for serial port
+*/
+class SerialPort : public Object {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a serial port.
+  *
+  * \param parent parent
+  * \param name name
+  */
+  SerialPort(const Object *parent, std::string name) : Object(parent, name) {}
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~SerialPort(){};
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~SerialPort(){};
 
-            /*!
-            * \brief Set baudrate
-            *
-            * \param baudrate baudrate
-            *
-            */
-            virtual void SetBaudrate(int baudrate)=0;
+  /*!
+  * \brief Set baudrate
+  *
+  * \param baudrate baudrate
+  *
+  */
+  virtual void SetBaudrate(int baudrate) = 0;
 
-            /*!
-            * \brief Set RX timeout
-            *
-            * Timeout for waiting datas.
-            *
-            * \param timeout_ns timeout in nano second
-            */
-            virtual void SetRxTimeout(Time timeout_ns)=0;
+  /*!
+  * \brief Set RX timeout
+  *
+  * Timeout for waiting datas.
+  *
+  * \param timeout_ns timeout in nano second
+  */
+  virtual void SetRxTimeout(Time timeout_ns) = 0;
 
-            /*!
-            * \brief Write datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of written datas
-            */
-            virtual ssize_t Write(const void *buf,size_t nbyte)=0;
+  /*!
+  * \brief Write datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of written datas
+  */
+  virtual ssize_t Write(const void *buf, size_t nbyte) = 0;
 
-            /*!
-            * \brief Read datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of read datas
-            */
-            virtual ssize_t Read(void *buf,size_t nbyte)=0;
+  /*!
+  * \brief Read datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of read datas
+  */
+  virtual ssize_t Read(void *buf, size_t nbyte) = 0;
 
-            /*!
-            * \brief Flush input datas
-            *
-            */
-            virtual void FlushInput(void)=0;
-
-    };
+  /*!
+  * \brief Flush input datas
+  *
+  */
+  virtual void FlushInput(void) = 0;
+};
 } // end namespace core
 } // end namespace framework
Index: trunk/include/FlairCore/SharedMem.h
===================================================================
--- trunk/include/FlairCore/SharedMem.h	(revision 2)
+++ trunk/include/FlairCore/SharedMem.h	(revision 13)
@@ -19,56 +19,53 @@
 class SharedMem_impl;
 
-namespace flair
-{
-namespace core
-{
+namespace flair {
+namespace core {
 
-    /*! \class SharedMem
-    *
-    * \brief Class defining a shared memory
-    *
-    * Shared memory is identified by its name so it can be accessed
-    * by another processus using its name.
-    */
+/*! \class SharedMem
+*
+* \brief Class defining a shared memory
+*
+* Shared memory is identified by its name so it can be accessed
+* by another processus using its name.
+*/
 
-    class SharedMem: public Object
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a shared memory object
-            *
-            * \param parent parent
-            * \param name name
-            * \param size size of the shared memory
-            */
-            SharedMem(const Object* parent,std::string name,size_t size);
+class SharedMem : public Object {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a shared memory object
+  *
+  * \param parent parent
+  * \param name name
+  * \param size size of the shared memory
+  */
+  SharedMem(const Object *parent, std::string name, size_t size);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~SharedMem();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~SharedMem();
 
-            /*!
-            * \brief Write
-            *
-            * \param buf input buffer to write to memory
-            * \param size buffer size
-            */
-            void Write(const char* buf,size_t size);
+  /*!
+  * \brief Write
+  *
+  * \param buf input buffer to write to memory
+  * \param size buffer size
+  */
+  void Write(const char *buf, size_t size);
 
-            /*!
-            * \brief Read
-            *
-            * \param buf output buffer to write from memory
-            * \param size buffer size
-            */
-            void Read(char* buf,size_t size) const;
+  /*!
+  * \brief Read
+  *
+  * \param buf output buffer to write from memory
+  * \param size buffer size
+  */
+  void Read(char *buf, size_t size) const;
 
-        private:
-            SharedMem_impl* pimpl_;
-    };
+private:
+  SharedMem_impl *pimpl_;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/Socket.h
===================================================================
--- trunk/include/FlairCore/Socket.h	(revision 2)
+++ trunk/include/FlairCore/Socket.h	(revision 13)
@@ -20,87 +20,89 @@
 class Socket_impl;
 
-namespace flair
-{
-namespace core
-{
+namespace flair {
+namespace core {
 
-    /*! \class Socket
-    *
-    * \brief Class encapsulating a UDP socket. It assumes packets are coming from only one distant host on a given port.
-    *
-    */
-    class Socket: public Object {
-    public:
-        /*!
-        * \brief Constructor
-        *
-        * Construct the client side of the socket
-        *
-        * \param parent parent
-        * \param name name
-        * \param address server address (ex 192.168.1.1:9000)
-        * \param broadcast true if address is a broadcast address
-        */
-        Socket(const Object* parent, std::string name,std::string address,bool broadcast=false);
+/*! \class Socket
+*
+* \brief Class encapsulating a UDP socket. It assumes packets are coming from
+*only one distant host on a given port.
+*
+*/
+class Socket : public Object {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct the client side of the socket
+  *
+  * \param parent parent
+  * \param name name
+  * \param address server address (ex 192.168.1.1:9000)
+  * \param broadcast true if address is a broadcast address
+  */
+  Socket(const Object *parent, std::string name, std::string address,
+         bool broadcast = false);
 
-        /*!
-        * \brief Constructor
-        *
-        * Construct the server side of the socket
-        *
-        * \param parent parent
-        * \param name name
-        * \param port listening port
-        */
-        Socket(const Object* parent, std::string name,uint16_t port);
+  /*!
+  * \brief Constructor
+  *
+  * Construct the server side of the socket
+  *
+  * \param parent parent
+  * \param name name
+  * \param port listening port
+  */
+  Socket(const Object *parent, std::string name, uint16_t port);
 
-        /*!
-        * \brief Destructor
-        *
-        */
-        ~Socket();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Socket();
 
-        /*!
-        * \brief Send a message
-        *
-        * In case of a broadcast Socket, Parent()->ObjectName() is used as source of the message, this name should be unique.
-        *
-        * \param message message
-        */
-        void SendMessage(std::string message);
+  /*!
+  * \brief Send a message
+  *
+  * In case of a broadcast Socket, Parent()->ObjectName() is used as source of
+  *the message, this name should be unique.
+  *
+  * \param message message
+  */
+  void SendMessage(std::string message);
 
-        /*!
-        * \brief Send a message
-        *
-        * \param message message
-        * \param message_len message length
-        */
-        void SendMessage(const char* message,size_t message_len);
+  /*!
+  * \brief Send a message
+  *
+  * \param message message
+  * \param message_len message length
+  */
+  void SendMessage(const char *message, size_t message_len);
 
-        /*!
-        * \brief Receive a message
-        *
-        * Receive a message and wait up to timeout. \n
-        * If src and src_len are specified, the source of the message will be
-        * copied in the src buffer. \n
-        * Note that in case of a broadcast socket, own messages are filtered and
-        * are not received.
-        *
-        * \param buf buffer to put the message
-        * \param buf_len buffer length
-        * \param timeout timeout
-        * \param src buffer to put source name
-        * \param src_len buffer length
-        *
-        * \return size of the received message
-        */
-        ssize_t RecvMessage(char* buf,size_t buf_len,Time timeout,char* src=NULL,size_t* src_len=NULL);
+  /*!
+  * \brief Receive a message
+  *
+  * Receive a message and wait up to timeout. \n
+  * If src and src_len are specified, the source of the message will be
+  * copied in the src buffer. \n
+  * Note that in case of a broadcast socket, own messages are filtered and
+  * are not received.
+  *
+  * \param buf buffer to put the message
+  * \param buf_len buffer length
+  * \param timeout timeout
+  * \param src buffer to put source name
+  * \param src_len buffer length
+  *
+  * \return size of the received message
+  */
+  ssize_t RecvMessage(char *buf, size_t buf_len, Time timeout, char *src = NULL,
+                      size_t *src_len = NULL);
 
-        void NetworkToHost(char *data,size_t dataSize);
-        void HostToNetwork(char *data,size_t dataSize);
+  void NetworkToHost(char *data, size_t dataSize);
+  void HostToNetwork(char *data, size_t dataSize);
 
-    private:
-       class Socket_impl* pimpl_;
-    };
+private:
+  class Socket_impl *pimpl_;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/SpinBox.h
===================================================================
--- trunk/include/FlairCore/SpinBox.h	(revision 2)
+++ trunk/include/FlairCore/SpinBox.h	(revision 13)
@@ -16,73 +16,72 @@
 #include <Box.h>
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class SpinBox
-    *
-    * \brief Class displaying a QSpinBox on the ground station
-    *
-    */
-    class SpinBox : public Box
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QSpinBox at given position. \n
-            * The QSpinBox is saturated to min and max values.
-            *
-            * \param position position to display the QSpinBox
-            * \param name name
-            * \param min minimum value
-            * \param max maximum value
-            * \param step step
-            * \param default_value default value if not in the xml config file
-            */
-            SpinBox(const LayoutPosition* position,std::string name,int min,int max,int step,int default_value=0);/*!
+/*! \class SpinBox
+*
+* \brief Class displaying a QSpinBox on the ground station
+*
+*/
+class SpinBox : public Box {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QSpinBox at given position. \n
+  * The QSpinBox is saturated to min and max values.
+  *
+  * \param position position to display the QSpinBox
+  * \param name name
+  * \param min minimum value
+  * \param max maximum value
+  * \param step step
+  * \param default_value default value if not in the xml config file
+  */
+  SpinBox(const LayoutPosition *position, std::string name, int min, int max,
+          int step, int default_value = 0); /*!
 
-            * \brief Constructor
-            *
-            * Construct a QSpinBox at given position. \n
-            * The QSpinBox is saturated to min and max values.
-            *
-            * \param position position to display the QSpinBox
-            * \param name name
-            * \param suffix suffix for the value (eg unit)
-            * \param min minimum value
-            * \param max maximum value
-            * \param step step
-            * \param default_value default value if not in the xml config file
-            */
-            SpinBox(const LayoutPosition* position,std::string name,std::string suffix,int min,int max,int step,int default_value=0);
+* \brief Constructor
+*
+* Construct a QSpinBox at given position. \n
+* The QSpinBox is saturated to min and max values.
+*
+* \param position position to display the QSpinBox
+* \param name name
+* \param suffix suffix for the value (eg unit)
+* \param min minimum value
+* \param max maximum value
+* \param step step
+* \param default_value default value if not in the xml config file
+*/
+  SpinBox(const LayoutPosition *position, std::string name, std::string suffix,
+          int min, int max, int step, int default_value = 0);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~SpinBox();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~SpinBox();
 
-           /*!
-            * \brief Value
-            *
-            * \return value
-            */
-            int Value(void) const;
+  /*!
+   * \brief Value
+   *
+   * \return value
+   */
+  int Value(void) const;
 
-        private:
-            /*!
-            * \brief XmlEvent from ground station
-            *
-            * Reimplemented from Widget.
-            *
-            */
-            void XmlEvent(void);
+private:
+  /*!
+  * \brief XmlEvent from ground station
+  *
+  * Reimplemented from Widget.
+  *
+  */
+  void XmlEvent(void);
 
-            int box_value;
-    };
+  int box_value;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/Tab.h
===================================================================
--- trunk/include/FlairCore/Tab.h	(revision 2)
+++ trunk/include/FlairCore/Tab.h	(revision 13)
@@ -16,39 +16,36 @@
 #include <Layout.h>
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    class TabWidget;
+class TabWidget;
 
-    /*! \class Tab
-    *
-    * \brief Class displaying a QTab on the ground station
-    *
-    * Tabs are displayed in a TabWidget.
-    */
-    class Tab: public Layout
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a Tab in the TabWidget.
-            *
-            * \param parent parent
-            * \param name name
-            * \param position tab position, -1 to put at the last position
-            */
-            Tab(const TabWidget* parent,std::string name,int position=-1);
+/*! \class Tab
+*
+* \brief Class displaying a QTab on the ground station
+*
+* Tabs are displayed in a TabWidget.
+*/
+class Tab : public Layout {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a Tab in the TabWidget.
+  *
+  * \param parent parent
+  * \param name name
+  * \param position tab position, -1 to put at the last position
+  */
+  Tab(const TabWidget *parent, std::string name, int position = -1);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Tab();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Tab();
 
-        private:
-    };
+private:
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/TabWidget.h
===================================================================
--- trunk/include/FlairCore/TabWidget.h	(revision 2)
+++ trunk/include/FlairCore/TabWidget.h	(revision 13)
@@ -16,47 +16,51 @@
 #include <Widget.h>
 
-namespace flair
-{
-namespace gui
-{
-    class LayoutPosition;
+namespace flair {
+namespace gui {
+class LayoutPosition;
 
-    /*! \class TabWidget
-    *
-    * \brief Class displaying a QTabWidget on the ground station
-    *
-    * TabWidget contains Tabs.
-    *
-    */
-    class TabWidget:public Widget
-    {
-        public:
-            /*!
-            * \enum TabPosition_t
-            * \brief Position of tabs
-            */
-            typedef enum { North/*! north */, South/*! south */, West/*! west */, East/*! east */} TabPosition_t;
+/*! \class TabWidget
+*
+* \brief Class displaying a QTabWidget on the ground station
+*
+* TabWidget contains Tabs.
+*
+*/
+class TabWidget : public Widget {
+public:
+  /*!
+  * \enum TabPosition_t
+  * \brief Position of tabs
+  */
+  typedef enum {
+    North /*! north */,
+    South /*! south */,
+    West /*! west */,
+    East /*! east */
+  } TabPosition_t;
 
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QTabWidget at given position. \n
-            * The TabWidget will automatically be child of position->getLayout() Layout. After calling this constructor,
-            * position will be deleted as it is no longer usefull.
-            *
-            * \param position position
-            * \param name name
-            * \param tabPosition position of tabs
-            */
-            TabWidget(const LayoutPosition* position,std::string name,TabPosition_t tabPosition=TabWidget::West);
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QTabWidget at given position. \n
+  * The TabWidget will automatically be child of position->getLayout() Layout.
+  *After calling this constructor,
+  * position will be deleted as it is no longer usefull.
+  *
+  * \param position position
+  * \param name name
+  * \param tabPosition position of tabs
+  */
+  TabWidget(const LayoutPosition *position, std::string name,
+            TabPosition_t tabPosition = TabWidget::West);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~TabWidget();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~TabWidget();
 
-        private:
-    };
+private:
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/TcpSocket.h
===================================================================
--- trunk/include/FlairCore/TcpSocket.h	(revision 2)
+++ trunk/include/FlairCore/TcpSocket.h	(revision 13)
@@ -16,36 +16,39 @@
 #include <ConnectedSocket.h>
 
-namespace flair
-{
-namespace core
-{
-    /*! \class TcpSocket
-    *
-    * \brief Class encapsulating a TCP socket
-    *
-    */
-    class TcpSocket:public ConnectedSocket {
-    public:
-        TcpSocket(const Object* parent,const std::string name,bool blockOnSend=false,bool blockOnReceive=true);
-        ~TcpSocket();
-        void Listen(const unsigned int port,const std::string localAddress="ANY");
-        TcpSocket *Accept(Time timeout=0); //should throw an exception if not a listening socket
-        bool Connect(const unsigned int distantPort,const std::string distantAddress,Time timeout=0); // timeout in milliseconds
-        ssize_t SendMessage(const char* message,size_t message_len,Time timeout=0); // timeout in milliseconds
-        ssize_t RecvMessage(char* buf,size_t buf_len,Time timeout=0); // timeout in milliseconds
+namespace flair {
+namespace core {
+/*! \class TcpSocket
+*
+* \brief Class encapsulating a TCP socket
+*
+*/
+class TcpSocket : public ConnectedSocket {
+public:
+  TcpSocket(const Object *parent, const std::string name,
+            bool blockOnSend = false, bool blockOnReceive = true);
+  ~TcpSocket();
+  void Listen(const unsigned int port, const std::string localAddress = "ANY");
+  TcpSocket *Accept(
+      Time timeout = 0); // should throw an exception if not a listening socket
+  bool Connect(const unsigned int distantPort, const std::string distantAddress,
+               Time timeout = 0); // timeout in milliseconds
+  ssize_t SendMessage(const char *message, size_t message_len,
+                      Time timeout = 0); // timeout in milliseconds
+  ssize_t RecvMessage(char *buf, size_t buf_len,
+                      Time timeout = 0); // timeout in milliseconds
 
-        uint16_t NetworkToHost16(uint16_t data);
-        uint16_t HostToNetwork16(uint16_t data);
-        uint32_t NetworkToHost32(uint32_t data);
-        uint32_t HostToNetwork32(uint32_t data);
+  uint16_t NetworkToHost16(uint16_t data);
+  uint16_t HostToNetwork16(uint16_t data);
+  uint32_t NetworkToHost32(uint32_t data);
+  uint32_t HostToNetwork32(uint32_t data);
 
-    private:
-        int socket; // socket file descriptor
-        bool blockOnSend;
-        bool blockOnReceive;
-        bool isConnected;
-        unsigned int distantPort;
-        std::string distantAddress;
-    };
+private:
+  int socket; // socket file descriptor
+  bool blockOnSend;
+  bool blockOnReceive;
+  bool isConnected;
+  unsigned int distantPort;
+  std::string distantAddress;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/TextEdit.h
===================================================================
--- trunk/include/FlairCore/TextEdit.h	(revision 2)
+++ trunk/include/FlairCore/TextEdit.h	(revision 13)
@@ -16,51 +16,50 @@
 #include <Widget.h>
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    class LayoutPosition;
+class LayoutPosition;
 
-    /*! \class TextEdit
-    *
-    * \brief Class displaying a QTextEdit on the ground station
-    *
-    * QTextEdit allows printing on multiple lines. \n
-    *
-    */
-    class TextEdit:public Widget
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a QTabWidget at given position. \n
-            * The TextEdit will automatically be child of position->getLayout() Layout. After calling this constructor,
-            * position will be deleted as it is no longer usefull.
-            *
-            * \param parent parent
-            * \param name name
-            * \param buf_size size of the text buffer
-            */
-            TextEdit(const LayoutPosition* position,std::string name,size_t buf_size=255);
+/*! \class TextEdit
+*
+* \brief Class displaying a QTextEdit on the ground station
+*
+* QTextEdit allows printing on multiple lines. \n
+*
+*/
+class TextEdit : public Widget {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a QTabWidget at given position. \n
+  * The TextEdit will automatically be child of position->getLayout() Layout.
+  *After calling this constructor,
+  * position will be deleted as it is no longer usefull.
+  *
+  * \param parent parent
+  * \param name name
+  * \param buf_size size of the text buffer
+  */
+  TextEdit(const LayoutPosition *position, std::string name,
+           size_t buf_size = 255);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~TextEdit();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~TextEdit();
 
-            /*!
-            * \brief Append a line
-            *
-            * \param format text string to display, see standard printf
-            */
-            void Append(const char * format, ...);
+  /*!
+  * \brief Append a line
+  *
+  * \param format text string to display, see standard printf
+  */
+  void Append(const char *format, ...);
 
-        private:
-            char* printf_buffer;
-            xmlNodePtr text_node;
-    };
+private:
+  char *printf_buffer;
+  xmlNodePtr text_node;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/Thread.h
===================================================================
--- trunk/include/FlairCore/Thread.h	(revision 2)
+++ trunk/include/FlairCore/Thread.h	(revision 13)
@@ -19,212 +19,214 @@
 class Thread_impl;
 
-namespace flair
-{
-namespace core
-{
-
-    class IODevice;
-
-    /*! \class Thread
-    *
-    * \brief Abstract class for a thread
-    *
-    * To implement a thread, Run() method must be reimplemented. \n
-    * When Start() is called, it will automatically call Run() reimplemented method.
-    * A thread can be periodic, in this case WaitPeriod() will block untill period is met.
-    * Thread can also e synnchronized with an IODevice, using WaitUpdate() method. \n
-    * Thread period is by default 100ms.
-    */
-    class Thread: public Object
-    {
-        friend class ::Thread_impl;
-
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * \param parent parent
-            * \param name name
-            * \param priority priority, should be >20 (<20 is reserved for internal use)
-            */
-            Thread(const Object* parent,std::string name,uint8_t priority);//priority>20, for real time only
-
-            /*!
-            * \brief Destructor
-            *
-            * If thread is started, SafeStop() and Join() will
-            * be automatically called.
-            *
-            */
-            virtual ~Thread();
-
-            /*!
-            * \brief Start the thread
-            *
-            */
-            void Start(void);
-
-            /*!
-            * \brief Set a stop flag
-            *
-            * ToBeStopped() will return true after calling this method.
-            */
-            void SafeStop(void);
-
-            /*!
-            * \brief Set a stop flag
-            *
-            * Reimplemented Run() can poll this method to
-            * determine when to stop the thread.
-            *
-            * \return true if SafeStop() was called
-            */
-            bool ToBeStopped(void) const;
-
-            /*!
-            * \brief Join the thread
-            *
-            * This method will block untill Run() returns.
-            *
-            */
-            void Join(void);
-
-            /*!
-            * \brief Set the period in micro second
-            *
-            * After calling this method, IsPeriodSet will return true.
-            *
-            * \param period_us period in us
-            */
-            void SetPeriodUS(uint32_t period_us);
-
-            uint32_t GetPeriodUS() const;
-
-            /*!
-            * \brief Set the period in milli second
-            *
-            * After calling this method, IsPeriodSet will return true.
-            *
-            * \param period_ums period in ms
-            */
-            void SetPeriodMS(uint32_t period_ms);
-
-            uint32_t GetPeriodMS() const;
-
-            /*!
-            * \brief Returns if period was set
-            *
-            * \return true if a period was set using SetPeriodUS or SetPeriodMS
-            * false otherwise
-            */
-            bool IsPeriodSet(void);
-
-            /*!
-            * \brief Wait the period
-            *
-            * This method will block untill period is met. \n
-            * If no period was set (see SetPeriodUS, SetPeriodMS and IsPeriodSet), this method
-            * returns immediately.
-            *
-            */
-            void WaitPeriod(void) const;
-
-            /*!
-            * \brief Wait update of an IODevice
-            *
-            * This method will block untill IODevice::ProcessUpdate
-            * is called. \n
-            * This method is usefull to synchronize a thread with an IODevice.
-            *
-            * \param device IODevice to wait update from
-            */
-            int WaitUpdate(const IODevice* device);
-
-            /*!
-            * \brief Suspend the thread
-            *
-            * This method will block untill Resume() is called.
-            *
-            */
-            void Suspend(void);
-
-            /*!
-            * \brief Suspend the thread with timeout
-            *
-            * This method will block until Resume() is called or the absolute date specified occurs
-            *
-            * \param date absolute date in ns
-            * \return true if thread is woken up by a call to Resume, false otherwise
-            */
-            bool SuspendUntil(Time date);
-
-            /*!
-            * \brief Resume the thread
-            *
-            * This method will unblock the call to Suspend().
-            *
-            */
-            void Resume(void);
-
-            /*!
-            * \brief Is the thread suspended?
-            *
-            * \return true if thread is suspended
-            *
-            */
-            bool IsSuspended(void) const;
-
-            /*!
-            * \brief Sleep until absolute time
-            *
-            * This method will block untill time is reached.
-            *
-            * \param time absolute time
-            */
-            void SleepUntil(Time time) const;
-
-            /*!
-            * \brief Sleep for a certain time in micro second
-            *
-            * This method will block untill time is elapsed.
-            *
-            * \param time_us time to wait in micro second
-            */
-            void SleepUS(uint32_t time_us) const;
-
-            /*!
-            * \brief Sleep for a cartain time in milli second
-            *
-            * This method will block untill time is elapsed.
-            *
-            * \param time_ms time to wait in milli second
-            */
-            void SleepMS(uint32_t time_ms) const;
-
-            /*!
-            * \brief Warn if real time / non real time switches occur
-            *
-            * If enabled, a message with the call stack will be displayed
-            * in case of real time / non real time switches. \n
-            * This method can help to debug application and see if switches occur. \n
-            * Note that it as no effect if this method is called from the non real time
-            * Framework library.
-            *
-            * \param enable enable or disable warns
-            */
-            static void WarnUponSwitches(bool enable);
-
-        private:
-            /*!
-            * \brief Run method
-            *
-            * This method is automatically called by Start(). \n
-            * This method must be reimplemented, in order to implement the thread.
-            *
-            */
-            virtual void Run(void)=0;
-
-            class Thread_impl* pimpl_;
-    };
+namespace flair {
+namespace core {
+
+class IODevice;
+
+/*! \class Thread
+*
+* \brief Abstract class for a thread
+*
+* To implement a thread, Run() method must be reimplemented. \n
+* When Start() is called, it will automatically call Run() reimplemented method.
+* A thread can be periodic, in this case WaitPeriod() will block untill period
+*is met.
+* Thread can also e synnchronized with an IODevice, using WaitUpdate() method.
+*\n
+* Thread period is by default 100ms.
+*/
+class Thread : public Object {
+  friend class ::Thread_impl;
+
+public:
+  /*!
+  * \brief Constructor
+  *
+  * \param parent parent
+  * \param name name
+  * \param priority priority, should be >20 (<20 is reserved for internal use)
+  */
+  Thread(const Object *parent, std::string name,
+         uint8_t priority); // priority>20, for real time only
+
+  /*!
+  * \brief Destructor
+  *
+  * If thread is started, SafeStop() and Join() will
+  * be automatically called.
+  *
+  */
+  virtual ~Thread();
+
+  /*!
+  * \brief Start the thread
+  *
+  */
+  void Start(void);
+
+  /*!
+  * \brief Set a stop flag
+  *
+  * ToBeStopped() will return true after calling this method.
+  */
+  void SafeStop(void);
+
+  /*!
+  * \brief Set a stop flag
+  *
+  * Reimplemented Run() can poll this method to
+  * determine when to stop the thread.
+  *
+  * \return true if SafeStop() was called
+  */
+  bool ToBeStopped(void) const;
+
+  /*!
+  * \brief Join the thread
+  *
+  * This method will block untill Run() returns.
+  *
+  */
+  void Join(void);
+
+  /*!
+  * \brief Set the period in micro second
+  *
+  * After calling this method, IsPeriodSet will return true.
+  *
+  * \param period_us period in us
+  */
+  void SetPeriodUS(uint32_t period_us);
+
+  uint32_t GetPeriodUS() const;
+
+  /*!
+  * \brief Set the period in milli second
+  *
+  * After calling this method, IsPeriodSet will return true.
+  *
+  * \param period_ums period in ms
+  */
+  void SetPeriodMS(uint32_t period_ms);
+
+  uint32_t GetPeriodMS() const;
+
+  /*!
+  * \brief Returns if period was set
+  *
+  * \return true if a period was set using SetPeriodUS or SetPeriodMS
+  * false otherwise
+  */
+  bool IsPeriodSet(void);
+
+  /*!
+  * \brief Wait the period
+  *
+  * This method will block untill period is met. \n
+  * If no period was set (see SetPeriodUS, SetPeriodMS and IsPeriodSet), this
+  *method
+  * returns immediately.
+  *
+  */
+  void WaitPeriod(void) const;
+
+  /*!
+  * \brief Wait update of an IODevice
+  *
+  * This method will block untill IODevice::ProcessUpdate
+  * is called. \n
+  * This method is usefull to synchronize a thread with an IODevice.
+  *
+  * \param device IODevice to wait update from
+  */
+  int WaitUpdate(const IODevice *device);
+
+  /*!
+  * \brief Suspend the thread
+  *
+  * This method will block untill Resume() is called.
+  *
+  */
+  void Suspend(void);
+
+  /*!
+  * \brief Suspend the thread with timeout
+  *
+  * This method will block until Resume() is called or the absolute date
+  *specified occurs
+  *
+  * \param date absolute date in ns
+  * \return true if thread is woken up by a call to Resume, false otherwise
+  */
+  bool SuspendUntil(Time date);
+
+  /*!
+  * \brief Resume the thread
+  *
+  * This method will unblock the call to Suspend().
+  *
+  */
+  void Resume(void);
+
+  /*!
+  * \brief Is the thread suspended?
+  *
+  * \return true if thread is suspended
+  *
+  */
+  bool IsSuspended(void) const;
+
+  /*!
+  * \brief Sleep until absolute time
+  *
+  * This method will block untill time is reached.
+  *
+  * \param time absolute time
+  */
+  void SleepUntil(Time time) const;
+
+  /*!
+  * \brief Sleep for a certain time in micro second
+  *
+  * This method will block untill time is elapsed.
+  *
+  * \param time_us time to wait in micro second
+  */
+  void SleepUS(uint32_t time_us) const;
+
+  /*!
+  * \brief Sleep for a cartain time in milli second
+  *
+  * This method will block untill time is elapsed.
+  *
+  * \param time_ms time to wait in milli second
+  */
+  void SleepMS(uint32_t time_ms) const;
+
+  /*!
+  * \brief Warn if real time / non real time switches occur
+  *
+  * If enabled, a message with the call stack will be displayed
+  * in case of real time / non real time switches. \n
+  * This method can help to debug application and see if switches occur. \n
+  * Note that it as no effect if this method is called from the non real time
+  * Framework library.
+  *
+  * \param enable enable or disable warns
+  */
+  static void WarnUponSwitches(bool enable);
+
+private:
+  /*!
+  * \brief Run method
+  *
+  * This method is automatically called by Start(). \n
+  * This method must be reimplemented, in order to implement the thread.
+  *
+  */
+  virtual void Run(void) = 0;
+
+  class Thread_impl *pimpl_;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/UdtSocket.h
===================================================================
--- trunk/include/FlairCore/UdtSocket.h	(revision 2)
+++ trunk/include/FlairCore/UdtSocket.h	(revision 13)
@@ -18,33 +18,34 @@
 #include <ConnectedSocket.h>
 
-namespace flair
-{
-namespace core
-{
-    /*! \class UdtSocket
-    *
-    * \brief Class encapsulating a UDT socket
-    *
-    */
-    class UdtSocket:public ConnectedSocket {
-    public:
-        UdtSocket(const Object* parent,const std::string name,bool blockOnSend=false,bool blockOnReceive=true);
-        ~UdtSocket();
-        void Listen(const unsigned int port,const std::string localAddress="ANY");
-        UdtSocket *Accept(Time timeout); //should throw an exception if not a listening socket
-        bool Connect(const unsigned int port,const std::string distantAddress,Time timeout); // /!\ timeout is ignored
-        ssize_t SendMessage(const char* message,size_t message_len,Time timeout);
-        ssize_t RecvMessage(char* buf,size_t buf_len,Time timeout);
+namespace flair {
+namespace core {
+/*! \class UdtSocket
+*
+* \brief Class encapsulating a UDT socket
+*
+*/
+class UdtSocket : public ConnectedSocket {
+public:
+  UdtSocket(const Object *parent, const std::string name,
+            bool blockOnSend = false, bool blockOnReceive = true);
+  ~UdtSocket();
+  void Listen(const unsigned int port, const std::string localAddress = "ANY");
+  UdtSocket *
+  Accept(Time timeout); // should throw an exception if not a listening socket
+  bool Connect(const unsigned int port, const std::string distantAddress,
+               Time timeout); // /!\ timeout is ignored
+  ssize_t SendMessage(const char *message, size_t message_len, Time timeout);
+  ssize_t RecvMessage(char *buf, size_t buf_len, Time timeout);
 
-        uint16_t NetworkToHost16(uint16_t data);
-        uint16_t HostToNetwork16(uint16_t data);
-        uint32_t NetworkToHost32(uint32_t data);
-        uint32_t HostToNetwork32(uint32_t data);
+  uint16_t NetworkToHost16(uint16_t data);
+  uint16_t HostToNetwork16(uint16_t data);
+  uint32_t NetworkToHost32(uint32_t data);
+  uint32_t HostToNetwork32(uint32_t data);
 
-    private:
-        UDTSOCKET socket;
-        bool blockOnSend;
-        bool blockOnReceive;
-    };
+private:
+  UDTSOCKET socket;
+  bool blockOnSend;
+  bool blockOnReceive;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/Unix_I2cPort.h
===================================================================
--- trunk/include/FlairCore/Unix_I2cPort.h	(revision 2)
+++ trunk/include/FlairCore/Unix_I2cPort.h	(revision 13)
@@ -16,84 +16,81 @@
 #include <I2cPort.h>
 
-namespace flair
-{
-namespace core
-{
-    /*! \class Unix_I2cPort
-    *
-    * \brief Class for unix serial port
-    *
-    */
-    class Unix_I2cPort: public I2cPort
-    {
+namespace flair {
+namespace core {
+/*! \class Unix_I2cPort
+*
+* \brief Class for unix serial port
+*
+*/
+class Unix_I2cPort : public I2cPort {
 
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct an unix i2c port
-            *
-            * \param parent parent
-            * \param name name
-            * \param device serial device (ex /dev/i2c-1)
-            */
-            Unix_I2cPort(const Object* parent,std::string port_name,std::string device);
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct an unix i2c port
+  *
+  * \param parent parent
+  * \param name name
+  * \param device serial device (ex /dev/i2c-1)
+  */
+  Unix_I2cPort(const Object *parent, std::string port_name, std::string device);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Unix_I2cPort();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Unix_I2cPort();
 
-            /*!
-            * \brief Set slave's address
-            *
-            * This method need to be called before any communication.
-            *
-            * \param address slave's address
-            */
-            int SetSlave(uint16_t address);
+  /*!
+  * \brief Set slave's address
+  *
+  * This method need to be called before any communication.
+  *
+  * \param address slave's address
+  */
+  int SetSlave(uint16_t address);
 
-            /*!
-            * \brief Set RX timeout
-            *
-            * Timeout for waiting datas.
-            *
-            * \param timeout_ns timeout in nano second
-            */
-            void SetRxTimeout(Time timeout_ns);
+  /*!
+  * \brief Set RX timeout
+  *
+  * Timeout for waiting datas.
+  *
+  * \param timeout_ns timeout in nano second
+  */
+  void SetRxTimeout(Time timeout_ns);
 
-            /*!
-            * \brief Set TX timeout
-            *
-            * Timeout for waiting an ACK from the slave.
-            *
-            * \param timeout_ns timeout in nano second
-            */
-            void SetTxTimeout(Time timeout_ns);
+  /*!
+  * \brief Set TX timeout
+  *
+  * Timeout for waiting an ACK from the slave.
+  *
+  * \param timeout_ns timeout in nano second
+  */
+  void SetTxTimeout(Time timeout_ns);
 
-            /*!
-            * \brief Write datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of written datas
-            */
-            ssize_t Write(const void *buf,size_t nbyte);
+  /*!
+  * \brief Write datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of written datas
+  */
+  ssize_t Write(const void *buf, size_t nbyte);
 
-            /*!
-            * \brief Read datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of read datas
-            */
-            ssize_t Read(void *buf,size_t nbyte);
+  /*!
+  * \brief Read datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of read datas
+  */
+  ssize_t Read(void *buf, size_t nbyte);
 
-        private:
-            int fd;
-    };
+private:
+  int fd;
+};
 } // end namespace core
 } // end namespace flair
Index: trunk/include/FlairCore/Unix_SerialPort.h
===================================================================
--- trunk/include/FlairCore/Unix_SerialPort.h	(revision 2)
+++ trunk/include/FlairCore/Unix_SerialPort.h	(revision 13)
@@ -17,82 +17,80 @@
 #include <termios.h> /* POSIX terminal control definitions */
 
-namespace flair
-{
-namespace core
-{
-    /*! \class RTDM_I2cPort
-    *
-    * \brief Class for unix serial port
-    *
-    */
-    class Unix_SerialPort: public SerialPort
-    {
+namespace flair {
+namespace core {
+/*! \class RTDM_I2cPort
+*
+* \brief Class for unix serial port
+*
+*/
+class Unix_SerialPort : public SerialPort {
 
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct an unix serial port, with the following default values: \n
-            * - 115200bps baudrate
-            *
-            * \param parent parent
-            * \param name name
-            * \param device serial device (ex rtser1)
-            */
-            Unix_SerialPort(const Object* parent,std::string port_name,std::string device);
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct an unix serial port, with the following default values: \n
+  * - 115200bps baudrate
+  *
+  * \param parent parent
+  * \param name name
+  * \param device serial device (ex rtser1)
+  */
+  Unix_SerialPort(const Object *parent, std::string port_name,
+                  std::string device);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Unix_SerialPort();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Unix_SerialPort();
 
-            /*!
-            * \brief Set baudrate
-            *
-            * \param baudrate baudrate
-            *
-            */
-            void SetBaudrate(int baudrate);
+  /*!
+  * \brief Set baudrate
+  *
+  * \param baudrate baudrate
+  *
+  */
+  void SetBaudrate(int baudrate);
 
-            /*!
-            * \brief Set RX timeout
-            *
-            * Timeout for waiting datas.
-            *
-            * \param timeout_ns timeout in nano second
-            */
-            void SetRxTimeout(Time timeout_ns);
+  /*!
+  * \brief Set RX timeout
+  *
+  * Timeout for waiting datas.
+  *
+  * \param timeout_ns timeout in nano second
+  */
+  void SetRxTimeout(Time timeout_ns);
 
-            /*!
-            * \brief Write datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of written datas
-            */
-            ssize_t Write(const void *buf,size_t nbyte);
+  /*!
+  * \brief Write datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of written datas
+  */
+  ssize_t Write(const void *buf, size_t nbyte);
 
-            /*!
-            * \brief Read datas
-            *
-            * \param buf pointer to datas
-            * \param nbyte length of datas
-            *
-            * \return amount of read datas
-            */
-            ssize_t Read(void *buf,size_t nbyte);
+  /*!
+  * \brief Read datas
+  *
+  * \param buf pointer to datas
+  * \param nbyte length of datas
+  *
+  * \return amount of read datas
+  */
+  ssize_t Read(void *buf, size_t nbyte);
 
-            /*!
-            * \brief Flush input datas
-            *
-            */
-            void FlushInput(void);
+  /*!
+  * \brief Flush input datas
+  *
+  */
+  void FlushInput(void);
 
-        private:
-            int fd;
-            struct termios options;
-    };
+private:
+  int fd;
+  struct termios options;
+};
 } // end namespace core
 } // end namespace flair
Index: trunk/include/FlairCore/Vector2D.h
===================================================================
--- trunk/include/FlairCore/Vector2D.h	(revision 2)
+++ trunk/include/FlairCore/Vector2D.h	(revision 13)
@@ -14,153 +14,153 @@
 #define VECTOR2D_H
 
-namespace flair { namespace core {
+namespace flair {
+namespace core {
 
-    /*! \class Vector2D
-    *
-    * \brief Class defining a 2D vector
-    */
-    class Vector2D {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a Vector2D using specified values.
-            *
-            * \param x
-            * \param y
-            */
-            Vector2D(float x=0,float y=0);
+/*! \class Vector2D
+*
+* \brief Class defining a 2D vector
+*/
+class Vector2D {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a Vector2D using specified values.
+  *
+  * \param x
+  * \param y
+  */
+  Vector2D(float x = 0, float y = 0);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Vector2D();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Vector2D();
 
-            /*!
-            * \brief Rotation
-            *
-            * \param value rotation value in radians
-            */
-            void Rotate(float value);
+  /*!
+  * \brief Rotation
+  *
+  * \param value rotation value in radians
+  */
+  void Rotate(float value);
 
-            /*!
-            * \brief Rotation
-            *
-            * \param value rotation value in degrees
-            */
-            void RotateDeg(float value);
+  /*!
+  * \brief Rotation
+  *
+  * \param value rotation value in degrees
+  */
+  void RotateDeg(float value);
 
-            /*!
-            * \brief Norm
-            *
-            * \return value
-            */
-            float GetNorm(void) const;
+  /*!
+  * \brief Norm
+  *
+  * \return value
+  */
+  float GetNorm(void) const;
 
-            /*!
-            * \brief Normalize
-            */
-            void Normalize(void);
+  /*!
+  * \brief Normalize
+  */
+  void Normalize(void);
 
-            /*!
-            * \brief Saturate
-            *
-            * Saturate between min and max
-            *
-            * \param min minimum Vector2D value
-            * \param max maximum Vector2D value
-            */
-            void Saturate(Vector2D min,Vector2D max);
+  /*!
+  * \brief Saturate
+  *
+  * Saturate between min and max
+  *
+  * \param min minimum Vector2D value
+  * \param max maximum Vector2D value
+  */
+  void Saturate(Vector2D min, Vector2D max);
 
-            /*!
-            * \brief Saturate
-            *
-            * Saturate between min and max
-            *
-            * \param min minimum Vector2D(min,min) value
-            * \param max maximum Vector2D(max,max) value
-            */
-            void Saturate(float min,float max);
+  /*!
+  * \brief Saturate
+  *
+  * Saturate between min and max
+  *
+  * \param min minimum Vector2D(min,min) value
+  * \param max maximum Vector2D(max,max) value
+  */
+  void Saturate(float min, float max);
 
-            /*!
-            * \brief Saturate
-            *
-            * Saturate between -abs(value) and abs(value)
-            *
-            * \param value saturation Vector2D value
-            */
-            void Saturate(const Vector2D &value);
+  /*!
+  * \brief Saturate
+  *
+  * Saturate between -abs(value) and abs(value)
+  *
+  * \param value saturation Vector2D value
+  */
+  void Saturate(const Vector2D &value);
 
-            /*!
-            * \brief Saturate
-            *
-            * Saturate between -abs(Vector2D(value,value)) and abs(Vector2D(value,value))
-            *
-            * \param value saturation Vector2D(value,value)
-            */
-            void Saturate(float value);
+  /*!
+  * \brief Saturate
+  *
+  * Saturate between -abs(Vector2D(value,value)) and abs(Vector2D(value,value))
+  *
+  * \param value saturation Vector2D(value,value)
+  */
+  void Saturate(float value);
 
+  /*!
+  * \brief x
+  */
+  float x;
 
-            /*!
-            * \brief x
-            */
-            float x;
+  /*!
+  * \brief y
+  */
+  float y;
 
-            /*!
-            * \brief y
-            */
-            float y;
+  Vector2D &operator=(const Vector2D &vector);
+};
 
-            Vector2D &operator=(const Vector2D &vector);
-    };
+/*! Add
+*
+* \brief Add
+*
+* \param vectorA vector
+* \param vectorB vector
+*/
+Vector2D operator+(const Vector2D &vectorA, const Vector2D &vectorB);
 
-    /*! Add
-    *
-    * \brief Add
-    *
-    * \param vectorA vector
-    * \param vectorB vector
-    */
-    Vector2D operator + (const Vector2D &vectorA,const Vector2D &vectorB);
+/*! Substract
+*
+* \brief Substract
+*
+* \param vectorA vector
+* \param vectorB vector
+*/
+Vector2D operator-(const Vector2D &vectorA, const Vector2D &vectorB);
 
-    /*! Substract
-    *
-    * \brief Substract
-    *
-    * \param vectorA vector
-    * \param vectorB vector
-    */
-    Vector2D operator - (const Vector2D &vectorA,const Vector2D &vectorB);
+/*! Divid
+*
+* \brief Divid
+*
+* \param vector vector
+* \param coeff coefficent
+* \return vector/coefficient
+*/
+Vector2D operator/(const Vector2D &vector, float coeff);
 
-    /*! Divid
-    *
-    * \brief Divid
-    *
-    * \param vector vector
-    * \param coeff coefficent
-    * \return vector/coefficient
-    */
-    Vector2D operator / (const Vector2D &vector, float coeff);
+/*! Multiply
+*
+* \brief Multiplyf
+*
+* \param vector vector
+* \param coeff coefficent
+* \return coefficient*vector
+*/
+Vector2D operator*(const Vector2D &vector, float coeff);
 
-    /*! Multiply
-    *
-    * \brief Multiplyf
-    *
-    * \param vector vector
-    * \param coeff coefficent
-    * \return coefficient*vector
-    */
-    Vector2D operator * (const Vector2D &vector, float coeff);
-
-    /*! Multiply
-    *
-    * \brief Multiply
-    *
-    * \param coeff coefficent
-    * \param vector vector
-    * \return coefficient*vector
-    */
-    Vector2D operator * (float coeff,const Vector2D &vector);
+/*! Multiply
+*
+* \brief Multiply
+*
+* \param coeff coefficent
+* \param vector vector
+* \return coefficient*vector
+*/
+Vector2D operator*(float coeff, const Vector2D &vector);
 
 } // end namespace core
Index: trunk/include/FlairCore/Vector3D.h
===================================================================
--- trunk/include/FlairCore/Vector3D.h	(revision 2)
+++ trunk/include/FlairCore/Vector3D.h	(revision 13)
@@ -16,281 +16,282 @@
 #include <stddef.h>
 
-namespace flair { namespace core {
-    class Vector2D;
-    class RotationMatrix;
-    class Quaternion;
-
-    /*! \class Vector3D
-    *
-    * \brief Class defining a 3D vector
-    */
-    class Vector3D {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a Vector3D using specified values.
-            *
-            * \param x
-            * \param y
-            * \param z
-            */
-            Vector3D(float x=0,float y=0,float z=0);
-
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Vector3D();
-
-            /*!
-            * \brief x
-            */
-            float x;
-
-            /*!
-            * \brief y
-            */
-            float y;
-
-            /*!
-            * \brief z
-            */
-            float z;
-
-            /*!
-            * \brief x axis rotation
-            *
-            * \param value rotation value in radians
-            */
-            void RotateX(float value);
-
-            /*!
-            * \brief x axis rotation
-            *
-            * \param value rotation value in degrees
-            */
-            void RotateXDeg(float value);
-
-            /*!
-            * \brief y axis rotation
-            *
-            * \param value rotation value in radians
-            */
-            void RotateY(float value);
-
-            /*!
-            * \brief y axis rotation
-            *
-            * \param value rotation value in degrees
-            */
-            void RotateYDeg(float value);
-
-            /*!
-            * \brief z axis rotation
-            *
-            * \param value rotation value in radians
-            */
-            void RotateZ(float value);
-
-            /*!
-            * \brief z axis rotation
-            *
-            * \param value rotation value in degrees
-            */
-            void RotateZDeg(float value);
-
-            /*!
-            * \brief rotation
-            *
-            * \param matrix rotation matrix
-            */
-            void Rotate(const RotationMatrix &matrix);
-
-            /*!
-            * \brief rotation
-            *
-            * Compute a rotation from a quaternion. This method uses a rotation matrix
-            * internaly.
-            *
-            * \param quaternion quaternion
-            */
-            void Rotate(const Quaternion &quaternion);
-
-            /*!
-            * \brief Convert to a Vector2D
-            *
-            * Uses x and y coordinates.
-            *
-            * \param vector destination
-            */
-            void To2Dxy(Vector2D &vector) const;
-
-            /*!
-            * \brief Convert to a Vector2D
-            *
-            * Uses x and y coordinates.
-            *
-            * \return destination
-            */
-            Vector2D To2Dxy(void) const;
-
-            /*!
-            * \brief Norm
-            *
-            * \return value
-            */
-            float GetNorm(void) const;
-
-            /*!
-            * \brief Normalize
-            */
-            void Normalize(void);
-
-            /*!
-            * \brief Saturate
-            *
-            * Saturate between min and max
-            *
-            * \param min minimum value
-            * \param max maximum value
-            */
-            void Saturate(const Vector3D &min,const Vector3D &max);
-
-            /*!
-            * \brief Saturate
-            *
-            * Saturate between min and max
-            *
-            * \param min minimum Vector3D(min,min,min) value
-            * \param max maximum Vector3D(max,max,max) value
-            */
-            void Saturate(float min,float max);
-
-            /*!
-            * \brief Saturate
-            *
-            * Saturate between -abs(value) and abs(value)
-            *
-            * \param value saturation Vector3D value
-            */
-            void Saturate(const Vector3D &value);
-
-            /*!
-            * \brief Saturate
-            *
-            * Saturate between -abs(Vector3D(value,value,value)) and abs(Vector3D(value,value,value))
-            *
-            * \param value saturation Vector3D(value,value,value)
-            */
-            void Saturate(float value);
-
-            float &operator[](size_t idx);
-            const float &operator[](size_t idx) const;
-            Vector3D &operator=(const Vector3D& vector);
-            Vector3D &operator+=(const Vector3D& vector);
-            Vector3D &operator-=(const Vector3D& vector);
-
-        private:
-
-    };
-
-    /*! Add
-    *
-    * \brief Add
-    *
-    * \param vectorA vector
-    * \param vectorB vector
-    *
-    * \return vectorA+vectorB
-    */
-    Vector3D operator + (const Vector3D &vectorA,const Vector3D &vectorB);
-
-    /*! Substract
-    *
-    * \brief Substract
-    *
-    * \param vectorA vector
-    * \param vectorB vector
-    *
-    * \return vectorA-vectorB
-    */
-    Vector3D operator - (const Vector3D &vectorA,const Vector3D &vectorB);
-
-    /*! Minus
-    *
-    * \brief Minus
-    *
-    * \param vector vector
-    *
-    * \return -vector
-    */
-    Vector3D operator-(const Vector3D &vector);
-
-    /*! Divid
-    *
-    * \brief Divid
-    *
-    * \param vector vector
-    * \param coeff coefficent
-    *
-    * \return vector/coefficient
-    */
-    Vector3D operator / (const Vector3D &vector, float coeff);
-
-    /*! Hadamard product
-    *
-    * \brief Hadamard product
-    *
-    * \param vectorA vector
-    * \param vectorBA vector
-    *
-    * \return Hadamard product
-    */
-    Vector3D operator * (const Vector3D &vectorA, const Vector3D &vectorB);
-
-    /*! Multiply
-    *
-    * \brief Multiply
-    *
-    * \param vector vector
-    * \param coeff coefficent
-    *
-    * \return coefficient*vector
-    */
-    Vector3D operator * (const Vector3D &vector, float coeff);
-
-    /*! Multiply
-    *
-    * \brief Multiply
-    *
-    * \param coeff coefficent
-    * \param vector vector
-    *
-    * \return coefficient*vector
-    */
-    Vector3D operator * (float coeff, const Vector3D &vector);
-
-    /*! Cross product
-    *
-    * \brief Cross product
-    *
-    * \param vectorA first vector
-    * \param vectorB second vector
-    *
-    * \return cross product
-    */
-    Vector3D CrossProduct(const Vector3D &vectorA, const Vector3D &vectorB);
-
-    /*! Dot product
-    *
-    * \brief Dot product
-    *
-    * \param vectorA first vector
-    * \param vectorB second vector
-    *
-    * \return dot product
-    */
-    float DotProduct(const Vector3D &vectorA, const Vector3D &vectorB);
+namespace flair {
+namespace core {
+class Vector2D;
+class RotationMatrix;
+class Quaternion;
+
+/*! \class Vector3D
+*
+* \brief Class defining a 3D vector
+*/
+class Vector3D {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a Vector3D using specified values.
+  *
+  * \param x
+  * \param y
+  * \param z
+  */
+  Vector3D(float x = 0, float y = 0, float z = 0);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Vector3D();
+
+  /*!
+  * \brief x
+  */
+  float x;
+
+  /*!
+  * \brief y
+  */
+  float y;
+
+  /*!
+  * \brief z
+  */
+  float z;
+
+  /*!
+  * \brief x axis rotation
+  *
+  * \param value rotation value in radians
+  */
+  void RotateX(float value);
+
+  /*!
+  * \brief x axis rotation
+  *
+  * \param value rotation value in degrees
+  */
+  void RotateXDeg(float value);
+
+  /*!
+  * \brief y axis rotation
+  *
+  * \param value rotation value in radians
+  */
+  void RotateY(float value);
+
+  /*!
+  * \brief y axis rotation
+  *
+  * \param value rotation value in degrees
+  */
+  void RotateYDeg(float value);
+
+  /*!
+  * \brief z axis rotation
+  *
+  * \param value rotation value in radians
+  */
+  void RotateZ(float value);
+
+  /*!
+  * \brief z axis rotation
+  *
+  * \param value rotation value in degrees
+  */
+  void RotateZDeg(float value);
+
+  /*!
+  * \brief rotation
+  *
+  * \param matrix rotation matrix
+  */
+  void Rotate(const RotationMatrix &matrix);
+
+  /*!
+  * \brief rotation
+  *
+  * Compute a rotation from a quaternion. This method uses a rotation matrix
+  * internaly.
+  *
+  * \param quaternion quaternion
+  */
+  void Rotate(const Quaternion &quaternion);
+
+  /*!
+  * \brief Convert to a Vector2D
+  *
+  * Uses x and y coordinates.
+  *
+  * \param vector destination
+  */
+  void To2Dxy(Vector2D &vector) const;
+
+  /*!
+  * \brief Convert to a Vector2D
+  *
+  * Uses x and y coordinates.
+  *
+  * \return destination
+  */
+  Vector2D To2Dxy(void) const;
+
+  /*!
+  * \brief Norm
+  *
+  * \return value
+  */
+  float GetNorm(void) const;
+
+  /*!
+  * \brief Normalize
+  */
+  void Normalize(void);
+
+  /*!
+  * \brief Saturate
+  *
+  * Saturate between min and max
+  *
+  * \param min minimum value
+  * \param max maximum value
+  */
+  void Saturate(const Vector3D &min, const Vector3D &max);
+
+  /*!
+  * \brief Saturate
+  *
+  * Saturate between min and max
+  *
+  * \param min minimum Vector3D(min,min,min) value
+  * \param max maximum Vector3D(max,max,max) value
+  */
+  void Saturate(float min, float max);
+
+  /*!
+  * \brief Saturate
+  *
+  * Saturate between -abs(value) and abs(value)
+  *
+  * \param value saturation Vector3D value
+  */
+  void Saturate(const Vector3D &value);
+
+  /*!
+  * \brief Saturate
+  *
+  * Saturate between -abs(Vector3D(value,value,value)) and
+  *abs(Vector3D(value,value,value))
+  *
+  * \param value saturation Vector3D(value,value,value)
+  */
+  void Saturate(float value);
+
+  float &operator[](size_t idx);
+  const float &operator[](size_t idx) const;
+  Vector3D &operator=(const Vector3D &vector);
+  Vector3D &operator+=(const Vector3D &vector);
+  Vector3D &operator-=(const Vector3D &vector);
+
+private:
+};
+
+/*! Add
+*
+* \brief Add
+*
+* \param vectorA vector
+* \param vectorB vector
+*
+* \return vectorA+vectorB
+*/
+Vector3D operator+(const Vector3D &vectorA, const Vector3D &vectorB);
+
+/*! Substract
+*
+* \brief Substract
+*
+* \param vectorA vector
+* \param vectorB vector
+*
+* \return vectorA-vectorB
+*/
+Vector3D operator-(const Vector3D &vectorA, const Vector3D &vectorB);
+
+/*! Minus
+*
+* \brief Minus
+*
+* \param vector vector
+*
+* \return -vector
+*/
+Vector3D operator-(const Vector3D &vector);
+
+/*! Divid
+*
+* \brief Divid
+*
+* \param vector vector
+* \param coeff coefficent
+*
+* \return vector/coefficient
+*/
+Vector3D operator/(const Vector3D &vector, float coeff);
+
+/*! Hadamard product
+*
+* \brief Hadamard product
+*
+* \param vectorA vector
+* \param vectorBA vector
+*
+* \return Hadamard product
+*/
+Vector3D operator*(const Vector3D &vectorA, const Vector3D &vectorB);
+
+/*! Multiply
+*
+* \brief Multiply
+*
+* \param vector vector
+* \param coeff coefficent
+*
+* \return coefficient*vector
+*/
+Vector3D operator*(const Vector3D &vector, float coeff);
+
+/*! Multiply
+*
+* \brief Multiply
+*
+* \param coeff coefficent
+* \param vector vector
+*
+* \return coefficient*vector
+*/
+Vector3D operator*(float coeff, const Vector3D &vector);
+
+/*! Cross product
+*
+* \brief Cross product
+*
+* \param vectorA first vector
+* \param vectorB second vector
+*
+* \return cross product
+*/
+Vector3D CrossProduct(const Vector3D &vectorA, const Vector3D &vectorB);
+
+/*! Dot product
+*
+* \brief Dot product
+*
+* \param vectorA first vector
+* \param vectorB second vector
+*
+* \return dot product
+*/
+float DotProduct(const Vector3D &vectorA, const Vector3D &vectorB);
 
 } // end namespace core
Index: trunk/include/FlairCore/Vector3DSpinBox.h
===================================================================
--- trunk/include/FlairCore/Vector3DSpinBox.h	(revision 2)
+++ trunk/include/FlairCore/Vector3DSpinBox.h	(revision 13)
@@ -17,54 +17,57 @@
 #include <Vector3D.h>
 
-namespace flair { namespace gui {
-    class Layout;
+namespace flair {
+namespace gui {
+class Layout;
 
-    /*! \class Vector3DSpinBox
-    *
-    * \brief Class displaying 3 QDoubleSpinBox for x,y,z on the ground station
-    *
-    */
-    class Vector3DSpinBox: public Box {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a Vector3DSpinBox at given position. \n
-            * Each DoubleSpinBox is saturated to min and max values.
-            *
-            * \param position position to display the Vector3DSpinBox
-            * \param name name
-            * \param min minimum value
-            * \param max maximum value
-            * \param step step
-            * \param decimals number of decimals
-            * \param default_value default value if not in the xml config file
-            */
-            Vector3DSpinBox(const LayoutPosition* position,std::string name,double min,double max,double step,int decimals=2,core::Vector3D default_value=core::Vector3D(0,0,0));
+/*! \class Vector3DSpinBox
+*
+* \brief Class displaying 3 QDoubleSpinBox for x,y,z on the ground station
+*
+*/
+class Vector3DSpinBox : public Box {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a Vector3DSpinBox at given position. \n
+  * Each DoubleSpinBox is saturated to min and max values.
+  *
+  * \param position position to display the Vector3DSpinBox
+  * \param name name
+  * \param min minimum value
+  * \param max maximum value
+  * \param step step
+  * \param decimals number of decimals
+  * \param default_value default value if not in the xml config file
+  */
+  Vector3DSpinBox(const LayoutPosition *position, std::string name, double min,
+                  double max, double step, int decimals = 2,
+                  core::Vector3D default_value = core::Vector3D(0, 0, 0));
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Vector3DSpinBox();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Vector3DSpinBox();
 
-            /*!
-            * \brief Value
-            *
-            * \return value
-            */
-            core::Vector3D Value(void) const;
-            //operator core::Vector3D() const;
-        private:
-            /*!
-            * \brief XmlEvent from ground station
-            *
-            * Reimplemented from Widget.
-            *
-            */
-            void XmlEvent(void);
+  /*!
+  * \brief Value
+  *
+  * \return value
+  */
+  core::Vector3D Value(void) const;
+  // operator core::Vector3D() const;
+private:
+  /*!
+  * \brief XmlEvent from ground station
+  *
+  * Reimplemented from Widget.
+  *
+  */
+  void XmlEvent(void);
 
-            core::Vector3D box_value;
-    };
+  core::Vector3D box_value;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/Vector3Ddata.h
===================================================================
--- trunk/include/FlairCore/Vector3Ddata.h	(revision 2)
+++ trunk/include/FlairCore/Vector3Ddata.h	(revision 13)
@@ -18,72 +18,70 @@
 #include <Vector3D.h>
 
-namespace flair
-{
-namespace core
-{
+namespace flair {
+namespace core {
 
-    /*! \class Vector3Ddata
-    *
-    * \brief Class defining a 3D vector and a io_data
-    * User must manually use the io_data's Mutex to access to Vector3D values.
-    */
-    class Vector3Ddata: public io_data, public Vector3D
-    {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a Vector3D using specified values.
-            *
-            * \param x
-            * \param y
-            * \param z
-            */
-            Vector3Ddata(const Object* parent, std::string name,float x=0,float y=0,float z=0,uint32_t n=1);
+/*! \class Vector3Ddata
+*
+* \brief Class defining a 3D vector and a io_data
+* User must manually use the io_data's Mutex to access to Vector3D values.
+*/
+class Vector3Ddata : public io_data, public Vector3D {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a Vector3D using specified values.
+  *
+  * \param x
+  * \param y
+  * \param z
+  */
+  Vector3Ddata(const Object *parent, std::string name, float x = 0, float y = 0,
+               float z = 0, uint32_t n = 1);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~Vector3Ddata();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~Vector3Ddata();
 
-            /*!
-            * \brief X Element
-            *
-            * Get a vectorer to x element. This pointer can be used for plotting.
-            *
-            * \return pointer to the element
-            */
-            IODataElement* XElement(void) const;
+  /*!
+  * \brief X Element
+  *
+  * Get a vectorer to x element. This pointer can be used for plotting.
+  *
+  * \return pointer to the element
+  */
+  IODataElement *XElement(void) const;
 
-            /*!
-            * \brief Y Element
-            *
-            * Get a pointer to y element. This pointer can be used for plotting.
-            *
-            * \return pointer to the element
-            */
-            IODataElement* YElement(void) const;
+  /*!
+  * \brief Y Element
+  *
+  * Get a pointer to y element. This pointer can be used for plotting.
+  *
+  * \return pointer to the element
+  */
+  IODataElement *YElement(void) const;
 
-            /*!
-            * \brief Z Element
-            *
-            * Get a pointer to z element. This pointer can be used for plotting.
-            *
-            * \return pointer to the element
-            */
-            IODataElement* ZElement(void) const;
+  /*!
+  * \brief Z Element
+  *
+  * Get a pointer to z element. This pointer can be used for plotting.
+  *
+  * \return pointer to the element
+  */
+  IODataElement *ZElement(void) const;
 
-        private:
-            /*!
-            * \brief Copy datas
-            *
-            * Reimplemented from io_data. \n
-            * See io_data::CopyDatas.
-            *
-            * \param dst destination buffer
-            */
-            void CopyDatas(char* dst) const;
-    };
+private:
+  /*!
+  * \brief Copy datas
+  *
+  * Reimplemented from io_data. \n
+  * See io_data::CopyDatas.
+  *
+  * \param dst destination buffer
+  */
+  void CopyDatas(char *dst) const;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/Watchdog.h
===================================================================
--- trunk/include/FlairCore/Watchdog.h	(revision 2)
+++ trunk/include/FlairCore/Watchdog.h	(revision 13)
@@ -20,24 +20,25 @@
 namespace core {
 
-    /*! \class Watchdog
-    *
-    * \brief Watchdog class
-    *
-    * Calls a given function if not touched within a specified period of time
-    *
-    */
-    class Watchdog:public Thread {
-    public:
-        Watchdog(const Object* parent,std::function<void()> _expired,Time _timer);
-        ~Watchdog();
+/*! \class Watchdog
+*
+* \brief Watchdog class
+*
+* Calls a given function if not touched within a specified period of time
+*
+*/
+class Watchdog : public Thread {
+public:
+  Watchdog(const Object *parent, std::function<void()> _expired, Time _timer);
+  ~Watchdog();
 
-        //reset the timer
-        void Touch();
-        void SetTimer(Time _Timer);
-    private:
-        void Run();
-        std::function<void()> expired;
-        Time timer;
-    };
+  // reset the timer
+  void Touch();
+  void SetTimer(Time _Timer);
+
+private:
+  void Run();
+  std::function<void()> expired;
+  Time timer;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/Widget.h
===================================================================
--- trunk/include/FlairCore/Widget.h	(revision 2)
+++ trunk/include/FlairCore/Widget.h	(revision 13)
@@ -21,125 +21,129 @@
 class FrameworkManager_impl;
 
-namespace flair
-{
-namespace gui
-{
+namespace flair {
+namespace gui {
 
-    /*! \class Widget
-    *
-    * \brief Abstract class for all Framework's widget classes
-    *
-    * A widget is an object to display on the ground station. \n
-    * Communication with ground station is done through xml files; properties of theses files
-    * are modified through appropriate method. \n
-    * A xml file is used for default values of the Widget, if it has been specified in the
-    *  constructor of the FrameworkManager.
-    */
-    class Widget: public core::Object
-    {
-        friend class core::FrameworkManager;
-        friend class ::Widget_impl;
-        friend class ::FrameworkManager_impl;
+/*! \class Widget
+*
+* \brief Abstract class for all Framework's widget classes
+*
+* A widget is an object to display on the ground station. \n
+* Communication with ground station is done through xml files; properties of
+*theses files
+* are modified through appropriate method. \n
+* A xml file is used for default values of the Widget, if it has been specified
+*in the
+*  constructor of the FrameworkManager.
+*/
+class Widget : public core::Object {
+  friend class core::FrameworkManager;
+  friend class ::Widget_impl;
+  friend class ::FrameworkManager_impl;
 
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a Widget, the xml file specified to the FrameworkManager's
-            * constructor is sued for default values. \n
-            * Two Widget with same parent must have different names. If a brother Widget already
-            * has the same name, the name of the new one will be automatically changed. \n
-            * Type must agree with predifined (hard coded) types
-            * in ground station code.
-            *
-            * \param parent parent
-            * \param name name
-            * \param type type
-            */
-            Widget(const Widget* parent,std::string name,std::string type);
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a Widget, the xml file specified to the FrameworkManager's
+  * constructor is sued for default values. \n
+  * Two Widget with same parent must have different names. If a brother Widget
+  *already
+  * has the same name, the name of the new one will be automatically changed. \n
+  * Type must agree with predifined (hard coded) types
+  * in ground station code.
+  *
+  * \param parent parent
+  * \param name name
+  * \param type type
+  */
+  Widget(const Widget *parent, std::string name, std::string type);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            virtual ~Widget();
+  /*!
+  * \brief Destructor
+  *
+  */
+  virtual ~Widget();
 
-            /*!
-            * \brief Set enabled
-            *
-            * Enable or disable the Widget on the ground station. \n
-            * A disabled widget is greyed out on the ground station
-            * and in unmodifiable.
-            *
-            * \param status
-            */
-            void setEnabled(bool status);
+  /*!
+  * \brief Set enabled
+  *
+  * Enable or disable the Widget on the ground station. \n
+  * A disabled widget is greyed out on the ground station
+  * and in unmodifiable.
+  *
+  * \param status
+  */
+  void setEnabled(bool status);
 
-            /*!
-            * \brief Is enabled?
-            *
-            * \return true if widget is enabled
-            */
-            bool isEnabled(void) const;
+  /*!
+  * \brief Is enabled?
+  *
+  * \return true if widget is enabled
+  */
+  bool isEnabled(void) const;
 
-        protected:
-            /*!
-            * \brief Set a persistent xml property
-            *
-            * The property will be saved in the configuration xml and also used to configure the ground station.
-            *
-            * \param prop property to set and save
-            * \param value value to set and save
-            */
-            template <typename T>
-            void SetPersistentXmlProp(std::string prop,T value);
+protected:
+  /*!
+  * \brief Set a persistent xml property
+  *
+  * The property will be saved in the configuration xml and also used to
+  *configure the ground station.
+  *
+  * \param prop property to set and save
+  * \param value value to set and save
+  */
+  template <typename T> void SetPersistentXmlProp(std::string prop, T value);
 
-            /*!
-            * \brief Get a persistent xml property
-            *
-            * Get the property from the xml file. If no corresponding property is found in the xml, value remains unchanged. \n
-            * Thus value can be initialized with a default value before calling this method.
-            *
-            * \param prop property to get
-            * \param value value to store the result
-            * \return true if value was changed
-            */
-            template <typename T>
-            bool GetPersistentXmlProp(std::string prop,T &value);
+  /*!
+  * \brief Get a persistent xml property
+  *
+  * Get the property from the xml file. If no corresponding property is found in
+  *the xml, value remains unchanged. \n
+  * Thus value can be initialized with a default value before calling this
+  *method.
+  *
+  * \param prop property to get
+  * \param value value to store the result
+  * \return true if value was changed
+  */
+  template <typename T> bool GetPersistentXmlProp(std::string prop, T &value);
 
-            /*!
-            * \brief Set a volatile xml property
-            *
-            * This property should be used to configure the ground station (one time init). \n
-            * The property will be destroyed after calling SendXml() as it should no be used anymore.
-            *
-            * \param prop property to set
-            * \param value value to set
-            * \param node if sepcified, node to set; otherwise use the node of the Widget
-            */
-            template <typename T>
-            void SetVolatileXmlProp(std::string prop,T value,xmlNodePtr node=NULL);
+  /*!
+  * \brief Set a volatile xml property
+  *
+  * This property should be used to configure the ground station (one time
+  *init). \n
+  * The property will be destroyed after calling SendXml() as it should no be
+  *used anymore.
+  *
+  * \param prop property to set
+  * \param value value to set
+  * \param node if sepcified, node to set; otherwise use the node of the Widget
+  */
+  template <typename T>
+  void SetVolatileXmlProp(std::string prop, T value, xmlNodePtr node = NULL);
 
-            /*!
-            * \brief Send xml
-            *
-            * Send Widget's xml to ground station. \n
-            * New changes will be taken into account by ground station. \n
-            * All volatile properties will be erased after calling ths method, as they should not be used anymore.
-            */
-            void SendXml(void);
+  /*!
+  * \brief Send xml
+  *
+  * Send Widget's xml to ground station. \n
+  * New changes will be taken into account by ground station. \n
+  * All volatile properties will be erased after calling ths method, as they
+  *should not be used anymore.
+  */
+  void SendXml(void);
 
-            /*!
-            * \brief Xml event
-            *
-            * This method must be reimplemented to handle a xml event. \n
-            * It is automatically called when something changed from
-            * ground station. \n
-            */
-            virtual void XmlEvent(void){};
+  /*!
+  * \brief Xml event
+  *
+  * This method must be reimplemented to handle a xml event. \n
+  * It is automatically called when something changed from
+  * ground station. \n
+  */
+  virtual void XmlEvent(void){};
 
-         private:
-            class Widget_impl* pimpl_;
-    };
+private:
+  class Widget_impl *pimpl_;
+};
 
 } // end namespace gui
Index: trunk/include/FlairCore/cvimage.h
===================================================================
--- trunk/include/FlairCore/cvimage.h	(revision 2)
+++ trunk/include/FlairCore/cvimage.h	(revision 13)
@@ -18,105 +18,106 @@
 #include <stdint.h>
 
-namespace flair
-{
-namespace core
-{
-    /*! \class cvimage
-    *
-    * \brief Class defining an image of kind IplImage
-    *
-    * IplImage is an image struct defined in OpenCV.
-    *
+namespace flair {
+namespace core {
+/*! \class cvimage
+*
+* \brief Class defining an image of kind IplImage
+*
+* IplImage is an image struct defined in OpenCV.
+*
+*/
+class cvimage : public io_data {
+public:
+  class Type : public DataType {
+  public:
+    /*!
+    \enum Format_t
+    \brief Picture formats
     */
-    class cvimage: public io_data {
-    public:
-        class Type: public DataType {
-        public:
-            /*!
-            \enum Format_t
-            \brief Picture formats
-            */
-            enum class Format {
-                YUYV,/*!< YUYV 16 bits */
-                UYVY,/*!< UYVY 16 bits */
-                BGR,/*!< BGR 24 bits */
-                GRAY,/*!< gray 8 bits */
-            } ;
-            Type(uint16_t _width, uint16_t _height, Format _format):width(_width),height(_height),format(_format) {}
+    enum class Format {
+      YUYV, /*!< YUYV 16 bits */
+      UYVY, /*!< UYVY 16 bits */
+      BGR,  /*!< BGR 24 bits */
+      GRAY, /*!< gray 8 bits */
+    };
+    Type(uint16_t _width, uint16_t _height, Format _format)
+        : width(_width), height(_height), format(_format) {}
 
-            size_t GetSize() const {
-                size_t pixelSize;
-                switch(format) {
-                case Format::GRAY:
-                    pixelSize=1;
-                    break;
-                case Format::YUYV:
-                case Format::UYVY:
-                    pixelSize=2;
-                    break;
-                case Format::BGR:
-                    pixelSize=3;
-                    break;
-                default:
-                    pixelSize=0; //TODO should throw an exception instead
-                }
-                return pixelSize*width*height;
-            }
-            std::string GetDescription() const {return "cv image";};
+    size_t GetSize() const {
+      size_t pixelSize;
+      switch (format) {
+      case Format::GRAY:
+        pixelSize = 1;
+        break;
+      case Format::YUYV:
+      case Format::UYVY:
+        pixelSize = 2;
+        break;
+      case Format::BGR:
+        pixelSize = 3;
+        break;
+      default:
+        pixelSize = 0; // TODO should throw an exception instead
+      }
+      return pixelSize * width * height;
+    }
+    std::string GetDescription() const { return "cv image"; };
 
-            Format GetFormat() const {return format;};
-            uint16_t GetWidth() const {return width;};
-            uint16_t GetHeight() const {return height;};
+    Format GetFormat() const { return format; };
+    uint16_t GetWidth() const { return width; };
+    uint16_t GetHeight() const { return height; };
 
-        private:
-            uint16_t width;
-            uint16_t height;
-            Format format;
+  private:
+    uint16_t width;
+    uint16_t height;
+    Format format;
+  };
 
-        };
+  /*!
+  * \brief Constructor
+  *
+  * Construct an io_data representing an IplImage.
+  *
+  * \param parent parent
+  * \param width image width
+  * \param height image height
+  * \param name name
+  * \param allocate_data if true, IplImage image data is allocated; otherwise
+  *img->imagedata must be changed
+  * \param n number of samples
+  */
+  cvimage(const Object *parent, uint16_t width, uint16_t height,
+          Type::Format format, std::string name = "", bool allocate_data = true,
+          int n = 1);
 
-        /*!
-        * \brief Constructor
-        *
-        * Construct an io_data representing an IplImage.
-        *
-        * \param parent parent
-        * \param width image width
-        * \param height image height
-        * \param name name
-        * \param allocate_data if true, IplImage image data is allocated; otherwise img->imagedata must be changed
-        * \param n number of samples
-        */
-        cvimage(const Object* parent,uint16_t width,uint16_t height,Type::Format format,std::string name="",bool allocate_data=true,int n=1);
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~cvimage();
 
-        /*!
-        * \brief Destructor
-        *
-        */
-        ~cvimage();
+  /*!
+  * \brief IplImage
+  *
+  * \return IplImage
+  */
+  IplImage *img;
 
-        /*!
-        * \brief IplImage
-        *
-        * \return IplImage
-        */
-        IplImage* img;
+  Type const &GetDataType() const { return dataType; };
 
-        Type const&GetDataType() const {return dataType;};
+private:
+  /*!
+  * \brief Copy datas
+  *
+  * Reimplemented from io_data. \n
+  * See io_data::CopyDatas.
+  *
+  * \param dst destination buffer
+  */
+  void CopyDatas(char *dst) const;
 
-    private:
-        /*!
-        * \brief Copy datas
-        *
-        * Reimplemented from io_data. \n
-        * See io_data::CopyDatas.
-        *
-        * \param dst destination buffer
-        */
-        void CopyDatas(char* dst) const;
-
-        bool allocate_data;
-        Type dataType;
-    };
+  bool allocate_data;
+  Type dataType;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/cvmatrix.h
===================================================================
--- trunk/include/FlairCore/cvmatrix.h	(revision 2)
+++ trunk/include/FlairCore/cvmatrix.h	(revision 13)
@@ -21,192 +21,199 @@
 struct CvMat;
 
-namespace flair { namespace core {
-
-    /*! \class cvmatrix
-    *
-    * \brief Class defining a matrix of kind CvMat
-    *
-    * CvMat is a matrix struct defined in OpenCV.
-    *
-    */
-    class cvmatrix: public io_data {
-    public:
-        class Type: public DataType {
-        public:
-            Type(size_t _nbRows,size_t _nbCols,ScalarType const &_elementDataType):nbRows(_nbRows),nbCols(_nbCols),elementDataType(_elementDataType) {}
-            size_t GetSize() const {
-                return nbRows*nbCols*elementDataType.GetSize();
-            }
-            std::string GetDescription() const {return "matrix";}
-            size_t GetNbRows() const {return nbRows;}
-            size_t GetNbCols() const {return nbCols;}
-            ScalarType const &GetElementDataType() const {return elementDataType;}
-
-        private:
-            size_t nbRows,nbCols;
-            ScalarType const &elementDataType;
-        };
-
-        /*!
-        * \brief Constructor
-        *
-        * Construct an io_data representing a CvMat. \n
-        * It uses a cvmatrix_descriptor to get size and elements' names. \n
-        * Names are used for graphs and logs.
-        *
-        * \param parent parent
-        * \param descriptor matrix description
-        * \param type type of matrix elements
-        * \param name name
-        * \param n number of samples
-        */
-        cvmatrix(const Object* parent,const cvmatrix_descriptor *descriptor, ScalarType const &elementDataType,std::string name="",uint32_t n=1);
-
-        /*!
-        * \brief Constructor
-        *
-        * Construct an io_data representing a CvMat. \n
-        * Elements are unamed.
-        *
-        * \param parent parent
-        * \param rows matrix rows
-        * \param cols matrix cols
-        * \param type type of matrix elements
-        * \param name name
-        * \param n number of samples
-        */
-        cvmatrix(const Object* parent,uint32_t rows, uint32_t cols, ScalarType const &elementDataType,std::string name="",uint32_t n=1);
-
-        /*!
-        * \brief Destructor
-        *
-        */
-        ~cvmatrix();
-
-        /*!
-        * \brief Element value
-        *
-        * Element is accessed by locking and unlocking the io_data Mutex.
-        *
-        * \param row element row
-        * \param col element col
-        *
-        * \return element value
-        */
-        float Value(uint32_t row, uint32_t col) const;
-
-        /*!
-        * \brief Element value
-        *
-        * Element is not accessed by locking and unlocking the io_data Mutex. \n
-        * Thus, this function should be called with Mutex locked. \n
-        * This function is usefull when multiple successive access are done to the
-        * elments of the matrix. It avoids unnecessary locking and unlocking.
-        *
-        * \param row element row
-        * \param col element col
-        *
-        * \return element value
-        */
-        float ValueNoMutex(uint32_t row, uint32_t col) const;
-
-        /*!
-        * \brief Set element value
-        *
-        * Element is accessed by locking and unlocking the io_data Mutex.
-        *
-        * \param row element row
-        * \param col element col
-        * \param value element value
-        */
-        void SetValue(uint32_t row, uint32_t col,float value);
-
-        /*!
-        * \brief Set element value
-        *
-        * Element is not accessed by locking and unlocking the io_data Mutex. \n
-        * Thus, this function should be called with Mutex locked. \n
-        * This function is usefull when multiple successive access are done to the
-        * elments of the matrix. It avoids unnecessary locking and unlocking.
-        *
-        * \param row element row
-        * \param col element col
-        * \param value element value
-        */
-        void SetValueNoMutex(uint32_t row, uint32_t col,float value);
-
-        /*!
-        * \brief get CvMat
-        *
-        * The io_data Mutex must be used by the user.
-        */
-        CvMat* getCvMat(void) const;
-
-        /*!
-        * \brief Element name
-        *
-        * If cvmatrix was created without cvmatrix_descriptor, element name is empty.
-        *
-        * \param row element row
-        * \param col element col
-        *
-        * \return element name
-        */
-        std::string Name(uint32_t row, uint32_t col) const;
-
-        /*!
-        * \brief Element
-        *
-        * Get a pointer to a specific element. This pointer can be used for plotting.
-        *
-        * \param row element row
-        * \param col element col
-        *
-        * \return pointer to the element
-        */
-        IODataElement* Element(uint32_t row, uint32_t col) const;
-
-        /*!
-        * \brief Element
-        *
-        * Get a pointer to a specific element. This pointer can be used for plotting. \n
-        * This function can be used for a 1D matrix.
-        *
-        * \param index element index
-        *
-        * \return pointer to the element
-        */
-        IODataElement* Element(uint32_t index) const;
-
-        /*!
-        * \brief Number of rows
-        *
-        * \return rows
-        */
-        uint32_t Rows(void) const;
-
-        /*!
-        * \brief Number of colomns
-        *
-        * \return colomns
-        */
-        uint32_t Cols(void) const;
-
-        Type const &GetDataType() const {return dataType;};
-
-    private:
-        /*!
-        * \brief Copy datas
-        *
-        * Reimplemented from io_data. \n
-        * See io_data::CopyDatas.
-        *
-        * \param dst destination buffer
-        */
-        void CopyDatas(char* dst) const;
-
-        class cvmatrix_impl* pimpl_;
-        Type dataType;
-    };
+namespace flair {
+namespace core {
+
+/*! \class cvmatrix
+*
+* \brief Class defining a matrix of kind CvMat
+*
+* CvMat is a matrix struct defined in OpenCV.
+*
+*/
+class cvmatrix : public io_data {
+public:
+  class Type : public DataType {
+  public:
+    Type(size_t _nbRows, size_t _nbCols, ScalarType const &_elementDataType)
+        : nbRows(_nbRows), nbCols(_nbCols), elementDataType(_elementDataType) {}
+    size_t GetSize() const {
+      return nbRows * nbCols * elementDataType.GetSize();
+    }
+    std::string GetDescription() const { return "matrix"; }
+    size_t GetNbRows() const { return nbRows; }
+    size_t GetNbCols() const { return nbCols; }
+    ScalarType const &GetElementDataType() const { return elementDataType; }
+
+  private:
+    size_t nbRows, nbCols;
+    ScalarType const &elementDataType;
+  };
+
+  /*!
+  * \brief Constructor
+  *
+  * Construct an io_data representing a CvMat. \n
+  * It uses a cvmatrix_descriptor to get size and elements' names. \n
+  * Names are used for graphs and logs.
+  *
+  * \param parent parent
+  * \param descriptor matrix description
+  * \param type type of matrix elements
+  * \param name name
+  * \param n number of samples
+  */
+  cvmatrix(const Object *parent, const cvmatrix_descriptor *descriptor,
+           ScalarType const &elementDataType, std::string name = "",
+           uint32_t n = 1);
+
+  /*!
+  * \brief Constructor
+  *
+  * Construct an io_data representing a CvMat. \n
+  * Elements are unamed.
+  *
+  * \param parent parent
+  * \param rows matrix rows
+  * \param cols matrix cols
+  * \param type type of matrix elements
+  * \param name name
+  * \param n number of samples
+  */
+  cvmatrix(const Object *parent, uint32_t rows, uint32_t cols,
+           ScalarType const &elementDataType, std::string name = "",
+           uint32_t n = 1);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~cvmatrix();
+
+  /*!
+  * \brief Element value
+  *
+  * Element is accessed by locking and unlocking the io_data Mutex.
+  *
+  * \param row element row
+  * \param col element col
+  *
+  * \return element value
+  */
+  float Value(uint32_t row, uint32_t col) const;
+
+  /*!
+  * \brief Element value
+  *
+  * Element is not accessed by locking and unlocking the io_data Mutex. \n
+  * Thus, this function should be called with Mutex locked. \n
+  * This function is usefull when multiple successive access are done to the
+  * elments of the matrix. It avoids unnecessary locking and unlocking.
+  *
+  * \param row element row
+  * \param col element col
+  *
+  * \return element value
+  */
+  float ValueNoMutex(uint32_t row, uint32_t col) const;
+
+  /*!
+  * \brief Set element value
+  *
+  * Element is accessed by locking and unlocking the io_data Mutex.
+  *
+  * \param row element row
+  * \param col element col
+  * \param value element value
+  */
+  void SetValue(uint32_t row, uint32_t col, float value);
+
+  /*!
+  * \brief Set element value
+  *
+  * Element is not accessed by locking and unlocking the io_data Mutex. \n
+  * Thus, this function should be called with Mutex locked. \n
+  * This function is usefull when multiple successive access are done to the
+  * elments of the matrix. It avoids unnecessary locking and unlocking.
+  *
+  * \param row element row
+  * \param col element col
+  * \param value element value
+  */
+  void SetValueNoMutex(uint32_t row, uint32_t col, float value);
+
+  /*!
+  * \brief get CvMat
+  *
+  * The io_data Mutex must be used by the user.
+  */
+  CvMat *getCvMat(void) const;
+
+  /*!
+  * \brief Element name
+  *
+  * If cvmatrix was created without cvmatrix_descriptor, element name is empty.
+  *
+  * \param row element row
+  * \param col element col
+  *
+  * \return element name
+  */
+  std::string Name(uint32_t row, uint32_t col) const;
+
+  /*!
+  * \brief Element
+  *
+  * Get a pointer to a specific element. This pointer can be used for plotting.
+  *
+  * \param row element row
+  * \param col element col
+  *
+  * \return pointer to the element
+  */
+  IODataElement *Element(uint32_t row, uint32_t col) const;
+
+  /*!
+  * \brief Element
+  *
+  * Get a pointer to a specific element. This pointer can be used for plotting.
+  *\n
+  * This function can be used for a 1D matrix.
+  *
+  * \param index element index
+  *
+  * \return pointer to the element
+  */
+  IODataElement *Element(uint32_t index) const;
+
+  /*!
+  * \brief Number of rows
+  *
+  * \return rows
+  */
+  uint32_t Rows(void) const;
+
+  /*!
+  * \brief Number of colomns
+  *
+  * \return colomns
+  */
+  uint32_t Cols(void) const;
+
+  Type const &GetDataType() const { return dataType; };
+
+private:
+  /*!
+  * \brief Copy datas
+  *
+  * Reimplemented from io_data. \n
+  * See io_data::CopyDatas.
+  *
+  * \param dst destination buffer
+  */
+  void CopyDatas(char *dst) const;
+
+  class cvmatrix_impl *pimpl_;
+  Type dataType;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/cvmatrix_descriptor.h
===================================================================
--- trunk/include/FlairCore/cvmatrix_descriptor.h	(revision 2)
+++ trunk/include/FlairCore/cvmatrix_descriptor.h	(revision 13)
@@ -16,70 +16,69 @@
 #include <string>
 
-namespace flair { namespace core
-{
+namespace flair {
+namespace core {
 
-    /*! \class cvmatrix_descriptor
-    *
-    * \brief Class describing cvmatrix elements, for log and graphs purpose
-    *
-    * This class allows to give a name to matrix elements. These names
-    * will be used in graphs and logs.
-    */
-    class cvmatrix_descriptor {
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct a matrix descriptor.
-            *
-            * \param rows matrix rows
-            * \param cols matrix cols
-            */
-            cvmatrix_descriptor(uint32_t rows, uint32_t cols);
+/*! \class cvmatrix_descriptor
+*
+* \brief Class describing cvmatrix elements, for log and graphs purpose
+*
+* This class allows to give a name to matrix elements. These names
+* will be used in graphs and logs.
+*/
+class cvmatrix_descriptor {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a matrix descriptor.
+  *
+  * \param rows matrix rows
+  * \param cols matrix cols
+  */
+  cvmatrix_descriptor(uint32_t rows, uint32_t cols);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            ~cvmatrix_descriptor();
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~cvmatrix_descriptor();
 
-            /*!
-            * \brief Set element name
-            *
-            * \param row element row
-            * \param col element col
-            * \param name element name
-            */
-            void SetElementName(uint32_t row, uint32_t col,std::string name);
+  /*!
+  * \brief Set element name
+  *
+  * \param row element row
+  * \param col element col
+  * \param name element name
+  */
+  void SetElementName(uint32_t row, uint32_t col, std::string name);
 
-            /*!
-            * \brief Element name
-            *
-            * \param row element row
-            * \param col element col
-            *
-            * \return element name
-            */
-            std::string ElementName(uint32_t row, uint32_t col) const;
+  /*!
+  * \brief Element name
+  *
+  * \param row element row
+  * \param col element col
+  *
+  * \return element name
+  */
+  std::string ElementName(uint32_t row, uint32_t col) const;
 
-            /*!
-            * \brief Number of rows
-            *
-            * \return rows
-            */
-            uint32_t Rows(void) const;
+  /*!
+  * \brief Number of rows
+  *
+  * \return rows
+  */
+  uint32_t Rows(void) const;
 
-            /*!
-            * \brief Number of colomns
-            *
-            * \return colomns
-            */
-            uint32_t Cols(void) const;
+  /*!
+  * \brief Number of colomns
+  *
+  * \return colomns
+  */
+  uint32_t Cols(void) const;
 
-        private:
-            uint32_t rows,cols;
-            std::string **element_names;
-
-    };
+private:
+  uint32_t rows, cols;
+  std::string **element_names;
+};
 
 } // end namespace core
Index: trunk/include/FlairCore/io_data.h
===================================================================
--- trunk/include/FlairCore/io_data.h	(revision 2)
+++ trunk/include/FlairCore/io_data.h	(revision 13)
@@ -19,150 +19,157 @@
 class io_data_impl;
 
-namespace flair { namespace core {
+namespace flair {
+namespace core {
 
-    class Object;
+class Object;
 
-    class DataType {
-    public:
-        virtual std::string GetDescription() const =0;
-        //size in bytes
-        virtual size_t GetSize() const =0;
-    };
+class DataType {
+public:
+  virtual std::string GetDescription() const = 0;
+  // size in bytes
+  virtual size_t GetSize() const = 0;
+};
 
-    class DummyType: public DataType {
-    public:
-        size_t GetSize() const {return 0;}
-        std::string GetDescription() const {return "dummy";};
-    };
-    extern DummyType dummyType;
+class DummyType : public DataType {
+public:
+  size_t GetSize() const { return 0; }
+  std::string GetDescription() const { return "dummy"; };
+};
+extern DummyType dummyType;
 
-    class ScalarType: public DataType {
-    public:
-        ScalarType(size_t _size):size(_size) {}
-        size_t GetSize() const {return size;}
-        virtual std::string GetDescription() const {return "scalar";};
-    private:
-        size_t size;
-    };
+class ScalarType : public DataType {
+public:
+  ScalarType(size_t _size) : size(_size) {}
+  size_t GetSize() const { return size; }
+  virtual std::string GetDescription() const { return "scalar"; };
 
-    class SignedIntegerType: public ScalarType {
-    public:
-        SignedIntegerType(size_t sizeInBits):ScalarType(sizeInBits/8){}
-        std::string GetDescription() const {return "int"+std::to_string(GetSize()*8)+"_t";};
-    };
-    extern SignedIntegerType Int8Type;
-    extern SignedIntegerType Int16Type;
+private:
+  size_t size;
+};
 
-    class FloatType: public ScalarType {
-    public:
-        FloatType():ScalarType(4){}
-        std::string GetDescription() const {return "float";};
-    };
-    extern FloatType floatType;
+class SignedIntegerType : public ScalarType {
+public:
+  SignedIntegerType(size_t sizeInBits) : ScalarType(sizeInBits / 8) {}
+  std::string GetDescription() const {
+    return "int" + std::to_string(GetSize() * 8) + "_t";
+  };
+};
+extern SignedIntegerType Int8Type;
+extern SignedIntegerType Int16Type;
 
+class FloatType : public ScalarType {
+public:
+  FloatType() : ScalarType(4) {}
+  std::string GetDescription() const { return "float"; };
+};
+extern FloatType floatType;
 
-    /*! \class io_data
-    *
-    * \brief Abstract class for data types.
-    *
-    * Use this class to define a custom data type. Data types ares used for logging and graphs. \n
-    * The reimplemented class must call SetSize() in its constructor. \n
-    * io_data can be constructed with n samples (see io_data::io_data).
-    * In this case, old samples can be accessed throug io_data::Prev.
-    */
-    class io_data: public Mutex {
-        friend class IODevice;
-        friend class ::IODevice_impl;
-        friend class ::io_data_impl;
+/*! \class io_data
+*
+* \brief Abstract class for data types.
+*
+* Use this class to define a custom data type. Data types ares used for logging
+*and graphs. \n
+* The reimplemented class must call SetSize() in its constructor. \n
+* io_data can be constructed with n samples (see io_data::io_data).
+* In this case, old samples can be accessed throug io_data::Prev.
+*/
+class io_data : public Mutex {
+  friend class IODevice;
+  friend class ::IODevice_impl;
+  friend class ::io_data_impl;
 
-        public:
-            /*!
-            * \brief Constructor
-            *
-            * Construct an io_data. \n
-            *
-            * \param parent parent
-            * \param name name
-            * \param n number of samples
-            */
-            io_data(const Object* parent,std::string name,int n);
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct an io_data. \n
+  *
+  * \param parent parent
+  * \param name name
+  * \param n number of samples
+  */
+  io_data(const Object *parent, std::string name, int n);
 
-            /*!
-            * \brief Destructor
-            *
-            */
-            virtual ~io_data();
+  /*!
+  * \brief Destructor
+  *
+  */
+  virtual ~io_data();
 
-            /*!
-            * \brief Set data time
-            *
-            * \param time time
-            */
-            void SetDataTime(Time time);
+  /*!
+  * \brief Set data time
+  *
+  * \param time time
+  */
+  void SetDataTime(Time time);
 
-            /*!
-            * \brief Data time
-            *
-            * \return data time
-            */
-            Time DataTime(void) const;
+  /*!
+  * \brief Data time
+  *
+  * \return data time
+  */
+  Time DataTime(void) const;
 
-            /*!
-            * \brief Previous data
-            *
-            * Access previous data. io_data must have been constructed with
-            * n>1, io_data::SetPtrToCircle must have been set and
-            * io_data::prev must have been allocated.
-            *
-            * \param n previous data number
-            *
-            * \return previous data
-            */
-            const io_data* Prev(int n) const;
+  /*!
+  * \brief Previous data
+  *
+  * Access previous data. io_data must have been constructed with
+  * n>1, io_data::SetPtrToCircle must have been set and
+  * io_data::prev must have been allocated.
+  *
+  * \param n previous data number
+  *
+  * \return previous data
+  */
+  const io_data *Prev(int n) const;
 
-            virtual DataType const&GetDataType() const =0;
+  virtual DataType const &GetDataType() const = 0;
 
-        protected:
-            /*!
-            * \brief Specify the description of the reimplemented class data's
-            *
-            *  This method must be called in the constructor of the reimplemented class, once by element. \n
-            *  Each element description must be called in the same order as CopyDatas put the datas in the buffer. \n
-            *  The description will be used for the log descriptor file.
-            *
-            * \param description description of the element
-            * \param datatype type of the element
-            */
-            void AppendLogDescription(std::string description, DataType const &datatype);
+protected:
+  /*!
+  * \brief Specify the description of the reimplemented class data's
+  *
+  *  This method must be called in the constructor of the reimplemented class,
+  *once by element. \n
+  *  Each element description must be called in the same order as CopyDatas put
+  *the datas in the buffer. \n
+  *  The description will be used for the log descriptor file.
+  *
+  * \param description description of the element
+  * \param datatype type of the element
+  */
+  void AppendLogDescription(std::string description, DataType const &datatype);
 
-            /*!
-            * \brief Set the datas to circle
-            *
-            * \param ptr pointer to the data to circle
-            */
-            void SetPtrToCircle(void **ptr);
+  /*!
+  * \brief Set the datas to circle
+  *
+  * \param ptr pointer to the data to circle
+  */
+  void SetPtrToCircle(void **ptr);
 
-            /*!
-            * \brief Pointer to previous data
-            *
-            * Reimplemented class must allocate this pointer if n>1. \n
-            * Pointer must be allocated with the same kind of reimplemented class.
-            */
-            io_data* prev;
+  /*!
+  * \brief Pointer to previous data
+  *
+  * Reimplemented class must allocate this pointer if n>1. \n
+  * Pointer must be allocated with the same kind of reimplemented class.
+  */
+  io_data *prev;
 
-        private:
-            /*!
-            * \brief Copy datas
-            *
-            * This method is automatically called by IODevice::ProcessUpdate to log io_data datas. \n
-            * This method must be reimplemented, in order to copy the datas to the logs.
-            * Copied datas must be of size io_data::Size.
-            *
-            * \param dst destination buffer
-            */
-            virtual void CopyDatas(char* dst) const =0;
+private:
+  /*!
+  * \brief Copy datas
+  *
+  * This method is automatically called by IODevice::ProcessUpdate to log
+  *io_data datas. \n
+  * This method must be reimplemented, in order to copy the datas to the logs.
+  * Copied datas must be of size io_data::Size.
+  *
+  * \param dst destination buffer
+  */
+  virtual void CopyDatas(char *dst) const = 0;
 
-            io_data_impl *pimpl_;
-    };
+  io_data_impl *pimpl_;
+};
 
 } // end namespace core
