 |
OpenMS
2.6.0
|
Go to the documentation of this file.
38 #include <OpenMS/VISUAL/OpenMS_GUIConfig.h>
46 #include <QtWidgets/QButtonGroup>
47 #include <QtWidgets/QMainWindow>
48 #include <QtWidgets/QMdiArea>
49 #include <QtNetwork/QNetworkReply>
50 #include <QtWidgets/QSplashScreen>
59 class QTreeWidgetItem;
61 class QNetworkAccessManager;
66 class EnhancedWorkSpace;
71 class TOPPASResources;
96 void loadPreferences(
String filename =
"");
98 void savePreferences();
100 void loadFiles(
const StringList& list, QSplashScreen* splash_screen);
104 void addTOPPASFile(
const String& file_name,
bool in_new_window =
true);
106 void openFilesByDialog();
108 void openExampleDialog();
112 void includePipeline();
114 void saveCurrentPipelineAs();
118 void exportAsImage();
120 void loadPipelineResourceFile();
122 void savePipelineResourceFile();
124 void openOnlinePipelineRepository();
126 void preferencesDialog();
128 void updateCurrentPath();
130 void updateTabBar(QMdiSubWindow* w);
132 void showAboutDialog();
141 void showStatusMessage(std::string msg,
OpenMS::UInt time);
143 void showCursorStatus(
double x,
double y);
147 void updateToolBar();
151 void abortPipeline();
161 void outputVertexFinished(
const String& file);
163 void updateTOPPOutputLog(
const QString& out);
165 void showPipelineFinishedLogMessage();
169 void sendClipboardContent();
171 void refreshParameters();
173 void openFilesInTOPPView(QStringList all_files);
175 void openToppasFile(QString filename);
181 void closeByTab(
int id);
184 void focusByTab(
int id);
192 void insertNewVertex_(
double x,
double y, QTreeWidgetItem* item =
nullptr);
194 void insertNewVertexInCenter_(QTreeWidgetItem* item);
197 void downloadTOPPASfromHomepage_(
const QUrl& url);
199 void toppasFileDownloaded_(QNetworkReply* r);
201 void TOPPASreadyRead();
204 void descriptionUpdated_();
240 QLabel* message_label_;
266 void closeEvent(QCloseEvent* event)
override;
267 void keyPressEvent(QKeyEvent* e)
override;
282 static QString savePipelineAs(
TOPPASWidget* w, QString current_path);
285 static QString loadPipelineResourceFile(
TOPPASWidget* w, QString current_path);
288 static QString savePipelineResourceFile(
TOPPASWidget* w, QString current_path);
291 static QString refreshPipelineParameters(
TOPPASWidget* tw, QString current_path);
const String & getSaveFileName()
Returns the file name.
VertexContainer::iterator VertexIterator
A mutable iterator for vertices.
Definition: TOPPASScene.h:141
bool wasChanged()
Returns whether the workflow has been changed since the latest "save".
Definition: EnhancedWorkspace.h:51
void runPipeline()
Runs the pipeline.
Param copy(const String &prefix, bool remove_prefix=false) const
Returns a new Param object containing all entries that start with prefix.
RefreshStatus
Pipeline status after refreshParameters() was called.
Definition: TOPPASScene.h:123
Base::iterator Iterator
Definition: Map.h:80
static QString savePipelineAs(TOPPASWidget *w, QString current_path)
Definition: TOPPASBase.cpp:679
String current_path_
Definition: TOPPASBase.h:250
void updateCurrentPath()
changes the current path according to the currently active window/layer
Definition: TOPPASBase.cpp:1170
A log window (QTextEdit) with convenience functions.
Definition: LogWindow.h:53
static void openURL(const QString &target)
void saveCurrentPipelineAs()
shows the dialog for saving the current file and updates the current tab caption
Definition: TOPPASBase.cpp:668
void exportAsImage()
exports the current pipeline as image
Definition: TOPPASBase.cpp:704
Main window of the TOPPAS tool.
Definition: TOPPASBase.h:78
void openFilesInTOPPView(QStringList all_files)
Open files in a new TOPPView instance.
Definition: TOPPASBase.cpp:1480
void appendNewHeader(const LogState state, const String &heading, const String &body)
appends a new block with heading and a body
static void startTOPPView(const QStringList &args)
Open TOPPView (e.g. from within TOPPAS)
void insertNewVertexInCenter_(QTreeWidgetItem *item)
Inserts the item in the middle of the current window.
Definition: TOPPASBase.cpp:1389
void outputVertexFinished(const String &file)
Called when a file was successfully written to an output vertex.
Definition: TOPPASBase.cpp:1364
void includePipeline()
shows the dialog for including another workflow in the currently opened one
Definition: TOPPASBase.cpp:536
static String basename(const String &file)
Returns the basename of the file (without the path).
Invalid value exception.
Definition: Exception.h:335
int addTab(const String &text, int id)
Adds a new tab with the name text and the identifier id.
A container for all visual items of a TOPPAS workflow.
Definition: TOPPASScene.h:85
void updateTOPPOutputLog(const QString &out)
Called when a TOPP tool produces (error) output.
Definition: TOPPASBase.cpp:1370
void setValue(const String &key, const DataValue &value, const String &description="", const StringList &tags=StringList())
Sets a value.
void closeEvent(QCloseEvent *event) override
Definition: TOPPASBase.cpp:880
static int node_offset_
Offset counter for new inserted nodes (to avoid invisible stacking)
Definition: TOPPASBase.h:256
void createResources(TOPPASResources &resources)
Create resources from the current workflow.
void connectOutputVertexSignals(TOPPASOutputFileListVertex *oflv)
Connects the signals to slots.
VertexIterator verticesEnd()
Returns end() iterator of all vertices.
A more convenient string class.
Definition: String.h:59
EnhancedWorkspace * ws_
Main workspace.
Definition: TOPPASBase.h:220
File not found exception.
Definition: Exception.h:523
void showAboutDialog()
Shows the 'About' dialog.
Definition: TOPPASBase.cpp:1076
void setValidStrings(const String &key, const std::vector< String > &strings)
Sets the valid strings for the parameter key.
Extension to the QApplication for running TOPPs GUI tools.
Definition: QApplicationTOPP.h:50
String toString(bool full_precision=true) const
Conversion to String full_precision Controls number of fractional digits for all double types or list...
void include(TOPPASScene *new_scene, QPointF pos=QPointF())
Includes the pipeline scene.
bool store(const String &file)
Stores the pipeline to file, returns true on success.
void addTOPPASFile(const String &file_name, bool in_new_window=true)
opens the file in a new window
Definition: TOPPASBase.cpp:542
The file pendant of the Param class used to load and store the param datastructure as paramXML.
Definition: ParamXMLFile.h:49
void savePreferences()
stores the preferences (used when this window is closed)
Definition: TOPPASBase.cpp:1054
void closeRequested(int id)
Signal that indicates that the tab with identifier id is requested to be removed (double click or con...
void showURL()
shows the URL stored in the data of the sender QAction
Definition: TOPPASBase.cpp:900
void currentIdChanged(int id)
Signal that indicates that the current tab changed, giving the id of the Tab.
const DataValue & getValue(const String &key) const
Returns a value of a parameter.
QLabel * message_label_
Label for messages in the status bar.
Definition: TOPPASBase.h:241
void updateMenu()
enable/disable menu entries depending on the current state
Definition: TOPPASBase.cpp:1081
static String getUniqueName(bool include_hostname=true)
Returns a string, consisting of date, time, hostname, process id, and a incrementing number....
void descriptionUpdated_()
user edited the workflow description
Definition: TOPPASBase.cpp:291
void loadPipelineResourceFile()
shows a file dialog for selecting the resource file to load
Definition: TOPPASBase.cpp:766
bool hasSubstring(const String &string) const
true if String contains the string, false otherwise
RefreshStatus refreshParameters()
Refreshes the parameters of the TOPP tools in this workflow.
void loadResources(const TOPPASResources &resources)
Loads the resources into the input nodes of this workflow.
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:92
Exception indicating that an invalid parameter was handed over to an algorithm.
Definition: Exception.h:347
void openFilesByDialog()
shows the dialog for opening files
Definition: TOPPASBase.cpp:529
void showAsWindow_(TOPPASWidget *sw, const String &caption)
Shows the widget as window in the workspace.
Definition: TOPPASBase.cpp:826
TOPPASWidget * window_(int id) const
returns the window with id id
Definition: TOPPASBase.cpp:906
QListWidget * blocks_list_
List of ready analysis pipelines.
Definition: TOPPASBase.h:235
void abortPipeline()
Terminates the currently running pipeline.
void openExampleDialog()
shows the dialog for opening example files
Definition: TOPPASBase.cpp:518
void closeByTab(int id)
Closes the window corresponding to the data of the tab with identifier id.
Definition: TOPPASBase.cpp:921
void saveToClipboard(TOPPASScene *scene)
Saves scene to the clipboard.
Definition: TOPPASBase.cpp:1401
static bool exists(const String &file)
Method used to test if a file exists.
static TOPPASTreeView * createTOPPToolsTreeWidget(QWidget *parent_widget=nullptr)
Creates and fills a tree widget with all available tools.
Definition: TOPPASBase.cpp:431
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
void updateToolBar()
updates the toolbar
Definition: TOPPASBase.cpp:979
void loadFiles(const StringList &list, QSplashScreen *splash_screen)
loads the files and updates the splash screen
Definition: TOPPASBase.cpp:507
void toolFailed()
Called when a tool execution fails.
Definition: TOPPASBase.cpp:1346
void showCursorStatus(double x, double y)
shows x,y coordinates in the status bar
Definition: TOPPASBase.cpp:974
String tmp_path_
The path for temporary files.
Definition: TOPPASBase.h:253
VertexIterator verticesBegin()
Returns begin() iterator of all vertices.
Tree view implementation for the list of TOPP tools.
Definition: TOPPASTreeView.h:54
bool exists(const String &key) const
Tests if a parameter is set (expecting its fully qualified name, e.g., TextExporter:1:proteins_only)
bool saveIfChanged()
Saves the pipeline if it has been changed since the last save.
QWebView * webview_
OpenMS homepage workflow browser.
Definition: TOPPASBase.h:223
EnhancedTabBarWidgetInterface * getWidget(int id) const
double getClockTime() const
LogWindow * log_
Log output window.
Definition: TOPPASBase.h:209
no updates required
Definition: TOPPASScene.h:125
static void showAboutDialog(QWidget *parent, const QString &toolname)
Show the About-Dialog with License and Citation for all GUI tools.
Definition: QApplicationTOPP.cpp:131
void toppasFileDownloaded_(QNetworkReply *r)
triggered when download of .toppas file is finished, so we can store & open it
Definition: TOPPASBase.cpp:302
void parseCommandLine(const int argc, const char **argv, const String &prefix="")
Parses command line arguments.
~TOPPASBase() override
Destructor.
Definition: TOPPASBase.cpp:280
void insert(std::ostream &s)
void sendClipboardContent()
Sends the clipboard content to the sender of the connected signal.
Definition: TOPPASBase.cpp:1411
A special vertex that allows to split a list of inputs.
Definition: TOPPASSplitterVertex.h:53
Unable to create file exception.
Definition: Exception.h:636
void loadPreferences(String filename="")
Loads the preferences from the filename given.
Definition: TOPPASBase.cpp:997
void setClipboard(TOPPASScene *clipboard)
Sets the clipboard content.
void topoSort(bool resort_all=true)
Performs a topological sort of all vertices.
void start()
Start the stop watch.
#define OPENMS_LOG_DEBUG
Macro for general debugging information.
Definition: LogStream.h:470
const char * tool_name
Definition: TOPPAS.cpp:94
A dictionary mapping string keys to lists of TOPPASResource objects.
Definition: TOPPASResources.h:55
void newPipeline()
creates a new tab
Definition: TOPPASBase.cpp:610
Exception base class.
Definition: Exception.h:89
QNetworkAccessManager * network_manager_
download .toppas files from homepage
Definition: TOPPASBase.h:225
void load(const QString &file_name)
Loads the dictionary from file file_name.
void stop()
Stop the stop watch (can be resumed later). If the stop watch was not running an exception is thrown.
void setParameters(const Param ¶m)
Sets the parameters.
void runPipeline()
Runs the pipeline of the current window.
Definition: TOPPASBase.cpp:1273
QString toQString() const
Conversion to Qt QString.
static qreal z_value_
z-value counter for new inserted nodes (new nodes should be on top)
Definition: TOPPASBase.h:259
void show(int id)
Selects the tab with identifier id.
Convenience tab bar implementation.
Definition: EnhancedTabBar.h:60
static String getVersion()
Return the version number of OpenMS.
void openOnlinePipelineRepository()
opens the OpenMS Homepage to download example workflows
Definition: TOPPASBase.cpp:390
void setDescription(const QString &desc)
when description is updated by user, use this to update the description for later storage in file
void connectToolVertexSignals(TOPPASToolVertex *ttv)
Connects the signals to slots.
The base class of the different vertex classes.
Definition: TOPPASVertex.h:101
Log Stream Class.
Definition: LogStream.h:311
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
void updateTabBar(QMdiSubWindow *w)
brings the tab corresponding to the active window in front
Definition: TOPPASBase.cpp:984
This class is used to determine the current process' CPU (user and/or kernel) and wall time.
Definition: StopWatch.h:65
A special vertex that allows to merge several inputs.
Definition: TOPPASMergerVertex.h:58
void closeFile()
closes the active window
Definition: TOPPASBase.cpp:951
void focusByTab(int id)
Raises the window corresponding to the data of the tab with identifier id.
Definition: TOPPASBase.cpp:932
void preferencesDialog()
shows the preferences dialog
Definition: TOPPASBase.cpp:820
int main(int argc, const char **argv)
Definition: TOPPAS.cpp:115
void downloadTOPPASfromHomepage_(const QUrl &url)
triggered when user clicks a link - if it ends in .TOPPAS we're done
Definition: TOPPASBase.cpp:362
void updateEdgeColors()
Updates all edge colors (color of green and yellow edges can change when edges are added/removed)
Logger::LogStream OpenMS_Log_error
Global static instance of a LogStream to capture messages classified as errors. By default it is boun...
#define OPENMS_LOG_ERROR
Macro to be used if non-fatal error are reported (processing continues)
Definition: LogStream.h:455
UInt getTopoNr()
Returns the topological sort number.
Logger::LogStream OpenMS_Log_debug
Global static instance of a LogStream to capture messages classified as debug output....
Parse Error exception.
Definition: Exception.h:622
void addVertex(TOPPASVertex *tv)
Adds a vertex.
Base::const_iterator ConstIterator
Definition: Map.h:81
void toolCrashed()
Called when a tool crashes.
Definition: TOPPASBase.cpp:1328
TOPPASScene * clipboard_scene_
The clipboard.
Definition: TOPPASBase.h:271
QTreeWidget * tools_tree_view_
Tree view of all available TOPP tools.
Definition: TOPPASBase.h:233
void TOPPASreadyRead()
debug...
Definition: TOPPASBase.cpp:354
void showStatusMessage(std::string msg, OpenMS::UInt time)
Shows a status message in the status bar.
Definition: TOPPASBase.cpp:960
void toolStarted()
Called when a tool is started.
Definition: TOPPASBase.cpp:1292
void print_usage(Logger::LogStream &stream=OpenMS_Log_info)
Definition: TOPPAS.cpp:100
static String getOpenMSDataPath()
Returns the OpenMS data path (environment variable overwrites the default installation path)
A vertex representing an output file list.
Definition: TOPPASOutputFileListVertex.h:49
Logger::LogStream OpenMS_Log_info
Global static instance of a LogStream to capture messages classified as information....
const char * tool_name
Definition: SwathWizard.cpp:146
void insertNewVertex_(double x, double y, QTreeWidgetItem *item=nullptr)
Inserts a new TOPP tool in the current window at (x,y)
Definition: TOPPASBase.cpp:1186
QNetworkReply * network_reply_
the content of the network request
Definition: TOPPASBase.h:227
Param defaults_
Container for default parameters. This member should be filled in the constructor of derived classes!
Definition: DefaultParamHandler.h:169
void savePipelineResourceFile()
shows a file dialog for selecting the resource file to write to
Definition: TOPPASBase.cpp:791
const char * getFile() const noexcept
Returns the file where it occurred.
void openToppasFile(QString filename)
Opens a toppas file.
Definition: TOPPASBase.cpp:1506
void defaultsToParam_()
Updates the parameters after the defaults have been set in the constructor.
void keyPressEvent(QKeyEvent *e) override
Definition: TOPPASBase.cpp:1154
Management and storage of parameters / INI files.
Definition: Param.h:73
static String getTempDirectory()
TOPPASWidget * activeSubWindow_() const
returns a pointer to the active TOPPASWidget (0 if none is active)
Definition: TOPPASBase.cpp:911
pipeline was not valid before and is invalid afterwards
Definition: TOPPASScene.h:128
const char * what() const noexcept override
Returns the error message of the exception.
void store(const String &filename, const Param ¶m) const
Write XML file.
static QString refreshPipelineParameters(TOPPASWidget *tw, QString current_path)
Refreshes the TOPP tools parameters of the pipeline.
Definition: TOPPASBase.cpp:1431
Map class based on the STL map (containing several convenience functions)
Definition: Map.h:50
void connectVertexSignals(TOPPASVertex *tv)
Connects the signals to slots.
QToolBar * tool_bar_
Definition: TOPPASBase.h:216
#define OPENMS_LOG_INFO
Macro if a information, e.g. a status should be reported.
Definition: LogStream.h:465
void load(const String &file)
Loads the pipeline from file.
static bool removeDirRecursively(const String &dir_name)
Removes the subdirectories of the specified directory (absolute path). Returns true if successful.
File is empty.
Definition: Exception.h:594
void removeId(int id)
Remove the tab with identifier id.
void load(const String &filename, Param ¶m)
Read XML file.
EnhancedTabBar * tab_bar_
Tab bar. The address of the corresponding window to a tab is stored as an int in tabData()
Definition: TOPPASBase.h:230
QTextEdit * desc_
Workflow Description window.
Definition: TOPPASBase.h:211
QString getDescription() const
workflow description (to be displayed in TOPPAS window)
void savePipeline()
saves the pipeline (determined by Qt's sender mechanism)
Definition: TOPPASBase.cpp:616
void refreshParameters()
Refreshes the parameters of the TOPP tools of the current workflow and stores an updated workflow inc...
Definition: TOPPASBase.cpp:1420
File not readable exception.
Definition: Exception.h:537
void setChanged(bool b)
Sets the changed flag.
updating made pipeline invalid
Definition: TOPPASScene.h:127
void setMaxLength(int max_length)
set max_length
bool isPipelineRunning()
Returns if a pipeline is currently running.
void store(const QString &file_name)
Writes the dictionary to file file_name.
void toolFinished()
Called when a tool is finished.
Definition: TOPPASBase.cpp:1310
Param param_
Container for current parameters.
Definition: DefaultParamHandler.h:162
void abortPipeline()
Terminates the current pipeline.
Definition: TOPPASBase.cpp:1282
void showPipelineFinishedLogMessage()
Called by the scene if the pipeline execution finishes successfully.
Definition: TOPPASBase.cpp:1384
int getLine() const noexcept
Returns the line number where it occurred.
void setTabText(const QString &text)
sets the text of the current tab