void MainWindow::clickTab(Tabs* tabs, TabView* tabView, ui::MouseButtons buttons) { if (!tabView) return; WorkspaceView* workspaceView = dynamic_cast<WorkspaceView*>(tabView); if (m_workspace->getActiveView() != workspaceView) m_workspace->setActiveView(workspaceView); DocumentView* docView = dynamic_cast<DocumentView*>(workspaceView); if (!docView) return; UIContext* context = UIContext::instance(); context->setActiveView(docView); context->updateFlags(); // Right-button: popup-menu if (buttons & kButtonRight) { Menu* popup_menu = AppMenus::instance()->getDocumentTabPopupMenu(); if (popup_menu != NULL) { popup_menu->showPopup(jmouse_x(0), jmouse_y(0)); } } // Middle-button: close the sprite else if (buttons & kButtonMiddle) { Command* close_file_cmd = CommandsModule::instance()->getCommandByName(CommandId::CloseFile); context->executeCommand(close_file_cmd, NULL); } }