0x0042A716
| 634 | |
| 635 | // 0x0042A716 |
| 636 | static void switchTab(Window& self, WidgetIndex_t widgetIndex) |
| 637 | { |
| 638 | if (ToolManager::isToolActive(self.type, self.number)) |
| 639 | { |
| 640 | ToolManager::toolCancel(); |
| 641 | } |
| 642 | |
| 643 | self.currentTab = widgetIndex - widx::tab_messages; |
| 644 | self.frameNo = 0; |
| 645 | self.flags &= ~(WindowFlags::maximised); |
| 646 | |
| 647 | self.viewportRemove(0); |
| 648 | |
| 649 | const auto& tabInfo = tabInformationByTabOffset[widgetIndex - widx::tab_messages]; |
| 650 | |
| 651 | self.holdableWidgets = 0; |
| 652 | self.eventHandlers = &tabInfo.events; |
| 653 | self.activatedWidgets = 0; |
| 654 | self.setWidgets(tabInfo.widgets); |
| 655 | self.disabledWidgets = 0; |
| 656 | |
| 657 | self.invalidate(); |
| 658 | |
| 659 | if (self.currentTab == widx::tab_messages - widx::tab_messages) |
| 660 | { |
| 661 | Messages::tabReset(self); |
| 662 | } |
| 663 | if (self.currentTab == widx::tab_settings - widx::tab_messages) |
| 664 | { |
| 665 | Settings::tabReset(self); |
| 666 | } |
| 667 | |
| 668 | self.callOnResize(); |
| 669 | self.callPrepareDraw(); |
| 670 | self.initScrollWidgets(); |
| 671 | self.invalidate(); |
| 672 | self.moveInsideScreenEdges(); |
| 673 | } |
| 674 | |
| 675 | // 0x0042AB92 |
| 676 | static void drawTabs(Window& self, Gfx::DrawingContext& drawingCtx) |
no test coverage detected