You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Code/Tools/AssetBundler/source/ui/BundleListTabWidget.h

66 lines
2.0 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 <source/ui/AssetBundlerTabWidget.h>
#include <QItemSelection>
#include <QModelIndex>
#include <QSharedPointer>
#include <QString>
#include <QStringListModel>
#include <QWidget>
#endif
namespace Ui
{
class BundleListTabWidget;
}
namespace AssetBundler
{
class BundleFileListModel;
class BundleListTabWidget
: public AssetBundlerTabWidget
{
Q_OBJECT
public:
explicit BundleListTabWidget(QWidget* parent, GUIApplicationManager* guiApplicationManager);
virtual ~BundleListTabWidget() {}
QString GetTabTitle() override { return tr("Completed Bundles"); }
QString GetFileTypeDisplayName() override { return tr("Bundle"); }
AssetBundlingFileType GetFileType() override { return AssetBundlingFileType::BundleFileType; }
bool HasUnsavedChanges() override { return false; }
void Reload() override;
bool SaveCurrentSelection() override { return true; }
bool SaveAll() override { return true; }
void SetModelDataSource() override;
AzQtComponents::TableView* GetFileTableView() override;
QModelIndex GetSelectedFileTableIndex() override;
AssetBundlerAbstractFileTableModel* GetFileTableModel() override;
void SetActiveProjectLabel(const QString& labelText) override;
void ApplyConfig() override;
void FileSelectionChanged(
const QItemSelection& /*selected*/ = QItemSelection(),
const QItemSelection& /*deselected*/ = QItemSelection()) override;
private:
void ClearDisplayedBundleValues();
QSharedPointer<Ui::BundleListTabWidget> m_ui;
QSharedPointer<BundleFileListModel> m_fileTableModel;
QModelIndex m_selectedFileTableIndex;
QSharedPointer<QStringListModel> m_relatedBundlesListModel;
};
}