mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 12:11:15 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			118 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef slic3r_GUI_hpp_
 | |
| #define slic3r_GUI_hpp_
 | |
| 
 | |
| #include "Config.hpp"
 | |
| #include "callback.hpp"
 | |
| 
 | |
| #include <wx/intl.h>
 | |
| 
 | |
| class wxWindow;
 | |
| class wxMenuBar;
 | |
| class wxNotebook;
 | |
| class wxComboCtrl;
 | |
| class wxFileDialog;
 | |
| class wxTopLevelWindow;
 | |
| 
 | |
| namespace Slic3r { 
 | |
| 
 | |
| class AppConfig;
 | |
| class DynamicPrintConfig;
 | |
| class PreviewIface;
 | |
| class Print;
 | |
| class GCodePreviewData;
 | |
| class AppControllerBase;
 | |
| 
 | |
| using AppControllerPtr = std::shared_ptr<AppControllerBase>;
 | |
| 
 | |
| #define _(s)    Slic3r::GUI::I18N::translate((s))
 | |
| 
 | |
| namespace GUI { namespace I18N {
 | |
| 	inline wxString translate(const char *s)    	 { return wxGetTranslation(wxString(s, wxConvUTF8)); }
 | |
| 	inline wxString translate(const wchar_t *s) 	 { return wxGetTranslation(s); }
 | |
| 	inline wxString translate(const std::string &s)  { return wxGetTranslation(wxString(s.c_str(), wxConvUTF8)); }
 | |
| 	inline wxString translate(const std::wstring &s) { return wxGetTranslation(s.c_str()); }
 | |
| } }
 | |
| 
 | |
| // !!! If you needed to translate some wxString,
 | |
| // !!! please use _(L(string))
 | |
| // !!! _() - is a standard wxWidgets macro to translate
 | |
| // !!! L() is used only for marking localizable string 
 | |
| // !!! It will be used in "xgettext" to create a Locating Message Catalog.
 | |
| #define L(s) s
 | |
| 
 | |
| //! macro used to localization, return wxScopedCharBuffer
 | |
| //! With wxConvUTF8 explicitly specify that the source string is already in UTF-8 encoding
 | |
| #define _CHB(s) wxGetTranslation(wxString(s, wxConvUTF8)).utf8_str()
 | |
| 
 | |
| // Minimal buffer length for translated string (char buf[MIN_BUF_LENGTH_FOR_L])
 | |
| #define MIN_BUF_LENGTH_FOR_L	512
 | |
| 
 | |
| namespace GUI {
 | |
| 
 | |
| void disable_screensaver();
 | |
| void enable_screensaver();
 | |
| bool debugged();
 | |
| void break_to_debugger();
 | |
| 
 | |
| AppConfig*		get_app_config();
 | |
| 
 | |
| AppControllerPtr get_appctl();
 | |
| void             set_cli_appctl();
 | |
| void             set_gui_appctl();
 | |
| 
 | |
| extern void add_menus(wxMenuBar *menu, int event_preferences_changed, int event_language_change);
 | |
| 
 | |
| // Checks if configuration wizard needs to run, calls config_wizard if so.
 | |
| // Returns whether the Wizard ran.
 | |
| extern bool config_wizard_startup(bool app_config_exists);
 | |
| 
 | |
| // Opens the configuration wizard, returns true if wizard is finished & accepted.
 | |
| // The run_reason argument is actually ConfigWizard::RunReason, but int is used here because of Perl.
 | |
| extern void config_wizard(int run_reason);
 | |
| 
 | |
| PreviewIface* create_preview_iface(wxNotebook* notebook, DynamicPrintConfig* config, Print* print, GCodePreviewData* gcode_preview_data);
 | |
| 
 | |
| // Change option value in config
 | |
| void change_opt_value(DynamicPrintConfig& config, const t_config_option_key& opt_key, const boost::any& value, int opt_index = 0);
 | |
| 
 | |
| void show_error(wxWindow* parent, const wxString& message);
 | |
| void show_error_id(int id, const std::string& message);   // For Perl
 | |
| void show_info(wxWindow* parent, const wxString& message, const wxString& title);
 | |
| void warning_catcher(wxWindow* parent, const wxString& message);
 | |
| 
 | |
| // Creates a wxCheckListBoxComboPopup inside the given wxComboCtrl, filled with the given text and items.
 | |
| // Items are all initialized to the given value.
 | |
| // Items must be separated by '|', for example "Item1|Item2|Item3", and so on.
 | |
| void create_combochecklist(wxComboCtrl* comboCtrl, std::string text, std::string items, bool initial_value);
 | |
| 
 | |
| // Returns the current state of the items listed in the wxCheckListBoxComboPopup contained in the given wxComboCtrl,
 | |
| // encoded inside an int.
 | |
| int combochecklist_get_flags(wxComboCtrl* comboCtrl);
 | |
| 
 | |
| // Return translated std::string as a wxString
 | |
| wxString	L_str(const std::string &str);
 | |
| // Return wxString from std::string in UTF8
 | |
| wxString	from_u8(const std::string &str);
 | |
| // Return std::string in UTF8 from wxString
 | |
| std::string	into_u8(const wxString &str);
 | |
| 
 | |
| // Callback to trigger a configuration update timer on the Plater.
 | |
| static PerlCallback g_on_request_update_callback;
 | |
| 
 | |
| // Returns the dimensions of the screen on which the main frame is displayed
 | |
| bool get_current_screen_size(wxWindow *window, unsigned &width, unsigned &height);
 | |
| 
 | |
| // Save window size and maximized status into AppConfig
 | |
| void save_window_size(wxTopLevelWindow *window, const std::string &name);
 | |
| // Restore the above
 | |
| void restore_window_size(wxTopLevelWindow *window, const std::string &name);
 | |
| 
 | |
| // Display an About dialog
 | |
| extern void about();
 | |
| // Ask the destop to open the datadir using the default file explorer.
 | |
| extern void desktop_open_datadir_folder();
 | |
| 
 | |
| } // namespace GUI
 | |
| } // namespace Slic3r
 | |
| 
 | |
| #endif
 | 
