Fixed status of Slice now and Export G-Code buttons after object import
This commit is contained in:
parent
86caf83721
commit
df36de0d35
8 changed files with 12 additions and 9 deletions
|
@ -2102,7 +2102,8 @@ sub object_list_changed {
|
||||||
|
|
||||||
my $export_in_progress = $self->{export_gcode_output_file} || $self->{send_gcode_file};
|
my $export_in_progress = $self->{export_gcode_output_file} || $self->{send_gcode_file};
|
||||||
my $model_fits = $self->{canvas3D} ? Slic3r::GUI::_3DScene::check_volumes_outside_state($self->{canvas3D}, $self->{config}) : 1;
|
my $model_fits = $self->{canvas3D} ? Slic3r::GUI::_3DScene::check_volumes_outside_state($self->{canvas3D}, $self->{config}) : 1;
|
||||||
my $method = ($have_objects && ! $export_in_progress && $model_fits) ? 'Enable' : 'Disable';
|
# $model_fits == 1 -> ModelInstance::PVS_Partly_Outside
|
||||||
|
my $method = ($have_objects && ! $export_in_progress && ($model_fits != 1)) ? 'Enable' : 'Disable';
|
||||||
$self->{"btn_$_"}->$method
|
$self->{"btn_$_"}->$method
|
||||||
for grep $self->{"btn_$_"}, qw(reslice export_gcode print send_gcode);
|
for grep $self->{"btn_$_"}, qw(reslice export_gcode print send_gcode);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1651,7 +1651,7 @@ void _3DScene::update_volumes_selection(wxGLCanvas* canvas, const std::vector<in
|
||||||
s_canvas_mgr.update_volumes_selection(canvas, selections);
|
s_canvas_mgr.update_volumes_selection(canvas, selections);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool _3DScene::check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config)
|
int _3DScene::check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config)
|
||||||
{
|
{
|
||||||
return s_canvas_mgr.check_volumes_outside_state(canvas, config);
|
return s_canvas_mgr.check_volumes_outside_state(canvas, config);
|
||||||
}
|
}
|
||||||
|
|
|
@ -460,7 +460,7 @@ public:
|
||||||
static void deselect_volumes(wxGLCanvas* canvas);
|
static void deselect_volumes(wxGLCanvas* canvas);
|
||||||
static void select_volume(wxGLCanvas* canvas, unsigned int id);
|
static void select_volume(wxGLCanvas* canvas, unsigned int id);
|
||||||
static void update_volumes_selection(wxGLCanvas* canvas, const std::vector<int>& selections);
|
static void update_volumes_selection(wxGLCanvas* canvas, const std::vector<int>& selections);
|
||||||
static bool check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config);
|
static int check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config);
|
||||||
static bool move_volume_up(wxGLCanvas* canvas, unsigned int id);
|
static bool move_volume_up(wxGLCanvas* canvas, unsigned int id);
|
||||||
static bool move_volume_down(wxGLCanvas* canvas, unsigned int id);
|
static bool move_volume_down(wxGLCanvas* canvas, unsigned int id);
|
||||||
|
|
||||||
|
|
|
@ -1878,9 +1878,11 @@ void GLCanvas3D::update_volumes_selection(const std::vector<int>& selections)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GLCanvas3D::check_volumes_outside_state(const DynamicPrintConfig* config) const
|
int GLCanvas3D::check_volumes_outside_state(const DynamicPrintConfig* config) const
|
||||||
{
|
{
|
||||||
return m_volumes.check_outside_state(config, nullptr);
|
ModelInstance::EPrintVolumeState state;
|
||||||
|
m_volumes.check_outside_state(config, &state);
|
||||||
|
return (int)state;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GLCanvas3D::move_volume_up(unsigned int id)
|
bool GLCanvas3D::move_volume_up(unsigned int id)
|
||||||
|
|
|
@ -495,7 +495,7 @@ public:
|
||||||
void deselect_volumes();
|
void deselect_volumes();
|
||||||
void select_volume(unsigned int id);
|
void select_volume(unsigned int id);
|
||||||
void update_volumes_selection(const std::vector<int>& selections);
|
void update_volumes_selection(const std::vector<int>& selections);
|
||||||
bool check_volumes_outside_state(const DynamicPrintConfig* config) const;
|
int check_volumes_outside_state(const DynamicPrintConfig* config) const;
|
||||||
bool move_volume_up(unsigned int id);
|
bool move_volume_up(unsigned int id);
|
||||||
bool move_volume_down(unsigned int id);
|
bool move_volume_down(unsigned int id);
|
||||||
|
|
||||||
|
|
|
@ -237,7 +237,7 @@ void GLCanvas3DManager::update_volumes_selection(wxGLCanvas* canvas, const std::
|
||||||
it->second->update_volumes_selection(selections);
|
it->second->update_volumes_selection(selections);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GLCanvas3DManager::check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config) const
|
int GLCanvas3DManager::check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config) const
|
||||||
{
|
{
|
||||||
CanvasesMap::const_iterator it = _get_canvas(canvas);
|
CanvasesMap::const_iterator it = _get_canvas(canvas);
|
||||||
return (it != m_canvases.end()) ? it->second->check_volumes_outside_state(config) : false;
|
return (it != m_canvases.end()) ? it->second->check_volumes_outside_state(config) : false;
|
||||||
|
|
|
@ -75,7 +75,7 @@ public:
|
||||||
void deselect_volumes(wxGLCanvas* canvas);
|
void deselect_volumes(wxGLCanvas* canvas);
|
||||||
void select_volume(wxGLCanvas* canvas, unsigned int id);
|
void select_volume(wxGLCanvas* canvas, unsigned int id);
|
||||||
void update_volumes_selection(wxGLCanvas* canvas, const std::vector<int>& selections);
|
void update_volumes_selection(wxGLCanvas* canvas, const std::vector<int>& selections);
|
||||||
bool check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config) const;
|
int check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config) const;
|
||||||
bool move_volume_up(wxGLCanvas* canvas, unsigned int id);
|
bool move_volume_up(wxGLCanvas* canvas, unsigned int id);
|
||||||
bool move_volume_down(wxGLCanvas* canvas, unsigned int id);
|
bool move_volume_down(wxGLCanvas* canvas, unsigned int id);
|
||||||
|
|
||||||
|
|
|
@ -230,7 +230,7 @@ update_volumes_selection(canvas, selections)
|
||||||
CODE:
|
CODE:
|
||||||
_3DScene::update_volumes_selection((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), selections);
|
_3DScene::update_volumes_selection((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), selections);
|
||||||
|
|
||||||
bool
|
int
|
||||||
check_volumes_outside_state(canvas, config)
|
check_volumes_outside_state(canvas, config)
|
||||||
SV *canvas;
|
SV *canvas;
|
||||||
DynamicPrintConfig *config;
|
DynamicPrintConfig *config;
|
||||||
|
|
Loading…
Add table
Reference in a new issue