OpenMS
TOPPASBase Class Reference

Main window of the TOPPAS tool. More...

#include <OpenMS/VISUAL/APPLICATIONS/TOPPASBase.h>

Inheritance diagram for TOPPASBase:
[legend]
Collaboration diagram for TOPPASBase:
[legend]

Public Slots

void addTOPPASFile (const String &file_name, bool in_new_window=true)
 opens the file in a new window More...
 
void openFilesByDialog ()
 shows the dialog for opening files More...
 
void openExampleDialog ()
 shows the dialog for opening example files More...
 
void newPipeline ()
 creates a new tab More...
 
void includePipeline ()
 shows the dialog for including another workflow in the currently opened one More...
 
void saveCurrentPipelineAs ()
 shows the dialog for saving the current file and updates the current tab caption More...
 
void savePipeline ()
 saves the pipeline (determined by Qt's sender mechanism) More...
 
void exportAsImage ()
 exports the current pipeline as image More...
 
void loadPipelineResourceFile ()
 shows a file dialog for selecting the resource file to load More...
 
void savePipelineResourceFile ()
 shows a file dialog for selecting the resource file to write to More...
 
void openOnlinePipelineRepository ()
 opens the OpenMS Homepage to download example workflows More...
 
void preferencesDialog ()
 shows the preferences dialog More...
 
void updateCurrentPath ()
 changes the current path according to the currently active window/layer More...
 
void updateTabBar (QMdiSubWindow *w)
 brings the tab corresponding to the active window in front More...
 
void showAboutDialog ()
 Shows the 'About' dialog. More...
 
void showURL ()
 shows the URL stored in the data of the sender QAction More...
 
void showStatusMessage (const std::string &msg, OpenMS::UInt time)
 Shows a status message in the status bar. More...
 
void showCursorStatus (double x, double y)
 shows x,y coordinates in the status bar More...
 
void closeFile ()
 closes the active window More...
 
void updateToolBar ()
 updates the toolbar More...
 
void runPipeline ()
 Runs the pipeline of the current window. More...
 
void abortPipeline ()
 Terminates the current pipeline. More...
 
void toolStarted ()
 Called when a tool is started. More...
 
void toolFinished ()
 Called when a tool is finished. More...
 
void toolCrashed ()
 Called when a tool crashes. More...
 
void toolFailed ()
 Called when a tool execution fails. More...
 
void outputVertexFinished (const String &file)
 Called when a file was successfully written to an output vertex. More...
 
void updateTOPPOutputLog (const QString &out)
 Called when a TOPP tool produces (error) output. More...
 
void showPipelineFinishedLogMessage ()
 Called by the scene if the pipeline execution finishes successfully. More...
 
void saveToClipboard (TOPPASScene *scene)
 Saves scene to the clipboard. More...
 
void sendClipboardContent ()
 Sends the clipboard content to the sender of the connected signal. More...
 
void refreshParameters ()
 Refreshes the parameters of the TOPP tools of the current workflow and stores an updated workflow including the current parameters. More...
 
void openFilesInTOPPView (QStringList all_files)
 Open files in a new TOPPView instance. More...
 
void openToppasFile (const QString &filename)
 Opens a toppas file. More...
 

Public Member Functions

 TOPPASBase (QWidget *parent=nullptr)
 Constructor. More...
 
 ~TOPPASBase () override
 Destructor. More...
 
void loadPreferences (String filename="")
 Loads the preferences from the filename given. More...
 
void savePreferences ()
 stores the preferences (used when this window is closed) More...
 
void loadFiles (const std::vector< String > &list, QSplashScreen *splash_screen)
 loads the files and updates the splash screen More...
 
- Public Member Functions inherited from DefaultParamHandler
 DefaultParamHandler (const String &name)
 Constructor with name that is displayed in error messages. More...
 
 DefaultParamHandler (const DefaultParamHandler &rhs)
 Copy constructor. More...
 
virtual ~DefaultParamHandler ()
 Destructor. More...
 
DefaultParamHandleroperator= (const DefaultParamHandler &rhs)
 Assignment operator. More...
 
virtual bool operator== (const DefaultParamHandler &rhs) const
 Equality operator. More...
 
void setParameters (const Param &param)
 Sets the parameters. More...
 
const ParamgetParameters () const
 Non-mutable access to the parameters. More...
 
const ParamgetDefaults () const
 Non-mutable access to the default parameters. More...
 
const StringgetName () const
 Non-mutable access to the name. More...
 
void setName (const String &name)
 Mutable access to the name. More...
 
const std::vector< String > & getSubsections () const
 Non-mutable access to the registered subsections. More...
 

Static Public Member Functions

common functions used in TOPPAS and TOPPView
static TOPPASTreeViewcreateTOPPToolsTreeWidget (QWidget *parent_widget=nullptr)
 Creates and fills a tree widget with all available tools. More...
 
static QString savePipelineAs (TOPPASWidget *w, const QString &current_path)
 
static QString loadPipelineResourceFile (TOPPASWidget *w, const QString &current_path)
 Loads and sets the resources of the TOPPASWidget. More...
 
static QString savePipelineResourceFile (TOPPASWidget *w, const QString &current_path)
 Saves the resources of the TOPPASWidget. More...
 
static QString refreshPipelineParameters (TOPPASWidget *tw, QString current_path)
 Refreshes the TOPP tools parameters of the pipeline. More...
 
- Static Public Member Functions inherited from DefaultParamHandler
static void writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &key_prefix="")
 Writes all parameters to meta values. More...
 

Protected Attributes

Toolbar
QToolBar * tool_bar_
 
RecentFilesMenu recent_files_menu_
 manages recent list of filenames and the menu that goes with it More...
 
EnhancedWorkspacews_
 Main workspace. More...
 
QWebView * webview_
 OpenMS homepage workflow browser. More...
 
QNetworkAccessManager * network_manager_
 download .toppas files from homepage More...
 
QNetworkReply * network_reply_
 the content of the network request More...
 
EnhancedTabBartab_bar_
 Tab bar. The address of the corresponding window to a tab is stored as an int in tabData() More...
 
TOPPASTreeViewtools_tree_view_
 Tree view of all available TOPP tools. More...
 
QLineEdittools_filter_
 Filter for the Tree view. More...
 
QPushButton * tools_expand_all_
 Expand button for the Tree view. More...
 
QPushButton * tools_collapse_all_
 Collapse button for the Tree view. More...
 
QListWidgetblocks_list_
 List of ready analysis pipelines. More...
 
- Protected Attributes inherited from DefaultParamHandler
Param param_
 Container for current parameters. More...
 
Param defaults_
 Container for default parameters. This member should be filled in the constructor of derived classes! More...
 
std::vector< Stringsubsections_
 Container for registered subsections. This member should be filled in the constructor of derived classes! More...
 
String error_name_
 Name that is displayed in error messages during the parameter checking. More...
 
bool check_defaults_
 If this member is set to false no checking if parameters in done;. More...
 
bool warn_empty_defaults_
 If this member is set to false no warning is emitted when defaults are empty;. More...
 

Tab bar slots

LogWindowlog_
 Log output window. More...
 
QTextEditdesc_
 Workflow Description window. More...
 
void closeByTab (int id)
 Closes the window corresponding to the data of the tab with identifier id. More...
 
void focusByTab (int id)
 Raises the window corresponding to the data of the tab with identifier id. More...
 
void updateMenu ()
 enable/disable menu entries depending on the current state More...
 
void showAsWindow_ (TOPPASWidget *sw, const String &caption)
 Shows the widget as window in the workspace. More...
 
void insertNewVertex_ (double x, double y, QTreeWidgetItem *item=nullptr)
 Inserts a new TOPP tool in the current window at (x,y) More...
 
void insertNewVertexInCenter_ (QTreeWidgetItem *item)
 Inserts the item in the middle of the current window. More...
 
void downloadTOPPASfromHomepage_ (const QUrl &url)
 triggered when user clicks a link - if it ends in .TOPPAS we're done More...
 
void toppasFileDownloaded_ (QNetworkReply *r)
 triggered when download of .toppas file is finished, so we can store & open it More...
 
void TOPPASreadyRead ()
 debug... More...
 
void descriptionUpdated_ ()
 user edited the workflow description More...
 

Status bar

QLabel * message_label_
 Label for messages in the status bar. More...
 
String current_path_
 
String tmp_path_
 The path for temporary files. More...
 
static int node_offset_ = 0
 Offset counter for new inserted nodes (to avoid invisible stacking) More...
 
static qreal z_value_ = 42.0
 z-value counter for new inserted nodes (new nodes should be on top) More...
 
TOPPASWidgetwindow_ (int id) const
 returns the window with id id More...
 
void filterToolTree_ ()
 
TOPPASWidgetactiveSubWindow_ () const
 returns a pointer to the active TOPPASWidget (0 if none is active) More...
 

reimplemented Qt events

TOPPASSceneclipboard_scene_
 The clipboard. More...
 
void closeEvent (QCloseEvent *event) override
 
void keyPressEvent (QKeyEvent *e) override
 

Additional Inherited Members

- Protected Member Functions inherited from DefaultParamHandler
virtual void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Detailed Description

Main window of the TOPPAS tool.

Constructor & Destructor Documentation

◆ TOPPASBase()

TOPPASBase ( QWidget parent = nullptr)

Constructor.

References TOPPASBase::abortPipeline(), EnhancedTabBar::addTab(), TOPPASBase::addTOPPASFile(), TOPPASBase::closeByTab(), TOPPASBase::closeFile(), EnhancedTabBar::closeRequested(), TOPPASTreeView::collapseAll(), TOPPASBase::createTOPPToolsTreeWidget(), TOPPASBase::current_path_, EnhancedTabBar::currentIdChanged(), DefaultParamHandler::defaults_, DefaultParamHandler::defaultsToParam_(), TOPPASBase::desc_, TOPPASBase::descriptionUpdated_(), TOPPASTreeView::expandAll(), TOPPASBase::exportAsImage(), TOPPASBase::filterToolTree_(), TOPPASBase::focusByTab(), RecentFilesMenu::getMenu(), File::getTempDirectory(), File::getUniqueName(), Param::getValue(), TOPPASBase::includePipeline(), TOPPASBase::insertNewVertexInCenter_(), TOPPASBase::loadPipelineResourceFile(), TOPPASBase::loadPreferences(), TOPPASBase::log_, TOPPASBase::message_label_, TOPPASBase::network_manager_, TOPPASBase::newPipeline(), TOPPASBase::openExampleDialog(), TOPPASBase::openFilesByDialog(), DefaultParamHandler::param_, TOPPASBase::recent_files_menu_, RecentFilesMenu::recentFileClicked(), TOPPASBase::refreshParameters(), EnhancedTabBar::removeId(), TOPPASBase::runPipeline(), TOPPASBase::saveCurrentPipelineAs(), TOPPASBase::savePipeline(), TOPPASBase::savePipelineResourceFile(), LogWindow::setMaxLength(), Param::setValidStrings(), Param::setValue(), TOPPASBase::showAboutDialog(), TOPPASBase::showURL(), DefaultParamHandler::subsections_, TOPPASBase::tab_bar_, TOPPASBase::tmp_path_, TOPPASBase::tools_collapse_all_, TOPPASBase::tools_expand_all_, TOPPASBase::tools_filter_, TOPPASBase::tools_tree_view_, TOPPASBase::toppasFileDownloaded_(), String::toQString(), OpenMS::StringUtils::toQString(), ParamValue::toString(), TOPPASBase::updateMenu(), TOPPASBase::updateTabBar(), and TOPPASBase::ws_.

◆ ~TOPPASBase()

Member Function Documentation

◆ abortPipeline

void abortPipeline ( )
slot

◆ activeSubWindow_()

◆ addTOPPASFile

◆ closeByTab

void closeByTab ( int  id)
protectedslot

Closes the window corresponding to the data of the tab with identifier id.

References TOPPASBase::updateMenu(), and TOPPASBase::window_().

Referenced by TOPPASBase::addTOPPASFile(), and TOPPASBase::TOPPASBase().

◆ closeEvent()

void closeEvent ( QCloseEvent *  event)
overrideprotected

◆ closeFile

void closeFile ( )
slot

closes the active window

References TOPPASBase::updateMenu(), and TOPPASBase::ws_.

Referenced by TOPPASBase::TOPPASBase().

◆ createTOPPToolsTreeWidget()

TOPPASTreeView * createTOPPToolsTreeWidget ( QWidget parent_widget = nullptr)
static

Creates and fills a tree widget with all available tools.

References ToolHandler::getTOPPToolList(), ToolHandler::getTypes(), and String::toQString().

Referenced by TOPPASBase::TOPPASBase().

◆ descriptionUpdated_

void descriptionUpdated_ ( )
protectedslot

◆ downloadTOPPASfromHomepage_

void downloadTOPPASfromHomepage_ ( const QUrl &  url)
protectedslot

triggered when user clicks a link - if it ends in .TOPPAS we're done

References LogWindow::appendNewHeader(), TOPPASBase::log_, TOPPASBase::network_manager_, TOPPASBase::network_reply_, and TOPPASBase::TOPPASreadyRead().

◆ exportAsImage

void exportAsImage ( )
slot

◆ filterToolTree_()

void filterToolTree_ ( )
protected

◆ focusByTab

void focusByTab ( int  id)
protectedslot

Raises the window corresponding to the data of the tab with identifier id.

References TOPPASBase::desc_, TOPPASScene::getDescription(), TOPPASWidget::getScene(), and TOPPASBase::window_().

Referenced by TOPPASBase::TOPPASBase().

◆ includePipeline

void includePipeline ( )
slot

shows the dialog for including another workflow in the currently opened one

References TOPPASBase::addTOPPASFile(), TOPPASBase::current_path_, and String::toQString().

Referenced by TOPPASBase::TOPPASBase().

◆ insertNewVertex_

◆ insertNewVertexInCenter_

void insertNewVertexInCenter_ ( QTreeWidgetItem *  item)
protectedslot

Inserts the item in the middle of the current window.

References TOPPASBase::activeSubWindow_(), TOPPASBase::insertNewVertex_(), TOPPASBase::node_offset_, and TOPPASBase::tools_tree_view_.

Referenced by TOPPASBase::TOPPASBase().

◆ keyPressEvent()

void keyPressEvent ( QKeyEvent *  e)
overrideprotected

◆ loadFiles()

void loadFiles ( const std::vector< String > &  list,
QSplashScreen *  splash_screen 
)

loads the files and updates the splash screen

References TOPPASBase::addTOPPASFile(), and OpenMS::StringUtils::toQString().

Referenced by main().

◆ loadPipelineResourceFile [1/2]

void loadPipelineResourceFile ( )
slot

shows a file dialog for selecting the resource file to load

References TOPPASBase::activeSubWindow_(), TOPPASBase::current_path_, and String::toQString().

Referenced by TOPPASBase::TOPPASBase().

◆ loadPipelineResourceFile() [2/2]

QString loadPipelineResourceFile ( TOPPASWidget w,
const QString &  current_path 
)
static

Loads and sets the resources of the TOPPASWidget.

References TOPPASWidget::getScene(), TOPPASResources::load(), and TOPPASScene::loadResources().

◆ loadPreferences()

void loadPreferences ( String  filename = "")

◆ newPipeline

void newPipeline ( )
slot

creates a new tab

References TOPPASBase::showAsWindow_(), TOPPASBase::tmp_path_, and TOPPASBase::ws_.

Referenced by main(), and TOPPASBase::TOPPASBase().

◆ openExampleDialog

void openExampleDialog ( )
slot

shows the dialog for opening example files

References TOPPASBase::addTOPPASFile(), File::getOpenMSDataPath(), and OpenMS::StringUtils::toQString().

Referenced by TOPPASBase::TOPPASBase().

◆ openFilesByDialog

void openFilesByDialog ( )
slot

shows the dialog for opening files

References TOPPASBase::addTOPPASFile(), TOPPASBase::current_path_, and String::toQString().

Referenced by TOPPASBase::TOPPASBase().

◆ openFilesInTOPPView

void openFilesInTOPPView ( QStringList  all_files)
slot

Open files in a new TOPPView instance.

References OpenMS::GUIHelpers::startTOPPView().

Referenced by TOPPASBase::showAsWindow_().

◆ openOnlinePipelineRepository

void openOnlinePipelineRepository ( )
slot

opens the OpenMS Homepage to download example workflows

◆ openToppasFile

void openToppasFile ( const QString &  filename)
slot

Opens a toppas file.

References TOPPASBase::addTOPPASFile().

Referenced by main().

◆ outputVertexFinished

void outputVertexFinished ( const String file)
slot

Called when a file was successfully written to an output vertex.

References LogWindow::appendNewHeader(), and TOPPASBase::log_.

Referenced by TOPPASBase::addTOPPASFile(), and TOPPASBase::insertNewVertex_().

◆ preferencesDialog

void preferencesDialog ( )
slot

shows the preferences dialog

References TOPPASBase::savePreferences().

◆ refreshParameters

void refreshParameters ( )
slot

Refreshes the parameters of the TOPP tools of the current workflow and stores an updated workflow including the current parameters.

References TOPPASBase::activeSubWindow_(), File::basename(), TOPPASBase::current_path_, TOPPASBase::refreshPipelineParameters(), EnhancedTabBar::setTabText(), TOPPASBase::tab_bar_, String::toQString(), and OpenMS::StringUtils::toQString().

Referenced by TOPPASBase::TOPPASBase().

◆ refreshPipelineParameters()

◆ runPipeline

void runPipeline ( )
slot

Runs the pipeline of the current window.

References TOPPASBase::activeSubWindow_(), TOPPASWidget::getScene(), and TOPPASScene::runPipeline().

Referenced by TOPPASBase::TOPPASBase().

◆ saveCurrentPipelineAs

void saveCurrentPipelineAs ( )
slot

◆ savePipeline

◆ savePipelineAs()

QString savePipelineAs ( TOPPASWidget w,
const QString &  current_path 
)
static

Saves the workflow in the provided TOPPASWidget to a user defined location. Returns the full file name or "" if no valid one is selected.

References File::basename(), TOPPASWidget::getScene(), TOPPASScene::store(), and String::toQString().

Referenced by TOPPASBase::refreshPipelineParameters(), TOPPASBase::saveCurrentPipelineAs(), and TOPPASBase::savePipeline().

◆ savePipelineResourceFile [1/2]

void savePipelineResourceFile ( )
slot

shows a file dialog for selecting the resource file to write to

References TOPPASBase::activeSubWindow_(), TOPPASBase::current_path_, and String::toQString().

Referenced by TOPPASBase::TOPPASBase().

◆ savePipelineResourceFile() [2/2]

QString savePipelineResourceFile ( TOPPASWidget w,
const QString &  current_path 
)
static

◆ savePreferences()

◆ saveToClipboard

void saveToClipboard ( TOPPASScene scene)
slot

Saves scene to the clipboard.

References TOPPASBase::clipboard_scene_.

Referenced by TOPPASBase::showAsWindow_().

◆ sendClipboardContent

void sendClipboardContent ( )
slot

Sends the clipboard content to the sender of the connected signal.

References TOPPASBase::clipboard_scene_, and TOPPASScene::setClipboard().

Referenced by TOPPASBase::showAsWindow_().

◆ showAboutDialog

void showAboutDialog ( )
slot

Shows the 'About' dialog.

References QApplicationTOPP::showAboutDialog().

Referenced by TOPPASBase::TOPPASBase().

◆ showAsWindow_

◆ showCursorStatus

void showCursorStatus ( double  x,
double  y 
)
slot

shows x,y coordinates in the status bar

Referenced by TOPPASBase::showAsWindow_().

◆ showPipelineFinishedLogMessage

void showPipelineFinishedLogMessage ( )
slot

Called by the scene if the pipeline execution finishes successfully.

References LogWindow::appendNewHeader(), and TOPPASBase::log_.

Referenced by TOPPASBase::showAsWindow_().

◆ showStatusMessage

void showStatusMessage ( const std::string &  msg,
OpenMS::UInt  time 
)
slot

Shows a status message in the status bar.

If time is 0 the status message is displayed until showStatusMessage is called with an empty message or a new message. Otherwise the message is displayed for time ms.

References TOPPASBase::message_label_.

Referenced by TOPPASBase::showAsWindow_().

◆ showURL

void showURL ( )
slot

shows the URL stored in the data of the sender QAction

References OpenMS::GUIHelpers::openURL().

Referenced by TOPPASBase::TOPPASBase().

◆ toolCrashed

◆ toolFailed

◆ toolFinished

◆ toolStarted

◆ toppasFileDownloaded_

void toppasFileDownloaded_ ( QNetworkReply *  r)
protectedslot

triggered when download of .toppas file is finished, so we can store & open it

Referenced by TOPPASBase::TOPPASBase().

◆ TOPPASreadyRead

void TOPPASreadyRead ( )
protectedslot

◆ updateCurrentPath

void updateCurrentPath ( )
slot

changes the current path according to the currently active window/layer

References TOPPASBase::current_path_, Param::getValue(), DefaultParamHandler::param_, and ParamValue::toString().

◆ updateMenu

◆ updateTabBar

void updateTabBar ( QMdiSubWindow *  w)
slot

brings the tab corresponding to the active window in front

References EnhancedTabBarWidgetInterface::getWindowId(), EnhancedTabBar::show(), and TOPPASBase::tab_bar_.

Referenced by TOPPASBase::TOPPASBase().

◆ updateToolBar

void updateToolBar ( )
slot

updates the toolbar

◆ updateTOPPOutputLog

void updateTOPPOutputLog ( const QString &  out)
slot

Called when a TOPP tool produces (error) output.

References TOPPASBase::log_.

Referenced by TOPPASBase::addTOPPASFile(), TOPPASBase::insertNewVertex_(), and TOPPASBase::showAsWindow_().

◆ window_()

TOPPASWidget * window_ ( int  id) const
protected

Member Data Documentation

◆ blocks_list_

QListWidget* blocks_list_
protected

List of ready analysis pipelines.

◆ clipboard_scene_

TOPPASScene* clipboard_scene_
protected

◆ current_path_

◆ desc_

◆ log_

◆ message_label_

QLabel* message_label_
protected

Label for messages in the status bar.

Referenced by TOPPASBase::showStatusMessage(), and TOPPASBase::TOPPASBase().

◆ network_manager_

QNetworkAccessManager* network_manager_
protected

download .toppas files from homepage

Referenced by TOPPASBase::downloadTOPPASfromHomepage_(), and TOPPASBase::TOPPASBase().

◆ network_reply_

QNetworkReply* network_reply_
protected

the content of the network request

Referenced by TOPPASBase::downloadTOPPASfromHomepage_(), and TOPPASBase::TOPPASreadyRead().

◆ node_offset_

int node_offset_ = 0
staticprotected

Offset counter for new inserted nodes (to avoid invisible stacking)

Referenced by TOPPASBase::insertNewVertexInCenter_().

◆ recent_files_menu_

RecentFilesMenu recent_files_menu_
protected

manages recent list of filenames and the menu that goes with it

Referenced by TOPPASBase::addTOPPASFile(), TOPPASBase::loadPreferences(), TOPPASBase::savePreferences(), and TOPPASBase::TOPPASBase().

◆ tab_bar_

EnhancedTabBar* tab_bar_
protected

◆ tmp_path_

String tmp_path_
protected

◆ tool_bar_

QToolBar* tool_bar_
protected

◆ tools_collapse_all_

QPushButton* tools_collapse_all_
protected

Collapse button for the Tree view.

Referenced by TOPPASBase::TOPPASBase().

◆ tools_expand_all_

QPushButton* tools_expand_all_
protected

Expand button for the Tree view.

Referenced by TOPPASBase::TOPPASBase().

◆ tools_filter_

QLineEdit* tools_filter_
protected

Filter for the Tree view.

Referenced by TOPPASBase::filterToolTree_(), and TOPPASBase::TOPPASBase().

◆ tools_tree_view_

TOPPASTreeView* tools_tree_view_
protected

◆ webview_

QWebView* webview_
protected

OpenMS homepage workflow browser.

◆ ws_

◆ z_value_

qreal z_value_ = 42.0
staticprotected

z-value counter for new inserted nodes (new nodes should be on top)

Referenced by TOPPASBase::insertNewVertex_().