123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- #ifndef LINE_H
- #define LINE_H
-
- #include <QWidget>
- #include <QPainter>
-
- /// \~English
- /// A class to describe lines.
- /// \~Spanish
- /// Una clase para describir lineas
- class Line : public QWidget
- {
- Q_OBJECT
- public:
-
- /// \fn Line::Line(QWidget *parent)
- /// \~English
- /// \brief Constructor sets coordinates to 0, pen color to black and pen
- /// width to 1
- /// \~Spanish
- /// \brief Constructor que ajusta las coordenadas a 0, el color y el ancho del
- /// boligrafo a negro y 1 respectivamente.
- explicit Line(QWidget *parent = 0);
-
- /// \fn Line::Line(int fromX, int fromY, int toX, int toY, int w, QColor c, QWidget *parent)
- /// \~English
- /// \brief Constructor for a line, specifying the (fromX,fromY) and (toX,toY)
- /// \param fromX starting x coordinate
- /// \param fromY starting y coordinate
- /// \param toX end x coordinate
- /// \param toY end y coordinate
- /// \param w pen width
- /// \param c line color
- /// \param parent parent of this line
- /// \~Spanish
- /// \brief Constructor de una linea, especificando las coordenadas
- /// (fromX,fromY) y (toX,toY)
- /// \param fromX coordenada x inicial
- /// \param fromY coordenada y inicial
- /// \param toX coordenada x final
- /// \param toY end coordenada y final
- /// \param w ancho del boligrafo
- /// \param c color de la linea.
- /// \param parent parent of this line
- Line(int fromX, int fromY, int toX, int toY, int w, QColor c, QWidget *parent = 0);
-
- /// \fn Line::Line(int fromX, int fromY, int length, double angle, int w, QColor c, QWidget *parent)
- /// \~English
- /// \brief Constructor for a line, specifying (fromX, fromY) and the
- /// **length** and **angle**.
- /// \param fromX starting x coordinate
- /// \param fromY starting y coordinate
- /// \param length length of the line
- /// \param angle angle
- /// \param w pen width
- /// \param c line color
- /// \param parent parent of this line
- /// \~Spanish
- /// \brief Constructor de una linea, especificando la coordenada
- /// (fromX, fromY) and el largo (length) y el angulo (angle).
- /// \param fromX coordenada x inicial
- /// \param fromY coordenada y inicia
- /// \param length largo de la linea
- /// \param angle angulo de la linea
- /// \param w ancho de la linea
- /// \param c color de la linea
- /// \param parent padre de esta linea
- Line(int fromX, int fromY, int length, double angle, int w, QColor c, QWidget *parent = 0);
-
- /// \fn void Line::setCoords(int fromX, int fromY, int toX, int toY)
- /// \~English
- /// \brief Setter for the line coordinates
- /// \param fromX starting x coordinate
- /// \param fromY starting y coordinate
- /// \param toX end x coordinate
- /// \param toY end y coordinate
- /// \~Spanish
- /// \brief Ajustador de las coordenadas de la linea
- /// \param fromX coordenada x inicial
- /// \param fromY coordenada y inicial
- /// \param toX coordenada x final
- /// \param toY end coordenada y final
- void setCoords(int fromX, int fromY, int toX, int toY);
-
- /// \fn void Line::setpenColor(QColor c)
- /// \~English
- /// \brief Setter for the pen color
- /// \param c line color
- /// \~Spanish
- /// \brief Ajustador del color del boligrafo
- /// \param c color de la linea
- void setpenColor(QColor c);
-
- /// \fn void Line::setPenWidth(int w)
- /// \~English
- /// \brief Setter for the pen width
- /// \param w pen width
- /// \~Spanish
- /// \brief Ajustador del ancho del boligrafo
- /// \param w ancho de la linea
- void setPenWidth(int w);
-
- /// \fn int Line::getX0()
- /// \~English
- /// \brief Getter for the starting coordinate x.
- /// \return starting coordinate x.
- /// \~Spanish
- /// \brief Devuelve la coordenada inicial x.
- /// \return coordenada inicial x
- int getX0();
-
- /// \fn int Line::getY0()
- /// \~English
- /// \brief Getter for the starting coordinate y.
- /// \return starting coordinate y.
- /// \~Spanish
- /// \brief Devuelve la coordenada inicial y.
- /// \return coordenada inicial y
- int getY0();
-
- /// \fn int Line::getX1()
- /// \~English
- /// \brief Getter for the ending coordinate x.
- /// \return ending coordinate x.
- /// \~Spanish
- /// \brief Devuelve la coordenada final x.
- /// \return coordenada final x.
- int getX1();
-
- /// \fn int Line::getY1()
- /// \~English
- /// \brief Getter for the ending coordinate y.
- /// \return ending coordinate y.
- /// \~Spanish
- /// \brief Devuelve la coordenada final y.
- /// \return coordenada final y
- int getY1();
-
- signals:
-
- public slots:
-
- protected:
- /// \fn void Line::paintEvent(QPaintEvent *)
- /// \~English
- /// \brief The paint event function is automatically invoked
- /// whenever a resize or repaint happens.
- /// \~Spanish
- /// \brief La funcion para el evento de pintar es invocada automaticamente
- /// cada ves que evento de repintar ocurre.
- void paintEvent(QPaintEvent *);
-
- private:
- int x0, /**< initial coord x / coordenada inicial x */
- y0, /**< initial coord y / coordenada inicial y */
- x1, /**< ending coord x / coordenada final x */
- y1; /**< ending coord y / coordenada final y */
- int penWidth; /**< pen width / ancho del boligrafo */
- QColor penColor; /**< pen color / color del boligrafo */
-
- };
-
- #endif // LINE_H
|