#include <BALL/VIEW/KERNEL/mainControl.h>
Public Types | |
Enumerations | |
enum | PopUpID { FILE = 10001, FILE_OPEN, FILE_OPEN_GRID, FILE_IMPORT, FILE_EXPORT, FILE_MONITOR, EDIT = 10100, BUILD = 10200, DISPLAY = 10300, DISPLAY_CREATE, DISPLAY_VIEWPOINT, DISPLAY_STEREO, DISPLAY_ANIMATION, MOLECULARMECHANICS = 10400, CHOOSE_FF, TOOLS = 10500, TOOLS_GRID, TOOLS_PYTHON, WINDOWS = 10600, USER = 10700, MACRO = 10750, HELP = 10800 } |
Public Slots | |
Public slots | |
virtual void | show () |
virtual void | checkMenus () |
void | stopSimulation () |
Stop a currently running calculation. | |
void | complementSelection () |
virtual void | aboutToExit () |
void | menuItemHighlighted (QAction *action) |
virtual bool | event (QEvent *e) |
Interface to QT events, e.g. to communicate with other threads. | |
virtual void | quit (int return_value=0) |
Make the program exit. | |
virtual void | resize (int w, int h) |
overloaded from QT for Python Interface | |
void | setContentSize (int w, int h) |
void | toggleFullScreen () |
void | quickSave () |
Create a BALLView project file with the name quick.bvp in the users home dir. | |
void | quickLoad () |
Quickload quick.bvp in the users home die (see above). | |
void | saveBALLViewProjectFile () |
void | loadBALLViewProjectFile () |
void | quickLoadConfirm () |
Public Member Functions | |
Constructors and Destructor | |
MainControl (QWidget *parent=0, const char *name=0, String inifile=".BALL.preferences") | |
virtual | ~MainControl () |
MainControl (const MainControl &main_control) | |
virtual void | clear () |
void | clearData () |
Methods to manage Representation(s) | |
RepresentationManager & | getRepresentationManager () |
bool | insert (Representation &rep) |
bool | remove (Representation &rep) |
bool | update (Representation &rep) |
bool | updateRepresentationsOf (const Composite &composite, bool rebuild=true, bool force=false) |
void | redrawAllRepresentations (bool rebuild_display_lists=false) |
Methods to manage Shortcuts | |
ShortcutRegistry & | getShortcutRegistry () |
Methods to manage Composite(s) | |
CompositeManager & | getCompositeManager () |
bool | insert (Composite &composite, String name="") |
bool | remove (Composite &composite, bool to_delete=true, bool update=true) |
void | update (Composite &composite, bool changed_hierarchy=true) |
const HashSet< Composite * > & | getSelection () const |
Get the HashSet with the selected (e.g. picked) Composite objects (const). | |
HashSet< Composite * > & | getSelection () |
Get the HashSet with the selected (e.g. picked) Composite objects. | |
List< Composite * > & | getMolecularControlSelection () |
Get the selection (highlighted items) of the MolecularControl (not the selection with checkboxes). | |
System * | getSelectedSystem () |
If exactly one System is selected in the Control, return a pointer to this system, otherwise 0. | |
void | selectCompositeRecursive (Composite *composite, bool first_call=false) |
Select a Composite recursive and add all Atom and AtomContainer objects to the selection. | |
void | deselectCompositeRecursive (Composite *composite, bool first_call=false) |
Select a Composite recursive and add all Atom and AtomContainer objects to the selection. | |
void | clearSelection () |
void | printSelectionInfos () |
Preferences and Configuration files | |
void | saveBALLViewProjectFile (const String &filename, bool binary=true) |
Save the current configuration, structures and representations to a BALLView project file (*.bvp). | |
void | loadBALLViewProjectFile (const String &filename) |
Load a BALLView project file. | |
virtual void | fetchPreferences (INIFile &inifile) |
virtual void | writePreferences (INIFile &inifile) |
virtual void | restoreWindows () |
Restore the positions the main window and of all DockWindow's from the INIFile assigned to this instance. | |
virtual void | restoreWindows (const INIFile &inifile) |
Restore the positions the main window and of all DockWindow's from a given inifile. | |
INIFile & | getINIFile () |
const INIFile & | getINIFile () const |
Preferences * | getPreferences () |
virtual void | applyPreferences () |
Menu entries handling | |
QAction * | insertMenuEntry (Position parent_id, const String &name, const QObject *receiver=0, const char *slot=0, const String &description="", QKeySequence accel=QKeySequence()) |
void | removeMenuEntry (Index parent_id, QAction *action) |
virtual QMenu * | initPopupMenu (int ID) |
void | insertPopupMenuSeparator (int ID) |
void | setMenuHint (QAction *id, const String &hint) |
Set a hint for a menu entry. | |
String | getMenuHint (QAction *id) const |
Get the hint for a menu entry. | |
void | setDeleteEntryEnabled (bool state) |
void | insertDeleteEntry () |
QAction * | getLastHighLightedMenuEntry () |
Get the ID of the last highlighted menu entry (used for the HelpViewer). | |
Methods for multithreading | |
bool | compositesAreLocked () const |
bool | lockCompositesFor (ModularWidget *widget) |
bool | unlockCompositesFor (ModularWidget *widget) |
Lock the Composites for a given Modular Widget. | |
ModularWidget * | getLockingWidget () |
Get the ModularWidget with excluse access to the Composites. | |
bool | updateOfRepresentationRunning () |
Return true if Representations are (re)calculated. | |
bool | stopedSimulation () |
Returns true, if the simulation was told to stop, but hasnt done this so far. | |
bool | setSimulationThread (SimulationThread *thread) |
SimulationThread * | getSimulationThread () |
bool | useMultithreading () |
void | setMultithreading (bool state) |
See above. | |
bool | isBusy () const |
void | wait () |
Wait until the MainControl is not busy anymore. | |
void | processEvents (Size ms) |
Added overloaded method from QApplication for access in Python. | |
Accessors and Settings | |
void | setStatusbarText (const String &text, bool important=false, bool beep=false) |
String | getStatusbarText () const |
const FragmentDB & | getFragmentDB () const |
Get a const reference for the fragment database. | |
const ModelInformation & | getModelInformation () const |
void | setModelInformation (ModelInformation *mi) |
String | getWorkingDir () const |
void | setWorkingDir (const String &dir) |
Set the working directory for the next file dialog and file operation to the given directory. | |
void | enableLoggingToFile () |
void | disableLoggingToFile () |
void | setLoggingFilename (const String &string) |
const String & | getLoggingFilename () const |
See above. | |
void | setProxy (const String &host, Position port) |
Set the proxy for HTTP and FTP operations. | |
String | getProxy () const |
Get the hostname for the proxy. | |
Position | getProxyPort () const |
Get the port for the proxy. | |
bool | isAboutToQuit () |
Debugging and Diagnostics | |
virtual void | dump (std::ostream &s=std::cout, Size depth=0) const |
virtual void | openFile (const String &file) |
Protected Slots | |
virtual void | applyPreferencesClicked_ () |
virtual void | okPreferencesClicked_ () |
void | clearStatusBarText_ () |
virtual void | deleteClicked () |
void | updateRepLabel_ () |
Protected Member Functions | |
virtual void | initializePreferencesTab_ () |
void | stopedSimulation_ () |
void | lockComposites_ () |
bool | remove_ (Composite &composite, bool update_representations_of_parent=true, bool to_delete=true) |
void | selectComposites_ (GeometricObjectSelectionMessage &message) |
void | reduceSelection_ (Composite *const composite) |
void | setup_ () |
void | complementSelectionHelper_ (Composite &c) |
void | setBusyMode_ (bool state) |
void | setPreferencesEnabled_ (bool state) |
void | init_ () |
Protected Attributes | |
bool | about_to_quit_ |
bool | multi_threading_mode_ |
FragmentDB | fragment_db_ |
ModelInformation * | model_information_ |
HashSet< Composite * > | selection_ |
List< Composite * > | control_selection_ |
QLabel * | message_label_ |
RepresentationManager | primitive_manager_ |
CompositeManager | composite_manager_ |
ShortcutRegistry | shortcut_registry_ |
MainControlPreferences * | main_control_preferences_ |
OpenSavePreferences * | open_save_preferences_ |
NetworkPreferences * | network_preferences_ |
Preferences * | preferences_dialog_ |
INIFile | preferences_file_ |
bool | composites_locked_ |
ModularWidget * | locking_widget_ |
bool | stop_simulation_ |
SimulationThread * | simulation_thread_ |
List< ModularWidget * > | modular_widgets_ |
QLabel * | simulation_icon_ |
QLabel * | rep_label_ |
Position | rep_label_nr_ |
String | working_dir_ |
String | logging_file_name_ |
bool | logging_to_file_ |
File | logging_file_ |
bool | important_text_in_statusbar_ |
bool | was_not_busy_ |
Index | rep_label_delta_ |
QTimer | timer_ |
QTimer | render_timer_ |
Mutex | composites_locked_mutex_ |
String | proxy_ |
Position | proxy_port_ |
QAction * | stop_simulation_action_ |
QAction * | complement_selection_action_ |
QAction * | open_action_ |
QAction * | save_project_action_ |
QAction * | preferences_action_ |
QAction * | delete_action_ |
QAction * | qload_action_ |
QAction * | qsave_action_ |
QAction * | last_highlighted_menu_entry_ |
HashMap< Position, QMenu * > | id_to_menu_ |
bool | fullscreen_ |
QPoint | last_point_ |
QSize | last_size_ |
QByteArray | last_state_ |
Static Protected Attributes | |
static const char * | simulation_running_xpm_ [] |
static const char * | simulation_stoped_xpm_ [] |
Friends | |
class | RepresentationManager |
class | SimulationThread |
Management of ModularWidget(s) and Message(s) | |
void | addModularWidget (ModularWidget *widget) |
void | removeModularWidget (ModularWidget *widget) |
virtual void | onNotify (Message *message) |
void | sendMessage (Message &message) |
static MainControl * | getMainControl (const QObject *object) |
MainControl is the main administration unit for a program and must be used by all applications. MainControl is also derived from Qt::QMainWindow and therefore the main widget of an application must be derived from this class. Further it has the necessary interface methods to create and update the menus of the main application.
MainControl is also a storage facility for Composite objects, the graphical Representation and the inserted ModularWidget. The interface for the Composite administration is implemented in CompositeManager, and for the Representation 's in RepresentationManager. Specialized methods exists for the adding, updateing and removing of Composites as well as Representations. (see the update, insert and remove methods)
This class is also the root ConnectionObject and thus it is responsible for the handling of all messages. To add ModularWidgets all that is necessary are the creation of the derived modular widgets with the MainControl as their parents like e.g.
new DisplayProperties(this, "DisplayProperties");
For examples have a look at BALL/source/APPLICATIONS/mainframe.C
MainControl also handles the Preferences dialog (and it's tab entry for some general preferences) and notifies all registered ModularWidgets if the preferences have changed. The content of the Preferences dialog with all setup options is stored in an INIFile. The default name of this file is ".BALLView".
loadBALLViewProjectFile
Caveat: Due to a peculiarity of the QT Meta Object Compiler (MOC) you have to specify the full namespace qualified name of this class when deriving from it.
class foo : public MainControl
; but class foo : public BALL::VIEW::MainControl
instead. Standard Popup menu IDs. This enum defines symbolic names for the menu IDs of the most common popup menus. The popups are created, if a menu entry is requested for any of the popups.
FILE |
File menu. |
FILE_OPEN |
File menu sub menu open. |
FILE_OPEN_GRID |
File menu sub menu open grid. |
FILE_IMPORT |
File menu sub menu import [currently unused]. |
FILE_EXPORT |
File menu sub menu export. |
FILE_MONITOR | |
EDIT |
Edit menu. |
BUILD |
Build menu. |
DISPLAY |
Display menu. |
DISPLAY_CREATE |
Display Create submenu. |
DISPLAY_VIEWPOINT |
Display Viewpoint submenu. |
DISPLAY_STEREO |
Display Stereo submenu. |
DISPLAY_ANIMATION |
Display Animation submenu. |
MOLECULARMECHANICS |
Simulations menu. |
CHOOSE_FF |
Molmec submenu for force field selection. |
TOOLS |
Tools menu. |
TOOLS_GRID |
Grid submenu in Tools. |
TOOLS_PYTHON |
Python submenu in Tools. |
WINDOWS |
Windows menu. |
USER |
Userdefined menus. |
MACRO |
Macros e.g. for Testing. |
HELP |
Help menu. |
BALL::VIEW::MainControl::MainControl | ( | QWidget * | parent = 0 , |
|
const char * | name = 0 , |
|||
String | inifile = ".BALL.preferences" | |||
) |
Default Constructor. Reads the the INIFile inifile
and connects the qt signal aboutToQuit with the slot aboutToExit(). The state of the MainControl is:
parent | the new parent widget | |
name | the new name of the widget | |
inifile | the new preferences filename |
virtual BALL::VIEW::MainControl::~MainControl | ( | ) | [virtual] |
Destructor. Calls clear
BALL::VIEW::MainControl::MainControl | ( | const MainControl & | main_control | ) |
virtual void BALL::VIEW::MainControl::aboutToExit | ( | ) | [virtual, slot] |
Last second cleanup. This method will be called internally if the MainControl is about to be destroyed. This method stores the preferences and finalizes all ModularWidget objects and the MainControl. Must be called after your own cleanup routine if you override this method.
Referenced by main().
void BALL::VIEW::MainControl::addModularWidget | ( | ModularWidget * | widget | ) |
Add a new ModularWidget to this MainControl. This method will be called internally by the ModularWidget registration process. So, if you dont know exactly what this method does, you will not need it!
widget | the ModularWidget to be inserted into this mainControl |
virtual void BALL::VIEW::MainControl::applyPreferences | ( | ) | [virtual] |
Apply all preferences. This method is called automatically by applyPreferencesClicked() and calls applyPreferences() for all registered ModularWidgets. Note: If this method is overridden, call this method at the end of the overriden method to make sure that the general preferences are applied.
Referenced by BALL::Mainframe::show().
virtual void BALL::VIEW::MainControl::applyPreferencesClicked_ | ( | ) | [protected, virtual, slot] |
virtual void BALL::VIEW::MainControl::checkMenus | ( | ) | [virtual, slot] |
Menu checking method. This method checks, enables or disables all inserted menu entries of the registered ModularWidget objects. If this method is overridden make sure that it will be called at the end of the new checkMenus() method. See ModularWidget for further information concerning menu structure creation.
Referenced by BALL::Mainframe::eventFilter().
virtual void BALL::VIEW::MainControl::clear | ( | ) | [virtual] |
Clear all data fast, to be called at exit only!
Reimplemented from BALL::VIEW::ConnectionObject.
void BALL::VIEW::MainControl::clearData | ( | ) |
Clear all data, can be called at any time
Referenced by BALL::Mainframe::reset().
void BALL::VIEW::MainControl::clearSelection | ( | ) |
Clear Selection Deselect all Composites and clear the selection list in the MainControl
void BALL::VIEW::MainControl::clearStatusBarText_ | ( | ) | [protected, slot] |
void BALL::VIEW::MainControl::complementSelection | ( | ) | [slot] |
Referenced by BALL::Mainframe::Mainframe().
void BALL::VIEW::MainControl::complementSelectionHelper_ | ( | Composite & | c | ) | [protected] |
bool BALL::VIEW::MainControl::compositesAreLocked | ( | ) | const |
Check wheter the stored composites can be modified at the moment. This method returns true e.g. while a MD simulation is running.
virtual void BALL::VIEW::MainControl::deleteClicked | ( | ) | [protected, virtual, slot] |
Referenced by BALL::Mainframe::eventFilter().
void BALL::VIEW::MainControl::deselectCompositeRecursive | ( | Composite * | composite, | |
bool | first_call = false | |||
) |
Select a Composite recursive and add all Atom and AtomContainer objects to the selection.
void BALL::VIEW::MainControl::disableLoggingToFile | ( | ) |
virtual void BALL::VIEW::MainControl::dump | ( | std::ostream & | s = std::cout , |
|
Size | depth = 0 | |||
) | const [virtual] |
Internal state dump. Dump the current internal state of this mainControl to the output ostream s with dumping depth depth.
s | output stream where to output the internal state | |
depth | the dumping depth |
Reimplemented from BALL::Embeddable.
void BALL::VIEW::MainControl::enableLoggingToFile | ( | ) |
Interface to QT events, e.g. to communicate with other threads.
virtual void BALL::VIEW::MainControl::fetchPreferences | ( | INIFile & | inifile | ) | [virtual] |
Fetch the preferences from the INIfile. Calls fetchPreferences() for all registered ModularWidgets. Note:If this method is overridden, call this method at the end of the overriden method to make sure that the general preferences are fetched.
inifile | the INIFile that contains the needed values |
CompositeManager& BALL::VIEW::MainControl::getCompositeManager | ( | ) | [inline] |
Get the composite manager. The class CompositeManager is the owner of all Composite objects.
const FragmentDB& BALL::VIEW::MainControl::getFragmentDB | ( | ) | const [inline] |
Get a const reference for the fragment database.
QAction* BALL::VIEW::MainControl::getLastHighLightedMenuEntry | ( | ) | [inline] |
Get the ID of the last highlighted menu entry (used for the HelpViewer).
ModularWidget* BALL::VIEW::MainControl::getLockingWidget | ( | ) |
Get the ModularWidget with excluse access to the Composites.
const String& BALL::VIEW::MainControl::getLoggingFilename | ( | ) | const |
See above.
static MainControl* BALL::VIEW::MainControl::getMainControl | ( | const QObject * | object | ) | [static] |
Return the MainControl of an QObject. This method returns the MainControl that should be the root of the ConnectionObject tree from a given widget or dialog QObject. Because we use the qt library, every widget or dialog has QObject as a base class. MainControl is the main application and therefore all widgets and dialogs are its children. We use the qt QObject tree mechanism to return the MainControl for a given QObject.
String BALL::VIEW::MainControl::getMenuHint | ( | QAction * | id | ) | const |
Get the hint for a menu entry.
const ModelInformation& BALL::VIEW::MainControl::getModelInformation | ( | ) | const |
Get the selection (highlighted items) of the MolecularControl (not the selection with checkboxes).
Referenced by BALL::Mainframe::eventFilter(), and BALL::VIEW::DemoTutorialDialog::nextStepDemo_().
Preferences* BALL::VIEW::MainControl::getPreferences | ( | ) |
Mutable inspection of the preferences dialog.
0
if not present) String BALL::VIEW::MainControl::getProxy | ( | ) | const [inline] |
Get the hostname for the proxy.
Position BALL::VIEW::MainControl::getProxyPort | ( | ) | const [inline] |
Get the port for the proxy.
RepresentationManager& BALL::VIEW::MainControl::getRepresentationManager | ( | ) | [inline] |
Get the primitive manager. The class RepresentationManager contains all Representation objects and GeometricObject.
Referenced by BALL::VIEW::DemoTutorialDialog::nextStepDemo_(), and BALL::Mainframe::reset().
System* BALL::VIEW::MainControl::getSelectedSystem | ( | ) |
If exactly one System is selected in the Control, return a pointer to this system, otherwise 0.
ShortcutRegistry& BALL::VIEW::MainControl::getShortcutRegistry | ( | ) | [inline] |
Get the shortcut registry. The class ShortcutRegistry is the owner of all shortcuts.
SimulationThread* BALL::VIEW::MainControl::getSimulationThread | ( | ) |
Get the currently running SimulationThread or zero pointer if no simulation running.
String BALL::VIEW::MainControl::getStatusbarText | ( | ) | const |
String BALL::VIEW::MainControl::getWorkingDir | ( | ) | const [inline] |
BALLView stores the directory of the last file operation, e.g. when a PDB file is opened or saved. This saves the user some time, since he doesnt have to change the folders in the file dialogs as often. This method returns the last directory.
void BALL::VIEW::MainControl::init_ | ( | ) | [protected] |
virtual void BALL::VIEW::MainControl::initializePreferencesTab_ | ( | ) | [protected, virtual] |
virtual QMenu* BALL::VIEW::MainControl::initPopupMenu | ( | int | ID | ) | [virtual] |
Initialize a new popup menu ID. If the MainControl has already the popup menu ID that QPopupMenu is returned. See the documentation of the qt library for more information concerning the class QPopupMenu.
ID | the ID of the menu entry to be created. |
Referenced by BALL::Mainframe::Mainframe(), and BALL::Mainframe::show().
Insert a Composite and notify all ModularWidget. The Composite has to be created on the heap!!! A CompositeMessage with type NEW_COMPOSITE is send and CompositeManager::insert called.
bool BALL::VIEW::MainControl::insert | ( | Representation & | rep | ) |
Insert a Representation The Representation must be created on the heap!!! A RepresentationMessage with type NEW is send.
Referenced by BALL::VIEW::DemoTutorialDialog::nextStepDemo_().
void BALL::VIEW::MainControl::insertDeleteEntry | ( | ) |
Insert the delete entry for GenericControls. Called by all GenericControls.
QAction* BALL::VIEW::MainControl::insertMenuEntry | ( | Position | parent_id, | |
const String & | name, | |||
const QObject * | receiver = 0 , |
|||
const char * | slot = 0 , |
|||
const String & | description = "" , |
|||
QKeySequence | accel = QKeySequence() | |||
) |
Insert a new menu entry into menu ID (creates a new menu if ID not existent). See the documentation of the qt library for more information concerning menu creation.
ID | the menu ID to which the new menu entry should be inserted | |
name | the name of the new menu entry | |
receiver | the object to which the menu action will be connected | |
slot | the function that will be called by activation of the menu entry | |
description | a unique descriptive string for the action | |
accel | the acceleration key |
Referenced by BALL::Mainframe::Mainframe().
void BALL::VIEW::MainControl::insertPopupMenuSeparator | ( | int | ID | ) |
Insert a separator into the popup menu ID. If the menu ID is not existent, it will be created first.
ID | the id of the menu to which a separator will be inserted |
Referenced by BALL::VIEW::DemoTutorialDialog::initializeWidget(), and BALL::Mainframe::Mainframe().
bool BALL::VIEW::MainControl::isBusy | ( | ) | const |
Referenced by BALL::VIEW::DemoTutorialDialog::checkMenu().
void BALL::VIEW::MainControl::loadBALLViewProjectFile | ( | ) | [slot] |
Referenced by BALL::Mainframe::Mainframe().
void BALL::VIEW::MainControl::loadBALLViewProjectFile | ( | const String & | filename | ) |
Load a BALLView project file.
void BALL::VIEW::MainControl::lockComposites_ | ( | ) | [protected] |
bool BALL::VIEW::MainControl::lockCompositesFor | ( | ModularWidget * | widget | ) |
Lock the Composites for a given Modular Widget. This allows exclusive acces e.g. to delete or modify Composites and prevents those nasty segfaults if an other thread works on the Composites. true if the exclusive lock on the composites could be obtained
void BALL::VIEW::MainControl::menuItemHighlighted | ( | QAction * | action | ) | [slot] |
Slot that is called when a menu item is highlighted. It is used to show a hint for every menu entry.
virtual void BALL::VIEW::MainControl::okPreferencesClicked_ | ( | ) | [protected, virtual, slot] |
virtual void BALL::VIEW::MainControl::onNotify | ( | Message * | message | ) | [virtual] |
Message handling method. Handles messages sent by other registered ModularWidget objects. Virtual function for overriden the message handling system. Take care to call this function in your own ModularWidget. There is no need to call this function, because it will be called from the message handling mechanism. Remember: A ModularWidget is not notified by the Messages it sends itself!
message | the pointer to the message that should be processed |
Reimplemented from BALL::VIEW::ConnectionObject.
virtual void BALL::VIEW::MainControl::openFile | ( | const String & | file | ) | [virtual] |
Open a file. This method is called to parse any command line arguments. It iterates over all ModularWidgets and calls ModularWidget::canHandle with the files extension (the suffix after the dot in the filename). If one ModularWidget can handle the format, ModularWidget::openFile is called.
Referenced by main().
void BALL::VIEW::MainControl::printSelectionInfos | ( | ) |
Print some informations for the selection in the statusbar. Called by selectComposites_(). If one Atom is selected, its position is printed. If two Atom objects are selected, their distance, for three Atom 's their angle and for four Atom 's their torsion angle. Else the number of items is printed.
void BALL::VIEW::MainControl::processEvents | ( | Size | ms | ) |
Added overloaded method from QApplication for access in Python.
void BALL::VIEW::MainControl::quickLoad | ( | ) | [slot] |
Quickload quick.bvp in the users home die (see above).
void BALL::VIEW::MainControl::quickLoadConfirm | ( | ) | [slot] |
Referenced by BALL::Mainframe::show().
void BALL::VIEW::MainControl::quickSave | ( | ) | [slot] |
Create a BALLView project file with the name quick.bvp in the users home dir.
Referenced by BALL::Mainframe::show().
virtual void BALL::VIEW::MainControl::quit | ( | int | return_value = 0 |
) | [virtual, slot] |
Make the program exit.
void BALL::VIEW::MainControl::redrawAllRepresentations | ( | bool | rebuild_display_lists = false |
) |
Redraws all inserted Representation, but doesnt change the Models.
rebuild_display_lists | set to true lets the Scene rebuild the GLDisplayList objects. |
void BALL::VIEW::MainControl::reduceSelection_ | ( | Composite *const | composite | ) | [protected] |
bool BALL::VIEW::MainControl::remove | ( | Composite & | composite, | |
bool | to_delete = true , |
|||
bool | update = true | |||
) |
Remove a Composite and notify all ModularWidget. A CompositeMessage with type REMOVED_COMPOSITE is send and CompositeManager::remove called.
update | update Representations if needed |
bool BALL::VIEW::MainControl::remove | ( | Representation & | rep | ) |
Remove a Representation A RepresentationMessage with type REMOVE is send.
Referenced by BALL::VIEW::DemoTutorialDialog::nextStepDemo_().
bool BALL::VIEW::MainControl::remove_ | ( | Composite & | composite, | |
bool | update_representations_of_parent = true , |
|||
bool | to_delete = true | |||
) | [protected] |
void BALL::VIEW::MainControl::removeMenuEntry | ( | Index | parent_id, | |
QAction * | action | |||
) |
void BALL::VIEW::MainControl::removeModularWidget | ( | ModularWidget * | widget | ) |
Remove a ModularWidget from the MainControl. This method will be called internally by the ModularWidget registration process. So, if you dont know exactly what this method does, you will not need it!
widget | the ModularWidget to be removed |
virtual void BALL::VIEW::MainControl::resize | ( | int | w, | |
int | h | |||
) | [virtual, slot] |
overloaded from QT for Python Interface
virtual void BALL::VIEW::MainControl::restoreWindows | ( | const INIFile & | inifile | ) | [virtual] |
Restore the positions the main window and of all DockWindow's from a given inifile.
virtual void BALL::VIEW::MainControl::restoreWindows | ( | ) | [virtual] |
Restore the positions the main window and of all DockWindow's from the INIFile assigned to this instance.
Referenced by BALL::Mainframe::show().
void BALL::VIEW::MainControl::saveBALLViewProjectFile | ( | ) | [slot] |
Referenced by BALL::Mainframe::Mainframe().
void BALL::VIEW::MainControl::saveBALLViewProjectFile | ( | const String & | filename, | |
bool | binary = true | |||
) |
Save the current configuration, structures and representations to a BALLView project file (*.bvp).
void BALL::VIEW::MainControl::selectCompositeRecursive | ( | Composite * | composite, | |
bool | first_call = false | |||
) |
Select a Composite recursive and add all Atom and AtomContainer objects to the selection.
void BALL::VIEW::MainControl::selectComposites_ | ( | GeometricObjectSelectionMessage & | message | ) | [protected] |
void BALL::VIEW::MainControl::sendMessage | ( | Message & | message | ) |
Send a Message from Python. Otherwise, you should prefer to use ModularWidget::notify_. The MainControl itself also reacts to a Message, send with this method. The Message will be deleted, after it was send to all ModularWidget's.
void BALL::VIEW::MainControl::setBusyMode_ | ( | bool | state | ) | [protected] |
Show a busy cursor and a busy icon in the statusbar.
void BALL::VIEW::MainControl::setContentSize | ( | int | w, | |
int | h | |||
) | [slot] |
void BALL::VIEW::MainControl::setDeleteEntryEnabled | ( | bool | state | ) |
Enable the delete entry for GenericControls. Called by a GenericControl, if it has a selection, that can be deleted.
void BALL::VIEW::MainControl::setLoggingFilename | ( | const String & | string | ) |
Set the name for the logging file (see above) to the given name. This file is stored in the users home dir.
Referenced by BALL::Mainframe::Mainframe().
void BALL::VIEW::MainControl::setMenuHint | ( | QAction * | id, | |
const String & | hint | |||
) |
Set a hint for a menu entry.
Referenced by BALL::Mainframe::Mainframe().
void BALL::VIEW::MainControl::setModelInformation | ( | ModelInformation * | mi | ) |
void BALL::VIEW::MainControl::setMultithreading | ( | bool | state | ) | [inline] |
See above.
Referenced by BALL::VIEW::DemoTutorialDialog::nextStepDemo_().
void BALL::VIEW::MainControl::setPreferencesEnabled_ | ( | bool | state | ) | [protected] |
Set the proxy for HTTP and FTP operations.
bool BALL::VIEW::MainControl::setSimulationThread | ( | SimulationThread * | thread | ) |
Set the simulation thread. The instance of SimulationThread will be deleted after it has finished. If an other simulation is still running, this method returns false.
void BALL::VIEW::MainControl::setStatusbarText | ( | const String & | text, | |
bool | important = false , |
|||
bool | beep = false | |||
) |
Sets the text in the statusbar. The statusbar has a label, whose text is set to the given argument. It is possible to notify the user with a beep sound.
important | If true, the message is also logged in the LogView, marked red in the statusbar and shown there for a longer time | |
beep | if true a beep tone is played to inform the user about a critical event |
Referenced by BALL::Mainframe::Mainframe().
void BALL::VIEW::MainControl::setup_ | ( | ) | [protected] |
void BALL::VIEW::MainControl::setWorkingDir | ( | const String & | dir | ) |
Set the working directory for the next file dialog and file operation to the given directory.
Referenced by main().
virtual void BALL::VIEW::MainControl::show | ( | ) | [virtual, slot] |
Initialize all registered ModularWidget objects. It initializes the menu structure, the preferences dialogs and connects every ModularWidget with the MainControl. This method also creates the first menu entry FILE with its subentry EXIT to exit the application. See ModularWidget for further information concerning menu structure creation and preferences handling.
Reimplemented in BALL::Mainframe.
bool BALL::VIEW::MainControl::stopedSimulation | ( | ) | [inline] |
Returns true, if the simulation was told to stop, but hasnt done this so far.
void BALL::VIEW::MainControl::stopedSimulation_ | ( | ) | [protected] |
void BALL::VIEW::MainControl::stopSimulation | ( | ) | [slot] |
Stop a currently running calculation.
Referenced by BALL::Mainframe::Mainframe().
void BALL::VIEW::MainControl::toggleFullScreen | ( | ) | [slot] |
Referenced by BALL::Mainframe::Mainframe().
bool BALL::VIEW::MainControl::unlockCompositesFor | ( | ModularWidget * | widget | ) |
Lock the Composites for a given Modular Widget.
Update a Composite in all ModularWidget. This method differs wheter the composites hierarchy was changed or not. The update is faster if the hierarchy is unchanged, because e.g. the MolecularControl doesnt have to rebuild the ListViewItem tree. A CompositeMessage with type CHANGED_COMPOSITE or CHANGED_COMPOSITE_HIERARCHY is send and updateRepresentationsOf(composite) is called.
bool BALL::VIEW::MainControl::update | ( | Representation & | rep | ) |
Update a Representation A RepresentationMessage with type UPDATE and a SceneMessage is send.
Referenced by BALL::VIEW::DemoTutorialDialog::nextStepDemo_().
bool BALL::VIEW::MainControl::updateOfRepresentationRunning | ( | ) |
Return true if Representations are (re)calculated.
void BALL::VIEW::MainControl::updateRepLabel_ | ( | ) | [protected, slot] |
bool BALL::VIEW::MainControl::updateRepresentationsOf | ( | const Composite & | composite, | |
bool | rebuild = true , |
|||
bool | force = false | |||
) |
Redraws all Representation objects for a Composite. If the Composite is not inserted into this MainControl false
will be returned. updateRepresentationsOf() is called after receiving a CompositeMessage with type CHANGED_COMPOSITE in onNotify(). It sends a RepresentationMessage with type UPDATE for every Representation, which was build for the Composite. After this a SceneMessage is send to redraw the Scene.
composite | the Composite that should be updated | |
rebuild | if set to true, the model is rebuilded, otherwise just the coloring is updated | |
force | is set to true, also rebuild non surface models (only usefull with rebuild = true) |
bool BALL::VIEW::MainControl::useMultithreading | ( | ) |
Method to query if multithreading is enabled. Multithreaded code is used for serveral functions:
void BALL::VIEW::MainControl::wait | ( | ) |
Wait until the MainControl is not busy anymore.
virtual void BALL::VIEW::MainControl::writePreferences | ( | INIFile & | inifile | ) | [virtual] |
Writes the widgets preferences to the INIFile. Calls writePreferences() for all registered ModularWidgets and Preferences::savePreferences(). Note: If this method is overridden, call this method at the end of the overriden method to make sure that the general preferences are written.
inifile | the INIFile that contains the needed values |
friend class RepresentationManager [friend] |
friend class SimulationThread [friend] |
bool BALL::VIEW::MainControl::about_to_quit_ [protected] |
QAction* BALL::VIEW::MainControl::complement_selection_action_ [protected] |
Referenced by BALL::Mainframe::Mainframe().
Referenced by BALL::Mainframe::eventFilter().
bool BALL::VIEW::MainControl::composites_locked_ [protected] |
Referenced by BALL::Mainframe::reset().
List<Composite*> BALL::VIEW::MainControl::control_selection_ [protected] |
Referenced by BALL::Mainframe::eventFilter().
QAction* BALL::VIEW::MainControl::delete_action_ [protected] |
FragmentDB BALL::VIEW::MainControl::fragment_db_ [protected] |
bool BALL::VIEW::MainControl::fullscreen_ [protected] |
HashMap<Position, QMenu*> BALL::VIEW::MainControl::id_to_menu_ [protected] |
QAction* BALL::VIEW::MainControl::last_highlighted_menu_entry_ [protected] |
QPoint BALL::VIEW::MainControl::last_point_ [protected] |
QSize BALL::VIEW::MainControl::last_size_ [protected] |
QByteArray BALL::VIEW::MainControl::last_state_ [protected] |
ModularWidget* BALL::VIEW::MainControl::locking_widget_ [protected] |
File BALL::VIEW::MainControl::logging_file_ [protected] |
String BALL::VIEW::MainControl::logging_file_name_ [protected] |
bool BALL::VIEW::MainControl::logging_to_file_ [protected] |
QLabel* BALL::VIEW::MainControl::message_label_ [protected] |
List<ModularWidget*> BALL::VIEW::MainControl::modular_widgets_ [protected] |
bool BALL::VIEW::MainControl::multi_threading_mode_ [protected] |
QAction* BALL::VIEW::MainControl::open_action_ [protected] |
QAction* BALL::VIEW::MainControl::preferences_action_ [protected] |
Referenced by BALL::Mainframe::show().
Preferences* BALL::VIEW::MainControl::preferences_dialog_ [protected] |
INIFile BALL::VIEW::MainControl::preferences_file_ [protected] |
String BALL::VIEW::MainControl::proxy_ [protected] |
Position BALL::VIEW::MainControl::proxy_port_ [protected] |
QAction* BALL::VIEW::MainControl::qload_action_ [protected] |
Referenced by BALL::Mainframe::show().
QAction * BALL::VIEW::MainControl::qsave_action_ [protected] |
Referenced by BALL::Mainframe::show().
QTimer BALL::VIEW::MainControl::render_timer_ [protected] |
QLabel* BALL::VIEW::MainControl::rep_label_ [protected] |
Index BALL::VIEW::MainControl::rep_label_delta_ [protected] |
Position BALL::VIEW::MainControl::rep_label_nr_ [protected] |
QAction* BALL::VIEW::MainControl::save_project_action_ [protected] |
Referenced by BALL::Mainframe::Mainframe().
HashSet<Composite*> BALL::VIEW::MainControl::selection_ [protected] |
QLabel* BALL::VIEW::MainControl::simulation_icon_ [protected] |
const char* BALL::VIEW::MainControl::simulation_running_xpm_[] [static, protected] |
const char* BALL::VIEW::MainControl::simulation_stoped_xpm_[] [static, protected] |
bool BALL::VIEW::MainControl::stop_simulation_ [protected] |
QAction* BALL::VIEW::MainControl::stop_simulation_action_ [protected] |
Referenced by BALL::Mainframe::Mainframe(), and BALL::Mainframe::show().
QTimer BALL::VIEW::MainControl::timer_ [protected] |
bool BALL::VIEW::MainControl::was_not_busy_ [protected] |
String BALL::VIEW::MainControl::working_dir_ [protected] |