// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #ifndef WIDGET_H #define WIDGET_H #include "customitem.h" #include #include #include namespace Ui { class Widget; } class QGraphicsOpacityEffect; class QPropertyAnimation; class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent = nullptr); ~Widget(); protected Q_SLOTS: void on_rotate_valueChanged(int value); void on_scale_valueChanged(int value); void on_rotateItem_valueChanged(int value); void on_scaleItem_valueChanged(int value); void on_group_clicked(); void on_dismantle_clicked(); void on_merge_clicked(); void onSceneSelectionChanged(); void on_ungroup_clicked(); void on_buttonGroup_buttonClicked(); private: void updateUngroupButton(); CustomItem * checkedItem() const; Ui::Widget *ui; CustomScene *scene; CustomItem *rectBlue; CustomItem *rectRed; CustomItem *rectGreen; CustomItem *rectYellow; QGraphicsOpacityEffect* effect; QPropertyAnimation *fadeIn; QPropertyAnimation *fadeOut; int previousSelectionCount; }; #endif // WIDGET_H