41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
#include "components/button/iconButton.hpp"
|
|
#include "components/button/tabButton.hpp"
|
|
#include "components/popover.hpp"
|
|
#include "widgets/controlCenter/mediaWidget.hpp"
|
|
#include "widgets/controlCenter/settings.hpp"
|
|
#include "widgets/controlCenter/timer.hpp"
|
|
#include "widgets/weather.hpp"
|
|
|
|
#include "gtkmm/box.h"
|
|
#include "gtkmm/scrolledwindow.h"
|
|
#include "gtkmm/stack.h"
|
|
|
|
class ControlCenter : public Popover {
|
|
public:
|
|
ControlCenter(Icon::Type icon, std::string name);
|
|
|
|
private:
|
|
Gtk::ScrolledWindow scrollview;
|
|
|
|
Gtk::Box container;
|
|
Gtk::Box tabRow;
|
|
Gtk::Stack contentStack;
|
|
|
|
std::unique_ptr<TabButton> mediaTabButton;
|
|
std::unique_ptr<TabButton> infoTabButton;
|
|
std::unique_ptr<TabButton> timerButton;
|
|
std::unique_ptr<TabButton> settingsTabButton;
|
|
|
|
std::unique_ptr<WeatherWidget> weatherWidget;
|
|
std::unique_ptr<MediaWidget> mediaControlWidget;
|
|
std::unique_ptr<TimerWidget> timerWidget;
|
|
std::unique_ptr<SettingsWidget> settingsWidget;
|
|
|
|
void addPlayerWidget(const std::string &bus_name);
|
|
void removePlayerWidget(const std::string &bus_name);
|
|
void setActiveTab(const std::string &tab_name);
|
|
}; |