Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
MantidQt::CustomDialogs::SortTableWorkspaceDialog Class Referencefinal

This class gives specialised dialog for the SortTableWorkspace algorithm. More...

#include <SortTableWorkspaceDialog.h>

Inheritance diagram for MantidQt::CustomDialogs::SortTableWorkspaceDialog:
MantidQt::API::AlgorithmDialog Mantid::API::AlgorithmObserver

Public Member Functions

 SortTableWorkspaceDialog (QWidget *parent=nullptr)
 Default constructor. More...
 
- Public Member Functions inherited from MantidQt::API::AlgorithmDialog
 AlgorithmDialog (QWidget *parent=nullptr)
 DefaultConstructor. More...
 
void initializeLayout ()
 Create the layout of the widget. Can only be called once. More...
 
bool isInitialized () const
 Is this dialog initialized. More...
 
bool isShowKeepOpen () const
 Set if the keep open option is shown. More...
 
void setShowKeepOpen (const bool showOption)
 Set if the keep open option is shown. More...
 
 ~AlgorithmDialog () override
 Destructor. More...
 
void setAlgorithm (const Mantid::API::IAlgorithm_sptr &)
 The following methods were made public for testing in GenericDialogDemo.cpp. More...
 
void setPresetValues (const QHash< QString, QString > &presetValues)
 Set a list of suggested values. More...
 
void isForScript (bool forScript)
 Set whether this is intended for use from a script or not. More...
 
void executeOnAccept (bool on)
 If true then execute the algorithm on acceptance. More...
 
void setOptionalMessage (const QString &message)
 Set an optional message to be displayed at the top of the dialog. More...
 
void addEnabledAndDisableLists (const QStringList &enabled, const QStringList &disabled)
 Set comma-separated-list of enabled parameter names. More...
 
void addAlgorithmObserver (Mantid::API::AlgorithmObserver *observer)
 Add an AlgorithmObserver to the algorithm. More...
 

Private Slots

void addColumn ()
 Add GUI elements to set a new column as a sorting key. More...
 
void changedColumnName (int)
 Sync the GUI after a sorting column name changes. More...
 
void clearGUI ()
 Clear the GUI form the workspace specific data/elements. More...
 
void removeColumn ()
 Remove a column to sort by. More...
 
void workspaceChanged (const QString &wsName)
 Update GUI after workspace changes. More...
 

Private Member Functions

void initLayout () override
 Initialize the layout. More...
 
void parseInput () override
 Pass input from non-standard GUI elements to the algorithm. More...
 
void tieStaticWidgets (const bool readHistory)
 Tie static widgets to their properties. More...
 

Private Attributes

QStringList m_columnNames
 Names of the columns in the workspace. More...
 
Ui::SortTableWorkspaceDialog m_form
 Form. More...
 
QStringList m_sortColumns
 Names of columns used to sort the table. More...
 

Additional Inherited Members

- Signals inherited from MantidQt::API::AlgorithmDialog
void algCompletedSignal ()
 Emitted when alg completes and dialog is staying open. More...
 
void closeEventCalled ()
 
- Protected Slots inherited from MantidQt::API::AlgorithmDialog
void accept () override
 A default slot that can be used for an OK button. More...
 
void reject () override
 A default slot that can be used for a rejected button. More...
 
virtual void helpClicked ()
 Help button clicked;. More...
 
virtual void keepOpenChanged (int state)
 Keep open checkbox clicked;. More...
 
virtual void algorithmCompleted ()
 Keep the running algorithm has completed. More...
 
virtual void executeAlgorithmAsync ()
 Executes the algorithm in a separate thread. More...
 
virtual void removeAlgorithmFromManager ()
 Removes the algorithm from the manager. More...
 
void enableExitButton ()
 Enable to exit button. More...
 
- Protected Member Functions inherited from MantidQt::API::AlgorithmDialog
virtual void saveInput ()
 Save the input history of an accepted dialog. More...
 
const QString & getOptionalMessage () const
 Get the message string. More...
 
void addOptionalMessage (QVBoxLayout *mainLay)
 Add the optional message to the given layout. More...
 
bool isForScript () const
 Get the usage boolean value. More...
 
bool isMessageAvailable () const
 Is there a message string available. More...
 
bool isWidgetEnabled (const QString &propName) const
 Check is a given property should have its control enabled or not. More...
 
Mantid::API::IAlgorithm_sptr getAlgorithm () const
 Get the algorithm pointer. More...
 
Mantid::Kernel::PropertygetAlgorithmProperty (const QString &propName) const
 Get a pointer to the named property. More...
 
bool requiresUserInput (const QString &propName) const
 Return a true if the given property requires user input. More...
 
QString getInputValue (const QString &propName) const
 Get an input value from the form, dealing with blank inputs etc. More...
 
QLabel * getValidatorMarker (const QString &propname)
 Get a property validator label. More...
 
void storePropertyValue (const QString &name, const QString &value)
 Adds a property (name,value) pair to the stored map. More...
 
void removePropertyValue (const QString &name)
 Removes a property (name, value) pair from the stored map. More...
 
bool setPropertyValues (const QStringList &skipList=QStringList())
 Set properties on this algorithm by pulling values from the tied widgets. More...
 
bool setPropertyValue (const QString &pName, bool validateOthers)
 Sets the value of a single property, using the value previously stored using storePropertyValue() More...
 
void showValidators ()
 Show the validators for all the properties. More...
 
QWidget * tie (QWidget *widget, const QString &property, QLayout *parent_layout=nullptr, bool readHistory=true)
 Tie a widget to a property. More...
 
void untie (const QString &property)
 Untie a widget to a property. More...
 
QString openFileDialog (const QString &propName)
 Open a file dialog to select a file. More...
 
QStringList openMultipleFileDialog (const QString &propName)
 Open a file dialog to select many file. More...
 
void fillAndSetComboBox (const QString &propName, QComboBox *optionsBox) const
 Fill a combo box for the named algorithm's allowed values. More...
 
void fillLineEdit (const QString &propName, QLineEdit *field)
 Fill in the necessary input for a text field. More...
 
QLayout * createDefaultButtonLayout (const QString &helpText=QString("?"), const QString &loadText=QString("Run"), const QString &cancelText=QString("Close"), const QString &keepOpenText=QString("Keep Open"))
 Create a row layout of buttons with specified text. More...
 
QPushButton * createHelpButton (const QString &helpText=QString("?")) const
 Create a help button for this algorithm. More...
 
void flagInputWS (QWidget *inputWidget)
 Flag an input workspace combobox with its property name. More...
 
QString getValue (QWidget *widget)
 Retrieve a text value for a property from a widget. More...
 
void parse ()
 Parse out the input from the dialog. More...
 
bool requestedToKeepEnabled (const QString &propName) const
 Test if the given name's widget has been explicity asked to be enabled. More...
 
QString getPreviousValue (const QString &propName) const
 Get the property value from either the previous input store or from Python argument. More...
 
void setPreviousValue (QWidget *widget, const QString &property)
 Set a value based on any old input that we have. More...
 
void finishHandle (const Mantid::API::IAlgorithm *alg) override
 Handle completion of algorithm started while staying open. More...
 
void errorHandle (const Mantid::API::IAlgorithm *alg, const std::string &what) override
 Handle completion of algorithm started while staying open. More...
 
void closeEvent (QCloseEvent *evt) override
 Only allow close when close is enabled. More...
 
- Protected Attributes inherited from MantidQt::API::AlgorithmDialog
Mantid::API::IAlgorithm_sptr m_algorithm
 The algorithm associated with this dialog. More...
 
QString m_algName
 The name of the algorithm. More...
 
QStringList m_algProperties
 The properties associated with this dialog. More...
 
QHash< QString, QString > m_propertyValueMap
 A map of property <name, value> pairs that have been taken from the dialog. More...
 
QHash< QString, QWidget * > m_tied_properties
 A list pointers to the widget for each property. More...
 
bool m_forScript
 A boolean indicating whether this is for a script or not. More...
 
QStringList m_python_arguments
 A list of property names that have been passed from Python. More...
 
QStringList m_enabled
 A list of property names that should have their widgets enabled. More...
 
QStringList m_disabled
 A list of property names that the user has requested to be disabled (overrides those in enabled) More...
 
QString m_strMessage
 The message string to be displayed at the top of the widget; if it exists. More...
 
bool m_keepOpen
 Whether to keep the dialog box open after alg execution. More...
 
bool m_msgAvailable
 Is the message string empty or not. More...
 
bool m_isInitialized
 Whether the layout has been initialized. More...
 
bool m_autoParseOnInit
 Flag if the input should be parsed automatically on initialization. More...
 
QHash< QString, QLabel * > m_validators
 A list of labels to use as validation markers. More...
 
QHash< QString, QString > m_errors
 A map where key = property name; value = the error for this property (i.e. More...
 
QStringList m_noValidation
 A list of property names whose widgets handle their own validation. More...
 
QVector< QWidget * > m_inputws_opts
 Store a list of the names of input workspace boxes. More...
 
QVector< QLineEdit * > m_outputws_fields
 Store a list of output workspace text edits. More...
 
QHash< QPushButton *, int > m_wsbtn_tracker
 A map to keep track of replace workspace button presses. More...
 
QCheckBox * m_keepOpenCheckBox
 
QPushButton * m_okButton
 
QPushButton * m_exitButton
 
std::vector< Mantid::API::AlgorithmObserver * > m_observers
 A list of AlgorithmObservers to add to the algorithm prior to execution. More...
 
QTimer m_btnTimer
 Enable the close button when the timer fires. More...
 
bool m_statusTracked
 A flag to track whether the status of the algorithm is being tracked. More...
 

Detailed Description

This class gives specialised dialog for the SortTableWorkspace algorithm.

Date
1/12/2014

Definition at line 26 of file SortTableWorkspaceDialog.h.

Constructor & Destructor Documentation

◆ SortTableWorkspaceDialog()

MantidQt::CustomDialogs::SortTableWorkspaceDialog::SortTableWorkspaceDialog ( QWidget *  parent = nullptr)

Default constructor.

Definition at line 24 of file SortTableWorkspaceDialog.cpp.

Member Function Documentation

◆ addColumn

void MantidQt::CustomDialogs::SortTableWorkspaceDialog::addColumn ( )
privateslot

Add GUI elements to set a new column as a sorting key.

Add elements to set additional column name and sort order.

Definition at line 164 of file SortTableWorkspaceDialog.cpp.

References changedColumnName(), m_columnNames, m_form, and m_sortColumns.

Referenced by initLayout().

◆ changedColumnName

void MantidQt::CustomDialogs::SortTableWorkspaceDialog::changedColumnName ( int  )
privateslot

Sync the GUI after a sorting column name changes.

Sync column names in the combo-boxes and m_sortColumns.

Definition at line 207 of file SortTableWorkspaceDialog.cpp.

References m_form, m_sortColumns, and n.

Referenced by addColumn(), and initLayout().

◆ clearGUI

void MantidQt::CustomDialogs::SortTableWorkspaceDialog::clearGUI ( )
privateslot

Clear the GUI form the workspace specific data/elements.

Clear the UI.

Definition at line 136 of file SortTableWorkspaceDialog.cpp.

References index, m_columnNames, m_form, and m_sortColumns.

Referenced by initLayout(), and workspaceChanged().

◆ initLayout()

void MantidQt::CustomDialogs::SortTableWorkspaceDialog::initLayout ( )
overrideprivatevirtual

◆ parseInput()

void MantidQt::CustomDialogs::SortTableWorkspaceDialog::parseInput ( )
overrideprivatevirtual

Pass input from non-standard GUI elements to the algorithm.

Parse input.

Reimplemented from MantidQt::API::AlgorithmDialog.

Definition at line 56 of file SortTableWorkspaceDialog.cpp.

References m_form, m_sortColumns, n, and MantidQt::API::AlgorithmDialog::storePropertyValue().

◆ removeColumn

void MantidQt::CustomDialogs::SortTableWorkspaceDialog::removeColumn ( )
privateslot

Remove a column to sort by.

Remove GUI elements for additional column to sort by.

Definition at line 224 of file SortTableWorkspaceDialog.cpp.

References index, m_columnNames, m_form, and m_sortColumns.

Referenced by initLayout().

◆ tieStaticWidgets()

void MantidQt::CustomDialogs::SortTableWorkspaceDialog::tieStaticWidgets ( const bool  readHistory)
private

Tie static widgets to their properties.

Parameters
readHistory:: If true then the history will be re read.

Definition at line 84 of file SortTableWorkspaceDialog.cpp.

References m_form, and MantidQt::API::AlgorithmDialog::tie().

Referenced by initLayout().

◆ workspaceChanged

void MantidQt::CustomDialogs::SortTableWorkspaceDialog::workspaceChanged ( const QString &  wsName)
privateslot

Update GUI after workspace changes.

Call to update the interface when the input workspace changes.

Parameters
wsName:: Name of the new input workspace.

Definition at line 100 of file SortTableWorkspaceDialog.cpp.

References clearGUI(), Mantid::Kernel::SingletonHolder< T >::Instance(), m_columnNames, m_form, and m_sortColumns.

Referenced by initLayout().

Member Data Documentation

◆ m_columnNames

QStringList MantidQt::CustomDialogs::SortTableWorkspaceDialog::m_columnNames
private

Names of the columns in the workspace.

Definition at line 56 of file SortTableWorkspaceDialog.h.

Referenced by addColumn(), clearGUI(), removeColumn(), and workspaceChanged().

◆ m_form

Ui::SortTableWorkspaceDialog MantidQt::CustomDialogs::SortTableWorkspaceDialog::m_form
private

◆ m_sortColumns

QStringList MantidQt::CustomDialogs::SortTableWorkspaceDialog::m_sortColumns
private

Names of columns used to sort the table.

Definition at line 58 of file SortTableWorkspaceDialog.h.

Referenced by addColumn(), changedColumnName(), clearGUI(), parseInput(), removeColumn(), and workspaceChanged().


The documentation for this class was generated from the following files: