![]() |
![]() |
![]() |
adg-1 reference manual |
![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
void (*AdgDependencyFunc) (AdgModel *model
,AdgEntity *entity
,); struct AdgModel; struct AdgModelClass;
gpointer user_datavoid (*AdgNamedPairFunc) (AdgModel *model
,const
,gchar *nameAdgPair *pair
,);
gpointer user_datavoid adg_model_add_dependency (AdgModel *model
,AdgEntity *entity
);void adg_model_changed (AdgModel *model
);void adg_model_clear (AdgModel *model
);void adg_model_foreach_dependency (AdgModel *model
,AdgDependencyFunc callback
,);
gpointer user_datavoid adg_model_foreach_named_pair (AdgModel *model
,AdgNamedPairFunc callback
,); const
gpointer user_dataGSList * adg_model_get_dependencies (AdgModel *model
); const AdgPair * adg_model_get_named_pair (AdgModel *model
,const
);gchar *namevoid adg_model_remove_dependency (AdgModel *model
,AdgEntity *entity
);void adg_model_reset (AdgModel *model
);void adg_model_set_named_pair (AdgModel *model
,const
,gchar *nameconst AdgPair *pair
);void adg_model_set_named_pair_explicit (AdgModel *model
,const
,gchar *name,
gdouble x);
gdouble y
"add-dependency" :"changed" : Run First
"clear" : No Recursion
"remove-dependency" : No Recursion
"reset" : Run First
"set-named-pair" : No Recursion
Run First
A model is a conceptual representation of something. From an ADG user point of view, it is a collection of data and rules that defines how an object should be represented on a drawing.
Because AdgModel instances are only a conceptual idea, they are not renderable (that is, AdgModel is not derived from AdgEntity). Instead, it must be passed as subject to entities such as AdgStroke or AdgHatch.
void (*AdgDependencyFunc) (AdgModel *model
,AdgEntity *entity
,);
gpointer user_data
Callback used by adg_model_foreach_dependency()
.
|
the AdgModel |
|
the AdgEntity dependent on model |
|
a general purpose pointer |
Since 1.0
struct AdgModel;
All fields are private and should not be used directly. Use its public methods instead.
Since 1.0
struct AdgModelClass { void (*add_dependency) (AdgModel *model, AdgEntity *entity); void (*remove_dependency) (AdgModel *model, AdgEntity *entity); const AdgPair * (*named_pair) (AdgModel *model, const gchar *name); void (*set_named_pair) (AdgModel *model, const gchar *name, const AdgPair *pair); void (*clear) (AdgModel *model); void (*reset) (AdgModel *model); void (*changed) (AdgModel *model); };
void (*AdgNamedPairFunc) (AdgModel *model
,const
,gchar *nameAdgPair *pair
,);
gpointer user_data
Callback used by adg_model_foreach_named_pair()
.
|
the AdgModel |
|
the name of the named pair |
|
an AdgPair |
|
a general purpose pointer |
Since 1.0
void adg_model_add_dependency (AdgModel *model
,AdgEntity *entity
);
This function is only useful in entity implementations.
Emits a "add-dependency" signal on model
passing entity
as argument. This will add a reference to entity
owned by model
.
Since 1.0
void adg_model_changed (AdgModel *model
);
This function is only useful in entity implementations.
Emits the "changed" signal on model
.
|
an AdgModel |
Since 1.0
void adg_model_clear (AdgModel *model
);
This function is only useful new model implementations.
Emits the "clear" signal on model
.
|
an AdgModel |
Since 1.0
void adg_model_foreach_dependency (AdgModel *model
,AdgDependencyFunc callback
,);
gpointer user_data
Invokes callback
on each entity linked to model
.
|
an AdgModel |
|
the entity callback. [scope call] |
|
general purpose user data passed "as is" to callback |
Since 1.0
void adg_model_foreach_named_pair (AdgModel *model
,AdgNamedPairFunc callback
,);
gpointer user_data
Invokes callback
for each named pair set on model
. This can
be used, for example, to retrieve all the named pairs of a model
or to duplicate a transformed version of every named pair.
|
an AdgModel |
|
the named pair callback. [scope call] |
|
general purpose user data passed "as is" to callback |
Since 1.0
constGSList * adg_model_get_dependencies (AdgModel *model
);
|
an AdgModel
.
Gets the list of entities dependending on model . This list
is owned by model and must not be modified or freed. |
Returns : |
a NULL |
Since 1.0
const AdgPair * adg_model_get_named_pair (AdgModel *model
,const
);gchar *name
Gets the name
named pair associated to model
. The returned
pair is owned by model
and must not be modified or freed.
|
an AdgModel |
|
the name of the pair to get |
Returns : |
the requested AdgPair or NULL |
Since 1.0
void adg_model_remove_dependency (AdgModel *model
,AdgEntity *entity
);
This function is only useful in entity implementations.
Emits a "remove-dependency" signal on model
passing
entity
as argument. entity
must be inside model
.
Note that model
will own a reference to entity
and it
may be the last reference held: this means removing an entity
from the model can destroy it.
Since 1.0
void adg_model_reset (AdgModel *model
);
Emits the "reset" signal on model
.
|
an AdgModel |
Since 1.0
void adg_model_set_named_pair (AdgModel *model
,const
,gchar *nameconst AdgPair *pair
);
This function is only useful in model definitions, such as inside an AdgTrailCallback function or while constructing an AdgPath instance.
Emits a "set-named-pair" signal on model
passing
name
and pair
as arguments.
Since 1.0
void adg_model_set_named_pair_explicit (AdgModel *model
,const
,gchar *name,
gdouble x);
gdouble y
This function is only useful in model definitions, such as inside an AdgTrailCallback function or while constructing an AdgPath instance.
Convenient wrapper on adg_model_set_named_pair()
that accepts
explicit coordinates.
|
an AdgModel |
|
the name to associate to the pair |
|
the x coordinate of the point |
|
the y coordinate of the point |
Since 1.0
"dependency"
property"dependency" AdgEntity* : Write
Can be used to add a new dependency from this model (this entity will be invalidated on model changed).
"add-dependency"
signalvoid user_function (AdgModel *model, AdgEntity *entity,gpointer user_data) :Run First
Adds entity
to model
. After that entity
will depend on model
,
that is "changed" on model
will invalidate entity
.
|
an AdgModel |
|
an AdgEntity that depends on model |
|
user data set when the signal handler was connected. |
Since 1.0
"changed"
signalvoid user_function (AdgModel *model,gpointer user_data) :No Recursion
Notificates that the model has changed. By default, all the dependent entities are invalidated.
|
an AdgModel |
|
user data set when the signal handler was connected. |
Since 1.0
"clear"
signalvoid user_function (AdgModel *model,gpointer user_data) :No Recursion
This signal is only useful in model implementations.
Removes any information from model
cached by the implementation
code. Useful to force a recomputation of the cache when something
in the model has changed.
|
an AdgModel |
|
user data set when the signal handler was connected. |
Since 1.0
"remove-dependency"
signalvoid user_function (AdgModel *model, AdgEntity *entity,gpointer user_data) :Run First
Removes the entity
from model
, that is entity
will not depend
on model
anymore.
|
an AdgModel |
|
the AdgEntity that does not depend on model anymore |
|
user data set when the signal handler was connected. |
Since 1.0
"reset"
signalvoid user_function (AdgModel *model,gpointer user_data) :No Recursion
Resets the state of model
by destroying any named pair
associated to it. This step also involves the emission of the
AdgModel:clear signal.
This signal is intended to be used while redefining the model. A typical usage would be on these terms:
adg_model_reset(model); // Definition of model. This also requires the redefinition of // the named pairs because the old ones have been destroyed. ... adg_model_changed(model);
|
an AdgModel |
|
user data set when the signal handler was connected. |
Since 1.0
"set-named-pair"
signalvoid user_function (AdgModel *model,gchar *name,gpointer pair,gpointer user_data) :Run First
Adds, updates or deletes a named pair, accordling to the given parameters.
If pair
is NULL
name
named pair is searched and deleted.
If it is not found, a warning is raised.
Otherwise, the name
named pair is searched: if it is found,
its data are updated with pair
. If it is not found, a new
named pair is created using name
and pair
.
|
an AdgModel |
|
an arbitrary name |
|
an AdgPair |
|
user data set when the signal handler was connected. |
Since 1.0