File indexing completed on 2025-02-02 04:11:32
0001 /* 0002 * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "clickable_tab_bar.hpp" 0010 0011 #include "model/document.hpp" 0012 #include "model/assets/composition.hpp" 0013 0014 namespace glaxnimate::gui { 0015 0016 class CompositionTabBar : public ClickableTabBar 0017 { 0018 Q_OBJECT 0019 0020 public: 0021 explicit CompositionTabBar(QWidget *parent = nullptr); 0022 0023 model::Composition* index_to_comp(int index) const; 0024 0025 void set_document(model::Document* document); 0026 0027 void set_current_composition(model::Composition* comp); 0028 0029 private Q_SLOTS: 0030 void fw_switch(int i); 0031 void on_close(int i); 0032 void on_menu(int i); 0033 void setup_composition(model::Composition* comp, int index); 0034 void on_precomp_removed(int index); 0035 0036 private: 0037 void update_comp_color(int index, model::Composition* comp); 0038 0039 Q_SIGNALS: 0040 void switch_composition(model::Composition* comp, int index); 0041 0042 private: 0043 model::Document* document = nullptr; 0044 }; 0045 0046 0047 } // namespace glaxnimate::gui