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

#pragma once

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

namespace app {
namespace gen {

  class ExportSpriteSheet : public ui::Window {
  public:
    ExportSpriteSheet() : ui::Window(ui::Window::WithTitleBar) {
      app::load_widget("export_sprite_sheet.xml", "export_sprite_sheet", this);
      app::finder(this)
        >> "sheet_type" >> m_sheetType
        >> "columns_label" >> m_columnsLabel
        >> "columns" >> m_columns
        >> "rows_label" >> m_rowsLabel
        >> "rows" >> m_rows
        >> "padding_enabled" >> m_paddingEnabled
        >> "padding_container" >> m_paddingContainer
        >> "border_padding" >> m_borderPadding
        >> "shape_padding" >> m_shapePadding
        >> "inner_padding" >> m_innerPadding
        >> "fit_width_label" >> m_fitWidthLabel
        >> "fit_width" >> m_fitWidth
        >> "fit_height_label" >> m_fitHeightLabel
        >> "fit_height" >> m_fitHeight
        >> "best_fit_filler" >> m_bestFitFiller
        >> "best_fit" >> m_bestFit
        >> "pertag_enabled_filler" >> m_pertagEnabledFiller
        >> "pertag_enabled" >> m_pertagEnabled
        >> "layers" >> m_layers
        >> "frames" >> m_frames
        >> "image_enabled" >> m_imageEnabled
        >> "image_filename" >> m_imageFilename
        >> "data_enabled" >> m_dataEnabled
        >> "data_filename" >> m_dataFilename
        >> "data_meta" >> m_dataMeta
        >> "data_format" >> m_dataFormat
        >> "list_layers" >> m_listLayers
        >> "list_tags" >> m_listTags
        >> "open_generated" >> m_openGenerated
        >> "export_button" >> m_exportButton
      ;
    }

    ui::ComboBox* sheetType() const { return m_sheetType; }
    ui::Label* columnsLabel() const { return m_columnsLabel; }
    ui::Entry* columns() const { return m_columns; }
    ui::Label* rowsLabel() const { return m_rowsLabel; }
    ui::Entry* rows() const { return m_rows; }
    ui::CheckBox* paddingEnabled() const { return m_paddingEnabled; }
    ui::Grid* paddingContainer() const { return m_paddingContainer; }
    ui::Entry* borderPadding() const { return m_borderPadding; }
    ui::Entry* shapePadding() const { return m_shapePadding; }
    ui::Entry* innerPadding() const { return m_innerPadding; }
    ui::Label* fitWidthLabel() const { return m_fitWidthLabel; }
    ui::ComboBox* fitWidth() const { return m_fitWidth; }
    ui::Label* fitHeightLabel() const { return m_fitHeightLabel; }
    ui::ComboBox* fitHeight() const { return m_fitHeight; }
    ui::HBox* bestFitFiller() const { return m_bestFitFiller; }
    ui::CheckBox* bestFit() const { return m_bestFit; }
    ui::HBox* pertagEnabledFiller() const { return m_pertagEnabledFiller; }
    ui::CheckBox* pertagEnabled() const { return m_pertagEnabled; }
    ui::ComboBox* layers() const { return m_layers; }
    ui::ComboBox* frames() const { return m_frames; }
    ui::CheckBox* imageEnabled() const { return m_imageEnabled; }
    ui::Button* imageFilename() const { return m_imageFilename; }
    ui::CheckBox* dataEnabled() const { return m_dataEnabled; }
    ui::Button* dataFilename() const { return m_dataFilename; }
    ui::HBox* dataMeta() const { return m_dataMeta; }
    ui::ComboBox* dataFormat() const { return m_dataFormat; }
    ui::CheckBox* listLayers() const { return m_listLayers; }
    ui::CheckBox* listTags() const { return m_listTags; }
    ui::CheckBox* openGenerated() const { return m_openGenerated; }
    ui::Button* exportButton() const { return m_exportButton; }

  private:
    ui::ComboBox* m_sheetType;
    ui::Label* m_columnsLabel;
    ui::Entry* m_columns;
    ui::Label* m_rowsLabel;
    ui::Entry* m_rows;
    ui::CheckBox* m_paddingEnabled;
    ui::Grid* m_paddingContainer;
    ui::Entry* m_borderPadding;
    ui::Entry* m_shapePadding;
    ui::Entry* m_innerPadding;
    ui::Label* m_fitWidthLabel;
    ui::ComboBox* m_fitWidth;
    ui::Label* m_fitHeightLabel;
    ui::ComboBox* m_fitHeight;
    ui::HBox* m_bestFitFiller;
    ui::CheckBox* m_bestFit;
    ui::HBox* m_pertagEnabledFiller;
    ui::CheckBox* m_pertagEnabled;
    ui::ComboBox* m_layers;
    ui::ComboBox* m_frames;
    ui::CheckBox* m_imageEnabled;
    ui::Button* m_imageFilename;
    ui::CheckBox* m_dataEnabled;
    ui::Button* m_dataFilename;
    ui::HBox* m_dataMeta;
    ui::ComboBox* m_dataFormat;
    ui::CheckBox* m_listLayers;
    ui::CheckBox* m_listTags;
    ui::CheckBox* m_openGenerated;
    ui::Button* m_exportButton;
  };

} // namespace gen
} // namespace app
