Skip to content

Commit

Permalink
Fixed bug that prevented changing Label position on the panel represe…
Browse files Browse the repository at this point in the history
…ntation if FreeXPlacement/FreeYPlacement was set as false.
  • Loading branch information
larspalo committed Jul 6, 2024
1 parent ee28675 commit 2a9cf17
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Display of correct default text on setter button elements.
- Crash caused by trying to open recent file that doesn't exist anymore.
- Bug that prevented changing label position by dragging or keys if FreeXPlacement and FreeYPlacement was false.

## [0.14.0] - 2024-07-02

Expand Down
18 changes: 18 additions & 0 deletions src/GUIRepresentationDrawingPanel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,15 @@ void GUIRepresentationDrawingPanel::OnLeftRelease(wxMouseEvent& event) {
if (m_guiObjects[i].element) {
m_guiObjects[i].element->setPosX(finalXpos);
m_guiObjects[i].element->setPosY(finalYpos);
if (m_guiObjects[i].element->getType().IsSameAs(wxT("Label"))) {
GUILabel *labelElement = dynamic_cast<GUILabel*>(m_guiObjects[i].element);
if (labelElement) {
if (!labelElement->isFreeXPlacement())
labelElement->setFreeXPlacement(true);
if (!labelElement->isFreeYPlacement())
labelElement->setFreeYPlacement(true);
}
}
} else if (m_guiObjects[m_selectedObjectIndex].img) {
m_guiObjects[i].img->setPositionX(finalXpos);
m_guiObjects[i].img->setPositionY(finalYpos);
Expand Down Expand Up @@ -539,6 +548,15 @@ void GUIRepresentationDrawingPanel::OnKeyboardInput(wxKeyEvent& event) {
if (m_guiObjects[i].element) {
m_guiObjects[i].element->setPosX(xPos);
m_guiObjects[i].element->setPosY(yPos);
if (m_guiObjects[i].element->getType().IsSameAs(wxT("Label"))) {
GUILabel *labelElement = dynamic_cast<GUILabel*>(m_guiObjects[i].element);
if (labelElement) {
if (!labelElement->isFreeXPlacement())
labelElement->setFreeXPlacement(true);
if (!labelElement->isFreeYPlacement())
labelElement->setFreeYPlacement(true);
}
}
} else if (m_guiObjects[i].img) {
m_guiObjects[i].img->setPositionX(xPos);
m_guiObjects[i].img->setPositionY(yPos);
Expand Down

0 comments on commit 2a9cf17

Please sign in to comment.