// Don't modify, generated file from /build/libresprite/src/libresprite/data/widgets/brush_slot_params.xml

#pragma once

#include "app/find_widget.h"
#include "app/load_widget.h"
#include "ui/ui.h"

namespace app {
namespace gen {

  class BrushSlotParams : public ui::VBox {
  public:
    BrushSlotParams() {
      app::load_widget("brush_slot_params.xml", "brush_slot_params", this);
      app::finder(this)
        >> "brush_params" >> m_brushParams
        >> "brush_type" >> m_brushType
        >> "brush_size" >> m_brushSize
        >> "brush_angle" >> m_brushAngle
        >> "color_params" >> m_colorParams
        >> "fg_color" >> m_fgColor
        >> "bg_color" >> m_bgColor
        >> "ink_params" >> m_inkParams
        >> "ink_type" >> m_inkType
        >> "ink_opacity" >> m_inkOpacity
        >> "extra_params" >> m_extraParams
        >> "shade" >> m_shade
        >> "pixel_perfect" >> m_pixelPerfect
      ;
    }

    app::ButtonSet* brushParams() const { return m_brushParams; }
    app::ButtonSet::Item* brushType() const { return m_brushType; }
    app::ButtonSet::Item* brushSize() const { return m_brushSize; }
    app::ButtonSet::Item* brushAngle() const { return m_brushAngle; }
    app::ButtonSet* colorParams() const { return m_colorParams; }
    app::ButtonSet::Item* fgColor() const { return m_fgColor; }
    app::ButtonSet::Item* bgColor() const { return m_bgColor; }
    app::ButtonSet* inkParams() const { return m_inkParams; }
    app::ButtonSet::Item* inkType() const { return m_inkType; }
    app::ButtonSet::Item* inkOpacity() const { return m_inkOpacity; }
    app::ButtonSet* extraParams() const { return m_extraParams; }
    app::ButtonSet::Item* shade() const { return m_shade; }
    app::ButtonSet::Item* pixelPerfect() const { return m_pixelPerfect; }

  private:
    app::ButtonSet* m_brushParams;
    app::ButtonSet::Item* m_brushType;
    app::ButtonSet::Item* m_brushSize;
    app::ButtonSet::Item* m_brushAngle;
    app::ButtonSet* m_colorParams;
    app::ButtonSet::Item* m_fgColor;
    app::ButtonSet::Item* m_bgColor;
    app::ButtonSet* m_inkParams;
    app::ButtonSet::Item* m_inkType;
    app::ButtonSet::Item* m_inkOpacity;
    app::ButtonSet* m_extraParams;
    app::ButtonSet::Item* m_shade;
    app::ButtonSet::Item* m_pixelPerfect;
  };

} // namespace gen
} // namespace app
