Files
o3de/Code/Editor/AzAssetBrowser/AzAssetBrowserWindow.h
T
AMZN-Igarri 1f6dfd0194 Asset Browser Search View Column Resizing (#4087)
* Added resizing

Signed-off-by: igarri <igarri@amazon.com>

* Added Signals and Slots for resizing columns

Signed-off-by: igarri <igarri@amazon.com>

* Cleaned up code

Signed-off-by: igarri <igarri@amazon.com>

* Fixed Column Resize when docking

Signed-off-by: igarri <igarri@amazon.com>

* Added constants

Signed-off-by: igarri <igarri@amazon.com>

* Applied Code review feedback

Signed-off-by: igarri <igarri@amazon.com>

* aplied more feedback

Signed-off-by: igarri <igarri@amazon.com>

* Addressed Code Review Comments

Signed-off-by: igarri <igarri@amazon.com>

* Fixing bad merge

Signed-off-by: igarri <igarri@amazon.com>

* Added fix in initialization

Signed-off-by: igarri <igarri@amazon.com>

* Changed header setup sequence

Signed-off-by: igarri <igarri@amazon.com>
2021-09-28 12:47:21 +01:00

93 lines
2.5 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#pragma once
#if !defined(Q_MOC_RUN)
#include <AzCore/Memory/SystemAllocator.h>
#include <QWidget>
#endif
class QItemSelection;
namespace Ui
{
class AzAssetBrowserWindowClass;
}
namespace AzToolsFramework
{
namespace AssetBrowser
{
class AssetBrowserFilterModel;
class AssetBrowserTableModel;
class AssetBrowserModel;
class AssetBrowserTableFilterModel;
enum class AssetBrowserDisplayState : int
{
ExpandedMode,
DefaultMode,
Invalid
};
} // namespace AssetBrowser
} // namespace AzToolsFramework
class AzAssetBrowserWindow : public QWidget
{
Q_OBJECT
public:
AZ_CLASS_ALLOCATOR(AzAssetBrowserWindow, AZ::SystemAllocator, 0);
explicit AzAssetBrowserWindow(QWidget* parent = nullptr);
virtual ~AzAssetBrowserWindow();
void SelectAsset(const QString& assetPath);
static void RegisterViewClass();
static QObject* createListenerForShowAssetEditorEvent(QObject* parent);
Q_SIGNALS:
void SizeChangedSignal(int newWidth);
protected:
void resizeEvent(QResizeEvent* resizeEvent) override;
private:
void OnInitViewToggleButton();
void UpdateDisplayInfo();
protected slots:
void CreateSwitchViewMenu();
void SetExpandedAssetBrowserMode();
void SetDefaultAssetBrowserMode();
void UpdateTableModelAfterFilter();
void SetTableViewVisibleAfterFilter();
private:
QScopedPointer<Ui::AzAssetBrowserWindowClass> m_ui;
QScopedPointer<AzToolsFramework::AssetBrowser::AssetBrowserFilterModel> m_filterModel;
QScopedPointer<AzToolsFramework::AssetBrowser::AssetBrowserTableModel> m_tableModel;
AzToolsFramework::AssetBrowser::AssetBrowserModel* m_assetBrowserModel;
QMenu* m_viewSwitchMenu = nullptr;
QAction* m_expandedAssetBrowserMode = nullptr;
QAction* m_defaultAssetBrowserMode = nullptr;
AzToolsFramework::AssetBrowser::AssetBrowserDisplayState m_assetBrowserDisplayState =
AzToolsFramework::AssetBrowser::AssetBrowserDisplayState::DefaultMode;
void UpdatePreview() const;
private Q_SLOTS:
void SelectionChangedSlot(const QItemSelection& selected, const QItemSelection& deselected) const;
void DoubleClickedItem(const QModelIndex& element);
};
extern const char* AZ_ASSET_BROWSER_PREVIEW_NAME;