]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktextiter.h
Added gtk_text_iter_assign API
[~andy/gtk] / gtk / gtktextiter.h
index 72303ea931373522bf41f8064807955be42bf1e7..bca4eeaeebaa370e2103c20d8309463aa8892006 100644 (file)
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
-#ifndef GTK_TEXT_ITER_H
-#define GTK_TEXT_ITER_H
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
 
-#include <gtk/gtktexttag.h>
+#ifndef __GTK_TEXT_ITER_H__
+#define __GTK_TEXT_ITER_H__
+
+#include <gtk/gtktextattributes.h>
 #include <gtk/gtktextchild.h>
+#include <gtk/gtktexttag.h>
+
+G_BEGIN_DECLS
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+typedef enum {
+  GTK_TEXT_SEARCH_VISIBLE_ONLY     = 1 << 0,
+  GTK_TEXT_SEARCH_TEXT_ONLY        = 1 << 1,
+  GTK_TEXT_SEARCH_CASE_INSENSITIVE = 1 << 2
+  /* Possible future plans: SEARCH_REGEXP */
+} GtkTextSearchFlags;
 
 /*
  * Iter: represents a location in the text. Becomes invalid if the
@@ -42,7 +52,14 @@ extern "C" {
 
 typedef struct _GtkTextBuffer GtkTextBuffer;
 
+#define GTK_TYPE_TEXT_ITER     (gtk_text_iter_get_type ())
+
 struct _GtkTextIter {
+  /* GtkTextIter is an opaque datatype; ignore all these fields.
+   * Initialize the iter with gtk_text_buffer_get_iter_*
+   * functions
+   */
+  /*< private >*/
   gpointer dummy1;
   gpointer dummy2;
   gint dummy3;
@@ -55,6 +72,9 @@ struct _GtkTextIter {
   gpointer dummy10;
   gint dummy11;
   gint dummy12;
+  /* padding */
+  gint dummy13;
+  gpointer dummy14;
 };
 
 
@@ -68,6 +88,10 @@ GtkTextBuffer *gtk_text_iter_get_buffer (const GtkTextIter *iter);
 
 GtkTextIter *gtk_text_iter_copy     (const GtkTextIter *iter);
 void         gtk_text_iter_free     (GtkTextIter       *iter);
+void         gtk_text_iter_assign   (GtkTextIter       *iter,
+                                     const GtkTextIter *other);
+
+GType        gtk_text_iter_get_type (void) G_GNUC_CONST;
 
 /*
  * Convert to different kinds of index
@@ -172,6 +196,20 @@ gboolean gtk_text_iter_forward_word_ends    (GtkTextIter *iter,
                                              gint         count);
 gboolean gtk_text_iter_backward_word_starts (GtkTextIter *iter,
                                              gint         count);
+                                             
+gboolean gtk_text_iter_forward_visible_line   (GtkTextIter *iter);
+gboolean gtk_text_iter_backward_visible_line  (GtkTextIter *iter);
+gboolean gtk_text_iter_forward_visible_lines  (GtkTextIter *iter,
+                                               gint         count);
+gboolean gtk_text_iter_backward_visible_lines (GtkTextIter *iter,
+                                               gint         count);
+
+gboolean gtk_text_iter_forward_visible_word_end     (GtkTextIter *iter);
+gboolean gtk_text_iter_backward_visible_word_start  (GtkTextIter *iter);
+gboolean gtk_text_iter_forward_visible_word_ends    (GtkTextIter *iter,
+                                             gint         count);
+gboolean gtk_text_iter_backward_visible_word_starts (GtkTextIter *iter,
+                                             gint         count);
 
 gboolean gtk_text_iter_forward_sentence_end     (GtkTextIter *iter);
 gboolean gtk_text_iter_backward_sentence_start  (GtkTextIter *iter);
@@ -191,6 +229,12 @@ gboolean gtk_text_iter_forward_cursor_positions  (GtkTextIter *iter,
 gboolean gtk_text_iter_backward_cursor_positions (GtkTextIter *iter,
                                                   gint         count);
 
+gboolean gtk_text_iter_forward_visible_cursor_position   (GtkTextIter *iter);
+gboolean gtk_text_iter_backward_visible_cursor_position  (GtkTextIter *iter);
+gboolean gtk_text_iter_forward_visible_cursor_positions  (GtkTextIter *iter,
+                                                          gint         count);
+gboolean gtk_text_iter_backward_visible_cursor_positions (GtkTextIter *iter,
+                                                          gint         count);
 
 void     gtk_text_iter_set_offset         (GtkTextIter *iter,
                                            gint         char_offset);
@@ -231,21 +275,18 @@ gboolean gtk_text_iter_backward_find_char (GtkTextIter          *iter,
 
 gboolean gtk_text_iter_forward_search  (const GtkTextIter *iter,
                                         const gchar       *str,
-                                        gboolean           visible_only,
-                                        gboolean           slice,
+                                        GtkTextSearchFlags flags,
                                         GtkTextIter       *match_start,
                                         GtkTextIter       *match_end,
                                         const GtkTextIter *limit);
 
 gboolean gtk_text_iter_backward_search (const GtkTextIter *iter,
                                         const gchar       *str,
-                                        gboolean           visible_only,
-                                        gboolean           slice,
+                                        GtkTextSearchFlags flags,
                                         GtkTextIter       *match_start,
                                         GtkTextIter       *match_end,
                                         const GtkTextIter *limit);
 
-
 /*
  * Comparisons
  */
@@ -261,10 +302,6 @@ gboolean gtk_text_iter_in_range        (const GtkTextIter *iter,
 void     gtk_text_iter_order           (GtkTextIter *first,
                                         GtkTextIter *second);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif
-
-