/
githubmirror
/
obs-studio
Обзор
Документация
Войти
/
githubmirror
/
obs-studio
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
frontend/components/SourceTreeModel.hpp
47 строк
1 KB
PatTheMav
frontend: Split Qt UI component into single file per C++ class
08 янв 2025, 17:36
08 янв 2025, 17:36
f4fe30a
Код
Авторство
О чём код?
#pragma once #include <obs-frontend-api.h> #include <obs.hpp> #include <QAbstractListModel> class SourceTree; class SourceTreeModel : public QAbstractListModel { Q_OBJECT friend class SourceTree; friend class SourceTreeItem; SourceTree *st; QVector<OBSSceneItem> items; bool hasGroups = false; static void OBSFrontendEvent(enum obs_frontend_event event, void *ptr); void Clear(); void SceneChanged(); void ReorderItems(); void Add(obs_sceneitem_t *item); void Remove(obs_sceneitem_t *item); OBSSceneItem Get(int idx); QString GetNewGroupName(); void AddGroup(); void GroupSelectedItems(QModelIndexList &indices); void UngroupSelectedGroups(QModelIndexList &indices); void ExpandGroup(obs_sceneitem_t *item); void CollapseGroup(obs_sceneitem_t *item); void UpdateGroupState(bool update); public: explicit SourceTreeModel(SourceTree *st); virtual int rowCount(const QModelIndex &parent) const override; virtual QVariant data(const QModelIndex &index, int role) const override; virtual Qt::ItemFlags flags(const QModelIndex &index) const override; virtual Qt::DropActions supportedDropActions() const override; };