Ajusta um valor de propriedade de uma objeto entidade gráfica ou de um objeto Interface do Usuário (User Interface)
set(h, prop,val) // h(prop) = val, h.prop = val set(h, prop,val, prop2,val2, ..) set(tagsPath, prop,val) set(tagsPath, prop,val, prop2,val2, ..) set('current_figure', fig) // scf(fig) set('current_axes', axes) // sca(axes) set('current_entity', h)
h
pode ser um vetor de
manipuladores, em tal caso, serão ajustados valores de propriedades
para todos os objetos identificados por h
.Tag
property of the parent figure and of the chain of its children down to
the target, like "figuretag"
to target the figure
with figure.tag=="figuretag", or "figuretag/entitytag"
to target one of its children (as for an axes, a main uimenu item, a
block of legends,..), or "figuretag/entity1tag/entity2tag"
,
etc. Wildcards can also be used for multi-paths search.
h
and val
are vectors or matrices
of same size, the multiple settings are done in an element-wise way.
Esta rotina pode ser utilizada para se recuperar o valor de uma
propriedade especificada de uma entidade de gráficos ou objeto GUI. Neste
caso, é equivalente a se usar o operador ponto ('.') em um manipulador.
Por exemplo, set(h,"background",5)
é equivalente a
h.background = 5
.
Para obter a lista de todas as propriedade existentes ver graphics_entities ou uicontrol para objetos de Interface do Usuário
set(h, prop, val) ou h(prop) = val ou h.prop = valsets the property prop
of the handle h
to the
value val.
.
When h
is a matrix of handles,
val
is a matrix of same size: assignments are done in a
element-wise way: set(h, prop, val)
sets
h(1)(prop)=val(1)
, h(2)(prop)=val(2)
, ...,
h($)(prop)=val($)
.
Most often, the simpler syntax h(tag) = val
does it as well.val
value (that may be scalar
or not) is assigned to every h(i)(prop)
component.
![]() | If val is a cell array of same size as
h , it is assigned as a whole as well. For instance,
set([gcf() gca()], "user_data", {"Text", 1}) will do
gcf().user_data = {"Text", 1}, gca().user_data = {"Text", 1} ,
not gcf().user_data = "Text", gca().user_data = 1 . |
With this syntax, prop
can't be an array of property names.
To set multiple properties with a single call to set(..)
, the
following syntax must be used.
sets the property prop1
of the handle(s) h
to the
value val1
, its or their property prop2
to the
value val2
, etc. If h
and some
val#
are matrices of same size, element-wise assignments are done
for the related prop#
properties, as already described for the
set(h, prop, val)
syntax.
Identifying the targeted component(s) to be set can be done as well through their
.tag property instead of their handle. This is achieved through the
tagsPath
.
In case of multiple entities matching the path, only the first one is processed. Conversely, finding no matching entity yields an error.
set("current_figure", fig)sets the figure of handle fig
as the active figure. This syntax
is equivalent to scf(fig)
or scf(figure_id)
,
that are shorter and may be prefered.
sets the axes of handle axes
as the active one. This syntax
is equivalent to sca(axes)
that is shorter and may be prefered.
sets the graphical component whose h(1)
is the handle as the
current component, as returned by gce()
. If h
is a vector of handles, other components h(2:$)
are ignored.
gda().auto_clear = "off"; clf // Example with a Plot 2D x = [-.2:0.1:2*%pi]'; plot2d(x-.3, [sin(x-1) cos(2*x)], [1 2] ); a = gca(); p1 = a.children.children(1); p2 = a.children.children(2); // ajustando as propriedades nomeadas para os valores especificados nos objetos p2.thickness = 2; set(p2, "foreground",13, "polyline_style",2); a.y_location = "middle"; a.tight_limits = "on"; set(a, "box","off", "sub_tics",[7 0]); set(p1, "mark_mode","on", "mark_style",3); plot2d(x-2,x.^2/20); p3 = a.children(1).children; set([a p1 p2 p3], "foreground",5); | ![]() | ![]() |
Com um vetor de manipuladores gráficos :
// With distinct element-wise inputs: clf, plot2d() [gcf() gca()].tag set([gcf() gca()], "tag", ["myFigure" "myAxes"]); [gcf() gca()].tag | ![]() | ![]() |
--> [gcf() gca()].tag ans = ! ! ! ! --> set([gcf() gca()], "tag", ["myFigure" "myAxes"]); --> [gcf() gca()].tag ans = !myFigure ! !myAxes !
// With the same input for all recipients: clf, plot() curves = gce().children; set([gca() ; curves], "thickness", 2); curves(1:20).thickness = 1; // shorter than set(curves(1:20), "thickness", 1) | ![]() | ![]() |
Using a tagsPath :
f = figure("dockable", "off", "menubar", "none", "toolbar", "none", "infobar_visible", "off", "tag", "mainfig"); frameHandle = uicontrol("parent", f, "style", "frame", "position", [200 200 190 100], "tag", "myframe"); btnHandle = uicontrol("parent", frameHandle, "position", [20 20 150 30], "string", "button", "tag", "example"); set("mainfig/myframe/example", "string", "complete path"); get("mainfig/myframe/example", "string") set("mainfig/*/example", "string", "wildcard path"); get("mainfig/*/example", "string") set("myframe/example", "string", "partial path"); get("myframe/example", "string") | ![]() | ![]() |
Version | Description |
5.5.0 |
|