Bases: PyQt4.QtGui.QMainWindow, taurus.qt.qtgui.container.taurusbasecontainer.TaurusBaseContainer
A Taurus-aware QMainWindow with several customizations:
It takes care of (re)storing its geometry and state (see loadSettings())
Supports perspectives (programmatic access and, optionally, accessible by user), and allows defining a set of “factory settings”
It provides a customizable splashScreen (optional)
Supports spawning remote consoles and remote debugging
Supports full-screen mode toggling
Supports adding launchers to external applications
It provides a statusBar with an optional heart-beat LED
- The following Menus are optionally provided and populated with basic actions:
- File (accessible by derived classes as self.fileMenu)
- View (accessible by derived classes as self.viewMenu)
- Taurus (accessible by derived classes as self.taurusMenu)
- Tools (accessible by derived classes as self.toolsMenu)
- Help (accessible by derived classes as self.helpMenu)
Adds launchers for an external application to the Tools Menu and/or to the Tools ToolBar.
Parameters: |
|
---|
See also
ExternalAppAction
adds a QLoggingWidget as a dockwidget of the main window (and hides it by default)
returns a QToolBar with few basic buttons (most important, the logo)
Return type: | :class:~`QToolBar` |
---|---|
Returns: |
Tries to connect via a QLocalSocket to an existing application with the given key. If another instance already exists (i.e. the connection succeeds), it means that this application is not the only one
This event handler receives widget close events
adds a “File” Menu
adds a “Help” Menu
adds a Perspectives ToolBar
adds a “Taurus” Menu
adds a “Tools” Menu
adds a “View” Menu
Remove launchers for an external application to the Tools Menu and/or to the Tools ToolBar.
Parameters: | extapp (:class:~`ExternalAppAction`) – the external application to be removed passed as a ExternalAppAction |
---|
copies the current settings file into the given file name.
Parameters: | fname (:class:~`str`) – name of output file. If None given, a file dialog will be shown. |
---|
returns the file name of the “factory settings” (the ini file with default settings). The default implementation returns “<path>/<appname>.ini”, where <path> is the path of the module where the main window class is defined and <appname> is the application name (as obtained from QApplication).
Return type: | :class:~`str` |
---|---|
Returns: | the absolute file name. |
returns the heart beat interval
Returns the list of saved perspectives
Parameters: | settings (:class:~`QSettings` or :class:~`None`) – a QSettings object. If None given, the default one returned by getQSettings() will be used |
---|---|
Return type: | :class:~`QStringList` |
Returns: | the list of the names of the currently saved perspectives |
Returns the main window settings object. If it was not previously set, it will create a new QSettings object following the Taurus convention i.e., it using Ini format and userScope)
Return type: | :class:~`QSettings` |
---|---|
Returns: | the main window QSettings object |
returns the heart beat interval
loads settings (including importing all perspectives) from a given ini file. It warns before overwriting an existing perspective.
Parameters: | fname (:class:~`str`) – name of ini file. If None given, a file dialog will be shown. |
---|
Loads the settings saved for the given perspective. It emits a ‘perspectiveChanged’ signal with name as its parameter
Parameters: |
|
---|
restores the application settings previously saved with saveSettings().
Note
This method should be called explicitly from derived classes after all initialization is done
Parameters: |
|
---|
Returns the model name for this component.
Return type: | :class:~`str` |
---|---|
Returns: | the model name. |
Returns a settings taurus-specific QSettings object. The returned QSettings object will comply with the Taurus defaults for storing application settings (i.e., it uses Ini format and userScope)
Return type: | :class:~`QSettings` |
---|---|
Returns: | a taurus-specific QSettings object |
Slot to be called when another application/instance with the same key checks if this application exists.
Note
This is a dummy implementation which just logs the connection and discards the associated socket You may want to reimplement this if you want to act on such connections
Shows the User Manual in a dockwidget
removes the given perspective from the settings
Parameters: |
|
---|
resets the heartbeat interval
equivalent to setQSettings(None)
Stores current state of the application as a perspective with the given name
Parameters: | name (:class:~`str`) – name of the perspective |
---|
saves the application settings (so that they can be restored with loadSettings())
Note
this method is automatically called by default when closing the window, so in general there is no need to call it from derived classes
Parameters: | group (:class:~`str`) – a prefix that will be added to the keys to be saved (no prefix by default) |
---|
sets the interval of the heartbeat LED for the window. The heartbeat is displayed by a Led in the status bar unless it is disabled by setting the interval to 0
Parameters: | interval (:class:~`int`) – heart beat interval in millisecs. Set to 0 to disable |
---|
sets the main window settings object
Parameters: | settings (:class:~`QSettings` or :class:~`None`) – |
---|
See also
This event handler receives widget show events
Returns if showing the quality as a background color
Return type: | :class:~`bool` |
---|---|
Returns: | True if showing the quality or False otherwise |
returns a the splashScreen
Return type: | :class:~`QSplashScreen` |
---|---|
Returns: |
re-checks the perspectives available to update self.perspectivesMenu
Note
This method may need be called by derived classes at the end of their initialization.
Return type: | :class:~`QMenu` |
---|---|
Returns: | the updated perspectives menu (or None if self._supportUserPerspectives is False) |
Returns whether this component is using the parent model
Return type: | :class:~`bool` |
---|---|
Returns: | True if using parent model or False otherwise |