TaurusGrid

Inheritance diagram of TaurusGrid
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
property 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