Added gobject properties
This commit is contained in:
parent
1ca00999e7
commit
53c9403298
|
@ -61,8 +61,13 @@ enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
|
|
||||||
PROP_NAME,
|
PROP_NAME,
|
||||||
|
PROP_PATH,
|
||||||
PROP_ACTIVE,
|
PROP_ACTIVE,
|
||||||
PROP_ACTIVITY
|
PROP_ACTIVITY,
|
||||||
|
PROP_OPTIONS,
|
||||||
|
PROP_STATE,
|
||||||
|
PROP_CURRENT_HOST,
|
||||||
|
PROP_CURRENT_PORT
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Signals */
|
/* Signals */
|
||||||
|
@ -128,32 +133,80 @@ gm_world_get_property(GObject *object, guint prop_id, GValue *value,
|
||||||
case PROP_NAME:
|
case PROP_NAME:
|
||||||
g_value_set_string(value, gm_world_name(world));
|
g_value_set_string(value, gm_world_name(world));
|
||||||
break;
|
break;
|
||||||
|
case PROP_PATH:
|
||||||
|
g_value_set_string(value, world->priv->path);
|
||||||
|
break;
|
||||||
case PROP_ACTIVE:
|
case PROP_ACTIVE:
|
||||||
g_value_set_boolean(value, world->priv->active);
|
g_value_set_boolean(value, world->priv->active);
|
||||||
break;
|
break;
|
||||||
case PROP_ACTIVITY:
|
case PROP_ACTIVITY:
|
||||||
g_value_set_int(value, world->priv->activity);
|
g_value_set_int(value, world->priv->activity);
|
||||||
break;
|
break;
|
||||||
|
case PROP_OPTIONS:
|
||||||
|
g_value_set_object(value, world->priv->options);
|
||||||
|
break;
|
||||||
|
case PROP_STATE:
|
||||||
|
g_value_set_int(value, gm_world_state(world));
|
||||||
|
break;
|
||||||
|
case PROP_CURRENT_HOST:
|
||||||
|
g_value_set_string(value, gm_world_current_host(world));
|
||||||
|
break;
|
||||||
|
case PROP_CURRENT_PORT:
|
||||||
|
g_value_set_string(value, gm_world_current_port(world));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gm_world_set_property(GObject *object, guint prop_id, GValue const *value,
|
||||||
|
GParamSpec *pspec) {
|
||||||
|
GmWorld *world = GM_WORLD(object);
|
||||||
|
|
||||||
|
switch (prop_id) {
|
||||||
|
case PROP_ACTIVE:
|
||||||
|
gm_world_set_active(world, g_value_get_boolean(value));
|
||||||
|
break;
|
||||||
|
case PROP_ACTIVITY:
|
||||||
|
gm_world_set_activity(world, g_value_get_int(value));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
static void
|
static void
|
||||||
gm_world_class_init(GmWorldClass *klass) {
|
gm_world_class_init(GmWorldClass *klass) {
|
||||||
GObjectClass *object_class = G_OBJECT_CLASS(klass);
|
GObjectClass *object_class = G_OBJECT_CLASS(klass);
|
||||||
|
|
||||||
object_class->finalize = gm_world_finalize;
|
object_class->finalize = gm_world_finalize;
|
||||||
object_class->get_property = gm_world_get_property;
|
object_class->get_property = gm_world_get_property;
|
||||||
|
object_class->set_property = gm_world_set_property;
|
||||||
|
|
||||||
g_object_class_install_property(object_class, PROP_NAME,
|
g_object_class_install_property(object_class, PROP_NAME,
|
||||||
g_param_spec_string("name", "NAME", "The worlds name", NULL,
|
g_param_spec_string("name", "NAME", "The worlds name", NULL,
|
||||||
G_PARAM_READABLE));
|
G_PARAM_READABLE));
|
||||||
|
g_object_class_install_property(object_class, PROP_PATH,
|
||||||
|
g_param_spec_string("path", "PATH", "The worlds path", NULL,
|
||||||
|
G_PARAM_READABLE));
|
||||||
g_object_class_install_property(object_class, PROP_ACTIVE,
|
g_object_class_install_property(object_class, PROP_ACTIVE,
|
||||||
g_param_spec_boolean("active", "ACTIVE", "If world is active",
|
g_param_spec_boolean("active", "ACTIVE", "If world is active",
|
||||||
FALSE, G_PARAM_READABLE));
|
FALSE, G_PARAM_READABLE | G_PARAM_WRITABLE));
|
||||||
g_object_class_install_property(object_class, PROP_ACTIVITY,
|
g_object_class_install_property(object_class, PROP_ACTIVITY,
|
||||||
g_param_spec_boolean("activity", "ACTIVITY", "Lines of activity",
|
g_param_spec_boolean("activity", "ACTIVITY", "Lines of activity",
|
||||||
|
0, G_PARAM_READABLE | G_PARAM_WRITABLE));
|
||||||
|
g_object_class_install_property(object_class, PROP_OPTIONS,
|
||||||
|
g_param_spec_object("options", "OPTIONS", "Options object",
|
||||||
|
GM_TYPE_OPTIONS, G_PARAM_READABLE));
|
||||||
|
|
||||||
|
g_object_class_install_property(object_class, PROP_STATE,
|
||||||
|
g_param_spec_int("state", "STATE", "World state",
|
||||||
|
0, GM_NET_STATE_END, 0, G_PARAM_READABLE));
|
||||||
|
|
||||||
|
g_object_class_install_property(object_class, PROP_CURRENT_HOST,
|
||||||
|
g_param_spec_string("current_host", "CURRENT_HOST", "Current host",
|
||||||
0, G_PARAM_READABLE));
|
0, G_PARAM_READABLE));
|
||||||
|
|
||||||
|
g_object_class_install_property(object_class, PROP_CURRENT_PORT,
|
||||||
|
g_param_spec_string("current_port", "CURRENT_PORT", "Current port",
|
||||||
|
0, G_PARAM_READABLE));
|
||||||
|
|
||||||
world_signals[ACTIVATE_REQUEST] =
|
world_signals[ACTIVATE_REQUEST] =
|
||||||
g_signal_new("activate_request",
|
g_signal_new("activate_request",
|
||||||
G_OBJECT_CLASS_TYPE(object_class),
|
G_OBJECT_CLASS_TYPE(object_class),
|
||||||
|
|
Reference in New Issue