2008-07-01 22:57:50 +00:00
|
|
|
/* GDK - The GIMP Drawing Kit
|
2005-07-12 05:09:13 +00:00
|
|
|
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the
|
|
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
|
* Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
|
|
|
|
* file for a list of people on the GTK+ Team. See the ChangeLog
|
|
|
|
* files for a list of changes. These files are distributed with
|
2008-05-28 14:01:57 +00:00
|
|
|
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
2005-07-12 05:09:13 +00:00
|
|
|
*/
|
|
|
|
|
2008-05-28 14:01:57 +00:00
|
|
|
#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
|
|
|
|
#error "Only <gdk/gdk.h> can be included directly."
|
|
|
|
#endif
|
|
|
|
|
1999-10-01 23:18:30 +00:00
|
|
|
#ifndef __GDK_PROPERTY_H__
|
|
|
|
#define __GDK_PROPERTY_H__
|
|
|
|
|
|
|
|
#include <gdk/gdktypes.h>
|
|
|
|
|
2005-06-12 05:32:25 +00:00
|
|
|
G_BEGIN_DECLS
|
1999-10-01 23:18:30 +00:00
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
GDK_PROP_MODE_REPLACE,
|
|
|
|
GDK_PROP_MODE_PREPEND,
|
|
|
|
GDK_PROP_MODE_APPEND
|
|
|
|
} GdkPropMode;
|
|
|
|
|
2000-03-14 19:57:25 +00:00
|
|
|
GdkAtom gdk_atom_intern (const gchar *atom_name,
|
|
|
|
gboolean only_if_exists);
|
2005-09-11 05:39:45 +00:00
|
|
|
GdkAtom gdk_atom_intern_static_string (const gchar *atom_name);
|
2001-05-29 21:42:20 +00:00
|
|
|
gchar* gdk_atom_name (GdkAtom atom);
|
2000-03-14 19:57:25 +00:00
|
|
|
|
|
|
|
gboolean gdk_property_get (GdkWindow *window,
|
|
|
|
GdkAtom property,
|
|
|
|
GdkAtom type,
|
|
|
|
gulong offset,
|
|
|
|
gulong length,
|
|
|
|
gint pdelete,
|
|
|
|
GdkAtom *actual_property_type,
|
|
|
|
gint *actual_format,
|
|
|
|
gint *actual_length,
|
|
|
|
guchar **data);
|
|
|
|
void gdk_property_change (GdkWindow *window,
|
|
|
|
GdkAtom property,
|
|
|
|
GdkAtom type,
|
|
|
|
gint format,
|
|
|
|
GdkPropMode mode,
|
|
|
|
const guchar *data,
|
|
|
|
gint nelements);
|
|
|
|
void gdk_property_delete (GdkWindow *window,
|
|
|
|
GdkAtom property);
|
2002-04-25 22:29:14 +00:00
|
|
|
#ifndef GDK_MULTIHEAD_SAFE
|
2010-12-17 06:43:24 +00:00
|
|
|
#ifndef GDK_DISABLE_DEPRECATED
|
2000-03-14 19:57:25 +00:00
|
|
|
gint gdk_text_property_to_text_list (GdkAtom encoding,
|
|
|
|
gint format,
|
|
|
|
const guchar *text,
|
|
|
|
gint length,
|
|
|
|
gchar ***list);
|
Remove g_convert (moved to glib) and now useless utf_to_latin1()
Thu Sep 14 12:21:12 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttypes.[ch]: Remove g_convert (moved to
glib) and now useless utf_to_latin1() latin1_to_utf()
* gtk/gtktextview.[ch]: Change ::move_insert and
::delete_text action signals to ::move and ::delete;
create the signals with the right enumeration type,
not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
C-v bindings, change Home, End to move to beginning/end
of line, Add C-Home C-End to move to beginning/end
of buffer. Change ::cut_text to ::cut_clipboard, etc;
combine ::scroll_text into ::move; use new GtkSelectionData
functions to simplify DND text handling.
* gtk/gtkenums.h gtk/gtktextview.h: Move movement,
deletion enumerations here, rename enumeration values to
be consistently plural.
* gtk/gtktextbuffer.c: Use new clipboard interfaces
for cut/copy/paste and primary selection.
* gtk/gtktextbuffer.[ch]: Remove excess time and
'interactive' arguments from cut/copy/paste;
rename cut to cut_clipboard, etc; remove
gtk_text_buffer_get_clipboard_contents().
* gtk/gtktextlayout.[ch]: Add
gtk_text_layout_move_iter_to_line_end() to move the iter to
line ends.
* gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
Functions to set or get a UTF-8 string on the selection
data.
* gtk/gtkclipboard.[ch]: New, simplified selection handling
interfaces.
* gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
created widgets - one of these is useless if we don't.
* gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
a public function clear all targets registered for the
widget.
* gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
Never call gtk_widget_realize() - that was just asking
for bizarre side-effects.
* gtk/gtkselection.c (gtk_selection_owner_set): Call
gdk_selection_owner_set even if the widget is the
same so that we reliably update the timestamp on
the server.
* gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a
gdk_x11_get_server_time() function.
* gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
Add some tricky filtering on serial numbers for
selection clear events to fix up long-standard
race condition FIXME's in gtkselection.c.
* gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
routines to convert from utf8 to compound text or
STRING and from a text property to UTF-8.
* gtk/gtkmain.[ch] (gtk_get_current_event_time): Add
a convenience function gdk_get_current_event_time().
* gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
and free selection_data->data properly
2000-09-14 16:41:20 +00:00
|
|
|
gboolean gdk_utf8_to_compound_text (const gchar *str,
|
|
|
|
GdkAtom *encoding,
|
|
|
|
gint *format,
|
|
|
|
guchar **ctext,
|
|
|
|
gint *length);
|
2000-03-14 19:57:25 +00:00
|
|
|
gint gdk_string_to_compound_text (const gchar *str,
|
|
|
|
GdkAtom *encoding,
|
|
|
|
gint *format,
|
|
|
|
guchar **ctext,
|
|
|
|
gint *length);
|
2010-12-17 06:43:24 +00:00
|
|
|
gint gdk_text_property_to_utf8_list (GdkAtom encoding,
|
|
|
|
gint format,
|
|
|
|
const guchar *text,
|
|
|
|
gint length,
|
|
|
|
gchar ***list);
|
|
|
|
#endif
|
2002-04-25 22:29:14 +00:00
|
|
|
#endif
|
|
|
|
|
2010-12-17 06:43:24 +00:00
|
|
|
gint gdk_text_property_to_utf8_list_for_display (GdkDisplay *display,
|
2002-04-25 22:29:14 +00:00
|
|
|
GdkAtom encoding,
|
|
|
|
gint format,
|
|
|
|
const guchar *text,
|
|
|
|
gint length,
|
|
|
|
gchar ***list);
|
2010-12-17 06:43:24 +00:00
|
|
|
|
|
|
|
gchar *gdk_utf8_to_string_target (const gchar *str);
|
|
|
|
#ifndef GDK_DISABLE_DEPRECATED
|
|
|
|
gint gdk_text_property_to_text_list_for_display (GdkDisplay *display,
|
2002-04-25 22:29:14 +00:00
|
|
|
GdkAtom encoding,
|
|
|
|
gint format,
|
|
|
|
const guchar *text,
|
|
|
|
gint length,
|
|
|
|
gchar ***list);
|
|
|
|
gint gdk_string_to_compound_text_for_display (GdkDisplay *display,
|
|
|
|
const gchar *str,
|
|
|
|
GdkAtom *encoding,
|
|
|
|
gint *format,
|
|
|
|
guchar **ctext,
|
|
|
|
gint *length);
|
|
|
|
gboolean gdk_utf8_to_compound_text_for_display (GdkDisplay *display,
|
|
|
|
const gchar *str,
|
|
|
|
GdkAtom *encoding,
|
|
|
|
gint *format,
|
|
|
|
guchar **ctext,
|
|
|
|
gint *length);
|
|
|
|
|
|
|
|
void gdk_free_text_list (gchar **list);
|
2000-03-14 19:57:25 +00:00
|
|
|
void gdk_free_compound_text (guchar *ctext);
|
2010-12-17 06:43:24 +00:00
|
|
|
#endif
|
1999-10-01 23:18:30 +00:00
|
|
|
|
2005-06-12 05:32:25 +00:00
|
|
|
G_END_DECLS
|
1999-10-01 23:18:30 +00:00
|
|
|
|
|
|
|
#endif /* __GDK_PROPERTY_H__ */
|