mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-26 18:31:11 +00:00
Merge branch 'main' into pr/tommasobbianchi/15238
This commit is contained in:
@@ -35,6 +35,24 @@
|
||||
#include "PrinterWebView.hpp"
|
||||
#include "calib_dlg.hpp"
|
||||
#include "MultiMachinePage.hpp"
|
||||
#include "slic3r/plugin/host/PluginPages.hpp"
|
||||
|
||||
// Stable identifiers for MainFrame::m_tabpanel's built-in pages. These are
|
||||
// names rather than positional indices so optional pages cannot shift them.
|
||||
#define TAB_ID_HOME "home"
|
||||
#ifdef SLIC3R_CAD
|
||||
#define TAB_ID_DESIGN "design"
|
||||
#endif
|
||||
#define TAB_ID_PREPARE "prepare"
|
||||
#define TAB_ID_PREVIEW "preview"
|
||||
#define TAB_ID_MONITOR "monitor"
|
||||
// Printer-agents mode shows the legacy web page alongside the native Device tab, so it needs an
|
||||
// id of its own: sharing TAB_ID_MONITOR makes every name lookup resolve to whichever of the two
|
||||
// comes first, which silently defeats PluginPages' selection round-trip across a tab relayout.
|
||||
#define TAB_ID_MONITOR_WEB "monitor_web"
|
||||
#define TAB_ID_MULTI_DEVICE "multi_device"
|
||||
#define TAB_ID_PROJECT "project"
|
||||
#define TAB_ID_CALIBRATION "calibration"
|
||||
|
||||
#define ENABEL_PRINT_ALL 0
|
||||
|
||||
@@ -118,7 +136,7 @@ class MainFrame : public DPIFrame
|
||||
wxMenuItem* m_menu_item_reslice_now { nullptr };
|
||||
wxSizer* m_main_sizer{ nullptr };
|
||||
|
||||
size_t m_last_selected_tab;
|
||||
wxString m_last_selected_tab;
|
||||
|
||||
std::string get_base_name(const wxString &full_name, const char *extension = nullptr) const;
|
||||
std::string get_dir_name(const wxString &full_name) const;
|
||||
@@ -217,24 +235,6 @@ public:
|
||||
#ifdef __APPLE__
|
||||
bool get_mac_full_screen() { return m_mac_fullscreen; }
|
||||
#endif
|
||||
//BBS GUI refactor
|
||||
// Implicitly numbered: with SLIC3R_CAD off, tpDesign vanishes and every later tab
|
||||
// falls back to the index it has upstream. Do not reintroduce explicit values.
|
||||
enum TabPosition
|
||||
{
|
||||
tpHome = 0,
|
||||
#ifdef SLIC3R_CAD
|
||||
tpDesign,
|
||||
#endif
|
||||
tp3DEditor,
|
||||
tpPreview,
|
||||
tpMonitor,
|
||||
tpMultiDevice,
|
||||
tpProject,
|
||||
tpCalibration,
|
||||
tpAuxiliary,
|
||||
toDebugTool,
|
||||
};
|
||||
|
||||
//BBS: add slice&&print status update logic
|
||||
enum SlicePrintEventType
|
||||
@@ -334,8 +334,8 @@ public:
|
||||
// When tab == -1, will be selected last selected tab
|
||||
//BBS: GUI refactor
|
||||
void select_tab(wxPanel* panel);
|
||||
void select_tab(size_t tab = size_t(-1));
|
||||
void request_select_tab(TabPosition pos);
|
||||
void select_tab(const wxString& id = wxString());
|
||||
void request_select_tab(const wxString& id);
|
||||
int get_calibration_curr_tab();
|
||||
void select_view(const std::string& direction);
|
||||
// Propagate changed configuration from the Tab to the Plater and save changes to the AppConfig
|
||||
@@ -368,6 +368,9 @@ public:
|
||||
//SoftFever
|
||||
void show_device(bool should_use_native);
|
||||
void fit_tab_labels(); // ORCA
|
||||
// True while either of the two tabs backed by m_plater is selected.
|
||||
bool is_prepare_or_preview_tab() const;
|
||||
PluginPages& plugin_pages() { return m_plugin_pages; }
|
||||
|
||||
PA_Calibration_Dlg* m_pa_calib_dlg{ nullptr };
|
||||
FlowRateCalibrationDialog* m_flow_rate_calib_dlg{ nullptr };
|
||||
@@ -396,7 +399,8 @@ public:
|
||||
CalibrationPanel* m_calibration{ nullptr };
|
||||
WebViewPanel* m_webview { nullptr };
|
||||
PrinterWebView* m_printer_view{nullptr};
|
||||
wxLogWindow* m_log_window { nullptr };
|
||||
PluginPages m_plugin_pages;
|
||||
wxLogWindow* m_log_window { nullptr };
|
||||
// BBS
|
||||
//wxBookCtrlBase* m_tabpanel { nullptr };
|
||||
Notebook* m_tabpanel{ nullptr };
|
||||
|
||||
Reference in New Issue
Block a user