2022-07-15 15:37:19 +00:00
|
|
|
#ifndef slic3r_GUI_AmsMappingPopup_hpp_
|
|
|
|
#define slic3r_GUI_AmsMappingPopup_hpp_
|
|
|
|
|
|
|
|
#include <wx/wx.h>
|
|
|
|
#include <wx/intl.h>
|
|
|
|
#include <wx/collpane.h>
|
|
|
|
#include <wx/dataview.h>
|
|
|
|
#include <wx/artprov.h>
|
|
|
|
#include <wx/xrc/xmlres.h>
|
|
|
|
#include <wx/dataview.h>
|
|
|
|
#include <wx/gdicmn.h>
|
|
|
|
#include <wx/font.h>
|
|
|
|
#include <wx/colour.h>
|
|
|
|
#include <wx/settings.h>
|
|
|
|
#include <wx/string.h>
|
|
|
|
#include <wx/sizer.h>
|
|
|
|
#include <wx/stattext.h>
|
|
|
|
#include <wx/hyperlink.h>
|
|
|
|
#include <wx/button.h>
|
|
|
|
#include <wx/dialog.h>
|
|
|
|
#include <wx/popupwin.h>
|
|
|
|
#include <wx/spinctrl.h>
|
|
|
|
#include <wx/artprov.h>
|
|
|
|
#include <wx/wrapsizer.h>
|
|
|
|
|
|
|
|
#include "GUI_Utils.hpp"
|
|
|
|
#include "wxExtensions.hpp"
|
|
|
|
#include "DeviceManager.hpp"
|
|
|
|
#include "Plater.hpp"
|
|
|
|
#include "BBLStatusBar.hpp"
|
|
|
|
#include "BBLStatusBarSend.hpp"
|
|
|
|
#include "Widgets/Label.hpp"
|
|
|
|
#include "Widgets/Button.hpp"
|
|
|
|
#include "Widgets/CheckBox.hpp"
|
|
|
|
#include "Widgets/ComboBox.hpp"
|
|
|
|
#include "Widgets/ScrolledWindow.hpp"
|
2023-02-13 06:06:39 +00:00
|
|
|
#include "Widgets/PopupWindow.hpp"
|
2022-07-15 15:37:19 +00:00
|
|
|
#include <wx/simplebook.h>
|
|
|
|
#include <wx/hashmap.h>
|
|
|
|
|
|
|
|
namespace Slic3r { namespace GUI {
|
|
|
|
|
2024-10-18 06:47:03 +00:00
|
|
|
|
2022-07-15 15:37:19 +00:00
|
|
|
#define AMS_TOTAL_COUNT 4
|
|
|
|
|
|
|
|
enum TrayType {
|
|
|
|
NORMAL,
|
|
|
|
THIRD,
|
|
|
|
EMPTY
|
|
|
|
};
|
|
|
|
|
2024-07-08 10:19:37 +00:00
|
|
|
enum ShowType {
|
|
|
|
LEFT, // only show left ams and left ext
|
|
|
|
RIGHT, //only show right ams and right ext
|
|
|
|
LEFT_AND_RIGHT //show left and right ams at the same time
|
|
|
|
};
|
|
|
|
|
2022-07-15 15:37:19 +00:00
|
|
|
struct TrayData
|
|
|
|
{
|
|
|
|
TrayType type;
|
|
|
|
int id;
|
2024-03-19 09:50:34 +00:00
|
|
|
int ctype = 0;
|
2022-07-15 15:37:19 +00:00
|
|
|
std::string name;
|
2022-08-04 09:56:40 +00:00
|
|
|
std::string filament_type;
|
2022-07-15 15:37:19 +00:00
|
|
|
wxColour colour;
|
2024-03-19 09:50:34 +00:00
|
|
|
std::vector<wxColour> material_cols = std::vector<wxColour>();
|
2024-06-18 12:09:11 +00:00
|
|
|
|
|
|
|
int ams_id = 0;
|
|
|
|
int slot_id = 0;
|
2022-07-15 15:37:19 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
class MaterialItem: public wxPanel
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
MaterialItem(wxWindow *parent,wxColour mcolour, wxString mname);
|
|
|
|
~MaterialItem();
|
|
|
|
|
2023-04-03 08:44:31 +00:00
|
|
|
wxPanel* m_main_panel;
|
2022-07-15 15:37:19 +00:00
|
|
|
wxColour m_material_coloul;
|
|
|
|
wxString m_material_name;
|
|
|
|
|
|
|
|
wxColour m_ams_coloul;
|
|
|
|
wxString m_ams_name;
|
2024-03-19 09:50:34 +00:00
|
|
|
int m_ams_ctype = 0;
|
|
|
|
std::vector<wxColour> m_ams_cols = std::vector<wxColour>();
|
2022-07-15 15:37:19 +00:00
|
|
|
|
2022-12-10 05:39:47 +00:00
|
|
|
ScalableBitmap m_arraw_bitmap_gray;
|
|
|
|
ScalableBitmap m_arraw_bitmap_white;
|
2023-05-16 12:53:08 +00:00
|
|
|
ScalableBitmap m_transparent_mitem;
|
2024-06-18 13:23:54 +00:00
|
|
|
ScalableBitmap m_ams_wheel_mitem;
|
2022-12-10 05:39:47 +00:00
|
|
|
|
2022-07-15 15:37:19 +00:00
|
|
|
bool m_selected {false};
|
|
|
|
bool m_warning{false};
|
|
|
|
|
|
|
|
void msw_rescale();
|
2024-03-19 09:50:34 +00:00
|
|
|
void set_ams_info(wxColour col, wxString txt, int ctype=0, std::vector<wxColour> cols= std::vector<wxColour>());
|
2022-07-15 15:37:19 +00:00
|
|
|
|
2023-05-26 03:13:56 +00:00
|
|
|
void disable();
|
|
|
|
void enable();
|
2022-07-15 15:37:19 +00:00
|
|
|
void on_normal();
|
|
|
|
void on_selected();
|
|
|
|
void on_warning();
|
|
|
|
|
|
|
|
void on_left_down(wxMouseEvent &evt);
|
|
|
|
void paintEvent(wxPaintEvent &evt);
|
|
|
|
void render(wxDC &dc);
|
|
|
|
void doRender(wxDC &dc);
|
|
|
|
};
|
|
|
|
|
2022-07-19 13:31:27 +00:00
|
|
|
class MappingItem : public wxPanel
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
MappingItem(wxWindow *parent);
|
|
|
|
~MappingItem();
|
|
|
|
|
2023-02-11 03:23:03 +00:00
|
|
|
void update_data(TrayData data);
|
|
|
|
void send_event(int fliament_id);
|
|
|
|
void set_tray_index(wxString t_index) {m_tray_index = t_index;};
|
|
|
|
|
2024-06-24 09:35:38 +00:00
|
|
|
wxWindow*send_win{nullptr};
|
2023-02-11 03:23:03 +00:00
|
|
|
wxString m_tray_index;
|
2022-07-19 13:31:27 +00:00
|
|
|
wxColour m_coloul;
|
|
|
|
wxString m_name;
|
|
|
|
TrayData m_tray_data;
|
2023-05-16 12:53:08 +00:00
|
|
|
ScalableBitmap m_transparent_mapping_item;
|
2022-08-02 09:37:08 +00:00
|
|
|
bool m_unmatch{false};
|
2022-07-19 13:31:27 +00:00
|
|
|
|
2024-06-18 12:09:11 +00:00
|
|
|
int m_ams_id{255};
|
|
|
|
int m_slot_id{255};
|
|
|
|
|
2022-07-19 13:31:27 +00:00
|
|
|
void msw_rescale();
|
|
|
|
void paintEvent(wxPaintEvent &evt);
|
|
|
|
void render(wxDC &dc);
|
2022-08-02 09:37:08 +00:00
|
|
|
void set_data(wxColour colour, wxString name, TrayData data, bool unmatch = false);
|
2022-07-19 13:31:27 +00:00
|
|
|
void doRender(wxDC &dc);
|
|
|
|
};
|
2022-07-15 15:37:19 +00:00
|
|
|
|
2023-02-23 12:39:15 +00:00
|
|
|
class MappingContainer : public wxPanel
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxBitmap ams_mapping_item_container;
|
|
|
|
MappingContainer(wxWindow* parent);
|
|
|
|
~MappingContainer();
|
|
|
|
void paintEvent(wxPaintEvent& evt);
|
|
|
|
void render(wxDC& dc);
|
|
|
|
void doRender(wxDC& dc);
|
|
|
|
};
|
|
|
|
|
2023-02-13 06:06:39 +00:00
|
|
|
class AmsMapingPopup : public PopupWindow
|
2022-07-15 15:37:19 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
AmsMapingPopup(wxWindow *parent);
|
2024-06-24 09:35:38 +00:00
|
|
|
~AmsMapingPopup() {};
|
2022-07-15 15:37:19 +00:00
|
|
|
|
2024-07-08 10:19:37 +00:00
|
|
|
wxWindow* send_win{ nullptr };
|
|
|
|
wxStaticText * m_warning_text{nullptr};
|
2022-07-15 15:37:19 +00:00
|
|
|
std::vector<std::string> m_materials_list;
|
2023-02-11 03:23:03 +00:00
|
|
|
std::vector<wxBoxSizer*> m_amsmapping_container_sizer_list;
|
|
|
|
std::vector<wxWindow*> m_amsmapping_container_list;
|
2022-07-19 13:31:27 +00:00
|
|
|
std::vector<MappingItem*> m_mapping_item_list;
|
2022-07-22 09:46:10 +00:00
|
|
|
|
2022-08-02 09:37:08 +00:00
|
|
|
bool m_has_unmatch_filament {false};
|
2024-07-08 10:19:37 +00:00
|
|
|
bool m_supporting_mix_print {false}; //For single extruder, can ams and ext print together?
|
2022-07-22 09:46:10 +00:00
|
|
|
int m_current_filament_id;
|
2024-07-08 10:19:37 +00:00
|
|
|
ShowType m_show_type;
|
2022-07-15 15:37:19 +00:00
|
|
|
std::string m_tag_material;
|
2024-07-08 10:19:37 +00:00
|
|
|
wxBoxSizer *m_sizer_main{nullptr};
|
|
|
|
wxBoxSizer *m_sizer_ams{nullptr};
|
|
|
|
wxBoxSizer *m_sizer_ams_left{nullptr};
|
|
|
|
wxBoxSizer *m_sizer_ams_right{nullptr};
|
2024-06-24 09:35:38 +00:00
|
|
|
wxBoxSizer* m_sizer_ams_basket_left{ nullptr };
|
|
|
|
wxBoxSizer* m_sizer_ams_basket_right{ nullptr };
|
2024-07-08 10:19:37 +00:00
|
|
|
wxBoxSizer *m_sizer_list{nullptr};
|
2024-06-24 09:35:38 +00:00
|
|
|
wxWindow *m_parent_item{nullptr};
|
2022-07-15 15:37:19 +00:00
|
|
|
|
2024-07-08 10:19:37 +00:00
|
|
|
MappingItem* m_left_extra_slot{nullptr};
|
2024-06-24 09:35:38 +00:00
|
|
|
MappingItem* m_right_extra_slot{nullptr};
|
|
|
|
|
|
|
|
wxPanel* m_left_marea_panel;
|
|
|
|
wxPanel* m_right_marea_panel;
|
|
|
|
|
2024-07-08 10:19:37 +00:00
|
|
|
wxBoxSizer* m_sizer_split_ams_left;
|
|
|
|
wxBoxSizer* m_sizer_split_ams_right;
|
|
|
|
|
2024-06-24 09:35:38 +00:00
|
|
|
wxBoxSizer* create_split_sizer(wxWindow* parent, wxString text);
|
2023-04-07 09:43:37 +00:00
|
|
|
wxString format_text(wxString &m_msg);
|
2024-06-24 09:35:38 +00:00
|
|
|
void set_send_win(wxWindow* win) {send_win = win;};
|
2022-07-15 15:37:19 +00:00
|
|
|
void update_materials_list(std::vector<std::string> list);
|
|
|
|
void set_tag_texture(std::string texture);
|
2024-06-24 09:35:38 +00:00
|
|
|
void update(MachineObject* obj);
|
2024-04-17 20:38:58 +00:00
|
|
|
void update_ams_data_multi_machines();
|
2023-02-11 03:23:03 +00:00
|
|
|
void add_ams_mapping(std::vector<TrayData> tray_data, wxWindow* container, wxBoxSizer* sizer);
|
2024-06-24 09:35:38 +00:00
|
|
|
void add_ext_ams_mapping(TrayData tray_data, MappingItem* item);
|
|
|
|
void set_current_filament_id(int id) { m_current_filament_id = id; };
|
2022-07-22 09:46:10 +00:00
|
|
|
int get_current_filament_id(){return m_current_filament_id;};
|
2022-07-19 13:31:27 +00:00
|
|
|
bool is_match_material(std::string material);
|
|
|
|
void on_left_down(wxMouseEvent &evt);
|
2022-07-15 15:37:19 +00:00
|
|
|
virtual void OnDismiss() wxOVERRIDE;
|
|
|
|
virtual bool ProcessLeftDown(wxMouseEvent &event) wxOVERRIDE;
|
2022-11-17 09:58:51 +00:00
|
|
|
void paintEvent(wxPaintEvent &evt);
|
2023-04-07 09:43:37 +00:00
|
|
|
void set_parent_item(wxWindow* item) {m_parent_item = item;};
|
2024-07-08 10:19:37 +00:00
|
|
|
void set_show_type(ShowType type) { m_show_type = type; };
|
2022-11-17 09:58:51 +00:00
|
|
|
std::vector<TrayData> parse_ams_mapping(std::map<std::string, Ams*> amsList);
|
2022-07-15 15:37:19 +00:00
|
|
|
};
|
|
|
|
|
2023-02-13 06:06:39 +00:00
|
|
|
class AmsMapingTipPopup : public PopupWindow
|
2022-08-31 07:55:48 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
AmsMapingTipPopup(wxWindow *parent);
|
|
|
|
~AmsMapingTipPopup(){};
|
|
|
|
void paintEvent(wxPaintEvent &evt);
|
|
|
|
|
|
|
|
virtual void OnDismiss() wxOVERRIDE;
|
|
|
|
virtual bool ProcessLeftDown(wxMouseEvent &event) wxOVERRIDE;
|
|
|
|
|
|
|
|
public:
|
|
|
|
wxPanel * m_panel_enable_ams;
|
|
|
|
wxStaticText * m_title_enable_ams;
|
|
|
|
wxStaticText * m_tip_enable_ams;
|
|
|
|
wxPanel * m_split_lines;
|
|
|
|
wxPanel * m_panel_disable_ams;
|
|
|
|
wxStaticText * m_title_disable_ams;
|
|
|
|
wxStaticText * m_tip_disable_ams;
|
|
|
|
};
|
|
|
|
|
2024-01-31 12:37:15 +00:00
|
|
|
class AmsHumidityLevelList : public wxPanel
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
AmsHumidityLevelList(wxWindow* parent);
|
|
|
|
~AmsHumidityLevelList() {};
|
|
|
|
|
|
|
|
ScalableBitmap background_img;
|
|
|
|
ScalableBitmap hum_level1_img;
|
|
|
|
ScalableBitmap hum_level2_img;
|
|
|
|
ScalableBitmap hum_level3_img;
|
|
|
|
ScalableBitmap hum_level4_img;
|
|
|
|
|
|
|
|
std::vector<ScalableBitmap> hum_level_img_light;
|
|
|
|
std::vector<ScalableBitmap> hum_level_img_dark;
|
|
|
|
|
|
|
|
wxStaticBitmap* hum_level1_bitmap;
|
|
|
|
wxStaticBitmap* hum_level2_bitmap;
|
|
|
|
wxStaticBitmap* hum_level3_bitmap;
|
|
|
|
wxStaticBitmap* hum_level4_bitmap;
|
|
|
|
wxStaticBitmap* hum_level5_bitmap;
|
|
|
|
|
|
|
|
void msw_rescale();
|
|
|
|
void paintEvent(wxPaintEvent& evt);
|
|
|
|
void render(wxDC& dc);
|
|
|
|
void doRender(wxDC& dc);
|
|
|
|
};
|
|
|
|
|
2023-02-13 06:06:39 +00:00
|
|
|
class AmsHumidityTipPopup : public PopupWindow
|
2023-01-09 15:02:48 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
AmsHumidityTipPopup(wxWindow* parent);
|
|
|
|
~AmsHumidityTipPopup() {};
|
|
|
|
void paintEvent(wxPaintEvent& evt);
|
|
|
|
|
|
|
|
virtual void OnDismiss() wxOVERRIDE;
|
|
|
|
virtual bool ProcessLeftDown(wxMouseEvent& event) wxOVERRIDE;
|
|
|
|
|
2024-01-31 12:37:15 +00:00
|
|
|
void set_humidity_level(int level);
|
|
|
|
void render(wxDC& dc);
|
|
|
|
void doRender(wxDC& dc);
|
|
|
|
|
2023-01-09 15:02:48 +00:00
|
|
|
public:
|
2024-01-31 12:37:15 +00:00
|
|
|
int current_humidity_level;
|
|
|
|
|
|
|
|
ScalableBitmap close_img;
|
|
|
|
wxStaticBitmap* curr_humidity_img;
|
|
|
|
AmsHumidityLevelList* humidity_level_list{nullptr};
|
2023-01-09 15:02:48 +00:00
|
|
|
wxStaticBitmap* m_img;
|
2024-01-31 12:37:15 +00:00
|
|
|
Label* m_staticText;;
|
2023-01-09 15:02:48 +00:00
|
|
|
Label* m_staticText_note;
|
|
|
|
};
|
|
|
|
|
2023-02-13 06:06:39 +00:00
|
|
|
class AmsTutorialPopup : public PopupWindow
|
2022-11-16 13:13:10 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
Label* text_title;
|
|
|
|
wxStaticBitmap* img_top;
|
|
|
|
wxStaticBitmap* arrows_top;
|
|
|
|
wxStaticText* tip_top;
|
|
|
|
wxStaticBitmap* arrows_bottom;
|
|
|
|
wxStaticText* tip_bottom;
|
|
|
|
wxStaticBitmap* img_middle;
|
|
|
|
wxStaticText* tip_middle;
|
|
|
|
wxStaticBitmap* img_botton;
|
|
|
|
|
|
|
|
AmsTutorialPopup(wxWindow* parent);
|
|
|
|
~AmsTutorialPopup() {};
|
|
|
|
|
|
|
|
void paintEvent(wxPaintEvent& evt);
|
|
|
|
virtual void OnDismiss() wxOVERRIDE;
|
|
|
|
virtual bool ProcessLeftDown(wxMouseEvent& event) wxOVERRIDE;
|
|
|
|
};
|
|
|
|
|
2022-08-31 07:55:48 +00:00
|
|
|
|
2023-02-13 06:06:39 +00:00
|
|
|
class AmsIntroducePopup : public PopupWindow
|
2022-11-22 09:54:39 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
bool is_enable_ams = {false};
|
|
|
|
Label* m_staticText_top;
|
|
|
|
Label* m_staticText_bottom;
|
|
|
|
wxStaticBitmap* m_img_enable_ams;
|
|
|
|
wxStaticBitmap* m_img_disable_ams;
|
|
|
|
|
|
|
|
AmsIntroducePopup(wxWindow* parent);
|
|
|
|
~AmsIntroducePopup() {};
|
|
|
|
|
|
|
|
void set_mode(bool enable_ams);
|
|
|
|
void paintEvent(wxPaintEvent& evt);
|
|
|
|
virtual void OnDismiss() wxOVERRIDE;
|
|
|
|
virtual bool ProcessLeftDown(wxMouseEvent& event) wxOVERRIDE;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2023-04-26 01:22:26 +00:00
|
|
|
class AmsRMGroup : public wxWindow
|
2023-03-24 08:08:20 +00:00
|
|
|
{
|
|
|
|
public:
|
2023-04-26 01:22:26 +00:00
|
|
|
AmsRMGroup(wxWindow* parent, std::map<std::string, wxColour> group_info, wxString mname, wxString group_index);
|
|
|
|
~AmsRMGroup() {};
|
2023-03-24 08:08:20 +00:00
|
|
|
|
|
|
|
public:
|
2023-04-26 01:22:26 +00:00
|
|
|
void set_index(std::string index) {m_selected_index = index;};
|
2023-03-24 08:08:20 +00:00
|
|
|
void paintEvent(wxPaintEvent& evt);
|
|
|
|
void render(wxDC& dc);
|
|
|
|
void doRender(wxDC& dc);
|
2023-04-26 01:22:26 +00:00
|
|
|
void on_mouse_move(wxMouseEvent& evt);
|
2024-12-26 01:42:20 +00:00
|
|
|
|
2023-04-26 01:22:26 +00:00
|
|
|
double GetAngle(wxPoint pointA, wxPoint pointB);
|
|
|
|
wxPoint CalculateEndpoint(const wxPoint& startPoint, int angle, int length);
|
2023-03-24 08:08:20 +00:00
|
|
|
private:
|
2023-04-26 01:22:26 +00:00
|
|
|
std::map<std::string, wxColour> m_group_info;
|
|
|
|
std::string m_selected_index;
|
|
|
|
ScalableBitmap backup_current_use_white;
|
|
|
|
ScalableBitmap backup_current_use_black;
|
|
|
|
ScalableBitmap bitmap_backup_tips_0;
|
|
|
|
ScalableBitmap bitmap_backup_tips_1;
|
|
|
|
ScalableBitmap bitmap_editable;
|
|
|
|
ScalableBitmap bitmap_bg;
|
|
|
|
ScalableBitmap bitmap_editable_light;
|
|
|
|
wxString m_material_name;
|
|
|
|
wxString m_group_index;
|
2023-03-24 08:08:20 +00:00
|
|
|
};
|
|
|
|
|
2023-04-26 01:22:26 +00:00
|
|
|
class AmsReplaceMaterialDialog : public DPIDialog
|
2023-03-24 08:08:20 +00:00
|
|
|
{
|
|
|
|
public:
|
2023-04-26 01:22:26 +00:00
|
|
|
AmsReplaceMaterialDialog(wxWindow* parent);
|
|
|
|
~AmsReplaceMaterialDialog() {};
|
2023-03-24 08:08:20 +00:00
|
|
|
|
|
|
|
public:
|
2023-04-26 01:22:26 +00:00
|
|
|
void update_machine_obj(MachineObject* obj);
|
2023-06-20 13:21:37 +00:00
|
|
|
void update_mapping_result(std::vector<FilamentInfo> result);
|
2023-04-26 01:22:26 +00:00
|
|
|
void paintEvent(wxPaintEvent& evt);
|
|
|
|
void on_dpi_changed(const wxRect& suggested_rect) override;
|
|
|
|
std::vector<bool> GetStatus(unsigned int status);
|
2023-03-24 08:08:20 +00:00
|
|
|
|
2023-04-26 01:22:26 +00:00
|
|
|
public:
|
2024-12-25 11:18:53 +00:00
|
|
|
MachineObject* m_obj{ nullptr };
|
|
|
|
|
2023-06-09 03:41:51 +00:00
|
|
|
wxScrolledWindow* m_scrollview_groups{ nullptr };
|
|
|
|
wxBoxSizer* m_scrollview_sizer{ nullptr };
|
2023-04-26 01:22:26 +00:00
|
|
|
wxBoxSizer* m_main_sizer{ nullptr };
|
|
|
|
wxWrapSizer* m_groups_sizer{ nullptr };
|
2024-12-25 11:18:53 +00:00
|
|
|
SwitchBoard* m_nozzle_btn_panel { nullptr};
|
|
|
|
|
2023-06-20 13:21:37 +00:00
|
|
|
std::vector<std::string> m_tray_used;
|
2023-06-27 10:43:06 +00:00
|
|
|
Label* label_txt{nullptr};
|
2024-12-26 01:42:20 +00:00
|
|
|
Label* identical_filament;
|
2024-12-25 11:18:53 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
void create();
|
|
|
|
AmsRMGroup* create_backup_group(wxString gname, std::map<std::string, wxColour> group_info, wxString material, std::vector<bool> status_list);
|
|
|
|
|
|
|
|
// update to nozzle
|
|
|
|
void on_nozzle_selected(wxCommandEvent& event) { update_to_nozzle(event.GetInt()); };
|
|
|
|
void update_to_nozzle(int nozzle_id);
|
2023-03-24 08:08:20 +00:00
|
|
|
};
|
|
|
|
|
2023-04-26 01:22:26 +00:00
|
|
|
|
2022-07-15 15:37:19 +00:00
|
|
|
wxDECLARE_EVENT(EVT_SET_FINISH_MAPPING, wxCommandEvent);
|
|
|
|
|
|
|
|
}} // namespace Slic3r::GUI
|
|
|
|
|
|
|
|
#endif
|