TaurusJDrawSynopticsView

Inheritance diagram of TaurusJDrawSynopticsView
class TaurusJDrawSynopticsView(parent=None, designMode=False, updateMode=None, alias=None, resizable=True, panelClass=None)[source]

Bases: PyQt5.QtWidgets.QGraphicsView, taurus.qt.qtgui.base.taurusbase.TaurusBaseWidget

Taurus Class that visualizes Synoptics drawn with the JDraw tool (by ESRF). It is equivalent to ATK Synoptic Player (Java).

After initialization call setModel(‘/your/file.jdw’) to parse the synoptic file and connect to controlled objects.

Arguments to TaurusJDrawSynopticsView() creator are:

  • designMode; used by Qt Designer

  • updateMode; controls Qt Viewport refresh (disabled by default)

  • alias; a dictionary of name replacements to be applied on graphical objects

  • resizable: whether to allow resizing or not

  • panelClass: class object, class name or shell command to be shown when an object is clicked (None will show default panel, ‘’ or ‘noPanel’ will disable it)

TaurusJDrawSynopticsView and TaurusGraphicsScene signals/slots

External events:

Slot selectGraphicItem(const QString &) displays a selection
mark around the TaurusGraphicsItem that matches the argument passed.

Mouse Left-button events:

Signal graphicItemSelected(QString) is triggered, passing the
selected TaurusGraphicsItem.name() as argument.

Mouse Right-button events:

TaurusGraphicsItem.setContextMenu([(ActionName,ActionMethod(device_name))]
allows to configure custom context menus for graphic items using a list
of tuples. Empty tuples will insert separators in the menu.
closeEvent(self, QCloseEvent)[source]
classmethod defaultPanelClass()[source]

This method assigns the Class used to open new object panels on double-click (TaurusDevicePanel by default) If an string is used it can be either a Taurus class or an OS launcher

defineStyle()[source]
emitColors()[source]

emit signal which is used to refresh the tree and colors of icons depend of the current status in jdrawSynoptic

fitting(ADJUST_FRAME=False)[source]

Parent size is the size of the bigger panel (desn’t keep ratio) Rect size never changes (fixed by the graphics objects) Size and SizeHint move one around the other

the method works well until an object is clicked, then the whole reference changes and doesn’t work again.

getFramed()[source]
getGraphicsFactory(delayed=False)[source]
getModel()[source]

Returns the model name for this component.

Return type

str

Returns

the model name.

getModelMimeData()[source]

Used for drag events

classmethod getQtDesignerPluginInfo()[source]

Returns pertinent information in order to be able to build a valid QtDesigner widget plugin.

The dictionary returned by this method should contain at least the following keys and values: - ‘module’ : a string representing the full python module name (ex.: ‘taurus.qt.qtgui.base’) - ‘icon’ : a string representing valid resource icon (ex.: ‘designer:combobox.png’) - ‘container’ : a bool telling if this widget is a container widget or not.

This default implementation returns the following dictionary:

{ 'group'     : 'Taurus [Unclassified]',
  'icon'      : 'logos:taurus.png',
  'container' : False }
Return type

dict

Returns

a map with pertinent designer information

getSelectionStyle()[source]
getSelectionStyleName()[source]
get_device_list()[source]
get_item_colors(emit=False)[source]
get_item_list()[source]
get_sizes()[source]
graphicItemSelected
graphicSceneClicked
isReadOnly()[source]

Determines if this component is read-only or not in the sense that the user can interact with it. Default implementation returns True.

Override when necessary.

Return type

bool

Returns

whether or not this component is read-only

itemsChanged
model
modelsChanged
mousePressEvent(event)[source]

Records last event position to use it for DragEvents

openJDraw()[source]
panelClass()[source]
refreshModel()[source]
repaint(self)[source]

repaint(self, int, int, int, int) repaint(self, QRect) repaint(self, QRegion)

resetSelectionStyle()[source]
resizable()[source]
resizeEvent(event)[source]

It has been needed to reimplent size policies

selectGraphicItem(item_name)[source]
selectionStyle
setAlias(alias)[source]

Assigning a dictionary like {‘Tag’:’Value’} with tags to be replaced in object names while parsing.

classmethod setDefaultPanelClass(other)[source]

This method returns the Class used to open new object panels on double-click (TaurusDevicePanel by default)

setModel(model, alias=None, delayed=False, trace=False)[source]

Sets/unsets the model name for this component

Parameters

model (str) – the new model name

setModels()[source]

This method triggers item.setModel(item._name) in all internal items.

setPanelClass(widget)[source]
setResizable(resizable)[source]
setSelectionStyle(selectionStyle)[source]
update(self)[source]

update(self, QRect) update(self, QRegion) update(self, int, int, int, int)

updateStyle()[source]

Updates the widget style. Default implementation just calls QWidget.update()

Override when necessary.