]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktreednd.h
GtkLabelAccessible: Sanity check _get_text() input values
[~andy/gtk] / gtk / gtktreednd.h
index fe1373ebfeb01629a85240643b1e8ace0f41cd4e..934d003a6432393984c9924aebe7d1d924b77d0b 100644 (file)
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library 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_TREE_DND_H__
 #define __GTK_TREE_DND_H__
 
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
 #include <gtk/gtktreemodel.h>
 #include <gtk/gtkdnd.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define GTK_TYPE_TREE_DRAG_SOURCE            (gtk_tree_drag_source_get_type ())
 #define GTK_TREE_DRAG_SOURCE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_DRAG_SOURCE, GtkTreeDragSource))
 #define GTK_IS_TREE_DRAG_SOURCE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_DRAG_SOURCE))
-#define GTK_TREE_DRAG_SOURCE_GET_IFACE(obj)  ((GtkTreeDragSourceIface *)g_type_interface_peek (((GTypeInstance *)GTK_TREE_DRAG_SOURCE (obj))->g_class, GTK_TYPE_TREE_DRAG_SOURCE))
+#define GTK_TREE_DRAG_SOURCE_GET_IFACE(obj)  (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_TREE_DRAG_SOURCE, GtkTreeDragSourceIface))
 
 typedef struct _GtkTreeDragSource      GtkTreeDragSource; /* Dummy typedef */
 typedef struct _GtkTreeDragSourceIface GtkTreeDragSourceIface;
@@ -41,6 +41,9 @@ struct _GtkTreeDragSourceIface
 
   /* VTable - not signals */
 
+  gboolean     (* row_draggable)        (GtkTreeDragSource   *drag_source,
+                                         GtkTreePath         *path);
+
   gboolean     (* drag_data_get)        (GtkTreeDragSource   *drag_source,
                                          GtkTreePath         *path,
                                          GtkSelectionData    *selection_data);
@@ -51,6 +54,10 @@ struct _GtkTreeDragSourceIface
 
 GType           gtk_tree_drag_source_get_type   (void) G_GNUC_CONST;
 
+/* Returns whether the given row can be dragged */
+gboolean gtk_tree_drag_source_row_draggable    (GtkTreeDragSource *drag_source,
+                                                GtkTreePath       *path);
+
 /* Deletes the given row, or returns FALSE if it can't */
 gboolean gtk_tree_drag_source_drag_data_delete (GtkTreeDragSource *drag_source,
                                                 GtkTreePath       *path);
@@ -65,7 +72,7 @@ gboolean gtk_tree_drag_source_drag_data_get    (GtkTreeDragSource *drag_source,
 #define GTK_TYPE_TREE_DRAG_DEST            (gtk_tree_drag_dest_get_type ())
 #define GTK_TREE_DRAG_DEST(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_DRAG_DEST, GtkTreeDragDest))
 #define GTK_IS_TREE_DRAG_DEST(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_DRAG_DEST))
-#define GTK_TREE_DRAG_DEST_GET_IFACE(obj)  ((GtkTreeDragDestIface *)g_type_interface_peek (((GTypeInstance *)GTK_TREE_DRAG_DEST (obj))->g_class, GTK_TYPE_TREE_DRAG_DEST))
+#define GTK_TREE_DRAG_DEST_GET_IFACE(obj)  (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_TREE_DRAG_DEST, GtkTreeDragDestIface))
 
 typedef struct _GtkTreeDragDest      GtkTreeDragDest; /* Dummy typedef */
 typedef struct _GtkTreeDragDestIface GtkTreeDragDestIface;
@@ -81,9 +88,8 @@ struct _GtkTreeDragDestIface
                                        GtkSelectionData  *selection_data);
 
   gboolean     (* row_drop_possible)  (GtkTreeDragDest   *drag_dest,
-                                       GtkTreeModel      *src_model,
-                                       GtkTreePath       *src_path,
-                                       GtkTreePath       *dest_path);
+                                       GtkTreePath       *dest_path,
+                                      GtkSelectionData  *selection_data);
 };
 
 GType           gtk_tree_drag_dest_get_type   (void) G_GNUC_CONST;
@@ -98,9 +104,8 @@ gboolean gtk_tree_drag_dest_drag_data_received (GtkTreeDragDest   *drag_dest,
 
 /* Returns TRUE if we can drop before path; path may not exist. */
 gboolean gtk_tree_drag_dest_row_drop_possible  (GtkTreeDragDest   *drag_dest,
-                                               GtkTreeModel      *src_model,
-                                               GtkTreePath       *src_path,
-                                               GtkTreePath       *dest_path);
+                                               GtkTreePath       *dest_path,
+                                               GtkSelectionData  *selection_data);
 
 
 /* The selection data would normally have target type GTK_TREE_MODEL_ROW in this
@@ -113,10 +118,6 @@ gboolean gtk_tree_get_row_drag_data            (GtkSelectionData  *selection_dat
                                                GtkTreeModel     **tree_model,
                                                GtkTreePath      **path);
 
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
+G_END_DECLS
 
 #endif /* __GTK_TREE_DND_H__ */