mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-05-19 09:08:57 +08:00
Show/hide warning icon according to the view mode
This commit is contained in:
parent
4e47f4973c
commit
876cf9aa8b
@ -442,7 +442,16 @@ sub new {
|
|||||||
$self->{"object_info_$field"}->SetFont($Slic3r::GUI::small_font);
|
$self->{"object_info_$field"}->SetFont($Slic3r::GUI::small_font);
|
||||||
if ($field eq 'manifold') {
|
if ($field eq 'manifold') {
|
||||||
$self->{object_info_manifold_warning_icon} = Wx::StaticBitmap->new($scrolled_window_panel, -1, Wx::Bitmap->new(Slic3r::var("error.png"), wxBITMAP_TYPE_PNG));
|
$self->{object_info_manifold_warning_icon} = Wx::StaticBitmap->new($scrolled_window_panel, -1, Wx::Bitmap->new(Slic3r::var("error.png"), wxBITMAP_TYPE_PNG));
|
||||||
$self->{object_info_manifold_warning_icon}->Hide;
|
#$self->{object_info_manifold_warning_icon}->Hide;
|
||||||
|
$self->{"object_info_manifold_warning_icon_show"} = sub {
|
||||||
|
if ($self->{object_info_manifold_warning_icon}->IsShown() != $_[0]) {
|
||||||
|
Slic3r::GUI::set_show_manifold_warning_icon($_[0]);
|
||||||
|
return if (wxTheApp->{app_config}->get("view_mode") eq "simple");
|
||||||
|
$self->{object_info_manifold_warning_icon}->Show($_[0]);
|
||||||
|
$self->Layout
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$self->{"object_info_manifold_warning_icon_show"}->(0);
|
||||||
|
|
||||||
my $h_sizer = Wx::BoxSizer->new(wxHORIZONTAL);
|
my $h_sizer = Wx::BoxSizer->new(wxHORIZONTAL);
|
||||||
$h_sizer->Add($self->{object_info_manifold_warning_icon}, 0);
|
$h_sizer->Add($self->{object_info_manifold_warning_icon}, 0);
|
||||||
@ -511,10 +520,7 @@ sub new {
|
|||||||
# }
|
# }
|
||||||
if ($scrolled_window_sizer->IsShown(2) != $_[0]) {
|
if ($scrolled_window_sizer->IsShown(2) != $_[0]) {
|
||||||
Slic3r::GUI::set_show_print_info($_[0]);
|
Slic3r::GUI::set_show_print_info($_[0]);
|
||||||
my $mode = wxTheApp->{app_config}->get("view_mode");
|
return if (wxTheApp->{app_config}->get("view_mode") eq "simple");
|
||||||
printf $mode."\n";
|
|
||||||
return if ($mode eq "simple");
|
|
||||||
print "non-simple\n";
|
|
||||||
$scrolled_window_sizer->Show(2, $_[0]);
|
$scrolled_window_sizer->Show(2, $_[0]);
|
||||||
$scrolled_window_panel->Layout
|
$scrolled_window_panel->Layout
|
||||||
}
|
}
|
||||||
@ -542,7 +548,8 @@ sub new {
|
|||||||
$self->{btn_export_stl},
|
$self->{btn_export_stl},
|
||||||
$self->{btn_reslice},
|
$self->{btn_reslice},
|
||||||
$self->{btn_print},
|
$self->{btn_print},
|
||||||
$self->{btn_send_gcode} );
|
$self->{btn_send_gcode},
|
||||||
|
$self->{object_info_manifold_warning_icon} );
|
||||||
}
|
}
|
||||||
|
|
||||||
# Last correct selected item for each preset
|
# Last correct selected item for each preset
|
||||||
@ -881,6 +888,9 @@ sub remove {
|
|||||||
$self->select_object(undef);
|
$self->select_object(undef);
|
||||||
$self->update;
|
$self->update;
|
||||||
$self->schedule_background_process;
|
$self->schedule_background_process;
|
||||||
|
|
||||||
|
# Hide the slicing results if the current slicing status is no more valid.
|
||||||
|
$self->{"print_info_box_show"}->(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub reset {
|
sub reset {
|
||||||
@ -900,6 +910,9 @@ sub reset {
|
|||||||
|
|
||||||
$self->select_object(undef);
|
$self->select_object(undef);
|
||||||
$self->update;
|
$self->update;
|
||||||
|
|
||||||
|
# Hide the slicing results if the current slicing status is no more valid.
|
||||||
|
$self->{"print_info_box_show"}->(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub increase {
|
sub increase {
|
||||||
@ -2017,7 +2030,8 @@ sub selection_changed {
|
|||||||
$self->{object_info_facets}->SetLabel(sprintf(L('%d (%d shells)'), $model_object->facets_count, $stats->{number_of_parts}));
|
$self->{object_info_facets}->SetLabel(sprintf(L('%d (%d shells)'), $model_object->facets_count, $stats->{number_of_parts}));
|
||||||
if (my $errors = sum(@$stats{qw(degenerate_facets edges_fixed facets_removed facets_added facets_reversed backwards_edges)})) {
|
if (my $errors = sum(@$stats{qw(degenerate_facets edges_fixed facets_removed facets_added facets_reversed backwards_edges)})) {
|
||||||
$self->{object_info_manifold}->SetLabel(sprintf(L("Auto-repaired (%d errors)"), $errors));
|
$self->{object_info_manifold}->SetLabel(sprintf(L("Auto-repaired (%d errors)"), $errors));
|
||||||
$self->{object_info_manifold_warning_icon}->Show;
|
#$self->{object_info_manifold_warning_icon}->Show;
|
||||||
|
$self->{"object_info_manifold_warning_icon_show"}->(1);
|
||||||
|
|
||||||
# we don't show normals_fixed because we never provide normals
|
# we don't show normals_fixed because we never provide normals
|
||||||
# to admesh, so it generates normals for all facets
|
# to admesh, so it generates normals for all facets
|
||||||
@ -2027,14 +2041,16 @@ sub selection_changed {
|
|||||||
$self->{object_info_manifold_warning_icon}->SetToolTipString($message);
|
$self->{object_info_manifold_warning_icon}->SetToolTipString($message);
|
||||||
} else {
|
} else {
|
||||||
$self->{object_info_manifold}->SetLabel(L("Yes"));
|
$self->{object_info_manifold}->SetLabel(L("Yes"));
|
||||||
$self->{object_info_manifold_warning_icon}->Hide;
|
#$self->{object_info_manifold_warning_icon}->Hide;
|
||||||
|
$self->{"object_info_manifold_warning_icon_show"}->(0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$self->{object_info_facets}->SetLabel($object->facets);
|
$self->{object_info_facets}->SetLabel($object->facets);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$self->{"object_info_$_"}->SetLabel("") for qw(size volume facets materials manifold);
|
$self->{"object_info_$_"}->SetLabel("") for qw(size volume facets materials manifold);
|
||||||
$self->{object_info_manifold_warning_icon}->Hide;
|
#$self->{object_info_manifold_warning_icon}->Hide;
|
||||||
|
$self->{"object_info_manifold_warning_icon_show"}->(0);
|
||||||
$self->{object_info_manifold}->SetToolTipString("");
|
$self->{object_info_manifold}->SetToolTipString("");
|
||||||
}
|
}
|
||||||
$self->Layout;
|
$self->Layout;
|
||||||
|
@ -210,7 +210,9 @@ wxButton *g_btn_export_stl = nullptr;
|
|||||||
wxButton *g_btn_reslice = nullptr;
|
wxButton *g_btn_reslice = nullptr;
|
||||||
wxButton *g_btn_print = nullptr;
|
wxButton *g_btn_print = nullptr;
|
||||||
wxButton *g_btn_send_gcode = nullptr;
|
wxButton *g_btn_send_gcode = nullptr;
|
||||||
|
wxStaticBitmap *g_manifold_warning_icon = nullptr;
|
||||||
bool g_show_print_info = false;
|
bool g_show_print_info = false;
|
||||||
|
bool g_show_manifold_warning_icon = false;
|
||||||
|
|
||||||
static void init_label_colours()
|
static void init_label_colours()
|
||||||
{
|
{
|
||||||
@ -274,7 +276,8 @@ void set_preset_updater(PresetUpdater *updater)
|
|||||||
void set_objects_from_perl( wxWindow* parent, wxBoxSizer *frequently_changed_parameters_sizer,
|
void set_objects_from_perl( wxWindow* parent, wxBoxSizer *frequently_changed_parameters_sizer,
|
||||||
wxBoxSizer *expert_mode_part_sizer, wxBoxSizer *scrolled_window_sizer,
|
wxBoxSizer *expert_mode_part_sizer, wxBoxSizer *scrolled_window_sizer,
|
||||||
wxButton *btn_export_stl, wxButton *btn_reslice,
|
wxButton *btn_export_stl, wxButton *btn_reslice,
|
||||||
wxButton *btn_print, wxButton *btn_send_gcode)
|
wxButton *btn_print, wxButton *btn_send_gcode,
|
||||||
|
wxStaticBitmap *manifold_warning_icon)
|
||||||
{
|
{
|
||||||
g_plater = parent;
|
g_plater = parent;
|
||||||
g_frequently_changed_parameters_sizer = frequently_changed_parameters_sizer;
|
g_frequently_changed_parameters_sizer = frequently_changed_parameters_sizer;
|
||||||
@ -284,6 +287,7 @@ void set_objects_from_perl( wxWindow* parent, wxBoxSizer *frequently_changed_par
|
|||||||
g_btn_reslice = btn_reslice;
|
g_btn_reslice = btn_reslice;
|
||||||
g_btn_print = btn_print;
|
g_btn_print = btn_print;
|
||||||
g_btn_send_gcode = btn_send_gcode;
|
g_btn_send_gcode = btn_send_gcode;
|
||||||
|
g_manifold_warning_icon = manifold_warning_icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_show_print_info(bool show)
|
void set_show_print_info(bool show)
|
||||||
@ -291,6 +295,11 @@ void set_show_print_info(bool show)
|
|||||||
g_show_print_info = show;
|
g_show_print_info = show;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void set_show_manifold_warning_icon(bool show)
|
||||||
|
{
|
||||||
|
g_show_manifold_warning_icon = show;
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<Tab *>& get_tabs_list()
|
std::vector<Tab *>& get_tabs_list()
|
||||||
{
|
{
|
||||||
return g_tabs_list;
|
return g_tabs_list;
|
||||||
@ -1122,6 +1131,7 @@ void show_scrolled_window_sizer(bool show)
|
|||||||
g_scrolled_window_sizer->Show(static_cast<size_t>(0), show);
|
g_scrolled_window_sizer->Show(static_cast<size_t>(0), show);
|
||||||
g_scrolled_window_sizer->Show(1, show);
|
g_scrolled_window_sizer->Show(1, show);
|
||||||
g_scrolled_window_sizer->Show(2, show && g_show_print_info);
|
g_scrolled_window_sizer->Show(2, show && g_show_print_info);
|
||||||
|
g_manifold_warning_icon->Show(show && g_show_manifold_warning_icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
void update_mode()
|
void update_mode()
|
||||||
|
@ -20,6 +20,7 @@ class wxBoxSizer;
|
|||||||
class wxFlexGridSizer;
|
class wxFlexGridSizer;
|
||||||
class wxButton;
|
class wxButton;
|
||||||
class wxFileDialog;
|
class wxFileDialog;
|
||||||
|
class wxStaticBitmap;
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
|
|
||||||
@ -86,8 +87,10 @@ void set_objects_from_perl( wxWindow* parent,
|
|||||||
wxButton *btn_export_stl,
|
wxButton *btn_export_stl,
|
||||||
wxButton *btn_reslice,
|
wxButton *btn_reslice,
|
||||||
wxButton *btn_print,
|
wxButton *btn_print,
|
||||||
wxButton *btn_send_gcode);
|
wxButton *btn_send_gcode,
|
||||||
|
wxStaticBitmap *manifold_warning_icon);
|
||||||
void set_show_print_info(bool show);
|
void set_show_print_info(bool show);
|
||||||
|
void set_show_manifold_warning_icon(bool show);
|
||||||
|
|
||||||
AppConfig* get_app_config();
|
AppConfig* get_app_config();
|
||||||
wxApp* get_app();
|
wxApp* get_app();
|
||||||
|
@ -97,7 +97,8 @@ void set_objects_from_perl( SV *ui_parent,
|
|||||||
SV *btn_export_stl,
|
SV *btn_export_stl,
|
||||||
SV *btn_reslice,
|
SV *btn_reslice,
|
||||||
SV *btn_print,
|
SV *btn_print,
|
||||||
SV *btn_send_gcode)
|
SV *btn_send_gcode,
|
||||||
|
SV *manifold_warning_icon)
|
||||||
%code%{ Slic3r::GUI::set_objects_from_perl(
|
%code%{ Slic3r::GUI::set_objects_from_perl(
|
||||||
(wxWindow *)wxPli_sv_2_object(aTHX_ ui_parent, "Wx::Window"),
|
(wxWindow *)wxPli_sv_2_object(aTHX_ ui_parent, "Wx::Window"),
|
||||||
(wxBoxSizer *)wxPli_sv_2_object(aTHX_ frequently_changed_parameters_sizer, "Wx::BoxSizer"),
|
(wxBoxSizer *)wxPli_sv_2_object(aTHX_ frequently_changed_parameters_sizer, "Wx::BoxSizer"),
|
||||||
@ -106,11 +107,15 @@ void set_objects_from_perl( SV *ui_parent,
|
|||||||
(wxButton *)wxPli_sv_2_object(aTHX_ btn_export_stl, "Wx::Button"),
|
(wxButton *)wxPli_sv_2_object(aTHX_ btn_export_stl, "Wx::Button"),
|
||||||
(wxButton *)wxPli_sv_2_object(aTHX_ btn_reslice, "Wx::Button"),
|
(wxButton *)wxPli_sv_2_object(aTHX_ btn_reslice, "Wx::Button"),
|
||||||
(wxButton *)wxPli_sv_2_object(aTHX_ btn_print, "Wx::Button"),
|
(wxButton *)wxPli_sv_2_object(aTHX_ btn_print, "Wx::Button"),
|
||||||
(wxButton *)wxPli_sv_2_object(aTHX_ btn_send_gcode, "Wx::Button")); %};
|
(wxButton *)wxPli_sv_2_object(aTHX_ btn_send_gcode, "Wx::Button"),
|
||||||
|
(wxStaticBitmap *)wxPli_sv_2_object(aTHX_ manifold_warning_icon, "Wx::StaticBitmap")); %};
|
||||||
|
|
||||||
void set_show_print_info(bool show)
|
void set_show_print_info(bool show)
|
||||||
%code%{ Slic3r::GUI::set_show_print_info(show); %};
|
%code%{ Slic3r::GUI::set_show_print_info(show); %};
|
||||||
|
|
||||||
|
void set_show_manifold_warning_icon(bool show)
|
||||||
|
%code%{ Slic3r::GUI::set_show_manifold_warning_icon(show); %};
|
||||||
|
|
||||||
std::string fold_utf8_to_ascii(const char *src)
|
std::string fold_utf8_to_ascii(const char *src)
|
||||||
%code%{ RETVAL = Slic3r::fold_utf8_to_ascii(src); %};
|
%code%{ RETVAL = Slic3r::fold_utf8_to_ascii(src); %};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user