Welcome to mirror list, hosted at ThFree Co, Russian Federation.

BedShapeDialog.hpp « GUI « slic3r « src - github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: d8ba5a91286bf45111b33c865335e943f92f7c52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef slic3r_BedShapeDialog_hpp_
#define slic3r_BedShapeDialog_hpp_
// 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);
	
	ConfigOptionsGroupShp	init_shape_options_page(wxString title);
	void		set_shape(ConfigOptionPoints* points);
	void		update_preview();
	void		update_shape();
	void		load_stl();
	
	// Returns the resulting bed shape polygon. This value will be stored to the ini file.
	std::vector<Vec2d>	GetValue() { return m_canvas->m_bed_shape; }
};

class BedShapeDialog : public wxDialog
{
	BedShapePanel*	m_panel;
public:
	BedShapeDialog(wxWindow* parent) : wxDialog(parent, wxID_ANY, _(L("Bed Shape")),
		wxDefaultPosition, wxSize(350, 700), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER){}
	~BedShapeDialog(){  }

	void		build_dialog(ConfigOptionPoints* default_pt);
	std::vector<Vec2d>	GetValue() { return m_panel->GetValue(); }
};

} // GUI
} // Slic3r


#endif  /* slic3r_BedShapeDialog_hpp_ */