static void egg_cell_renderer_keys_get_property (GObject *object, guint param_id, GValue *value, GParamSpec *pspec) { EggCellRendererKeys *keys; g_return_if_fail (EGG_IS_CELL_RENDERER_KEYS (object)); keys = EGG_CELL_RENDERER_KEYS (object); switch (param_id) { case PROP_ACCEL_KEY: g_value_set_uint (value, keys->accel_key); break; case PROP_ACCEL_MASK: g_value_set_flags (value, keys->accel_mask); break; case PROP_ACCEL_MODE: g_value_set_int (value, keys->accel_mode); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); } }
void egg_cell_renderer_keys_set_accel_mode (EggCellRendererKeys *keys, EggCellRendererKeysMode accel_mode) { g_return_if_fail (EGG_IS_CELL_RENDERER_KEYS (keys)); keys->accel_mode = accel_mode; g_object_notify (G_OBJECT (keys), "accel_mode"); }
void egg_cell_renderer_keys_get_accelerator (EggCellRendererKeys *keys, guint *keyval, EggVirtualModifierType *mask) { g_return_if_fail (EGG_IS_CELL_RENDERER_KEYS (keys)); if (keyval) *keyval = keys->accel_key; if (mask) *mask = keys->accel_mask; }
void egg_cell_renderer_keys_set_accelerator (EggCellRendererKeys *keys, guint keyval, guint keycode, EggVirtualModifierType mask) { char *text; gboolean changed; GtkCellRendererText *celltext; g_return_if_fail (EGG_IS_CELL_RENDERER_KEYS (keys)); g_object_freeze_notify (G_OBJECT (keys)); changed = FALSE; if (keyval != keys->accel_key) { keys->accel_key = keyval; g_object_notify (G_OBJECT (keys), "accel_key"); changed = TRUE; } if (mask != keys->accel_mask) { keys->accel_mask = mask; g_object_notify (G_OBJECT (keys), "accel_mask"); changed = TRUE; } if (keycode != keys->keycode) { keys->keycode = keycode; g_object_notify (G_OBJECT (keys), "keycode"); changed = TRUE; } g_object_thaw_notify (G_OBJECT (keys)); if (changed) { /* sync string to the key values */ celltext = GTK_CELL_RENDERER_TEXT (keys); text = convert_keysym_state_to_string (keys->accel_key, keys->keycode, keys->accel_mask); g_object_set (keys, "text", text, NULL); g_free (text); } }