3 * A file-manager extension which offers configurable context menu actions.
5 * Copyright (C) 2005 The GNOME Foundation
6 * Copyright (C) 2006-2008 Frederic Ruaudel and others (see AUTHORS)
7 * Copyright (C) 2009-2015 Pierre Wieser and others (see AUTHORS)
9 * FileManager-Actions is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of
12 * the License, or (at your option) any later version.
14 * FileManager-Actions is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with FileManager-Actions; see the file COPYING. If not, see
21 * <http://www.gnu.org/licenses/>.
24 * Frederic Ruaudel <grumz@grumz.net>
25 * Rodrigo Moya <rodrigo@gnome-db.org>
26 * Pierre Wieser <pwieser@trychlos.org>
27 * ... and many others (see AUTHORS)
31 * SECTION: fma_tree_model
32 * @short_description: #FMATreeModel private data definition.
33 * @include: ui/fma-tree-model-priv.h
36 #ifndef __UI_FMA_TREE_MODEL_PRIV_H__
37 #define __UI_FMA_TREE_MODEL_PRIV_H__
39 #include "base-window.h"
40 #include "egg-tree-multi-dnd.h"
41 #include "fma-clipboard.h"
45 /* private instance data
47 struct _FMATreeModelPrivate
{
48 gboolean dispose_has_run
;
50 /* data set at instanciation time
52 GtkTreeView
*treeview
;
53 gboolean item_updated_connected
;
56 /* must be initialized right after the instanciation
58 FMAMainWindow
*window
;
59 FMAClipboard
*clipboard
;
64 gboolean drag_has_profiles
;
65 gboolean drag_highlight
; /* defined for on_drag_motion handler */
66 gboolean drag_drop
; /* defined for on_drag_motion handler */
69 #define TREE_MODEL_STATUSBAR_CONTEXT "fma-tree-model-statusbar-context"
71 gboolean
fma_tree_model_dnd_idrag_dest_drag_data_received( GtkTreeDragDest
*drag_dest
, GtkTreePath
*dest
, GtkSelectionData
*selection_data
);
72 gboolean
fma_tree_model_dnd_idrag_dest_row_drop_possible( GtkTreeDragDest
*drag_dest
, GtkTreePath
*dest_path
, GtkSelectionData
*selection_data
);
74 gboolean
fma_tree_model_dnd_imulti_drag_source_drag_data_get( EggTreeMultiDragSource
*drag_source
, GdkDragContext
*context
, GtkSelectionData
*selection_data
, GList
*path_list
, guint info
);
75 gboolean
fma_tree_model_dnd_imulti_drag_source_drag_data_delete( EggTreeMultiDragSource
*drag_source
, GList
*path_list
);
76 GdkDragAction
fma_tree_model_dnd_imulti_drag_source_get_drag_actions( EggTreeMultiDragSource
*drag_source
);
77 GtkTargetList
*fma_tree_model_dnd_imulti_drag_source_get_format_list( EggTreeMultiDragSource
*drag_source
);
78 gboolean
fma_tree_model_dnd_imulti_drag_source_row_draggable( EggTreeMultiDragSource
*drag_source
, GList
*path_list
);
80 void fma_tree_model_dnd_on_drag_begin( GtkWidget
*widget
, GdkDragContext
*context
, BaseWindow
*window
);
81 /*gboolean on_drag_motion( GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time, BaseWindow *window );*/
82 /*gboolean on_drag_drop( GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time, BaseWindow *window );*/
83 void fma_tree_model_dnd_on_drag_end( GtkWidget
*widget
, GdkDragContext
*context
, BaseWindow
*window
);
87 #endif /* __UI_FMA_TREE_MODEL_PRIV_H__ */