| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | /*= StarPU-Top for StarPU =Copyright (C) 2011 William BraikYann CourtoisJean-Marie CouteyenAnthony RoyThis library is free software; you can redistribute it and/ormodify it under the terms of the GNU Lesser General PublicLicense as published by the Free Software Foundation; eitherversion 2.1 of the License, or (at your option) any later version.This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNULesser General Public License for more details.You should have received a copy of the GNU Lesser General PublicLicense along with this library; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA*/#ifndef ABSTRACTWIDGETWINDOW_H#define ABSTRACTWIDGETWINDOW_Hclass WidgetWindowsManager;class MainWindow;#include <QWidget>#include <QSizeGrip>#include <QToolButton>#include <QMouseEvent>class AbstractWidgetWindow : public QWidget{ /* Abstract class representing a widget window.     It can be put "outside" (flying window) or "inside" (MDI) at any moment.     The widget window is managed by the widget windows manager. */    Q_OBJECTpublic:    explicit AbstractWidgetWindow(            WidgetWindowsManager *widgetWindowsManager,            MainWindow *mainWindow,            bool inside = false);    virtual ~AbstractWidgetWindow();    // Getters    int windowId() const;    bool isInside() const;    // Setters    void setInside(bool inside);protected:    // Components    WidgetWindowsManager *_widgetWindowsManager;    MainWindow *_mainWindow;    QPoint dragPosition;    // GUI components    QSizeGrip *_sizeGrip;    QToolButton *_inOutButton;    // Metadata    int _windowId;    bool _inside;    // Window id generation    int generateWindowId();    // Events    void mousePressEvent(QMouseEvent *event);    void mouseMoveEvent(QMouseEvent *event);    void resizeEvent(QResizeEvent *event);    virtual void closeEvent(QCloseEvent *ce) = 0;private slots:    // GUI interactions    void on_inOutButton_clicked();};#endif // ABSTRACTWIDGETWINDOW_H
 |