ENH:Optimize interface display in "sync ams" dialog
jira: none Change-Id: I51e8a55491112653e8e55eed0d6c93c6a37dcbe0
This commit is contained in:
parent
908ac599fc
commit
a7ad6dfac4
|
@ -0,0 +1,3 @@
|
|||
<svg width="19" height="20" viewBox="0 0 19 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.9742 9.65669C13.2353 9.91782 13.2353 10.3401 12.9742 10.5984L7.64038 15.935C7.37924 16.1961 6.95698 16.1961 6.69863 15.935C6.44027 15.6739 6.43749 15.2516 6.69863 14.9933L11.5602 10.1317L6.69585 5.26742C6.43472 5.00628 6.43472 4.58403 6.69585 4.32567C6.95698 4.06731 7.37924 4.06454 7.6376 4.32567L12.9742 9.65669Z" fill="#00AE42"/>
|
||||
</svg>
|
After Width: | Height: | Size: 449 B |
|
@ -0,0 +1,3 @@
|
|||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M10.5084 13.1962C10.2472 13.4574 9.82496 13.4574 9.5666 13.1962L4.23003 7.86242C3.9689 7.60129 3.9689 7.17903 4.23003 6.92068C4.49116 6.66232 4.91342 6.65954 5.17178 6.92068L10.0333 11.7822L14.8976 6.9179C15.1588 6.65676 15.581 6.65676 15.8394 6.9179C16.0977 7.17903 16.1005 7.60129 15.8394 7.85965L10.5084 13.1962Z" fill="#00AE42"/>
|
||||
</svg>
|
After Width: | Height: | Size: 446 B |
|
@ -326,6 +326,8 @@ bool SyncAmsInfoDialog::is_need_show()
|
|||
if (m_colormap_btn) {
|
||||
update_panel_status(mode);
|
||||
update_when_change_map_mode(mode);
|
||||
update_plate_combox();
|
||||
update_swipe_button_state();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -385,6 +387,19 @@ void SyncAmsInfoDialog::update_when_change_map_mode(int idx)
|
|||
Fit();
|
||||
}
|
||||
|
||||
void SyncAmsInfoDialog::update_plate_combox()
|
||||
{
|
||||
if (m_combobox_plate) {
|
||||
m_combobox_plate->Clear();
|
||||
for (size_t i = 0; i < m_plate_number_choices_str.size(); i++) { m_combobox_plate->Append(m_plate_number_choices_str[i]); }
|
||||
auto iter = std::find(m_plate_choices.begin(), m_plate_choices.end(), m_specify_plate_idx);
|
||||
if (iter != m_plate_choices.end()) {
|
||||
auto index = iter - m_plate_choices.begin();
|
||||
m_combobox_plate->SetSelection(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wxColour SyncAmsInfoDialog::decode_ams_color(const std::string &color_str) {
|
||||
auto temp_str = color_str;
|
||||
if (temp_str.front() == '#') {
|
||||
|
@ -468,6 +483,11 @@ void SyncAmsInfoDialog::show_color_panel(bool flag, bool update_layout)
|
|||
|
||||
void SyncAmsInfoDialog::update_more_setting(bool layout)
|
||||
{
|
||||
if (!m_expand_more_settings) {
|
||||
m_advanced_options_icon->SetBitmap(create_scaled_bitmap("advanced_option3", this, 18));
|
||||
} else {
|
||||
m_advanced_options_icon->SetBitmap(create_scaled_bitmap("advanced_option4", this, 18));
|
||||
}
|
||||
show_sizer(m_append_color_sizer, m_expand_more_settings);
|
||||
show_sizer(m_merge_color_sizer, m_expand_more_settings);
|
||||
if (layout) {
|
||||
|
@ -580,14 +600,7 @@ void SyncAmsInfoDialog::add_two_image_control()
|
|||
m_choose_plate_sizer->AddSpacer(FromDIP(10));
|
||||
|
||||
m_combobox_plate = new ComboBox(m_two_thumbnail_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(FromDIP(50), -1), 0, NULL, wxCB_READONLY);
|
||||
for (size_t i = 0; i < m_plate_number_choices_str.size(); i++) {
|
||||
m_combobox_plate->Append(m_plate_number_choices_str[i]);
|
||||
}
|
||||
auto iter = std::find(m_plate_choices.begin(), m_plate_choices.end(), m_specify_plate_idx);
|
||||
if (iter != m_plate_choices.end()) {
|
||||
auto index = iter - m_plate_choices.begin();
|
||||
m_combobox_plate->SetSelection(index);
|
||||
}
|
||||
|
||||
m_combobox_plate->Bind(wxEVT_COMBOBOX, [this](auto &e) {
|
||||
if (e.GetSelection() < m_plate_choices.size()) {
|
||||
update_when_change_plate(m_plate_choices[e.GetSelection()]);
|
||||
|
@ -706,23 +719,21 @@ SyncAmsInfoDialog::SyncAmsInfoDialog(wxWindow *parent, SyncInfo &info) :
|
|||
auto &bSizer = m_sizer_main;
|
||||
{ // content
|
||||
check_empty_project();
|
||||
if (m_is_empty_project == false) {
|
||||
//use map mode
|
||||
m_mode_combox_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_colormap_btn = new CapsuleButton(this, PageType::ptColorMap, _L("Mapping"), true);
|
||||
m_override_btn = new CapsuleButton(this, PageType::ptOverride, _L("Overwriting"), false);
|
||||
m_mode_combox_sizer->AddSpacer(FromDIP(25));
|
||||
m_mode_combox_sizer->AddStretchSpacer();
|
||||
m_mode_combox_sizer->Add(m_colormap_btn, 0, wxALIGN_CENTER | wxEXPAND | wxALL, FromDIP(2));
|
||||
m_mode_combox_sizer->AddSpacer(FromDIP(8));
|
||||
m_mode_combox_sizer->Add(m_override_btn, 0, wxALIGN_CENTER | wxEXPAND | wxALL, FromDIP(2));
|
||||
m_mode_combox_sizer->AddStretchSpacer();
|
||||
//use map mode
|
||||
m_mode_combox_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_colormap_btn = new CapsuleButton(this, PageType::ptColorMap, _L("Mapping"), true);
|
||||
m_override_btn = new CapsuleButton(this, PageType::ptOverride, _L("Overwriting"), false);
|
||||
m_mode_combox_sizer->AddSpacer(FromDIP(25));
|
||||
m_mode_combox_sizer->AddStretchSpacer();
|
||||
m_mode_combox_sizer->Add(m_colormap_btn, 0, wxALIGN_CENTER | wxEXPAND | wxALL, FromDIP(2));
|
||||
m_mode_combox_sizer->AddSpacer(FromDIP(8));
|
||||
m_mode_combox_sizer->Add(m_override_btn, 0, wxALIGN_CENTER | wxEXPAND | wxALL, FromDIP(2));
|
||||
m_mode_combox_sizer->AddStretchSpacer();
|
||||
|
||||
m_colormap_btn->Bind(wxEVT_BUTTON, &SyncAmsInfoDialog::update_when_change_map_mode,this); // update_when_change_map_mode(e.GetSelection());
|
||||
m_override_btn->Bind(wxEVT_BUTTON, &SyncAmsInfoDialog::update_when_change_map_mode,this);
|
||||
m_colormap_btn->Bind(wxEVT_BUTTON, &SyncAmsInfoDialog::update_when_change_map_mode,this); // update_when_change_map_mode(e.GetSelection());
|
||||
m_override_btn->Bind(wxEVT_BUTTON, &SyncAmsInfoDialog::update_when_change_map_mode,this);
|
||||
|
||||
bSizer->Add(m_mode_combox_sizer, FromDIP(0), wxEXPAND | wxALIGN_LEFT | wxTOP, FromDIP(10));
|
||||
}
|
||||
bSizer->Add(m_mode_combox_sizer, FromDIP(0), wxEXPAND | wxALIGN_LEFT | wxTOP, FromDIP(10));
|
||||
}
|
||||
|
||||
m_basic_panel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
|
||||
|
@ -1031,21 +1042,16 @@ SyncAmsInfoDialog::SyncAmsInfoDialog(wxWindow *parent, SyncInfo &info) :
|
|||
advanced_options_title->SetFont(::Label::Body_13);
|
||||
advanced_options_title->SetForegroundColour(wxColour(38, 46, 48));
|
||||
|
||||
m_advanced_options_icon = new wxStaticBitmap(this, wxID_ANY, create_scaled_bitmap("advanced_option1", this, 18), wxDefaultPosition, wxSize(FromDIP(18), FromDIP(18)));
|
||||
|
||||
sizer_advanced_options_title->Add(0, 0, 1, wxEXPAND, 0);
|
||||
sizer_advanced_options_title->Add(advanced_options_title, 0, wxALIGN_CENTER, 0);
|
||||
sizer_advanced_options_title->Add(m_advanced_options_icon, 0, wxALIGN_CENTER, 0);
|
||||
|
||||
advanced_options_title->Bind(wxEVT_ENTER_WINDOW, [this](auto &e) { SetCursor(wxCURSOR_HAND); });
|
||||
advanced_options_title->Bind(wxEVT_LEAVE_WINDOW, [this](auto &e) { SetCursor(wxCURSOR_ARROW); });
|
||||
advanced_options_title->Bind(wxEVT_LEFT_DOWN, [this](auto &e) {
|
||||
if (m_options_other->IsShown()) {
|
||||
m_options_other->Hide();
|
||||
m_advanced_options_icon->SetBitmap(create_scaled_bitmap("advanced_option1", this, 18));
|
||||
} else {
|
||||
m_options_other->Show();
|
||||
m_advanced_options_icon->SetBitmap(create_scaled_bitmap("advanced_option2", this, 18));
|
||||
}
|
||||
Layout();
|
||||
Fit();
|
||||
|
@ -1246,15 +1252,20 @@ SyncAmsInfoDialog::SyncAmsInfoDialog(wxWindow *parent, SyncInfo &info) :
|
|||
add_two_image_control();
|
||||
|
||||
wxBoxSizer * more_setting_sizer = new wxBoxSizer(wxVERTICAL);
|
||||
m_more_setting_tips = new wxStaticText(this, wxID_ANY, _L("Advanced settings >"));
|
||||
wxBoxSizer * advace_setting_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_more_setting_tips = new wxStaticText(this, wxID_ANY, _L("Advanced settings"));
|
||||
m_more_setting_tips->SetForegroundColour(wxColour(0, 174, 100));
|
||||
m_more_setting_tips->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
|
||||
m_expand_more_settings = !m_expand_more_settings;
|
||||
update_more_setting();
|
||||
});
|
||||
more_setting_sizer->Add(m_more_setting_tips, 0, wxALIGN_LEFT | wxTOP, FromDIP(4));
|
||||
advace_setting_sizer->Add(m_more_setting_tips, 0, wxALIGN_LEFT | wxTOP, FromDIP(4));
|
||||
m_advanced_options_icon = new wxStaticBitmap(this, wxID_ANY, create_scaled_bitmap("advanced_option3", this, 18), wxDefaultPosition, wxSize(FromDIP(18), FromDIP(18)));
|
||||
advace_setting_sizer->Add(m_advanced_options_icon, 0, wxALIGN_LEFT | wxTOP, FromDIP(4));
|
||||
more_setting_sizer->Add(advace_setting_sizer, 0, wxALIGN_LEFT, FromDIP(0));
|
||||
|
||||
m_append_color_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_append_color_sizer->AddSpacer(FromDIP(10));
|
||||
m_append_color_checkbox = new ::CheckBox(this, wxID_ANY);
|
||||
//m_append_color_checkbox->SetForegroundColour(wxColour(107, 107, 107, 100));
|
||||
m_append_color_checkbox->SetValue(wxGetApp().app_config->get_bool("enable_append_color_by_sync_ams"));
|
||||
|
@ -1274,6 +1285,7 @@ SyncAmsInfoDialog::SyncAmsInfoDialog(wxWindow *parent, SyncInfo &info) :
|
|||
more_setting_sizer->Add(m_append_color_sizer, 0, wxALIGN_LEFT | wxTOP, FromDIP(4));
|
||||
|
||||
m_merge_color_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_merge_color_sizer->AddSpacer(FromDIP(10));
|
||||
m_merge_color_checkbox = new ::CheckBox(this, wxID_ANY);
|
||||
//m_merge_color_checkbox->SetForegroundColour(wxColour(107, 107, 107, 100));
|
||||
m_merge_color_checkbox->SetValue(wxGetApp().app_config->get_bool("enable_merge_color_by_sync_ams"));
|
||||
|
@ -1374,11 +1386,20 @@ void SyncAmsInfoDialog::check_empty_project()
|
|||
GUI::PartPlate * curr_plate = GUI::wxGetApp().plater()->get_partplate_list().get_selected_plate();
|
||||
m_is_empty_project = true;
|
||||
m_plate_number_choices_str.clear();
|
||||
m_plate_choices.clear();
|
||||
for (size_t i = 0; i < plate_list.get_plate_count(); i++) {
|
||||
auto temp_plate = GUI::wxGetApp().plater()->get_partplate_list().get_plate(i);
|
||||
if (!temp_plate->get_objects_on_this_plate().empty()) {
|
||||
if (m_is_empty_project) { m_is_empty_project = false; }
|
||||
m_plate_number_choices_str.Add(i < 10 ? ("0" + std::to_wstring(i + 1)) : std::to_wstring(i));
|
||||
if (i < 9) {
|
||||
m_plate_number_choices_str.Add("0" + std::to_wstring(i + 1));
|
||||
}
|
||||
else if (i == 9) {
|
||||
m_plate_number_choices_str.Add("10");
|
||||
}
|
||||
else {
|
||||
m_plate_number_choices_str.Add(std::to_wstring(i + 1));
|
||||
}
|
||||
m_plate_choices.emplace_back(i);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -114,7 +114,7 @@ protected:
|
|||
std::shared_ptr<PrintJob> m_print_job;
|
||||
wxScrolledWindow * m_sw_print_failed_info{nullptr};
|
||||
wxHyperlinkCtrl * m_hyperlink{nullptr};
|
||||
wxStaticBitmap * m_advanced_options_icon{nullptr};
|
||||
|
||||
ScalableBitmap * rename_editable{nullptr};
|
||||
ScalableBitmap * rename_editable_light{nullptr};
|
||||
ScalableBitmap * ams_mapping_help_icon{nullptr};
|
||||
|
@ -295,6 +295,7 @@ private:
|
|||
wxBoxSizer *create_sizer_thumbnail(wxButton *image_button, bool left);
|
||||
void update_when_change_plate(int);
|
||||
void update_when_change_map_mode(int);
|
||||
void update_plate_combox();
|
||||
void update_map_when_change_map_mode();
|
||||
wxColour decode_ams_color(const std::string &color);
|
||||
void update_when_change_map_mode(wxCommandEvent &e);
|
||||
|
@ -344,6 +345,7 @@ private:
|
|||
CapsuleButton * m_colormap_btn = nullptr;
|
||||
CapsuleButton * m_override_btn = nullptr;
|
||||
wxStaticText * m_more_setting_tips = nullptr;
|
||||
wxStaticBitmap * m_advanced_options_icon{nullptr};
|
||||
wxBoxSizer * m_append_color_sizer = nullptr;
|
||||
CheckBox* m_append_color_checkbox = nullptr;
|
||||
wxStaticText * m_append_color_text = nullptr;
|
||||
|
|
Loading…
Reference in New Issue