OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
AMSItem.hpp File Reference
#include "../wxExtensions.hpp"
#include "StaticBox.hpp"
#include "StepCtrl.hpp"
#include "Button.hpp"
#include "../DeviceManager.hpp"
#include "slic3r/GUI/Event.hpp"
#include "slic3r/GUI/AmsMappingPopup.hpp"
#include <string>
#include <wx/anybutton.h>
#include <wx/colour.h>
#include <vector>
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include <wx/event.h>
#include <wx/dc.h>
#include <wx/checklst.h>
#include <wx/gdicmn.h>
#include <wx/panel.h>
#include <map>
#include <cstddef>
#include <wx/dcclient.h>
#include <utility>
#include <wx/simplebook.h>
#include <wx/hyperlink.h>
#include <wx/animate.h>
#include <wx/dynarray.h>
#include <optional>
#include <wx/string.h>
#include <wx/timer.h>
#include <wx/sizer.h>
#include "slic3r/GUI/DeviceCore/DevFilaSwitch.h"
Include dependency graph for AMSItem.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Slic3r::GUI::Caninfo
struct  Slic3r::GUI::AMSinfo
class  Slic3r::GUI::AMSExtText
class  Slic3r::GUI::AMSrefresh
class  Slic3r::GUI::AMSextruderImage
class  Slic3r::GUI::AMSExtImage
class  Slic3r::GUI::SwitcherImage
class  Slic3r::GUI::AMSextruder
class  Slic3r::GUI::AMSLib
class  Slic3r::GUI::AMSRoad
class  Slic3r::GUI::AMSRoadUpPart
class  Slic3r::GUI::AMSRoadDownPart
class  Slic3r::GUI::AMSPreview
class  Slic3r::GUI::AMSHumidity
class  Slic3r::GUI::AmsItem
class  Slic3r::GUI::DevExtruderImage
class  Slic3r::GUI::FeedDirectionDialog

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

Macros

#define AMS_CONTROL_BRAND_COLOUR   wxColour(0, 150, 136)
#define AMS_CONTROL_GRAY700   wxColour(107, 107, 107)
#define AMS_CONTROL_GRAY800   wxColour(50, 58, 61)
#define AMS_CONTROL_GRAY500   wxColour(172, 172, 172)
#define AMS_CONTROL_DISABLE_COLOUR   wxColour(206, 206, 206)
#define AMS_CONTROL_DISABLE_TEXT_COLOUR   wxColour(144, 144, 144)
#define AMS_CONTROL_WHITE_COLOUR   wxColour(255, 255, 255)
#define AMS_CONTROL_BLACK_COLOUR   wxColour(0, 0, 0)
#define AMS_CONTROL_DEF_BLOCK_BK_COLOUR   wxColour(238, 238, 238)
#define AMS_CONTROL_DEF_LIB_BK_COLOUR   wxColour(248, 248, 248)
#define AMS_EXTRUDER_DEF_COLOUR   wxColour(234, 234, 234)
#define AMS_CONTROL_MAX_COUNT   4
#define AMS_CONTRO_CALIBRATION_BUTTON_SIZE   wxSize(FromDIP(150), FromDIP(28))
#define AMS_CONTROL_DEF_HUMIDITY_BK_COLOUR   wxColour(238, 238, 238)
#define AMS_ITEM_CUBE_SIZE   wxSize(FromDIP(9), FromDIP(14))
#define AMS_ITEM_CUBE_SIZE2   wxSize(FromDIP(6), FromDIP(12))
#define AMS_PREVIEW_SIZE   wxSize(FromDIP(82), FromDIP(27))
#define AMS_ITEM_SIZE   wxSize(FromDIP(78), FromDIP(184))
#define AMS_PREV_FOUR_SIZE   wxSize(FromDIP(52), FromDIP(32))
#define AMS_PREV_SINGLE_SIZE   wxSize(FromDIP(28), FromDIP(32))
#define AMS_ITEM_HUMIDITY_SIZE   wxSize(FromDIP(120), FromDIP(27))
#define AMS_CAN_LIB_SIZE   wxSize(FromDIP(52), FromDIP(80))
#define AMS_LITE_CAN_LIB_SIZE   wxSize(FromDIP(49), FromDIP(72))
#define AMS_CAN_ROAD_SIZE   wxSize(FromDIP(264), FromDIP(50))
#define AMS_ITEMS_PANEL_SIZE   wxSize(FromDIP(264), FromDIP(44))
#define AMS_STEP_SIZE   wxSize(FromDIP(172), FromDIP(196))
#define AMS_REFRESH_SIZE   wxSize(FromDIP(28), FromDIP(28))
#define AMS_EXTRUDER_SIZE   wxSize(FromDIP(29), FromDIP(37))
#define AMS_EXTRUDER_DOUBLE_NOZZLE_BITMAP_SIZE   wxSize(FromDIP(13), FromDIP(36))
#define AMS_EXTRUDER_SINGLE_NOZZLE_N_SIZE   wxSize(FromDIP(18), FromDIP(36))
#define AMS_EXTRUDER_SINGLE_NOZZLE_XP_SIZE   wxSize(FromDIP(25), FromDIP(36))
#define AMS_BODY_SIZE   wxSize(FromDIP(36), FromDIP(55))
#define AMS_DOWN_ROAD_SIZE   wxSize(FromDIP(566), FromDIP(10))
#define AMS_HUMIDITY_SIZE   wxSize(FromDIP(93), FromDIP(26))
#define AMS_HUMIDITY_NO_PERCENT_SIZE   wxSize(FromDIP(60), FromDIP(26))
#define AMS_HUMIDITY_DRY_WIDTH   FromDIP(35)
#define AMS_PANEL_SIZE   wxSize(FromDIP(264), FromDIP(150))
#define GENERIC_AMS_SLOT_NUM   4
#define MAX_AMS_NUM_IN_PANEL   2
#define AMS_REFRESH_PLAY_LOADING_TIMER   100

Enumerations

enum  Slic3r::GUI::AMSModel {
  Slic3r::GUI::EXT_AMS = 0 , Slic3r::GUI::GENERIC_AMS = 1 , Slic3r::GUI::AMS_LITE = 2 , Slic3r::GUI::N3F_AMS = 3 ,
  Slic3r::GUI::N3S_AMS = 4
}
enum  Slic3r::GUI::AMSModelOriginType { Slic3r::GUI::GENERIC_EXT , Slic3r::GUI::LITE_EXT }
enum  Slic3r::GUI::ActionButton { Slic3r::GUI::ACTION_BTN_CALI = 0 , Slic3r::GUI::ACTION_BTN_LOAD = 1 , Slic3r::GUI::ACTION_BTN_UNLOAD = 2 , Slic3r::GUI::ACTION_BTN_COUNT = 3 }
enum class  Slic3r::GUI::AMSRoadMode : int {
  Slic3r::GUI::AMS_ROAD_MODE_LEFT , Slic3r::GUI::AMS_ROAD_MODE_LEFT_RIGHT , Slic3r::GUI::AMS_ROAD_MODE_END , Slic3r::GUI::AMS_ROAD_MODE_END_ONLY ,
  Slic3r::GUI::AMS_ROAD_MODE_NONE , Slic3r::GUI::AMS_ROAD_MODE_NONE_ANY_ROAD , Slic3r::GUI::AMS_ROAD_MODE_VIRTUAL_TRAY
}
enum class  Slic3r::GUI::AMSPanelPos : int { Slic3r::GUI::SINGLE_PANEL , Slic3r::GUI::LEFT_PANEL , Slic3r::GUI::RIGHT_PANEL }
enum class  Slic3r::GUI::AMSRoadShowMode : int {
  Slic3r::GUI::AMS_ROAD_MODE_FOUR , Slic3r::GUI::AMS_ROAD_MODE_DOUBLE , Slic3r::GUI::AMS_ROAD_MODE_SINGLE , Slic3r::GUI::AMS_ROAD_MODE_SINGLE_N3S ,
  Slic3r::GUI::AMS_ROAD_MODE_AMS_LITE , Slic3r::GUI::AMS_ROAD_MODE_NONE
}
enum class  Slic3r::GUI::AMSPassRoadMode : int {
  Slic3r::GUI::AMS_ROAD_MODE_NONE , Slic3r::GUI::AMS_ROAD_MODE_LEFT , Slic3r::GUI::AMS_ROAD_MODE_LEFT_RIGHT , Slic3r::GUI::AMS_ROAD_MODE_END_TOP ,
  Slic3r::GUI::AMS_ROAD_MODE_END_RIGHT , Slic3r::GUI::AMS_ROAD_MODE_END_BOTTOM
}
enum class  Slic3r::GUI::AMSAction : int {
  Slic3r::GUI::AMS_ACTION_NONE , Slic3r::GUI::AMS_ACTION_LOAD , Slic3r::GUI::AMS_ACTION_UNLOAD , Slic3r::GUI::AMS_ACTION_CALI ,
  Slic3r::GUI::AMS_ACTION_PRINTING , Slic3r::GUI::AMS_ACTION_NORMAL , Slic3r::GUI::AMS_ACTION_NOAMS
}
enum class  Slic3r::GUI::AMSPassRoadSTEP : int {
  Slic3r::GUI::AMS_ROAD_STEP_NONE = 0 , Slic3r::GUI::AMS_ROAD_STEP_1 = 1 , Slic3r::GUI::AMS_ROAD_STEP_2 = 2 , Slic3r::GUI::AMS_ROAD_STEP_3 = 4 ,
  Slic3r::GUI::AMS_ROAD_STEP_COMBO_LOAD_STEP1 , Slic3r::GUI::AMS_ROAD_STEP_COMBO_LOAD_STEP2 , Slic3r::GUI::AMS_ROAD_STEP_COMBO_LOAD_STEP3
}
enum class  Slic3r::GUI::AMSPassRoadType : int { Slic3r::GUI::AMS_ROAD_TYPE_NONE , Slic3r::GUI::AMS_ROAD_TYPE_LOAD , Slic3r::GUI::AMS_ROAD_TYPE_UNLOAD }
enum class  Slic3r::GUI::AMSCanType : int {
  Slic3r::GUI::AMS_CAN_TYPE_NONE , Slic3r::GUI::AMS_CAN_TYPE_BRAND , Slic3r::GUI::AMS_CAN_TYPE_THIRDBRAND , Slic3r::GUI::AMS_CAN_TYPE_EMPTY ,
  Slic3r::GUI::AMS_CAN_TYPE_VIRTUAL
}
enum  Slic3r::GUI::FilamentStep {
  Slic3r::GUI::STEP_IDLE , Slic3r::GUI::STEP_HEAT_NOZZLE , Slic3r::GUI::STEP_CUT_FILAMENT , Slic3r::GUI::STEP_PULL_CURR_FILAMENT ,
  Slic3r::GUI::STEP_PUSH_NEW_FILAMENT , Slic3r::GUI::STEP_GRAB_NEW_FILAMENT , Slic3r::GUI::STEP_PURGE_OLD_FILAMENT , Slic3r::GUI::STEP_CONFIRM_EXTRUDED ,
  Slic3r::GUI::STEP_CHECK_POSITION , Slic3r::GUI::STEP_COUNT
}
enum  Slic3r::GUI::FilamentStepType { Slic3r::GUI::STEP_TYPE_LOAD = 0 , Slic3r::GUI::STEP_TYPE_UNLOAD = 1 , Slic3r::GUI::STEP_TYPE_VT_LOAD = 2 }
enum class  Slic3r::GUI::DevExtruderState { Slic3r::GUI::FILLED_LOAD , Slic3r::GUI::FILLED_UNLOAD , Slic3r::GUI::EMPTY_LOAD , Slic3r::GUI::EMPTY_UNLOAD }

Functions

 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_EXTRUSION_CALI, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_LOAD, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_UNLOAD, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_SETTINGS, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_FILAMENT_BACKUP, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_REFRESH_RFID, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_ON_SELECTED, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_ON_FILAMENT_EDIT, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_CLIBRATION_AGAIN, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_CLIBRATION_CANCEL, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_GUIDE_WIKI, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_RETRY, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_SHOW_HUMIDITY_TIPS, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_UNSELETED_VAMS, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_UNSELETED_AMS, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_VAMS_ON_FILAMENT_EDIT, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_AMS_SWITCH, SimpleEvent)

Macro Definition Documentation

◆ AMS_BODY_SIZE

#define AMS_BODY_SIZE   wxSize(FromDIP(36), FromDIP(55))

◆ AMS_CAN_LIB_SIZE

#define AMS_CAN_LIB_SIZE   wxSize(FromDIP(52), FromDIP(80))

◆ AMS_CAN_ROAD_SIZE

#define AMS_CAN_ROAD_SIZE   wxSize(FromDIP(264), FromDIP(50))

◆ AMS_CONTRO_CALIBRATION_BUTTON_SIZE

#define AMS_CONTRO_CALIBRATION_BUTTON_SIZE   wxSize(FromDIP(150), FromDIP(28))

◆ AMS_CONTROL_BLACK_COLOUR

#define AMS_CONTROL_BLACK_COLOUR   wxColour(0, 0, 0)

◆ AMS_CONTROL_BRAND_COLOUR

◆ AMS_CONTROL_DEF_BLOCK_BK_COLOUR

◆ AMS_CONTROL_DEF_HUMIDITY_BK_COLOUR

#define AMS_CONTROL_DEF_HUMIDITY_BK_COLOUR   wxColour(238, 238, 238)

◆ AMS_CONTROL_DEF_LIB_BK_COLOUR

◆ AMS_CONTROL_DISABLE_COLOUR

◆ AMS_CONTROL_DISABLE_TEXT_COLOUR

#define AMS_CONTROL_DISABLE_TEXT_COLOUR   wxColour(144, 144, 144)

◆ AMS_CONTROL_GRAY500

◆ AMS_CONTROL_GRAY700

#define AMS_CONTROL_GRAY700   wxColour(107, 107, 107)

◆ AMS_CONTROL_GRAY800

#define AMS_CONTROL_GRAY800   wxColour(50, 58, 61)

◆ AMS_CONTROL_MAX_COUNT

#define AMS_CONTROL_MAX_COUNT   4

◆ AMS_CONTROL_WHITE_COLOUR

◆ AMS_DOWN_ROAD_SIZE

#define AMS_DOWN_ROAD_SIZE   wxSize(FromDIP(566), FromDIP(10))

◆ AMS_EXTRUDER_DEF_COLOUR

#define AMS_EXTRUDER_DEF_COLOUR   wxColour(234, 234, 234)

◆ AMS_EXTRUDER_DOUBLE_NOZZLE_BITMAP_SIZE

#define AMS_EXTRUDER_DOUBLE_NOZZLE_BITMAP_SIZE   wxSize(FromDIP(13), FromDIP(36))

◆ AMS_EXTRUDER_SINGLE_NOZZLE_N_SIZE

#define AMS_EXTRUDER_SINGLE_NOZZLE_N_SIZE   wxSize(FromDIP(18), FromDIP(36))

◆ AMS_EXTRUDER_SINGLE_NOZZLE_XP_SIZE

#define AMS_EXTRUDER_SINGLE_NOZZLE_XP_SIZE   wxSize(FromDIP(25), FromDIP(36))

◆ AMS_EXTRUDER_SIZE

#define AMS_EXTRUDER_SIZE   wxSize(FromDIP(29), FromDIP(37))

◆ AMS_HUMIDITY_DRY_WIDTH

#define AMS_HUMIDITY_DRY_WIDTH   FromDIP(35)

◆ AMS_HUMIDITY_NO_PERCENT_SIZE

#define AMS_HUMIDITY_NO_PERCENT_SIZE   wxSize(FromDIP(60), FromDIP(26))

◆ AMS_HUMIDITY_SIZE

#define AMS_HUMIDITY_SIZE   wxSize(FromDIP(93), FromDIP(26))

◆ AMS_ITEM_CUBE_SIZE

#define AMS_ITEM_CUBE_SIZE   wxSize(FromDIP(9), FromDIP(14))

◆ AMS_ITEM_CUBE_SIZE2

#define AMS_ITEM_CUBE_SIZE2   wxSize(FromDIP(6), FromDIP(12))

◆ AMS_ITEM_HUMIDITY_SIZE

#define AMS_ITEM_HUMIDITY_SIZE   wxSize(FromDIP(120), FromDIP(27))

◆ AMS_ITEM_SIZE

#define AMS_ITEM_SIZE   wxSize(FromDIP(78), FromDIP(184))

◆ AMS_ITEMS_PANEL_SIZE

#define AMS_ITEMS_PANEL_SIZE   wxSize(FromDIP(264), FromDIP(44))

◆ AMS_LITE_CAN_LIB_SIZE

#define AMS_LITE_CAN_LIB_SIZE   wxSize(FromDIP(49), FromDIP(72))

◆ AMS_PANEL_SIZE

#define AMS_PANEL_SIZE   wxSize(FromDIP(264), FromDIP(150))

◆ AMS_PREV_FOUR_SIZE

#define AMS_PREV_FOUR_SIZE   wxSize(FromDIP(52), FromDIP(32))

◆ AMS_PREV_SINGLE_SIZE

#define AMS_PREV_SINGLE_SIZE   wxSize(FromDIP(28), FromDIP(32))

◆ AMS_PREVIEW_SIZE

#define AMS_PREVIEW_SIZE   wxSize(FromDIP(82), FromDIP(27))

◆ AMS_REFRESH_PLAY_LOADING_TIMER

#define AMS_REFRESH_PLAY_LOADING_TIMER   100

◆ AMS_REFRESH_SIZE

#define AMS_REFRESH_SIZE   wxSize(FromDIP(28), FromDIP(28))

◆ AMS_STEP_SIZE

#define AMS_STEP_SIZE   wxSize(FromDIP(172), FromDIP(196))

◆ GENERIC_AMS_SLOT_NUM

◆ MAX_AMS_NUM_IN_PANEL

#define MAX_AMS_NUM_IN_PANEL   2