]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - radiant/gtkfilesel.h
transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / radiant / gtkfilesel.h
1 /*\r
2 Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.\r
4 \r
5 This file is part of GtkRadiant.\r
6 \r
7 GtkRadiant is free software; you can redistribute it and/or modify\r
8 it under the terms of the GNU General Public License as published by\r
9 the Free Software Foundation; either version 2 of the License, or\r
10 (at your option) any later version.\r
11 \r
12 GtkRadiant is distributed in the hope that it will be useful,\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15 GNU General Public License for more details.\r
16 \r
17 You should have received a copy of the GNU General Public License\r
18 along with GtkRadiant; if not, write to the Free Software\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
20 */\r
21 \r
22 /* GTK - The GIMP Toolkit\r
23  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald\r
24  *\r
25  * This library is free software; you can redistribute it and/or\r
26  * modify it under the terms of the GNU Library General Public\r
27  * License as published by the Free Software Foundation; either\r
28  * version 2 of the License, or (at your option) any later version.\r
29  *\r
30  * This library is distributed in the hope that it will be useful,\r
31  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
32  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
33  * Library General Public License for more details.\r
34  *\r
35  * You should have received a copy of the GNU Library General Public\r
36  * License along with this library; if not, write to the\r
37  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\r
38  * Boston, MA 02111-1307, USA.\r
39  */\r
40 \r
41 /*\r
42  * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS\r
43  * file for a list of people on the GTK+ Team.  See the ChangeLog\r
44  * files for a list of changes.  These files are distributed with\r
45  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. \r
46  */\r
47 \r
48 #ifndef __GTK_FILESEL_H__\r
49 #define __GTK_FILESEL_H__\r
50 \r
51 \r
52 #include <gdk/gdk.h>\r
53 #include <gtk/gtkwindow.h>\r
54 \r
55 \r
56 #ifdef __cplusplus\r
57 extern "C" {\r
58 #endif /* __cplusplus */\r
59 \r
60 \r
61 #define GTK_TYPE_FILE_SELECTION            (gtk_file_selection_get_type ())\r
62 #define GTK_FILE_SELECTION(obj)            (GTK_CHECK_CAST ((obj), GTK_TYPE_FILE_SELECTION, GtkFileSelection))\r
63 #define GTK_FILE_SELECTION_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FILE_SELECTION, GtkFileSelectionClass))\r
64 #define GTK_IS_FILE_SELECTION(obj)         (GTK_CHECK_TYPE ((obj), GTK_TYPE_FILE_SELECTION))\r
65 #define GTK_IS_FILE_SELECTION_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FILE_SELECTION))\r
66 \r
67 \r
68 typedef struct _GtkFileSelection       GtkFileSelection;\r
69 typedef struct _GtkFileSelectionClass  GtkFileSelectionClass;\r
70 \r
71 struct _GtkFileSelection\r
72 {\r
73   GtkWindow window;\r
74 \r
75   GtkWidget *dir_list;\r
76   GtkWidget *file_list;\r
77   GtkWidget *selection_entry;\r
78   GtkWidget *selection_text;\r
79   GtkWidget *main_vbox;\r
80   GtkWidget *ok_button;\r
81   GtkWidget *cancel_button;\r
82   GtkWidget *help_button;\r
83 \r
84   /* These are not used.  Just fillers in the class structure */\r
85   GtkWidget *history_pulldown;\r
86   GtkWidget *history_menu;\r
87   GList     *history_list;\r
88   /* ***************** */\r
89         \r
90   GtkWidget *fileop_dialog;\r
91   GtkWidget *fileop_entry;\r
92   gchar     *fileop_file;\r
93   gpointer   cmpl_state;\r
94   \r
95   GtkWidget *fileop_c_dir;\r
96   GtkWidget *fileop_del_file;\r
97   GtkWidget *fileop_ren_file;\r
98   \r
99   GtkWidget *button_area;\r
100   GtkWidget *action_area;\r
101 \r
102   GtkWidget *history_combo;\r
103   GList     *prev_history;\r
104   GList     *next_history;\r
105   GtkWidget *mask_entry;\r
106   gchar     *mask;\r
107   gchar     *saved_entry;\r
108 \r
109 };\r
110 \r
111 struct _GtkFileSelectionClass\r
112 {\r
113   GtkWindowClass parent_class;\r
114 };\r
115 \r
116 \r
117 GtkType    gtk_file_selection_get_type            (void);\r
118 GtkWidget* gtk_file_selection_new                 (const gchar      *title);\r
119 void       gtk_file_selection_set_filename        (GtkFileSelection *filesel,\r
120                                                    const gchar      *filename);\r
121 gchar*     gtk_file_selection_get_filename        (GtkFileSelection *filesel);\r
122 void       gtk_file_selection_complete            (GtkFileSelection *filesel,\r
123                                                    const gchar      *pattern);\r
124 void       gtk_file_selection_show_fileop_buttons (GtkFileSelection *filesel);\r
125 void       gtk_file_selection_hide_fileop_buttons (GtkFileSelection *filesel);\r
126 \r
127 \r
128 #ifdef __cplusplus\r
129 }\r
130 #endif /* __cplusplus */\r
131 \r
132 \r
133 #endif /* __GTK_FILESEL_H__ */\r
134 \r
135 \r
136 \r
137 \r
138 \r
139 \r
140 \r
141 \r
142 \r
143 \r