| // ----- file HPP ----- /*! \brief Descrizione breve della mia classe * Continua la descrizione breve sulla stessa linea * * Descrizione dettagliata della mia classe * \note Qui puoi inserire delle note * \bug Qui puoi inserire la lista dei bug * \todo Qui puoi inserire la lista delle cose da fare * \sa Vedi anche Window */ class Widget { public: //! Evento tasto typedef enum { KeyPressed, //!< Tasto premuto KeyReleased //!< Tasto rilasciato } EKeyEvent; //! Costruttore /*! \bug Bug del costruttore */ Widget() { Size.W=Size.H=Position.X=Position.Y=0; } //! Distruttore virtual ~Widget() {} /*! \brief Funzione virtuale che disegna il widget * * Spiegazione dettagliata di cosa fa questa funzione * \todo Cose da fare per questa funzione */ virtual void Draw() = 0; //! \brief Gestisce gli eventi del mouse virtual void EventoMouse() = 0; protected: //! Dimensione del widget /*! Dettagli vari */ struct { int W; //!< Larghezza. Documenta singoli campi di una struct int H; //!< Altezza } Size; struct { int X, Y; } Position; //!< Commento a lato }; /*! \brief Implementazione di una finestra generica * \bug Qui puoi inserire la lista dei bug di questa classe * \todo Qui puoi inserire la lista delle cose da fare * \sa Vedi anche Widget */ class Window: public Widget { public: //! \brief Disegna la finestra virtual void Draw(); //! \brief La descrizione breve e' divisa dalla descrizione lunga Widget* addWidget(Widget * w); }; // ----- file CPP ----- /*! La descrizione lunga puo' essere messa insieme all' * implementazione per rendere l'interfaccia della classe * piu' leggibile * \param w Descrizione del parametro w * \return Descrizione del valore di ritorno */ Widget* Window::addWidget( Widget* w) { return NULL; } |