open_iA 2024.9
Loading...
Searching...
No Matches
iASavableProject Class Referenceabstract

Interface for anything that can be saved as a project. More...

#include <iASavableProject.h>

Inheritance diagram for iASavableProject:
[legend]

Public Member Functions

QString const & fileName () const
 return the name of the last file that was stored
 
bool saveProject (QString const &basePath)
 Called from main window to save the project of the current window.
 

Protected Member Functions

virtual ~iASavableProject ()
 Prevent destruction of the object through this interface.
 

Detailed Description

Interface for anything that can be saved as a project.

Necessary since not all current tools employ iAMdiChild as container for their widgets. So every such container needs to implement this class and its doLoadProject method, in order to be called when the user selects to "Save Project".

Refactoring ideas:

  • Move dataset rendering capabilities from iAMdiChild / MdiChild into a separate "viewer" tool, and make all separate tools using this as base class (only iAFeatureAnalyzer!) a tool under iAMdiChild

Constructor & Destructor Documentation

◆ ~iASavableProject()

iASavableProject::~iASavableProject ( )
protectedvirtual

Prevent destruction of the object through this interface.

Member Function Documentation

◆ fileName()

QString const & iASavableProject::fileName ( ) const

return the name of the last file that was stored

◆ saveProject()

bool iASavableProject::saveProject ( QString const & basePath)

Called from main window to save the project of the current window.

In case you're wondering why there are two methods in this class, this one and the virtual "doSaveProject": This is because it follows the "Non-Virtual Interface Idiom", see http://www.gotw.ca/publications/mill18.htm


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