BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Slots | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
BALL::VIEW::DatasetController Class Reference

#include <BALL/VIEW/DATATYPE/dataset.h>

Inheritance diagram for BALL::VIEW::DatasetController:
QObject BALL::Embeddable BALL::VIEW::DockResultController BALL::VIEW::RaytraceableGridController BALL::VIEW::RegularData3DController BALL::VIEW::TrajectoryController BALL::VIEW::VectorGridController

Public Slots

virtual bool write ()
 Show a file dialog for writing the selected Dataset. More...
 
bool open ()
 
virtual bool deleteDatasets ()
 Delete all Datasets. More...
 
virtual bool deleteDataset ()
 Delete the currently highlighted Dataset. More...
 

Public Member Functions

 DatasetController ()
 
 DatasetController (DatasetController &dc)
 
virtual ~DatasetController ()
 
void setDatasetControl (DatasetControl *dc)
 
DatasetControlgetDatasetControl ()
 
virtual bool handle (DatasetMessage *msg)
 
virtual bool insertDataset (Dataset *set)
 
virtual bool deleteDataset (Dataset *set)
 
virtual bool createMenuEntries ()
 
virtual QMenu * buildContextMenu (QTreeWidgetItem *item)
 
vector< Dataset * > getDatasets ()
 Get all Datasets of this type in the DatasetControl. More...
 
vector< Dataset * > getSelectedDatasets ()
 Get all selected Datasets of this type in the DatasetControl. More...
 
DatasetgetSelectedDataset ()
 
bool hasDataset (Dataset *set)
 
bool hasItem (QTreeWidgetItem *item)
 Test if a given QTreeWidgetItem corresponds to a registered Dataset. More...
 
DatasetgetDataset (QTreeWidgetItem *item)
 Get the Dataset for a QTreeWidgetItem. More...
 
String getType ()
 
virtual void checkMenu (MainControl &mc)
 
vector< StringgetSupportedFileFormats ()
 
- Public Member Functions inherited from BALL::Embeddable
virtual void dump (std::ostream &s=std::cout, Size depth=0) const
 
 Embeddable (const String &identifier="<Embeddable>")
 
 Embeddable (const Embeddable &embeddable)
 
virtual ~Embeddable ()
 
void setIdentifier (const String &identifier)
 
const StringgetIdentifier () const
 
void unregisterThis ()
 
virtual void registerThis ()
 

Protected Member Functions

void setStatusbarText (const String &text, bool important=false)
 
void setStatusbarText (const QString &text, bool important=false)
 
virtual bool write (Dataset *, String, String)
 
virtual Datasetopen (String, String)
 
String getFileTypes_ ()
 
String getNameFromFileName_ (String filename)
 
QAction * insertMenuEntry_ (Position pid, const String &name, const char *slot, const String &description="", QKeySequence accel=QKeySequence())
 
virtual void deleteDataset_ (Dataset *)
 

Protected Attributes

String type_
 
vector< Stringfile_formats_
 
DatasetControlcontrol_
 
vector< QAction * > actions_
 
HashSet< QAction * > actions_for_one_set_
 
HashMap< QTreeWidgetItem
*, Dataset * > 
item_to_dataset_
 
HashMap< Dataset
*, QTreeWidgetItem * > 
dataset_to_item_
 

Friends

class DatasetControl
 

Additional Inherited Members

- Public Types inherited from BALL::Embeddable
typedef std::vector< Embeddable * > EmbeddableVector
 
- Static Protected Member Functions inherited from BALL::Embeddable
static void registerInstance_ (const std::type_info &type, const Embeddable *instance)
 
static void unregisterInstance_ (const Embeddable *instance)
 
static Size countInstances_ (const std::type_info &type)
 
static EmbeddablegetInstance_ (const std::type_info &type, Position index)
 
static EmbeddablegetInstance_ (const std::type_info &type, const String &identifier)
 

Detailed Description

Controller base class for one type of Dataset A DatasetController provides all neccessary means to manage and manipulate a kind of data in the DatasetControl. The class has the following features:

To use this class, derive a new class from it and overload/create the following methods:

Furthermore

See Also
DatasetControl
Dataset
DatasetMessage
Embeddable

Definition at line 188 of file dataset.h.

Constructor & Destructor Documentation

BALL::VIEW::DatasetController::DatasetController ( )
BALL::VIEW::DatasetController::DatasetController ( DatasetController dc)
virtual BALL::VIEW::DatasetController::~DatasetController ( )
virtual

Member Function Documentation

virtual QMenu* BALL::VIEW::DatasetController::buildContextMenu ( QTreeWidgetItem item)
virtual

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 BALL::VIEW::RaytraceableGridController, BALL::VIEW::VectorGridController, BALL::VIEW::DockResultController, BALL::VIEW::TrajectoryController, and BALL::VIEW::RegularData3DController.

virtual void BALL::VIEW::DatasetController::checkMenu ( MainControl mc)
virtual

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.

virtual bool BALL::VIEW::DatasetController::createMenuEntries ( )
virtual

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 BALL::VIEW::RaytraceableGridController, BALL::VIEW::VectorGridController, BALL::VIEW::DockResultController, BALL::VIEW::TrajectoryController, and BALL::VIEW::RegularData3DController.

virtual bool BALL::VIEW::DatasetController::deleteDataset ( Dataset set)
virtual
virtual bool BALL::VIEW::DatasetController::deleteDataset ( )
virtualslot

Delete the currently highlighted Dataset.

virtual void BALL::VIEW::DatasetController::deleteDataset_ ( Dataset )
inlineprotectedvirtual

In the derived class: cast to concrete type and delete the data!

Reimplemented in BALL::VIEW::RaytraceableGridController, BALL::VIEW::VectorGridController, BALL::VIEW::DockResultController, BALL::VIEW::TrajectoryController, and BALL::VIEW::RegularData3DController.

Definition at line 316 of file dataset.h.

virtual bool BALL::VIEW::DatasetController::deleteDatasets ( )
virtualslot

Delete all Datasets.

Dataset* BALL::VIEW::DatasetController::getDataset ( QTreeWidgetItem item)

Get the Dataset for a QTreeWidgetItem.

DatasetControl* BALL::VIEW::DatasetController::getDatasetControl ( )
inline

Definition at line 213 of file dataset.h.

vector<Dataset*> BALL::VIEW::DatasetController::getDatasets ( )

Get all Datasets of this type in the DatasetControl.

String BALL::VIEW::DatasetController::getFileTypes_ ( )
protected
String BALL::VIEW::DatasetController::getNameFromFileName_ ( String  filename)
protected
Dataset* BALL::VIEW::DatasetController::getSelectedDataset ( )

Get one selected Datasets of this type in the DatasetControl. If multiple entries are selected in the DatasetControl, 0 is returned.

vector<Dataset*> BALL::VIEW::DatasetController::getSelectedDatasets ( )

Get all selected Datasets of this type in the DatasetControl.

vector<String> BALL::VIEW::DatasetController::getSupportedFileFormats ( )
inline

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.

Definition at line 281 of file dataset.h.

String BALL::VIEW::DatasetController::getType ( )
inline

Get the String type identifier for this data type.

Definition at line 266 of file dataset.h.

virtual bool BALL::VIEW::DatasetController::handle ( DatasetMessage msg)
virtual

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.

bool BALL::VIEW::DatasetController::hasDataset ( Dataset set)

Test if a Dataset is registered in this controller.

bool BALL::VIEW::DatasetController::hasItem ( QTreeWidgetItem item)

Test if a given QTreeWidgetItem corresponds to a registered Dataset.

virtual bool BALL::VIEW::DatasetController::insertDataset ( Dataset set)
virtual
QAction* BALL::VIEW::DatasetController::insertMenuEntry_ ( Position  pid,
const String name,
const char *  slot,
const String description = "",
QKeySequence  accel = QKeySequence() 
)
protected
bool BALL::VIEW::DatasetController::open ( )
slot

Show a file dialog to open a data file. Calls open(String, String). Overload this method to support multiple file formats.

virtual Dataset* BALL::VIEW::DatasetController::open ( String  ,
String   
)
protectedvirtual
void BALL::VIEW::DatasetController::setDatasetControl ( DatasetControl dc)
inline

Definition at line 210 of file dataset.h.

void BALL::VIEW::DatasetController::setStatusbarText ( const String text,
bool  important = false 
)
protected
void BALL::VIEW::DatasetController::setStatusbarText ( const QString &  text,
bool  important = false 
)
protected
virtual bool BALL::VIEW::DatasetController::write ( )
virtualslot

Show a file dialog for writing the selected Dataset.

Reimplemented in BALL::VIEW::RegularData3DController.

virtual bool BALL::VIEW::DatasetController::write ( Dataset ,
String  ,
String   
)
protectedvirtual

Friends And Related Function Documentation

friend class DatasetControl
friend

Definition at line 194 of file dataset.h.

Member Data Documentation

vector<QAction*> BALL::VIEW::DatasetController::actions_
protected

Definition at line 321 of file dataset.h.

HashSet<QAction*> BALL::VIEW::DatasetController::actions_for_one_set_
protected

Definition at line 322 of file dataset.h.

DatasetControl* BALL::VIEW::DatasetController::control_
protected

Definition at line 320 of file dataset.h.

HashMap<Dataset*, QTreeWidgetItem*> BALL::VIEW::DatasetController::dataset_to_item_
protected

Definition at line 324 of file dataset.h.

vector<String> BALL::VIEW::DatasetController::file_formats_
protected

Definition at line 319 of file dataset.h.

HashMap<QTreeWidgetItem*, Dataset*> BALL::VIEW::DatasetController::item_to_dataset_
protected

Definition at line 323 of file dataset.h.

String BALL::VIEW::DatasetController::type_
protected

Definition at line 316 of file dataset.h.