Widgets

Subpackages

Code Documentation

siriushla.widgets.QDoubleScrollBar module

QDoubleScrollBar module.

class siriushla.widgets.QDoubleScrollBar.QDoubleScrollBar(orientation=1, parent=None)[source]

Bases: QScrollBar

A QScrollBar that handles float values.

contextMenuEvent(ev)[source]

Show context menu.

decimals
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

dialogPageStep(value)[source]

Show dialog to set pageStep.

dialogSingleStep(value)[source]

Show dialog to set singleStep.

getDecimals()[source]

Return decimals.

getMaximum()[source]

Return maximum value.

getMinimum()[source]

Return minimum value.

getPageStep()[source]

Get page step.

getSingleStep()[source]

Get single step.

getSliderPosition()[source]

Get slider position.

getValue()[source]

Get value.

keyPressEvent(event)[source]

Reimplement keyPressEvent.

maximum
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

minimum
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

pageStep
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

rangeChanged

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

setDecimals(value)[source]

Set decimals.

setMaximum(value)[source]

Set maximum value.

setMinimum(value)[source]

Set minimum value.

setPageStep(value)[source]

Set page step.

setRange(mini, maxi)[source]

Set range.

setSingleStep(value)[source]

Set single step.

setSliderPosition(value)[source]

Set slider position.

setValue(value)[source]

Set value.

singleStep
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

sliderMoved

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

sliderPosition
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

value
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

valueChanged

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

siriushla.widgets.QLed module

QLed module.

Based on Robert Kent’s LED Widget for the PyQt Framework, available on https://pypi.python.org/pypi/QLed or https://github.com/jazzycamel/QLed.

class siriushla.widgets.QLed.QLed(parent=None, **kwargs)[source]

Bases: QFrame, ShapeMap

QLed class.

Blue = <PyQt5.QtGui.QColor object>
DarkGreen = <PyQt5.QtGui.QColor object>
DarkRed = <PyQt5.QtGui.QColor object>
Gray = <PyQt5.QtGui.QColor object>
Green = <PyQt5.QtGui.QColor object>
LightGreen = <PyQt5.QtGui.QColor object>
NotSelColor1 = <PyQt5.QtGui.QColor object>
NotSelColor2 = <PyQt5.QtGui.QColor object>
Red = <PyQt5.QtGui.QColor object>
SelColor = <PyQt5.QtGui.QColor object>
class ShapeMap

Bases: object

Shape enum mapping class.

Circle = 1
Rectangle = 5
Round = 2
Square = 3
Triangle = 4
Yellow = <PyQt5.QtGui.QColor object>
abspath = '/home/runner/work/hla/hla/pyqt-apps/siriushla/widgets'
adjust(r, g, b)[source]

Adjust the color to set on svg code.

clicked

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

dsblColor
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

f = <PyQt5.QtCore.QFile object>
getDsblColor()[source]

Disabled color property getter.

getOffColor()[source]

Off color property getter.

getOnColor()[source]

On color property getter.

getRGBfromQColor(qcolor)[source]

Convert QColors to a tupple of rgb colors to set on svg code.

getShape()[source]

Shape property getter.

getState()[source]

Value property getter.

isSelected()[source]

Return selected state of object.

mousePressEvent(event)[source]

Handle mouse press event.

mouseReleaseEvent(event)[source]

Handle mouse release event.

offColor
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

onColor
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

paintEvent(event)[source]

Handle appearence of the widget on state updates.

selected

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

setDsblColor(newColor)[source]

Disabled color property setter.

setOffColor(newColor)[source]

Off color property setter.

setOnColor(newColor)[source]

On color property setter.

setSelected(sel)[source]

Configure selected state of object.

setShape(newShape)[source]

Shape property setter.

setState(value)[source]

Value property setter.

shape
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

shapesdict = {1: '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n   height="50.000000px"\n   id="svg9493"\n   width="50.000000px"\n   version="1.1"\n   inkscape:version="0.91 r13725"\n   sodipodi:docname="round_led4.svg">\n  <metadata\n     id="metadata4250">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title></dc:title>\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <sodipodi:namedview\n     pagecolor="#ffffff"\n     bordercolor="#666666"\n     borderopacity="1"\n     objecttolerance="10"\n     gridtolerance="10"\n     guidetolerance="10"\n     inkscape:pageopacity="0"\n     inkscape:pageshadow="2"\n     inkscape:window-width="3840"\n     inkscape:window-height="2140"\n     id="namedview4248"\n     showgrid="false"\n     inkscape:zoom="14.014856"\n     inkscape:cx="2.8105841"\n     inkscape:cy="24.583514"\n     inkscape:window-x="0"\n     inkscape:window-y="0"\n     inkscape:window-maximized="1"\n     inkscape:current-layer="svg9493" />\n  <defs\n     id="defs9495">\n    <linearGradient\n       id="linearGradient4276">\n      <stop\n         id="stop4278"\n         offset="0.0000000"\n         style="stop-color:%s;stop-opacity:%s" />\n      <stop\n         id="stop4280"\n         offset="1.0000000"\n         style="stop-color:%s;stop-opacity:1" />\n    </linearGradient>\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient6650"\n       x1="23.402565"\n       x2="23.389874"\n       xlink:href="#linearGradient6506"\n       y1="44.066776"\n       y2="42.883698"\n       gradientTransform="matrix(24.162375,0,0,18.685562,-538.24645,-790.03875)" />\n    <linearGradient\n       id="linearGradient6494">\n      <stop\n         id="stop6496"\n         offset="0.0000000"\n         style="stop-color:%s;stop-opacity:1" />\n      <stop\n         id="stop6498"\n         offset="1.0000000"\n         style="stop-color:%s;stop-opacity:1.0000000;" />\n    </linearGradient>\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient6648"\n       x1="23.213980"\n       x2="23.201290"\n       xlink:href="#linearGradient6494"\n       y1="42.754631"\n       y2="43.892632"\n       gradientTransform="matrix(30.2835,0,0,30.2835,-680.9062,-1286.1606)" />\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient6646"\n       x1="23.349695"\n       x2="23.440580"\n       xlink:href="#linearGradient5756"\n       y1="42.767944"\n       y2="43.710873"\n       gradientTransform="matrix(33.827312,0,0,33.827312,-763.51223,-1439.5942)" />\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient6644"\n       x1="23.193102"\n       x2="23.200001"\n       xlink:href="#linearGradient4276"\n       y1="42.429230"\n       y2="44.000000"\n       gradientTransform="matrix(31.25,0,0,31.25,-700.00001,-1325)" />\n    <linearGradient\n       id="linearGradient6506">\n      <stop\n         id="stop6508"\n         offset="0.0000000"\n         style="stop-color:#ffffff;stop-opacity:0.0000000;" />\n      <stop\n         id="stop6510"\n         offset="1.0000000"\n         style="stop-color:#ffffff;stop-opacity:0.87450981;" />\n    </linearGradient>\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient7498"\n       x1="23.402565"\n       x2="23.389874"\n       xlink:href="#linearGradient6506"\n       y1="44.066776"\n       y2="42.883698" />\n    <linearGradient\n       id="linearGradient7464">\n      <stop\n         id="stop7466"\n         offset="0.0000000"\n         style="stop-color:#00039a;stop-opacity:1.0000000;" />\n      <stop\n         id="stop7468"\n         offset="1.0000000"\n         style="stop-color:#afa5ff;stop-opacity:1.0000000;" />\n    </linearGradient>\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient7496"\n       x1="23.213980"\n       x2="23.201290"\n       xlink:href="#linearGradient7464"\n       y1="42.754631"\n       y2="43.892632" />\n    <linearGradient\n       id="linearGradient5756">\n      <stop\n         id="stop5758"\n         offset="0.0000000"\n         style="stop-color:#828282;stop-opacity:1.0000000;" />\n      <stop\n         id="stop5760"\n         offset="1.0000000"\n         style="stop-color:#929292;stop-opacity:0.35294119;" />\n    </linearGradient>\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient9321"\n       x1="22.935030"\n       x2="23.662106"\n       xlink:href="#linearGradient5756"\n       y1="42.699776"\n       y2="43.892632" />\n    <linearGradient\n       id="linearGradient5742">\n      <stop\n         id="stop5744"\n         offset="0.0000000"\n         style="stop-color:#adadad;stop-opacity:1.0000000;" />\n      <stop\n         id="stop5746"\n         offset="1.0000000"\n         style="stop-color:#f0f0f0;stop-opacity:1.0000000;" />\n    </linearGradient>\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient7492"\n       x1="23.193102"\n       x2="23.200001"\n       xlink:href="#linearGradient5742"\n       y1="42.429230"\n       y2="44.000000" />\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient9527"\n       x1="23.193102"\n       x2="23.200001"\n       xlink:href="#linearGradient5742"\n       y1="42.429230"\n       y2="44.000000" />\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient9529"\n       x1="22.935030"\n       x2="23.662106"\n       xlink:href="#linearGradient5756"\n       y1="42.699776"\n       y2="43.892632" />\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient9531"\n       x1="23.213980"\n       x2="23.201290"\n       xlink:href="#linearGradient7464"\n       y1="42.754631"\n       y2="43.892632" />\n    <linearGradient\n       gradientUnits="userSpaceOnUse"\n       id="linearGradient9533"\n       x1="23.402565"\n       x2="23.389874"\n       xlink:href="#linearGradient6506"\n       y1="44.066776"\n       y2="42.883698" />\n  </defs>\n  <path\n     d="m 50.000021,25.000031 c 0,13.8 -11.2,25 -25,25 -13.8,0 -24.99999975,-11.2 -24.99999975,-25 0,-13.8 11.19999975,-24.99999975 24.99999975,-24.99999975 13.8,0 25,11.19999975 25,24.99999975 z"\n     id="path6596"\n     style="overflow:visible;fill:url(#linearGradient6644);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     inkscape:connector-curvature="0" />\n  <path\n     d="m 45.175601,25.000001 c 0,11.136932 -9.038658,20.17559 -20.17559,20.17559 -11.136932,0 -20.1755899,-9.038658 -20.1755899,-20.17559 0,-11.136932 9.0386579,-20.1756236 20.1755899,-20.1756236 11.136932,0 20.17559,9.0386916 20.17559,20.1756236 z"\n     id="path6598"\n     style="overflow:visible;fill:url(#linearGradient6646);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     inkscape:connector-curvature="0" />\n  <path\n     d="m 43.061992,24.999994 c 0,9.970206 -8.091751,18.061957 -18.061957,18.061957 -9.970207,0 -18.0619578,-8.091751 -18.0619578,-18.061957 0,-9.970207 8.0917508,-18.0619881 18.0619578,-18.0619881 9.970206,0 18.061957,8.0917811 18.061957,18.0619881 z"\n     id="path6600"\n     style="overflow:visible;fill:url(#linearGradient6648);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     inkscape:connector-curvature="0" />\n  <path\n     d="m 39.387937,18.975154 c 0,6.151829 -6.456187,11.144611 -14.411141,11.144611 -7.954955,0 -14.411141,-4.992782 -14.411141,-11.144611 0,-6.151829 6.456186,-11.1446295 14.411141,-11.1446295 7.954954,0 14.411141,4.9928005 14.411141,11.1446295 z"\n     id="path6602"\n     style="overflow:visible;fill:url(#linearGradient6650);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     inkscape:connector-curvature="0" />\n</svg>\n', 2: '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   version="1.1"\n   width="100.00000px"\n   id="svg9493"\n   height="50.000000px">\n  <metadata\n     id="metadata4280">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title></dc:title>\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <defs\n     id="defs9495">\n    <linearGradient\n       id="linearGradient4360">\n      <stop\n         id="stop4362"\n         offset="0.0000000"\n         style="stop-color:%s;stop-opacity:%s" />\n      <stop\n         id="stop4364"\n         offset="1.0000000"\n         style="stop-color:%s;stop-opacity:1" />\n    </linearGradient>\n    <linearGradient\n       y2="46.774261"\n       y1="47.917328"\n       xlink:href="#linearGradient6506"\n       x2="21.593750"\n       x1="21.593750"\n       id="linearGradient13424"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(29.003969,0,0,19.969156,-576.36428,-922.62906)" />\n    <linearGradient\n       id="linearGradient6494">\n      <stop\n         style="stop-color:%s;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop6496" />\n      <stop\n         style="stop-color:%s;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop6498" />\n    </linearGradient>\n    <linearGradient\n       y2="47.781250"\n       y1="46.617390"\n       xlink:href="#linearGradient6494"\n       x2="21.593750"\n       x1="21.591305"\n       id="linearGradient13427"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(31.25,0,0,31.25,-624.9999,-1450.0001)" />\n    <linearGradient\n       y2="47.843750"\n       y1="46.556522"\n       xlink:href="#linearGradient5756"\n       x2="21.834784"\n       x1="21.408695"\n       id="linearGradient13430"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(31.25,0,0,31.25,-624.9999,-1450.0001)" />\n    <linearGradient\n       y2="48.000000"\n       y1="46.376728"\n       xlink:href="#linearGradient4360"\n       x2="21.600000"\n       x1="21.594427"\n       id="linearGradient13433"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(31.25,0,0,31.25,-624.9999,-1450.0001)" />\n    <linearGradient\n       y2="46.774261"\n       y1="47.917328"\n       xlink:href="#linearGradient6506"\n       x2="21.593750"\n       x1="21.593750"\n       id="linearGradient13472"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.928127,0.000000,0.000000,0.639013,21.55634,15.27587)" />\n    <linearGradient\n       y2="47.781250"\n       y1="46.617390"\n       xlink:href="#linearGradient9163"\n       x2="21.593750"\n       x1="21.591305"\n       id="linearGradient13475"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="translate(20.00000,-1.600002)" />\n    <linearGradient\n       y2="47.843750"\n       y1="46.556522"\n       xlink:href="#linearGradient5756"\n       x2="21.834784"\n       x1="21.408695"\n       id="linearGradient13478"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="translate(20.00000,-1.600002)" />\n    <linearGradient\n       y2="48.000000"\n       y1="46.376728"\n       xlink:href="#linearGradient5742"\n       x2="21.600000"\n       x1="21.594427"\n       id="linearGradient13481"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="translate(20.00000,-1.600002)" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient9199"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient9163">\n      <stop\n         style="stop-color:#000000;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop9165" />\n      <stop\n         style="stop-color:#8c8c8c;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop9167" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient9163"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient9197"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.710873"\n       y1="42.767944"\n       xlink:href="#linearGradient5756"\n       x2="23.440580"\n       x1="23.349695"\n       id="linearGradient9195"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient9193"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient6506">\n      <stop\n         style="stop-color:#ffffff;stop-opacity:0.0000000;"\n         offset="0.0000000"\n         id="stop6508" />\n      <stop\n         style="stop-color:#ffffff;stop-opacity:0.87450981;"\n         offset="1.0000000"\n         id="stop6510" />\n    </linearGradient>\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient7498"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient7464">\n      <stop\n         style="stop-color:#00039a;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop7466" />\n      <stop\n         style="stop-color:#afa5ff;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop7468" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient7464"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient7496"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient5756">\n      <stop\n         style="stop-color:#828282;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop5758" />\n      <stop\n         style="stop-color:#929292;stop-opacity:0.35294119;"\n         offset="1.0000000"\n         id="stop5760" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.699776"\n       xlink:href="#linearGradient5756"\n       x2="23.662106"\n       x1="22.935030"\n       id="linearGradient9321"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient5742">\n      <stop\n         style="stop-color:#adadad;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop5744" />\n      <stop\n         style="stop-color:#f0f0f0;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop5746" />\n    </linearGradient>\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient7492"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient9527"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.699776"\n       xlink:href="#linearGradient5756"\n       x2="23.662106"\n       x1="22.935030"\n       id="linearGradient9529"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient7464"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient9531"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient9533"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient1336"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(24.16238,0.000000,0.000000,18.68556,-538.2464,-790.0391)" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient9163"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient1339"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(30.28350,0.000000,0.000000,30.28350,-680.9062,-1286.161)" />\n    <linearGradient\n       y2="43.710873"\n       y1="42.767944"\n       xlink:href="#linearGradient5756"\n       x2="23.440580"\n       x1="23.349695"\n       id="linearGradient1342"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(33.82731,0.000000,0.000000,33.82731,-763.5122,-1439.594)" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient1345"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(31.25000,0.000000,0.000000,31.25000,-700.0000,-1325.000)" />\n  </defs>\n  <path\n     style="fill:url(#linearGradient13433);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path13335"\n     d="m 25.000037,0 50.000001,0 c 13.85,0 25.000002,11.15 25.000002,25 0,13.85 -11.150002,25 -25.000002,25 L 25.000037,50 C 11.150038,50 3.75e-5,38.85 3.75e-5,25 3.75e-5,11.15 11.150038,0 25.000037,0 Z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient13430);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path13337"\n     d="m 25.390662,5.0780625 c -11.409718,0 -20.507812,8.3471245 -20.507812,19.5312495 0,11.184125 9.323719,20.507875 20.507812,20.507813 l 49.804688,0 c 11.184156,0 19.53125,-9.098031 19.53125,-20.507813 0,-11.409718 -8.121563,-19.5312495 -19.53125,-19.5312495 l -49.804688,0 z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient13427);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path13339"\n     d="m 25.390662,7.0311875 c -10.206593,0 -18.554687,7.7083435 -18.554687,17.5781245 0,9.869813 8.684969,18.554719 18.554687,18.554688 l 49.804688,0 c 9.869813,0 17.578125,-8.348031 17.578125,-18.554688 0,-10.206593 -7.371563,-17.5781245 -17.578125,-17.5781245 l -49.804688,0 z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient13424);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path13341"\n     d="m 27.280819,8.4327813 c -9.473,0 -17.221094,4.9257497 -17.221094,11.2326567 0,6.306937 8.06075,11.856718 17.221094,11.856687 l 46.225062,0 c 9.160469,0 16.31475,-5.3345 16.31475,-11.856687 0,-6.522157 -6.84175,-11.2326567 -16.31475,-11.2326567 l -46.225062,0 z" />\n</svg>\n', 3: '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   version="1.1"\n   width="50.000000px"\n   id="svg9493"\n   height="50.000000px">\n  <metadata\n     id="metadata4299">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title></dc:title>\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <defs\n     id="defs9495">\n    <linearGradient\n       id="linearGradient4310">\n      <stop\n         id="stop4312"\n         offset="0.0000000"\n         style="stop-color:%s;stop-opacity:%s" />\n      <stop\n         id="stop4314"\n         offset="1.0000000"\n         style="stop-color:%s;stop-opacity:1" />\n    </linearGradient>\n    <linearGradient\n       y2="46.774261"\n       y1="47.917328"\n       xlink:href="#linearGradient6506"\n       x2="21.593750"\n       x1="21.593750"\n       id="linearGradient31681"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(12.138594,0,0,19.315531,-237.28437,-892.92719)" />\n    <linearGradient\n       id="linearGradient6494">\n      <stop\n         style="stop-color:%s;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop6496" />\n      <stop\n         style="stop-color:%s;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop6498" />\n    </linearGradient>\n    <linearGradient\n       gradientTransform="matrix(31.25,0,0,31.25,-549.70703,-1350)"\n       y2="44.593750"\n       y1="43.400002"\n       xlink:href="#linearGradient6494"\n       x2="18.390625"\n       x1="18.390625"\n       id="linearGradient31704"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       gradientTransform="matrix(31.25,0,0,31.25,-549.70703,-1350)"\n       y2="44.656250"\n       y1="43.337502"\n       xlink:href="#linearGradient5756"\n       x2="19.031250"\n       x1="17.728125"\n       id="linearGradient31624"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="41.599998"\n       y1="39.991302"\n       xlink:href="#linearGradient4310"\n       x2="29.600000"\n       x1="29.600000"\n       id="linearGradient31686"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(15.625,0,0,31.25,-437.5,-1250)" />\n    <linearGradient\n       y2="46.774261"\n       y1="47.917328"\n       xlink:href="#linearGradient6506"\n       x2="21.593750"\n       x1="21.593750"\n       id="linearGradient31649"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.388435,0.000000,0.000000,0.618097,7.606900,5.026330)" />\n    <linearGradient\n       y2="44.593750"\n       y1="43.400002"\n       xlink:href="#linearGradient9163"\n       x2="18.390625"\n       x1="18.390625"\n       id="linearGradient31710"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="44.656250"\n       y1="43.337502"\n       xlink:href="#linearGradient5756"\n       x2="19.031250"\n       x1="17.728125"\n       id="linearGradient31570"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="41.599998"\n       y1="39.991302"\n       xlink:href="#linearGradient5742"\n       x2="29.600000"\n       x1="29.600000"\n       id="linearGradient31654"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.500000,0.000000,0.000000,1.000000,1.200000,-6.400000)" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient9199"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient9163">\n      <stop\n         style="stop-color:#000000;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop9165" />\n      <stop\n         style="stop-color:#8c8c8c;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop9167" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient9163"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient9197"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.710873"\n       y1="42.767944"\n       xlink:href="#linearGradient5756"\n       x2="23.440580"\n       x1="23.349695"\n       id="linearGradient9195"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient9193"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient6506">\n      <stop\n         style="stop-color:#ffffff;stop-opacity:0.0000000;"\n         offset="0.0000000"\n         id="stop6508" />\n      <stop\n         style="stop-color:#ffffff;stop-opacity:0.87450981;"\n         offset="1.0000000"\n         id="stop6510" />\n    </linearGradient>\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient7498"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient7464">\n      <stop\n         style="stop-color:#00039a;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop7466" />\n      <stop\n         style="stop-color:#afa5ff;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop7468" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient7464"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient7496"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient5756">\n      <stop\n         style="stop-color:#828282;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop5758" />\n      <stop\n         style="stop-color:#929292;stop-opacity:0.35294119;"\n         offset="1.0000000"\n         id="stop5760" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.699776"\n       xlink:href="#linearGradient5756"\n       x2="23.662106"\n       x1="22.935030"\n       id="linearGradient9321"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient5742">\n      <stop\n         style="stop-color:#adadad;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop5744" />\n      <stop\n         style="stop-color:#f0f0f0;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop5746" />\n    </linearGradient>\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient7492"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient9527"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.699776"\n       xlink:href="#linearGradient5756"\n       x2="23.662106"\n       x1="22.935030"\n       id="linearGradient9529"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient7464"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient9531"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient9533"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient1336"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(24.16238,0.000000,0.000000,18.68556,-538.2464,-790.0391)" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient9163"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient1339"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(30.28350,0.000000,0.000000,30.28350,-680.9062,-1286.161)" />\n    <linearGradient\n       y2="43.710873"\n       y1="42.767944"\n       xlink:href="#linearGradient5756"\n       x2="23.440580"\n       x1="23.349695"\n       id="linearGradient1342"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(33.82731,0.000000,0.000000,33.82731,-763.5122,-1439.594)" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient1345"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(31.25000,0.000000,0.000000,31.25000,-700.0000,-1325.000)" />\n  </defs>\n  <path\n     style="fill:url(#linearGradient31686);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path31614"\n     d="M 0,0 50,0 50,50 0,50 0,0 Z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient31624);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path31616"\n     d="m 4.98047,4.4921875 0,41.0156245 40.039062,0 0,-41.0156245 -40.039062,0 z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient31704);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path31618"\n     d="m 6.933595,6.4453125 0,37.1093745 36.132812,0 0,-37.1093745 -36.132812,0 z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient31681);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path31620"\n     d="M 15.349844,7.66 C 7.198625,7.6864688 8.1425938,6.0403125 8.1425938,18.525 c 0,6.1005 3.3735622,11.468625 7.2072502,11.468594 l 19.345875,0 c 3.833812,0 6.827937,-5.159906 6.827937,-11.468594 0,-12.5878125 0.807188,-10.9699687 -6.827937,-10.865 l -19.345875,0 z" />\n</svg>\n', 4: '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   version="1.1"\n   width="50.000000px"\n   id="svg9493"\n   height="50.000000px">\n  <metadata\n     id="metadata4372">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title></dc:title>\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <defs\n     id="defs9495">\n    <linearGradient\n       id="linearGradient4383">\n      <stop\n         id="stop4385"\n         offset="0.0000000"\n         style="stop-color:%s;stop-opacity:%s" />\n      <stop\n         id="stop4387"\n         offset="1.0000000"\n         style="stop-color:%s;stop-opacity:1" />\n    </linearGradient>\n    <linearGradient\n       y2="26.670279"\n       y1="28.449617"\n       xlink:href="#linearGradient6506"\n       x2="23.187498"\n       x1="23.187498"\n       id="linearGradient28861"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(12.187313,0,0,12.623188,-257.59344,-317.63062)" />\n    <linearGradient\n       id="linearGradient6494">\n      <stop\n         style="stop-color:%s;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop6496" />\n      <stop\n         style="stop-color:%s;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop6498" />\n    </linearGradient>\n    <linearGradient\n       y2="27.843750"\n       y1="26.793751"\n       xlink:href="#linearGradient6494"\n       x2="23.187500"\n       x1="23.181250"\n       id="linearGradient28864"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(31.25,0,0,31.25,-699.60937,-825)" />\n    <linearGradient\n       y2="27.906250"\n       y1="26.687500"\n       xlink:href="#linearGradient5756"\n       x2="23.812500"\n       x1="22.762501"\n       id="linearGradient28867"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(31.25,0,0,31.25,-699.60937,-825)" />\n    <linearGradient\n       y2="28.000000"\n       y1="26.400000"\n       xlink:href="#linearGradient4383"\n       x2="23.200001"\n       x1="23.187500"\n       id="linearGradient28870"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(31.25,0,0,31.25,-700,-825)" />\n    <linearGradient\n       y2="26.670279"\n       y1="28.449617"\n       xlink:href="#linearGradient6506"\n       x2="23.187498"\n       x1="23.187498"\n       id="linearGradient28801"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.389994,0.000000,0.000000,0.403942,9.357010,32.23582)" />\n    <linearGradient\n       y2="27.843750"\n       y1="26.793751"\n       xlink:href="#linearGradient9163"\n       x2="23.187500"\n       x1="23.181250"\n       id="linearGradient28804"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="translate(-4.787500,16.00000)" />\n    <linearGradient\n       y2="27.906250"\n       y1="26.687500"\n       xlink:href="#linearGradient5756"\n       x2="23.812500"\n       x1="22.762501"\n       id="linearGradient28807"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="translate(-4.787500,16.00000)" />\n    <linearGradient\n       y2="28.000000"\n       y1="26.400000"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.187500"\n       id="linearGradient28810"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="translate(-4.800000,16.00000)" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient9199"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient9163">\n      <stop\n         style="stop-color:#000000;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop9165" />\n      <stop\n         style="stop-color:#8c8c8c;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop9167" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient9163"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient9197"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.710873"\n       y1="42.767944"\n       xlink:href="#linearGradient5756"\n       x2="23.440580"\n       x1="23.349695"\n       id="linearGradient9195"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient9193"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient6506">\n      <stop\n         style="stop-color:#ffffff;stop-opacity:0.0000000;"\n         offset="0.0000000"\n         id="stop6508" />\n      <stop\n         style="stop-color:#ffffff;stop-opacity:0.87450981;"\n         offset="1.0000000"\n         id="stop6510" />\n    </linearGradient>\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient7498"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient7464">\n      <stop\n         style="stop-color:#00039a;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop7466" />\n      <stop\n         style="stop-color:#afa5ff;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop7468" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient7464"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient7496"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient5756">\n      <stop\n         style="stop-color:#828282;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop5758" />\n      <stop\n         style="stop-color:#929292;stop-opacity:0.35294119;"\n         offset="1.0000000"\n         id="stop5760" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.699776"\n       xlink:href="#linearGradient5756"\n       x2="23.662106"\n       x1="22.935030"\n       id="linearGradient9321"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient5742">\n      <stop\n         style="stop-color:#adadad;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop5744" />\n      <stop\n         style="stop-color:#f0f0f0;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop5746" />\n    </linearGradient>\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient7492"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient9527"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.699776"\n       xlink:href="#linearGradient5756"\n       x2="23.662106"\n       x1="22.935030"\n       id="linearGradient9529"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient7464"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient9531"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient9533"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient1336"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(24.16238,0.000000,0.000000,18.68556,-538.2464,-790.0391)" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient9163"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient1339"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(30.28350,0.000000,0.000000,30.28350,-680.9062,-1286.161)" />\n    <linearGradient\n       y2="43.710873"\n       y1="42.767944"\n       xlink:href="#linearGradient5756"\n       x2="23.440580"\n       x1="23.349695"\n       id="linearGradient1342"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(33.82731,0.000000,0.000000,33.82731,-763.5122,-1439.594)" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient1345"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(31.25000,0.000000,0.000000,31.25000,-700.0000,-1325.000)" />\n  </defs>\n  <path\n     style="fill:url(#linearGradient28870);fill-opacity:1;stroke:none;stroke-width:0.064;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path28664"\n     d="M 50,50 0,50 25,0 50,50 Z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient28867);fill-opacity:1;stroke:none;stroke-width:0.064;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path28666"\n     d="M 25,8.0078125 5.46875,47.070312 l 39.0625,0 L 25,8.0078125 Z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient28864);fill-opacity:1;stroke:none;stroke-width:0.064;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path28668"\n     d="m 25,11.914063 -16.6015625,33.203124 33.2031245,0 L 25,11.914063 Z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient28861);fill-opacity:1;stroke:none;stroke-width:0.064;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path28670"\n     d="m 24.238156,17.278313 c -0.61875,0.212499 -1.154062,0.627187 -1.523437,1.183437 -0.1375,0.11875 -0.265625,0.25 -0.380938,0.394375 l -6.474406,13.412219 c -0.259375,0.48125 -0.392187,1.02625 -0.380938,1.577812 0.04687,0.417188 0.178125,0.819688 0.380938,1.183438 0.09062,0.28125 0.21875,0.54625 0.380937,0.789062 0.115625,0.14375 0.24375,0.275 0.380938,0.394375 0.234375,0.16875 0.490938,0.3 0.761562,0.394375 0.350938,0.209375 0.739688,0.344688 1.1425,0.394375 l 12.949,0 c 0.894375,-0.01994 1.733125,-0.454375 2.285,-1.183437 0.1375,-0.11875 0.265625,-0.25 0.380938,-0.394375 0.203125,-0.363438 0.332812,-0.76625 0.380937,-1.183438 0.01125,-0.551875 -0.11875,-1.096562 -0.380937,-1.577812 0.0081,-0.13125 0.0081,-0.2625 0,-0.394375 l -6.4745,-13.412125 c -0.115625,-0.14375 -0.24375,-0.275 -0.380938,-0.394375 -0.700625,-0.983438 -1.894687,-1.447188 -3.046875,-1.183438 z" />\n</svg>\n', 5: '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   version="1.1"\n   width="50.000000px"\n   id="svg9493"\n   height="50.000000px">\n  <metadata\n     id="metadata4299">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title></dc:title>\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <defs\n     id="defs9495">\n    <linearGradient\n       id="linearGradient4310">\n      <stop\n         id="stop4312"\n         offset="0.0000000"\n         style="stop-color:%s;stop-opacity:%s" />\n      <stop\n         id="stop4314"\n         offset="1.0000000"\n         style="stop-color:%s;stop-opacity:1" />\n    </linearGradient>\n    <linearGradient\n       y2="46.774261"\n       y1="47.917328"\n       xlink:href="#linearGradient6506"\n       x2="21.593750"\n       x1="21.593750"\n       id="linearGradient31681"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(12.138594,0,0,19.315531,-237.28437,-892.92719)" />\n    <linearGradient\n       id="linearGradient6494">\n      <stop\n         style="stop-color:%s;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop6496" />\n      <stop\n         style="stop-color:%s;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop6498" />\n    </linearGradient>\n    <linearGradient\n       gradientTransform="matrix(31.25,0,0,31.25,-549.70703,-1350)"\n       y2="44.593750"\n       y1="43.400002"\n       xlink:href="#linearGradient6494"\n       x2="18.390625"\n       x1="18.390625"\n       id="linearGradient31704"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       gradientTransform="matrix(31.25,0,0,31.25,-549.70703,-1350)"\n       y2="44.656250"\n       y1="43.337502"\n       xlink:href="#linearGradient5756"\n       x2="19.031250"\n       x1="17.728125"\n       id="linearGradient31624"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="41.599998"\n       y1="39.991302"\n       xlink:href="#linearGradient4310"\n       x2="29.600000"\n       x1="29.600000"\n       id="linearGradient31686"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(15.625,0,0,31.25,-437.5,-1250)" />\n    <linearGradient\n       y2="46.774261"\n       y1="47.917328"\n       xlink:href="#linearGradient6506"\n       x2="21.593750"\n       x1="21.593750"\n       id="linearGradient31649"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.388435,0.000000,0.000000,0.618097,7.606900,5.026330)" />\n    <linearGradient\n       y2="44.593750"\n       y1="43.400002"\n       xlink:href="#linearGradient9163"\n       x2="18.390625"\n       x1="18.390625"\n       id="linearGradient31710"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="44.656250"\n       y1="43.337502"\n       xlink:href="#linearGradient5756"\n       x2="19.031250"\n       x1="17.728125"\n       id="linearGradient31570"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="41.599998"\n       y1="39.991302"\n       xlink:href="#linearGradient5742"\n       x2="29.600000"\n       x1="29.600000"\n       id="linearGradient31654"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.500000,0.000000,0.000000,1.000000,1.200000,-6.400000)" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient9199"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient9163">\n      <stop\n         style="stop-color:#000000;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop9165" />\n      <stop\n         style="stop-color:#8c8c8c;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop9167" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient9163"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient9197"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.710873"\n       y1="42.767944"\n       xlink:href="#linearGradient5756"\n       x2="23.440580"\n       x1="23.349695"\n       id="linearGradient9195"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient9193"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient6506">\n      <stop\n         style="stop-color:#ffffff;stop-opacity:0.0000000;"\n         offset="0.0000000"\n         id="stop6508" />\n      <stop\n         style="stop-color:#ffffff;stop-opacity:0.87450981;"\n         offset="1.0000000"\n         id="stop6510" />\n    </linearGradient>\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient7498"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient7464">\n      <stop\n         style="stop-color:#00039a;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop7466" />\n      <stop\n         style="stop-color:#afa5ff;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop7468" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient7464"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient7496"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient5756">\n      <stop\n         style="stop-color:#828282;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop5758" />\n      <stop\n         style="stop-color:#929292;stop-opacity:0.35294119;"\n         offset="1.0000000"\n         id="stop5760" />\n    </linearGradient>\n    <linearGradient\n       y2="43.892632"\n       y1="42.699776"\n       xlink:href="#linearGradient5756"\n       x2="23.662106"\n       x1="22.935030"\n       id="linearGradient9321"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       id="linearGradient5742">\n      <stop\n         style="stop-color:#adadad;stop-opacity:1.0000000;"\n         offset="0.0000000"\n         id="stop5744" />\n      <stop\n         style="stop-color:#f0f0f0;stop-opacity:1.0000000;"\n         offset="1.0000000"\n         id="stop5746" />\n    </linearGradient>\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient7492"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient9527"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.699776"\n       xlink:href="#linearGradient5756"\n       x2="23.662106"\n       x1="22.935030"\n       id="linearGradient9529"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient7464"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient9531"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient9533"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       y2="42.883698"\n       y1="44.066776"\n       xlink:href="#linearGradient6506"\n       x2="23.389874"\n       x1="23.402565"\n       id="linearGradient1336"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(24.16238,0.000000,0.000000,18.68556,-538.2464,-790.0391)" />\n    <linearGradient\n       y2="43.892632"\n       y1="42.754631"\n       xlink:href="#linearGradient9163"\n       x2="23.201290"\n       x1="23.213980"\n       id="linearGradient1339"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(30.28350,0.000000,0.000000,30.28350,-680.9062,-1286.161)" />\n    <linearGradient\n       y2="43.710873"\n       y1="42.767944"\n       xlink:href="#linearGradient5756"\n       x2="23.440580"\n       x1="23.349695"\n       id="linearGradient1342"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(33.82731,0.000000,0.000000,33.82731,-763.5122,-1439.594)" />\n    <linearGradient\n       y2="44.000000"\n       y1="42.429230"\n       xlink:href="#linearGradient5742"\n       x2="23.200001"\n       x1="23.193102"\n       id="linearGradient1345"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(31.25000,0.000000,0.000000,31.25000,-700.0000,-1325.000)" />\n  </defs>\n  <path\n     style="fill:url(#linearGradient31686);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path31614"\n     d="M 0,0 50,0 50,50 0,50 0,0 Z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient31624);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path31616"\n     d="m 4.98047,4.4921875 0,41.0156245 40.039062,0 0,-41.0156245 -40.039062,0 z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient31704);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path31618"\n     d="m 6.933595,6.4453125 0,37.1093745 36.132812,0 0,-37.1093745 -36.132812,0 z" />\n  <path\n     style="overflow:visible;fill:url(#linearGradient31681);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"\n     id="path31620"\n     d="M 15.349844,7.66 C 7.198625,7.6864688 8.1425938,6.0403125 8.1425938,18.525 c 0,6.1005 3.3735622,11.468625 7.2072502,11.468594 l 19.345875,0 c 3.833812,0 6.827937,-5.159906 6.827937,-11.468594 0,-12.5878125 0.807188,-10.9699687 -6.827937,-10.865 l -19.345875,0 z" />\n</svg>\n'}
sizeHint()[source]

Return the base size of the widget according to shape.

state
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

property stateColors

Color list property getter.

toggleSelected()[source]

Toggle isSelected property.

toggleState()[source]

Toggle state property.

class siriushla.widgets.QLed.ShapeMap[source]

Bases: object

Shape enum mapping class.

Circle = 1
Rectangle = 5
Round = 2
Square = 3
Triangle = 4

siriushla.widgets.QSpinBoxPlus module

Module to define QSpinBoxPlus and QDoubleSpinBoxPlus.

siriushla.widgets.QSpinBoxPlus.QDoubleSpinBoxPlus

alias of MySpinBoxPlus

siriushla.widgets.QSpinBoxPlus.QSpinBoxPlus

alias of MySpinBoxPlus

siriushla.widgets.bar_graph module

This module defines a widget that represent a PV as bar graph.

class siriushla.widgets.bar_graph.BarGraphModel(waveform=[], width=1, brush='b', scale=1)[source]

Bases: object

Model for BarGraphWidget.

connected()[source]

Return always connected.

property size

Return size of PV array.

property waveform

Return the value read from PV.

class siriushla.widgets.bar_graph.BarGraphWidget(**kwargs)[source]

Bases: BaseBarGraphWidget

Widget to show a waveform as graph of bars.

Functions:

set_waveform - plot a waveform (array) as a bar graph; Also see BaseBarGraphWidget.

set_waveform(waveform)[source]

Set waveform.

class siriushla.widgets.bar_graph.BaseBarGraphWidget(parent=None, background='default', plotItem=None, **kargs)[source]

Bases: PlotWidget

Widget that represents a waveform as a bar graph.

Uses pyqtgraph (PlotWidget and BarGraphItem) to represent a wave, usually an array, as a bar graph.

Functions:

set_scale - sets a scale factor for viewing the graph; set_width - set the widtg of the bars; set_brush - set brush color.

set_brush(color)[source]

Set brush color.

set_scale(scale)[source]

Set scale.

set_width(width)[source]

Set bar width.

sizeHint()[source]

Preferred size.

class siriushla.widgets.bar_graph.EpicsBarGraphModel(width=1, brush=None, scale=1, update_interval=1000)[source]

Bases: object

Handle the model data to be represented as a bar graph.

TIMEOUT = 0.2
property connected

Return connection status.

property pvname

Name of the PV to retrieve value.

property size

Return size of PV array.

property waveform

Retrun the value read from PV.

class siriushla.widgets.bar_graph.PyDMBarGraph(channel=None, **kwargs)[source]

Bases: BaseBarGraphWidget

Widget that represents a PV as a bar graph.

The widget reads a PV value and updates it synchronously.

Functions:
set_update_interval - set the update interval at which the PV value is

is queried and the view is updated;

Also see BaseBarGraphWidget.

channels()[source]

Used by PyDmApplication to set the model channel.

set_update_interval(interval)[source]

Set timer update interval.

start()[source]

Start running timer.

stop()[source]

Stop.

class siriushla.widgets.bar_graph.PyDMBarGraphModel(init_channel=None, width=1, brush=None, scale=1, update_interval=1000)[source]

Bases: object

Data model for the bar graph widget based on PyDMChannel.

channels()[source]

Define slots and signals mappings for the epics channel.

property connected

Return connection status.

connectionChanged(conn)[source]

Slot called when connection state changes.

property size

Return size of PV array.

valueChanged(value)[source]

Slot called when value changes.

property waveform

Return waveform array.

siriushla.widgets.detachable_tabwidget module

.

class siriushla.widgets.detachable_tabwidget.DetachableTabWidget(parent=None)[source]

Bases: QTabWidget

The DetachableTabWidget adds additional functionality to Qt’s QTabWidget that allows it to detach and re-attach tabs.

Detach tabs by double clicking the tab

Adapted from https://stackoverflow.com/questions/47267195/in-pyqt-is-it-possible-to-detach-tabs-from-a-qtabwidget

Original by Stack Overflow user: Blackwood, 13/11/2017

attachTab(contentWidget, name, icon, index)[source]

Attach tab to QTabWidget.

attachTabSlot(name)[source]

Slot responsible for attaching tab to QTabWidget.

closeDetachedTabs()[source]

Slot responsible for clsing detached tabs.

detachTab(index, point)[source]

Detach tab from TabWidget.

class siriushla.widgets.detachable_tabwidget.DetachedTab(name, text, contentWidget, parent=None)[source]

Bases: _SiriusWindow

Reimplement SiriusMainWindow to accomodated detached tabs.

closeEvent(event)[source]

.

do_close()[source]

.

onAttachSignal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

class siriushla.widgets.detachable_tabwidget.TabBar(parent=None)[source]

Bases: QTabBar

Reimplement QTabBar to add DoubleClickEvent handling.

mouseDoubleClickEvent(event)[source]

.

onDetachTabSignal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

siriushla.widgets.enum_combo_box module

Sirius Enum ComboBox.

class siriushla.widgets.enum_combo_box.SiriusEnumComboBox(parent, init_channel=None)[source]

Bases: PyDMEnumComboBox

Subclass PyDMEnumComboBox to reimplement whellEvent.

wheelEvent(event)[source]

Reimplement wheel event to ignore event when out of focus.

siriushla.widgets.frame module

Sirius Frame.

class siriushla.widgets.frame.SiriusAlarmFrame(parent=None, init_channel=None, orientation='H')[source]

Bases: _BaseFrame

Sirius Alarm Frame.

alarm_severity_changed(new_value)[source]

Callback invoked when the Channel alarm severity is changed. This callback is not processed if the widget has no channel associated with it. This callback handles the composition of the stylesheet to be applied and the call to update to redraw the widget with the needed changes for the new state.

Parameters:

new_alarm_severity (int) – The new severity where 0 = NO_ALARM, 1 = MINOR, 2 = MAJOR and 3 = INVALID

default_colorlist = [<PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>]
class siriushla.widgets.frame.SiriusFrame(parent=None, init_channel=None, color_list=None, is_float=True, orientation='H')[source]

Bases: _BaseFrame

Sirius Frame.

default_colorlist = [<PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>]
value_changed(new_value)[source]

Callback invoked when the Channel value is changed.

Parameters:

new_val (str, int, float, bool or np.ndarray) – The new value from the channel. The type depends on the channel.

siriushla.widgets.horizontal_ruler module

Horizontal Ruler Widget.

class siriushla.widgets.horizontal_ruler.HorizontalRuler(parent=None)[source]

Bases: QFrame

setHeight(height)[source]

siriushla.widgets.label module

Sirius Label.

class siriushla.widgets.label.CALabel[source]

Bases: QLabel, PyDMPrimitiveWidget

QLabel with rules.

class siriushla.widgets.label.SiriusLabel(parent=None, init_channel=None, keep_unit=False, **kws)[source]

Bases: QLabel, TextFormatter, PyDMWidget, DisplayFormat

A QLabel with support for Channels and more from PyDM

Parameters:
  • parent (QWidget) – The parent widget for the Label

  • init_channel (str, optional) – The channel to be used by the widget.

  • keep_unit (bool, optional) – If True, label do not use unit convertion feature. Default to False.

class DisplayFormat

Bases: object

Display format for showing data in a PyDM widget.

BSMPUDCVersion = 7
Binary = 5

Show numerical values in base 2 (binary) notation.

Decimal = 2

Show numerical values as floating point (base 10, decimal) values.

Default = 0

The default display format.

Exponential = 3

Show numerical values in scientific / exponential notation.

Hex = 4

Show numerical values in base 16 (hexadecimal) notation.

String = 1

Show the data as a string.

Time = 6
displayFormat
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

update_format_string()[source]

Reconstruct the format string to be used when representing the output value.

Returns:

format_string – The format string to be used including or not the precision and unit

Return type:

str

value_changed(new_value)[source]

Callback invoked when the Channel value is changed. Sets the value of new_value accordingly at the Label.

Parameters:

new_value (str, int, float, bool or np.ndarray) – The new value from the channel. The type depends on the channel.

siriushla.widgets.led module

Led widgets.

class siriushla.widgets.led.MultiChannelStatusDialog(parent=None, text='', pvs={}, fun_show_diff=None)[source]

Bases: _SiriusWindow

class siriushla.widgets.led.PyDMLed(parent=None, init_channel=None, bit=-1, color_list=None)[source]

Bases: QLed, PyDMWidget

A QLed with support for Channels and more from PyDM.

Parameters:
  • parent (QWidget) – The parent widget for the led.

  • init_channel (str, optional) – The channel to be used by the widget.

  • bit (int) – Bit of the PV value to be handled.

  • color_list (int) – List of QColor objects for each state the channel can assume.

default_colorlist = [<PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>]
pvbit
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

value_changed(new_val)[source]

Receive new value and set led color accordingly.

For int or float data type the standard led behaviour is to be red when the value is 0, and green otherwise.

If a bit is set the value received will be treated as an int and the bit value is extracted using a mask. The led represents the value of the chosen bit.

class siriushla.widgets.led.PyDMLedMultiChannel(parent=None, channels2values={}, color_list=None)[source]

Bases: QLed, PyDMWidget

A QLed with support for checking values of several Channels.

The led state notify if a set of PVs is in a desired state or not.

Parameters:
  • parent (QWidget) – The parent widget for the led.

  • channels2values (dict) –

    A dict with channels as keys and desired PVs values as values. Values can be either a scalar, to simple comparision, or a dict. This dict can have as keys:

    • ’value’ (the value to use in comparision);

    • ’comp’ (a string that select the type of comparision, can be

      ’eq’, ‘ne’, ‘gt’, ‘lt’, ‘ge’, ‘le’);

    • and ‘bit’ (select a bit of the pv to compare to ‘value’).

property channels2status

Return channels2status dict.

property channels2values

Return channels2values dict.

connection_changed(conn)[source]

Reimplement connection_changed to handle all channels.

default_colorlist = [<PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>]
mouseDoubleClickEvent(self, a0: QMouseEvent | None)[source]
normal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

set_channels2values(new_channels2values)[source]

Set channels2values.

value_changed(new_val)[source]

Receive new value and set led color accordingly.

warning

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

class siriushla.widgets.led.PyDMLedMultiConnection(parent=None, channels=[], color_list=None)[source]

Bases: QLed, PyDMWidget

A QLed with support for checking connection of several Channels.

The led state notify if a set of PVs is connected.

Parameters:
  • parent (QWidget) – The parent widget for the led.

  • channels (list) – A list of channels.

property channels2conn

Return dict with connection state of each channel.

connection_changed(conn)[source]

Reimplement connection_changed to handle all channels.

default_colorlist = [<PyQt5.QtGui.QColor object>, <PyQt5.QtGui.QColor object>]
mouseDoubleClickEvent(self, a0: QMouseEvent | None)[source]
normal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

set_channels(new_channels)[source]
warning

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

class siriushla.widgets.led.SiriusLedAlert(parent=None, init_channel=None, bit=-1)[source]

Bases: PyDMLed

PyDMLed specialization to represent 2 states in red/light green.

value_changed(new_val)[source]

If no bit is set, treat new_val as 2 states, zero and non-zero.

class siriushla.widgets.led.SiriusLedState(parent=None, init_channel=None, bit=-1)[source]

Bases: PyDMLed

PyDMLed specialization to represent 2 states in dark/light green.

value_changed(new_val)[source]

Reimplement value_changed to filter bug.

siriushla.widgets.ledit_scrollbar module

Defines PyDM widget with a line edit and a double scrollbar.

class siriushla.widgets.ledit_scrollbar.PyDMLinEditScrollbar(parent=None, init_channel=None)[source]

Bases: QWidget

Composition of a LineEdit and a Scrollbar to set a float PV.

paintEvent(event)[source]

Need to override paintEvent in order to apply CSS.

siriushla.widgets.line_edit module

PyDMLine edit with validator.

class siriushla.widgets.line_edit.SiriusLineEdit(parent=None, init_channel=None)[source]

Bases: PyDMLineEdit

LineEdit with validator.

update_format_string()[source]

Accept a unit to display with a channel’s value

The unit may or may not be displayed based on the showUnits attribute. Receiving a new value for the unit causes the display to reset.

class siriushla.widgets.line_edit.SiriusWaveformLineEdit(parent=None, init_channel=None)[source]

Bases: SiriusLineEdit

Line Edit with bugfix for waveform setpoints.

value_changed(value)[source]

Force value to be a numpy array.

siriushla.widgets.loading_dialog module

class siriushla.widgets.loading_dialog.LoadingDialog(title, maximum, parent=None)[source]

Bases: QDialog

closeEvent(self, a0: QCloseEvent | None)[source]
done(self, a0: int)[source]
update(self)[source]
update(self, a0: QRect) None
update(self, a0: QRegion) None
update(self, ax: int, ay: int, aw: int, ah: int) None

siriushla.widgets.log_display module

SiriusLogDisplay.

class siriushla.widgets.log_display.SiriusGuiHandler(level=0, parent=None)[source]

Bases: GuiHandler

emit(record)[source]

Emit formatted log messages when received but only if level is set.

message

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

class siriushla.widgets.log_display.SiriusLogDisplay(parent=None, logname=None, level=0)[source]

Bases: PyDMLogDisplay

Standard display for Log Output

This widget handles instantating a GuiHandler and displaying log messages to a QPlainTextEdit. The level of the log can be changed from inside the widget itself, allowing users to select from any of the .levels specified by the widget.

Parameters:
  • parent (QObject, optional) –

  • logname (str) – Name of log to display in widget

  • level (logging.Level) – Initial level of log display

Colors = {10: 'black', 20: 'black', 30: 'yellow', 40: 'red', 50: 'red'}
writehtml(message, levelno)[source]

Write a message to the log display.

siriushla.widgets.log_label module

Log label.

class siriushla.widgets.log_label.PyDMLogLabel(parent=None, init_channel=None, replace=None)[source]

Bases: QListWidget, TextFormatter, PyDMWidget, DisplayFormat

A QListWidget with support for Channels and more from PyDM.

Parameters:
  • parent (QWidget) – The parent widget for the Label

  • init_channel (str, optional) – The channel to be used by the widget.

class DisplayFormat

Bases: object

Display format for showing data in a PyDM widget.

BSMPUDCVersion = 7
Binary = 5

Show numerical values in base 2 (binary) notation.

Decimal = 2

Show numerical values as floating point (base 10, decimal) values.

Default = 0

The default display format.

Exponential = 3

Show numerical values in scientific / exponential notation.

Hex = 4

Show numerical values in base 16 (hexadecimal) notation.

String = 1

Show the data as a string.

Time = 6
bufferSize
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

dateTimeFmt
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

displayFormat
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

errorcolor = <PyQt5.QtGui.QColor object>
prependDateTime
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

value_changed(new_value)[source]

Callback invoked when the Channel value is changed.

Sets the value of new_value accordingly at the Label.

Parameters:

new_value (str, int, float, bool or np.ndarray) – The new value from the channel. The type depends on the channel.

warncolor = <PyQt5.QtGui.QColor object>

siriushla.widgets.matplotlib module

Derive matplotlib FigureCanvas to resize labels in ZoomIn/ZoomOut.

class siriushla.widgets.matplotlib.MatplotlibCanvas(figure=None, parent=None)[source]

Bases: FigureCanvasQTAgg

MatplotlibCanvas class.

changeEvent(event)[source]

Reimplement changeEvent to handle labels resizing.

class siriushla.widgets.matplotlib.MatplotlibWidget(parent=None, figure=None, toolbar_position='bottom')[source]

Bases: QWidget

MatplotlibWidget class.

siriushla.widgets.process_image module

Process Image Widget.

class siriushla.widgets.process_image.SiriusProcessImage(parent=None, device='', convertion_set=True, orientation='V')[source]

Bases: QWidget

siriushla.widgets.pushbutton module

Sirius pushbutton.

class siriushla.widgets.pushbutton.CAPushButton[source]

Bases: QPushButton, PyDMPrimitiveWidget

QPushButton with rules.

class siriushla.widgets.pushbutton.SiriusPushButton(parent=None, init_channel=None, label='', icon=None, pressValue=1, releaseValue=None, relative=False)[source]

Bases: PyDMPushButton

Basic PushButton to send a fixed value.

The PyDMPushButton is meant to hold a specific value, and send that value to a channel when it is clicked, much like the MessageButton does in EDM. The PyDMPushButton works in two different modes of operation, first, a fixed value can be given to the pressValue attribute, whenever the button is clicked a signal containing this value will be sent to the connected channel. This is the default behavior of the button. However, if the relativeChange is set to True, the fixed value will be added to the current value of the channel. This means that the button will increment a channel by a fixed amount with every click, a consistent relative move

Parameters:
  • parent (QObject, optional) – Parent of PyDMPushButton

  • init_channel (str, optional) – ID of channel to manipulate

  • label (str, optional) – String to place on button

  • icon (QIcon, optional) – An Icon to display on the PyDMPushButton

  • pressValue (int, float, str) – Value to be sent when the button is pressed

  • releaseValue (int, float, str) – Value to be sent when the button is released

  • relative (bool, optional) – Choice to have the button perform a relative put, instead of always setting to an absolute value

releaseValue
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

sendReleaseValue()[source]

Send a new value to the channel.

This function interprets the settings of the PyDMPushButton and sends the appropriate value out through the send_value_signal.

Returns:

  • None if any of the following condition is False

    1. There’s no new value (pressValue) for the widget

    2. There’s no initial or current value for the widget

    3. The relative flag is True

  • Otherwise, return the value sent to the channel

    1. The value sent to the channel is the same as the releaseValue

siriushla.widgets.pvnames_tree module

PVName selection tree view.

class siriushla.widgets.pvnames_tree.BuildTree(obj)[source]

Bases: QThread

QThread to build tree.

completed

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

currentItem

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

exit_task()[source]

Set flag to quit thread.

itemDone

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

run()[source]

Build tree.

size()[source]

Return task size.

class siriushla.widgets.pvnames_tree.PVNameTree(items=(), tree_levels=(), checked_levels=(), parent=None)[source]

Bases: QWidget

Build a tree with SiriusPVNames.

check_all()[source]

Check all items.

check_requested_levels(levels)[source]

Set requested levels checked.

checked_items()[source]

Return checked items.

clear()[source]

Clear tree.

collapse_all()[source]
contextMenuEvent(event)[source]

Show context menu.

expand_all()[source]

Expand all items.

itemChecked

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

property items

Items.

static mag_group(name)[source]

Return magnet group.

property message
sizeHint()[source]

Override sizehint.

uncheck_all()[source]

Uncheck all items.

updateItemCheckedCount

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

class siriushla.widgets.pvnames_tree.QTreeItem(string_list, parent=None)[source]

Bases: QTreeWidgetItem

Tree Item.

childChecked(child, column, status)[source]

Child was checked.

childHidden(child, status)[source]

Set child hidden.

isLeaf()[source]

Return if is Leaf.

property myhash
setData(column, role, value)[source]

Set data.

setHidden(status)[source]

Overhide setHidden method.

class siriushla.widgets.pvnames_tree.Tree(parent=None)[source]

Bases: QTreeWidget

resizeEvent(self, e: QResizeEvent | None)[source]

siriushla.widgets.qtplugins module

siriushla.widgets.relative_widget module

class siriushla.widgets.relative_widget.RelativeWidget(parent=None, widget=None, relative_pos=None)[source]

Bases: QWidget

Widget that stays in a relative position in the window

relativeResize()[source]

Resize and position in according to the relative position

siriushla.widgets.scrollbar module

PyDMScrollBar module.

class siriushla.widgets.scrollbar.PyDMScrollBar(parent=None, orientation=1, init_channel=None)[source]

Bases: QDoubleScrollBar, TextFormatter, PyDMWritableWidget

A QDoubleScrollBar with support for Channels and more from PyDM.

Parameters:
  • parent (QWidget) – The parent widget for the scroll bar

  • init_channel (str, optional) – The channel to be used by the widget.

  • orientation (Qt.Horizontal, Qt.Vertical) – Orientation of the scroll bar

  • precision (int) – Precision to be use. Used to calculate size of the scroll bar step

connected_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

ctrl_limit_changed(which, new_limit)[source]

Set new upper/lower limits as maximum/minimum values.

disconnected_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

precision_changed(new_precision)[source]

Set the step size based on the new precision value received.

send_value()[source]

Emit a send_value_signal to update channel value.

value_changed_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

widget_ctx_menu()[source]

Return context menu.

siriushla.widgets.selection_matrix module

Selection Widget.

class siriushla.widgets.selection_matrix.SelectionMatrixWidget(parent=None, title='', has_bothplanes=False, toggle_all_false_text='Disable All', show_toggle_all_false=True, toggle_all_true_text='Enable All', show_toggle_all_true=True, use_scroll=True, rules=None)[source]

Bases: QWidget

Widget to perform component selection.

Parameters:
  • parent (QWidget, optional) – The parent widget for the SelectionMatrixWidget.

  • title (str, optional) – Widget title.

  • has_bothplanes (bool, optional) – Whether to show button to send applyBothPlanesClicked signal. Default: False.

  • toggle_all_false_text (string, optional) – Text to be displayed in toggleAllItems to False button. Default: ‘Disable All’.

  • show_toggle_all_false (bool, optional) – Whether to show button to send toggleAllItems to False. Default: True.

  • toggle_all_true_text (string, optional) – Text to be displayed in toggleAllItems to True button. Default: ‘Enable All’.

  • show_toggle_all_true (bool, optional) – Whether to show button to send toggleAllItems to True. Default: True.

  • use_scroll (bool, optional) – Whether to use or not QScrollArea. Default: True.

  • rules – PyDM rules to be applied in write buttons. Default: None.

  • Signals

  • -------

  • applyChangesClicked – emitted when “Apply Changes” button is clicked

  • applyBothPlanesClicked – emitted when “Apply Both Planes” button is clicked

applyBothPlanesClicked

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

applyChangesClicked

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

get_headers()[source]

Should be implemented in class derivation.

Returns:

  • top_headers (tuple or list) – A list of strings for top headers of the selection matrix widget.

  • side_headers (tuple or list) – A list of strings for side headers of the selection matrix widget.

get_positions()[source]

Should be implemented in class derivation.

Returns:

positions – A tuple or list of layout positions for each widget returned by get_widgets.

Return type:

tuple or list

get_widgets()[source]

Should be implemented in class derivation.

Returns:

widgets – A tuple or list of widgets to be put in matrix.

Return type:

tuple or list

property header_widgets

Return top and side header widget lists, respectively.

property headers

Return top and side header text lists, respectively.

mouseMoveEvent(event)[source]

Mouse move event.

mousePressEvent(event)[source]

Mouse press event.

mouseReleaseEvent(event)[source]

Mouse release event.

paintEvent(_)[source]

Paint event to draw selection rectangle.

property positions

Return widget position list.

selectItems()[source]

Select items.

selectWidgetsAt(idx, isrow=False)[source]

Select widgets at idx (row or column).

toggleAllItems(value)[source]

Toggle all items.

undoItemsSelection()[source]

Undo items selection.

property widgets

Return widget list.

siriushla.widgets.signal_channel module

class siriushla.widgets.signal_channel.SiriusConnectionSignal(address, **kws)[source]

Bases: QObject, PyDMChannel

connection_state_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

enum_strings_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

getvalue()[source]
lower_ctrl_limit_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

new_severity_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

new_value_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

prec_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

send_value_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

unit_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

upper_ctrl_limit_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

property value
write_access_signal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

siriushla.widgets.spectrogram_view module

SiriusSpectrogramView widget.

Based on ImageView from pydm and GradientLegend from pyqtgraph.

class siriushla.widgets.spectrogram_view.SiriusSpectrogramView(parent=None, image_channel=None, xaxis_channel=None, yaxis_channel=None, roioffsetx_channel=None, roioffsety_channel=None, roiwidth_channel=None, roiheight_channel=None, title='', background='w', image_width=0, image_height=0)[source]

Bases: GraphicsLayoutWidget, PyDMWidget, PyDMColorMap, ReadingOrder

A SpectrogramView with support for Channels and more from PyDM.

If there is no channelWidth it is possible to define the width of the image with the width property.

The normalizeData property defines if the colors of the images are relative to the colorMapMin and colorMapMax property or to the minimum and maximum values of the image.

Use the newImageSignal to hook up to a signal that is emitted when a new image is rendered in the widget.

Parameters:
  • parent (QWidget) – The parent widget for the Label

  • image_channel (str, optional) – The channel to be used by the widget for the image data.

  • xaxis_channel (str, optional) – The channel to be used by the widget to receive the image width (if ReadingOrder == Clike), and to set the xaxis values

  • yaxis_channel (str, optional) – The channel to be used by the widget to receive the image width (if ReadingOrder == Fortranlike), and to set the yaxis values

  • background (QColor, optional) – QColor to set the background color of the GraphicsView

ROIHeight
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

ROIHeightChannel
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

ROIOffsetX
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

ROIOffsetXChannel
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

ROIOffsetY
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

ROIOffsetYChannel
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

ROIWidth
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

ROIWidthChannel
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

autoDownsample
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

autoSetColorbarLims
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

channels()[source]

Return the channels being used for this Widget.

Returns:

channels – List of PyDMChannel objects

Return type:

list

channels_for_tools()[source]

Return channels for tools.

colorMap
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

colorMapMax
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

colorMapMin
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

color_maps = {0: array([[3.72810000e-01, 1.18830000e-01, 3.53583000e+00],        [5.75790000e-01, 3.30225000e-01, 4.67440500e+00],        [8.36145000e-01, 5.87775000e-01, 6.04554000e+00],        [1.15056000e+00, 8.89950000e-01, 7.64107500e+00],        [1.51725000e+00, 1.23496500e+00, 9.46815000e+00],        [1.93494000e+00, 1.62078000e+00, 1.14681150e+01],        [2.40363000e+00, 2.04561000e+00, 1.34752200e+01],        [2.92357500e+00, 2.50614000e+00, 1.54912500e+01],        [3.49554000e+00, 3.00160500e+00, 1.75100850e+01],        [4.11978000e+00, 3.52920000e+00, 1.95337650e+01],        [4.79782500e+00, 4.08663000e+00, 2.15689200e+01],        [5.53146000e+00, 4.67160000e+00, 2.36155500e+01],        [6.32196000e+00, 5.28232500e+00, 2.56723800e+01],        [7.17136500e+00, 5.91625500e+00, 2.77406850e+01],        [8.08248000e+00, 6.57007500e+00, 2.98260750e+01],        [9.05760000e+00, 7.24123500e+00, 3.19282950e+01],        [1.01000400e+01, 7.92795000e+00, 3.40463250e+01],        [1.11766500e+01, 8.62665000e+00, 3.61809300e+01],        [1.22558100e+01, 9.33478500e+00, 3.83333850e+01],        [1.33416000e+01, 1.00487850e+01, 4.05044550e+01],        [1.44368250e+01, 1.07508000e+01, 4.26987300e+01],        [1.55419950e+01, 1.14224700e+01, 4.49128950e+01],        [1.66591500e+01, 1.20660900e+01, 4.71474600e+01],        [1.77898200e+01, 1.26801300e+01, 4.94024250e+01],        [1.89355350e+01, 1.32643350e+01, 5.16783000e+01],        [2.00978250e+01, 1.38169200e+01, 5.39750850e+01],        [2.12787300e+01, 1.43373750e+01, 5.62925250e+01],        [2.24795250e+01, 1.48239150e+01, 5.86301100e+01],        [2.37019950e+01, 1.52755200e+01, 6.09868200e+01],        [2.49474150e+01, 1.56904050e+01, 6.33616350e+01],        [2.62178250e+01, 1.60675500e+01, 6.57527700e+01],        [2.75142450e+01, 1.64054250e+01, 6.81586950e+01],        [2.88389700e+01, 1.67004600e+01, 7.05799200e+01],        [3.01932750e+01, 1.69521450e+01, 7.30118550e+01],        [3.15774150e+01, 1.71602250e+01, 7.54491450e+01],        [3.29919000e+01, 1.73234250e+01, 7.78879650e+01],        [3.44385150e+01, 1.74397050e+01, 8.03250000e+01],        [3.59187900e+01, 1.75067700e+01, 8.27571900e+01],        [3.74301750e+01, 1.75281900e+01, 8.51728050e+01],        [3.89739450e+01, 1.75024350e+01, 8.75680200e+01],        [4.05495900e+01, 1.74302700e+01, 8.99354400e+01],        [4.21535400e+01, 1.73173050e+01, 9.22630800e+01],        [4.37868150e+01, 1.71627750e+01, 9.45466050e+01],        [4.54440600e+01, 1.69768800e+01, 9.67717350e+01],        [4.71242550e+01, 1.67616600e+01, 9.89331150e+01],        [4.88223000e+01, 1.65285900e+01, 1.01018760e+02],        [5.05351350e+01, 1.62848100e+01, 1.03022295e+02],        [5.22584250e+01, 1.60412850e+01, 1.04936070e+02],        [5.39880900e+01, 1.58079600e+01, 1.06754985e+02],        [5.57205600e+01, 1.55952900e+01, 1.08474960e+02],        [5.74520100e+01, 1.54134750e+01, 1.10094210e+02],        [5.91796350e+01, 1.52716950e+01, 1.11612225e+02],        [6.09006300e+01, 1.51768350e+01, 1.13030280e+02],        [6.26134650e+01, 1.51347600e+01, 1.14351180e+02],        [6.43161000e+01, 1.51508250e+01, 1.15578240e+02],        [6.60085350e+01, 1.52250300e+01, 1.16716050e+02],        [6.76889850e+01, 1.53604350e+01, 1.17769200e+02],        [6.93584700e+01, 1.55534700e+01, 1.18743300e+02],        [7.10157150e+01, 1.58043900e+01, 1.19643450e+02],        [7.26625050e+01, 1.61078400e+01, 1.20475005e+02],        [7.42983300e+01, 1.64610150e+01, 1.21242810e+02],        [7.59237000e+01, 1.68598350e+01, 1.21951965e+02],        [7.75406550e+01, 1.72979250e+01, 1.22607060e+02],        [7.91474100e+01, 1.77740100e+01, 1.23212430e+02],        [8.07467700e+01, 1.82809500e+01, 1.23771900e+02],        [8.23392450e+01, 1.88144100e+01, 1.24289040e+02],        [8.39240700e+01, 1.93728600e+01, 1.24768185e+02],        [8.55035400e+01, 1.99501800e+01, 1.25211120e+02],        [8.70779100e+01, 2.05438200e+01, 1.25620905e+02],        [8.86471800e+01, 2.11512300e+01, 1.26000855e+02],        [9.02121150e+01, 2.17701150e+01, 1.26352755e+02],        [9.17739900e+01, 2.23969050e+01, 1.26678390e+02],        [9.33330600e+01, 2.30300700e+01, 1.26979800e+02],        [9.48895800e+01, 2.36680800e+01, 1.27258515e+02],        [9.64438050e+01, 2.43096600e+01, 1.27517085e+02],        [9.79962450e+01, 2.49530250e+01, 1.27755510e+02],        [9.95479200e+01, 2.55966450e+01, 1.27975320e+02],        [1.01099085e+02, 2.62400100e+01, 1.28177790e+02],        [1.02649740e+02, 2.68821000e+01, 1.28363430e+02],        [1.04200395e+02, 2.75221500e+01, 1.28533260e+02],        [1.05750795e+02, 2.81599050e+01, 1.28688810e+02],        [1.07301705e+02, 2.87946000e+01, 1.28829825e+02],        [1.08853635e+02, 2.94257250e+01, 1.28957070e+02],        [1.10406585e+02, 3.00530250e+01, 1.29070800e+02],        [1.11960810e+02, 3.06759900e+01, 1.29171525e+02],        [1.13516565e+02, 3.12946200e+01, 1.29259755e+02],        [1.15074105e+02, 3.19086600e+01, 1.29335490e+02],        [1.16633430e+02, 3.25181100e+01, 1.29399240e+02],        [1.18194540e+02, 3.31227150e+01, 1.29451260e+02],        [1.19758200e+02, 3.37224750e+01, 1.29491295e+02],        [1.21323900e+02, 3.43171350e+01, 1.29519855e+02],        [1.22891895e+02, 3.49072050e+01, 1.29537195e+02],        [1.24462440e+02, 3.54924300e+01, 1.29542805e+02],        [1.26035790e+02, 3.60728100e+01, 1.29536940e+02],        [1.27611690e+02, 3.66483450e+01, 1.29519600e+02],        [1.29190395e+02, 3.72192900e+01, 1.29490530e+02],        [1.30771905e+02, 3.77856450e+01, 1.29450240e+02],        [1.32356475e+02, 3.83476650e+01, 1.29397965e+02],        [1.33943850e+02, 3.89050950e+01, 1.29333960e+02],        [1.35534285e+02, 3.94584450e+01, 1.29258225e+02],        [1.37127525e+02, 4.00079700e+01, 1.29170505e+02],        [1.38723825e+02, 4.05534150e+01, 1.29070545e+02],        [1.40323185e+02, 4.10952900e+01, 1.28958345e+02],        [1.41925605e+02, 4.16335950e+01, 1.28833650e+02],        [1.43530830e+02, 4.21688400e+01, 1.28696460e+02],        [1.45138860e+02, 4.27007700e+01, 1.28546775e+02],        [1.46749950e+02, 4.32301500e+01, 1.28383830e+02],        [1.48363845e+02, 4.37569800e+01, 1.28208135e+02],        [1.49980290e+02, 4.42812600e+01, 1.28018925e+02],        [1.51599540e+02, 4.48037550e+01, 1.27816455e+02],        [1.53221340e+02, 4.53244650e+01, 1.27600470e+02],        [1.54845690e+02, 4.58436450e+01, 1.27370460e+02],        [1.56472335e+02, 4.63618050e+01, 1.27126680e+02],        [1.58101275e+02, 4.68792000e+01, 1.26868620e+02],        [1.59732255e+02, 4.73960850e+01, 1.26596280e+02],        [1.61365275e+02, 4.79127150e+01, 1.26309660e+02],        [1.63000080e+02, 4.84298550e+01, 1.26008250e+02],        [1.64636415e+02, 4.89477600e+01, 1.25692050e+02],        [1.66274280e+02, 4.94664300e+01, 1.25360805e+02],        [1.67913165e+02, 4.99868850e+01, 1.25014515e+02],        [1.69553325e+02, 5.05091250e+01, 1.24653180e+02],        [1.71193995e+02, 5.10339150e+01, 1.24276290e+02],        [1.72835430e+02, 5.15617650e+01, 1.23883845e+02],        [1.74477120e+02, 5.20929300e+01, 1.23475845e+02],        [1.76118555e+02, 5.26279200e+01, 1.23052290e+02],        [1.77759990e+02, 5.31677550e+01, 1.22612925e+02],        [1.79400660e+02, 5.37126900e+01, 1.22157495e+02],        [1.81040310e+02, 5.42632350e+01, 1.21686255e+02],        [1.82678685e+02, 5.48204100e+01, 1.21198950e+02],        [1.84315275e+02, 5.53844700e+01, 1.20695580e+02],        [1.85950080e+02, 5.59564350e+01, 1.20176145e+02],        [1.87582080e+02, 5.65368150e+01, 1.19640900e+02],        [1.89211020e+02, 5.71263750e+01, 1.19089590e+02],        [1.90836390e+02, 5.77261350e+01, 1.18522470e+02],        [1.92457935e+02, 5.83368600e+01, 1.17939795e+02],        [1.94074635e+02, 5.89595700e+01, 1.17341310e+02],        [1.95686490e+02, 5.95947750e+01, 1.16727525e+02],        [1.97292225e+02, 6.02434950e+01, 1.16098695e+02],        [1.98891840e+02, 6.09070050e+01, 1.15455075e+02],        [2.00484060e+02, 6.15860700e+01, 1.14796920e+02],        [2.02068885e+02, 6.22817100e+01, 1.14123465e+02],        [2.03645040e+02, 6.29952000e+01, 1.13436240e+02],        [2.05211760e+02, 6.37273050e+01, 1.12736010e+02],        [2.06768025e+02, 6.44795550e+01, 1.12022775e+02],        [2.08313070e+02, 6.52532250e+01, 1.11297555e+02],        [2.09846130e+02, 6.60490800e+01, 1.10561115e+02],        [2.11365930e+02, 6.68683950e+01, 1.09814220e+02],        [2.12871705e+02, 6.77127000e+01, 1.09056105e+02],        [2.14362180e+02, 6.85830150e+01, 1.08289830e+02],        [2.15836080e+02, 6.94806150e+01, 1.07515905e+02],        [2.17292130e+02, 7.04070300e+01, 1.06736115e+02],        [2.18729565e+02, 7.13635350e+01, 1.05951480e+02],        [2.20146600e+02, 7.23508950e+01, 1.05162765e+02],        [2.21542215e+02, 7.33706400e+01, 1.04372265e+02],        [2.22914880e+02, 7.44240450e+01, 1.03582275e+02],        [2.24263320e+02, 7.55118750e+01, 1.02795090e+02],        [2.25586005e+02, 7.66351500e+01, 1.02011985e+02],        [2.26881405e+02, 7.77951450e+01, 1.01235510e+02],        [2.28148500e+02, 7.89921150e+01, 1.00468725e+02],        [2.29385760e+02, 8.02270800e+01, 9.97144350e+01],        [2.30591655e+02, 8.15005500e+01, 9.89749350e+01],        [2.31765420e+02, 8.28125250e+01, 9.82535400e+01],        [2.32905270e+02, 8.41632600e+01, 9.75535650e+01],        [2.34010695e+02, 8.55525000e+01, 9.68783250e+01],        [2.35080420e+02, 8.69799900e+01, 9.62308800e+01],        [2.36113935e+02, 8.84452200e+01, 9.56145450e+01],        [2.37110475e+02, 8.99471700e+01, 9.50326350e+01],        [2.38069530e+02, 9.14848200e+01, 9.44879550e+01],        [2.38991355e+02, 9.30568950e+01, 9.39845850e+01],        [2.39875185e+02, 9.46621200e+01, 9.35243100e+01],        [2.40721530e+02, 9.62989650e+01, 9.31096800e+01],        [2.41530900e+02, 9.79653900e+01, 9.27437550e+01],        [2.42303550e+02, 9.96591000e+01, 9.24293400e+01],        [2.43040245e+02, 1.01378565e+02, 9.21666900e+01],        [2.43741495e+02, 1.03122000e+02, 9.19578450e+01],        [2.44408320e+02, 1.04887620e+02, 9.18035700e+01],        [2.45041995e+02, 1.06672365e+02, 9.17056500e+01],        [2.45644050e+02, 1.08474450e+02, 9.16645950e+01],        [2.46214995e+02, 1.10292345e+02, 9.16798950e+01],        [2.46756105e+02, 1.12124265e+02, 9.17515500e+01],        [2.47268400e+02, 1.13968680e+02, 9.18793050e+01],        [2.47753410e+02, 1.15823550e+02, 9.20626500e+01],        [2.48212155e+02, 1.17687600e+02, 9.23010750e+01],        [2.48645910e+02, 1.19559555e+02, 9.25933050e+01],        [2.49055950e+02, 1.21437630e+02, 9.29388300e+01],        [2.49443550e+02, 1.23321060e+02, 9.33363750e+01],        [2.49809475e+02, 1.25208570e+02, 9.37846650e+01],        [2.50155000e+02, 1.27099140e+02, 9.42821700e+01],        [2.50481145e+02, 1.28992005e+02, 9.48278700e+01],        [2.50788675e+02, 1.30886400e+02, 9.54204900e+01],        [2.51078610e+02, 1.32781815e+02, 9.60579900e+01],        [2.51351715e+02, 1.34677740e+02, 9.67396050e+01],        [2.51608500e+02, 1.36573410e+02, 9.74635500e+01],        [2.51849730e+02, 1.38468825e+02, 9.82285500e+01],        [2.52075915e+02, 1.40363730e+02, 9.90330750e+01],        [2.52287565e+02, 1.42257615e+02, 9.98761050e+01],        [2.52485190e+02, 1.44150480e+02, 1.00756110e+02],        [2.52672105e+02, 1.46040030e+02, 1.01672070e+02],        [2.52847290e+02, 1.47927285e+02, 1.02622455e+02],        [2.53009980e+02, 1.49813010e+02, 1.03606245e+02],        [2.53160175e+02, 1.51697205e+02, 1.04622165e+02],        [2.53298130e+02, 1.53580125e+02, 1.05669450e+02],        [2.53427670e+02, 1.55459220e+02, 1.06746315e+02],        [2.53548795e+02, 1.57334745e+02, 1.07852250e+02],        [2.53658190e+02, 1.59209250e+02, 1.08986235e+02],        [2.53756110e+02, 1.61082480e+02, 1.10147505e+02],        [2.53847400e+02, 1.62951885e+02, 1.11334785e+02],        [2.53931550e+02, 1.64817720e+02, 1.12547055e+02],        [2.54004480e+02, 1.66683045e+02, 1.13784315e+02],        [2.54066955e+02, 1.68547095e+02, 1.15045800e+02],        [2.54127900e+02, 1.70405280e+02, 1.16328960e+02],        [2.54177625e+02, 1.72262955e+02, 1.17635070e+02],        [2.54215875e+02, 1.74121140e+02, 1.18964130e+02],        [2.54254635e+02, 1.75972440e+02, 1.20311805e+02],        [2.54282430e+02, 1.77823995e+02, 1.21681410e+02],        [2.54299770e+02, 1.79675805e+02, 1.23071925e+02],        [2.54317875e+02, 1.81521240e+02, 1.24479270e+02],        [2.54324505e+02, 1.83367695e+02, 1.25907525e+02],        [2.54324505e+02, 1.85212620e+02, 1.27354140e+02],        [2.54321955e+02, 1.87053975e+02, 1.28817585e+02],        [2.54307675e+02, 1.88896860e+02, 1.30300665e+02],        [2.54293140e+02, 1.90735155e+02, 1.31799045e+02],        [2.54270190e+02, 1.92573450e+02, 1.33315530e+02],        [2.54239845e+02, 1.94411490e+02, 1.34849355e+02],        [2.54208990e+02, 1.96245705e+02, 1.36397460e+02],        [2.54165385e+02, 1.98082725e+02, 1.37964945e+02],        [2.54125605e+02, 1.99914135e+02, 1.39544415e+02],        [2.54074095e+02, 2.01747585e+02, 1.41142245e+02],        [2.54021310e+02, 2.03578740e+02, 1.42754100e+02],        [2.53962660e+02, 2.05409385e+02, 1.44381510e+02],        [2.53898400e+02, 2.07240030e+02, 1.46024475e+02],        [2.53833120e+02, 2.09068125e+02, 1.47680700e+02],        [2.53758405e+02, 2.10898260e+02, 1.49353755e+02],        [2.53687005e+02, 2.12724315e+02, 1.51038285e+02],        [2.53603620e+02, 2.14553685e+02, 1.52740665e+02],        [2.53526610e+02, 2.16377700e+02, 1.54452480e+02],        [2.53435830e+02, 2.18206305e+02, 1.56182910e+02],        [2.53353975e+02, 2.20029045e+02, 1.57921245e+02],        [2.53258350e+02, 2.21856120e+02, 1.59678195e+02],        [2.53171905e+02, 2.23677840e+02, 1.61442795e+02],        [2.53072200e+02, 2.25504150e+02, 1.63225245e+02],        [2.52982695e+02, 2.27324850e+02, 1.65014580e+02],        [2.52880440e+02, 2.29149885e+02, 1.66821510e+02],        [2.52789660e+02, 2.30969565e+02, 1.68633795e+02],        [2.52687150e+02, 2.32793325e+02, 1.70462655e+02],        [2.52595350e+02, 2.34612495e+02, 1.72297125e+02],        [2.52494625e+02, 2.36434980e+02, 1.74146130e+02],        [2.52402825e+02, 2.38253895e+02, 1.76000490e+02],        [2.52305670e+02, 2.40074850e+02, 1.77867345e+02],        [2.52214635e+02, 2.41894020e+02, 1.79740065e+02],        [2.52122835e+02, 2.43714210e+02, 1.81621710e+02],        [2.52033585e+02, 2.45533890e+02, 1.83510495e+02],        [2.51948415e+02, 2.47353060e+02, 1.85404635e+02],        [2.51861205e+02, 2.49174270e+02, 1.87306680e+02],        [2.51783685e+02, 2.50993440e+02, 1.89210510e+02],        [2.51698515e+02, 2.52816690e+02, 1.91123520e+02]]), 1: array([[3.72810000e-01, 1.18830000e-01, 3.53583000e+00],        [5.78085000e-01, 3.23850000e-01, 4.73535000e+00],        [8.41245000e-01, 5.73495000e-01, 6.18094500e+00],        [1.15948500e+00, 8.64960000e-01, 7.88179500e+00],        [1.53153000e+00, 1.19646000e+00, 9.83229000e+00],        [1.95738000e+00, 1.56468000e+00, 1.19431800e+01],        [2.43805500e+00, 1.96681500e+00, 1.40614650e+01],        [2.97406500e+00, 2.40133500e+00, 1.61823000e+01],        [3.56872500e+00, 2.86237500e+00, 1.83248100e+01],        [4.22305500e+00, 3.34968000e+00, 2.04719100e+01],        [4.94011500e+00, 3.85891500e+00, 2.26355850e+01],        [5.72398500e+00, 4.38574500e+00, 2.48183850e+01],        [6.57721500e+00, 4.92940500e+00, 2.70121500e+01],        [7.50516000e+00, 5.48326500e+00, 2.92283550e+01],        [8.51317500e+00, 6.04401000e+00, 3.14662350e+01],        [9.60534000e+00, 6.60985500e+00, 3.37191600e+01],        [1.07745150e+01, 7.17544500e+00, 3.59909550e+01],        [1.19633250e+01, 7.73262000e+00, 3.82918200e+01],        [1.31692200e+01, 8.28087000e+00, 4.06097700e+01],        [1.43944950e+01, 8.81509500e+00, 4.29455700e+01],        [1.56417000e+01, 9.33045000e+00, 4.52987100e+01],        [1.69144050e+01, 9.81852000e+00, 4.76753100e+01],        [1.82143950e+01, 1.02749700e+01, 5.00702700e+01],        [1.95424350e+01, 1.06857750e+01, 5.24787450e+01],        [2.09003100e+01, 1.10486400e+01, 5.48986950e+01],        [2.22898050e+01, 1.13617800e+01, 5.73273150e+01],        [2.37124500e+01, 1.16236650e+01, 5.97612900e+01],        [2.51690100e+01, 1.18325100e+01, 6.21955200e+01],        [2.66605050e+01, 1.19870400e+01, 6.46246500e+01],        [2.81866800e+01, 1.20867450e+01, 6.70425600e+01],        [2.97472800e+01, 1.21313700e+01, 6.94418550e+01],        [3.13415400e+01, 1.21216800e+01, 7.18141200e+01],        [3.29676750e+01, 1.20597150e+01, 7.41509400e+01],        [3.46233900e+01, 1.19482800e+01, 7.64428800e+01],        [3.63063900e+01, 1.17917100e+01, 7.86810150e+01],        [3.80136150e+01, 1.15943400e+01, 8.08566750e+01],        [3.97417500e+01, 1.13625450e+01, 8.29611900e+01],        [4.14856950e+01, 1.11062700e+01, 8.49856350e+01],        [4.32416250e+01, 1.08346950e+01, 8.69228700e+01],        [4.50057150e+01, 1.05575100e+01, 8.87683050e+01],        [4.67743950e+01, 1.02838950e+01, 9.05176050e+01],        [4.85435850e+01, 1.00237950e+01, 9.21689850e+01],        [5.03107350e+01, 9.79200000e+00, 9.37214250e+01],        [5.20732950e+01, 9.59616000e+00, 9.51756900e+01],        [5.38292250e+01, 9.44265000e+00, 9.65335650e+01],        [5.55769950e+01, 9.33682500e+00, 9.77981100e+01],        [5.73145650e+01, 9.28327500e+00, 9.89728950e+01],        [5.90421900e+01, 9.28327500e+00, 1.00062000e+02],        [6.07596150e+01, 9.33835500e+00, 1.01070015e+02],        [6.24665850e+01, 9.44902500e+00, 1.02001785e+02],        [6.41631000e+01, 9.61477500e+00, 1.02861390e+02],        [6.58496700e+01, 9.83560500e+00, 1.03653675e+02],        [6.75265500e+01, 1.01099850e+01, 1.04382975e+02],        [6.91934850e+01, 1.04351100e+01, 1.05053880e+02],        [7.08517500e+01, 1.08000150e+01, 1.05669960e+02],        [7.25018550e+01, 1.12029150e+01, 1.06235040e+02],        [7.41445650e+01, 1.16392200e+01, 1.06752435e+02],        [7.57803900e+01, 1.21048500e+01, 1.07225205e+02],        [7.74098400e+01, 1.25959800e+01, 1.07656410e+02],        [7.90334250e+01, 1.31087850e+01, 1.08048855e+02],        [8.06519100e+01, 1.36399500e+01, 1.08404580e+02],        [8.22655500e+01, 1.41866700e+01, 1.08726135e+02],        [8.38748550e+01, 1.47458850e+01, 1.09015305e+02],        [8.54803350e+01, 1.53153000e+01, 1.09273620e+02],        [8.70825000e+01, 1.58928750e+01, 1.09503375e+02],        [8.86816050e+01, 1.64770800e+01, 1.09705335e+02],        [9.02781600e+01, 1.70658750e+01, 1.09881030e+02],        [9.18724200e+01, 1.76579850e+01, 1.10031735e+02],        [9.34648950e+01, 1.82526450e+01, 1.10158470e+02],        [9.50558400e+01, 1.88483250e+01, 1.10262000e+02],        [9.66452550e+01, 1.94445150e+01, 1.10343345e+02],        [9.82331400e+01, 2.00407050e+01, 1.10403525e+02],        [9.98205150e+01, 2.06363850e+01, 1.10442795e+02],        [1.01406870e+02, 2.12305350e+01, 1.10461665e+02],        [1.02992970e+02, 2.18229000e+01, 1.10460645e+02],        [1.04578815e+02, 2.24134800e+01, 1.10439990e+02],        [1.06164405e+02, 2.30017650e+01, 1.10400465e+02],        [1.07749995e+02, 2.35877550e+01, 1.10342070e+02],        [1.09335840e+02, 2.41714500e+01, 1.10265060e+02],        [1.10921685e+02, 2.47525950e+01, 1.10169945e+02],        [1.12507785e+02, 2.53311900e+01, 1.10056470e+02],        [1.14094140e+02, 2.59072350e+01, 1.09925400e+02],        [1.15681005e+02, 2.64812400e+01, 1.09776990e+02],        [1.17268125e+02, 2.70526950e+01, 1.09610730e+02],        [1.18855500e+02, 2.76221100e+01, 1.09426875e+02],        [1.20443640e+02, 2.81894850e+01, 1.09225170e+02],        [1.22032290e+02, 2.87548200e+01, 1.09006125e+02],        [1.23621195e+02, 2.93183700e+01, 1.08769740e+02],        [1.25210610e+02, 2.98806450e+01, 1.08515760e+02],        [1.26800535e+02, 3.04416450e+01, 1.08244440e+02],        [1.28390715e+02, 3.10016250e+01, 1.07955780e+02],        [1.29981150e+02, 3.15610950e+01, 1.07649780e+02],        [1.31571585e+02, 3.21198000e+01, 1.07326185e+02],        [1.33162530e+02, 3.26782500e+01, 1.06984995e+02],        [1.34753220e+02, 3.32369550e+01, 1.06626210e+02],        [1.36344165e+02, 3.37961700e+01, 1.06250085e+02],        [1.37934600e+02, 3.43558950e+01, 1.05856365e+02],        [1.39525035e+02, 3.49168950e+01, 1.05445305e+02],        [1.41114960e+02, 3.54791700e+01, 1.05016395e+02],        [1.42704120e+02, 3.60432300e+01, 1.04569890e+02],        [1.44292770e+02, 3.66095850e+01, 1.04105790e+02],        [1.45880655e+02, 3.71782350e+01, 1.03624095e+02],        [1.47467520e+02, 3.77499450e+01, 1.03124805e+02],        [1.49052855e+02, 3.83249700e+01, 1.02608175e+02],        [1.50637170e+02, 3.89035650e+01, 1.02073950e+02],        [1.52219700e+02, 3.94862400e+01, 1.01521875e+02],        [1.53800445e+02, 4.00735050e+01, 1.00952205e+02],        [1.55379150e+02, 4.06658700e+01, 1.00365195e+02],        [1.56955815e+02, 4.12633350e+01, 9.97608450e+01],        [1.58529675e+02, 4.18669200e+01, 9.91391550e+01],        [1.60100985e+02, 4.24766250e+01, 9.85003800e+01],        [1.61669490e+02, 4.30929600e+01, 9.78445200e+01],        [1.63234425e+02, 4.37166900e+01, 9.71715750e+01],        [1.64796300e+02, 4.43480700e+01, 9.64815450e+01],        [1.66354095e+02, 4.49873550e+01, 9.57744300e+01],        [1.67908065e+02, 4.56353100e+01, 9.50507400e+01],        [1.69457700e+02, 4.62924450e+01, 9.43107300e+01],        [1.71002745e+02, 4.69590150e+01, 9.35541450e+01],        [1.72542690e+02, 4.76357850e+01, 9.27814950e+01],        [1.74077280e+02, 4.83227550e+01, 9.19930350e+01],        [1.75606515e+02, 4.90209450e+01, 9.11887650e+01],        [1.77129885e+02, 4.97303550e+01, 9.03689400e+01],        [1.78646880e+02, 5.04520050e+01, 8.95338150e+01],        [1.80157500e+02, 5.11856400e+01, 8.86831350e+01],        [1.81660980e+02, 5.19322800e+01, 8.78176650e+01],        [1.83157320e+02, 5.26921800e+01, 8.69374050e+01],        [1.84646265e+02, 5.34658500e+01, 8.60431200e+01],        [1.86126795e+02, 5.42535450e+01, 8.51345550e+01],        [1.87599165e+02, 5.50560300e+01, 8.42124750e+01],        [1.89062865e+02, 5.58735600e+01, 8.32768800e+01],        [1.90517385e+02, 5.67063900e+01, 8.23282800e+01],        [1.91962470e+02, 5.75550300e+01, 8.13666750e+01],        [1.93397610e+02, 5.84197350e+01, 8.03928300e+01],        [1.94822550e+02, 5.93012700e+01, 7.94067450e+01],        [1.96236780e+02, 6.01996350e+01, 7.84086750e+01],        [1.97640045e+02, 6.11150850e+01, 7.73991300e+01],        [1.99031835e+02, 6.20483850e+01, 7.63783650e+01],        [2.00411895e+02, 6.29992800e+01, 7.53466350e+01],        [2.01779715e+02, 6.39682800e+01, 7.43044500e+01],        [2.03134785e+02, 6.49556400e+01, 7.32523200e+01],        [2.04477105e+02, 6.59618700e+01, 7.21902450e+01],        [2.05805910e+02, 6.69864600e+01, 7.11189900e+01],        [2.07120945e+02, 6.80304300e+01, 7.00385550e+01],        [2.08421955e+02, 6.90932700e+01, 6.89494500e+01],        [2.09708430e+02, 7.01752350e+01, 6.78516750e+01],        [2.10979860e+02, 7.12768350e+01, 6.67462500e+01],        [2.12236245e+02, 7.23978150e+01, 6.56326650e+01],        [2.13477075e+02, 7.35381750e+01, 6.45119400e+01],        [2.14702095e+02, 7.46979150e+01, 6.33838200e+01],        [2.15910795e+02, 7.58775450e+01, 6.22488150e+01],        [2.17102920e+02, 7.70763000e+01, 6.11071800e+01],        [2.18277960e+02, 7.82946900e+01, 5.99589150e+01],        [2.19435915e+02, 7.95324600e+01, 5.88045300e+01],        [2.20576530e+02, 8.07896100e+01, 5.76440250e+01],        [2.21699295e+02, 8.20658850e+01, 5.64779100e+01],        [2.22803955e+02, 8.33610300e+01, 5.53059300e+01],        [2.23890255e+02, 8.46753000e+01, 5.41283400e+01],        [2.24957940e+02, 8.60081850e+01, 5.29451400e+01],        [2.26007010e+02, 8.73594300e+01, 5.17568400e+01],        [2.27036955e+02, 8.87290350e+01, 5.05629300e+01],        [2.28047775e+02, 9.01167450e+01, 4.93639200e+01],        [2.29038960e+02, 9.15223050e+01, 4.81593000e+01],        [2.30010765e+02, 9.29454600e+01, 4.69495800e+01],        [2.30962425e+02, 9.43857000e+01, 4.57342500e+01],        [2.31894450e+02, 9.58432800e+01, 4.45135650e+01],        [2.32806330e+02, 9.73171800e+01, 4.32875250e+01],        [2.33697810e+02, 9.88076550e+01, 4.20556200e+01],        [2.34569145e+02, 1.00314195e+02, 4.08178500e+01],        [2.35419825e+02, 1.01836545e+02, 3.95742150e+01],        [2.36249850e+02, 1.03374195e+02, 3.83244600e+01],        [2.37059220e+02, 1.04927145e+02, 3.70685850e+01],        [2.37847935e+02, 1.06494885e+02, 3.58063350e+01],        [2.38615485e+02, 1.08076905e+02, 3.45372000e+01],        [2.39362125e+02, 1.09673205e+02, 3.32616900e+01],        [2.40087855e+02, 1.11283275e+02, 3.19792950e+01],        [2.40792675e+02, 1.12906860e+02, 3.06902700e+01],        [2.41476075e+02, 1.14543705e+02, 2.93943600e+01],        [2.42138310e+02, 1.16193300e+02, 2.80918200e+01],        [2.42779125e+02, 1.17855390e+02, 2.67829050e+01],        [2.43399030e+02, 1.19529720e+02, 2.54678700e+01],        [2.43997260e+02, 1.21215780e+02, 2.41472250e+01],        [2.44574070e+02, 1.22913570e+02, 2.28222450e+01],        [2.45129715e+02, 1.24622580e+02, 2.14936950e+01],        [2.45663685e+02, 1.26342810e+02, 2.01636150e+01],        [2.46176235e+02, 1.28073495e+02, 1.88340450e+01],        [2.46667110e+02, 1.29814890e+02, 1.75080450e+01],        [2.47136565e+02, 1.31566230e+02, 1.61894400e+01],        [2.47584345e+02, 1.33327515e+02, 1.48835850e+01],        [2.48010450e+02, 1.35098490e+02, 1.35976200e+01],        [2.48414880e+02, 1.36878900e+02, 1.23399600e+01],        [2.48797635e+02, 1.38668490e+02, 1.11225900e+01],        [2.49158460e+02, 1.40466750e+02, 9.95775000e+00],        [2.49497610e+02, 1.42273935e+02, 8.90740500e+00],        [2.49814830e+02, 1.44089535e+02, 8.00929500e+00],        [2.50110120e+02, 1.45913295e+02, 7.26954000e+00],        [2.50383225e+02, 1.47744960e+02, 6.69375000e+00],        [2.50634655e+02, 1.49584530e+02, 6.28855500e+00],        [2.50863645e+02, 1.51431495e+02, 6.06135000e+00],        [2.51070705e+02, 1.53286110e+02, 6.01953000e+00],        [2.51255325e+02, 1.55147610e+02, 6.17151000e+00],        [2.51417760e+02, 1.57016250e+02, 6.52596000e+00],        [2.51558010e+02, 1.58891775e+02, 7.09257000e+00],        [2.51675820e+02, 1.60773675e+02, 7.88154000e+00],        [2.51770935e+02, 1.62661950e+02, 8.90358000e+00],        [2.51843610e+02, 1.64556600e+02, 1.01709300e+01],        [2.51893845e+02, 1.66457115e+02, 1.16231550e+01],        [2.51921130e+02, 1.68363750e+02, 1.31962500e+01],        [2.51925975e+02, 1.70275740e+02, 1.48738950e+01],        [2.51907870e+02, 1.72193085e+02, 1.66405350e+01],        [2.51867070e+02, 1.74115785e+02, 1.84846950e+01],        [2.51803320e+02, 1.76043330e+02, 2.03974500e+01],        [2.51716620e+02, 1.77975720e+02, 2.23714050e+01],        [2.51606970e+02, 1.79912700e+02, 2.44019700e+01],        [2.51474625e+02, 1.81854015e+02, 2.64850650e+01],        [2.51319330e+02, 1.83799410e+02, 2.86183950e+01],        [2.51140575e+02, 1.85748885e+02, 3.08001750e+01],        [2.50939125e+02, 1.87702185e+02, 3.30293850e+01],        [2.50714980e+02, 1.89658290e+02, 3.53055150e+01],        [2.50468140e+02, 1.91617710e+02, 3.76290750e+01],        [2.50199115e+02, 1.93579425e+02, 4.00000650e+01],        [2.49908160e+02, 1.95543435e+02, 4.24200150e+01],        [2.49595530e+02, 1.97508975e+02, 4.48894350e+01],        [2.49261735e+02, 1.99475790e+02, 4.74103650e+01],        [2.48907540e+02, 2.01443370e+02, 4.99845900e+01],        [2.48532690e+02, 2.03411460e+02, 5.26146600e+01],        [2.48137440e+02, 2.05379295e+02, 5.53036350e+01],        [2.47724340e+02, 2.07346110e+02, 5.80527900e+01],        [2.47294665e+02, 2.09310375e+02, 6.08649300e+01],        [2.46850455e+02, 2.11271325e+02, 6.37428600e+01],        [2.46391965e+02, 2.13228705e+02, 6.66911700e+01],        [2.45920470e+02, 2.15181240e+02, 6.97147050e+01],        [2.45441835e+02, 2.17126380e+02, 7.28142300e+01],        [2.44959630e+02, 2.19062595e+02, 7.59925500e+01],        [2.44473600e+02, 2.20989120e+02, 7.92591000e+01],        [2.43992670e+02, 2.22902895e+02, 8.26133700e+01],        [2.43524235e+02, 2.24800095e+02, 8.60561250e+01],        [2.43069825e+02, 2.26680210e+02, 8.95990950e+01],        [2.42644230e+02, 2.28537630e+02, 9.32348850e+01],        [2.42254590e+02, 2.30369295e+02, 9.69691050e+01],        [2.41914165e+02, 2.32170615e+02, 1.00798695e+02],        [2.41636470e+02, 2.33936745e+02, 1.04719575e+02],        [2.41436295e+02, 2.35662840e+02, 1.08725115e+02],        [2.41329960e+02, 2.37344055e+02, 1.12803585e+02],        [2.41332765e+02, 2.38975545e+02, 1.16940960e+02],        [2.41460265e+02, 2.40553740e+02, 1.21117350e+02],        [2.41723935e+02, 2.42076090e+02, 1.25313630e+02],        [2.42133975e+02, 2.43541065e+02, 1.29504300e+02],        [2.42693700e+02, 2.44949685e+02, 1.33671765e+02],        [2.43404895e+02, 2.46303480e+02, 1.37792055e+02],        [2.44263480e+02, 2.47605765e+02, 1.41850125e+02],        [2.45262060e+02, 2.48860620e+02, 1.45840875e+02],        [2.46393495e+02, 2.50072890e+02, 1.49737530e+02],        [2.47646310e+02, 2.51246910e+02, 1.53549270e+02],        [2.49010305e+02, 2.52387015e+02, 1.57273800e+02],        [2.50475535e+02, 2.53497795e+02, 1.60909335e+02],        [2.52032310e+02, 2.54582820e+02, 1.64455620e+02]]), 2: array([[1.28476650e+01, 7.59976500e+00, 1.34633625e+02],        [1.62016800e+01, 7.24863000e+00, 1.35946620e+02],        [1.92150150e+01, 6.93753000e+00, 1.37191785e+02],        [2.19866100e+01, 6.66187500e+00, 1.38377790e+02],        [2.45766450e+01, 6.41707500e+00, 1.39511265e+02],        [2.70249000e+01, 6.19879500e+00, 1.40598840e+02],        [2.93566200e+01, 6.00678000e+00, 1.41644340e+02],        [3.15952650e+01, 5.83389000e+00, 1.42652865e+02],        [3.37571550e+01, 5.67579000e+00, 1.43628750e+02],        [3.58537650e+01, 5.53018500e+00, 1.44574545e+02],        [3.78947850e+01, 5.39427000e+00, 1.45493310e+02],        [3.98873550e+01, 5.26600500e+00, 1.46386575e+02],        [4.18378500e+01, 5.14360500e+00, 1.47256890e+02],        [4.37513700e+01, 5.02503000e+00, 1.48105530e+02],        [4.56322500e+01, 4.90926000e+00, 1.48933770e+02],        [4.74843150e+01, 4.79476500e+00, 1.49743140e+02],        [4.93103700e+01, 4.68027000e+00, 1.50534150e+02],        [5.11134750e+01, 4.56501000e+00, 1.51307820e+02],        [5.28959250e+01, 4.44771000e+00, 1.52064915e+02],        [5.46592500e+01, 4.32811500e+00, 1.52805945e+02],        [5.64052350e+01, 4.20673500e+00, 1.53531165e+02],        [5.81356650e+01, 4.08178500e+00, 1.54241085e+02],        [5.98523250e+01, 3.95301000e+00, 1.54935960e+02],        [6.15559800e+01, 3.81964500e+00, 1.55616045e+02],        [6.32481600e+01, 3.68194500e+00, 1.56281340e+02],        [6.49298850e+01, 3.53991000e+00, 1.56931845e+02],        [6.66016650e+01, 3.39354000e+00, 1.57567305e+02],        [6.82642650e+01, 3.24258000e+00, 1.58188230e+02],        [6.99187050e+01, 3.08779500e+00, 1.58794110e+02],        [7.15652400e+01, 2.92944000e+00, 1.59384690e+02],        [7.32043800e+01, 2.76802500e+00, 1.59960225e+02],        [7.48368900e+01, 2.60431500e+00, 1.60519950e+02],        [7.64630250e+01, 2.43805500e+00, 1.61064120e+02],        [7.80835500e+01, 2.27001000e+00, 1.61591970e+02],        [7.96984650e+01, 2.10094500e+00, 1.62103500e+02],        [8.13082800e+01, 1.93188000e+00, 1.62598200e+02],        [8.29132500e+01, 1.76332500e+00, 1.63075560e+02],        [8.45136300e+01, 1.59655500e+00, 1.63535580e+02],        [8.61091650e+01, 1.43259000e+00, 1.63977495e+02],        [8.77008750e+01, 1.27270500e+00, 1.64401050e+02],        [8.92882500e+01, 1.11741000e+00, 1.64805990e+02],        [9.08715450e+01, 9.68490000e-01, 1.65191550e+02],        [9.24510150e+01, 8.26965000e-01, 1.65557475e+02],        [9.40269150e+01, 6.94620000e-01, 1.65903255e+02],        [9.55987350e+01, 5.72475000e-01, 1.66228380e+02],        [9.71669850e+01, 4.62570000e-01, 1.66532340e+02],        [9.87316650e+01, 3.65670000e-01, 1.66815135e+02],        [1.00292520e+02, 2.84070000e-01, 1.67075745e+02],        [1.01849805e+02, 2.19045000e-01, 1.67313915e+02],        [1.03403265e+02, 1.72890000e-01, 1.67529135e+02],        [1.04952900e+02, 1.47135000e-01, 1.67721150e+02],        [1.06498710e+02, 1.43820000e-01, 1.67889450e+02],        [1.08040695e+02, 1.64730000e-01, 1.68033780e+02],        [1.09578345e+02, 2.11905000e-01, 1.68153375e+02],        [1.11112170e+02, 2.87385000e-01, 1.68248235e+02],        [1.12641660e+02, 3.92700000e-01, 1.68317595e+02],        [1.14167070e+02, 5.30400000e-01, 1.68361200e+02],        [1.15687635e+02, 7.02525000e-01, 1.68379050e+02],        [1.17203865e+02, 9.11370000e-01, 1.68370635e+02],        [1.18715250e+02, 1.15897500e+00, 1.68335445e+02],        [1.20221535e+02, 1.44789000e+00, 1.68273735e+02],        [1.21722720e+02, 1.77990000e+00, 1.68184995e+02],        [1.23218550e+02, 2.15730000e+00, 1.68069225e+02],        [1.24709025e+02, 2.58238500e+00, 1.67926170e+02],        [1.26193635e+02, 3.05745000e+00, 1.67755575e+02],        [1.27672890e+02, 3.58402500e+00, 1.67557440e+02],        [1.29145770e+02, 4.16491500e+00, 1.67331510e+02],        [1.30612530e+02, 4.80241500e+00, 1.67078295e+02],        [1.32072915e+02, 5.49856500e+00, 1.66797795e+02],        [1.33526415e+02, 6.25566000e+00, 1.66489755e+02],        [1.34973030e+02, 7.07548500e+00, 1.66154430e+02],        [1.36412760e+02, 7.96033500e+00, 1.65792075e+02],        [1.37845350e+02, 8.91225000e+00, 1.65403200e+02],        [1.39270035e+02, 9.93327000e+00, 1.64987550e+02],        [1.40687325e+02, 1.09996800e+01, 1.64545635e+02],        [1.42096965e+02, 1.20694050e+01, 1.64077965e+02],        [1.43498190e+02, 1.31439750e+01, 1.63584795e+02],        [1.44891255e+02, 1.42233900e+01, 1.63066635e+02],        [1.46276160e+02, 1.53071400e+01, 1.62523995e+02],        [1.47652395e+02, 1.63954800e+01, 1.61957130e+02],        [1.49019705e+02, 1.74876450e+01, 1.61367060e+02],        [1.50378345e+02, 1.85838900e+01, 1.60754040e+02],        [1.51727805e+02, 1.96834500e+01, 1.60118835e+02],        [1.53067830e+02, 2.07865800e+01, 1.59462210e+02],        [1.54398675e+02, 2.18927700e+01, 1.58784930e+02],        [1.55720085e+02, 2.30020200e+01, 1.58087505e+02],        [1.57032060e+02, 2.41138200e+01, 1.57370700e+02],        [1.58334345e+02, 2.52281700e+01, 1.56635535e+02],        [1.59626685e+02, 2.63445600e+01, 1.55882775e+02],        [1.60909335e+02, 2.74632450e+01, 1.55113185e+02],        [1.62182040e+02, 2.85834600e+01, 1.54327275e+02],        [1.63444545e+02, 2.97054600e+01, 1.53526575e+02],        [1.64697360e+02, 3.08289900e+01, 1.52711085e+02],        [1.65940230e+02, 3.19537950e+01, 1.51882335e+02],        [1.67172900e+02, 3.30798750e+01, 1.51040835e+02],        [1.68395370e+02, 3.42067200e+01, 1.50187605e+02],        [1.69607895e+02, 3.53343300e+01, 1.49323410e+02],        [1.70810475e+02, 3.64629600e+01, 1.48449270e+02],        [1.72003110e+02, 3.75918450e+01, 1.47565440e+02],        [1.73185800e+02, 3.87212400e+01, 1.46673195e+02],        [1.74358290e+02, 3.98508900e+01, 1.45773300e+02],        [1.75521090e+02, 4.09807950e+01, 1.44866265e+02],        [1.76674200e+02, 4.21109550e+01, 1.43953110e+02],        [1.77817620e+02, 4.32411150e+01, 1.43034345e+02],        [1.78951095e+02, 4.43712750e+01, 1.42110480e+02],        [1.80075390e+02, 4.55014350e+01, 1.41182535e+02],        [1.81189995e+02, 4.66313400e+01, 1.40251020e+02],        [1.82295165e+02, 4.77612450e+01, 1.39316190e+02],        [1.83391155e+02, 4.88908950e+01, 1.38379065e+02],        [1.84478220e+02, 5.00202900e+01, 1.37440155e+02],        [1.85555850e+02, 5.11494300e+01, 1.36499715e+02],        [1.86624810e+02, 5.22783150e+01, 1.35558255e+02],        [1.87684845e+02, 5.34069450e+01, 1.34616540e+02],        [1.88736465e+02, 5.45353200e+01, 1.33675080e+02],        [1.89779160e+02, 5.56634400e+01, 1.32733620e+02],        [1.90813695e+02, 5.67913050e+01, 1.31792670e+02],        [1.91839560e+02, 5.79189150e+01, 1.30852995e+02],        [1.92857520e+02, 5.90465250e+01, 1.29914340e+02],        [1.93867320e+02, 6.01738800e+01, 1.28977470e+02],        [1.94869215e+02, 6.13009800e+01, 1.28042130e+02],        [1.95862950e+02, 6.24283350e+01, 1.27108575e+02],        [1.96849290e+02, 6.35554350e+01, 1.26177315e+02],        [1.97827980e+02, 6.46827900e+01, 1.25248605e+02],        [1.98799020e+02, 6.58098900e+01, 1.24322445e+02],        [1.99762665e+02, 6.69375000e+01, 1.23399090e+02],        [2.00718915e+02, 6.80651100e+01, 1.22478285e+02],        [2.01668025e+02, 6.91929750e+01, 1.21560030e+02],        [2.02609995e+02, 7.03213500e+01, 1.20644835e+02],        [2.03545080e+02, 7.14502350e+01, 1.19732190e+02],        [2.04473025e+02, 7.25796300e+01, 1.18822605e+02],        [2.05394085e+02, 7.37095350e+01, 1.17915825e+02],        [2.06308260e+02, 7.48402050e+01, 1.17011850e+02],        [2.07216060e+02, 7.59716400e+01, 1.16111190e+02],        [2.08116720e+02, 7.71038400e+01, 1.15213080e+02],        [2.09011005e+02, 7.82370600e+01, 1.14318030e+02],        [2.09898660e+02, 7.93715550e+01, 1.13425530e+02],        [2.10779940e+02, 8.05070700e+01, 1.12535580e+02],        [2.11654590e+02, 8.16438600e+01, 1.11648180e+02],        [2.12522610e+02, 8.27819250e+01, 1.10763330e+02],        [2.13384255e+02, 8.39217750e+01, 1.09880775e+02],        [2.14239525e+02, 8.50629000e+01, 1.09001025e+02],        [2.15088420e+02, 8.62058100e+01, 1.08123315e+02],        [2.15930940e+02, 8.73505050e+01, 1.07247645e+02],        [2.16766830e+02, 8.84972400e+01, 1.06374015e+02],        [2.17596345e+02, 8.96460150e+01, 1.05502170e+02],        [2.18419485e+02, 9.07968300e+01, 1.04632110e+02],        [2.19236250e+02, 9.19499400e+01, 1.03763835e+02],        [2.20046385e+02, 9.31053450e+01, 1.02897345e+02],        [2.20849890e+02, 9.42633000e+01, 1.02032130e+02],        [2.21646765e+02, 9.54240600e+01, 1.01168190e+02],        [2.22437265e+02, 9.65873700e+01, 1.00305525e+02],        [2.23220880e+02, 9.77534850e+01, 9.94438800e+01],        [2.23997865e+02, 9.89226600e+01, 9.85830000e+01],        [2.24767965e+02, 1.00094895e+02, 9.77233950e+01],        [2.25531180e+02, 1.01270445e+02, 9.68643000e+01],        [2.26287510e+02, 1.02449310e+02, 9.60059700e+01],        [2.27036700e+02, 1.03631490e+02, 9.51481500e+01],        [2.27778750e+02, 1.04817240e+02, 9.42908400e+01],        [2.28513405e+02, 1.06006560e+02, 9.34337850e+01],        [2.29240920e+02, 1.07199960e+02, 9.25769850e+01],        [2.29960785e+02, 1.08397185e+02, 9.17204400e+01],        [2.30673255e+02, 1.09598235e+02, 9.08638950e+01],        [2.31378075e+02, 1.10803620e+02, 9.00073500e+01],        [2.32074990e+02, 1.12013340e+02, 8.91505500e+01],        [2.32764000e+02, 1.13227395e+02, 8.82940050e+01],        [2.33445105e+02, 1.14445785e+02, 8.74369500e+01],        [2.34117795e+02, 1.15668765e+02, 8.65798950e+01],        [2.34782070e+02, 1.16896335e+02, 8.57223300e+01],        [2.35438185e+02, 1.18129005e+02, 8.48642550e+01],        [2.36085375e+02, 1.19366265e+02, 8.40059250e+01],        [2.36723895e+02, 1.20608625e+02, 8.31470850e+01],        [2.37353490e+02, 1.21856085e+02, 8.22877350e+01],        [2.37974160e+02, 1.23108900e+02, 8.14278750e+01],        [2.38585650e+02, 1.24366560e+02, 8.05677600e+01],        [2.39187450e+02, 1.25630085e+02, 7.97066250e+01],        [2.39779815e+02, 1.26898710e+02, 7.88452350e+01],        [2.40362490e+02, 1.28172945e+02, 7.79830800e+01],        [2.40935220e+02, 1.29452790e+02, 7.71204150e+01],        [2.41498005e+02, 1.30738245e+02, 7.62574950e+01],        [2.42050335e+02, 1.32029565e+02, 7.53938100e+01],        [2.42592720e+02, 1.33326750e+02, 7.45301250e+01],        [2.43124140e+02, 1.34629800e+02, 7.36651650e+01],        [2.43644850e+02, 1.35938715e+02, 7.27999500e+01],        [2.44154595e+02, 1.37253750e+02, 7.19344800e+01],        [2.44653120e+02, 1.38574905e+02, 7.10687550e+01],        [2.45140680e+02, 1.39902180e+02, 7.02027750e+01],        [2.45616765e+02, 1.41235575e+02, 6.93367950e+01],        [2.46081120e+02, 1.42575090e+02, 6.84708150e+01],        [2.46533490e+02, 1.43920980e+02, 6.76050900e+01],        [2.46974130e+02, 1.45273500e+02, 6.67388550e+01],        [2.47402275e+02, 1.46632140e+02, 6.58728750e+01],        [2.47817925e+02, 1.47997410e+02, 6.50074050e+01],        [2.48221080e+02, 1.49369055e+02, 6.41427000e+01],        [2.48611485e+02, 1.50747075e+02, 6.32785050e+01],        [2.48989140e+02, 1.52131725e+02, 6.24155850e+01],        [2.49353280e+02, 1.53523005e+02, 6.15536850e+01],        [2.49704415e+02, 1.54920660e+02, 6.06933150e+01],        [2.50041780e+02, 1.56324945e+02, 5.98347300e+01],        [2.50365630e+02, 1.57735860e+02, 5.89781850e+01],        [2.50675455e+02, 1.59153405e+02, 5.81239350e+01],        [2.50970745e+02, 1.60578090e+02, 5.72717250e+01],        [2.51251755e+02, 1.62009150e+02, 5.64225750e+01],        [2.51517975e+02, 1.63447095e+02, 5.55767400e+01],        [2.51769660e+02, 1.64891415e+02, 5.47352400e+01],        [2.52006300e+02, 1.66342875e+02, 5.38978200e+01],        [2.52227640e+02, 1.67800965e+02, 5.30655000e+01],        [2.52433425e+02, 1.69265685e+02, 5.22390450e+01],        [2.52623655e+02, 1.70737290e+02, 5.14187100e+01],        [2.52798075e+02, 1.72215525e+02, 5.06055150e+01],        [2.52956175e+02, 1.73700645e+02, 4.98002250e+01],        [2.53097955e+02, 1.75192650e+02, 4.90033500e+01],        [2.53223160e+02, 1.76691285e+02, 4.82164200e+01],        [2.53331280e+02, 1.78196550e+02, 4.74404550e+01],        [2.53422570e+02, 1.79708955e+02, 4.66759650e+01],        [2.53496265e+02, 1.81227990e+02, 4.59247350e+01],        [2.53552620e+02, 1.82753655e+02, 4.51880400e+01],        [2.53590870e+02, 1.84286205e+02, 4.44671550e+01],        [2.53611015e+02, 1.85825640e+02, 4.37636100e+01],        [2.53613055e+02, 1.87371705e+02, 4.30791900e+01],        [2.53596225e+02, 1.88924400e+02, 4.24154250e+01],        [2.53560525e+02, 1.90483725e+02, 4.17743550e+01],        [2.53505955e+02, 1.92049935e+02, 4.11580200e+01],        [2.53432005e+02, 1.93622520e+02, 4.05684600e+01],        [2.53337910e+02, 1.95202245e+02, 4.00072050e+01],        [2.53223415e+02, 1.96788600e+02, 3.94760400e+01],        [2.53088775e+02, 1.98381585e+02, 3.89780250e+01],        [2.52933735e+02, 1.99980945e+02, 3.85157100e+01],        [2.52758295e+02, 2.01586935e+02, 3.80911350e+01],        [2.52561945e+02, 2.03199045e+02, 3.77068500e+01],        [2.52344685e+02, 2.04817275e+02, 3.73648950e+01],        [2.52105240e+02, 2.06442645e+02, 3.70660350e+01],        [2.51843355e+02, 2.08074390e+02, 3.68125650e+01],        [2.51559795e+02, 2.09712255e+02, 3.66070350e+01],        [2.51255070e+02, 2.11355730e+02, 3.64509750e+01],        [2.50927905e+02, 2.13005325e+02, 3.63446400e+01],        [2.50576515e+02, 2.14662060e+02, 3.62872650e+01],        [2.50203450e+02, 2.16323895e+02, 3.62811450e+01],        [2.49809220e+02, 2.17990830e+02, 3.63255150e+01],        [2.49388725e+02, 2.19665160e+02, 3.64160400e+01],        [2.48947575e+02, 2.21344080e+02, 3.65545050e+01],        [2.48482965e+02, 2.23028610e+02, 3.67355550e+01],        [2.47995150e+02, 2.24718750e+02, 3.69553650e+01],        [2.47485915e+02, 2.26413480e+02, 3.72093450e+01],        [2.46952965e+02, 2.28113820e+02, 3.74885700e+01],        [2.46399105e+02, 2.29818495e+02, 3.77859000e+01],        [2.45825355e+02, 2.31527250e+02, 3.80893500e+01],        [2.45228655e+02, 2.33241360e+02, 3.83826000e+01],        [2.44615380e+02, 2.34958785e+02, 3.86493300e+01],        [2.43986040e+02, 2.36678760e+02, 3.88642950e+01],        [2.43343185e+02, 2.38401540e+02, 3.89948550e+01],        [2.42690130e+02, 2.40126105e+02, 3.89958750e+01],        [2.42033505e+02, 2.41850925e+02, 3.88053900e+01],        [2.41383510e+02, 2.43573450e+02, 3.83336400e+01],        [2.40758760e+02, 2.45288580e+02, 3.74495550e+01],        [2.40183480e+02, 2.46990450e+02, 3.59437800e+01],        [2.39703825e+02, 2.48665290e+02, 3.34881300e+01]]), 3: array([[ 68.08602 ,   1.24287 ,  84.000825],        [ 68.47005 ,   2.449275,  85.533885],        [ 68.83572 ,   3.729375,  87.051645],        [ 69.182775,   5.08521 ,  88.553595],        [ 69.51147 ,   6.518565,  90.038715],        [ 69.821295,   8.031735,  91.507515],        [ 70.11276 ,   9.62676 ,  92.958465],        [ 70.38561 ,  11.262585,  94.39182 ],        [ 70.63959 ,  12.83772 ,  95.807325],        [ 70.874955,  14.36262 ,  97.203705],        [ 71.091705,  15.846975,  98.58096 ],        [ 71.28933 ,  17.29818 ,  99.938835],        [ 71.468085,  18.721335, 101.276565],        [ 71.62797 ,  20.121285, 102.593895],        [ 71.76873 ,  21.5016  , 103.89057 ],        [ 71.89062 ,  22.86483 , 105.165825],        [ 71.993385,  24.213525, 106.419405],        [ 72.07728 ,  25.54998 , 107.6508  ],        [ 72.14205 ,  26.875215, 108.86001 ],        [ 72.188205,  28.191015, 110.04627 ],        [ 72.215235,  29.4984  , 111.209325],        [ 72.223395,  30.798135, 112.34892 ],        [ 72.212685,  32.09124 , 113.4648  ],        [ 72.18336 ,  33.378225, 114.556455],        [ 72.13542 ,  34.6596  , 115.623885],        [ 72.068865,  35.93613 , 116.666835],        [ 71.98395 ,  37.20756 , 117.68505 ],        [ 71.881185,  38.474655, 118.678275],        [ 71.76006 ,  39.73767 , 119.646255],        [ 71.62134 ,  40.996605, 120.589245],        [ 71.465025,  42.251715, 121.50699 ],        [ 71.29137 ,  43.502745, 122.399235],        [ 71.10063 ,  44.74995 , 123.266235],        [ 70.89306 ,  45.993585, 124.107735],        [ 70.66917 ,  47.23314 , 124.92399 ],        [ 70.42947 ,  48.46887 , 125.715255],        [ 70.173705,  49.700775, 126.481275],        [ 69.90264 ,  50.928855, 127.222305],        [ 69.61653 ,  52.1526  , 127.938855],        [ 69.31614 ,  53.372265, 128.63067 ],        [ 69.001725,  54.587595, 129.29826 ],        [ 68.67354 ,  55.79859 , 129.942135],        [ 68.33184 ,  57.004995, 130.56204 ],        [ 67.9779  ,  58.20681 , 131.158995],        [ 67.611975,  59.40378 , 131.732745],        [ 67.234065,  60.595905, 132.28431 ],        [ 66.84519 ,  61.78293 , 132.813435],        [ 66.445605,  62.96511 , 133.32114 ],        [ 66.036075,  64.141935, 133.80768 ],        [ 65.61711 ,  65.31315 , 134.273565],        [ 65.189475,  66.479265, 134.71956 ],        [ 64.753425,  67.63977 , 135.145665],        [ 64.30947 ,  68.794665, 135.552645],        [ 63.858375,  69.94395 , 135.941265],        [ 63.400395,  71.087625, 136.31178 ],        [ 62.936805,  72.225435, 136.664955],        [ 62.46786 ,  73.357125, 137.0013  ],        [ 61.993815,  74.48346 , 137.32158 ],        [ 61.515435,  75.603675, 137.625795],        [ 61.03323 ,  76.718025, 137.91522 ],        [ 60.547455,  77.82651 , 138.189855],        [ 60.05913 ,  78.929385, 138.45072 ],        [ 59.568765,  80.02614 , 138.69807 ],        [ 59.07687 ,  81.11703 , 138.93267 ],        [ 58.583445,  82.202055, 139.15503 ],        [ 58.08951 ,  83.28147 , 139.36566 ],        [ 57.595065,  84.355275, 139.56507 ],        [ 57.100875,  85.42347 , 139.753515],        [ 56.607195,  86.486055, 139.93176 ],        [ 56.114535,  87.543285, 140.100315],        [ 55.62315 ,  88.59516 , 140.25969 ],        [ 55.13355 ,  89.641425, 140.409885],        [ 54.64599 ,  90.682845, 140.55192 ],        [ 54.160725,  91.719165, 140.68605 ],        [ 53.678265,  92.750385, 140.81253 ],        [ 53.198865,  93.77676 , 140.932125],        [ 52.72278 ,  94.79829 , 141.044835],        [ 52.250265,  95.81523 , 141.150915],        [ 51.781065,  96.82758 , 141.250875],        [ 51.315945,  97.83585 , 141.34497 ],        [ 50.85465 ,  98.839785, 141.43371 ],        [ 50.39718 ,  99.83964 , 141.517095],        [ 49.9443  , 100.835415, 141.59538 ],        [ 49.4955  , 101.827365, 141.669075],        [ 49.051035, 102.815745, 141.73818 ],        [ 48.610905, 103.800555, 141.802695],        [ 48.175365, 104.78205 , 141.86313 ],        [ 47.743905, 105.76023 , 141.919485],        [ 47.31678 , 106.73535 , 141.972015],        [ 46.89399 , 107.707665, 142.02072 ],        [ 46.47528 , 108.67692 , 142.0656  ],        [ 46.060395, 109.643625, 142.10691 ],        [ 45.649845, 110.60778 , 142.14465 ],        [ 45.242865, 111.569385, 142.179075],        [ 44.839455, 112.52895 , 142.209675],        [ 44.43987 , 113.48622 , 142.23696 ],        [ 44.043345, 114.441705, 142.260675],        [ 43.64988 , 115.39515 , 142.281075],        [ 43.25973 , 116.34681 , 142.29765 ],        [ 42.87213 , 117.29694 , 142.31091 ],        [ 42.487335, 118.24554 , 142.320345],        [ 42.104835, 119.192865, 142.325955],        [ 41.724375, 120.138915, 142.32774 ],        [ 41.34621 , 121.08369 , 142.3257  ],        [ 40.969575, 122.0277  , 142.319325],        [ 40.59447 , 122.970435, 142.308615],        [ 40.220895, 123.91266 , 142.293315],        [ 39.84885 , 124.85412 , 142.27368 ],        [ 39.477825, 125.794815, 142.2492  ],        [ 39.10782 , 126.735   , 142.21962 ],        [ 38.73909 , 127.674675, 142.184685],        [ 38.37138 , 128.614095, 142.14465 ],        [ 38.004945, 129.553005, 142.09875 ],        [ 37.639785, 130.491915, 142.047495],        [ 37.2759  , 131.430315, 141.989865],        [ 36.913545, 132.368715, 141.92586 ],        [ 36.552465, 133.307115, 141.855225],        [ 36.193425, 134.245515, 141.777705],        [ 35.83668 , 135.18366 , 141.693045],        [ 35.482485, 136.12206 , 141.60099 ],        [ 35.13135 , 137.06046 , 141.50103 ],        [ 34.78404 , 137.999115, 141.393165],        [ 34.44183 , 138.937515, 141.277395],        [ 34.104465, 139.876425, 141.152955],        [ 33.77322 , 140.81508 , 141.01959 ],        [ 33.44886 , 141.754245, 140.877045],        [ 33.132915, 142.69341 , 140.72532 ],        [ 32.825895, 143.632575, 140.563395],        [ 32.52984 , 144.571995, 140.39178 ],        [ 32.245515, 145.511415, 140.209455],        [ 31.97547 , 146.45109 , 140.01693 ],        [ 31.720725, 147.39051 , 139.813185],        [ 31.483065, 148.330185, 139.598475],        [ 31.26453 , 149.269605, 139.372035],        [ 31.066905, 150.209025, 139.133865],        [ 30.89274 , 151.148445, 138.883455],        [ 30.744075, 152.08761 , 138.620805],        [ 30.62346 , 153.02652 , 138.34515 ],        [ 30.53319 , 153.965175, 138.057   ],        [ 30.47556 , 154.90332 , 137.75559 ],        [ 30.452865, 155.840955, 137.44041 ],        [ 30.468165, 156.778335, 137.11146 ],        [ 30.523245, 157.71495 , 136.768485],        [ 30.620655, 158.651055, 136.41123 ],        [ 30.76269 , 159.58614 , 136.03944 ],        [ 30.9519  , 160.52046 , 135.653115],        [ 31.18956 , 161.454015, 135.25149 ],        [ 31.47822 , 162.386295, 134.834565],        [ 31.8189  , 163.317555, 134.40234 ],        [ 32.21313 , 164.247285, 133.954305],        [ 32.662185, 165.175995, 133.490205],        [ 33.167085, 166.10292 , 133.01004 ],        [ 33.72834 , 167.02857 , 132.513555],        [ 34.34646 , 167.95218 , 132.000495],        [ 35.021445, 168.87426 , 131.470605],        [ 35.75355 , 169.794045, 130.923885],        [ 36.542265, 170.712045, 130.359825],        [ 37.38708 , 171.62775 , 129.77868 ],        [ 38.28774 , 172.540905, 129.180195],        [ 39.24297 , 173.451765, 128.56386 ],        [ 40.252005, 174.360075, 127.92993 ],        [ 41.31408 , 175.26558 , 127.277895],        [ 42.427665, 176.16828 , 126.60801 ],        [ 43.59174 , 177.06792 , 125.919765],        [ 44.805285, 177.9645  , 125.213415],        [ 46.066515, 178.85751 , 124.488195],        [ 47.374665, 179.747205, 123.744615],        [ 48.72795 , 180.63333 , 122.98242 ],        [ 50.125605, 181.515885, 122.201355],        [ 51.565845, 182.39436 , 121.40142 ],        [ 53.04765 , 183.268755, 120.582615],        [ 54.57    , 184.13907 , 119.74494 ],        [ 56.13162 , 185.004795, 118.88763 ],        [ 57.731235, 185.86644 , 118.011195],        [ 59.367825, 186.722985, 117.115635],        [ 61.04037 , 187.57494 , 116.20044 ],        [ 62.74785 , 188.42205 , 115.26612 ],        [ 64.489245, 189.263805, 114.31242 ],        [ 66.263535, 190.10046 , 113.339085],        [ 68.069955, 190.931505, 112.346115],        [ 69.907995, 191.75694 , 111.333255],        [ 71.776635, 192.576765, 110.30076 ],        [ 73.674855, 193.39047 , 109.24863 ],        [ 75.602145, 194.198055, 108.176865],        [ 77.55774 , 194.99952 , 107.085465],        [ 79.540875, 195.79461 , 105.97443 ],        [ 81.551295, 196.58307 , 104.84376 ],        [ 83.58798 , 197.3649  , 103.6932  ],        [ 85.650675, 198.13959 , 102.522495],        [ 87.73887 , 198.907395, 101.332155],        [ 89.8518  , 199.667805, 100.12218 ],        [ 91.988955, 200.42082 ,  98.89257 ],        [ 94.14957 , 201.16644 ,  97.64307 ],        [ 96.333645, 201.904155,  96.374445],        [ 98.540415, 202.63422 ,  95.08593 ],        [100.76937 , 203.356125,  93.778035],        [103.020255, 204.070125,  92.45076 ],        [105.292815, 204.775455,  91.103595],        [107.58654 , 205.47237 ,  89.73705 ],        [109.900665, 206.160615,  88.35138 ],        [112.234935, 206.84019 ,  86.946585],        [114.58884 , 207.51084 ,  85.52292 ],        [116.96187 , 208.172565,  84.080385],        [119.353515, 208.824855,  82.61949 ],        [121.76352 , 209.46822 ,  81.139725],        [124.19163 , 210.101895,  79.641855],        [126.636825, 210.72588 ,  78.126135],        [129.099105, 211.34043 ,  76.59231 ],        [131.57796 , 211.94529 ,  75.041145],        [134.07288 , 212.540205,  73.472385],        [136.583355, 213.125175,  71.88654 ],        [139.10862 , 213.699945,  70.28463 ],        [141.64842 , 214.26477 ,  68.666655],        [144.20199 , 214.81965 ,  67.033635],        [146.768565, 215.36433 ,  65.385825],        [149.34789 , 215.898555,  63.723735],        [151.938945, 216.422835,  62.048895],        [154.541475, 216.936915,  60.36156 ],        [157.154715, 217.440795,  58.66326 ],        [159.777645, 217.934475,  56.955015],        [162.41001 , 218.41821 ,  55.2381  ],        [165.050535, 218.892   ,  53.514555],        [167.69871 , 219.355845,  51.78591 ],        [170.35377 , 219.809745,  50.054715],        [173.014695, 220.25421 ,  48.323265],        [175.68072 , 220.68924 ,  46.594875],        [178.350825, 221.114835,  44.872605],        [181.02399 , 221.531505,  43.160535],        [183.699705, 221.93925 ,  41.463765],        [186.376695, 222.33858 ,  39.787395],        [189.05394 , 222.729495,  38.138055],        [191.73042 , 223.112505,  36.52314 ],        [194.405115, 223.48812 ,  34.95132 ],        [197.07726 , 223.85634 ,  33.432795],        [199.745325, 224.217675,  31.978275],        [202.4088  , 224.57289 ,  30.601275],        [205.06641 , 224.92173 ,  29.316075],        [207.71688 , 225.265215,  28.138485],        [210.3597  , 225.6036  ,  27.085335],        [212.99385 , 225.937395,  26.17473 ],        [215.618055, 226.26711 ,  25.42401 ],        [218.23155 , 226.593255,  24.85026 ],        [220.833315, 226.91634 ,  24.468015],        [223.42284 , 227.236875,  24.28875 ],        [225.999105, 227.55537 ,  24.32037 ],        [228.5616  , 227.87208 ,  24.565425],        [231.109305, 228.188025,  25.021875],        [233.64171 , 228.503205,  25.682835],        [236.15703 , 228.81915 ,  26.538105],        [238.65552 , 229.13535 ,  27.573405],        [241.13718 , 229.452825,  28.77369 ],        [243.6015  , 229.771575,  30.12264 ],        [246.04797 , 230.092365,  31.604955],        [248.476335, 230.41545 ,  33.204825],        [250.88634 , 230.741085,  34.908735],        [253.27824 , 231.070035,  36.70368 ]]), 4: array([[  0,   0, 127, 255],        [  0,   0, 255, 255],        [  0, 127, 255, 255],        [  0, 255, 255, 255],        [127, 255, 127, 255],        [255, 255,   0, 255],        [255, 127,   0, 255],        [255,   0,   0, 255],        [127,   0,   0, 255]]), 5: array([[  0,   0,   0, 255],        [255, 255, 255, 255]]), 6: array([[  0,   0,   0, 255],        [255,   0,   0, 255],        [255, 255,   0, 255],        [255, 255, 255, 255]])}
imageChannel
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

imageHeight
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

imageWidth
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

image_connection_state_changed(conn)[source]

Callback invoked when the Image Channel connection state is changed.

Parameters:

conn (bool) – The new connection state.

image_value_changed(new_image)[source]

Callback invoked when the Image Channel value is changed.

We try to do as little as possible in this method, because it gets called every time the image channel updates, which might be extremely often. Basically just store the data, and set a flag requesting that the image be redrawn.

Parameters:

new_image (np.ndarray) – The new image data. This can be a flat 1D array, or a 2D array.

keyPressEvent(ev)[source]

Handle keypress events.

maxRedrawRate
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

mouseMoveEvent(self, event: QMouseEvent | None)[source]
normalizeData
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

process_image(image)[source]

Boilerplate method.

To be used by applications in order to add calculations and also modify the image before it is displayed at the widget.

Warning

This code runs in a separated QThread so it MUST not try to write to QWidgets.

Parameters:

image (np.ndarray) – The Image Data as a 2D numpy array

Returns:

The Image Data as a 2D numpy array after processing.

Return type:

np.ndarray

readingOrder
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

redrawImage()[source]

Set the image data into the ImageItem, if needed.

If necessary, reshape the image to 2D first.

redrawROI()[source]
roiheight_connection_state_changed(conn)[source]

Run when the ROIHeight Channel connection state changes.

Parameters:

conn (bool) – The new connection state.

roiheight_value_changed(new_height)[source]

Run when the ROIHeight Channel value changes.

Parameters:

new_height (int) – The new image ROI height

roioffsetx_connection_state_changed(conn)[source]

Run when the ROIOffsetX Channel connection state changes.

Parameters:

conn (bool) – The new connection state.

roioffsetx_value_changed(new_offset)[source]

Run when the ROIOffsetX Channel value changes.

Parameters:

new_offsetx (int) – The new image ROI horizontal offset

roioffsety_connection_state_changed(conn)[source]

Run when the ROIOffsetY Channel connection state changes.

Parameters:

conn (bool) – The new connection state.

roioffsety_value_changed(new_offset)[source]

Run when the ROIOffsetY Channel value changes.

Parameters:

new_offsety (int) – The new image ROI vertical offset

roiwidth_connection_state_changed(conn)[source]

Run when the ROIWidth Channel connection state changes.

Parameters:

conn (bool) – The new connection state.

roiwidth_value_changed(new_width)[source]

Run when the ROIWidth Channel value changes.

Parameters:

new_width (int) – The new image ROI width

setColorMap(cmap=None)[source]

Update the image colormap.

Parameters:

cmap (ColorMap) –

setColorMapLimits(mn, mx)[source]

Set the limit values for the colormap.

Parameters:
  • mn (int) – The lower limit

  • mx (int) – The upper limit

showROI(show)[source]

Set ROI visibility.

xAxisChannel
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

xaxis_value_changed(new_array)[source]

Callback invoked when the Image Width Channel value is changed.

Parameters:

new_array (np.ndarray) – The new x axis array

yAxisChannel
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

yaxis_connection_state_changed(connected)[source]

Callback invoked when the TimeAxis Channel connection state is changed.

Parameters:

conn (bool) – The new connection state.

yaxis_value_changed(new_array)[source]

Callback invoked when the TimeAxis Channel value is changed.

Parameters:

new_array (np.array) – The new y axis array

class siriushla.widgets.spectrogram_view.SpectrogramUpdateThread(spectrogram_view)[source]

Bases: QThread

Thread to update image.

run()[source]

Thread main.

updateSignal

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

siriushla.widgets.spinbox module

Sirius Spinbox.

class siriushla.widgets.spinbox.SiriusHexaSpinbox(parent=None, init_channel=None)[source]

Bases: SiriusSpinbox

Custom Hexa Spinbox.

textFromValue(value)[source]

Convert text from value in hexa base.

update_format_string()[source]

Reimplement to use hexa base.

update_step_size()[source]

Reimplement to use hexa base.

validate(text, pos)[source]

Validate input in hexa base.

valueFromText(text)[source]

Convert value from text in hexa base.

class siriushla.widgets.spinbox.SiriusSpinbox(parent=None, init_channel=None)[source]

Bases: PyDMSpinbox

A QDoubleSpinBox with support for Channels and more from PyDM.

Parameters:
  • parent (QWidget) – The parent widget for the Label

  • init_channel (str, optional) – The channel to be used by the widget.

ctrl_limit_changed(which, new_limit)[source]

Callback invoked when the Channel receives new control limit values.

Parameters:
  • which (str) – Which control limit was changed. “UPPER” or “LOWER”

  • new_limit (float) – New value for the control limit

focusOutEvent(event)[source]

Overwrites the function called when a user leaves the widget without pressing return. Resets the value of the text field to the current channel value.

get_user_limits()[source]

Get the user defined limits for the spinbox.

Returns:

limits – 2-tuple with the user defined minimum and maximum.

Return type:

tuple

limitsFromChannel
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

precision_changed(new_precision)[source]

Callback invoked when the Channel has new precision value. This callback also triggers an update_format_string call so the new precision value is considered.

Parameters:

new_precison (int or float) – The new precision value

setMaximum(value)[source]

Set the user defined upper limit for the spinbox.

Parameters:

value (float) – The new upper limit value.

setMinimum(value)[source]

Set the user defined lower limit for the spinbox.

Parameters:

value (float) – The new lower limit value.

setRange(mini, maxi)[source]

Set the user defined limits for the spinbox.

Parameters:
  • mini (float) – The new lower limit value.

  • maxi (float) – The new upper limit value.

update_limits()[source]

Callback invoked to update the control limits of the spinbox.

Parameters:
  • which (str) – Which control limit was changed. “UPPER” or “LOWER”

  • new_limit (float) – New value for the control limit

wheelEvent(event)[source]

Reimplement wheel event to ignore event when out of focus.

siriushla.widgets.spinbox_scrollbar module

Defines PyDM widget with a spinbox and a scrollbar.

class siriushla.widgets.spinbox_scrollbar.PyDMSpinboxScrollbar(parent=None, init_channel=None)[source]

Bases: QWidget

Composition of a Spinbox and a Scrollbar to set a float PV.

siriushla.widgets.state_button module

PyDM State Button Class.

class siriushla.widgets.state_button.PyDMStateButton(parent=None, init_channel=None, invert=False, bit=-1)[source]

Bases: QFrame, PyDMWritableWidget

A StateButton with support for Channels and much more from PyDM.

It consists on QPushButton with internal state.

Parameters:
  • parent (QWidget) – The parent widget for the Label

  • init_channel (str, optional) – The channel to be used by the widget.

  • bit (int) – Bit of the PV value to be handled.

DEFAULT_CONFIRM_MESSAGE = 'Are you sure you want to proceed?'
Rounded = 1
Squared = 0
class buttonShapeMap[source]

Bases: object

Enum class of shapes of button.

Rounded = 1
Squared = 0
clicked

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

confirmMessage
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

confirm_dialog()[source]

Show the confirmation dialog with the proper message in case `showConfirmMessage` is True.

Returns:

True if the message was confirmed or if `showCofirmMessage` is False.

Return type:

bool

f = <PyQt5.QtCore.QFile object>
invert
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

mouseReleaseEvent(ev)[source]

Deal with mouse clicks. Only accept clicks within the figure.

paintEvent(event)[source]

Treat appearence changes based on connection state and value.

password
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

passwordProtected
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

path = '/home/runner/work/hla/hla/pyqt-apps/siriushla/widgets'
protectedPassword
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

pvbit
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

roundedbuttonstatesdict = {'Disconnected': '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n   width="256"\n   height="129"\n   viewBox="0 0 67.733331 34.131251"\n   version="1.1"\n   id="svg159"\n   inkscape:version="0.92.1 unknown"\n   sodipodi:docname="RoundedDisconnectButton.svg">\n  <defs\n     id="defs153">\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119-6-7"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.214836"\n       y2="256.65088"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.88273561,2.0057873e-8,-1.4941557e-8,0.99999332,-5.5335438,18.204087)" />\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient47117">\n      <stop\n         style="stop-color:#cccccc;stop-opacity:1;"\n         offset="0"\n         id="stop47113" />\n      <stop\n         style="stop-color:#cccccc;stop-opacity:0;"\n         offset="1"\n         id="stop47115" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient1689"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.88276109,0,0,0.99999997,-71.212307,-541.17351)"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.067112"\n       y2="255.32812" />\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="radialGradient44460-5"\n       cx="27.781246"\n       cy="262.60416"\n       fx="27.781246"\n       fy="262.60416"\n       r="33.337498"\n       gradientTransform="matrix(1.1815126,-0.01290238,0.00424111,0.38837207,-0.07175464,177.9078)"\n       gradientUnits="userSpaceOnUse" />\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="radialGradient8020"\n       cx="33.865868"\n       cy="279.53745"\n       fx="33.865868"\n       fy="279.53748"\n       r="33.072918"\n       gradientTransform="matrix(1.1909647,-0.01300556,0.00427502,0.39147863,-7.6622104,170.54499)"\n       gradientUnits="userSpaceOnUse" />\n  </defs>\n  <sodipodi:namedview\n     id="base"\n     pagecolor="#ffffff"\n     bordercolor="#666666"\n     borderopacity="1.0"\n     inkscape:pageopacity="0.0"\n     inkscape:pageshadow="2"\n     inkscape:zoom="1.7167969"\n     inkscape:cx="-61.7611"\n     inkscape:cy="-30.019748"\n     inkscape:document-units="px"\n     inkscape:current-layer="layer1"\n     showgrid="false"\n     units="px"\n     inkscape:window-width="1916"\n     inkscape:window-height="1057"\n     inkscape:window-x="3840"\n     inkscape:window-y="1080"\n     inkscape:window-maximized="0"\n     inkscape:measure-start="0,0"\n     inkscape:measure-end="0,0" />\n  <metadata\n     id="metadata156">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title />\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <g\n     inkscape:label="Layer 1"\n     inkscape:groupmode="layer"\n     id="layer1"\n     transform="translate(0,-262.86873)">\n    <rect\n       style="opacity:1;fill:#666666;stroke-width:0.26458332"\n       id="rect42330-9"\n       width="67.73333"\n       height="33.866665"\n       x="0"\n       y="263.1333"\n       rx="13.229167"\n       ry="13.229167" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.2906689"\n       id="rect42330-3-1"\n       width="67.73333"\n       height="32.808334"\n       x="0"\n       y="263.1333"\n       rx="13.229167"\n       ry="13.229167" />\n    <rect\n       ry="13.229167"\n       rx="13.229167"\n       y="263.92706"\n       x="0.79370117"\n       height="31.220833"\n       width="66.145836"\n       id="rect42373-2"\n       style="opacity:1;fill:#333333;fill-opacity:1;stroke-width:0.28020677" />\n    <rect\n       ry="13.229167"\n       rx="13.229167"\n       y="263.80286"\n       x="0.9333176"\n       height="31.469278"\n       width="65.865112"\n       id="rect42373-3-7"\n       style="opacity:1;fill:url(#radialGradient8020);fill-opacity:1;stroke:url(#radialGradient44460-5);stroke-width:0.2807219;stroke-opacity:0.93956042" />\n    <rect\n       style="opacity:1;fill:#333333;fill-opacity:1;stroke-width:0.18414214"\n       id="rect42330-6-0"\n       width="33.866665"\n       height="32.808319"\n       x="16.933332"\n       y="263.13333"\n       rx="11.441442"\n       ry="13.229167" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.20132458"\n       id="rect42330-3-2-3"\n       width="32.493694"\n       height="32.808334"\n       x="17.619816"\n       y="263.1333"\n       rx="11.441442"\n       ry="13.229167" />\n    <rect\n       style="opacity:1;fill:#ececec;stroke-width:0.1921802"\n       id="rect42330-3-2-2-6"\n       width="31.114475"\n       height="31.220833"\n       x="18.186249"\n       y="263.87042"\n       rx="11.441442"\n       ry="13.229167" />\n    <rect\n       transform="scale(-1)"\n       ry="13.229167"\n       rx="11.441442"\n       y="-292.63028"\n       x="-48.48159"\n       height="13.550447"\n       width="29.362278"\n       id="rect42330-3-2-2-3-0"\n       style="opacity:1;fill:url(#linearGradient1689);fill-opacity:1;stroke-width:0.12299201" />\n    <rect\n       style="opacity:1;fill:url(#linearGradient47119-6-7);fill-opacity:1;stroke-width:0.12298982"\n       id="rect42330-3-2-2-3-2-6"\n       width="29.361429"\n       height="13.550358"\n       x="17.196539"\n       y="266.74576"\n       rx="11.441554"\n       ry="13.229061"\n       transform="matrix(0.99996098,-0.00883377,0.00688345,0.99997631,0,0)" />\n  </g>\n</svg>\n', 'Off': '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n   width="256"\n   height="129"\n   viewBox="0 0 67.73248 34.13082"\n   version="1.1"\n   id="svg8"\n   inkscape:version="0.92.1 unknown"\n   sodipodi:docname="RoundedOffButton.svg">\n  <defs\n     id="defs2">\n    <linearGradient\n       inkscape:collect="always"\n       id="7812">\n      <stop\n         style="stop-color:#005000;stop-opacity:1;"\n         offset="0"\n         id="stop7933" />\n      <stop\n         style="stop-color:#005000;stop-opacity:0;"\n         offset="1"\n         id="stop7935" />\n    </linearGradient>\n    <linearGradient\n       id="linearGradient46973"\n       osb:paint="gradient">\n      <stop\n         style="stop-color:#000000;stop-opacity:1;"\n         offset="0"\n         id="stop46969" />\n      <stop\n         style="stop-color:#000000;stop-opacity:0;"\n         offset="1"\n         id="stop46971" />\n    </linearGradient>\n    <linearGradient\n       id="linearGradient46862"\n       osb:paint="solid">\n      <stop\n         style="stop-color:#ececec;stop-opacity:1;"\n         offset="0"\n         id="stop46860" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119-6-1"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.214836"\n       y2="256.65088"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.89734881,5.4897511e-8,-4.4871239e-8,0.99998121,-23.246377,17.159312)" />\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient47117">\n      <stop\n         style="stop-color:#cccccc;stop-opacity:1;"\n         offset="0"\n         id="stop47113" />\n      <stop\n         style="stop-color:#cccccc;stop-opacity:0;"\n         offset="1"\n         id="stop47115" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119-3"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.067112"\n       y2="255.32812"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.8973758,0,0,0.99998712,-54.763421,-541.86262)" />\n    <linearGradient\n       inkscape:collect="always"\n       id="7744">\n      <stop\n         style="stop-color:#005000;stop-opacity:1;"\n         offset="0"\n         id="stop44454" />\n      <stop\n         style="stop-color:#0caa00;stop-opacity:0"\n         offset="1"\n         id="stop44456" />\n    </linearGradient>\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#7744"\n       id="radialGradient7910"\n       cx="27.780457"\n       cy="279.53751"\n       fx="27.780457"\n       fy="279.53751"\n       r="33.072918"\n       gradientTransform="matrix(1.0605954,0,0,0.43150718,4.401612,158.91485)"\n       gradientUnits="userSpaceOnUse" />\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#7812"\n       id="radialGradient7939"\n       cx="27.780457"\n       cy="279.53751"\n       fx="27.780457"\n       fy="279.53751"\n       r="32.932556"\n       gradientTransform="matrix(0.9999871,0,0,0.47777758,6.0853402,145.98054)"\n       gradientUnits="userSpaceOnUse" />\n  </defs>\n  <sodipodi:namedview\n     id="base"\n     pagecolor="#ffffff"\n     bordercolor="#666666"\n     borderopacity="1.0"\n     inkscape:pageopacity="0.0"\n     inkscape:pageshadow="2"\n     inkscape:zoom="1.4"\n     inkscape:cx="-185.38798"\n     inkscape:cy="-6.8966862"\n     inkscape:document-units="px"\n     inkscape:current-layer="layer1"\n     showgrid="false"\n     units="px"\n     inkscape:window-width="1916"\n     inkscape:window-height="1057"\n     inkscape:window-x="5760"\n     inkscape:window-y="1080"\n     inkscape:window-maximized="0" />\n  <metadata\n     id="metadata5">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title />\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <g\n     inkscape:label="Layer 1"\n     inkscape:groupmode="layer"\n     id="layer1"\n     transform="translate(0,-262.86875)">\n    <rect\n       style="opacity:1;fill:#666666;stroke-width:0.26458001"\n       id="rect42330-4"\n       width="67.732475"\n       height="33.866241"\n       x="9.5439134e-07"\n       y="263.13333"\n       ry="13.228996"\n       rx="13.228996" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.29066515"\n       id="rect42330-3-5"\n       width="67.732475"\n       height="32.807911"\n       x="9.5439134e-07"\n       y="263.13333"\n       ry="13.228996"\n       rx="13.228996" />\n    <rect\n       y="263.92709"\n       x="0.79375291"\n       height="31.220432"\n       width="66.144981"\n       id="rect42373-0"\n       style="opacity:1;fill:#112b0b;fill-opacity:1;stroke-width:0.28020319"\n       ry="13.228996"\n       rx="13.228996" />\n    <rect\n       y="263.80286"\n       x="0.93330657"\n       height="31.468872"\n       width="65.864265"\n       id="rect42373-3-3"\n       style="opacity:1;fill:url(#radialGradient7910);fill-opacity:1;stroke:url(#radialGradient7939);stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"\n       ry="13.228996"\n       rx="13.228996" />\n    <rect\n       style="opacity:1;fill:#2d0000;fill-opacity:1;stroke-width:0.18413982"\n       id="rect42330-6-6"\n       width="33.866241"\n       height="32.807896"\n       x="-33.866241"\n       y="-295.94122"\n       transform="scale(-1)"\n       ry="13.228996"\n       rx="11.683769" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.20298296"\n       id="rect42330-3-2-1"\n       width="33.031651"\n       height="32.807911"\n       x="-33.031662"\n       y="-295.94125"\n       transform="scale(-1)"\n       ry="13.228996"\n       rx="11.683769" />\n    <rect\n       style="opacity:1;fill:#ececec;stroke-width:0.19376327"\n       id="rect42330-3-2-2-0"\n       width="31.629597"\n       height="31.220432"\n       x="-32.455887"\n       y="-295.20413"\n       transform="scale(-1)"\n       ry="13.228996"\n       rx="11.683769" />\n    <rect\n       transform="scale(-1)"\n       y="-293.32248"\n       x="-31.656364"\n       height="13.550274"\n       width="29.848396"\n       id="rect42330-3-2-2-3-3"\n       style="opacity:1;fill:url(#linearGradient47119-3);fill-opacity:1;stroke-width:0.12400515"\n       ry="13.228996"\n       rx="11.683769" />\n    <rect\n       style="opacity:1;fill:url(#linearGradient47119-6-1);fill-opacity:1;stroke-width:0.1240029"\n       id="rect42330-3-2-2-3-2-2"\n       width="29.847494"\n       height="13.550194"\n       x="-0.13999988"\n       y="265.69797"\n       transform="matrix(0.99996224,-0.0086898,0.0069975,0.99997552,0,0)"\n       ry="13.228905"\n       rx="11.683867" />\n  </g>\n</svg>\n', 'On': '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n   width="256"\n   height="129"\n   viewBox="0 0 67.73248 34.13082"\n   version="1.1"\n   id="svg8"\n   inkscape:version="0.92.1 unknown"\n   sodipodi:docname="RoundedOnButton.svg">\n  <defs\n     id="defs2">\n    <linearGradient\n       id="linearGradient46973"\n       osb:paint="gradient">\n      <stop\n         style="stop-color:#000000;stop-opacity:1;"\n         offset="0"\n         id="stop46969" />\n      <stop\n         style="stop-color:#000000;stop-opacity:0;"\n         offset="1"\n         id="stop46971" />\n    </linearGradient>\n    <linearGradient\n       id="linearGradient46862"\n       osb:paint="solid">\n      <stop\n         style="stop-color:#ececec;stop-opacity:1;"\n         offset="0"\n         id="stop46860" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient47117">\n      <stop\n         style="stop-color:#cccccc;stop-opacity:1;"\n         offset="0"\n         id="stop47113" />\n      <stop\n         style="stop-color:#cccccc;stop-opacity:0;"\n         offset="1"\n         id="stop47115" />\n    </linearGradient>\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient4625"\n       id="radialGradient4627"\n       cx="23.017721"\n       cy="353.20093"\n       fx="23.017721"\n       fy="353.20093"\n       r="33.071648"\n       gradientTransform="matrix(0.9999664,0.00819926,-0.00407819,0.49736889,12.288994,103.71222)"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient4625">\n      <stop\n         style="stop-color:#99ff55;stop-opacity:1;"\n         offset="0"\n         id="stop4621" />\n      <stop\n         style="stop-color:#99ff55;stop-opacity:0;"\n         offset="1"\n         id="stop4623" />\n    </linearGradient>\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient4617"\n       id="radialGradient44460-2"\n       cx="27.781246"\n       cy="262.60416"\n       fx="27.781246"\n       fy="262.60416"\n       r="33.337498"\n       gradientTransform="matrix(1.7352948,0.01419348,-0.00404564,0.49340262,-13.280736,149.60821)"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient4617">\n      <stop\n         style="stop-color:#66ff00;stop-opacity:1;"\n         offset="0"\n         id="stop4613" />\n      <stop\n         style="stop-color:#66ff00;stop-opacity:0;"\n         offset="1"\n         id="stop4615" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119-6-3"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.214836"\n       y2="256.65088"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.8973486,0,0,0.99798919,10.922592,17.782479)" />\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119-5-9"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.067112"\n       y2="255.32812"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.89737575,0,0,0.99799499,-88.935714,-541.14419)" />\n  </defs>\n  <sodipodi:namedview\n     id="base"\n     pagecolor="#ffffff"\n     bordercolor="#666666"\n     borderopacity="1.0"\n     inkscape:pageopacity="0.0"\n     inkscape:pageshadow="2"\n     inkscape:zoom="0.49497475"\n     inkscape:cx="-771.7445"\n     inkscape:cy="10.192956"\n     inkscape:document-units="px"\n     inkscape:current-layer="layer1"\n     showgrid="false"\n     units="px"\n     inkscape:window-width="1916"\n     inkscape:window-height="1057"\n     inkscape:window-x="5760"\n     inkscape:window-y="0"\n     inkscape:window-maximized="0"\n     scale-x="0.26458" />\n  <metadata\n     id="metadata5">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title />\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <g\n     inkscape:label="Layer 1"\n     inkscape:groupmode="layer"\n     id="layer1"\n     transform="translate(0,-262.86875)">\n    <rect\n       style="opacity:1;fill:#666666;stroke-width:0.26431346"\n       id="rect42330-9"\n       width="67.731026"\n       height="33.798767"\n       x="0"\n       y="263.20081"\n       rx="13.229"\n       ry="13.229" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.29037237"\n       id="rect42330-3-1"\n       width="67.731026"\n       height="32.74255"\n       x="0"\n       y="263.20081"\n       rx="13.229"\n       ry="13.229" />\n    <rect\n       ry="13.229"\n       rx="13.229"\n       y="263.99298"\n       x="0.79373169"\n       height="31.158237"\n       width="66.143578"\n       id="rect42373-2"\n       style="opacity:1;fill:#00aa00;fill-opacity:1;stroke-width:0.27992097" />\n    <rect\n       ry="13.229"\n       rx="13.229"\n       y="263.86902"\n       x="0.93408203"\n       height="31.406181"\n       width="65.862862"\n       id="rect42373-3-7"\n       style="opacity:1;fill:url(#radialGradient4627);fill-opacity:1;stroke:url(#radialGradient44460-2);stroke-width:0.28043568;stroke-opacity:0.93956042" />\n    <rect\n       style="opacity:1;fill:#0c5a00;fill-opacity:1;stroke-width:0.18395628"\n       id="rect42330-6-0"\n       width="33.866241"\n       height="32.742535"\n       x="33.621399"\n       y="263.13336"\n       rx="13.229"\n       ry="13.229" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.20278068"\n       id="rect42330-3-2-9"\n       width="33.031647"\n       height="32.74255"\n       x="34.455994"\n       y="263.13333"\n       rx="13.229"\n       ry="13.229" />\n    <rect\n       style="opacity:1;fill:#ececec;stroke-width:0.19357017"\n       id="rect42330-3-2-2-36"\n       width="31.629591"\n       height="31.158237"\n       x="35.031769"\n       y="263.86902"\n       rx="13.229"\n       ry="13.229" />\n    <rect\n       transform="scale(-1)"\n       ry="13.229"\n       rx="13.229"\n       y="-293.09921"\n       x="-65.828644"\n       height="13.52328"\n       width="29.848389"\n       id="rect42330-3-2-2-3-0"\n       style="opacity:1;fill:url(#linearGradient47119-5-9);fill-opacity:1;stroke-width:0.12388157" />\n    <rect\n       style="opacity:1;fill:url(#linearGradient47119-6-3);fill-opacity:1;stroke-width:0.12387931"\n       id="rect42330-3-2-2-3-2-6"\n       width="29.847486"\n       height="13.523202"\n       x="34.028969"\n       y="265.82593"\n       rx="13.229"\n       ry="13.229"\n       transform="matrix(0.99996239,-0.00867248,0.00701146,0.99997542,0,0)" />\n  </g>\n</svg>\n'}
send_value()[source]

Emit a send_value_signal to update channel value.

If :attr:’pvBit’ is n>=0 or positive the button toggles the state of the n-th digit of the channel. Otherwise it toggles the whole value.

shape
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

showConfirmDialog
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

sizeHint()[source]

Return size hint to define size on initialization.

squaredbuttonstatesdict = {'Disconnected': '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n   width="256"\n   height="129"\n   viewBox="0 0 67.733331 34.131251"\n   version="1.1"\n   id="svg159"\n   inkscape:version="0.92.1 unknown"\n   sodipodi:docname="SquaredDisconnectButton.svg">\n  <defs\n     id="defs153">\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119-6"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.214836"\n       y2="256.65088"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.88273561,1.8213812e-8,-1.4296e-8,0.99999332,-5.5262653,17.145788)" />\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient47117">\n      <stop\n         style="stop-color:#cccccc;stop-opacity:1;"\n         offset="0"\n         id="stop47113" />\n      <stop\n         style="stop-color:#cccccc;stop-opacity:0;"\n         offset="1"\n         id="stop47115" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.067112"\n       y2="255.32812"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.88276109,0,0,0.99999997,-71.212313,-541.70269)" />\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="radialGradient44460"\n       cx="27.781246"\n       cy="262.60416"\n       fx="27.781246"\n       fy="262.60416"\n       r="33.337498"\n       gradientTransform="matrix(1.176961,2.4123198e-7,-8.8978764e-8,0.41608433,1.1684521,170.27202)"\n       gradientUnits="userSpaceOnUse" />\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="radialGradient8012"\n       cx="33.865871"\n       cy="279.53751"\n       fx="33.865871"\n       fy="279.53751"\n       r="33.072918"\n       gradientTransform="matrix(1.1863765,3.4113101e-7,-1.1988375e-7,0.41941276,-6.3117695,162.29589)"\n       gradientUnits="userSpaceOnUse" />\n  </defs>\n  <sodipodi:namedview\n     id="base"\n     pagecolor="#ffffff"\n     bordercolor="#666666"\n     borderopacity="1.0"\n     inkscape:pageopacity="0.0"\n     inkscape:pageshadow="2"\n     inkscape:zoom="1.7167969"\n     inkscape:cx="-104.29494"\n     inkscape:cy="92.021553"\n     inkscape:document-units="px"\n     inkscape:current-layer="layer1"\n     showgrid="false"\n     units="px"\n     inkscape:window-width="1916"\n     inkscape:window-height="1057"\n     inkscape:window-x="3840"\n     inkscape:window-y="0"\n     inkscape:window-maximized="0" />\n  <metadata\n     id="metadata156">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title />\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <g\n     inkscape:label="Layer 1"\n     inkscape:groupmode="layer"\n     id="layer1"\n     transform="translate(0,-262.86873)">\n    <rect\n       style="opacity:1;fill:#666666;stroke-width:0.26458332"\n       id="rect42330"\n       width="67.73333"\n       height="33.866665"\n       x="1.110223e-16"\n       y="263.1333"\n       rx="3.9999998"\n       ry="3.9999998" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.29066887"\n       id="rect42330-3"\n       width="67.73333"\n       height="32.808334"\n       x="1.110223e-16"\n       y="263.1333"\n       rx="3.9999998"\n       ry="3.9999998" />\n    <rect\n       ry="3.9333332"\n       rx="3.9682536"\n       y="263.92706"\n       x="0.79370123"\n       height="31.220833"\n       width="66.145836"\n       id="rect42373"\n       style="opacity:1;fill:#333333;fill-opacity:1;stroke-width:0.28020677" />\n    <rect\n       ry="3.96875"\n       rx="3.96875"\n       y="263.80286"\n       x="0.9333176"\n       height="31.469278"\n       width="65.865112"\n       id="rect42373-3"\n       style="opacity:1;fill:url(#radialGradient8012);fill-opacity:1;stroke:url(#radialGradient44460);stroke-width:0.2807219;stroke-opacity:0.93956042" />\n    <rect\n       style="opacity:1;fill:#333333;fill-opacity:1;stroke-width:0.18414214"\n       id="rect42330-6"\n       width="33.866665"\n       height="32.808319"\n       x="16.933332"\n       y="263.13333"\n       rx="3.532774"\n       ry="3.8749981" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.20132458"\n       id="rect42330-3-2"\n       width="32.49369"\n       height="32.808334"\n       x="17.619818"\n       y="263.13333"\n       rx="3.3895538"\n       ry="3.9999995" />\n    <rect\n       style="opacity:1;fill:#ececec;stroke-width:0.1921802"\n       id="rect42330-3-2-2"\n       width="31.114475"\n       height="31.220833"\n       x="18.186256"\n       y="263.87045"\n       rx="3.245682"\n       ry="3.8064513" />\n    <rect\n       transform="scale(-1)"\n       ry="1.6520737"\n       rx="3.0629039"\n       y="-293.15945"\n       x="-48.481586"\n       height="13.550447"\n       width="29.362278"\n       id="rect42330-3-2-2-3"\n       style="opacity:1;fill:url(#linearGradient47119);fill-opacity:1;stroke-width:0.12299201" />\n    <rect\n       style="opacity:1;fill:url(#linearGradient47119-6);fill-opacity:1;stroke-width:0.12298982"\n       id="rect42330-3-2-2-3-2"\n       width="29.361433"\n       height="13.550358"\n       x="17.203831"\n       y="265.68738"\n       rx="3.0628154"\n       ry="1.6520625"\n       transform="matrix(0.99996098,-0.00883377,0.00688345,0.99997631,0,0)" />\n  </g>\n</svg>\n', 'Off': '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n   width="256"\n   height="129"\n   viewBox="0 0 67.73248 34.13082"\n   version="1.1"\n   id="svg8"\n   inkscape:version="0.92.1 unknown"\n   sodipodi:docname="SquaredOffButton.svg">\n  <defs\n     id="defs2">\n    <linearGradient\n       id="linearGradient7812"\n       inkscape:collect="always">\n      <stop\n         id="stop7808"\n         offset="0"\n         style="stop-color:#0c5a00;stop-opacity:1;" />\n      <stop\n         id="stop7810"\n         offset="1"\n         style="stop-color:#0caa00;stop-opacity:0" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient7744">\n      <stop\n         style="stop-color:#0c5a00;stop-opacity:1;"\n         offset="0"\n         id="stop7740" />\n      <stop\n         style="stop-color:#0caa00;stop-opacity:0"\n         offset="1"\n         id="stop7742" />\n    </linearGradient>\n    <linearGradient\n       id="linearGradient46973"\n       osb:paint="gradient">\n      <stop\n         style="stop-color:#000000;stop-opacity:1;"\n         offset="0"\n         id="stop46969" />\n      <stop\n         style="stop-color:#000000;stop-opacity:0;"\n         offset="1"\n         id="stop46971" />\n    </linearGradient>\n    <linearGradient\n       id="linearGradient46862"\n       osb:paint="solid">\n      <stop\n         style="stop-color:#ececec;stop-opacity:1;"\n         offset="0"\n         id="stop46860" />\n    </linearGradient>\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient7812"\n       id="radialGradient44460"\n       cx="29.12948"\n       cy="262.3385"\n       fx="29.12948"\n       fy="262.3385"\n       r="33.337498"\n       gradientTransform="matrix(1.2611815,8.8607088e-5,-1.7345295e-4,0.42019145,-0.84900691,169.17349)"\n       gradientUnits="userSpaceOnUse" />\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.067112"\n       y2="255.32812"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(1.0160577,0,0,0.99998734,-62.006121,-541.86296)" />\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient47117">\n      <stop\n         style="stop-color:#cccccc;stop-opacity:1;"\n         offset="0"\n         id="stop47113" />\n      <stop\n         style="stop-color:#cccccc;stop-opacity:0;"\n         offset="1"\n         id="stop47115" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119-6"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.214836"\n       y2="256.65088"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(1.0160187,1.8494609e-8,-1.7616317e-8,0.99998834,-26.320612,17.159684)" />\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient7744"\n       id="radialGradient7746"\n       cx="28.309671"\n       cy="263.13199"\n       fx="28.309669"\n       fy="263.13199"\n       r="32.525963"\n       gradientTransform="matrix(1.2926485,9.0634671e-5,-1.7773177e-4,0.43067548,-0.70463684,166.08141)"\n       gradientUnits="userSpaceOnUse" />\n  </defs>\n  <sodipodi:namedview\n     id="base"\n     pagecolor="#ffffff"\n     bordercolor="#666666"\n     borderopacity="1.0"\n     inkscape:pageopacity="0.0"\n     inkscape:pageshadow="2"\n     inkscape:zoom="0.98994949"\n     inkscape:cx="59.865723"\n     inkscape:cy="191.47843"\n     inkscape:document-units="px"\n     inkscape:current-layer="layer1"\n     showgrid="false"\n     units="px"\n     inkscape:window-width="1916"\n     inkscape:window-height="1057"\n     inkscape:window-x="3840"\n     inkscape:window-y="0"\n     inkscape:window-maximized="0" />\n  <metadata\n     id="metadata5">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title />\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <g\n     inkscape:label="Layer 1"\n     inkscape:groupmode="layer"\n     id="layer1"\n     transform="translate(0,-262.86875)">\n    <rect\n       style="opacity:1;fill:#666666;stroke-width:0.26458001"\n       id="rect42330"\n       width="67.732483"\n       height="33.866241"\n       x="4.0228883e-08"\n       y="263.13333"\n       rx="3.9999495"\n       ry="3.9999495" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.29066521"\n       id="rect42330-3"\n       width="67.732483"\n       height="32.807919"\n       x="4.0228883e-08"\n       y="263.13333"\n       rx="3.9999495"\n       ry="3.9999495" />\n    <rect\n       ry="3.9332836"\n       rx="3.9682035"\n       y="263.92709"\n       x="0.79374027"\n       height="31.22044"\n       width="66.144997"\n       id="rect42373"\n       style="opacity:1;fill:#112b0b;fill-opacity:1;stroke-width:0.28020325" />\n    <rect\n       ry="3.9686997"\n       rx="3.9686997"\n       y="263.98401"\n       x="0.93555796"\n       height="31.220446"\n       width="66.003174"\n       id="rect42373-3"\n       style="opacity:1;fill:url(#radialGradient7746);fill-opacity:1;stroke:url(#radialGradient44460);stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.93956042" />\n    <g\n       id="g5809"\n       transform="scale(0.88319365,1)">\n      <rect\n         transform="scale(-1)"\n         ry="3.874949"\n         rx="3.9999495"\n         y="-295.9415"\n         x="-38.345203"\n         height="32.807903"\n         width="38.345203"\n         id="rect42330-6"\n         style="opacity:1;fill:#2d0000;fill-opacity:1;stroke-width:0.1959385" />\n      <rect\n         transform="scale(-1)"\n         ry="3.9999492"\n         rx="3.9013755"\n         y="-295.94153"\n         x="-37.400234"\n         height="32.807919"\n         width="37.400234"\n         id="rect42330-3-2"\n         style="opacity:1;fill:#b3b3b3;stroke-width:0.21598901" />\n      <rect\n         transform="scale(-1)"\n         ry="3.8064034"\n         rx="3.7357788"\n         y="-295.20444"\n         x="-36.74831"\n         height="31.22044"\n         width="35.812752"\n         id="rect42330-3-2-2"\n         style="opacity:1;fill:#ececec;stroke-width:0.20617858" />\n      <path\n         inkscape:connector-curvature="0"\n         id="path47770"\n         d="m 34.653293,295.81587 c 1.202283,-0.40774 2.117931,-1.32505 2.568609,-2.57327 l 0.218932,-0.60637 0.02726,-12.56756 c 0.01741,-8.03127 -0.0071,-12.85035 -0.06793,-13.35106 -0.132866,-1.0937 -0.497502,-1.82283 -1.275617,-2.55072 -0.385387,-0.36052 -0.793099,-0.64034 -1.110913,-0.76244 -0.409461,-0.15731 -0.453593,-0.19381 -0.239241,-0.19782 0.401868,-0.008 1.330211,0.33664 1.912157,0.70891 0.59553,0.38095 1.079958,0.98807 1.390754,1.74298 l 0.213966,0.51971 v 13.32349 c 0,12.6785 -0.0084,13.34756 -0.173324,13.82069 -0.459914,1.3193 -1.798816,2.35087 -3.275664,2.52378 -0.303577,0.0355 -0.357641,0.0269 -0.188987,-0.0303 z"\n         style="opacity:1;fill:#17280b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.1006349;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />\n      <rect\n         style="opacity:1;fill:url(#linearGradient47119);fill-opacity:1;stroke-width:0.13195072"\n         id="rect42330-3-2-2-3"\n         width="33.795975"\n         height="13.550277"\n         x="-35.843052"\n         y="-293.32275"\n         rx="3.5254014"\n         ry="1.6520529"\n         transform="scale(-1)" />\n      <rect\n         transform="matrix(0.99997055,-0.00767484,0.00792289,0.99996861,0,0)"\n         ry="1.6520544"\n         rx="3.5252662"\n         y="265.7001"\n         x="-0.15851437"\n         height="13.55029"\n         width="33.794678"\n         id="rect42330-3-2-2-3-2"\n         style="opacity:1;fill:url(#linearGradient47119-6);fill-opacity:1;stroke-width:0.13194825" />\n    </g>\n  </g>\n</svg>\n', 'On': '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<svg\n   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"\n   xmlns:dc="http://purl.org/dc/elements/1.1/"\n   xmlns:cc="http://creativecommons.org/ns#"\n   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n   xmlns:svg="http://www.w3.org/2000/svg"\n   xmlns="http://www.w3.org/2000/svg"\n   xmlns:xlink="http://www.w3.org/1999/xlink"\n   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n   width="256"\n   height="129"\n   viewBox="0 0 67.73248 34.13082"\n   version="1.1"\n   id="svg8"\n   inkscape:version="0.92.1 unknown"\n   sodipodi:docname="SquaredOnButton.svg">\n  <defs\n     id="defs2">\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient4625">\n      <stop\n         style="stop-color:#99ff55;stop-opacity:1;"\n         offset="0"\n         id="stop4621" />\n      <stop\n         style="stop-color:#99ff55;stop-opacity:0;"\n         offset="1"\n         id="stop4623" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient4617">\n      <stop\n         style="stop-color:#66ff00;stop-opacity:1;"\n         offset="0"\n         id="stop4613" />\n      <stop\n         style="stop-color:#66ff00;stop-opacity:0;"\n         offset="1"\n         id="stop4615" />\n    </linearGradient>\n    <linearGradient\n       id="linearGradient46973"\n       osb:paint="gradient">\n      <stop\n         style="stop-color:#000000;stop-opacity:1;"\n         offset="0"\n         id="stop46969" />\n      <stop\n         style="stop-color:#000000;stop-opacity:0;"\n         offset="1"\n         id="stop46971" />\n    </linearGradient>\n    <linearGradient\n       id="linearGradient46862"\n       osb:paint="solid">\n      <stop\n         style="stop-color:#ececec;stop-opacity:1;"\n         offset="0"\n         id="stop46860" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       id="linearGradient47117">\n      <stop\n         style="stop-color:#cccccc;stop-opacity:1;"\n         offset="0"\n         id="stop47113" />\n      <stop\n         style="stop-color:#cccccc;stop-opacity:0;"\n         offset="1"\n         id="stop47115" />\n    </linearGradient>\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119-6-3"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.214836"\n       y2="256.65088"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.89734862,-1.5002197e-8,1.251636e-8,0.99798917,10.92258,17.782472)" />\n    <linearGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient47117"\n       id="linearGradient47119-5"\n       x1="41.2561"\n       y1="248.90253"\n       x2="41.067112"\n       y2="255.32812"\n       gradientUnits="userSpaceOnUse"\n       gradientTransform="matrix(0.89737573,0,0,0.99799499,-88.935698,-541.14417)" />\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient4617"\n       id="radialGradient44460-2"\n       cx="27.781246"\n       cy="262.60416"\n       fx="27.781246"\n       fy="262.60416"\n       r="33.337498"\n       gradientTransform="matrix(1.7352948,0.01419348,-0.00404564,0.49340261,-13.280746,149.6082)"\n       gradientUnits="userSpaceOnUse" />\n    <radialGradient\n       inkscape:collect="always"\n       xlink:href="#linearGradient4625"\n       id="radialGradient4627"\n       cx="23.017721"\n       cy="353.20093"\n       fx="23.017721"\n       fy="353.20093"\n       r="33.071649"\n       gradientTransform="matrix(0.99996639,0.00819926,-0.00407819,0.49736889,12.288978,103.71221)"\n       gradientUnits="userSpaceOnUse" />\n  </defs>\n  <sodipodi:namedview\n     id="base"\n     pagecolor="#ffffff"\n     bordercolor="#666666"\n     borderopacity="1.0"\n     inkscape:pageopacity="0.0"\n     inkscape:pageshadow="2"\n     inkscape:zoom="1.4"\n     inkscape:cx="80.712392"\n     inkscape:cy="41.77284"\n     inkscape:document-units="px"\n     inkscape:current-layer="layer1"\n     showgrid="false"\n     units="px"\n     inkscape:window-width="1916"\n     inkscape:window-height="1057"\n     inkscape:window-x="3840"\n     inkscape:window-y="1080"\n     inkscape:window-maximized="0" />\n  <metadata\n     id="metadata5">\n    <rdf:RDF>\n      <cc:Work\n         rdf:about="">\n        <dc:format>image/svg+xml</dc:format>\n        <dc:type\n           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n        <dc:title />\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <g\n     inkscape:label="Layer 1"\n     inkscape:groupmode="layer"\n     id="layer1"\n     transform="translate(0,-262.86875)">\n    <rect\n       style="opacity:1;fill:#666666;stroke-width:0.26431346"\n       id="rect42330-9"\n       width="67.731026"\n       height="33.798767"\n       x="0"\n       y="263.20081"\n       rx="3.9998636"\n       ry="3.9919798" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.29037237"\n       id="rect42330-3-1"\n       width="67.731026"\n       height="32.74255"\n       x="0"\n       y="263.20081"\n       rx="3.9998636"\n       ry="3.9919798" />\n    <rect\n       ry="3.925447"\n       rx="3.9681182"\n       y="263.99298"\n       x="0.79372311"\n       height="31.158237"\n       width="66.143578"\n       id="rect42373-2"\n       style="opacity:1;fill:#00aa00;fill-opacity:1;stroke-width:0.27992097" />\n    <rect\n       ry="3.9607925"\n       rx="3.9686146"\n       y="263.86902"\n       x="0.93407822"\n       height="31.406181"\n       width="65.862862"\n       id="rect42373-3-7"\n       style="opacity:1;fill:url(#radialGradient4627);fill-opacity:1;stroke:url(#radialGradient44460-2);stroke-width:0.28043568;stroke-opacity:0.93956042" />\n    <rect\n       style="opacity:1;fill:#0c5a00;fill-opacity:1;stroke-width:0.18395628"\n       id="rect42330-6-0"\n       width="33.866241"\n       height="32.742535"\n       x="33.621384"\n       y="263.13336"\n       rx="3.5327301"\n       ry="3.8672287" />\n    <rect\n       style="opacity:1;fill:#b3b3b3;stroke-width:0.20278068"\n       id="rect42330-3-2-9"\n       width="33.031647"\n       height="32.74255"\n       x="34.455971"\n       y="263.13333"\n       rx="3.4456699"\n       ry="3.9919796" />\n    <rect\n       style="opacity:1;fill:#ececec;stroke-width:0.19357017"\n       id="rect42330-3-2-2-36"\n       width="31.629593"\n       height="31.158237"\n       x="35.03175"\n       y="263.86902"\n       rx="3.2994161"\n       ry="3.7988195" />\n    <rect\n       transform="scale(-1)"\n       ry="1.6487614"\n       rx="3.1136119"\n       y="-293.09921"\n       x="-65.828644"\n       height="13.52328"\n       width="29.848389"\n       id="rect42330-3-2-2-3-0"\n       style="opacity:1;fill:url(#linearGradient47119-5);fill-opacity:1;stroke-width:0.12388156" />\n    <rect\n       style="opacity:1;fill:url(#linearGradient47119-6-3);fill-opacity:1;stroke-width:0.12387931"\n       id="rect42330-3-2-2-3-2-6"\n       width="29.847486"\n       height="13.523202"\n       x="34.028965"\n       y="265.8259"\n       rx="3.113518"\n       ry="1.6487517"\n       transform="matrix(0.99996239,-0.00867248,0.00701146,0.99997542,0,0)" />\n  </g>\n</svg>\n'}
validate_password()[source]

If the widget is `passwordProtected`, this method will propmt the user for the correct password.

Returns:

True in case the password was correct of if the widget is not password protected.

Return type:

bool

value_changed(new_val)[source]

Callback invoked when the Channel value is changed.

Display the value of new_val accordingly. If :attr:’pvBit’ is n>=0 or positive the button display the state of the n-th digit of the channel.

Parameters:

new_value (str, int, float, bool or np.ndarray) – The new value from the channel. The type depends on the channel.

siriushla.widgets.string_combo_box module

Sirius String ComboBox.

class siriushla.widgets.string_combo_box.SiriusStringComboBox(parent=None, init_channel=None, items=None)[source]

Bases: QComboBox, PyDMWritableWidget

A ComboBox with a channel to handle PVs of string type.

check_enable_state()[source]

Checks whether or not the widget should be disable.

set_items(items)[source]

Add comboBox items.

value_changed(new_val)[source]

Handle PV value changed in widget.

siriushla.widgets.timeplot module

class siriushla.widgets.timeplot.SiriusTimePlot(*args, show_tooltip=False, **kws)[source]

Bases: PyDMTimePlot

PyDMTimePlot with some extra features.

addCurve(plot_item, axis='left', curve_color=None)[source]

Reimplement to use right axis.

addYChannel(y_channel=None, name=None, color=None, lineStyle=None, lineWidth=None, symbol=None, symbolSize=None, axis='left')[source]

Reimplement to use SiriusTimePlotItem and right axis.

bufferReset

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

fill_curve_buffer(curve, datax, datay, factor=None)[source]

Fill curve buffer.

fill_curve_with_archdata(curve, pvname, t_init, t_end, factor=None, process_type='', process_bin_intvl=None)[source]

Fill curve with archiver data.

property legend

Legend object.

showToolTip
pyqtProperty(type, fget=None, fset=None, freset=None, fdel=None, doc=None,

designable=True, scriptable=True, stored=True, user=False, constant=False, final=False, notify=None, revision=0) -> property attribute

type is the type of the property. It is either a type object or a string that is the name of a C++ type. freset is a function for resetting an attribute to its default value. designable sets the DESIGNABLE flag (the default is True for writable properties and False otherwise). scriptable sets the SCRIPTABLE flag. stored sets the STORED flag. user sets the USER flag. constant sets the CONSTANT flag. final sets the FINAL flag. notify is the NOTIFY signal. revision is the REVISION. The other parameters are the same as those required by the standard Python property type. Properties defined using pyqtProperty behave as both Python and Qt properties. Decorators can be used to define new properties or to modify existing ones.

timeSpanChanged

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

updateXAxis(update_immediately=False)[source]

Reimplement to show only existing range.

class siriushla.widgets.timeplot.SiriusTimePlotItem(parent, *args, **kwargs)[source]

Bases: TimePlotCurveItem

Reimplement to do not receive inf values.

initialize_buffer()[source]

Rederive initialize_buffer to avoid filling the entire buffer with plot-eligible data.

receiveNewValue(new_value)[source]

Rederive receiveNewValue to avoid infinit values.

redrawCurve()[source]

Rederive redrawCurve to use data only refered to timespan.

setBufferSize(value, initialize_buffer=False)[source]

Reimplement setBufferSize to fill buffer with points accumulated.

siriushla.widgets.waveformplot module

Waveform plot widget.

class siriushla.widgets.waveformplot.SiriusWaveformPlot(*args, **kwargs)[source]

Bases: PyDMWaveformPlot

Sirius Waveform Plot widget.

property legend

Legend object.

siriushla.widgets.waveformtable module

Sirius Waveform Table Widget.

class siriushla.widgets.waveformtable.SiriusWaveformTable(parent=None, init_channel=None, transform=None)[source]

Bases: PyDMWaveformTable

Handle bugs for None, float and int values.

value_changed(new_waveform)[source]

Callback invoked when the Channel value is changed.

Parameters:

new_waveform (np.ndarray) – The new waveform value from the channel.

siriushla.widgets.widget_factory module

siriushla.widgets.widget_factory.pydmwidget_factory(widgetclass, pydm_class='read')[source]

siriushla.widgets.windows module

Sirius Windows module.

siriushla.widgets.windows.SiriusDialog

alias of _SiriusWindow

siriushla.widgets.windows.SiriusMainWindow

alias of _SiriusWindow

siriushla.widgets.windows.create_window_from_widget(WidgetClass, title='', icon=None, is_main=False, withscroll=False, min_width=None, min_height=None)[source]

.

Module contents