OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
PluginHostUi.cpp File Reference
#include "PluginHostUi.hpp"
#include <pybind11/pytypes.h>
#include <pybind11/gil.h>
#include <pybind11/cast.h>
#include "slic3r/plugin/PluginAuditManager.hpp"
#include "slic3r/plugin/PythonInterpreter.hpp"
#include "slic3r/plugin/PluginFsUtils.hpp"
#include <functional>
#include <exception>
#include <slic3r/GUI/GUI_App.hpp>
#include <slic3r/GUI/MainFrame.hpp>
#include <slic3r/GUI/MsgDialog.hpp>
#include <slic3r/GUI/Plater.hpp>
#include <slic3r/GUI/DockPanel.hpp>
#include <slic3r/GUI/PluginProgressDialog.hpp>
#include <slic3r/GUI/WebDialog.hpp>
#include <slic3r/GUI/NotificationManager.hpp>
#include <nlohmann/json.hpp>
#include <pybind11/pybind11.h>
#include <boost/log/trivial.hpp>
#include <utility>
#include <string>
#include <wx/app.h>
#include <wx/defs.h>
#include <wx/thread.h>
#include <wx/timer.h>
#include <wx/toplevel.h>
#include <wx/event.h>
#include <wx/progdlg.h>
#include <wx/window.h>
#include <algorithm>
#include <atomic>
#include <chrono>
#include <cstdint>
#include <future>
#include <memory>
#include <mutex>
#include <optional>
#include <stdexcept>
#include <type_traits>
#include <unordered_map>
#include <vector>
Include dependency graph for PluginHostUi.cpp:

Go to the source code of this file.

Classes

struct  Slic3r::anonymous_namespace{PluginHostUi.cpp}::GilSafeCallable
class  Slic3r::anonymous_namespace{PluginHostUi.cpp}::UiRegistry
struct  Slic3r::anonymous_namespace{PluginHostUi.cpp}::UiWindowHandle
struct  Slic3r::anonymous_namespace{PluginHostUi.cpp}::UiProgressHandle
struct  Slic3r::anonymous_namespace{PluginHostUi.cpp}::UiDockPanelHandle
class  Slic3r::anonymous_namespace{PluginHostUi.cpp}::PlaterShownWaiter

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::anonymous_namespace{PluginHostUi.cpp}

Typedefs

using Slic3r::anonymous_namespace{PluginHostUi.cpp}::CallablePtr = std::shared_ptr<GilSafeCallable>

Functions

CallablePtr Slic3r::anonymous_namespace{PluginHostUi.cpp}::make_holder (py::object obj)
GUI::WebDialog::MessageHandler Slic3r::anonymous_namespace{PluginHostUi.cpp}::make_message_adapter (py::object on_message)
GUI::WebDialog::SubmitHandler Slic3r::anonymous_namespace{PluginHostUi.cpp}::make_submit_adapter (py::object on_submit)
std::function< void()> Slic3r::anonymous_namespace{PluginHostUi.cpp}::make_close_adapter (const CallablePtr &holder)
bool Slic3r::anonymous_namespace{PluginHostUi.cpp}::app_closing ()
template<typename Fn>
auto Slic3r::anonymous_namespace{PluginHostUi.cpp}::run_on_ui_blocking (Fn &&fn) -> std::invoke_result_t< Fn & >
wxWindow * Slic3r::anonymous_namespace{PluginHostUi.cpp}::ui_parent ()
long Slic3r::anonymous_namespace{PluginHostUi.cpp}::message_style (const std::string &buttons, const std::string &icon)
std::string Slic3r::anonymous_namespace{PluginHostUi.cpp}::button_to_string (int rc)
std::string Slic3r::anonymous_namespace{PluginHostUi.cpp}::ui_message (const std::string &text, const std::string &title, const std::string &buttons, const std::string &icon)
py::object Slic3r::anonymous_namespace{PluginHostUi.cpp}::ui_create_window (const std::string &html, const std::string &title, int width, int height, py::object on_message, py::object on_close, long style, py::object on_submit)
void Slic3r::anonymous_namespace{PluginHostUi.cpp}::run_when_plater_shown (std::function< void(GUI::Plater *)> fn)
py::object Slic3r::anonymous_namespace{PluginHostUi.cpp}::ui_create_dock_panel (const std::string &html, const std::string &title, int width, int height, py::object on_message, py::object on_close, const std::string &dock)
void Slic3r::anonymous_namespace{PluginHostUi.cpp}::handle_post (int id, py::object data)
void Slic3r::anonymous_namespace{PluginHostUi.cpp}::handle_close (int id)
void Slic3r::anonymous_namespace{PluginHostUi.cpp}::handle_show (int id, bool show)
UiProgressHandle Slic3r::anonymous_namespace{PluginHostUi.cpp}::ui_create_progress_dialog (const std::string &title, const std::string &message, int maximum, int style)
UiProgressHandle * Slic3r::anonymous_namespace{PluginHostUi.cpp}::new_progress_dialog (const std::string &title, const std::string &message, int maximum, int style)
bool Slic3r::anonymous_namespace{PluginHostUi.cpp}::progress_is_open (int id)
bool Slic3r::anonymous_namespace{PluginHostUi.cpp}::progress_pulse (int id, const std::string &message)
bool Slic3r::anonymous_namespace{PluginHostUi.cpp}::progress_update (int id, int value, const std::string &message)
void Slic3r::anonymous_namespace{PluginHostUi.cpp}::progress_start_pulse (int id, int interval_ms, const std::string &message)
void Slic3r::anonymous_namespace{PluginHostUi.cpp}::progress_stop_pulse (int id)
void Slic3r::anonymous_namespace{PluginHostUi.cpp}::progress_close (int id)
void Slic3r::anonymous_namespace{PluginHostUi.cpp}::plater_notification (GUI::NotificationManager::NotificationLevel notification_level, const std::string &text, const std::string &hypertext, py::object on_click)

Variables

constexpr long Slic3r::anonymous_namespace{PluginHostUi.cpp}::WINDOW_MODELESS = 0L
constexpr long Slic3r::anonymous_namespace{PluginHostUi.cpp}::WINDOW_MODAL = 1L << 0
constexpr long Slic3r::anonymous_namespace{PluginHostUi.cpp}::PLUGIN_WX_STYLE = wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER
constexpr const char * Slic3r::anonymous_namespace{PluginHostUi.cpp}::DOCK_POSITIONS [] = {"left", "right", "bottom", "float"}

Class Documentation

◆ Slic3r::anonymous_namespace{PluginHostUi.cpp}::UiWindowHandle

struct Slic3r::anonymous_namespace{PluginHostUi.cpp}::UiWindowHandle
Class Members
int id {0}

◆ Slic3r::anonymous_namespace{PluginHostUi.cpp}::UiProgressHandle

struct Slic3r::anonymous_namespace{PluginHostUi.cpp}::UiProgressHandle
Class Members
int id {0}

◆ Slic3r::anonymous_namespace{PluginHostUi.cpp}::UiDockPanelHandle

struct Slic3r::anonymous_namespace{PluginHostUi.cpp}::UiDockPanelHandle
Class Members
int id {0}