]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkwidgetpath.h
Revert "combobox: Don't special-case RTL child positions anymore"
[~andy/gtk] / gtk / gtkwidgetpath.h
index 664562cbc446ab8c75c7da1e89448f45bd348020..73bf7c0e19c5da2637ddc2df151886c7c46f0d8b 100644 (file)
  * 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.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __GTK_WIDGET_PATH_H__
 #define __GTK_WIDGET_PATH_H__
 
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
 #include <glib-object.h>
+#include <gdk/gdk.h>
+#include <gtk/gtkenums.h>
+#include <gtk/gtktypes.h>
 
 G_BEGIN_DECLS
 
-typedef struct GtkWidgetPath GtkWidgetPath;
+#define GTK_TYPE_WIDGET_PATH (gtk_widget_path_get_type ())
+
+GType           gtk_widget_path_get_type            (void) G_GNUC_CONST;
+GtkWidgetPath * gtk_widget_path_new                 (void);
+
+GtkWidgetPath * gtk_widget_path_copy                (const GtkWidgetPath *path);
+GDK_AVAILABLE_IN_3_2
+GtkWidgetPath * gtk_widget_path_ref                 (GtkWidgetPath       *path);
+GDK_AVAILABLE_IN_3_2
+void            gtk_widget_path_unref               (GtkWidgetPath       *path);
+void            gtk_widget_path_free                (GtkWidgetPath       *path);
+
+GDK_AVAILABLE_IN_3_2
+char *          gtk_widget_path_to_string           (const GtkWidgetPath *path);
+gint            gtk_widget_path_length              (const GtkWidgetPath *path);
+
+gint            gtk_widget_path_append_type         (GtkWidgetPath       *path,
+                                                     GType                type);
+void            gtk_widget_path_prepend_type        (GtkWidgetPath       *path,
+                                                     GType                type);
+GDK_AVAILABLE_IN_3_2
+gint            gtk_widget_path_append_with_siblings(GtkWidgetPath       *path,
+                                                     GtkWidgetPath       *siblings,
+                                                     guint                sibling_index);
+/* gtk_widget_path_append_for_widget() is declared in gtkwidget.c */
+GDK_AVAILABLE_IN_3_2
+gint            gtk_widget_path_append_for_widget   (GtkWidgetPath       *path,
+                                                     GtkWidget           *widget);
+
+GType               gtk_widget_path_iter_get_object_type  (const GtkWidgetPath *path,
+                                                           gint                 pos);
+void                gtk_widget_path_iter_set_object_type  (GtkWidgetPath       *path,
+                                                           gint                 pos,
+                                                           GType                type);
+const GtkWidgetPath *
+                    gtk_widget_path_iter_get_siblings     (const GtkWidgetPath *path,
+                                                           gint                 pos);
+guint               gtk_widget_path_iter_get_sibling_index(const GtkWidgetPath *path,
+                                                           gint                 pos);
 
-typedef gboolean (* GtkWidgetPathForeachFunc) (GType        type,
-                                               const gchar *name,
-                                               gpointer     user_data);
+const gchar *          gtk_widget_path_iter_get_name  (const GtkWidgetPath *path,
+                                                       gint                 pos);
+void                   gtk_widget_path_iter_set_name  (GtkWidgetPath       *path,
+                                                       gint                 pos,
+                                                       const gchar         *name);
+gboolean               gtk_widget_path_iter_has_name  (const GtkWidgetPath *path,
+                                                       gint                 pos,
+                                                       const gchar         *name);
+gboolean               gtk_widget_path_iter_has_qname (const GtkWidgetPath *path,
+                                                       gint                 pos,
+                                                       GQuark               qname);
 
-GtkWidgetPath * gtk_widget_path_new (void);
+void     gtk_widget_path_iter_add_class     (GtkWidgetPath       *path,
+                                             gint                 pos,
+                                             const gchar         *name);
+void     gtk_widget_path_iter_remove_class  (GtkWidgetPath       *path,
+                                             gint                 pos,
+                                             const gchar         *name);
+void     gtk_widget_path_iter_clear_classes (GtkWidgetPath       *path,
+                                             gint                 pos);
+GSList * gtk_widget_path_iter_list_classes  (const GtkWidgetPath *path,
+                                             gint                 pos);
+gboolean gtk_widget_path_iter_has_class     (const GtkWidgetPath *path,
+                                             gint                 pos,
+                                             const gchar         *name);
+gboolean gtk_widget_path_iter_has_qclass    (const GtkWidgetPath *path,
+                                             gint                 pos,
+                                             GQuark               qname);
 
-void            gtk_widget_path_prepend_widget_desc (GtkWidgetPath *path,
-                                                     GType          type,
-                                                     const gchar   *name);
+void     gtk_widget_path_iter_add_region    (GtkWidgetPath      *path,
+                                             gint                pos,
+                                             const gchar        *name,
+                                             GtkRegionFlags     flags);
+void     gtk_widget_path_iter_remove_region (GtkWidgetPath      *path,
+                                             gint                pos,
+                                             const gchar        *name);
+void     gtk_widget_path_iter_clear_regions (GtkWidgetPath      *path,
+                                             gint                pos);
 
-GtkWidgetPath * gtk_widget_path_copy                (GtkWidgetPath *path);
-void            gtk_widget_path_free                (GtkWidgetPath *path);
+GSList * gtk_widget_path_iter_list_regions  (const GtkWidgetPath *path,
+                                             gint                 pos);
 
-gboolean        gtk_widget_path_has_parent          (GtkWidgetPath *path,
-                                                     GType          type);
+gboolean gtk_widget_path_iter_has_region    (const GtkWidgetPath *path,
+                                             gint                 pos,
+                                             const gchar         *name,
+                                             GtkRegionFlags      *flags);
+gboolean gtk_widget_path_iter_has_qregion   (const GtkWidgetPath *path,
+                                             gint                 pos,
+                                             GQuark               qname,
+                                             GtkRegionFlags      *flags);
 
-void            gtk_widget_path_foreach             (GtkWidgetPath            *path,
-                                                     GtkWidgetPathForeachFunc  func,
-                                                     gpointer                  user_data);
+GType           gtk_widget_path_get_object_type (const GtkWidgetPath *path);
 
+gboolean        gtk_widget_path_is_type    (const GtkWidgetPath *path,
+                                            GType                type);
+gboolean        gtk_widget_path_has_parent (const GtkWidgetPath *path,
+                                            GType                type);
 
 G_END_DECLS