VP1TabManager Node1 VP1TabManager + VP1TabManager() + ~VP1TabManager() + hasTab() + showTab() + showFirstChannelWithGiven Basename() + suggestNewTabName() + currentTab() + currentChannelUniqueName() + selectedChannelWidget() + nTabs() and 11 more... + addNewTab() + renameTab() + removeTab() + removeChannel() + moveChannelToTab() + cloneChannelToTab() + cloneTab() + removeAllTabs() + saveConfigurationToFile() + loadConfigurationFromFile() and 9 more... # eventFilter() # serializeChannelState() # unserializeChannelState() # currentVisibleChanged() # executePendingChannelRemoval() Node3 VP1TabManager::Imp + dontEmitVisibilityChanges + lastvisible + lastsoonvisible + fullscreen_tabname + fullscreen_tabindex + fullscreen_tab + tabcruisemode + channelWithPendingRemoval + Imp() + channel2tab() + name2tab() + checkTabnameNotEmpty() + checkTabnameExists() + checkTabnameNotExists() + checkChannelNameExists() + serializeTabAndChannelConfigInfo() + serializeTabAndChannelConfigInfo() + previousTab() + nextTab() + channelsInTab() + channelsInTab() Node1->Node3 +tabmanager Node2 QObject Node2->Node1 Node21 VP1ChannelManager + VP1ChannelManager() + ~VP1ChannelManager() + loadPluginFile() + unloadPluginFile() + currentPluginFiles() + channelsInPluginFile() + basename2UniqueNames() + deleteChannel() + getChannel() + nActive() and 10 more... Node2->Node21 Node3->Node1 #m_d Node4 VP1DockWidget + VP1DockWidget() + ~VP1DockWidget() + setSelected() + setUnselected() + isSelected() + channelWidget() + ensureCWHasNoParent() + ensureCWHasParent() + highlightStyle() # contextMenuEvent() # resizeEvent() - systemRefreshInfoChanged() - updateTitle() Node4->Node3 +fullscreen_dockwidget +selecteddockwidget Node18 std::map< IVP1ChannelWidget *, VP1DockWidget * > Node4->Node18 +elements Node20 std::set< VP1DockWidget * > Node4->Node20 +keys Node16 std::map< QMainWindow *, std::set< IVP1ChannelWidget * > > + keys Node16->Node3 +tab_2_channelwidgets Node18->Node3 +channelwidget_2_dockwidget Node8 IVP1ChannelWidget + IVP1ChannelWidget() + init() + ~IVP1ChannelWidget() + type() + isAccumulator() + setRunEvtNumber() + saveState() + restoreFromState() + name() + unique_name() and 6 more... # create() # systemRefreshed() # systemErased() # goingToNextEvent() # uncreate() # lastOfActiveSystemsRefreshed() # turnOn() # turnOff() # getRunEvtNumber() # setEvtTimestamp() # getEvtTimestamp() # registerController() # registerSystem() - cloneID() - controllerWidget() - emitRefreshInfoChanged() - hasRefreshingSystem() - IVP1ChannelWidget() - operator=() - setCloneID() - systems() - deleteControllers() - state() - setState() - setCanRegister() Node8->Node3 +fullscreen_channelwidget Node8->Node18 +keys Node19 std::map< QString, QMainWindow * > + keys + elements Node19->Node3 +name_2_tab Node20->Node3 +fullscreen_floatingdocks Node21->Node3 +channelmanager