#include <dataset.h>
Inheritance diagram for VIEW::DatasetController:
Public Slots | |
virtual bool | write () |
Show a file dialog for writing the selected Dataset. | |
virtual bool | open () |
Show a file dialog to open a data file. | |
virtual bool | deleteDatasets () |
Delete all Datasets. | |
virtual bool | deleteDataset () |
Delete the currently highlighted Dataset. | |
Public Member Functions | |
DatasetController (DatasetController &dc) | |
void | setDatasetControl (DatasetControl *dc) |
DatasetControl * | getDatasetControl () |
virtual bool | handle (DatasetMessage *msg) |
Message handling. | |
virtual bool | insertDataset (Dataset *set) |
virtual bool | deleteDataset (Dataset *set) |
virtual bool | createMenuEntries () |
Create menu entries for this data type. | |
virtual QMenu * | buildContextMenu (QTreeWidgetItem *item) |
Create a context menu for this data type. | |
vector< Dataset * > | getDatasets () |
Get all Datasets of this type in the DatasetControl. | |
vector< Dataset * > | getSelectedDatasets () |
Get all selected Datasets of this type in the DatasetControl. | |
Dataset * | getSelectedDataset () |
Get one selected Datasets of this type in the DatasetControl. | |
bool | hasDataset (Dataset *set) |
Test if a Dataset is registered in this controller. | |
bool | hasItem (QTreeWidgetItem *item) |
Test if a given QTreeWidgetItem corresponds to a registered Dataset. | |
Dataset * | getDataset (QTreeWidgetItem *item) |
Get the Dataset for a QTreeWidgetItem. | |
String | getType () |
Get the String type identifier for this data type. | |
virtual void | checkMenu (MainControl &mc) |
Check the menu entries for this data type. | |
vector< String > | getSupportedFileFormats () |
Return a vector with all supported file formats. | |
Protected Member Functions | |
void | setStatusbarText (const String &text, bool important=false) |
virtual bool | write (Dataset *, String, String) |
virtual Dataset * | open (String, String) |
String | getFileTypes_ () |
String | getNameFromFileName_ (String filename) |
QAction * | insertMenuEntry_ (Position pid, const String &name, const char *slot, QKeySequence accel=QKeySequence()) |
virtual void | deleteDataset_ (Dataset *) |
In the derived class: cast to concrete type and delete the data! | |
Protected Attributes | |
String | type_ |
vector< String > | file_formats_ |
DatasetControl * | control_ |
vector< QAction * > | actions_ |
HashSet< QAction * > | actions_for_one_set_ |
HashMap< QTreeWidgetItem *, Dataset * > | item_to_dataset_ |
HashMap< Dataset *, QTreeWidgetItem * > | dataset_to_item_ |
Friends | |
class | DatasetControl |
The class has the following features:
|
Create a context menu for this data type. Initial support for deleting and saving entries is included. Overload this method for providing further entries. Reimplemented in VIEW::RegularData3DController, VIEW::TrajectoryController, VIEW::DockResultController, and VIEW::VectorGridController. |
|
Check the menu entries for this data type. If the MainControl is currently busy, all entries are disabled. If multiple entries are selected, it is tested, if an QAction is included in actions_for_one_set_. If true, this QAction is disabled. Overload this method for more sophisticated behaviour. |
|
Create menu entries for this data type. Initial support for open file menu entry is included. Overload this method for providing further entries. Reimplemented in VIEW::RegularData3DController, VIEW::TrajectoryController, VIEW::DockResultController, and VIEW::VectorGridController. |
|
Get one selected Datasets of this type in the DatasetControl. If multiple entries are selected in the DatasetControl, 0 is returned. |
|
Return a vector with all supported file formats. Set the member file_formats_ in the constructor of the derived class. The methods open(...) and write(...) must be overloaded such that they know how to handle the supported file formats. |
|
Get the String type identifier for this data type.
|
|
Message handling. If a DatasetControl receives a DatasetMessage, it queries the data type and calls this method in the corresponding DatasetController. This method has intial support for DatasetMessage::ADD and DatasetMessage::REMOVE. For these cases, it calls insertDataset or respectively deleteDataset. |
|
Test if a Dataset is registered in this controller.
|
|
Show a file dialog to open a data file. Calls open(String, String). Overload this method to support multiple file formats. |