/* * Copyright (c) 2012 Mateusz Piękos * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include #include "Swiften/JID/JID.h" #include #include #include #include #include #include #include #include #include #include #include #include "GView.h" namespace Swift { class StanzaChannel; class QtWhiteboardWindow : public QWidget, public WhiteboardWindow { Q_OBJECT; public: QtWhiteboardWindow(StanzaChannel *stanzaChannel, const JID& jid); void handleIncommingMessage(boost::shared_ptr message); void addItem(const std::string& item); void show(); private slots: void changeLineWidth(int i); void showColorDialog(); void showBrushColorDialog(); void setRubberMode(); void setLineMode(); void setRectMode(); void setCircleMode(); void setHandLineMode(); void setFilledHandLineMode(); void setTextMode(); void setPolygonMode(); void setSelectMode(); void handleLastItemChanged(QGraphicsItem* item); private: QGraphicsScene* scene; GView* graphicsView; QVBoxLayout* layout; QVBoxLayout* sidebarLayout; QHBoxLayout* hLayout; QGridLayout* toolboxLayout; QWidget* widget; QPushButton* moveUpButton; QPushButton* moveDownButton; QPushButton* colorDialogButton; QPushButton* brushColorDialogButton; QSpinBox* widthBox; QToolButton* rubberButton; QToolButton* lineButton; QToolButton* rectButton; QToolButton* circleButton; QToolButton* handLineButton; QToolButton* filledHandLineButton; QToolButton* textButton; QToolButton* polygonButton; QToolButton* selectButton; StanzaChannel* stanzaChannel_; JID jid_; }; }