2006-08-13 04:00:15 -05:00
|
|
|
/*
|
|
|
|
* moofileview-impl.h
|
|
|
|
*
|
2008-09-05 17:20:50 -05:00
|
|
|
* Copyright (C) 2004-2008 by Yevgen Muntyan <muntyan@tamu.edu>
|
2006-08-13 04:00:15 -05:00
|
|
|
*
|
2008-09-05 17:20:50 -05:00
|
|
|
* This file is part of medit. medit is free software; you can
|
|
|
|
* redistribute it and/or modify it under the terms of the
|
|
|
|
* GNU Lesser General Public License as published by the
|
|
|
|
* Free Software Foundation; either version 2.1 of the License,
|
|
|
|
* or (at your option) any later version.
|
2006-08-13 04:00:15 -05:00
|
|
|
*
|
2008-09-05 17:20:50 -05:00
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with medit. If not, see <http://www.gnu.org/licenses/>.
|
2006-08-13 04:00:15 -05:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <moofileview/moofileview.h>
|
|
|
|
#include <gtk/gtkvbox.h>
|
|
|
|
#include <gtk/gtkmenu.h>
|
|
|
|
|
2007-06-10 04:06:03 -05:00
|
|
|
#ifndef MOO_FILE_VIEW_IMPL_H
|
|
|
|
#define MOO_FILE_VIEW_IMPL_H
|
2006-08-13 04:00:15 -05:00
|
|
|
|
|
|
|
|
2008-09-07 10:56:37 -05:00
|
|
|
typedef struct MooFileViewPrivate MooFileViewPrivate;
|
2006-08-13 04:00:15 -05:00
|
|
|
|
2008-09-07 10:56:37 -05:00
|
|
|
struct MooFileView
|
2006-08-13 04:00:15 -05:00
|
|
|
{
|
|
|
|
GtkVBox vbox;
|
|
|
|
GtkWidget *toolbar;
|
|
|
|
MooFileViewPrivate *priv;
|
|
|
|
};
|
|
|
|
|
2008-09-07 10:56:37 -05:00
|
|
|
struct MooFileViewClass
|
2006-08-13 04:00:15 -05:00
|
|
|
{
|
|
|
|
GtkVBoxClass vbox_class;
|
|
|
|
|
|
|
|
gboolean (*chdir) (MooFileView *fileview,
|
|
|
|
const char *dir,
|
|
|
|
GError **error);
|
|
|
|
void (*populate_popup) (MooFileView *fileview,
|
|
|
|
GList *selected,
|
|
|
|
GtkMenu *menu);
|
|
|
|
void (*activate) (MooFileView *fileview,
|
|
|
|
const char *path);
|
|
|
|
|
|
|
|
gboolean (*drop) (MooFileView *fileview,
|
|
|
|
const char *path,
|
|
|
|
GtkWidget *widget,
|
|
|
|
GdkDragContext *context,
|
|
|
|
int x,
|
|
|
|
int y,
|
|
|
|
guint time);
|
|
|
|
gboolean (*drop_data_received) (MooFileView *fileview,
|
|
|
|
const char *path,
|
|
|
|
GtkWidget *widget,
|
|
|
|
GdkDragContext *context,
|
|
|
|
int x,
|
|
|
|
int y,
|
|
|
|
GtkSelectionData *data,
|
|
|
|
guint info,
|
|
|
|
guint time);
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
void _moo_file_view_select_name (MooFileView *fileview,
|
|
|
|
const char *name);
|
|
|
|
|
2006-12-05 23:21:20 -06:00
|
|
|
void _moo_file_view_setup_button_drag_dest (MooFileView *fileview,
|
|
|
|
const char *xml_path,
|
|
|
|
const char *sig_name);
|
2006-08-13 04:00:15 -05:00
|
|
|
void _moo_file_view_add_target (MooFileView *fileview,
|
|
|
|
GdkAtom target,
|
|
|
|
guint flags,
|
|
|
|
guint info);
|
|
|
|
|
|
|
|
void _moo_file_view_drag_finish (MooFileView *fileview,
|
|
|
|
GdkDragContext *context,
|
|
|
|
gboolean success,
|
|
|
|
gboolean delete_data,
|
|
|
|
guint time);
|
|
|
|
|
|
|
|
|
|
|
|
/* returns list of absolute paths, must be freed together with content */
|
|
|
|
GList *_moo_file_view_get_filenames (MooFileView *fileview);
|
|
|
|
|
|
|
|
|
2007-06-10 04:06:03 -05:00
|
|
|
#endif /* MOO_FILE_VIEW_IMPL_H */
|