PROP_HAS_FRAME,
PROP_FOCUS_ON_CLICK,
PROP_POPUP_SHOWN,
- PROP_BUTTON_SENSITIVITY
+ PROP_BUTTON_SENSITIVITY,
+ PROP_EDITING_CANCELED
};
static guint combo_box_signals[LAST_SIGNAL] = {0,};
GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_END);
/* properties */
+ g_object_class_override_property (object_class,
+ PROP_EDITING_CANCELED,
+ "editing-canceled");
+
/**
* GtkComboBox:model:
*
switch (prop_id)
{
- case PROP_MODEL:
- gtk_combo_box_set_model (combo_box, g_value_get_object (value));
- break;
+ case PROP_MODEL:
+ gtk_combo_box_set_model (combo_box, g_value_get_object (value));
+ break;
- case PROP_WRAP_WIDTH:
- gtk_combo_box_set_wrap_width (combo_box, g_value_get_int (value));
- break;
+ case PROP_WRAP_WIDTH:
+ gtk_combo_box_set_wrap_width (combo_box, g_value_get_int (value));
+ break;
- case PROP_ROW_SPAN_COLUMN:
- gtk_combo_box_set_row_span_column (combo_box, g_value_get_int (value));
- break;
+ case PROP_ROW_SPAN_COLUMN:
+ gtk_combo_box_set_row_span_column (combo_box, g_value_get_int (value));
+ break;
- case PROP_COLUMN_SPAN_COLUMN:
- gtk_combo_box_set_column_span_column (combo_box, g_value_get_int (value));
- break;
+ case PROP_COLUMN_SPAN_COLUMN:
+ gtk_combo_box_set_column_span_column (combo_box, g_value_get_int (value));
+ break;
- case PROP_ACTIVE:
- gtk_combo_box_set_active (combo_box, g_value_get_int (value));
- break;
+ case PROP_ACTIVE:
+ gtk_combo_box_set_active (combo_box, g_value_get_int (value));
+ break;
- case PROP_ADD_TEAROFFS:
- gtk_combo_box_set_add_tearoffs (combo_box, g_value_get_boolean (value));
- break;
+ case PROP_ADD_TEAROFFS:
+ gtk_combo_box_set_add_tearoffs (combo_box, g_value_get_boolean (value));
+ break;
- case PROP_HAS_FRAME:
- combo_box->priv->has_frame = g_value_get_boolean (value);
- break;
+ case PROP_HAS_FRAME:
+ combo_box->priv->has_frame = g_value_get_boolean (value);
+ break;
- case PROP_FOCUS_ON_CLICK:
- gtk_combo_box_set_focus_on_click (combo_box,
- g_value_get_boolean (value));
- break;
+ case PROP_FOCUS_ON_CLICK:
+ gtk_combo_box_set_focus_on_click (combo_box,
+ g_value_get_boolean (value));
+ break;
- case PROP_TEAROFF_TITLE:
- gtk_combo_box_set_title (combo_box, g_value_get_string (value));
- break;
+ case PROP_TEAROFF_TITLE:
+ gtk_combo_box_set_title (combo_box, g_value_get_string (value));
+ break;
- case PROP_POPUP_SHOWN:
- if (g_value_get_boolean (value))
- gtk_combo_box_popup (combo_box);
- else
- gtk_combo_box_popdown (combo_box);
- break;
+ case PROP_POPUP_SHOWN:
+ if (g_value_get_boolean (value))
+ gtk_combo_box_popup (combo_box);
+ else
+ gtk_combo_box_popdown (combo_box);
+ break;
- case PROP_BUTTON_SENSITIVITY:
- gtk_combo_box_set_button_sensitivity (combo_box,
- g_value_get_enum (value));
- break;
+ case PROP_BUTTON_SENSITIVITY:
+ gtk_combo_box_set_button_sensitivity (combo_box,
+ g_value_get_enum (value));
+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
+ case PROP_EDITING_CANCELED:
+ combo_box->priv->editing_canceled = g_value_get_boolean (value);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
}
}
GParamSpec *pspec)
{
GtkComboBox *combo_box = GTK_COMBO_BOX (object);
+ GtkComboBoxPrivate *priv = GTK_COMBO_BOX_GET_PRIVATE (combo_box);
switch (prop_id)
{
g_value_set_enum (value, combo_box->priv->button_sensitivity);
break;
+ case PROP_EDITING_CANCELED:
+ g_value_set_boolean (value, priv->editing_canceled);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
sx = sy = 0;
- if (GTK_WIDGET_NO_WINDOW (child))
+ if (!gtk_widget_get_has_window (child))
{
sx += child->allocation.x;
sy += child->allocation.y;
*x = *y = 0;
- if (GTK_WIDGET_NO_WINDOW (sample))
+ if (!gtk_widget_get_has_window (sample))
{
*x += sample->allocation.x;
*y += sample->allocation.y;
gtk_tree_path_free (path);
- combo_box->priv->editing_canceled = FALSE;
+ g_object_set (combo_box,
+ "editing-canceled", FALSE,
+ NULL);
}
static void
gtk_widget_set_sensitive (combo_box->priv->button, sensitive);
/* In list-mode, we also need to update sensitivity of the event box */
- if (GTK_IS_TREE_VIEW (combo_box->priv->tree_view))
+ if (GTK_IS_TREE_VIEW (combo_box->priv->tree_view)
+ && combo_box->priv->cell_view)
gtk_widget_set_sensitive (combo_box->priv->box, sensitive);
}
/**
* gtk_combo_box_set_model:
* @combo_box: A #GtkComboBox
- * @model: A #GtkTreeModel
+ * @model: (allow-none): A #GtkTreeModel
*
- * Sets the model used by @combo_box to be @model. Will unset a previously set
+ * Sets the model used by @combo_box to be @model. Will unset a previously set
* model (if applicable). If model is %NULL, then it will unset the model.
*
* Note that this function does not clear the cell renderers, you have to
*
* Returns the #GtkTreeModel which is acting as data source for @combo_box.
*
- * Return value: A #GtkTreeModel which was passed during construction.
+ * Return value: (transfer none): A #GtkTreeModel which was passed during construction.
*
* Since: 2.4
*/
* gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and
* gtk_combo_box_remove_text().
*
- * Return value: A new text combo box.
+ * Return value: (transfer none): A new text combo box.
*
* Since: 2.4
*/
if (event->keyval == GDK_Escape)
{
- combo_box->priv->editing_canceled = TRUE;
-
+ g_object_set (combo_box,
+ "editing-canceled", TRUE,
+ NULL);
gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box));
gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box));
combo_box, 0);
/* we unset this if a menu item is activated */
- combo_box->priv->editing_canceled = TRUE;
+ g_object_set (combo_box,
+ "editing-canceled", TRUE,
+ NULL);
gtk_combo_box_popup (combo_box);
combo_box->priv->popup_idle_id = 0;
}
}
-gboolean
-_gtk_combo_box_editing_canceled (GtkComboBox *combo_box)
-{
- g_return_val_if_fail (GTK_IS_COMBO_BOX (combo_box), TRUE);
-
- return combo_box->priv->editing_canceled;
-}
-
/**
* gtk_combo_box_get_popup_accessible:
* @combo_box: a #GtkComboBox