]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktextview.h
Revert name change
[~andy/gtk] / gtk / gtktextview.h
index ad0edb40d07bc06a7bd6452af5d563d65671eeb9..2dfe23ff428c5acf016dba1e77b2272b23184ae9 100644 (file)
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
-#ifndef GTK_TEXT_VIEW_H
-#define GTK_TEXT_VIEW_H
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
+#ifndef __GTK_TEXT_VIEW_H__
+#define __GTK_TEXT_VIEW_H__
 
 #include <gtk/gtkcontainer.h>
 #include <gtk/gtkimcontext.h>
 #include <gtk/gtktextbuffer.h>
 #include <gtk/gtkmenu.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define GTK_TYPE_TEXT_VIEW             (gtk_text_view_get_type ())
 #define GTK_TEXT_VIEW(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_VIEW, GtkTextView))
@@ -67,55 +69,54 @@ struct _GtkTextView
 {
   GtkContainer parent_instance;
 
-  struct _GtkTextLayout *layout;
-  GtkTextBuffer *buffer;
+  struct _GtkTextLayout *GSEAL (layout);
+  GtkTextBuffer *GSEAL (buffer);
 
-  guint selection_drag_handler;
-  guint scroll_timeout;
+  guint GSEAL (selection_drag_handler);
+  guint GSEAL (scroll_timeout);
 
   /* Default style settings */
-  gint pixels_above_lines;
-  gint pixels_below_lines;
-  gint pixels_inside_wrap;
-  GtkWrapMode wrap_mode;  
-  GtkJustification justify;
-  gint left_margin;
-  gint right_margin;
-  gint indent;
-  PangoTabArray *tabs;
-  guint editable : 1;
-
-  
-  
-  guint overwrite_mode : 1;
-  guint cursor_visible : 1;
-  guint  need_im_reset : 1;    /* If we have reset the IM since the last character entered */
-  /* just selected a word or line via double/triple click */
-  guint just_selected_element : 1;
-
-  /* disable scrolling to cursor on focus */
-  guint disable_scroll_on_focus : 1;
-  
+  gint GSEAL (pixels_above_lines);
+  gint GSEAL (pixels_below_lines);
+  gint GSEAL (pixels_inside_wrap);
+  GtkWrapMode GSEAL (wrap_mode);
+  GtkJustification GSEAL (justify);
+  gint GSEAL (left_margin);
+  gint GSEAL (right_margin);
+  gint GSEAL (indent);
+  PangoTabArray *GSEAL (tabs);
+  guint GSEAL (editable) : 1;
+
+  guint GSEAL (overwrite_mode) : 1;
+  guint GSEAL (cursor_visible) : 1;
+
+  /* if we have reset the IM since the last character entered */  
+  guint GSEAL (need_im_reset) : 1;
+
+  guint GSEAL (accepts_tab) : 1;
+
+  guint GSEAL (width_changed) : 1;
+
   /* debug flag - means that we've validated onscreen since the
    * last "invalidate" signal from the layout
    */
-  guint onscreen_validated : 1;
+  guint GSEAL (onscreen_validated) : 1;
+
+  guint GSEAL (mouse_cursor_obscured) : 1;
 
-  guint mouse_cursor_obscured : 1;
-  
-  GtkTextWindow *text_window;
-  GtkTextWindow *left_window;
-  GtkTextWindow *right_window;
-  GtkTextWindow *top_window;
-  GtkTextWindow *bottom_window;
+  GtkTextWindow *GSEAL (text_window);
+  GtkTextWindow *GSEAL (left_window);
+  GtkTextWindow *GSEAL (right_window);
+  GtkTextWindow *GSEAL (top_window);
+  GtkTextWindow *GSEAL (bottom_window);
 
-  GtkAdjustment *hadjustment;
-  GtkAdjustment *vadjustment;
+  GtkAdjustment *GSEAL (hadjustment);
+  GtkAdjustment *GSEAL (vadjustment);
 
-  gint xoffset;                 /* Offsets between widget coordinates and buffer coordinates */
-  gint yoffset;
-  gint width;                   /* Width and height of the buffer */
-  gint height;
+  gint GSEAL (xoffset);         /* Offsets between widget coordinates and buffer coordinates */
+  gint GSEAL (yoffset);
+  gint GSEAL (width);           /* Width and height of the buffer */
+  gint GSEAL (height);
 
   /* The virtual cursor position is normally the same as the
    * actual (strong) cursor position, except in two circumstances:
@@ -126,29 +127,29 @@ struct _GtkTextView
    * In case a), virtual_cursor_x is preserved, but not virtual_cursor_y
    * In case b), both virtual_cursor_x and virtual_cursor_y are preserved.
    */
-  gint virtual_cursor_x;           /* -1 means use actual cursor position */
-  gint virtual_cursor_y;           /* -1 means use actual cursor position */
+  gint GSEAL (virtual_cursor_x);   /* -1 means use actual cursor position */
+  gint GSEAL (virtual_cursor_y);   /* -1 means use actual cursor position */
 
-  GtkTextMark *first_para_mark;    /* Mark at the beginning of the first onscreen paragraph */
-  gint first_para_pixels;          /* Offset of top of screen in the first onscreen paragraph */
+  GtkTextMark *GSEAL (first_para_mark); /* Mark at the beginning of the first onscreen paragraph */
+  gint GSEAL (first_para_pixels);       /* Offset of top of screen in the first onscreen paragraph */
 
-  GtkTextMark *dnd_mark;
-  guint blink_timeout;
+  GtkTextMark *GSEAL (dnd_mark);
+  guint GSEAL (blink_timeout);
 
-  guint first_validate_idle;            /* Idle to revalidate onscreen portion, runs before resize */
-  guint incremental_validate_idle;      /* Idle to revalidate offscreen portions, runs after redraw */
+  guint GSEAL (first_validate_idle);        /* Idle to revalidate onscreen portion, runs before resize */
+  guint GSEAL (incremental_validate_idle);  /* Idle to revalidate offscreen portions, runs after redraw */
 
-  GtkIMContext *im_context;
-  GtkWidget *popup_menu;
+  GtkIMContext *GSEAL (im_context);
+  GtkWidget *GSEAL (popup_menu);
 
-  gint drag_start_x;
-  gint drag_start_y;
+  gint GSEAL (drag_start_x);
+  gint GSEAL (drag_start_y);
 
-  GSList *children;
+  GSList *GSEAL (children);
 
-  GtkTextPendingScroll *pending_scroll;
+  GtkTextPendingScroll *GSEAL (pending_scroll);
 
-  gint pending_place_cursor_button;
+  gint GSEAL (pending_place_cursor_button);
 };
 
 struct _GtkTextViewClass
@@ -161,7 +162,7 @@ struct _GtkTextViewClass
 
   void (* populate_popup)           (GtkTextView    *text_view,
                                      GtkMenu        *menu);
-  
+
   /* These are all RUN_ACTION signals for keybindings */
 
   /* move insertion point */
@@ -177,7 +178,7 @@ struct _GtkTextViewClass
   void (* page_horizontally) (GtkTextView *text_view,
                               gint         count,
                               gboolean     extend_selection);
-  
+
   /* move the "anchor" (what Emacs calls the mark) to the cursor position */
   void (* set_anchor)  (GtkTextView    *text_view);
 
@@ -187,6 +188,7 @@ struct _GtkTextViewClass
   void (* delete_from_cursor)    (GtkTextView  *text_view,
                                   GtkDeleteType type,
                                   gint          count);
+  void (* backspace)             (GtkTextView *text_view);
 
   /* cut copy paste */
   void (* cut_clipboard)   (GtkTextView *text_view);
@@ -195,11 +197,13 @@ struct _GtkTextViewClass
   /* overwrite */
   void (* toggle_overwrite) (GtkTextView *text_view);
 
-  /* propagates to GtkWindow move_focus */
+  /* as of GTK+ 2.12 the "move-focus" signal has been moved to GtkWidget,
+   * so this is merley a virtual function now. Overriding it in subclasses
+   * continues to work though.
+   */
   void (* move_focus)       (GtkTextView     *text_view,
-                             GtkDirectionType direction);  
-  
-  
+                             GtkDirectionType direction);
+
   /* Padding for future expansion */
   void (*_gtk_reserved1) (void);
   void (*_gtk_reserved2) (void);
@@ -208,7 +212,6 @@ struct _GtkTextViewClass
   void (*_gtk_reserved5) (void);
   void (*_gtk_reserved6) (void);
   void (*_gtk_reserved7) (void);
-  void (*_gtk_reserved8) (void);
 };
 
 GType          gtk_text_view_get_type              (void) G_GNUC_CONST;
@@ -248,6 +251,11 @@ void           gtk_text_view_get_iter_at_location  (GtkTextView   *text_view,
                                                     GtkTextIter   *iter,
                                                     gint           x,
                                                     gint           y);
+void           gtk_text_view_get_iter_at_position  (GtkTextView   *text_view,
+                                                    GtkTextIter   *iter,
+                                                   gint          *trailing,
+                                                    gint           x,
+                                                    gint           y);
 void           gtk_text_view_get_line_yrange       (GtkTextView       *text_view,
                                                     const GtkTextIter *iter,
                                                     gint              *y,
@@ -322,6 +330,12 @@ GtkWrapMode      gtk_text_view_get_wrap_mode          (GtkTextView      *text_vi
 void             gtk_text_view_set_editable           (GtkTextView      *text_view,
                                                        gboolean          setting);
 gboolean         gtk_text_view_get_editable           (GtkTextView      *text_view);
+void             gtk_text_view_set_overwrite          (GtkTextView      *text_view,
+                                                      gboolean          overwrite);
+gboolean         gtk_text_view_get_overwrite          (GtkTextView      *text_view);
+void            gtk_text_view_set_accepts_tab        (GtkTextView      *text_view,
+                                                      gboolean          accepts_tab);
+gboolean        gtk_text_view_get_accepts_tab        (GtkTextView      *text_view);
 void             gtk_text_view_set_pixels_above_lines (GtkTextView      *text_view,
                                                        gint              pixels_above_lines);
 gint             gtk_text_view_get_pixels_above_lines (GtkTextView      *text_view);
@@ -350,8 +364,6 @@ PangoTabArray*   gtk_text_view_get_tabs               (GtkTextView      *text_vi
 /* note that the return value of this changes with the theme */
 GtkTextAttributes* gtk_text_view_get_default_attributes (GtkTextView    *text_view);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
-#endif /* GTK_TEXT_VIEW_H */
+#endif /* __GTK_TEXT_VIEW_H__ */