TaurusGrid

digraph inheritancedc1bed1139 { rankdir=UD; ratio=compress; size="8.0, 12.0"; "BaseConfigurableClass" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded,tooltip="A base class defining the API for configurable objects."]; "Logger" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded,tooltip="The taurus logger class. All taurus pertinent classes should inherit"]; "Object" -> "Logger" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Object" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded]; "QFrame" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded]; "QWidget" -> "QFrame" [arrowsize=0.5,style="setlinewidth(0.5)"]; "QObject" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded]; "wrapper" -> "QObject" [arrowsize=0.5,style="setlinewidth(0.5)"]; "QPaintDevice" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded]; "simplewrapper" -> "QPaintDevice" [arrowsize=0.5,style="setlinewidth(0.5)"]; "QWidget" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded]; "QObject" -> "QWidget" [arrowsize=0.5,style="setlinewidth(0.5)"]; "QPaintDevice" -> "QWidget" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TaurusBaseComponent" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded,tooltip="A generic Taurus component."]; "TaurusListener" -> "TaurusBaseComponent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "BaseConfigurableClass" -> "TaurusBaseComponent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TaurusBaseWidget" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded,tooltip="The base class for all Qt Taurus widgets."]; "TaurusBaseComponent" -> "TaurusBaseWidget" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TaurusGrid" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded,tooltip="TaurusGrid is a Taurus widget designed to represent a set of attributes distributed in columns and rows."]; "QFrame" -> "TaurusGrid" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TaurusBaseWidget" -> "TaurusGrid" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TaurusListener" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded,tooltip="TaurusListener Interface"]; "Logger" -> "TaurusListener" [arrowsize=0.5,style="setlinewidth(0.5)"]; "simplewrapper" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded]; "wrapper" [color=dodgerblue1,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded]; "simplewrapper" -> "wrapper" [arrowsize=0.5,style="setlinewidth(0.5)"]; }
class TaurusGrid(parent=None, designMode=False)[source]

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

TaurusGrid is a Taurus widget designed to represent a set of attributes distributed in columns and rows. The Model will be a list with attributes or device names (for devices the State attribute will be shown). Each setModel(*) execution will be able to modify the attribute list. An example of execution:<pre> /usr/bin/python taurusgrid.py “model=lt.*/VC.*/.*/((C*)|(P*)|(I*))” cols=IP,CCG,PNV rows=LT01,LT02 </pre> @author originally developed by gcuni, extended by srubio and sblanch @todo Future releases should allow a list of filters as argument @todo names/widgets should be accessible as a caselessdict dictionary (e.g. for adding custom context menus) @todo refactoring to have methods that add/remove new widgets one by one, not only the whole dictionary @todo _TAGS property should allow to change row/columns meaning and also add new Custom tags based on regexp

attach()[source]

Attaches the widget to the model

build_table(values)[source]

This is a builder. For all the elements in widgets matrix, just set the corresponding cells of the QTableWidget.

build_widgets(values, show_labels=False, width=240, height=20, value_width=120)[source]
columnlabels
create_frame_with_gridlayout()[source]

Just a ‘macro’ to create the layouts that seem to fit better.

create_widgets_dict(models)[source]
create_widgets_table(models)[source]
defineStyle()[source]

Defines the initial style for the widget

detach()[source]

Detaches the widget from the model

getColumnLabels()[source]
getItemByModel(model, index=0)[source]
getModel()[source]

Returns the model name for this component.

Return type:str
Returns:the model name.
getModelClass()[source]

Return the class object for the widget. Default behavior is to do a ‘best effort’ to determine which model type corresponds to the current model name. Overwrite as necessary.

Return type:class TaurusModel or None
Returns:The class object corresponding to the type of Taurus model this widget handles or None if no valid class is found.
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
getRowLabels()[source]
itemClicked
itemSelected
load(filename, delayed=False)[source]
minimumSizeHint(self) → QSize[source]
model
modelsThread
onItemClicked(item_name)[source]
parse_labels(text)[source]
resetColumnLabels()[source]
resetModel()[source]

Sets the model name to the empty string

resetRowLabels()[source]
rowlabels
save(filename)[source]
setColumnLabels(columns)[source]

The model can be initialized as a list of devices or hosts or …

setItemSelected(item_name='', selected=True)[source]

it adds a blue frame around a clicked item.

setModel(model, devsInRows=False, delayed=False, append=False, load=True)[source]

The model can be initialized as a list of devices or hosts or dictionary or …

setRowLabels(rows)[source]

The model can be initialized as a list of devices or hosts or …

setTitle(title)[source]
showAttributeLabels(boolean)[source]
showAttributeUnits(boolean)[source]
showColumnFrame(boolean)[source]
showOthers(boolean)[source]
showRowFrame(boolean)[source]
show_hide_columns()[source]

This needs refactoring to be together with the show_hide_rows method

show_hide_rows()[source]

This needs refactoring to be together with the show_hide_columns method

sizeHint(self) → QSize[source]
updateStyle()[source]

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

Override when necessary.

useParentModel

Returns whether this component is using the parent model

Return type:bool
Returns:True if using parent model or False otherwise