Bug #13464
closedMoving of WMenuItem
100%
Description
There currently exist no direct way to move around WMenuItems in a WMenu. Although this IS supported by first removing them, and adding them again, calling WMenu::removeItem() and WMenu::insertItem() respectively.
Now, this will result in a segfault, when the contents of the item are loaded Lazy. This is because the wrapping container (uContentsContainer) is removed, and the content that was added to the WStackedWidget to display it, it taken back by the WMenuItem (WMenuItem::returnContentsInStack()). To avoid this issue, we need to check the assumption that the uContentsContainer exists, when we try to add it to the WStackedWidget.
Additionally, since we already offer removeItem and insertItem, we can cut out the middle-man, and provide WMenu::moveItem(int fromIndex, int toIndex), and WMenu::moveItem(WMenuItem* item, int toIndex).
Any existing WMenuItem at toIndex or beyond, will have their index increased by one.
Updated by Romain Mardulyn 9 months ago
- Status changed from New to InProgress
- Assignee set to Romain Mardulyn
Updated by Romain Mardulyn 9 months ago
- Status changed from InProgress to Review
- Assignee deleted (
Romain Mardulyn)
Updated by Matthias Van Ceulebroeck 4 months ago
- Assignee set to Matthias Van Ceulebroeck
Updated by Matthias Van Ceulebroeck 3 months ago
- Status changed from Review to Implemented @Emweb
- Assignee changed from Matthias Van Ceulebroeck to Romain Mardulyn
- % Done changed from 0 to 100
Updated by Matthias Van Ceulebroeck 3 months ago
- Status changed from Implemented @Emweb to Implemented @Test
Updated by Matthias Van Ceulebroeck about 2 months ago
- Status changed from Implemented @Test to Closed