mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-20 07:11:12 -06:00 
			
		
		
		
	Show/hide warning icon according to the view mode
This commit is contained in:
		
							parent
							
								
									4e47f4973c
								
							
						
					
					
						commit
						876cf9aa8b
					
				
					 4 changed files with 47 additions and 13 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 YuSanka
						YuSanka