OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
GUI_App.cpp File Reference
#include "CloudProvider.hpp"
#include "ExportPresetBundleDialog.hpp"
#include "ICloudServiceAgent.hpp"
#include "IPrinterAgent.hpp"
#include "OrcaCloudServiceAgent.hpp"
#include "libslic3r/Technologies.hpp"
#include "libslic3r/Platform.hpp"
#include "GUI_App.hpp"
#include "Shortcuts.hpp"
#include "DeviceCore/DevConfigUtil.h"
#include "BindDialog.hpp"
#include "DeviceManager.hpp"
#include "HMS.hpp"
#include "PresetBundleDialog.hpp"
#include "WebUserLoginDialog.hpp"
#include "WebViewDialog.hpp"
#include "slic3r/Utils/BBLCloudServiceAgent.hpp"
#include "slic3r/Utils/NetworkAgent.hpp"
#include "GUI_Init.hpp"
#include "GUI_ObjectList.hpp"
#include "slic3r/GUI/UserManager.hpp"
#include "slic3r/GUI/TaskManager.hpp"
#include "format.hpp"
#include "libslic3r_version.h"
#include "BuildCommit.hpp"
#include "Downloader.hpp"
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/replace.hpp>
#include <boost/algorithm/string/case_conv.hpp>
#include <boost/assert/source_location.hpp>
#include <boost/algorithm/string/trim.hpp>
#include <atomic>
#include <boost/asio/ip/basic_endpoint.hpp>
#include <boost/chrono/duration.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/directory.hpp>
#include <boost/format/exceptions.hpp>
#include <boost/filesystem/file_status.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/exception.hpp>
#include <boost/locale/encoding_utf.hpp>
#include <boost/log/detail/native_typeof.hpp>
#include <cstdint>
#include <iomanip>
#include <iostream>
#include <cassert>
#include <filesystem>
#include <ctime>
#include "libslic3r/AppConfig.hpp"
#include <ios>
#include <chrono>
#include <functional>
#include <boost/optional/optional.hpp>
#include <fstream>
#include <boost/none.hpp>
#include <cstring>
#include <cmath>
#include <climits>
#include <cctype>
#include <cstdio>
#include <libslic3r/Config.hpp>
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <ostream>
#include <new>
#include "libslic3r/Exception.hpp"
#include "slic3r/GUI/MsgDialog.hpp"
#include <memory>
#include "slic3r/GUI/Jobs/UpgradeNetworkJob.hpp"
#include "slic3r/GUI/Jobs/SendJob.hpp"
#include "slic3r/GUI/Printer/PrinterFileSystem.h"
#include <miniz.h>
#include "slic3r/GUI/Monitor.hpp"
#include "slic3r/GUI/OpenGLManager.hpp"
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include <optional>
#include "slic3r/GUI/UserNotification.hpp"
#include <map>
#include "libslic3r/Preset.hpp"
#include <set>
#include "libslic3r/libslic3r.h"
#include "slic3r/GUI/PrinterWebView.hpp"
#include "libslic3r/PrintConfig.hpp"
#include <slic3r/plugin/PythonPluginInterface.hpp>
#include <string>
#include <vector>
#include <sstream>
#include <wx/dcclient.h>
#include <wx/chartype.h>
#include <utility>
#include <wx/app.h>
#include <wx/busycursor.h>
#include <wx/debug.h>
#include <wx/anybutton.h>
#include <wx/clntdata.h>
#include <unordered_set>
#include <stdio.h>
#include <wx/arrstr.h>
#include <wx/event.h>
#include <wx/strconv.h>
#include <wx/gdicmn.h>
#include <wx/string.h>
#include <wx/frame.h>
#include <wx/filename.h>
#include <wx/translation.h>
#include <wx/msgdlg.h>
#include <wx/setup.h>
#include <wx/timer.h>
#include <wx/snglinst.h>
#include <wx/image.h>
#include <wx/settings.h>
#include <wx/font.h>
#include <wx/platinfo.h>
#include <wx/language.h>
#include <wx/localedefs.h>
#include <wx/eventfilter.h>
#include <wx/toplevel.h>
#include "libslic3r/I18N.hpp"
#include "libslic3r/Point.hpp"
#include "slic3r/GUI/I18N.hpp"
#include <algorithm>
#include <iterator>
#include <exception>
#include <cstdlib>
#include <mutex>
#include <regex>
#include <system_error>
#include <thread>
#include <string_view>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/format.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/log/sources/record_ostream.hpp>
#include <boost/log/sources/severity_feature.hpp>
#include <boost/log/sources/severity_logger.hpp>
#include <boost/log/trivial.hpp>
#include <boost/nowide/convert.hpp>
#include <boost/nowide/cstdio.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
#include <boost/beast/core/detail/base64.hpp>
#include <wx/stdpaths.h>
#include <wx/imagpng.h>
#include <wx/display.h>
#include <wx/menu.h>
#include <wx/menuitem.h>
#include <wx/filedlg.h>
#include <wx/progdlg.h>
#include <wx/busyinfo.h>
#include <wx/dir.h>
#include <wx/wupdlock.h>
#include <wx/filefn.h>
#include <wx/sysopt.h>
#include <wx/richmsgdlg.h>
#include <wx/log.h>
#include <wx/intl.h>
#include <wx/dialog.h>
#include <wx/textctrl.h>
#include <wx/splash.h>
#include <wx/weakref.h>
#include <wx/fontutil.h>
#include <wx/glcanvas.h>
#include <wx/utils.h>
#include <openssl/hmac.h>
#include <openssl/evp.h>
#include "libslic3r/Utils.hpp"
#include "libslic3r/Geometry.hpp"
#include "libslic3r/Model.hpp"
#include "libslic3r/PresetBundle.hpp"
#include "libslic3r/InstanceLock.hpp"
#include "libslic3r/Thread.hpp"
#include "libslic3r/miniz_extension.hpp"
#include "slic3r/plugin/PluginManager.hpp"
#include "slic3r/plugin/host/PluginHostUi.hpp"
#include "slic3r/plugin/PythonInterpreter.hpp"
#include "GUI.hpp"
#include "GUI_Utils.hpp"
#include "3DScene.hpp"
#include "MainFrame.hpp"
#include "Plater.hpp"
#include "GLCanvas3D.hpp"
#include "EncodedFilament.hpp"
#include "GeneratedConfig.hpp"
#include "DeviceCore/DevManager.h"
#include "../Utils/PresetUpdater.hpp"
#include "../Utils/PrintHost.hpp"
#include "../Utils/Process.hpp"
#include "../Utils/wxInspectorPlugins/Registration.hpp"
#include "../Utils/Http.hpp"
#include "../Utils/InstanceID.hpp"
#include "../Utils/UndoRedo.hpp"
#include "slic3r/Config/Snapshot.hpp"
#include "Preferences.hpp"
#include "Tab.hpp"
#include "UpdateDialogs.hpp"
#include "Mouse3DController.hpp"
#include "RemovableDriveManager.hpp"
#include "InstanceCheck.hpp"
#include "NotificationManager.hpp"
#include "UnsavedChangesDialog.hpp"
#include "SavePresetDialog.hpp"
#include "PrintHostDialogs.hpp"
#include "NetworkPluginDialog.hpp"
#include "DesktopIntegrationDialog.hpp"
#include "KBShortcutsDialog.hpp"
#include "DownloadProgressDialog.hpp"
#include "TroubleshootDialog.hpp"
#include "BitmapCache.hpp"
#include "Notebook.hpp"
#include "Widgets/Label.hpp"
#include "Widgets/ProgressDialog.hpp"
#include "WebGuideDialog.hpp"
#include "ReleaseNote.hpp"
#include "PrivacyUpdateDialog.hpp"
#include "ModelMall.hpp"
#include "HintNotification.hpp"
#include "slic3r/Utils/NetworkAgentFactory.hpp"
#include "slic3r/Utils/BBLNetworkPlugin.hpp"
#include "slic3r/Utils/bambu_networking.hpp"
#include "PluginsDialog.hpp"
#include "SpeedDialDialog.hpp"
#include "TerminalDialog.hpp"
#include "libslic3r/Format/STEP.hpp"
#include "libslic3r/Semver.hpp"
#include "slic3r/GUI/ActionRegistry.hpp"
#include "slic3r/GUI/Camera.hpp"
#include "slic3r/GUI/ConfigWizard.hpp"
#include "slic3r/GUI/Gizmos/GLGizmosManager.hpp"
#include "slic3r/GUI/HttpServer.hpp"
#include "slic3r/GUI/ImGuiWrapper.hpp"
#include "slic3r/GUI/ParamsDialog.hpp"
#include "slic3r/GUI/ParamsPanel.hpp"
#include "slic3r/GUI/PartPlate.hpp"
#include "slic3r/GUI/TextureLibrary.hpp"
#include "slic3r/GUI/Widgets/Button.hpp"
#include "slic3r/GUI/wxExtensions.hpp"
#include "slic3r/plugin/host/PluginPages.hpp"
#include "slic3r/plugin/host/PluginResourceTextures.hpp"
#include <wx/defs.h>
#include "slic3r/GUI/Widgets/WebView.hpp"
#include <cwchar>
#include <wx/dataview.h>
#include <wx/itemattr.h>
#include <wx/version.h>
#include <nlohmann/json.hpp>

Go to the source code of this file.

Classes

struct  StaticBambuLib
class  Slic3r::GUI::SplashScreen
struct  Slic3r::GUI::FileWildcards
class  Slic3r::GUI::wxBoostLog
struct  Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::UpdaterQuery

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::GUI
namespace  Slic3r::GUI::anonymous_namespace{GUI_App.cpp}

Macros

#define SLIC3R_ALLOW_LIBSLIC3R_I18N_IN_SLIC3R

Functions

static std::shared_ptr< OrcaCloudServiceAgent > Slic3r::GUI::get_orca_cloud_agent (NetworkAgent *agent)
static wxString Slic3r::GUI::cloud_page_url (NetworkAgent *agent, const std::string &path)
void Slic3r::GUI::start_ping_test ()
wxString Slic3r::GUI::file_wildcards (FileType file_type, const std::string &custom_extension)
static std::string Slic3r::GUI::libslic3r_translate_callback (const char *s)
static void Slic3r::GUI::generic_exception_handle ()
 Slic3r::GUI::wxDEFINE_EVENT (EVT_ENTER_FORCE_UPGRADE, wxCommandEvent)
 Slic3r::GUI::wxDEFINE_EVENT (EVT_SHOW_NO_NEW_VERSION, wxCommandEvent)
 Slic3r::GUI::wxDEFINE_EVENT (EVT_SHOW_DIALOG, wxCommandEvent)
 Slic3r::GUI::wxDEFINE_EVENT (EVT_CONNECT_LAN_MODE_PRINT, wxCommandEvent)
 Slic3r::GUI::wxDEFINE_EVENT (EVT_UPDATE_PRESET_BUNDLE, wxCommandEvent)
 Slic3r::GUI::wxDEFINE_EVENT (EVT_UPDATE_BUNDLE_COMPLETE, wxCommandEvent)
static std::string Slic3r::GUI::decode (std::string const &extra, std::string const &path={})
void Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::stop_orca_health_check (NetworkAgent *agent)
static boost::optional< Semver > Slic3r::GUI::parse_semver_from_ini (std::string path)
std::string Slic3r::GUI::get_system_info ()
static void Slic3r::GUI::update_dark_children_ui (wxWindow *window, bool just_buttons_update=false)
void Slic3r::GUI::switch_window_pools ()
void Slic3r::GUI::release_window_pools ()
void Slic3r::GUI::fatal_error (wxWindow *parent)
Semver Slic3r::GUI::get_version (const std::string &str, const std::regex &regexp)
std::string Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::detect_updater_os_info ()
std::string Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::detect_updater_version ()
std::string Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::detect_updater_iid (AppConfig *config)
std::string Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::encode_uri_component (const std::string &value)
std::string Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::build_updater_query (const UpdaterQuery &query)
std::string Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::base64url_encode (const unsigned char *data, std::size_t length)
std::optional< std::vector< unsigned char > > Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::load_signature_key ()
const std::optional< std::vector< unsigned char > > & Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::get_signature_key ()
std::string Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::extract_path_from_url (const std::string &url)
void Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::maybe_attach_updater_signature (Http &http, const std::string &canonical_query, const std::string &request_url)
ConfigOptionMode Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::saved_mode_from_string (const std::string &mode)
std::string Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::saved_mode_to_string (ConfigOptionMode mode)
std::string Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::effective_mode_to_string (ConfigOptionMode mode)
bool Slic3r::GUI::is_soluble_filament (int extruder_id)
bool Slic3r::GUI::has_filaments (const std::vector< std::string > &model_filaments)
bool Slic3r::GUI::is_support_filament (int extruder_id, bool strict_check)
Vec3d Slic3r::GUI::build_plate_tilt_up_direction ()

Variables

static const FileWildcards Slic3r::GUI::file_wildcards_by_type [FT_SIZE]
constexpr int Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::CALLBACK_DRAIN_TIMEOUT_MS = 200
constexpr int Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::NETWORK_IDLE_TIMEOUT_MS = 500
constexpr int Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::FINAL_DRAIN_TIMEOUT_MS = 100
constexpr int Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::POLL_INTERVAL_MS = 50
constexpr int Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::MAX_YIELD_ITERATIONS = 20
static std::mutex Slic3r::GUI::conflict_ids_mutex
static std::mutex Slic3r::GUI::mutex_delete_cache_presets

Class Documentation

◆ Slic3r::GUI::FileWildcards

struct Slic3r::GUI::FileWildcards
Collaboration diagram for Slic3r::GUI::FileWildcards:
Class Members
vector< string_view > file_extensions
const char * title_id

◆ Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::UpdaterQuery

struct Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::UpdaterQuery
Collaboration diagram for Slic3r::GUI::anonymous_namespace{GUI_App.cpp}::UpdaterQuery:
Class Members
string arch
string iid
string os
string os_info
string version

Macro Definition Documentation

◆ SLIC3R_ALLOW_LIBSLIC3R_I18N_IN_SLIC3R

#define SLIC3R_ALLOW_LIBSLIC3R_I18N_IN_SLIC3R