#pragma once
#include "node_border.h"
#include "node_button.h"
#include "node_combobox.h"
#include "node_text.h"
#include "node_text_input.h"
#include "node_image_texture.h"
#include "node_checkbox.h"

class NodeDialogExportPPBR : public NodeBorder
{
public:
    NodeButton* btn_cancel;
    NodeButton* btn_ok;
    NodeButton* btn_header_open;
    NodeButton* btn_header_clear;
    NodeButton* btn_header_gen;
    NodeButton* btn_pick_dest;
    NodeText* m_title;
    NodeText* m_dest_path_txt;
    NodeImageTexture* img_header;
    std::shared_ptr<Image> m_header_image;
    NodeText* txt_header_descr;
    NodeTextInput* txt_author;
    NodeTextInput* txt_descr;
    NodeTextInput* txt_url;
    NodeTextInput* txt_email;
    NodeCheckBox* export_check;
    std::string m_dest_path;
    virtual Node* clone_instantiate() const override;
    virtual void clone_finalize(Node* dest) const override;
    virtual void init() override;
    virtual void added(Node* parent) override;
    void init_controls();
    void open_header();
};
