Crossfire Server, Trunk
CREResourcesWindow.h
Go to the documentation of this file.
1 /*
2  * Crossfire -- cooperative multi-player graphical RPG and adventure game
3  *
4  * Copyright (c) 2022 the Crossfire Development Team
5  *
6  * Crossfire is free software and comes with ABSOLUTELY NO WARRANTY. You are
7  * welcome to redistribute it under certain conditions. For details, please
8  * see COPYING and LICENSE.
9  *
10  * The authors can be reached via e-mail at <crossfire@metalforge.org>.
11  */
12 
13 #ifndef CRERESOURCESWINDOW_H
14 #define CRERESOURCESWINDOW_H
15 
16 #include <QObject>
17 #include <QtWidgets>
18 
20 #include "CREScriptEngine.h"
21 
23 class MessageManager;
24 class ResourcesManager;
25 class ScriptFileManager;
26 class AssetModel;
28 class AssetWrapperPanel;
29 
30 class CREResourcesWindow : public QWidget
31 {
32  Q_OBJECT
33 
34  public:
35  CREResourcesWindow(CREMapInformationManager* store, MessageManager* messages, ResourcesManager* resources, ScriptFileManager* scripts, AssetModel *model, const QModelIndex &root, QWidget* parent);
36  virtual ~CREResourcesWindow();
37 
38  int rootIndex() const { return myTreeRoot.isValid() ? myTreeRoot.row() : -1; }
39 
40  public slots:
41  void updateFilters();
42 
43  signals:
44  void filtersModified();
45 
46  protected:
48  QTreeView* myTree;
49  QModelIndex myTreeRoot;
51  QHash<QString, QPointer<AssetWrapperPanel> > myPanels;
52  QStackedLayout* myStackedPanels;
57  QPushButton* myFilterButton;
58  QMenu* myFiltersMenu;
59  QSignalMapper myFiltersMapper;
62 
63  void addPanel(QString name, AssetWrapperPanel* panel);
64  void setFilter(const QString &filter, const QString &name);
65 
66  protected slots:
67  void currentRowChanged(const QModelIndex &current, const QModelIndex &previous);
68  void onFilter();
69  void onFilterChange(QObject* object);
70  void onQuickFilter();
71  void clearFilter();
72  void treeCustomMenu(const QPoint & pos);
73  void addQuest(bool);
74  void addMessage(bool);
75  void onExportAsCsv();
76 };
77 
78 #endif // CRERESOURCESWINDOW_H
AssetWrapperPanel
Definition: AssetWrapperPanel.h:29
ScriptFileManager
Definition: ScriptFileManager.h:26
CREResourcesWindow::addMessage
void addMessage(bool)
Definition: CREResourcesWindow.cpp:360
CREResourcesWindow::myTree
QTreeView * myTree
Definition: CREResourcesWindow.h:48
CREResourcesWindow::onQuickFilter
void onQuickFilter()
Definition: CREResourcesWindow.cpp:265
CREFilterDefinitionManager
Definition: CREFilterDefinitionManager.h:21
CREResourcesWindow::myModel
ScriptFilterAssetModel * myModel
Definition: CREResourcesWindow.h:47
CREResourcesWindow
Definition: CREResourcesWindow.h:30
python_init.scripts
scripts
Definition: python_init.py:11
ResourcesManager
Definition: ResourcesManager.h:80
say.previous
dictionary previous
Definition: say.py:205
filter
Definition: filter.py:1
CREResourcesWindow::CREResourcesWindow
CREResourcesWindow(CREMapInformationManager *store, MessageManager *messages, ResourcesManager *resources, ScriptFileManager *scripts, AssetModel *model, const QModelIndex &root, QWidget *parent)
Definition: CREResourcesWindow.cpp:71
root
static char root[500]
Definition: mapper.cpp:304
CREResourcesWindow::myFilters
CREFilterDefinitionManager myFilters
Definition: CREResourcesWindow.h:60
CREResourcesWindow::myMessages
MessageManager * myMessages
Definition: CREResourcesWindow.h:54
CREResourcesWindow::rootIndex
int rootIndex() const
Definition: CREResourcesWindow.h:38
CREResourcesWindow::myStore
CREMapInformationManager * myStore
Definition: CREResourcesWindow.h:53
CREResourcesWindow::onFilter
void onFilter()
Definition: CREResourcesWindow.cpp:214
CREResourcesWindow::onFilterChange
void onFilterChange(QObject *object)
Definition: CREResourcesWindow.cpp:258
CREScriptEngine.h
CREScriptEngine
Definition: CREScriptEngine.h:18
CREResourcesWindow::myFiltersMenu
QMenu * myFiltersMenu
Definition: CREResourcesWindow.h:58
CREResourcesWindow::myFiltersMapper
QSignalMapper myFiltersMapper
Definition: CREResourcesWindow.h:59
ScriptFilterAssetModel
Definition: AssetModel.h:78
CREResourcesWindow::clearFilter
void clearFilter()
Definition: CREResourcesWindow.cpp:273
AssetModel
Definition: AssetModel.h:29
CREResourcesWindow::myEngine
CREScriptEngine myEngine
Definition: CREResourcesWindow.h:61
CREResourcesWindow::addPanel
void addPanel(QString name, AssetWrapperPanel *panel)
Definition: CREResourcesWindow.cpp:207
MessageManager
Definition: MessageManager.h:25
CREResourcesWindow::setFilter
void setFilter(const QString &filter, const QString &name)
Definition: CREResourcesWindow.cpp:277
CREResourcesWindow::filtersModified
void filtersModified()
CREResourcesWindow::treeCustomMenu
void treeCustomMenu(const QPoint &pos)
Definition: CREResourcesWindow.cpp:327
CREResourcesWindow::myFilterButton
QPushButton * myFilterButton
Definition: CREResourcesWindow.h:57
CREResourcesWindow::addQuest
void addQuest(bool)
Definition: CREResourcesWindow.cpp:344
CREResourcesWindow::onExportAsCsv
void onExportAsCsv()
Definition: CREResourcesWindow.cpp:292
CREResourcesWindow::myStackedPanels
QStackedLayout * myStackedPanels
Definition: CREResourcesWindow.h:52
navar-midane_apply.messages
list messages
Definition: navar-midane_apply.py:8
CREResourcesWindow::myScripts
ScriptFileManager * myScripts
Definition: CREResourcesWindow.h:56
CREResourcesWindow::myResources
ResourcesManager * myResources
Definition: CREResourcesWindow.h:55
CREResourcesWindow::myCurrentPanel
AssetWrapperPanel * myCurrentPanel
Definition: CREResourcesWindow.h:50
CREResourcesWindow::myTreeRoot
QModelIndex myTreeRoot
Definition: CREResourcesWindow.h:49
CREFilterDefinitionManager.h
CREResourcesWindow::myPanels
QHash< QString, QPointer< AssetWrapperPanel > > myPanels
Definition: CREResourcesWindow.h:51
CREMapInformationManager
Definition: CREMapInformationManager.h:27
replace.current
current
Definition: replace.py:64
CREResourcesWindow::updateFilters
void updateFilters()
Definition: CREResourcesWindow.cpp:224
give.name
name
Definition: give.py:27
CREResourcesWindow::currentRowChanged
void currentRowChanged(const QModelIndex &current, const QModelIndex &previous)
Definition: CREResourcesWindow.cpp:180
CREResourcesWindow::~CREResourcesWindow
virtual ~CREResourcesWindow()
Definition: CREResourcesWindow.cpp:175