 |
OpenMS
2.4.0
|
Go to the documentation of this file.
38 #include <OpenMS/VISUAL/OpenMS_GUIConfig.h>
45 #include <QtWidgets/QMainWindow>
46 #include <QtWidgets/QMdiArea>
47 #include <QtWidgets/QButtonGroup>
48 #include <QtCore/QProcess>
49 #include <QtWidgets/QSplashScreen>
50 #include <QtNetwork/QNetworkReply>
59 class QTreeWidgetItem;
61 class QNetworkAccessManager;
69 class TOPPASLogWindow;
70 class TOPPASResources;
95 void loadPreferences(
String filename =
"");
97 void savePreferences();
99 void loadFiles(
const StringList& list, QSplashScreen* splash_screen);
103 void addTOPPASFile(
const String& file_name,
bool in_new_window =
true);
105 void openFileDialog();
107 void openExampleDialog();
109 void newPipeline(
const int id = -1);
111 void includePipeline();
113 void saveCurrentPipelineAs();
117 void exportAsImage();
119 void loadPipelineResourceFile();
121 void savePipelineResourceFile();
123 void openOnlinePipelineRepository();
125 void preferencesDialog();
127 void updateCurrentPath();
129 void updateTabBar(QMdiSubWindow* w);
131 void showAboutDialog();
140 void showStatusMessage(std::string msg,
OpenMS::UInt time);
142 void showCursorStatus(
double x,
double y);
146 void updateToolBar();
150 void abortPipeline();
160 void outputVertexFinished(
const String& file);
162 void updateTOPPOutputLog(
const QString& out);
164 void showPipelineFinishedLogMessage();
168 void sendClipboardContent();
170 void refreshParameters();
172 void openFilesInTOPPView(QStringList all_files);
174 void openToppasFile(QString filename);
180 void closeByTab(
int id);
183 void focusByTab(
int id);
189 void showAsWindow_(
TOPPASWidget* sw,
const String& caption,
const int special_id = -1);
191 void insertNewVertex_(
double x,
double y, QTreeWidgetItem* item =
nullptr);
193 void insertNewVertexInCenter_(QTreeWidgetItem* item);
196 void downloadTOPPASfromHomepage_(
const QUrl& url);
198 void toppasFileDownloaded_(QNetworkReply* r);
200 void TOPPASreadyRead();
203 void descriptionUpdated_();
239 QLabel* message_label_;
265 void closeEvent(QCloseEvent* event)
override;
266 void keyPressEvent(QKeyEvent* e)
override;
277 void showLogMessage_(LogState state,
const String& heading,
const String& body);
285 static int const IDINITIALUNTITLED = 1000;
294 static QString savePipelineAs(
TOPPASWidget* w, QString current_path);
297 static QString loadPipelineResourceFile(
TOPPASWidget* w, QString current_path);
300 static QString savePipelineResourceFile(
TOPPASWidget* w, QString current_path);
303 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".
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:681
String current_path_
Definition: TOPPASBase.h:249
void updateCurrentPath()
changes the current path according to the currently active window/layer
Definition: TOPPASBase.cpp:1235
void showAsWindow_(TOPPASWidget *sw, const String &caption, const int special_id=-1)
Shows the widget as window in the workspace (the special_id is only used for the first untitled widge...
Definition: TOPPASBase.cpp:828
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:669
void exportAsImage()
exports the current pipeline as image
Definition: TOPPASBase.cpp:706
void removeId(int id)
Remove the tab with identifier id.
Main window of the TOPPAS tool.
Definition: TOPPASBase.h:77
void openFilesInTOPPView(QStringList all_files)
Open files in a new TOPPView instance.
Definition: TOPPASBase.cpp:1546
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:1454
void outputVertexFinished(const String &file)
Called when a file was successfully written to an output vertex.
Definition: TOPPASBase.cpp:1429
void openFileDialog()
shows the dialog for opening files
Definition: TOPPASBase.cpp:530
void includePipeline()
shows the dialog for including another workflow in the currently opened one
Definition: TOPPASBase.cpp:537
static String basename(const String &file)
Returns the basename of the file (without the path).
Invalid value exception.
Definition: Exception.h:335
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:1435
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:898
static int node_offset_
Offset counter for new inserted nodes (to avoid invisible stacking)
Definition: TOPPASBase.h:255
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:57
File not found exception.
Definition: Exception.h:523
void showAboutDialog()
Shows the 'About' dialog.
Definition: TOPPASBase.cpp:1116
void setValidStrings(const String &key, const std::vector< String > &strings)
Sets the valid strings for the parameter key.
#define LOG_ERROR
Macro to be used if non-fatal error are reported (processing continues)
Definition: LogStream.h:446
Extension to the QApplication for running TOPPs GUI tools.
Definition: QApplicationTOPP.h:50
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:543
#define LOG_INFO
Macro if a information, e.g. a status should be reported.
Definition: LogStream.h:454
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:1094
void showURL()
shows the URL stored in the data of the sender QAction
Definition: TOPPASBase.cpp:925
Notice.
Definition: TOPPASBase.h:272
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:240
void updateMenu()
enable/disable menu entries depending on the current state
Definition: TOPPASBase.cpp:1121
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:292
void loadPipelineResourceFile()
shows a file dialog for selecting the resource file to load
Definition: TOPPASBase.cpp:768
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:91
static DateTime now()
Returns the current date and time.
Exception indicating that an invalid parameter was handed over to an algorithm.
Definition: Exception.h:347
TOPPASWidget * window_(int id) const
returns the window with id id
Definition: TOPPASBase.cpp:931
QListWidget * blocks_list_
List of ready analysis pipelines.
Definition: TOPPASBase.h:234
void abortPipeline()
Terminates the currently running pipeline.
void openExampleDialog()
shows the dialog for opening example files
Definition: TOPPASBase.cpp:519
int Int
Signed integer type.
Definition: Types.h:102
void closeByTab(int id)
Closes the window corresponding to the data of the tab with identifier id.
Definition: TOPPASBase.cpp:957
void saveToClipboard(TOPPASScene *scene)
Saves scene to the clipboard.
Definition: TOPPASBase.cpp:1466
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:432
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
void updateToolBar()
updates the toolbar
Definition: TOPPASBase.cpp:1019
QTextEdit implementation with a "clear" button in the context menu.
Definition: TOPPASLogWindow.h:50
void loadFiles(const StringList &list, QSplashScreen *splash_screen)
loads the files and updates the splash screen
Definition: TOPPASBase.cpp:508
#define LOG_DEBUG
Macro for general debugging information.
Definition: LogStream.h:458
void toolFailed()
Called when a tool execution fails.
Definition: TOPPASBase.cpp:1411
void showCursorStatus(double x, double y)
shows x,y coordinates in the status bar
Definition: TOPPASBase.cpp:1014
String tmp_path_
The path for temporary files.
Definition: TOPPASBase.h:252
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:222
double getClockTime() const
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
Convenience tab bar implementation.
Definition: TOPPASTabBar.h:59
void toppasFileDownloaded_(QNetworkReply *r)
triggered when download of .toppas file is finished, so we can store & open it
Definition: TOPPASBase.cpp:303
void parseCommandLine(const int argc, const char **argv, const String &prefix="")
Parses command line arguments.
~TOPPASBase() override
Destructor.
Definition: TOPPASBase.cpp:281
void insert(std::ostream &s)
void setMaxLength(int max_length)
set max_length
void sendClipboardContent()
Sends the clipboard content to the sender of the connected signal.
Definition: TOPPASBase.cpp:1476
A special vertex that allows to split a list of inputs.
Definition: TOPPASSplitterVertex.h:53
void setCurrentId(int id)
Selects the tab with identifier id.
Unable to create file exception.
Definition: Exception.h:636
void loadPreferences(String filename="")
Loads the preferences from the filename given.
Definition: TOPPASBase.cpp:1037
void setClipboard(TOPPASScene *clipboard)
Sets the clipboard content.
const char * tool_name
Definition: TOPPAS.cpp:94
Warning.
Definition: TOPPASBase.h:273
void getTime(UInt &hour, UInt &minute, UInt &second) const
Fills the arguments with the time.
A dictionary mapping string keys to lists of TOPPASResource objects.
Definition: TOPPASResources.h:55
Exception base class.
Definition: Exception.h:89
QNetworkAccessManager * network_manager_
download .toppas files from homepage
Definition: TOPPASBase.h:224
void load(const QString &file_name)
Loads the dictionary from file file_name.
void setParameters(const Param ¶m)
Sets the parameters.
void runPipeline()
Runs the pipeline of the current window.
Definition: TOPPASBase.cpp:1338
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:258
Logger::LogStream Log_debug
Global static instance of a LogStream to capture messages classified as debug output....
static String getVersion()
Return the version number of OpenMS.
int addTab(const String &text, int id)
Adds a new tab with the name text and the identifier id.
void openOnlinePipelineRepository()
opens the OpenMS Homepage to download example workflows
Definition: TOPPASBase.cpp:391
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:100
Log Stream Class.
Definition: LogStream.h:302
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:73
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:1024
StopWatch Class.
Definition: StopWatch.h:59
A special vertex that allows to merge several inputs.
Definition: TOPPASMergerVertex.h:58
void closeFile()
closes the active window
Definition: TOPPASBase.cpp:991
void focusByTab(int id)
Raises the window corresponding to the data of the tab with identifier id.
Definition: TOPPASBase.cpp:972
void preferencesDialog()
shows the preferences dialog
Definition: TOPPASBase.cpp:822
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:363
void updateEdgeColors()
Updates all edge colors (color of green and yellow edges can change when edges are added/removed)
UInt getTopoNr()
Returns the topological sort number.
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:1393
TOPPASScene * clipboard_scene_
The clipboard.
Definition: TOPPASBase.h:280
Logger::LogStream Log_error
Global static instance of a LogStream to capture messages classified as errors. By default it is boun...
QTreeWidget * tools_tree_view_
Tree view of all available TOPP tools.
Definition: TOPPASBase.h:232
void TOPPASreadyRead()
debug...
Definition: TOPPASBase.cpp:355
void showStatusMessage(std::string msg, OpenMS::UInt time)
Shows a status message in the status bar.
Definition: TOPPASBase.cpp:1000
void toolStarted()
Called when a tool is started.
Definition: TOPPASBase.cpp:1357
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
void topoSort()
Performs a topological sort of all vertices.
void print_usage(Logger::LogStream &stream=Log_info)
Definition: TOPPAS.cpp:100
void insertNewVertex_(double x, double y, QTreeWidgetItem *item=nullptr)
Inserts a new TOPP tool in the current window at (x,y)
Definition: TOPPASBase.cpp:1251
QNetworkReply * network_reply_
the content of the network request
Definition: TOPPASBase.h:226
String toString() const
Conversion to String.
Param defaults_
Container for default parameters. This member should be filled in the constructor of derived classes!
Definition: DefaultParamHandler.h:156
void savePipelineResourceFile()
shows a file dialog for selecting the resource file to write to
Definition: TOPPASBase.cpp:793
const char * getFile() const noexcept
Returns the file where it occurred.
void openToppasFile(QString filename)
Opens a toppas file.
Definition: TOPPASBase.cpp:1572
void defaultsToParam_()
Updates the parameters after the defaults have been set in the constructor.
void keyPressEvent(QKeyEvent *e) override
Definition: TOPPASBase.cpp:1219
Management and storage of parameters / INI files.
Definition: Param.h:74
static String getTempDirectory()
The current OpenMS temporary data path (for temporary files)
TOPPASWidget * activeSubWindow_() const
returns a pointer to the active TOPPASWidget (0 if none is active)
Definition: TOPPASBase.cpp:947
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:1497
Map class based on the STL map (containing several convenience functions)
Definition: Map.h:50
void connectVertexSignals(TOPPASVertex *tv)
Connects the signals to slots.
void showLogMessage_(LogState state, const String &heading, const String &body)
Shows a log message in the log_ window.
Definition: TOPPASBase.cpp:1194
QToolBar * tool_bar_
Definition: TOPPASBase.h:215
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
Logger::LogStream Log_info
Global static instance of a LogStream to capture messages classified as information....
void load(const String &filename, Param ¶m)
Read XML file.
QTextEdit * desc_
Workflow Description window.
Definition: TOPPASBase.h:210
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:1485
File not readable exception.
Definition: Exception.h:537
QMdiArea * ws_
Main workspace.
Definition: TOPPASBase.h:219
void setChanged(bool b)
Sets the changed flag.
updating made pipeline invalid
Definition: TOPPASScene.h:127
DateTime Class.
Definition: DateTime.h:54
TOPPASTabBar * tab_bar_
Tab bar. The address of the corresponding window to a tab is stored as an int in tabData()
Definition: TOPPASBase.h:229
void newPipeline(const int id=-1)
shows the dialog for creating a new file (pass IDINITIALUNTITLED as id if its the first call)
Definition: TOPPASBase.cpp:610
TOPPASLogWindow * log_
Log output window.
Definition: TOPPASBase.h:208
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:1375
LogState
Log message states.
Definition: TOPPASBase.h:270
Param param_
Container for current parameters.
Definition: DefaultParamHandler.h:149
Fatal error.
Definition: TOPPASBase.h:274
void abortPipeline()
Terminates the current pipeline.
Definition: TOPPASBase.cpp:1347
void showPipelineFinishedLogMessage()
Called by the scene if the pipeline execution finishes successfully.
Definition: TOPPASBase.cpp:1449
int getLine() const noexcept
Returns the line number where it occurred.
static const int IDINITIALUNTITLED
use this for the first call to newPipeline(), to ensure that the first empty (and unmodified) workspa...
Definition: TOPPASBase.h:285