2018-01-25 12:46:04 +00:00
|
|
|
// The bed shape dialog.
|
|
|
|
// The dialog opens from Print Settins tab->Bed Shape : Set...
|
|
|
|
|
|
|
|
#include "OptionsGroup.hpp"
|
|
|
|
#include "2DBed.hpp"
|
|
|
|
|
|
|
|
|
|
|
|
#include <wx/dialog.h>
|
|
|
|
#include <wx/choicebk.h>
|
|
|
|
|
|
|
|
namespace Slic3r {
|
|
|
|
namespace GUI {
|
|
|
|
|
|
|
|
using ConfigOptionsGroupShp = std::shared_ptr<ConfigOptionsGroup>;
|
|
|
|
class BedShapePanel : public wxPanel
|
|
|
|
{
|
|
|
|
wxChoicebook* m_shape_options_book;
|
|
|
|
Bed_2D* m_canvas;
|
|
|
|
|
|
|
|
std::vector <ConfigOptionsGroupShp> m_optgroups;
|
|
|
|
|
|
|
|
public:
|
|
|
|
BedShapePanel(wxWindow* parent) : wxPanel(parent, wxID_ANY){}
|
|
|
|
~BedShapePanel(){}
|
|
|
|
|
|
|
|
void build_panel(ConfigOptionPoints* default_pt);
|
2018-01-30 11:10:12 +00:00
|
|
|
|
2018-01-25 12:46:04 +00:00
|
|
|
ConfigOptionsGroupShp init_shape_options_page(std::string title);
|
|
|
|
void set_shape(ConfigOptionPoints* points);
|
|
|
|
void update_preview();
|
|
|
|
void update_shape();
|
|
|
|
void load_stl();
|
2018-01-30 11:10:12 +00:00
|
|
|
|
|
|
|
// Returns the resulting bed shape polygon. This value will be stored to the ini file.
|
|
|
|
std::vector<Pointf> GetValue() { return m_canvas->m_bed_shape; }
|
2018-01-25 12:46:04 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
class BedShapeDialog : public wxDialog
|
|
|
|
{
|
|
|
|
BedShapePanel* m_panel;
|
|
|
|
public:
|
|
|
|
BedShapeDialog(wxWindow* parent) : wxDialog(parent, wxID_ANY, "Bed Shape",
|
|
|
|
wxDefaultPosition, wxSize(350, 700), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER){}
|
|
|
|
~BedShapeDialog(){}
|
|
|
|
|
|
|
|
void build_dialog(ConfigOptionPoints* default_pt);
|
2018-01-30 11:10:12 +00:00
|
|
|
std::vector<Pointf> GetValue() { return m_panel->GetValue(); }
|
2018-01-25 12:46:04 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
} // GUI
|
|
|
|
} // Slic3r
|