mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 12:11:15 -06:00 
			
		
		
		
	Try to fix tooltips on OSX
This commit is contained in:
		
							parent
							
								
									930a2f1d12
								
							
						
					
					
						commit
						0b1833a2af
					
				
					 5 changed files with 52 additions and 7 deletions
				
			
		|  | @ -110,6 +110,10 @@ sub _init_tabpanel { | |||
|     EVT_NOTEBOOK_PAGE_CHANGED($self, $self->{tabpanel}, sub { | ||||
|         my $panel = $self->{tabpanel}->GetCurrentPage; | ||||
|         $panel->OnActivate if $panel->can('OnActivate'); | ||||
| 
 | ||||
|         for my $tab_name (qw(print filament printer)) { | ||||
|             Slic3r::GUI::get_preset_tab("$tab_name")->OnActivate if ("$tab_name" eq $panel->GetName); | ||||
|         } | ||||
|     }); | ||||
|      | ||||
|     if (!$self->{no_plater}) { | ||||
|  |  | |||
|  | @ -893,9 +893,9 @@ const wxString& ConfigWizard::name() | |||
| { | ||||
| 	// A different naming convention is used for the Wizard on Windows vs. OSX & GTK.
 | ||||
| #if WIN32 | ||||
| 	static const wxString config_wizard_name = _(L("Configuration Wizard")); | ||||
| 	static const wxString config_wizard_name = L("Configuration Wizard"); | ||||
| #else | ||||
| 	static const wxString config_wizard_name = _(L("Configuration Assistant")); | ||||
| 	static const wxString config_wizard_name = L("Configuration Assistant"); | ||||
| #endif | ||||
| 	return config_wizard_name; | ||||
| } | ||||
|  |  | |||
|  | @ -317,10 +317,11 @@ void add_config_menu(wxMenuBar *menu, int event_preferences_changed, int event_l | |||
|     auto local_menu = new wxMenu(); | ||||
|     wxWindowID config_id_base = wxWindow::NewControlId((int)ConfigMenuCnt); | ||||
| 
 | ||||
|     const auto config_wizard_tooltip = wxString::Format(_(L("Run %s")), ConfigWizard::name()); | ||||
| 	const auto config_wizard_name = _(ConfigWizard::name().wx_str()); | ||||
| 	const auto config_wizard_tooltip = wxString::Format(_(L("Run %s")), config_wizard_name); | ||||
|     // Cmd+, is standard on OS X - what about other operating systems?
 | ||||
|    	local_menu->Append(config_id_base + ConfigMenuWizard, 		ConfigWizard::name() + dots, 			config_wizard_tooltip); | ||||
|    	local_menu->Append(config_id_base + ConfigMenuSnapshots, 	_(L("Configuration Snapshots"))+dots,	_(L("Inspect / activate configuration snapshots"))); | ||||
| 	local_menu->Append(config_id_base + ConfigMenuWizard,		config_wizard_name + dots,					config_wizard_tooltip); | ||||
|    	local_menu->Append(config_id_base + ConfigMenuSnapshots, 	_(L("Configuration Snapshots"))+dots,		_(L("Inspect / activate configuration snapshots"))); | ||||
|    	local_menu->Append(config_id_base + ConfigMenuTakeSnapshot, _(L("Take Configuration Snapshot")), 		_(L("Capture a configuration snapshot"))); | ||||
| // 	local_menu->Append(config_id_base + ConfigMenuUpdate, 		_(L("Check for updates")), 					_(L("Check for configuration updates")));
 | ||||
|    	local_menu->AppendSeparator(); | ||||
|  |  | |||
|  | @ -40,10 +40,24 @@ void Tab::create_preset_tab(PresetBundle *preset_bundle) | |||
| 	m_preset_bundle = preset_bundle; | ||||
| 
 | ||||
| 	// Vertical sizer to hold the choice menu and the rest of the page.
 | ||||
| #ifdef __WXOSX__ | ||||
| 	auto  *main_sizer = new wxBoxSizer(wxVERTICAL); | ||||
| 	main_sizer->SetSizeHints(this); | ||||
| 	this->SetSizer(main_sizer); | ||||
| 
 | ||||
| 	m_tmp_panel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBK_LEFT | wxTAB_TRAVERSAL); | ||||
| 	auto panel = m_tmp_panel;  | ||||
| 	auto  sizer = new wxBoxSizer(wxVERTICAL); | ||||
| 	m_tmp_panel->SetSizer(sizer); | ||||
| 	m_tmp_panel->Layout(); | ||||
| 
 | ||||
| 	main_sizer->Add(m_tmp_panel, 1, wxEXPAND | wxALL, 0); | ||||
| #else | ||||
| 	Tab *panel = this; | ||||
| 	auto  *sizer = new wxBoxSizer(wxVERTICAL); | ||||
| 	sizer->SetSizeHints(panel); | ||||
| 	panel->SetSizer(sizer); | ||||
| #endif //__WXOSX__
 | ||||
| 
 | ||||
| 	// preset chooser
 | ||||
| 	m_presets_choice = new wxBitmapComboBox(panel, wxID_ANY, "", wxDefaultPosition, wxSize(270, -1), 0, 0,wxCB_READONLY); | ||||
|  | @ -290,6 +304,28 @@ PageShp Tab::add_options_page(const wxString& title, const std::string& icon, bo | |||
| 	return page; | ||||
| } | ||||
| 
 | ||||
| void Tab::OnActivate() | ||||
| { | ||||
| #ifdef __WXOSX__	 | ||||
| 	wxWindowUpdateLocker noUpdates(this); | ||||
| 
 | ||||
| 	m_tmp_panel->Fit(); | ||||
| 
 | ||||
| 	Page* page = nullptr; | ||||
| 	auto selection = m_treectrl->GetItemText(m_treectrl->GetSelection()); | ||||
| 	for (auto p : m_pages) | ||||
| 		if (p->title() == selection) | ||||
| 		{ | ||||
| 			page = p.get(); | ||||
| 			break; | ||||
| 		} | ||||
| 	if (page == nullptr) return; | ||||
| 	page->Fit(); | ||||
| 	m_hsizer->Layout(); | ||||
| 	Refresh(); | ||||
| #endif // __WXOSX__
 | ||||
| } | ||||
| 
 | ||||
| void Tab::update_labels_colour() | ||||
| { | ||||
| 	Freeze(); | ||||
|  | @ -1248,6 +1284,7 @@ void TabPrint::OnActivate() | |||
| { | ||||
| 	m_recommended_thin_wall_thickness_description_line->SetText( | ||||
| 		from_u8(PresetHints::recommended_thin_wall_thickness(*m_preset_bundle))); | ||||
| 	Tab::OnActivate(); | ||||
| } | ||||
| 
 | ||||
| void TabFilament::build() | ||||
|  | @ -1405,6 +1442,7 @@ void TabFilament::update() | |||
| void TabFilament::OnActivate() | ||||
| { | ||||
| 	m_volumetric_speed_description_line->SetText(from_u8(PresetHints::maximum_volumetric_flow_description(*m_preset_bundle))); | ||||
| 	Tab::OnActivate(); | ||||
| } | ||||
| 
 | ||||
| wxSizer* Tab::description_line_widget(wxWindow* parent, ogStaticText* *StaticText) | ||||
|  |  | |||
|  | @ -118,7 +118,9 @@ protected: | |||
| 	wxButton*			m_undo_btn; | ||||
| 	wxButton*			m_undo_to_sys_btn; | ||||
| 	wxButton*			m_question_btn; | ||||
| 
 | ||||
| #ifdef __WXOSX__ | ||||
| 	wxPanel*			m_tmp_panel; | ||||
| #endif // __WXOSX__
 | ||||
| 	wxComboCtrl*		m_cc_presets_choice; | ||||
| 	wxDataViewTreeCtrl*	m_presetctrl; | ||||
| 	wxImageList*		m_preset_icons; | ||||
|  | @ -242,7 +244,7 @@ public: | |||
| 
 | ||||
| 	PageShp		add_options_page(const wxString& title, const std::string& icon, bool is_extruder_pages = false); | ||||
| 
 | ||||
| 	virtual void	OnActivate(){} | ||||
| 	virtual void	OnActivate(); | ||||
| 	virtual void	on_preset_loaded(){} | ||||
| 	virtual void	build() = 0; | ||||
| 	virtual void	update() = 0; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 YuSanka
						YuSanka