dust3d/application/sources/part_manage_widget.h

45 lines
1.4 KiB
C
Raw Normal View History

2022-10-03 00:06:25 +00:00
#ifndef DUST3D_APPLICATION_PART_MANAGE_WIDGET_H_
#define DUST3D_APPLICATION_PART_MANAGE_WIDGET_H_
#include <dust3d/base/uuid.h>
2022-10-03 00:06:25 +00:00
#include <QWidget>
class Document;
class ComponentPreviewGridWidget;
class ComponentPropertyWidget;
class QPushButton;
2022-10-03 00:06:25 +00:00
class PartManageWidget: public QWidget
2022-10-03 00:06:25 +00:00
{
Q_OBJECT
signals:
void unselectAllOnCanvas();
void selectPartOnCanvas(const dust3d::Uuid &partId);
2022-10-08 05:03:26 +00:00
void groupComponents(const std::vector<dust3d::Uuid> &componentIds);
2022-10-10 11:05:16 +00:00
void ungroupComponent(const dust3d::Uuid &componentId);
2022-10-08 05:03:26 +00:00
void groupOperationAdded();
2022-10-06 11:16:47 +00:00
public slots:
void selectComponentByPartId(const dust3d::Uuid &partId);
void showSelectedComponentProperties();
2022-10-08 05:03:26 +00:00
void showContextMenu(const QPoint &pos);
2022-10-03 00:06:25 +00:00
public:
2022-10-04 11:45:21 +00:00
PartManageWidget(Document *document, QWidget *parent=nullptr);
private:
2022-10-04 11:45:21 +00:00
Document *m_document = nullptr;
ComponentPreviewGridWidget *m_componentPreviewGridWidget = nullptr;
QPushButton *m_levelUpButton = nullptr;
QPushButton *m_selectButton = nullptr;
QPushButton *m_lockButton = nullptr;
QPushButton *m_unlockButton = nullptr;
QPushButton *m_showButton = nullptr;
QPushButton *m_hideButton = nullptr;
QPushButton *m_unlinkButton = nullptr;
QPushButton *m_linkButton = nullptr;
QPushButton *m_propertyButton = nullptr;
void updateToolButtons();
void updateLevelUpButton();
2022-10-10 11:05:16 +00:00
bool hasSelectedGroupedComponent();
2022-10-03 00:06:25 +00:00
};
#endif