ATOM-15473 added context menu to material inspector group header with expand and collapse actions
https://jira.agscollab.com/browse/ATOM-15473
This commit is contained in:
+5
@@ -15,6 +15,7 @@
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <AzCore/Memory/SystemAllocator.h>
|
||||
#include <AzQtComponents/Components/ExtendedLabel.h>
|
||||
#include <QMouseEvent>
|
||||
#include <QPaintEvent>
|
||||
#endif
|
||||
|
||||
@@ -31,7 +32,11 @@ namespace AtomToolsFramework
|
||||
void SetExpanded(bool expanded);
|
||||
bool IsExpanded() const;
|
||||
|
||||
Q_SIGNALS:
|
||||
void clicked(QMouseEvent* event);
|
||||
|
||||
protected:
|
||||
void mousePressEvent(QMouseEvent* event) override;
|
||||
void paintEvent(QPaintEvent* event) override;
|
||||
|
||||
private:
|
||||
|
||||
+6
@@ -55,6 +55,12 @@ namespace AtomToolsFramework
|
||||
|
||||
//! Calls Rebuild for all InspectorGroupWidget, allowing for destructive UI changes
|
||||
virtual void RebuildAll() = 0;
|
||||
|
||||
//! Expands all groups and headers
|
||||
virtual void ExpandAll() = 0;
|
||||
|
||||
//! Collapses all groups and headers
|
||||
virtual void CollapseAll() = 0;
|
||||
};
|
||||
|
||||
using InspectorRequestBus = AZ::EBus<InspectorRequests>;
|
||||
|
||||
+8
-4
@@ -29,11 +29,8 @@ namespace Ui
|
||||
|
||||
namespace AtomToolsFramework
|
||||
{
|
||||
class InspectorPropertyGroupWidget;
|
||||
}
|
||||
class InspectorGroupHeaderWidget;
|
||||
|
||||
namespace AtomToolsFramework
|
||||
{
|
||||
//! Provides controls for viewing and editing object settings.
|
||||
//! The settings can be divided into groups, with each one showing a subset of properties.
|
||||
class InspectorWidget
|
||||
@@ -66,8 +63,15 @@ namespace AtomToolsFramework
|
||||
void RefreshAll() override;
|
||||
void RebuildAll() override;
|
||||
|
||||
void ExpandAll() override;
|
||||
void CollapseAll() override;
|
||||
|
||||
private:
|
||||
void OnHeaderClicked(QMouseEvent* event, InspectorGroupHeaderWidget* groupHeader, QWidget* groupWidget);
|
||||
|
||||
QVBoxLayout* m_layout = nullptr;
|
||||
QScopedPointer<Ui::InspectorWidget> m_ui;
|
||||
AZStd::vector<InspectorGroupHeaderWidget*> m_headers;
|
||||
AZStd::vector<QWidget*> m_groups;
|
||||
};
|
||||
} // namespace AtomToolsFramework
|
||||
|
||||
Reference in New Issue
Block a user