texthandle: Remove relative_to API

It's unused now, GtkTextHandle uses widget coordinates.
This commit is contained in:
Carlos Garnacho 2013-12-23 19:15:30 +01:00
parent 844c6b8951
commit 4a8a2286e1
3 changed files with 12 additions and 49 deletions

View File

@ -3209,7 +3209,6 @@ gtk_entry_realize (GtkWidget *widget)
gtk_entry_adjust_scroll (entry);
gtk_entry_update_primary_selection (entry);
_gtk_text_handle_set_relative_to (priv->text_handle, priv->text_area);
/* If the icon positions are already setup, create their windows.
* Otherwise if they don't exist yet, then construct_icon_info()
@ -3237,7 +3236,6 @@ gtk_entry_unrealize (GtkWidget *widget)
gtk_entry_reset_layout (entry);
gtk_im_context_set_client_window (priv->im_context, NULL);
_gtk_text_handle_set_relative_to (priv->text_handle, NULL);
clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_PRIMARY);
if (gtk_clipboard_get_owner (clipboard) == G_OBJECT (entry))
@ -4062,13 +4060,22 @@ gtk_entry_move_handle (GtkEntry *entry,
}
else
{
GtkAllocation primary, secondary;
GdkRectangle rect;
gint win_x, win_y;
rect.x = CLAMP (x, 0, gdk_window_get_width (priv->text_area));
rect.y = y;
get_icon_allocations (entry, &primary, &secondary);
gtk_entry_get_text_area_size (entry, &win_x, &win_y, NULL, NULL);
rect.x = CLAMP (x, 0, gdk_window_get_width (priv->text_area)) + win_x;
rect.y = y + win_y;
rect.width = 1;
rect.height = height;
if (gtk_widget_get_direction (GTK_WIDGET (entry)) == GTK_TEXT_DIR_RTL)
rect.x += secondary.width;
else
rect.x += primary.width;
_gtk_text_handle_set_visible (priv->text_handle, pos, TRUE);
_gtk_text_handle_set_position (priv->text_handle, pos, &rect);
}

View File

@ -35,8 +35,7 @@ enum {
enum {
PROP_0,
PROP_PARENT,
PROP_RELATIVE_TO
PROP_PARENT
};
struct _HandleWindow
@ -55,7 +54,6 @@ struct _GtkTextHandlePrivate
{
HandleWindow windows[2];
GtkWidget *parent;
GdkWindow *relative_to;
guint mode : 2;
};
@ -306,9 +304,6 @@ gtk_text_handle_finalize (GObject *object)
priv = GTK_TEXT_HANDLE (object)->priv;
if (priv->relative_to)
g_object_unref (priv->relative_to);
if (priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_START].widget)
gtk_widget_destroy (priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_START].widget);
@ -335,10 +330,6 @@ gtk_text_handle_set_property (GObject *object,
case PROP_PARENT:
priv->parent = g_value_get_object (value);
break;
case PROP_RELATIVE_TO:
_gtk_text_handle_set_relative_to (handle,
g_value_get_object (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
@ -359,9 +350,6 @@ gtk_text_handle_get_property (GObject *object,
case PROP_PARENT:
g_value_set_object (value, priv->parent);
break;
case PROP_RELATIVE_TO:
g_value_set_object (value, priv->relative_to);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
@ -403,13 +391,6 @@ _gtk_text_handle_class_init (GtkTextHandleClass *klass)
GTK_TYPE_WIDGET,
GTK_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property (object_class,
PROP_RELATIVE_TO,
g_param_spec_object ("relative-to",
P_("Window"),
P_("Window the coordinates are based upon"),
GDK_TYPE_WINDOW,
GTK_PARAM_READWRITE));
}
static void
@ -426,27 +407,6 @@ _gtk_text_handle_new (GtkWidget *parent)
NULL);
}
void
_gtk_text_handle_set_relative_to (GtkTextHandle *handle,
GdkWindow *window)
{
GtkTextHandlePrivate *priv;
g_return_if_fail (GTK_IS_TEXT_HANDLE (handle));
g_return_if_fail (!window || GDK_IS_WINDOW (window));
priv = handle->priv;
if (priv->relative_to)
g_object_unref (priv->relative_to);
if (window)
g_object_ref (window);
priv->relative_to = window;
g_object_notify (G_OBJECT (handle), "relative-to");
}
void
_gtk_text_handle_set_mode (GtkTextHandle *handle,
GtkTextHandleMode mode)

View File

@ -4251,8 +4251,6 @@ gtk_text_view_realize (GtkWidget *widget)
/* Ensure updating the spot location. */
gtk_text_view_update_im_spot_location (text_view);
_gtk_text_handle_set_relative_to (priv->text_handle, priv->text_window->window);
}
static void
@ -4293,8 +4291,6 @@ gtk_text_view_unrealize (GtkWidget *widget)
if (priv->bottom_window)
text_window_unrealize (priv->bottom_window);
_gtk_text_handle_set_relative_to (priv->text_handle, NULL);
GTK_WIDGET_CLASS (gtk_text_view_parent_class)->unrealize (widget);
}