#pragma once

#include <gtkmm/box.h>
#include <wf-option-wrap.hpp>
#include <wayfire/config/types.hpp>

#define DEFAULT_PANEL_HEIGHT "48"
#define DEFAULT_ICON_SIZE 32

#define PANEL_POSITION_TOP "top"
#define PANEL_POSITION_BOTTOM "bottom"
#define PANEL_POSITION_LEFT "left"
#define PANEL_POSITION_RIGHT "right"

class wayfire_config;
class WayfireWidget
{
  public:
    std::string widget_name; // for WayfirePanel use, widgets shouldn't change it

    virtual void init(Gtk::Box *container) = 0;
    virtual void handle_config_reload()
    {}
    virtual ~WayfireWidget()
    {}
};
