Gizmo Measure - Clicking on 1st selected let second selected to be promoted as first selected
This commit is contained in:
parent
a03528e55a
commit
ef018318bd
@ -354,6 +354,10 @@ bool GLGizmoMeasure::on_mouse(const wxMouseEvent &mouse_event)
|
|||||||
else {
|
else {
|
||||||
if (!m_selected_features.second.feature.has_value())
|
if (!m_selected_features.second.feature.has_value())
|
||||||
m_selected_features.first.reset();
|
m_selected_features.first.reset();
|
||||||
|
else {
|
||||||
|
m_selected_features.first = m_selected_features.second;
|
||||||
|
m_selected_features.second.reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -853,7 +857,7 @@ void GLGizmoMeasure::on_render()
|
|||||||
};
|
};
|
||||||
|
|
||||||
auto hover_selection_color = [this]() {
|
auto hover_selection_color = [this]() {
|
||||||
return !m_selected_features.first.feature.has_value() ? SELECTED_1ST_COLOR : SELECTED_2ND_COLOR;
|
return (!m_selected_features.first.feature.has_value() || *m_curr_feature == *m_selected_features.first.feature) ? SELECTED_1ST_COLOR : SELECTED_2ND_COLOR;
|
||||||
};
|
};
|
||||||
|
|
||||||
auto hovering_color = [this, hover_selection_color, &selection]() {
|
auto hovering_color = [this, hover_selection_color, &selection]() {
|
||||||
@ -1693,15 +1697,28 @@ void GLGizmoMeasure::on_render_input_window(float x, float y, float bottom_limit
|
|||||||
std::string text;
|
std::string text;
|
||||||
ColorRGBA color;
|
ColorRGBA color;
|
||||||
if (m_selected_features.second.feature.has_value()) {
|
if (m_selected_features.second.feature.has_value()) {
|
||||||
if (m_selected_features.second.feature == m_curr_feature && m_mode == EMode::FeatureSelection)
|
if (m_selected_features.first.feature == m_curr_feature && m_mode == EMode::FeatureSelection) {
|
||||||
text = _u8L("Unselect feature");
|
text = _u8L("Unselect feature");
|
||||||
else if (m_hover_id == SELECTION_2_ID)
|
color = SELECTED_1ST_COLOR;
|
||||||
|
}
|
||||||
|
else if (m_selected_features.second.feature == m_curr_feature && m_mode == EMode::FeatureSelection) {
|
||||||
|
text = _u8L("Unselect feature");
|
||||||
|
color = SELECTED_2ND_COLOR;
|
||||||
|
}
|
||||||
|
else if (m_hover_id == SELECTION_1_ID) {
|
||||||
text = (m_mode == EMode::CenterSelection) ? _u8L("Unselect center") : _u8L("Unselect point");
|
text = (m_mode == EMode::CenterSelection) ? _u8L("Unselect center") : _u8L("Unselect point");
|
||||||
else
|
color = SELECTED_1ST_COLOR;
|
||||||
|
}
|
||||||
|
else if (m_hover_id == SELECTION_2_ID) {
|
||||||
|
text = (m_mode == EMode::CenterSelection) ? _u8L("Unselect center") : _u8L("Unselect point");
|
||||||
|
color = SELECTED_2ND_COLOR;
|
||||||
|
}
|
||||||
|
else {
|
||||||
text = (m_mode == EMode::PointSelection) ? _u8L("Select point") :
|
text = (m_mode == EMode::PointSelection) ? _u8L("Select point") :
|
||||||
(m_mode == EMode::CenterSelection) ? _u8L("Select center") : _u8L("Select feature");
|
(m_mode == EMode::CenterSelection) ? _u8L("Select center") : _u8L("Select feature");
|
||||||
color = SELECTED_2ND_COLOR;
|
color = SELECTED_2ND_COLOR;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
if (m_selected_features.first.feature.has_value()) {
|
if (m_selected_features.first.feature.has_value()) {
|
||||||
if (m_selected_features.first.feature == m_curr_feature)
|
if (m_selected_features.first.feature == m_curr_feature)
|
||||||
|
Loading…
Reference in New Issue
Block a user