NEW:supports new layout of extra AMS

Change-Id: Ib00d7c2e1c09a2fbe2de739e1c7cc35e03900edc
This commit is contained in:
tao wang
2023-08-22 10:42:08 +08:00
committed by Lane.Wei
parent a980b78172
commit 022445b272
17 changed files with 3724 additions and 469 deletions

View File

@@ -1405,11 +1405,11 @@ wxBoxSizer *StatusBasePanel::create_ams_group(wxWindow *parent)
return sizer;
}
void StatusBasePanel::show_ams_group(bool show, bool support_virtual_tray, bool support_extrustion_cali)
void StatusBasePanel::show_ams_group(bool show)
{
m_ams_control->Show(true);
m_ams_control_box->Show(true);
m_ams_control->show_noams_mode(show, support_virtual_tray, support_extrustion_cali);
m_ams_control->show_noams_mode();
if (m_show_ams_group != show) {
Fit();
}
@@ -2251,9 +2251,9 @@ void StatusPanel::update_ams(MachineObject *obj)
CalibUtils::emit_get_PA_calib_info(obj->nozzle_diameter, "");
}
bool is_support_extrusion_cali = obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI);
bool is_support_virtual_tray = obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY);
bool is_support_virtual_tray = obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY);
bool is_support_filament_backup = obj->is_function_supported(PrinterFunction::FUNC_FILAMENT_BACKUP);
AMSModel ams_mode = AMSModel::GENERIC_AMS;
if (!obj
|| !obj->is_connected()
@@ -2269,11 +2269,18 @@ void StatusPanel::update_ams(MachineObject *obj)
BOOST_LOG_TRIVIAL(trace) << "machine object" << obj->dev_name << " was disconnected, set show_ams_group is false";
}
show_ams_group(false, obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY), is_support_extrusion_cali);
if (obj->printer_type == "N1") { ams_mode = AMSModel::EXTRA_AMS; }
m_ams_control->SetAmsModel(AMSModel::NO_AMS, ams_mode);
show_ams_group(false);
m_ams_control->show_auto_refill(false);
}
else {
show_ams_group(true, obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY), is_support_extrusion_cali);
if (obj->printer_type == "N1") { ams_mode = AMSModel::EXTRA_AMS; }
m_ams_control->SetAmsModel(ams_mode, ams_mode);
show_ams_group(true);
if (!obj->m_is_support_show_bak || !is_support_filament_backup || !obj->ams_support_auto_switch_filament_flag) {
m_ams_control->show_auto_refill(false);
@@ -2307,7 +2314,7 @@ void StatusPanel::update_ams(MachineObject *obj)
//}
// must select a current can
m_ams_control->UpdateAms(ams_info, false, is_support_extrusion_cali);
m_ams_control->UpdateAms(ams_info, false);
last_tray_exist_bits = obj->tray_exist_bits;
last_ams_exist_bits = obj->ams_exist_bits;
@@ -2341,13 +2348,15 @@ void StatusPanel::update_ams(MachineObject *obj)
// set segment 3
if (obj->m_tray_now == std::to_string(VIRTUAL_TRAY_ID)) {
m_ams_control->SetExtruder(obj->is_filament_at_extruder(), true, obj->vt_tray.get_color());
m_ams_control->SetExtruder(obj->is_filament_at_extruder(), true, obj->m_ams_id, obj->vt_tray.get_color());
} else {
m_ams_control->SetExtruder(obj->is_filament_at_extruder(), false, m_ams_control->GetCanColour(obj->m_ams_id, obj->m_tray_id));
m_ams_control->SetExtruder(obj->is_filament_at_extruder(), false, obj->m_ams_id, m_ams_control->GetCanColour(obj->m_ams_id, obj->m_tray_id));
}
if (obj->ams_status_main == AMS_STATUS_MAIN_FILAMENT_CHANGE) {
update_filament_step();
if (obj->m_tray_tar == std::to_string(VIRTUAL_TRAY_ID) && (obj->m_tray_now != std::to_string(VIRTUAL_TRAY_ID) || obj->m_tray_now != "255")) {
// wait to heat hotend
if (obj->ams_status_sub == 0x02) {
@@ -2418,6 +2427,14 @@ void StatusPanel::update_ams(MachineObject *obj)
else {
m_ams_control->SetFilamentStep(FilamentStep::STEP_PURGE_OLD_FILAMENT, FilamentStepType::STEP_TYPE_UNLOAD);
}
}
else if (obj->ams_status_sub == 0x08) {
if (!obj->is_ams_unload()) {
m_ams_control->SetFilamentStep(FilamentStep::STEP_CHECK_POSITION, FilamentStepType::STEP_TYPE_LOAD);
}
else {
m_ams_control->SetFilamentStep(FilamentStep::STEP_CHECK_POSITION, FilamentStepType::STEP_TYPE_UNLOAD);
}
} else {
m_ams_control->SetFilamentStep(FilamentStep::STEP_IDLE, FilamentStepType::STEP_TYPE_UNLOAD);
}
@@ -2475,10 +2492,10 @@ void StatusPanel::update_ams(MachineObject *obj)
is_curr_tray_selected = true;
}
update_ams_control_state(is_support_extrusion_cali, is_curr_tray_selected);
update_ams_control_state(is_curr_tray_selected);
}
void StatusPanel::update_ams_control_state(bool is_support_virtual_tray, bool is_curr_tray_selected)
void StatusPanel::update_ams_control_state(bool is_curr_tray_selected)
{
// set default value to true
bool enable[ACTION_BTN_COUNT];
@@ -2486,21 +2503,18 @@ void StatusPanel::update_ams_control_state(bool is_support_virtual_tray, bool is
enable[ACTION_BTN_LOAD] = true;
enable[ACTION_BTN_UNLOAD] = true;
if (!is_support_virtual_tray) {
enable[ACTION_BTN_CALI] = false;
}
else {
if (obj->is_in_printing()) {
if (obj->is_in_extrusion_cali()) {
enable[ACTION_BTN_LOAD] = false;
enable[ACTION_BTN_UNLOAD] = false;
enable[ACTION_BTN_CALI] = true;
} else {
enable[ACTION_BTN_CALI] = false;
}
} else {
if (obj->is_in_printing()) {
if (obj->is_in_extrusion_cali()) {
enable[ACTION_BTN_LOAD] = false;
enable[ACTION_BTN_UNLOAD] = false;
enable[ACTION_BTN_CALI] = true;
}
else {
enable[ACTION_BTN_CALI] = false;
}
}
else {
enable[ACTION_BTN_CALI] = true;
}
if (obj->is_in_printing() && !obj->can_resume()) {
@@ -2996,47 +3010,43 @@ void StatusPanel::on_ams_load(SimpleEvent &event)
on_ams_load_curr();
}
void StatusPanel::update_filament_step()
{
m_ams_control->UpdateStepCtrl(obj->is_filament_at_extruder());
if (!obj->is_filament_at_extruder()) {
m_is_load_with_temp = true;
}
else {
m_is_load_with_temp = false;
}
}
void StatusPanel::on_ams_load_curr()
{
if (obj) {
std::string curr_ams_id = m_ams_control->GetCurentAms();
std::string curr_can_id = m_ams_control->GetCurrentCan(curr_ams_id);
m_ams_control->UpdateStepCtrl(obj->is_filament_at_extruder());
if(!obj->is_filament_at_extruder()){
m_is_load_with_temp = true;
}else{
m_is_load_with_temp = false;
}
update_filament_step();
//virtual tray
if (curr_ams_id.compare(std::to_string(VIRTUAL_TRAY_ID)) == 0) {
/*if (con_load_dlg == nullptr) {
con_load_dlg = new SecondaryCheckDialog(this->GetParent(), wxID_ANY, _L("Confirm"));
con_load_dlg->Bind(EVT_SECONDARY_CHECK_CONFIRM, [this](wxCommandEvent& e) {*/
int old_temp = -1;
int new_temp = -1;
AmsTray* curr_tray = &obj->vt_tray;
int old_temp = -1;
int new_temp = -1;
AmsTray* curr_tray = &obj->vt_tray;
if (!curr_tray) return;
if (!curr_tray) return;
try {
if (!curr_tray->nozzle_temp_max.empty() && !curr_tray->nozzle_temp_min.empty())
old_temp = (atoi(curr_tray->nozzle_temp_min.c_str()) + atoi(curr_tray->nozzle_temp_max.c_str())) / 2;
if (!obj->vt_tray.nozzle_temp_max.empty() && !obj->vt_tray.nozzle_temp_min.empty())
new_temp = (atoi(obj->vt_tray.nozzle_temp_min.c_str()) + atoi(obj->vt_tray.nozzle_temp_max.c_str())) / 2;
}
catch (...) {
;
}
obj->command_ams_switch(VIRTUAL_TRAY_ID, old_temp, new_temp);
/*}
);
try {
if (!curr_tray->nozzle_temp_max.empty() && !curr_tray->nozzle_temp_min.empty())
old_temp = (atoi(curr_tray->nozzle_temp_min.c_str()) + atoi(curr_tray->nozzle_temp_max.c_str())) / 2;
if (!obj->vt_tray.nozzle_temp_max.empty() && !obj->vt_tray.nozzle_temp_min.empty())
new_temp = (atoi(obj->vt_tray.nozzle_temp_min.c_str()) + atoi(obj->vt_tray.nozzle_temp_max.c_str())) / 2;
}
con_load_dlg->update_text(_L("Please confirm the filament is ready?"));
con_load_dlg->on_show();*/
return;
catch (...) {
;
}
obj->command_ams_switch(VIRTUAL_TRAY_ID, old_temp, new_temp);
}
std::map<std::string, Ams*>::iterator it = obj->amsList.find(curr_ams_id);

View File

@@ -404,7 +404,7 @@ public:
wxBoxSizer *create_ams_group(wxWindow *parent);
wxBoxSizer *create_settings_group(wxWindow *parent);
void show_ams_group(bool show = true, bool support_virtual_tray = true, bool support_extrustion_cali = true);
void show_ams_group(bool show = true);
};
@@ -495,6 +495,7 @@ protected:
/* extruder apis */
void on_ams_load(SimpleEvent &event);
void update_filament_step();
void on_ams_load_curr();
void on_ams_unload(SimpleEvent &event);
void on_ams_filament_backup(SimpleEvent& event);
@@ -544,7 +545,7 @@ protected:
void update_misc_ctrl(MachineObject *obj);
void update_ams(MachineObject* obj);
void update_extruder_status(MachineObject* obj);
void update_ams_control_state(bool is_support_virtual_tray, bool is_curr_tray_selected);
void update_ams_control_state(bool is_curr_tray_selected);
void update_cali(MachineObject* obj);
void reset_printing_values();

File diff suppressed because it is too large Load Diff

View File

@@ -35,6 +35,12 @@
namespace Slic3r { namespace GUI {
enum AMSModel {
NO_AMS = 0,
GENERIC_AMS = 1,
EXTRA_AMS = 2
};
enum ActionButton {
ACTION_BTN_CALI = 0,
ACTION_BTN_LOAD = 1,
@@ -105,6 +111,7 @@ enum FilamentStep {
STEP_PURGE_OLD_FILAMENT,
STEP_FEED_FILAMENT,
STEP_CONFIRM_EXTRUDED,
STEP_CHECK_POSITION,
STEP_COUNT,
};
@@ -118,11 +125,11 @@ enum FilamentStepType {
#define AMS_ITEM_SIZE wxSize(FromDIP(82), FromDIP(27))
#define AMS_ITEM_HUMIDITY_SIZE wxSize(FromDIP(120), FromDIP(27))
#define AMS_CAN_LIB_SIZE wxSize(FromDIP(58), FromDIP(80))
#define AMS_CAN_ROAD_SIZE wxSize(FromDIP(66), FromDIP(60))
#define AMS_CAN_ROAD_SIZE wxSize(FromDIP(66), FromDIP(70))
#define AMS_CAN_ITEM_HEIGHT_SIZE FromDIP(27)
#define AMS_CANS_SIZE wxSize(FromDIP(284), FromDIP(186))
#define AMS_CANS_WINDOW_SIZE wxSize(FromDIP(264), FromDIP(186))
#define AMS_STEP_SIZE wxSize(FromDIP(172), FromDIP(186))
#define AMS_CANS_SIZE wxSize(FromDIP(284), FromDIP(196))
#define AMS_CANS_WINDOW_SIZE wxSize(FromDIP(264), FromDIP(196))
#define AMS_STEP_SIZE wxSize(FromDIP(172), FromDIP(196))
#define AMS_REFRESH_SIZE wxSize(FromDIP(30), FromDIP(30))
#define AMS_EXTRUDER_SIZE wxSize(FromDIP(86), FromDIP(72))
#define AMS_EXTRUDER_BITMAP_SIZE wxSize(FromDIP(36), FromDIP(55))
@@ -161,8 +168,8 @@ class AMSrefresh : public wxWindow
{
public:
AMSrefresh();
AMSrefresh(wxWindow *parent, wxWindowID id, wxString number, Caninfo info, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize);
AMSrefresh(wxWindow *parent, wxWindowID id, int number, Caninfo info, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize);
AMSrefresh(wxWindow *parent, wxString number, Caninfo info, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize);
AMSrefresh(wxWindow *parent, int number, Caninfo info, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize);
~AMSrefresh();
void PlayLoading();
void StopLoading();
@@ -243,7 +250,7 @@ public:
void has_ams(bool hams) {m_has_vams = hams; Refresh();};
void no_ams_mode(bool mode) {m_none_ams_mode = mode; Refresh();};
bool m_none_ams_mode{false};
bool m_none_ams_mode{true};
bool m_has_vams{false};
bool m_vams_loading{false};
bool m_ams_loading{false};
@@ -284,13 +291,15 @@ Description:AMSLib
class AMSLib : public wxWindow
{
public:
AMSLib(wxWindow *parent, wxWindowID id, Caninfo info, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize);
AMSLib(wxWindow *parent, Caninfo info);
void create(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize);
public:
wxColour GetLibColour();
Caninfo m_info;
MachineObject* m_obj = {nullptr};
int m_can_index;
int m_can_index = 0;
AMSModel m_ams_model;
void Update(Caninfo info, bool refresh = true);
void UnableSelected() { m_unable_selected = true; };
void EableSelected() { m_unable_selected = false; };
@@ -303,7 +312,7 @@ public:
virtual bool Enable(bool enable = true);
void set_disable_mode(bool disable) { m_disable_mode = disable; }
void msw_rescale();
void on_pass_road(bool pass);
protected:
wxStaticBitmap *m_edit_bitmp = {nullptr};
@@ -314,6 +323,15 @@ protected:
ScalableBitmap m_bitmap_readonly_light;
ScalableBitmap m_bitmap_transparent;
ScalableBitmap m_bitmap_extra_tray_left;
ScalableBitmap m_bitmap_extra_tray_right;
ScalableBitmap m_bitmap_extra_tray_left_hover;
ScalableBitmap m_bitmap_extra_tray_right_hover;
ScalableBitmap m_bitmap_extra_tray_left_selected;
ScalableBitmap m_bitmap_extra_tray_right_selected;
bool m_unable_selected = {false};
bool m_enable = {false};
bool m_selected = {false};
@@ -326,13 +344,18 @@ protected:
wxColour m_road_def_color;
wxColour m_lib_color;
bool m_disable_mode{ false };
bool m_pass_road{false};
void on_enter_window(wxMouseEvent &evt);
void on_leave_window(wxMouseEvent &evt);
void on_left_down(wxMouseEvent &evt);
void paintEvent(wxPaintEvent &evt);
void render(wxDC &dc);
void doRender(wxDC &dc);
void render_extra_text(wxDC& dc);
void render_generic_text(wxDC& dc);
void doRender(wxDC& dc);
void render_extra_lib(wxDC& dc);
void render_generic_lib(wxDC& dc);
};
/*************************************************
@@ -364,9 +387,11 @@ public:
ScalableBitmap ams_humidity_3;
ScalableBitmap ams_humidity_4;
int m_humidity = { 0 };
bool m_show_humidity = { false };
bool m_vams_loading{false};
AMSModel m_ams_model;
void OnVamsLoading(bool load, wxColour col = AMS_CONTROL_GRAY500);
void SetPassRoadColour(wxColour col);
@@ -399,9 +424,6 @@ public:
void OnLeaveWindow(wxMouseEvent &evt);
void OnSelected();
void UnSelected();
void ShowHumidity();
void HideHumidity();
void SetHumidity(int humidity);
virtual bool Enable(bool enable = true);
AMSinfo m_amsinfo;
@@ -413,8 +435,6 @@ protected:
int m_space = {5};
bool m_hover = {false};
bool m_selected = {false};
bool m_show_humidity = {false};
int m_humidity = {0};
ScalableBitmap* m_ts_bitmap_cube;
void paintEvent(wxPaintEvent &evt);
@@ -455,32 +475,45 @@ class AmsCans : public wxWindow
{
public:
AmsCans();
AmsCans(wxWindow *parent, wxWindowID id, AMSinfo info, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize);
AmsCans(wxWindow *parent, AMSinfo info, AMSModel model);
void Update(AMSinfo info);
void create(wxWindow *parent, wxWindowID id, AMSinfo info, const wxPoint &pos, const wxSize &size);
void AddCan(Caninfo caninfo, int canindex, int maxcan);
void create(wxWindow *parent);
void AddCan(Caninfo caninfo, int canindex, int maxcan, wxBoxSizer* sizer);
void SetDefSelectCan();
void SelectCan(std::string canid);
wxColour GetTagColr(wxString canid);
void SetAmsStep(wxString canid, AMSPassRoadType type, AMSPassRoadSTEP step);
//wxColour GetCanColour(wxString canid);
void PlayRridLoading(wxString canid);
void StopRridLoading(wxString canid);
void msw_rescale();
void show_sn_value(bool show);
void SetAmsStepExtra(wxString canid, AMSPassRoadType type, AMSPassRoadSTEP step);
void SetAmsStep(wxString canid, AMSPassRoadType type, AMSPassRoadSTEP step);
void SetAmsStep(std::string can_id);
void paintEvent(wxPaintEvent& evt);
void render(wxDC& dc);
void doRender(wxDC& dc);
wxColour GetTagColr(wxString canid);
std::string GetCurrentCan();
public:
ScalableBitmap m_bitmap_extra_framework;
int m_canlib_selection = { -1 };
int m_selection = { 0 };
int m_can_count = { 0 };
AMSModel m_ams_model;
std::string m_canlib_id;
int m_canlib_selection = {-1};
int m_selection = {0};
int m_can_count = {0};
std::string m_road_canid;
wxColour m_road_colour;
CanLibsHash m_can_lib_list;
CansRoadsHash m_can_road_list;
CanrefreshsHash m_can_refresh_list;
AMSinfo m_info;
wxBoxSizer * sizer_can = {nullptr};
wxBoxSizer * sizer_can_middle = {nullptr};
wxBoxSizer * sizer_can_left = {nullptr};
wxBoxSizer * sizer_can_right = {nullptr};
AMSPassRoadSTEP m_step = {AMSPassRoadSTEP ::AMS_ROAD_STEP_NONE};
};
@@ -532,16 +565,16 @@ public:
void init_scaled_buttons();
protected:
int m_ams_count = {0};
std::map<std::string, int> m_ams_selection;
std::vector<AMSinfo> m_ams_info;
std::string m_current_ams;
std::string m_current_show_ams;
std::map<std::string, int> m_ams_selection;
AmsItemsHash m_ams_item_list;
std::vector<AMSinfo> m_ams_info;
AmsCansHash m_ams_cans_list;
AmsCansHash m_ams_generic_cans_list;
AmsCansHash m_ams_extra_cans_list;
AMSextruder *m_extruder = {nullptr};
@@ -551,7 +584,10 @@ protected:
wxSimplebook *m_simplebook_calibration = {nullptr};
wxSimplebook *m_simplebook_amsitems = {nullptr};
wxSimplebook *m_simplebook_ams = {nullptr};
wxSimplebook *m_simplebook_cans = {nullptr};
wxSimplebook *m_simplebook_generic_cans= {nullptr};
wxSimplebook *m_simplebook_extra_cans = {nullptr};
wxSimplebook *m_simplebook_bottom = {nullptr};
wxStaticText *m_tip_right_top = {nullptr};
@@ -564,6 +600,8 @@ protected:
wxBoxSizer* m_sizer_vams_tips = {nullptr};
Label* m_ams_backup_tip = {nullptr};
Label* m_ams_tip = {nullptr};
Caninfo m_vams_info;
StaticBox* m_panel_virtual = {nullptr};
AMSLib* m_vams_lib = {nullptr};
@@ -584,6 +622,8 @@ protected:
Button *m_button_extruder_back = {nullptr};
wxStaticBitmap* m_button_ams_setting = {nullptr};
wxStaticBitmap* m_img_ams_backup = {nullptr};
wxStaticBitmap* m_img_amsmapping_tip = {nullptr};
wxStaticBitmap* m_img_vams_tip = {nullptr};
ScalableBitmap m_button_ams_setting_normal;
ScalableBitmap m_button_ams_setting_hover;
ScalableBitmap m_button_ams_setting_press;
@@ -597,16 +637,23 @@ protected:
std::string m_last_ams_id;
std::string m_last_tray_id;
public:
std::string GetCurentAms();
std::string GetCurentShowAms();
std::string GetCurrentCan(std::string amsid);
wxColour GetCanColour(std::string amsid, std::string canid);
bool m_is_none_ams_mode{false};
AMSModel m_ams_model{AMSModel::NO_AMS};
AMSModel m_ext_model{AMSModel::NO_AMS};
AMSModel m_is_none_ams_mode{AMSModel::NO_AMS};
void SetAmsModel(AMSModel mode, AMSModel ext_mode) {m_ams_model = mode; m_ext_model = ext_mode;};
void SetActionState(bool button_status[]);
void EnterNoneAMSMode();
void ExitNoneAMSMode();
void EnterNoneAMSMode(bool support_vt_load = false);
void EnterGenericAMSMode();
void EnterExtraAMSMode();
void EnterCalibrationMode(bool read_to_calibration);
void ExitcClibrationMode();
@@ -617,15 +664,16 @@ public:
void PlayRridLoading(wxString amsid, wxString canid);
void StopRridLoading(wxString amsid, wxString canid);
void SetFilamentStep(int item_idx, FilamentStepType f_type, bool is_extrusion_exist = false);
void SetFilamentStep(int item_idx, FilamentStepType f_type);
void ShowFilamentTip(bool hasams = true);
void SetHumidity(std::string amsid, int humidity);
void UpdateStepCtrl(bool is_extrusion_exist);
void CreateAms();
void UpdateAms(std::vector<AMSinfo> info, bool keep_selection = true, bool has_extrusion_cali = true, bool is_reset = false);
void AddAms(AMSinfo info, bool refresh = true);
void SetExtruder(bool on_off, bool is_vams, wxColour col);
void UpdateAms(std::vector<AMSinfo> info, bool keep_selection = true, bool is_reset = false);
void AddAms(AMSinfo info);
void AddAmsItems(AMSinfo info);
void AddExtraAms(AMSinfo info);
void SetExtruder(bool on_off, bool is_vams, std::string ams_now, wxColour col);
void SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadType type, AMSPassRoadSTEP step);
void SwitchAms(std::string ams_id);
@@ -639,7 +687,7 @@ public:
void on_clibration_cancel_click(wxMouseEvent &event);
void Reset();
void show_noams_mode(bool show, bool support_virtual_tray, bool support_extrustion_cali);
void show_noams_mode();
void show_auto_refill(bool show);
void show_vams(bool show);
void show_vams_kn_value(bool show);

View File

@@ -87,6 +87,19 @@ wxString StepCtrlBase::GetItemText(unsigned int item) const
return item < steps.size() ? steps[item] : wxString{};
}
int StepCtrlBase::GetItemUseText(wxString txt) const
{
for(int i = 0; i < steps.size(); i++){
if (steps[i] == txt) {
return i;
}
else {
continue;
}
}
return 0;
}
void StepCtrlBase::SetItemText(unsigned int item, wxString const &value)
{
if (item >= steps.size()) return;

View File

@@ -53,7 +53,8 @@ public:
void Idle();
wxString GetItemText(unsigned int item) const;
void SetItemText(unsigned int item, wxString const &value);
int GetItemUseText(wxString txt) const;
void SetItemText(unsigned int item, wxString const& value);
private:
// some useful events