mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-07-28 05:42:02 +08:00
FreePyScad help fix.
also allow it to resize also fix function name
This commit is contained in:
parent
5205598cf7
commit
91f10d4f28
@ -53,7 +53,7 @@ void CalibrationAbstractDialog::create(std::string html_path, wxSize dialog_size
|
|||||||
create_buttons(buttons);
|
create_buttons(buttons);
|
||||||
|
|
||||||
wxButton* close = new wxButton(this, wxID_CLOSE, _(L("Close")));
|
wxButton* close = new wxButton(this, wxID_CLOSE, _(L("Close")));
|
||||||
close->Bind(wxEVT_BUTTON, &CalibrationAbstractDialog::closeMe, this);
|
close->Bind(wxEVT_BUTTON, &CalibrationAbstractDialog::close_me, this);
|
||||||
buttons->AddButton(close);
|
buttons->AddButton(close);
|
||||||
close->SetDefault();
|
close->SetDefault();
|
||||||
close->SetFocus();
|
close->SetFocus();
|
||||||
@ -65,7 +65,7 @@ void CalibrationAbstractDialog::create(std::string html_path, wxSize dialog_size
|
|||||||
main_sizer->SetSizeHints(this);
|
main_sizer->SetSizeHints(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CalibrationAbstractDialog::closeMe(wxCommandEvent& event_args) {
|
void CalibrationAbstractDialog::close_me(wxCommandEvent& event_args) {
|
||||||
this->gui_app->change_calibration_dialog(this, nullptr);
|
this->gui_app->change_calibration_dialog(this, nullptr);
|
||||||
this->Destroy();
|
this->Destroy();
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ protected:
|
|||||||
void create(std::string html_path, wxSize dialogsize = wxSize(800, 500));
|
void create(std::string html_path, wxSize dialogsize = wxSize(800, 500));
|
||||||
virtual void create_buttons(wxStdDialogButtonSizer*) = 0;
|
virtual void create_buttons(wxStdDialogButtonSizer*) = 0;
|
||||||
void on_dpi_changed(const wxRect& suggested_rect) override;
|
void on_dpi_changed(const wxRect& suggested_rect) override;
|
||||||
void closeMe(wxCommandEvent& event_args);
|
void close_me(wxCommandEvent& event_args);
|
||||||
ModelObject* add_part(ModelObject* model_object, std::string input_file, Vec3d move, Vec3d scale = Vec3d{ 1,1,1 });
|
ModelObject* add_part(ModelObject* model_object, std::string input_file, Vec3d move, Vec3d scale = Vec3d{ 1,1,1 });
|
||||||
|
|
||||||
wxHtmlWindow* html_viewer;
|
wxHtmlWindow* html_viewer;
|
||||||
|
@ -135,11 +135,11 @@ std::string create_help_text() {
|
|||||||
|
|
||||||
FreeCADDialog::FreeCADDialog(GUI_App* app, MainFrame* mainframe)
|
FreeCADDialog::FreeCADDialog(GUI_App* app, MainFrame* mainframe)
|
||||||
: DPIDialog(NULL, wxID_ANY, wxString(SLIC3R_APP_NAME) + " - " + _(L("FreePySCAD : script engine for FreeCAD")),
|
: DPIDialog(NULL, wxID_ANY, wxString(SLIC3R_APP_NAME) + " - " + _(L("FreePySCAD : script engine for FreeCAD")),
|
||||||
#if ENABLE_SCROLLABLE
|
//#if ENABLE_SCROLLABLE
|
||||||
wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
|
wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
|
||||||
#else
|
//#else
|
||||||
wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE)
|
// wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE)
|
||||||
#endif // ENABLE_SCROLLABLE
|
//#endif // ENABLE_SCROLLABLE
|
||||||
{
|
{
|
||||||
|
|
||||||
this->gui_app = app;
|
this->gui_app = app;
|
||||||
@ -147,9 +147,7 @@ FreeCADDialog::FreeCADDialog(GUI_App* app, MainFrame* mainframe)
|
|||||||
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
|
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
|
||||||
|
|
||||||
//def
|
//def
|
||||||
PyCommand py1{ "cube", PyCommandType::pctOBJECT, {"x","y","z"}, "cube(x,y,z)\ncube(l)" };
|
commands.emplace_back(PyCommand{ "cube", PyCommandType::pctOBJECT, {"x","y","z"}, "cube(x,y,z)\ncube(size)" });
|
||||||
PyCommand py2 = { "cube", PyCommandType::pctOBJECT, {"x","y","z"}, "cube(x,y,z)\ncube(l)" };
|
|
||||||
commands.emplace_back(PyCommand{ "cube", PyCommandType::pctOBJECT, {"x","y","z"}, "cube(x,y,z)\ncube(l)" });
|
|
||||||
commands.emplace_back(PyCommand{"cylinder", PyCommandType::pctOBJECT, { "r","h","fn=","angle=","d=","r1=","r2=","d1=","d2=" },
|
commands.emplace_back(PyCommand{"cylinder", PyCommandType::pctOBJECT, { "r","h","fn=","angle=","d=","r1=","r2=","d1=","d2=" },
|
||||||
"cylinder(r,h)\ncylinder(d=,h=,[fn=,angle=])\ncylinder(r1=,r2=,h=)\ncylinder(d1=,d2=,h=)"});
|
"cylinder(r,h)\ncylinder(d=,h=,[fn=,angle=])\ncylinder(r1=,r2=,h=)\ncylinder(d1=,d2=,h=)"});
|
||||||
commands.emplace_back(PyCommand{"move", PyCommandType::pctMODIFIER, { "x","y","z" }, "move(x,y,z)"});
|
commands.emplace_back(PyCommand{"move", PyCommandType::pctMODIFIER, { "x","y","z" }, "move(x,y,z)"});
|
||||||
@ -211,7 +209,7 @@ FreeCADDialog::FreeCADDialog(GUI_App* app, MainFrame* mainframe)
|
|||||||
//sadly, this do nothing in dialog
|
//sadly, this do nothing in dialog
|
||||||
//this->SetIcon(freecad_icon);
|
//this->SetIcon(freecad_icon);
|
||||||
|
|
||||||
auto main_sizer = new wxGridBagSizer(1,1); //(int vgap, int hgap)
|
main_sizer = new wxGridBagSizer(1,1); //(int vgap, int hgap)
|
||||||
// | |_icon_|
|
// | |_icon_|
|
||||||
// |editor_| help |
|
// |editor_| help |
|
||||||
// |_err___|______|
|
// |_err___|______|
|
||||||
@ -237,13 +235,13 @@ FreeCADDialog::FreeCADDialog(GUI_App* app, MainFrame* mainframe)
|
|||||||
//main_sizer->Add(m_icons, wxGBPosition(1, 2), wxGBSpan(1, 1), 0, 2);
|
//main_sizer->Add(m_icons, wxGBPosition(1, 2), wxGBSpan(1, 1), 0, 2);
|
||||||
//main_sizer->Add(m_help, wxGBPosition(2, 2), wxGBSpan(2, 1), wxEXPAND | wxVERTICAL, 2);
|
//main_sizer->Add(m_help, wxGBPosition(2, 2), wxGBSpan(2, 1), wxEXPAND | wxVERTICAL, 2);
|
||||||
main_sizer->Add(m_help, wxGBPosition(1, 2), wxGBSpan(3, 1), wxEXPAND | wxVERTICAL, 2);
|
main_sizer->Add(m_help, wxGBPosition(1, 2), wxGBSpan(3, 1), wxEXPAND | wxVERTICAL, 2);
|
||||||
main_sizer->Add(m_errors, wxGBPosition(3, 1), wxGBSpan(1, 1), 0, 2);
|
main_sizer->Add(m_errors, wxGBPosition(3, 1), wxGBSpan(1, 1), wxEXPAND | wxHORIZONTAL, 2);
|
||||||
|
|
||||||
|
this->main_sizer->AddGrowableCol(1);
|
||||||
|
this->main_sizer->AddGrowableRow(2);
|
||||||
|
|
||||||
wxStdDialogButtonSizer* buttons = new wxStdDialogButtonSizer();
|
wxStdDialogButtonSizer* buttons = new wxStdDialogButtonSizer();
|
||||||
|
|
||||||
wxButton* bt_create_geometry = new wxButton(this, wxID_FILE1, _(L("Generate")));
|
|
||||||
bt_create_geometry->Bind(wxEVT_BUTTON, &FreeCADDialog::create_geometry, this);
|
|
||||||
buttons->Add(bt_create_geometry);
|
|
||||||
wxButton* bt_new = new wxButton(this, wxID_FILE3, _(L("New")));
|
wxButton* bt_new = new wxButton(this, wxID_FILE3, _(L("New")));
|
||||||
bt_new->Bind(wxEVT_BUTTON, &FreeCADDialog::new_script, this);
|
bt_new->Bind(wxEVT_BUTTON, &FreeCADDialog::new_script, this);
|
||||||
buttons->Add(bt_new);
|
buttons->Add(bt_new);
|
||||||
@ -258,8 +256,13 @@ FreeCADDialog::FreeCADDialog(GUI_App* app, MainFrame* mainframe)
|
|||||||
bt_quick_save->Hide();
|
bt_quick_save->Hide();
|
||||||
buttons->Add(bt_quick_save);
|
buttons->Add(bt_quick_save);
|
||||||
|
|
||||||
|
buttons->AddSpacer(30);
|
||||||
|
wxButton* bt_create_geometry = new wxButton(this, wxID_FILE1, _(L("Generate")));
|
||||||
|
bt_create_geometry->Bind(wxEVT_BUTTON, &FreeCADDialog::create_geometry, this);
|
||||||
|
buttons->Add(bt_create_geometry);
|
||||||
|
|
||||||
wxButton* close = new wxButton(this, wxID_CLOSE, _(L("Close")));
|
wxButton* close = new wxButton(this, wxID_CLOSE, _(L("Close")));
|
||||||
close->Bind(wxEVT_BUTTON, &FreeCADDialog::closeMe, this);
|
close->Bind(wxEVT_BUTTON, &FreeCADDialog::close_me, this);
|
||||||
buttons->AddButton(close);
|
buttons->AddButton(close);
|
||||||
close->SetDefault();
|
close->SetDefault();
|
||||||
close->SetFocus();
|
close->SetFocus();
|
||||||
@ -271,19 +274,20 @@ FreeCADDialog::FreeCADDialog(GUI_App* app, MainFrame* mainframe)
|
|||||||
main_sizer->SetSizeHints(this);
|
main_sizer->SetSizeHints(this);
|
||||||
|
|
||||||
//set keyboard shortcut
|
//set keyboard shortcut
|
||||||
wxAcceleratorEntry entries[2];
|
wxAcceleratorEntry entries[6];
|
||||||
//entries[0].Set(wxACCEL_CTRL, (int) 'X', bt_create_geometry->GetId());
|
//entries[0].Set(wxACCEL_CTRL, (int) 'X', bt_create_geometry->GetId());
|
||||||
//entries[2].Set(wxACCEL_SHIFT, (int) 'W', wxID_FILE1);
|
//entries[2].Set(wxACCEL_SHIFT, (int) 'W', wxID_FILE1);
|
||||||
entries[0].Set(wxACCEL_NORMAL, WXK_ESCAPE, wxID_CLOSE);
|
entries[0].Set(wxACCEL_CTRL, WXK_ESCAPE, wxID_CLOSE);
|
||||||
entries[1].Set(wxACCEL_NORMAL, WXK_F5, bt_create_geometry->GetId()); // wxID_FILE1);
|
entries[1].Set(wxACCEL_NORMAL, WXK_F5, bt_create_geometry->GetId()); // wxID_FILE1);
|
||||||
entries[1].Set(wxACCEL_CTRL, (int) 'N', bt_new->GetId());
|
entries[2].Set(wxACCEL_CTRL, (int) 'G', bt_create_geometry->GetId());
|
||||||
entries[1].Set(wxACCEL_CTRL | wxACCEL_SHIFT, (int) 'S', bt_save->GetId());
|
entries[3].Set(wxACCEL_CTRL, (int) 'N', bt_new->GetId());
|
||||||
entries[1].Set(wxACCEL_CTRL, (int) 'S', bt_quick_save->GetId());
|
entries[4].Set(wxACCEL_CTRL | wxACCEL_SHIFT, (int) 'S', bt_save->GetId());
|
||||||
this->SetAcceleratorTable(wxAcceleratorTable(2, entries));
|
entries[5].Set(wxACCEL_CTRL, (int) 'S', bt_quick_save->GetId());
|
||||||
|
this->SetAcceleratorTable(wxAcceleratorTable(6, entries));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FreeCADDialog::closeMe(wxCommandEvent& event_args) {
|
void FreeCADDialog::close_me(wxCommandEvent& event_args) {
|
||||||
bool ok = this->write_text_in_file(m_text->GetText(), boost::filesystem::path(Slic3r::data_dir()) / "temp" / "current_pyscad.py");
|
bool ok = this->write_text_in_file(m_text->GetText(), boost::filesystem::path(Slic3r::data_dir()) / "temp" / "current_pyscad.py");
|
||||||
this->gui_app->change_calibration_dialog(this, nullptr);
|
this->gui_app->change_calibration_dialog(this, nullptr);
|
||||||
this->Destroy();
|
this->Destroy();
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include <wx/stc/stc.h>
|
#include <wx/stc/stc.h>
|
||||||
#include <wx/html/htmlwin.h>
|
#include <wx/html/htmlwin.h>
|
||||||
#include <wx/textctrl.h>
|
#include <wx/textctrl.h>
|
||||||
|
#include <wx/gbsizer.h>
|
||||||
#include <boost/process.hpp>
|
#include <boost/process.hpp>
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
@ -49,7 +50,7 @@ public:
|
|||||||
virtual ~FreeCADDialog() { }
|
virtual ~FreeCADDialog() { }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void closeMe(wxCommandEvent& event_args);
|
void close_me(wxCommandEvent& event_args);
|
||||||
void createSTC();
|
void createSTC();
|
||||||
|
|
||||||
bool init_start_python();
|
bool init_start_python();
|
||||||
@ -75,6 +76,7 @@ protected:
|
|||||||
wxTextCtrl* m_help;
|
wxTextCtrl* m_help;
|
||||||
MainFrame* main_frame;
|
MainFrame* main_frame;
|
||||||
GUI_App* gui_app;
|
GUI_App* gui_app;
|
||||||
|
wxGridBagSizer* main_sizer;
|
||||||
|
|
||||||
std::vector<PyCommand> commands;
|
std::vector<PyCommand> commands;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user