mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 00:37:51 -06:00
ENABLE_GCODE_VIEWER_AS_STATE -> Load gcode from file and process it
This commit is contained in:
parent
bd5a5bf78f
commit
ca17948f87
12 changed files with 46 additions and 138 deletions
|
@ -37,7 +37,7 @@ void GCodeProcessor::CpColor::reset()
|
||||||
current = 0;
|
current = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int GCodeProcessor::Result::id = 0;
|
unsigned int GCodeProcessor::s_result_id = 0;
|
||||||
|
|
||||||
void GCodeProcessor::apply_config(const PrintConfig& config)
|
void GCodeProcessor::apply_config(const PrintConfig& config)
|
||||||
{
|
{
|
||||||
|
@ -84,19 +84,19 @@ void GCodeProcessor::reset()
|
||||||
m_cp_color.reset();
|
m_cp_color.reset();
|
||||||
|
|
||||||
m_result.reset();
|
m_result.reset();
|
||||||
|
m_result.id = ++s_result_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GCodeProcessor::process_file(const std::string& filename)
|
void GCodeProcessor::process_file(const std::string& filename)
|
||||||
{
|
{
|
||||||
|
m_result.id = ++s_result_id;
|
||||||
m_result.moves.emplace_back(MoveVertex());
|
m_result.moves.emplace_back(MoveVertex());
|
||||||
m_parser.parse_file(filename, [this](GCodeReader& reader, const GCodeReader::GCodeLine& line) { process_gcode_line(line); });
|
m_parser.parse_file(filename, [this](GCodeReader& reader, const GCodeReader::GCodeLine& line) { process_gcode_line(line); });
|
||||||
}
|
}
|
||||||
|
|
||||||
void GCodeProcessor::process_gcode_line(const GCodeReader::GCodeLine& line)
|
void GCodeProcessor::process_gcode_line(const GCodeReader::GCodeLine& line)
|
||||||
{
|
{
|
||||||
/*
|
/* std::cout << line.raw() << std::endl; */
|
||||||
std::cout << line.raw() << std::endl;
|
|
||||||
*/
|
|
||||||
|
|
||||||
// update start position
|
// update start position
|
||||||
m_start_position = m_end_position;
|
m_start_position = m_end_position;
|
||||||
|
@ -296,24 +296,18 @@ void GCodeProcessor::process_G1(const GCodeReader::GCodeLine& line)
|
||||||
} else if (delta_pos[X] != 0.0f || delta_pos[Y] != 0.0f || delta_pos[Z] != 0.0f)
|
} else if (delta_pos[X] != 0.0f || delta_pos[Y] != 0.0f || delta_pos[Z] != 0.0f)
|
||||||
type = EMoveType::Travel;
|
type = EMoveType::Travel;
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
if (type == EMoveType::Extrude && (m_width == 0.0f || m_height == 0.0f))
|
if (type == EMoveType::Extrude && (m_width == 0.0f || m_height == 0.0f)) {
|
||||||
{
|
if (m_extrusion_role != erCustom) {
|
||||||
if (m_extrusion_role != erCustom)
|
|
||||||
{
|
|
||||||
m_width = 0.5f;
|
m_width = 0.5f;
|
||||||
m_height = 0.5f;
|
m_height = 0.5f;
|
||||||
}
|
}
|
||||||
type = EMoveType::Travel;
|
type = EMoveType::Travel;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
if (type == EMoveType::Extrude && (m_width == 0.0f || m_height == 0.0f || !is_valid_extrusion_role(m_extrusion_role)))
|
if (type == EMoveType::Extrude && (m_width == 0.0f || m_height == 0.0f || !is_valid_extrusion_role(m_extrusion_role)))
|
||||||
type = EMoveType::Travel;
|
type = EMoveType::Travel;
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
return type;
|
return type;
|
||||||
};
|
};
|
||||||
|
|
|
@ -104,9 +104,9 @@ namespace Slic3r {
|
||||||
|
|
||||||
struct Result
|
struct Result
|
||||||
{
|
{
|
||||||
static unsigned int id;
|
unsigned int id;
|
||||||
std::vector<MoveVertex> moves;
|
std::vector<MoveVertex> moves;
|
||||||
void reset() { ++id; moves = std::vector<MoveVertex>(); }
|
void reset() { moves = std::vector<MoveVertex>(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -134,6 +134,7 @@ namespace Slic3r {
|
||||||
CpColor m_cp_color;
|
CpColor m_cp_color;
|
||||||
|
|
||||||
Result m_result;
|
Result m_result;
|
||||||
|
static unsigned int s_result_id;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GCodeProcessor() { reset(); }
|
GCodeProcessor() { reset(); }
|
||||||
|
|
|
@ -55,9 +55,7 @@
|
||||||
#define ENABLE_GCODE_VIEWER (1 && ENABLE_2_3_0_ALPHA1)
|
#define ENABLE_GCODE_VIEWER (1 && ENABLE_2_3_0_ALPHA1)
|
||||||
#define ENABLE_GCODE_VIEWER_STATISTICS (0 && ENABLE_GCODE_VIEWER)
|
#define ENABLE_GCODE_VIEWER_STATISTICS (0 && ENABLE_GCODE_VIEWER)
|
||||||
#define ENABLE_GCODE_VIEWER_SHADERS_EDITOR (1 && ENABLE_GCODE_VIEWER)
|
#define ENABLE_GCODE_VIEWER_SHADERS_EDITOR (1 && ENABLE_GCODE_VIEWER)
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#define ENABLE_GCODE_VIEWER_AS_STATE (1 && ENABLE_GCODE_VIEWER)
|
#define ENABLE_GCODE_VIEWER_AS_STATE (1 && ENABLE_GCODE_VIEWER)
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _prusaslicer_technologies_h_
|
#endif // _prusaslicer_technologies_h_
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
#include "libslic3r/Print.hpp"
|
#include "libslic3r/Print.hpp"
|
||||||
#include "libslic3r/Geometry.hpp"
|
#include "libslic3r/Geometry.hpp"
|
||||||
#include "GUI_App.hpp"
|
#include "GUI_App.hpp"
|
||||||
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
|
#include "MainFrame.hpp"
|
||||||
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
#include "Plater.hpp"
|
#include "Plater.hpp"
|
||||||
#include "PresetBundle.hpp"
|
#include "PresetBundle.hpp"
|
||||||
#include "Camera.hpp"
|
#include "Camera.hpp"
|
||||||
|
@ -446,8 +449,14 @@ void GCodeViewer::load_toolpaths(const GCodeProcessor::Result& gcode_result)
|
||||||
std::vector<float> vertices_data(m_vertices.vertices_count * 3);
|
std::vector<float> vertices_data(m_vertices.vertices_count * 3);
|
||||||
for (size_t i = 0; i < m_vertices.vertices_count; ++i) {
|
for (size_t i = 0; i < m_vertices.vertices_count; ++i) {
|
||||||
const GCodeProcessor::MoveVertex& move = gcode_result.moves[i];
|
const GCodeProcessor::MoveVertex& move = gcode_result.moves[i];
|
||||||
if (move.type == GCodeProcessor::EMoveType::Extrude)
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
|
if (wxGetApp().mainframe->get_mode() != MainFrame::EMode::GCodeViewer) {
|
||||||
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
|
if (move.type == GCodeProcessor::EMoveType::Extrude && move.width != 0.0f && move.height != 0.0f)
|
||||||
m_bounding_box.merge(move.position.cast<double>());
|
m_bounding_box.merge(move.position.cast<double>());
|
||||||
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
|
}
|
||||||
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
::memcpy(static_cast<void*>(&vertices_data[i * 3]), static_cast<const void*>(move.position.data()), 3 * sizeof(float));
|
::memcpy(static_cast<void*>(&vertices_data[i * 3]), static_cast<const void*>(move.position.data()), 3 * sizeof(float));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -127,9 +127,7 @@ class GLCanvas3D
|
||||||
static const double DefaultCameraZoomToBoxMarginFactor;
|
static const double DefaultCameraZoomToBoxMarginFactor;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if !ENABLE_GCODE_VIEWER
|
#if !ENABLE_GCODE_VIEWER
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
struct GCodePreviewVolumeIndex
|
struct GCodePreviewVolumeIndex
|
||||||
{
|
{
|
||||||
enum EType
|
enum EType
|
||||||
|
@ -156,9 +154,7 @@ public:
|
||||||
|
|
||||||
void reset() { first_volumes.clear(); }
|
void reset() { first_volumes.clear(); }
|
||||||
};
|
};
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // !ENABLE_GCODE_VIEWER
|
#endif // !ENABLE_GCODE_VIEWER
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class LayersEditing
|
class LayersEditing
|
||||||
|
@ -514,13 +510,9 @@ private:
|
||||||
|
|
||||||
bool m_reload_delayed;
|
bool m_reload_delayed;
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if !ENABLE_GCODE_VIEWER
|
#if !ENABLE_GCODE_VIEWER
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
GCodePreviewVolumeIndex m_gcode_preview_volume_index;
|
GCodePreviewVolumeIndex m_gcode_preview_volume_index;
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // !ENABLE_GCODE_VIEWER
|
#endif // !ENABLE_GCODE_VIEWER
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
#if ENABLE_RENDER_PICKING_PASS
|
#if ENABLE_RENDER_PICKING_PASS
|
||||||
bool m_show_picking_texture;
|
bool m_show_picking_texture;
|
||||||
|
|
|
@ -760,7 +760,6 @@ void GUI_App::import_model(wxWindow *parent, wxArrayString& input_files) const
|
||||||
dialog.GetPaths(input_files);
|
dialog.GetPaths(input_files);
|
||||||
}
|
}
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void GUI_App::load_gcode(wxWindow* parent, wxString& input_file) const
|
void GUI_App::load_gcode(wxWindow* parent, wxString& input_file) const
|
||||||
{
|
{
|
||||||
|
@ -774,7 +773,6 @@ void GUI_App::load_gcode(wxWindow* parent, wxString& input_file) const
|
||||||
input_file = dialog.GetPath();
|
input_file = dialog.GetPath();
|
||||||
}
|
}
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
bool GUI_App::switch_language()
|
bool GUI_App::switch_language()
|
||||||
{
|
{
|
||||||
|
|
|
@ -156,11 +156,9 @@ public:
|
||||||
void keyboard_shortcuts();
|
void keyboard_shortcuts();
|
||||||
void load_project(wxWindow *parent, wxString& input_file) const;
|
void load_project(wxWindow *parent, wxString& input_file) const;
|
||||||
void import_model(wxWindow *parent, wxArrayString& input_files) const;
|
void import_model(wxWindow *parent, wxArrayString& input_files) const;
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void load_gcode(wxWindow* parent, wxString& input_file) const;
|
void load_gcode(wxWindow* parent, wxString& input_file) const;
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
static bool catch_error(std::function<void()> cb, const std::string& err);
|
static bool catch_error(std::function<void()> cb, const std::string& err);
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,9 @@
|
||||||
#include "PresetBundle.hpp"
|
#include "PresetBundle.hpp"
|
||||||
#include "DoubleSlider.hpp"
|
#include "DoubleSlider.hpp"
|
||||||
#include "Plater.hpp"
|
#include "Plater.hpp"
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
#include "MainFrame.hpp"
|
#include "MainFrame.hpp"
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
#include <wx/notebook.h>
|
#include <wx/notebook.h>
|
||||||
#include <wx/glcanvas.h>
|
#include <wx/glcanvas.h>
|
||||||
|
@ -1193,13 +1191,11 @@ void Preview::update_double_slider_from_canvas(wxKeyEvent & event)
|
||||||
|
|
||||||
void Preview::load_print_as_fff(bool keep_z_range)
|
void Preview::load_print_as_fff(bool keep_z_range)
|
||||||
{
|
{
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
if (wxGetApp().mainframe == nullptr)
|
if (wxGetApp().mainframe == nullptr)
|
||||||
// avoid proessing while mainframe is being constructed
|
// avoid proessing while mainframe is being constructed
|
||||||
return;
|
return;
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
if (m_loaded || m_process->current_printer_technology() != ptFFF)
|
if (m_loaded || m_process->current_printer_technology() != ptFFF)
|
||||||
return;
|
return;
|
||||||
|
@ -1224,23 +1220,17 @@ void Preview::load_print_as_fff(bool keep_z_range)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
if (wxGetApp().mainframe->get_mode() != MainFrame::EMode::GCodeViewer && !has_layers)
|
if (wxGetApp().mainframe->get_mode() != MainFrame::EMode::GCodeViewer && !has_layers)
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
if (! has_layers)
|
if (! has_layers)
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
{
|
{
|
||||||
#if ENABLE_GCODE_VIEWER
|
#if ENABLE_GCODE_VIEWER
|
||||||
hide_layers_slider();
|
hide_layers_slider();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
GetSizer()->Hide(m_bottom_toolbar_panel);
|
GetSizer()->Hide(m_bottom_toolbar_panel);
|
||||||
GetSizer()->Layout();
|
GetSizer()->Layout();
|
||||||
Refresh();
|
Refresh();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#else
|
#else
|
||||||
reset_sliders(true);
|
reset_sliders(true);
|
||||||
m_canvas->reset_legend_texture();
|
m_canvas->reset_legend_texture();
|
||||||
|
@ -1270,15 +1260,11 @@ void Preview::load_print_as_fff(bool keep_z_range)
|
||||||
|
|
||||||
#if ENABLE_GCODE_VIEWER
|
#if ENABLE_GCODE_VIEWER
|
||||||
GCodeViewer::EViewType gcode_view_type = m_canvas->get_gcode_view_preview_type();
|
GCodeViewer::EViewType gcode_view_type = m_canvas->get_gcode_view_preview_type();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
bool gcode_preview_data_valid = !m_gcode_result->moves.empty();
|
bool gcode_preview_data_valid = !m_gcode_result->moves.empty();
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
bool gcode_preview_data_valid = print->is_step_done(psGCodeExport);
|
bool gcode_preview_data_valid = print->is_step_done(psGCodeExport);
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#else
|
#else
|
||||||
bool gcode_preview_data_valid = print->is_step_done(psGCodeExport) && ! m_gcode_preview_data->empty();
|
bool gcode_preview_data_valid = print->is_step_done(psGCodeExport) && ! m_gcode_preview_data->empty();
|
||||||
#endif // ENABLE_GCODE_VIEWER
|
#endif // ENABLE_GCODE_VIEWER
|
||||||
|
|
|
@ -81,7 +81,6 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_S
|
||||||
|
|
||||||
// initialize tabpanel and menubar
|
// initialize tabpanel and menubar
|
||||||
init_tabpanel();
|
init_tabpanel();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
init_editor_menubar();
|
init_editor_menubar();
|
||||||
init_gcodeviewer_menubar();
|
init_gcodeviewer_menubar();
|
||||||
|
@ -99,11 +98,8 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_S
|
||||||
SetAcceleratorTable(accel);
|
SetAcceleratorTable(accel);
|
||||||
#endif // _WIN32
|
#endif // _WIN32
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
init_menubar();
|
init_menubar();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
// set default tooltip timer in msec
|
// set default tooltip timer in msec
|
||||||
// SetAutoPop supposedly accepts long integers but some bug doesn't allow for larger values
|
// SetAutoPop supposedly accepts long integers but some bug doesn't allow for larger values
|
||||||
|
@ -248,7 +244,6 @@ void MainFrame::shutdown()
|
||||||
}
|
}
|
||||||
#endif // _WIN32
|
#endif // _WIN32
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
if (m_plater != nullptr) {
|
if (m_plater != nullptr) {
|
||||||
m_plater->stop_jobs();
|
m_plater->stop_jobs();
|
||||||
|
@ -263,7 +258,6 @@ void MainFrame::shutdown()
|
||||||
m_plater->reset_canvas_volumes();
|
m_plater->reset_canvas_volumes();
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
if (m_plater)
|
if (m_plater)
|
||||||
m_plater->stop_jobs();
|
m_plater->stop_jobs();
|
||||||
|
|
||||||
|
@ -275,9 +269,7 @@ void MainFrame::shutdown()
|
||||||
// Cleanup of canvases' volumes needs to be done here or a crash may happen on some Linux Debian flavours
|
// Cleanup of canvases' volumes needs to be done here or a crash may happen on some Linux Debian flavours
|
||||||
// see: https://github.com/prusa3d/PrusaSlicer/issues/3964
|
// see: https://github.com/prusa3d/PrusaSlicer/issues/3964
|
||||||
if (m_plater) m_plater->reset_canvas_volumes();
|
if (m_plater) m_plater->reset_canvas_volumes();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
// Weird things happen as the Paint messages are floating around the windows being destructed.
|
// Weird things happen as the Paint messages are floating around the windows being destructed.
|
||||||
// Avoid the Paint messages by hiding the main window.
|
// Avoid the Paint messages by hiding the main window.
|
||||||
|
@ -288,9 +280,8 @@ void MainFrame::shutdown()
|
||||||
if (m_settings_dialog)
|
if (m_settings_dialog)
|
||||||
m_settings_dialog->Destroy();
|
m_settings_dialog->Destroy();
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
if (m_plater != nullptr) {
|
if (m_plater != nullptr) {
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
// restore sidebar if it was hidden when switching to gcode viewer mode
|
||||||
if (m_restore_from_gcode_viewer.collapsed_sidebar)
|
if (m_restore_from_gcode_viewer.collapsed_sidebar)
|
||||||
m_plater->collapse_sidebar(false);
|
m_plater->collapse_sidebar(false);
|
||||||
// Stop the background thread (Windows and Linux).
|
// Stop the background thread (Windows and Linux).
|
||||||
|
@ -298,9 +289,7 @@ void MainFrame::shutdown()
|
||||||
m_plater->get_mouse3d_controller().shutdown();
|
m_plater->get_mouse3d_controller().shutdown();
|
||||||
// Store the device parameter database back to appconfig.
|
// Store the device parameter database back to appconfig.
|
||||||
m_plater->get_mouse3d_controller().save_config(*wxGetApp().app_config);
|
m_plater->get_mouse3d_controller().save_config(*wxGetApp().app_config);
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
}
|
}
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
// Stop the background thread of the removable drive manager, so that no new updates will be sent to the Plater.
|
// Stop the background thread of the removable drive manager, so that no new updates will be sent to the Plater.
|
||||||
wxGetApp().removable_drive_manager()->shutdown();
|
wxGetApp().removable_drive_manager()->shutdown();
|
||||||
|
@ -642,7 +631,6 @@ void MainFrame::on_sys_color_changed()
|
||||||
msw_rescale_menu(menu_bar->GetMenu(id));
|
msw_rescale_menu(menu_bar->GetMenu(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
// \xA0 is a non-breaking space. It is entered here to spoil the automatic accelerators,
|
// \xA0 is a non-breaking space. It is entered here to spoil the automatic accelerators,
|
||||||
|
@ -716,11 +704,8 @@ static void add_common_view_menu_items(wxMenu* view_menu, MainFrame* mainFrame,
|
||||||
|
|
||||||
void MainFrame::init_editor_menubar()
|
void MainFrame::init_editor_menubar()
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
void MainFrame::init_menubar()
|
void MainFrame::init_menubar()
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
{
|
{
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
wxMenuBar::SetAutoWindowMenu(false);
|
wxMenuBar::SetAutoWindowMenu(false);
|
||||||
|
@ -880,21 +865,17 @@ void MainFrame::init_menubar()
|
||||||
append_menu_item(fileMenu, wxID_ANY, _L("&Repair STL file") + dots, _L("Automatically repair an STL file"),
|
append_menu_item(fileMenu, wxID_ANY, _L("&Repair STL file") + dots, _L("Automatically repair an STL file"),
|
||||||
[this](wxCommandEvent&) { repair_stl(); }, "wrench", nullptr,
|
[this](wxCommandEvent&) { repair_stl(); }, "wrench", nullptr,
|
||||||
[this]() {return true; }, this);
|
[this]() {return true; }, this);
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
fileMenu->AppendSeparator();
|
fileMenu->AppendSeparator();
|
||||||
append_menu_item(fileMenu, wxID_ANY, _L("&G-code preview"), _L("Switch to G-code preview mode"),
|
append_menu_item(fileMenu, wxID_ANY, _L("&G-code preview"), _L("Switch to G-code preview mode"),
|
||||||
[this](wxCommandEvent&) { set_mode(EMode::GCodeViewer); });
|
[this](wxCommandEvent&) { set_mode(EMode::GCodeViewer); });
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
fileMenu->AppendSeparator();
|
fileMenu->AppendSeparator();
|
||||||
append_menu_item(fileMenu, wxID_EXIT, _L("&Quit"), wxString::Format(_L("Quit %s"), SLIC3R_APP_NAME),
|
append_menu_item(fileMenu, wxID_EXIT, _L("&Quit"), wxString::Format(_L("Quit %s"), SLIC3R_APP_NAME),
|
||||||
[this](wxCommandEvent&) { Close(false); });
|
[this](wxCommandEvent&) { Close(false); });
|
||||||
}
|
}
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if !ENABLE_GCODE_VIEWER_AS_STATE
|
#if !ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
// \xA0 is a non-breaking space. It is entered here to spoil the automatic accelerators,
|
// \xA0 is a non-breaking space. It is entered here to spoil the automatic accelerators,
|
||||||
// as the simple numeric accelerators spoil all numeric data entry.
|
// as the simple numeric accelerators spoil all numeric data entry.
|
||||||
|
@ -904,9 +885,7 @@ void MainFrame::init_menubar()
|
||||||
wxString sep = " - ";
|
wxString sep = " - ";
|
||||||
wxString sep_space = "";
|
wxString sep_space = "";
|
||||||
#endif
|
#endif
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // !ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // !ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
// Edit menu
|
// Edit menu
|
||||||
wxMenu* editMenu = nullptr;
|
wxMenu* editMenu = nullptr;
|
||||||
|
@ -990,9 +969,7 @@ void MainFrame::init_menubar()
|
||||||
[this](){return can_change_view(); }, this);
|
[this](){return can_change_view(); }, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if !ENABLE_GCODE_VIEWER_AS_STATE
|
#if !ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if _WIN32
|
#if _WIN32
|
||||||
// This is needed on Windows to fake the CTRL+# of the window menu when using the numpad
|
// This is needed on Windows to fake the CTRL+# of the window menu when using the numpad
|
||||||
wxAcceleratorEntry entries[6];
|
wxAcceleratorEntry entries[6];
|
||||||
|
@ -1005,9 +982,7 @@ void MainFrame::init_menubar()
|
||||||
wxAcceleratorTable accel(6, entries);
|
wxAcceleratorTable accel(6, entries);
|
||||||
SetAcceleratorTable(accel);
|
SetAcceleratorTable(accel);
|
||||||
#endif // _WIN32
|
#endif // _WIN32
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // !ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // !ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
windowMenu->AppendSeparator();
|
windowMenu->AppendSeparator();
|
||||||
append_menu_item(windowMenu, wxID_ANY, _L("Print &Host Upload Queue") + "\tCtrl+J", _L("Display the Print Host Upload Queue window"),
|
append_menu_item(windowMenu, wxID_ANY, _L("Print &Host Upload Queue") + "\tCtrl+J", _L("Display the Print Host Upload Queue window"),
|
||||||
|
@ -1019,11 +994,9 @@ void MainFrame::init_menubar()
|
||||||
wxMenu* viewMenu = nullptr;
|
wxMenu* viewMenu = nullptr;
|
||||||
if (m_plater) {
|
if (m_plater) {
|
||||||
viewMenu = new wxMenu();
|
viewMenu = new wxMenu();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
add_common_view_menu_items(viewMenu, this, std::bind(&MainFrame::can_change_view, this));
|
add_common_view_menu_items(viewMenu, this, std::bind(&MainFrame::can_change_view, this));
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
// The camera control accelerators are captured by GLCanvas3D::on_char().
|
// The camera control accelerators are captured by GLCanvas3D::on_char().
|
||||||
append_menu_item(viewMenu, wxID_ANY, _L("Iso") + sep + "&0", _L("Iso View"), [this](wxCommandEvent&) { select_view("iso"); },
|
append_menu_item(viewMenu, wxID_ANY, _L("Iso") + sep + "&0", _L("Iso View"), [this](wxCommandEvent&) { select_view("iso"); },
|
||||||
"", nullptr, [this](){return can_change_view(); }, this);
|
"", nullptr, [this](){return can_change_view(); }, this);
|
||||||
|
@ -1042,9 +1015,7 @@ void MainFrame::init_menubar()
|
||||||
"", nullptr, [this](){return can_change_view(); }, this);
|
"", nullptr, [this](){return can_change_view(); }, this);
|
||||||
append_menu_item(viewMenu, wxID_ANY, _L("Right") + sep + "&6", _L("Right View"), [this](wxCommandEvent&) { select_view("right"); },
|
append_menu_item(viewMenu, wxID_ANY, _L("Right") + sep + "&6", _L("Right View"), [this](wxCommandEvent&) { select_view("right"); },
|
||||||
"", nullptr, [this](){return can_change_view(); }, this);
|
"", nullptr, [this](){return can_change_view(); }, this);
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
viewMenu->AppendSeparator();
|
viewMenu->AppendSeparator();
|
||||||
#if ENABLE_SLOPE_RENDERING
|
#if ENABLE_SLOPE_RENDERING
|
||||||
wxMenu* options_menu = new wxMenu();
|
wxMenu* options_menu = new wxMenu();
|
||||||
|
@ -1066,11 +1037,9 @@ void MainFrame::init_menubar()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Help menu
|
// Help menu
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
auto helpMenu = generate_help_menu();
|
auto helpMenu = generate_help_menu();
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
auto helpMenu = new wxMenu();
|
auto helpMenu = new wxMenu();
|
||||||
{
|
{
|
||||||
append_menu_item(helpMenu, wxID_ANY, _L("Prusa 3D &Drivers"), _L("Open the Prusa3D drivers download page in your browser"),
|
append_menu_item(helpMenu, wxID_ANY, _L("Prusa 3D &Drivers"), _L("Open the Prusa3D drivers download page in your browser"),
|
||||||
|
@ -1105,14 +1074,11 @@ void MainFrame::init_menubar()
|
||||||
[this](wxCommandEvent&) { wxGetApp().gcode_thumbnails_debug(); });
|
[this](wxCommandEvent&) { wxGetApp().gcode_thumbnails_debug(); });
|
||||||
#endif // ENABLE_THUMBNAIL_GENERATOR_DEBUG
|
#endif // ENABLE_THUMBNAIL_GENERATOR_DEBUG
|
||||||
}
|
}
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
// menubar
|
// menubar
|
||||||
// assign menubar to frame after appending items, otherwise special items
|
// assign menubar to frame after appending items, otherwise special items
|
||||||
// will not be handled correctly
|
// will not be handled correctly
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
m_editor_menubar = new wxMenuBar();
|
m_editor_menubar = new wxMenuBar();
|
||||||
m_editor_menubar->Append(fileMenu, _L("&File"));
|
m_editor_menubar->Append(fileMenu, _L("&File"));
|
||||||
|
@ -1124,7 +1090,6 @@ void MainFrame::init_menubar()
|
||||||
m_editor_menubar->Append(helpMenu, _L("&Help"));
|
m_editor_menubar->Append(helpMenu, _L("&Help"));
|
||||||
SetMenuBar(m_editor_menubar);
|
SetMenuBar(m_editor_menubar);
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
auto menubar = new wxMenuBar();
|
auto menubar = new wxMenuBar();
|
||||||
menubar->Append(fileMenu, _(L("&File")));
|
menubar->Append(fileMenu, _(L("&File")));
|
||||||
if (editMenu) menubar->Append(editMenu, _(L("&Edit")));
|
if (editMenu) menubar->Append(editMenu, _(L("&Edit")));
|
||||||
|
@ -1134,9 +1099,7 @@ void MainFrame::init_menubar()
|
||||||
wxGetApp().add_config_menu(menubar);
|
wxGetApp().add_config_menu(menubar);
|
||||||
menubar->Append(helpMenu, _(L("&Help")));
|
menubar->Append(helpMenu, _(L("&Help")));
|
||||||
SetMenuBar(menubar);
|
SetMenuBar(menubar);
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
// This fixes a bug on Mac OS where the quit command doesn't emit window close events
|
// This fixes a bug on Mac OS where the quit command doesn't emit window close events
|
||||||
|
@ -1150,18 +1113,13 @@ void MainFrame::init_menubar()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (plater()->printer_technology() == ptSLA)
|
if (plater()->printer_technology() == ptSLA)
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
update_editor_menubar();
|
update_editor_menubar();
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
update_menubar();
|
update_menubar();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void MainFrame::init_gcodeviewer_menubar()
|
void MainFrame::init_gcodeviewer_menubar()
|
||||||
{
|
{
|
||||||
|
@ -1204,6 +1162,7 @@ void MainFrame::set_mode(EMode mode)
|
||||||
case EMode::Editor:
|
case EMode::Editor:
|
||||||
{
|
{
|
||||||
m_plater->reset();
|
m_plater->reset();
|
||||||
|
// m_plater->reset_last_loaded_gcode();
|
||||||
|
|
||||||
// switch view
|
// switch view
|
||||||
m_plater->select_view_3D("3D");
|
m_plater->select_view_3D("3D");
|
||||||
|
@ -1229,6 +1188,7 @@ void MainFrame::set_mode(EMode mode)
|
||||||
case EMode::GCodeViewer:
|
case EMode::GCodeViewer:
|
||||||
{
|
{
|
||||||
m_plater->reset();
|
m_plater->reset();
|
||||||
|
m_plater->reset_last_loaded_gcode();
|
||||||
|
|
||||||
// reinitialize undo/redo stack
|
// reinitialize undo/redo stack
|
||||||
m_plater->clear_undo_redo_stack_main();
|
m_plater->clear_undo_redo_stack_main();
|
||||||
|
@ -1258,17 +1218,12 @@ void MainFrame::set_mode(EMode mode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void MainFrame::update_editor_menubar()
|
void MainFrame::update_editor_menubar()
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
void MainFrame::update_menubar()
|
void MainFrame::update_menubar()
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
{
|
{
|
||||||
const bool is_fff = plater()->printer_technology() == ptFFF;
|
const bool is_fff = plater()->printer_technology() == ptFFF;
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,6 @@ class MainFrame : public DPIFrame
|
||||||
wxString m_qs_last_input_file = wxEmptyString;
|
wxString m_qs_last_input_file = wxEmptyString;
|
||||||
wxString m_qs_last_output_file = wxEmptyString;
|
wxString m_qs_last_output_file = wxEmptyString;
|
||||||
wxString m_last_config = wxEmptyString;
|
wxString m_last_config = wxEmptyString;
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
wxMenuBar* m_editor_menubar{ nullptr };
|
wxMenuBar* m_editor_menubar{ nullptr };
|
||||||
wxMenuBar* m_gcodeviewer_menubar{ nullptr };
|
wxMenuBar* m_gcodeviewer_menubar{ nullptr };
|
||||||
|
@ -81,7 +80,6 @@ class MainFrame : public DPIFrame
|
||||||
|
|
||||||
RestoreFromGCodeViewer m_restore_from_gcode_viewer;
|
RestoreFromGCodeViewer m_restore_from_gcode_viewer;
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
wxMenuItem* m_menu_item_repeat { nullptr }; // doesn't used now
|
wxMenuItem* m_menu_item_repeat { nullptr }; // doesn't used now
|
||||||
|
@ -135,7 +133,6 @@ class MainFrame : public DPIFrame
|
||||||
slDlg,
|
slDlg,
|
||||||
} m_layout;
|
} m_layout;
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
public:
|
public:
|
||||||
enum class EMode : unsigned char
|
enum class EMode : unsigned char
|
||||||
|
@ -147,7 +144,6 @@ public:
|
||||||
private:
|
private:
|
||||||
EMode m_mode{ EMode::Editor };
|
EMode m_mode{ EMode::Editor };
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void on_dpi_changed(const wxRect &suggested_rect);
|
virtual void on_dpi_changed(const wxRect &suggested_rect);
|
||||||
|
@ -167,7 +163,6 @@ public:
|
||||||
void init_tabpanel();
|
void init_tabpanel();
|
||||||
void create_preset_tabs();
|
void create_preset_tabs();
|
||||||
void add_created_tab(Tab* panel);
|
void add_created_tab(Tab* panel);
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void init_editor_menubar();
|
void init_editor_menubar();
|
||||||
void update_editor_menubar();
|
void update_editor_menubar();
|
||||||
|
@ -176,12 +171,9 @@ public:
|
||||||
EMode get_mode() const { return m_mode; }
|
EMode get_mode() const { return m_mode; }
|
||||||
void set_mode(EMode mode);
|
void set_mode(EMode mode);
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
void init_menubar();
|
void init_menubar();
|
||||||
void update_menubar();
|
void update_menubar();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
void update_ui_from_settings();
|
void update_ui_from_settings();
|
||||||
bool is_loaded() const { return m_loaded; }
|
bool is_loaded() const { return m_loaded; }
|
||||||
|
|
|
@ -33,17 +33,13 @@
|
||||||
#include "libslic3r/Format/STL.hpp"
|
#include "libslic3r/Format/STL.hpp"
|
||||||
#include "libslic3r/Format/AMF.hpp"
|
#include "libslic3r/Format/AMF.hpp"
|
||||||
#include "libslic3r/Format/3mf.hpp"
|
#include "libslic3r/Format/3mf.hpp"
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
#include "libslic3r/GCode/GCodeProcessor.hpp"
|
#include "libslic3r/GCode/GCodeProcessor.hpp"
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if !ENABLE_GCODE_VIEWER
|
#if !ENABLE_GCODE_VIEWER
|
||||||
#include "libslic3r/GCode/PreviewData.hpp"
|
#include "libslic3r/GCode/PreviewData.hpp"
|
||||||
#endif // !ENABLE_GCODE_VIEWER
|
#endif // !ENABLE_GCODE_VIEWER
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#include "libslic3r/GCode/ThumbnailData.hpp"
|
#include "libslic3r/GCode/ThumbnailData.hpp"
|
||||||
#include "libslic3r/Model.hpp"
|
#include "libslic3r/Model.hpp"
|
||||||
#include "libslic3r/SLA/Hollowing.hpp"
|
#include "libslic3r/SLA/Hollowing.hpp"
|
||||||
|
@ -2735,11 +2731,9 @@ void Plater::priv::reset()
|
||||||
|
|
||||||
model.custom_gcode_per_print_z.gcodes.clear();
|
model.custom_gcode_per_print_z.gcodes.clear();
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
gcode_result.reset();
|
gcode_result.reset();
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Plater::priv::mirror(Axis axis)
|
void Plater::priv::mirror(Axis axis)
|
||||||
|
@ -4550,7 +4544,6 @@ void Plater::extract_config_from_project()
|
||||||
load_files(input_paths, false, true);
|
load_files(input_paths, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void Plater::load_gcode()
|
void Plater::load_gcode()
|
||||||
{
|
{
|
||||||
|
@ -4563,25 +4556,27 @@ void Plater::load_gcode()
|
||||||
|
|
||||||
void Plater::load_gcode(const wxString& filename)
|
void Plater::load_gcode(const wxString& filename)
|
||||||
{
|
{
|
||||||
if (filename.empty())
|
if (filename.empty() || m_last_loaded_gcode == filename)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// p->gcode_result.reset();
|
m_last_loaded_gcode = filename;
|
||||||
|
|
||||||
|
// cleanup view before to start loading/processing
|
||||||
|
p->gcode_result.reset();
|
||||||
|
p->preview->reload_print(false);
|
||||||
|
p->get_current_canvas3D()->render();
|
||||||
|
|
||||||
wxBusyCursor wait;
|
wxBusyCursor wait;
|
||||||
wxBusyInfo info(_L("Processing GCode") + "...", get_current_canvas3D()->get_wxglcanvas());
|
// wxBusyInfo info(_L("Processing GCode") + "...", get_current_canvas3D()->get_wxglcanvas());
|
||||||
|
|
||||||
GCodeProcessor processor;
|
GCodeProcessor processor;
|
||||||
// processor.apply_config(config);
|
// processor.apply_config(config);
|
||||||
processor.process_file(filename.ToUTF8().data());
|
processor.process_file(filename.ToUTF8().data());
|
||||||
p->gcode_result = std::move(processor.extract_result());
|
p->gcode_result = std::move(processor.extract_result());
|
||||||
|
|
||||||
// select_view_3D("Preview");
|
p->preview->reload_print(false);
|
||||||
p->preview->load_print(false);
|
|
||||||
// p->preview->load_gcode_preview();
|
|
||||||
}
|
}
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
std::vector<size_t> Plater::load_files(const std::vector<fs::path>& input_files, bool load_model, bool load_config, bool imperial_units /*= false*/) { return p->load_files(input_files, load_model, load_config, imperial_units); }
|
std::vector<size_t> Plater::load_files(const std::vector<fs::path>& input_files, bool load_model, bool load_config, bool imperial_units /*= false*/) { return p->load_files(input_files, load_model, load_config, imperial_units); }
|
||||||
|
|
||||||
|
@ -5513,16 +5508,12 @@ void Plater::set_printer_technology(PrinterTechnology printer_technology)
|
||||||
p->label_btn_export = printer_technology == ptFFF ? L("Export G-code") : L("Export");
|
p->label_btn_export = printer_technology == ptFFF ? L("Export G-code") : L("Export");
|
||||||
p->label_btn_send = printer_technology == ptFFF ? L("Send G-code") : L("Send to printer");
|
p->label_btn_send = printer_technology == ptFFF ? L("Send G-code") : L("Send to printer");
|
||||||
|
|
||||||
if (wxGetApp().mainframe)
|
if (wxGetApp().mainframe != nullptr)
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
wxGetApp().mainframe->update_editor_menubar();
|
wxGetApp().mainframe->update_editor_menubar();
|
||||||
#else
|
#else
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
wxGetApp().mainframe->update_menubar();
|
wxGetApp().mainframe->update_menubar();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
p->update_main_toolbar_tooltips();
|
p->update_main_toolbar_tooltips();
|
||||||
|
|
||||||
|
@ -5674,28 +5665,24 @@ bool Plater::init_view_toolbar()
|
||||||
return p->init_view_toolbar();
|
return p->init_view_toolbar();
|
||||||
}
|
}
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void Plater::enable_view_toolbar(bool enable)
|
void Plater::enable_view_toolbar(bool enable)
|
||||||
{
|
{
|
||||||
p->view_toolbar.set_enabled(enable);
|
p->view_toolbar.set_enabled(enable);
|
||||||
}
|
}
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
bool Plater::init_collapse_toolbar()
|
bool Plater::init_collapse_toolbar()
|
||||||
{
|
{
|
||||||
return p->init_collapse_toolbar();
|
return p->init_collapse_toolbar();
|
||||||
}
|
}
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void Plater::enable_collapse_toolbar(bool enable)
|
void Plater::enable_collapse_toolbar(bool enable)
|
||||||
{
|
{
|
||||||
p->collapse_toolbar.set_enabled(enable);
|
p->collapse_toolbar.set_enabled(enable);
|
||||||
}
|
}
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
const Camera& Plater::get_camera() const
|
const Camera& Plater::get_camera() const
|
||||||
{
|
{
|
||||||
|
@ -5819,11 +5806,9 @@ bool Plater::can_undo() const { return p->undo_redo_stack().has_undo_snapshot();
|
||||||
bool Plater::can_redo() const { return p->undo_redo_stack().has_redo_snapshot(); }
|
bool Plater::can_redo() const { return p->undo_redo_stack().has_redo_snapshot(); }
|
||||||
bool Plater::can_reload_from_disk() const { return p->can_reload_from_disk(); }
|
bool Plater::can_reload_from_disk() const { return p->can_reload_from_disk(); }
|
||||||
const UndoRedo::Stack& Plater::undo_redo_stack_main() const { return p->undo_redo_stack_main(); }
|
const UndoRedo::Stack& Plater::undo_redo_stack_main() const { return p->undo_redo_stack_main(); }
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void Plater::clear_undo_redo_stack_main() { p->undo_redo_stack_main().clear(); }
|
void Plater::clear_undo_redo_stack_main() { p->undo_redo_stack_main().clear(); }
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
void Plater::enter_gizmos_stack() { p->enter_gizmos_stack(); }
|
void Plater::enter_gizmos_stack() { p->enter_gizmos_stack(); }
|
||||||
void Plater::leave_gizmos_stack() { p->leave_gizmos_stack(); }
|
void Plater::leave_gizmos_stack() { p->leave_gizmos_stack(); }
|
||||||
bool Plater::inside_snapshot_capture() { return p->inside_snapshot_capture(); }
|
bool Plater::inside_snapshot_capture() { return p->inside_snapshot_capture(); }
|
||||||
|
|
|
@ -173,12 +173,10 @@ public:
|
||||||
void add_model(bool imperial_units = false);
|
void add_model(bool imperial_units = false);
|
||||||
void import_sl1_archive();
|
void import_sl1_archive();
|
||||||
void extract_config_from_project();
|
void extract_config_from_project();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void load_gcode();
|
void load_gcode();
|
||||||
void load_gcode(const wxString& filename);
|
void load_gcode(const wxString& filename);
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
std::vector<size_t> load_files(const std::vector<boost::filesystem::path>& input_files, bool load_model = true, bool load_config = true, bool imperial_units = false);
|
std::vector<size_t> load_files(const std::vector<boost::filesystem::path>& input_files, bool load_model = true, bool load_config = true, bool imperial_units = false);
|
||||||
// To be called when providing a list of files to the GUI slic3r on command line.
|
// To be called when providing a list of files to the GUI slic3r on command line.
|
||||||
|
@ -258,11 +256,9 @@ public:
|
||||||
bool search_string_getter(int idx, const char** label, const char** tooltip);
|
bool search_string_getter(int idx, const char** label, const char** tooltip);
|
||||||
// For the memory statistics.
|
// For the memory statistics.
|
||||||
const Slic3r::UndoRedo::Stack& undo_redo_stack_main() const;
|
const Slic3r::UndoRedo::Stack& undo_redo_stack_main() const;
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void clear_undo_redo_stack_main();
|
void clear_undo_redo_stack_main();
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
// Enter / leave the Gizmos specific Undo / Redo stack. To be used by the SLA support point editing gizmo.
|
// Enter / leave the Gizmos specific Undo / Redo stack. To be used by the SLA support point editing gizmo.
|
||||||
void enter_gizmos_stack();
|
void enter_gizmos_stack();
|
||||||
void leave_gizmos_stack();
|
void leave_gizmos_stack();
|
||||||
|
@ -326,17 +322,13 @@ public:
|
||||||
void sys_color_changed();
|
void sys_color_changed();
|
||||||
|
|
||||||
bool init_view_toolbar();
|
bool init_view_toolbar();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void enable_view_toolbar(bool enable);
|
void enable_view_toolbar(bool enable);
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
bool init_collapse_toolbar();
|
bool init_collapse_toolbar();
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#if ENABLE_GCODE_VIEWER_AS_STATE
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
void enable_collapse_toolbar(bool enable);
|
void enable_collapse_toolbar(bool enable);
|
||||||
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
const Camera& get_camera() const;
|
const Camera& get_camera() const;
|
||||||
Camera& get_camera();
|
Camera& get_camera();
|
||||||
|
@ -360,6 +352,10 @@ public:
|
||||||
void update_preview_moves_slider();
|
void update_preview_moves_slider();
|
||||||
#endif // ENABLE_GCODE_VIEWER
|
#endif // ENABLE_GCODE_VIEWER
|
||||||
|
|
||||||
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
|
void reset_last_loaded_gcode() { m_last_loaded_gcode = ""; }
|
||||||
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
|
|
||||||
const Mouse3DController& get_mouse3d_controller() const;
|
const Mouse3DController& get_mouse3d_controller() const;
|
||||||
Mouse3DController& get_mouse3d_controller();
|
Mouse3DController& get_mouse3d_controller();
|
||||||
|
|
||||||
|
@ -414,6 +410,10 @@ private:
|
||||||
bool m_tracking_popup_menu = false;
|
bool m_tracking_popup_menu = false;
|
||||||
wxString m_tracking_popup_menu_error_message;
|
wxString m_tracking_popup_menu_error_message;
|
||||||
|
|
||||||
|
#if ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
|
wxString m_last_loaded_gcode;
|
||||||
|
#endif // ENABLE_GCODE_VIEWER_AS_STATE
|
||||||
|
|
||||||
void suppress_snapshots();
|
void suppress_snapshots();
|
||||||
void allow_snapshots();
|
void allow_snapshots();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue