VP1MainWindow Node1 VP1MainWindow + progressbar # m_currentconfigfile # m_runnumber # m_timestamp # m_betweenevents # m_mustquit # m_dummyemptycontroller # m_requestqueue # m_blockallmessages # m_messages_blockedsenders # m_messages_blockedexactmessages and 27 more... + VP1MainWindow() + ~VP1MainWindow() + okToProceedToNextEvent() + nextEvent() + userRequestedFiles() + setRunEvtNumber() + mustQuit() + channelManager() + tabManager() + userRequestedExit() + getRunNumber() + getEventNumber() + getEventTimestamp() + loadPluginFile() + request_addEmptyTab() + request_channelInformation() + request_printChannel() + request_saveChannelSnapshot() + request_cruisemodechange() + request_saveasConfig() + request_saveConfig() + request_loadConfig() + request_loadPlugin() and 17 more... # closeEvent() # listenOnTcp() # addChannelIconsToComboBox() # setupStatusBar() # availablePluginFiles() # availableFiles() # receivedExternalRequest() # processEnqueuedRequests() # finishedIncomingDialog() # updateTcpIcon() # postInitUpdates() # showMenu_loadPlugin() # showMenu_loadPluginItemSelected() # showMenu_loadConfFile() # showMenu_loadConfFileItem Selected() # changeStyleActionTriggered() and 12 more... Node2 QMainWindow Node2->Node1 Node3 Ui::VP1MainWindow Node3->Node1 Node4 VP1TcpServer + VP1TcpServer() + ~VP1TcpServer() + listen() + port() + isListening() + close() - acceptConnection() - readData() - handleError() - socketDestroyed() - listenStateMightHaveChanged() Node4->Node1 #m_tcpserver Node7 VP1AvailEvents + VP1AvailEvents() + init() + ~VP1AvailEvents() + allLocalEvents() + freshEvents() + newestEvent() + setCurrentEvent() + maxLocalFilesToKeep() # cleanupAndCheckForEventList Changes() # invalidateDirCache() # inHistory() # allEventFilesInDir() # freshEvents() # tmpDir() # tmpLocalFileDir() # tmpActiveRetrievalDir() # timeCutForNew() # requireNewestRunNumber() # isConsideredFresh() # messageDebug() - actualCleanup() - actualCheckForEventListChanges() Node7->Node1 #m_availEvents Node13 VP1StreamMenuUpdater - m_inputdiractions - m_mutex - m_timer + VP1StreamMenuUpdater() + ~VP1StreamMenuUpdater() + updateInputDirectoriesStatus() # run() Node13->Node1 #m_streamMenuUpdater Node15 VP1ExecutionScheduler + setCruiseMode() + executeNewEvent() + VP1ExecutionScheduler() + ~VP1ExecutionScheduler() + bringFromConstructedToReady() + uncreateAndDelete() + isRefreshing() + hasAllActiveSystemsRefreshed() + nextRequestedEventFile() + setNextRequestedEventFile() + userRequestedFiles() + saveSnaphsotToFile() + init() + cleanup() - refreshSystem() - eraseSystem() - actualUncreateAndDelete() - processSystemForRefresh() - updateProgressBarDuringRefresh() - channelCreated() - channelUncreated() - startRefreshQueueIfAppropriate() - systemNeedErase() - performCruise() Node15->Node1 #m_scheduler Node32 VP1ChannelManager + VP1ChannelManager() + ~VP1ChannelManager() + loadPluginFile() + unloadPluginFile() + currentPluginFiles() + channelsInPluginFile() + basename2UniqueNames() + deleteChannel() + getChannel() + nActive() and 10 more... Node32->Node1 #m_channelmanager Node41 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() Node41->Node1 #m_tabmanager Node54 VP1PluginDialog + VP1PluginDialog() + ~VP1PluginDialog() + unloadfile() - pluginSelected() - unloadclicked() - updateRefreshInfo() Node54->Node1 #m_plugindialog