/** * st_button_get_checked: * @button: a #StButton * * Get the state of the button that is in toggle mode. * * Returns: %TRUE if the button is checked, or %FALSE if not */ gboolean st_button_get_checked (StButton *button) { g_return_val_if_fail (ST_IS_BUTTON (button), FALSE); return button->priv->is_checked; }
/** * st_button_get_toggle_mode: * @button: a #StButton * * Get the toggle mode status of the button. * * Returns: %TRUE if toggle mode is set, otherwise %FALSE */ gboolean st_button_get_toggle_mode (StButton *button) { g_return_val_if_fail (ST_IS_BUTTON (button), FALSE); return button->priv->is_toggle; }
/** * st_button_get_button_mask: * @button: a #StButton * * Gets the mask of mouse buttons that @button emits the * #StButton::clicked signal for. * * Returns: the mask of mouse buttons that @button emits the * #StButton::clicked signal for. */ StButtonMask st_button_get_button_mask (StButton *button) { g_return_val_if_fail (ST_IS_BUTTON (button), 0); return button->priv->button_mask; }
/** * st_button_get_label: * @button: a #StButton * * Get the text displayed on the button * * Returns: the text for the button. This must not be freed by the application */ const gchar * st_button_get_label (StButton *button) { g_return_val_if_fail (ST_IS_BUTTON (button), NULL); return button->priv->text; }
/** * st_button_fake_release: * @button: an #StButton * * If this widget is holding a pointer grab, this function will * will ungrab it, and reset the pressed state. The effect is * similar to if the user had released the mouse button, but without * emitting the clicked signal. * * This function is useful if for example you want to do something * after the user is holding the mouse button for a given period of * time, breaking the grab. */ void st_button_fake_release (StButton *button) { StButtonPrivate *priv; g_return_if_fail (ST_IS_BUTTON (button)); priv = st_button_get_instance_private (button); if (priv->device && priv->press_sequence) { clutter_input_device_sequence_ungrab (priv->device, priv->press_sequence); } if (priv->pressed || priv->press_sequence) st_button_release (button, priv->device, priv->pressed, 0, NULL); if (priv->grabbed) { priv->grabbed = 0; clutter_ungrab_pointer (); } priv->device = NULL; }
/** * st_button_get_checked: * @button: a #StButton * * Get the state of the button that is in toggle mode. * * Returns: %TRUE if the button is checked, or %FALSE if not */ gboolean st_button_get_checked (StButton *button) { g_return_val_if_fail (ST_IS_BUTTON (button), FALSE); return ((StButtonPrivate *)st_button_get_instance_private (button))->is_checked; }
/** * st_button_get_toggle_mode: * @button: a #StButton * * Get the toggle mode status of the button. * * Returns: %TRUE if toggle mode is set, otherwise %FALSE */ gboolean st_button_get_toggle_mode (StButton *button) { g_return_val_if_fail (ST_IS_BUTTON (button), FALSE); return ((StButtonPrivate *)st_button_get_instance_private (button))->is_toggle; }
/** * st_button_get_button_mask: * @button: a #StButton * * Gets the mask of mouse buttons that @button emits the * #StButton::clicked signal for. * * Returns: the mask of mouse buttons that @button emits the * #StButton::clicked signal for. */ StButtonMask st_button_get_button_mask (StButton *button) { g_return_val_if_fail (ST_IS_BUTTON (button), 0); return ((StButtonPrivate *)st_button_get_instance_private (button))->button_mask; }
/** * st_button_get_label: * @button: a #StButton * * Get the text displayed on the button * * Returns: the text for the button. This must not be freed by the application */ const gchar * st_button_get_label (StButton *button) { g_return_val_if_fail (ST_IS_BUTTON (button), NULL); return ((StButtonPrivate *)st_button_get_instance_private (button))->text; }
/** * st_button_set_toggle_mode: * @button: a #Stbutton * @toggle: %TRUE or %FALSE * * Enables or disables toggle mode for the button. In toggle mode, the active * state will be "toggled" when the user clicks the button. */ void st_button_set_toggle_mode (StButton *button, gboolean toggle) { g_return_if_fail (ST_IS_BUTTON (button)); button->priv->is_toggle = toggle; g_object_notify (G_OBJECT (button), "toggle-mode"); }
/** * st_button_set_button_mask: * @button: a #Stbutton * @mask: the mask of mouse buttons that @button responds to * * Sets which mouse buttons @button emits #StButton::clicked for. */ void st_button_set_button_mask (StButton *button, StButtonMask mask) { g_return_if_fail (ST_IS_BUTTON (button)); button->priv->button_mask = mask; g_object_notify (G_OBJECT (button), "button-mask"); }
/** * st_button_set_toggle_mode: * @button: a #Stbutton * @toggle: %TRUE or %FALSE * * Enables or disables toggle mode for the button. In toggle mode, the active * state will be "toggled" when the user clicks the button. */ void st_button_set_toggle_mode (StButton *button, gboolean toggle) { StButtonPrivate *priv; g_return_if_fail (ST_IS_BUTTON (button)); priv = st_button_get_instance_private (button); priv->is_toggle = toggle; g_object_notify (G_OBJECT (button), "toggle-mode"); }
/** * st_button_set_button_mask: * @button: a #Stbutton * @mask: the mask of mouse buttons that @button responds to * * Sets which mouse buttons @button emits #StButton::clicked for. */ void st_button_set_button_mask (StButton *button, StButtonMask mask) { StButtonPrivate *priv; g_return_if_fail (ST_IS_BUTTON (button)); priv = st_button_get_instance_private (button); priv->button_mask = mask; g_object_notify (G_OBJECT (button), "button-mask"); }
/** * st_button_set_checked: * @button: a #Stbutton * @checked: %TRUE or %FALSE * * Sets the pressed state of the button. This is only really useful if the * button has #toggle-mode mode set to %TRUE. */ void st_button_set_checked (StButton *button, gboolean checked) { g_return_if_fail (ST_IS_BUTTON (button)); if (button->priv->is_checked != checked) { button->priv->is_checked = checked; st_widget_change_style_pseudo_class (ST_WIDGET (button), "checked", checked); } g_object_notify (G_OBJECT (button), "checked"); }
/** * st_button_set_checked: * @button: a #Stbutton * @checked: %TRUE or %FALSE * * Sets the pressed state of the button. This is only really useful if the * button has #toggle-mode mode set to %TRUE. */ void st_button_set_checked (StButton *button, gboolean checked) { StButtonPrivate *priv; g_return_if_fail (ST_IS_BUTTON (button)); priv = st_button_get_instance_private (button); if (priv->is_checked != checked) { priv->is_checked = checked; if (checked) st_widget_add_style_pseudo_class (ST_WIDGET (button), "checked"); else st_widget_remove_style_pseudo_class (ST_WIDGET (button), "checked"); } g_object_notify (G_OBJECT (button), "checked"); }
/** * st_button_set_label: * @button: a #Stbutton * @text: text to set the label to * * Sets the text displayed on the button */ void st_button_set_label (StButton *button, const gchar *text) { StButtonPrivate *priv; ClutterActor *label; g_return_if_fail (ST_IS_BUTTON (button)); priv = button->priv; g_free (priv->text); if (text) priv->text = g_strdup (text); else priv->text = g_strdup (""); label = st_bin_get_child (ST_BIN (button)); if (label && CLUTTER_IS_TEXT (label)) { clutter_text_set_text (CLUTTER_TEXT (label), priv->text); } else { label = g_object_new (CLUTTER_TYPE_TEXT, "text", priv->text, "line-alignment", PANGO_ALIGN_CENTER, "ellipsize", PANGO_ELLIPSIZE_END, "use-markup", TRUE, NULL); st_bin_set_child (ST_BIN (button), label); } /* Fake a style change so that we reset the style properties on the label */ st_widget_style_changed (ST_WIDGET (button)); g_object_notify (G_OBJECT (button), "label"); }