def marker( self, position=None, label_cb=None, constraint_cb=None, movable=True, readonly=False, markerstyle=None, markerspacing=None, color=None, linestyle=None, linewidth=None, marker=None, markersize=None, markerfacecolor=None, markeredgecolor=None, ): """ Make a marker `plot item` (:py:class:`guiqwt.shapes.Marker` object) * position: tuple (x, y) * label_cb: function with two arguments (x, y) returning a string * constraint_cb: function with two arguments (x, y) returning a tuple (x, y) according to the marker constraint * movable: if True (default), marker will be movable * readonly: if False (default), marker can be deleted * markerstyle: '+', '-', '|' or None * markerspacing: spacing between text and marker line * color: marker color name * linestyle: marker line style (MATLAB-like string or attribute name from the :py:class:`PyQt4.QtCore.Qt.PenStyle` enum (i.e. "SolidLine" "DashLine", "DotLine", "DashDotLine", "DashDotDotLine" or "NoPen") * linewidth: line width (pixels) * marker: marker shape (MATLAB-like string or "Cross", "Ellipse", "Star1", "XCross", "Rect", "Diamond", "UTriangle", "DTriangle", "RTriangle", "LTriangle", "Star2", "NoSymbol") * markersize: marker size (pixels) * markerfacecolor: marker face color name * markeredgecolor: marker edge color name """ param = MarkerParam(_("Marker"), icon="marker.png") param.read_config(CONF, "plot", "marker/cursor") if ( color or linestyle or linewidth or marker or markersize or markerfacecolor or markeredgecolor ): param.line = param.sel_line param.symbol = param.sel_symbol param.text = param.sel_text self.__set_baseparam( param, color, linestyle, linewidth, marker, markersize, markerfacecolor, markeredgecolor, ) param.sel_line = param.line param.sel_symbol = param.symbol param.sel_text = param.text if markerstyle: param.set_markerstyle(markerstyle) if markerspacing: param.spacing = markerspacing if not movable: param.symbol.marker = param.sel_symbol.marker = "NoSymbol" marker = Marker( label_cb=label_cb, constraint_cb=constraint_cb, markerparam=param ) if position is not None: x, y = position marker.set_pos(x, y) marker.set_readonly(readonly) if not movable: marker.set_movable(False) marker.set_resizable(False) return marker
def marker(self, position=None, label_cb=None, constraint_cb=None, movable=True, readonly=False, markerstyle=None, markerspacing=None, color=None, linestyle=None, linewidth=None, marker=None, markersize=None, markerfacecolor=None, markeredgecolor=None): """ Make a marker `plot item` (:py:class:`guiqwt.shapes.Marker` object) * position: tuple (x, y) * label_cb: function with two arguments (x, y) returning a string * constraint_cb: function with two arguments (x, y) returning a tuple (x, y) according to the marker constraint * movable: if True (default), marker will be movable * readonly: if False (default), marker can be deleted * markerstyle: '+', '-', '|' or None * markerspacing: spacing between text and marker line * color: marker color name * linestyle: marker line style (MATLAB-like string or attribute name from the :py:class:`PyQt4.QtCore.Qt.PenStyle` enum (i.e. "SolidLine" "DashLine", "DotLine", "DashDotLine", "DashDotDotLine" or "NoPen") * linewidth: line width (pixels) * marker: marker shape (MATLAB-like string or "Cross", "Ellipse", "Star1", "XCross", "Rect", "Diamond", "UTriangle", "DTriangle", "RTriangle", "LTriangle", "Star2", "NoSymbol") * markersize: marker size (pixels) * markerfacecolor: marker face color name * markeredgecolor: marker edge color name """ param = MarkerParam(_("Marker"), icon='marker.png') param.read_config(CONF, "plot", "marker/cursor") if color or linestyle or linewidth or marker or markersize or \ markerfacecolor or markeredgecolor: param.line = param.sel_line param.symbol = param.sel_symbol param.text = param.sel_text self.__set_baseparam(param, color, linestyle, linewidth, marker, markersize, markerfacecolor, markeredgecolor) param.sel_line = param.line param.sel_symbol = param.symbol param.sel_text = param.text if markerstyle: param.set_markerstyle(markerstyle) if markerspacing: param.spacing = markerspacing if not movable: param.symbol.marker = param.sel_symbol.marker = "NoSymbol" marker = Marker(label_cb=label_cb, constraint_cb=constraint_cb, markerparam=param) if position is not None: x, y = position marker.set_pos(x, y) marker.set_readonly(readonly) if not movable: marker.set_movable(False) marker.set_resizable(False) return marker