2
0

BundleListTabWidget.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #if !defined(Q_MOC_RUN)
  10. #include <source/ui/AssetBundlerTabWidget.h>
  11. #include <QItemSelection>
  12. #include <QModelIndex>
  13. #include <QSharedPointer>
  14. #include <QString>
  15. #include <QStringListModel>
  16. #include <QWidget>
  17. #endif
  18. namespace Ui
  19. {
  20. class BundleListTabWidget;
  21. }
  22. namespace AssetBundler
  23. {
  24. class BundleFileListModel;
  25. class BundleListTabWidget
  26. : public AssetBundlerTabWidget
  27. {
  28. Q_OBJECT
  29. public:
  30. explicit BundleListTabWidget(QWidget* parent, GUIApplicationManager* guiApplicationManager);
  31. virtual ~BundleListTabWidget() {}
  32. QString GetTabTitle() override { return tr("Completed Bundles"); }
  33. QString GetFileTypeDisplayName() override { return tr("Bundle"); }
  34. AssetBundlingFileType GetFileType() override { return AssetBundlingFileType::BundleFileType; }
  35. bool HasUnsavedChanges() override { return false; }
  36. void Reload() override;
  37. bool SaveCurrentSelection() override { return true; }
  38. bool SaveAll() override { return true; }
  39. void SetModelDataSource() override;
  40. AzQtComponents::TableView* GetFileTableView() override;
  41. QModelIndex GetSelectedFileTableIndex() override;
  42. AssetBundlerAbstractFileTableModel* GetFileTableModel() override;
  43. void SetActiveProjectLabel(const QString& labelText) override;
  44. void ApplyConfig() override;
  45. void FileSelectionChanged(
  46. const QItemSelection& /*selected*/ = QItemSelection(),
  47. const QItemSelection& /*deselected*/ = QItemSelection()) override;
  48. private:
  49. void ClearDisplayedBundleValues();
  50. QSharedPointer<Ui::BundleListTabWidget> m_ui;
  51. QSharedPointer<BundleFileListModel> m_fileTableModel;
  52. QModelIndex m_selectedFileTableIndex;
  53. QSharedPointer<QStringListModel> m_relatedBundlesListModel;
  54. };
  55. }