~ubuntu-branches/ubuntu/intrepid/libgtkada2/intrepid

« back to all changes in this revision

Viewing changes to src/gtk-file_chooser.adb

  • Committer: Bazaar Package Importer
  • Author(s): Luca Falavigna
  • Date: 2008-08-11 09:46:51 UTC
  • mfrom: (6.1.1 squeeze)
  • Revision ID: james.westby@ubuntu.com-20080811094651-9mjd6acwa98ffw5c
Tags: 2.12.0-2ubuntu1
Add lpia to supported architectures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
-----------------------------------------------------------------------
 
2
--              GtkAda - Ada95 binding for Gtk+/Gnome                --
 
3
--                                                                   --
 
4
--                Copyright (C) 2006, AdaCore                        --
 
5
--                                                                   --
 
6
-- This library is free software; you can redistribute it and/or     --
 
7
-- modify it under the terms of the GNU General Public               --
 
8
-- License as published by the Free Software Foundation; either      --
 
9
-- version 2 of the License, or (at your option) any later version.  --
 
10
--                                                                   --
 
11
-- This library is distributed in the hope that it will be useful,   --
 
12
-- but WITHOUT ANY WARRANTY; without even the implied warranty of    --
 
13
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU --
 
14
-- General Public License for more details.                          --
 
15
--                                                                   --
 
16
-- You should have received a copy of the GNU General Public         --
 
17
-- License along with this library; if not, write to the             --
 
18
-- Free Software Foundation, Inc., 59 Temple Place - Suite 330,      --
 
19
-- Boston, MA 02111-1307, USA.                                       --
 
20
--                                                                   --
 
21
-----------------------------------------------------------------------
 
22
 
 
23
with Gtk.File_Filter;      use Gtk.File_Filter;
 
24
with Interfaces.C.Strings; use Interfaces.C.Strings;
 
25
 
 
26
package body Gtk.File_Chooser is
 
27
 
 
28
   ----------------
 
29
   -- Add_Filter --
 
30
   ----------------
 
31
 
 
32
   procedure Add_Filter
 
33
     (Chooser : Gtk_File_Chooser;
 
34
      Filter  : access Gtk.File_Filter.Gtk_File_Filter_Record'Class)
 
35
   is
 
36
      procedure Internal
 
37
        (Chooser : Gtk_File_Chooser;
 
38
         Filter  : System.Address);
 
39
      pragma Import (C, Internal, "gtk_file_chooser_add_filter");
 
40
   begin
 
41
      Internal (Chooser, Get_Object (Filter));
 
42
   end Add_Filter;
 
43
 
 
44
   -------------------------
 
45
   -- Add_Shortcut_Folder --
 
46
   -------------------------
 
47
 
 
48
   function Add_Shortcut_Folder
 
49
     (Chooser : Gtk_File_Chooser;
 
50
      Folder  : String) return Glib.Error.GError
 
51
   is
 
52
      function Internal
 
53
        (Chooser : Gtk_File_Chooser;
 
54
         Folder  : String;
 
55
         Error   : access Glib.Error.GError)
 
56
         return Gboolean;
 
57
      pragma Import (C, Internal, "gtk_file_chooser_add_shortcut_folder");
 
58
      Err : aliased Glib.Error.GError;
 
59
   begin
 
60
      if Internal (Chooser, Folder & ASCII.NUL, Err'Unchecked_Access) = 0 then
 
61
         return Err;
 
62
      else
 
63
         return null;
 
64
      end if;
 
65
   end Add_Shortcut_Folder;
 
66
 
 
67
   -----------------------------
 
68
   -- Add_Shortcut_Folder_Uri --
 
69
   -----------------------------
 
70
 
 
71
   function Add_Shortcut_Folder_Uri
 
72
     (Chooser : Gtk_File_Chooser;
 
73
      Uri     : String) return Glib.Error.GError
 
74
   is
 
75
      function Internal
 
76
        (Chooser : Gtk_File_Chooser;
 
77
         Folder  : String;
 
78
         Error   : access Glib.Error.GError)
 
79
         return Gboolean;
 
80
      pragma Import (C, Internal, "gtk_file_chooser_add_shortcut_folder_uri");
 
81
      Err : aliased Glib.Error.GError;
 
82
   begin
 
83
      if Internal (Chooser, Uri & ASCII.NUL, Err'Unchecked_Access) = 0 then
 
84
         return Err;
 
85
      else
 
86
         return null;
 
87
      end if;
 
88
   end Add_Shortcut_Folder_Uri;
 
89
 
 
90
   -----------------------------------
 
91
   -- Get_Do_Overwrite_Confirmation --
 
92
   -----------------------------------
 
93
 
 
94
   function Get_Do_Overwrite_Confirmation
 
95
     (Chooser : Gtk_File_Chooser) return Boolean
 
96
   is
 
97
      function Internal (Chooser : Gtk_File_Chooser) return Gboolean;
 
98
      pragma Import
 
99
        (C, Internal, "gtk_file_chooser_get_do_overwrite_confirmation");
 
100
   begin
 
101
      return Boolean'Val (Internal (Chooser));
 
102
   end Get_Do_Overwrite_Confirmation;
 
103
 
 
104
   ------------------
 
105
   -- Get_Filename --
 
106
   ------------------
 
107
 
 
108
   function Get_Filename (Chooser : Gtk_File_Chooser) return String is
 
109
      function Internal
 
110
        (Chooser : Gtk_File_Chooser) return Interfaces.C.Strings.chars_ptr;
 
111
      pragma Import (C, Internal, "gtk_file_chooser_get_filename");
 
112
 
 
113
      Result : chars_ptr := Internal (Chooser);
 
114
   begin
 
115
      if Result = Null_Ptr then
 
116
         return "";
 
117
      else
 
118
         declare
 
119
            File   : constant String := Value (Result);
 
120
         begin
 
121
            Free (Result);
 
122
            return File;
 
123
         end;
 
124
      end if;
 
125
   end Get_Filename;
 
126
 
 
127
   -------------------
 
128
   -- Get_Filenames --
 
129
   -------------------
 
130
 
 
131
   function Get_Filenames
 
132
     (Chooser : Gtk_File_Chooser) return Gtk.Enums.String_SList.GSlist
 
133
   is
 
134
      function Internal (Chooser : Gtk_File_Chooser) return System.Address;
 
135
      pragma Import (C, Internal, "gtk_file_chooser_get_filenames");
 
136
      L : Gtk.Enums.String_SList.GSlist;
 
137
   begin
 
138
      Gtk.Enums.String_SList.Set_Object (L, Internal (Chooser));
 
139
      return L;
 
140
   end Get_Filenames;
 
141
 
 
142
   ------------------------
 
143
   -- Get_Current_Folder --
 
144
   ------------------------
 
145
 
 
146
   function Get_Current_Folder (Chooser : Gtk_File_Chooser) return String is
 
147
      function Internal (Chooser : Gtk_File_Chooser) return chars_ptr;
 
148
      pragma Import (C, Internal, "gtk_file_chooser_get_current_folder");
 
149
 
 
150
      Result : chars_ptr := Internal (Chooser);
 
151
   begin
 
152
      if Result = Null_Ptr then
 
153
         return "";
 
154
      else
 
155
         declare
 
156
            File : constant String := Value (Result);
 
157
         begin
 
158
            Free (Result);
 
159
            return File;
 
160
         end;
 
161
      end if;
 
162
   end Get_Current_Folder;
 
163
 
 
164
   ----------------------------
 
165
   -- Get_Current_Folder_Uri --
 
166
   ----------------------------
 
167
 
 
168
   function Get_Current_Folder_Uri
 
169
     (Chooser : Gtk_File_Chooser) return String
 
170
   is
 
171
      function Internal (Chooser : Gtk_File_Chooser) return chars_ptr;
 
172
      pragma Import (C, Internal, "gtk_file_chooser_get_current_folder_uri");
 
173
 
 
174
      Result : chars_ptr := Internal (Chooser);
 
175
   begin
 
176
      if Result = Null_Ptr then
 
177
         return "";
 
178
      else
 
179
         declare
 
180
            Uri : constant String := Value (Result);
 
181
         begin
 
182
            Free (Result);
 
183
            return Uri;
 
184
         end;
 
185
      end if;
 
186
   end Get_Current_Folder_Uri;
 
187
 
 
188
   ----------------------
 
189
   -- Get_Extra_Widget --
 
190
   ----------------------
 
191
 
 
192
   function Get_Extra_Widget (Chooser : Gtk_File_Chooser)
 
193
      return Gtk.Widget.Gtk_Widget
 
194
   is
 
195
      function Internal (Chooser : Gtk_File_Chooser) return System.Address;
 
196
      pragma Import (C, Internal, "gtk_file_chooser_get_extra_widget");
 
197
      Stub : Gtk.Widget.Gtk_Widget_Record;
 
198
   begin
 
199
      return Gtk.Widget.Gtk_Widget (Get_User_Data (Internal (Chooser), Stub));
 
200
   end Get_Extra_Widget;
 
201
 
 
202
   ----------------
 
203
   -- Get_Filter --
 
204
   ----------------
 
205
 
 
206
   function Get_Filter
 
207
     (Chooser : Gtk_File_Chooser)
 
208
      return Gtk_File_Filter
 
209
   is
 
210
      function Internal (Chooser : Gtk_File_Chooser) return System.Address;
 
211
      pragma Import (C, Internal, "gtk_file_chooser_get_filter");
 
212
      Stub : Gtk_File_Filter_Record;
 
213
   begin
 
214
      return Gtk_File_Filter (Get_User_Data (Internal (Chooser), Stub));
 
215
   end Get_Filter;
 
216
 
 
217
   --------------------
 
218
   -- Get_Local_Only --
 
219
   --------------------
 
220
 
 
221
   function Get_Local_Only (Chooser : Gtk_File_Chooser) return Boolean is
 
222
      function Internal (Chooser : Gtk_File_Chooser) return Gboolean;
 
223
      pragma Import (C, Internal, "gtk_file_chooser_get_local_only");
 
224
   begin
 
225
      return Boolean'Val (Internal (Chooser));
 
226
   end Get_Local_Only;
 
227
 
 
228
   --------------------------
 
229
   -- Get_Preview_Filename --
 
230
   --------------------------
 
231
 
 
232
   function Get_Preview_Filename (Chooser : Gtk_File_Chooser) return String
 
233
   is
 
234
      function Internal (Chooser : Gtk_File_Chooser) return chars_ptr;
 
235
      pragma Import (C, Internal, "gtk_file_chooser_get_preview_filename");
 
236
 
 
237
      Result : chars_ptr := Internal (Chooser);
 
238
   begin
 
239
      if Result = Null_Ptr then
 
240
         return "";
 
241
      else
 
242
         declare
 
243
            File : constant String := Value (Result);
 
244
         begin
 
245
            Free (Result);
 
246
            return File;
 
247
         end;
 
248
      end if;
 
249
   end Get_Preview_Filename;
 
250
 
 
251
   ---------------------
 
252
   -- Get_Preview_Uri --
 
253
   ---------------------
 
254
 
 
255
   function Get_Preview_Uri (Chooser : Gtk_File_Chooser) return String is
 
256
      function Internal (Chooser : Gtk_File_Chooser) return chars_ptr;
 
257
      pragma Import (C, Internal, "gtk_file_chooser_get_preview_uri");
 
258
 
 
259
      Result : chars_ptr := Internal (Chooser);
 
260
   begin
 
261
      if Result = Null_Ptr then
 
262
         return "";
 
263
      else
 
264
         declare
 
265
            Uri : constant String := Value (Result);
 
266
         begin
 
267
            Free (Result);
 
268
            return Uri;
 
269
         end;
 
270
      end if;
 
271
   end Get_Preview_Uri;
 
272
 
 
273
   ------------------------
 
274
   -- Get_Preview_Widget --
 
275
   ------------------------
 
276
 
 
277
   function Get_Preview_Widget
 
278
     (Chooser : Gtk_File_Chooser) return Gtk.Widget.Gtk_Widget
 
279
   is
 
280
      function Internal (Chooser : Gtk_File_Chooser) return System.Address;
 
281
      pragma Import (C, Internal, "gtk_file_chooser_get_preview_widget");
 
282
      Stub : Gtk.Widget.Gtk_Widget_Record;
 
283
   begin
 
284
      return Gtk.Widget.Gtk_Widget (Get_User_Data (Internal (Chooser), Stub));
 
285
   end Get_Preview_Widget;
 
286
 
 
287
   -------------------------------
 
288
   -- Get_Preview_Widget_Active --
 
289
   -------------------------------
 
290
 
 
291
   function Get_Preview_Widget_Active
 
292
     (Chooser : Gtk_File_Chooser) return Boolean
 
293
   is
 
294
      function Internal (Chooser : Gtk_File_Chooser) return Gboolean;
 
295
      pragma Import
 
296
        (C, Internal, "gtk_file_chooser_get_preview_widget_active");
 
297
   begin
 
298
      return Boolean'Val (Internal (Chooser));
 
299
   end Get_Preview_Widget_Active;
 
300
 
 
301
   -------------------------
 
302
   -- Get_Select_Multiple --
 
303
   -------------------------
 
304
 
 
305
   function Get_Select_Multiple (Chooser : Gtk_File_Chooser) return Boolean is
 
306
      function Internal (Chooser : Gtk_File_Chooser) return Gboolean;
 
307
      pragma Import (C, Internal, "gtk_file_chooser_get_select_multiple");
 
308
   begin
 
309
      return Boolean'Val (Internal (Chooser));
 
310
   end Get_Select_Multiple;
 
311
 
 
312
   ---------------------
 
313
   -- Get_Show_Hidden --
 
314
   ---------------------
 
315
 
 
316
   function Get_Show_Hidden (Chooser : Gtk_File_Chooser) return Boolean is
 
317
      function Internal (Chooser : Gtk_File_Chooser) return Gboolean;
 
318
      pragma Import (C, Internal, "gtk_file_chooser_get_show_hidden");
 
319
   begin
 
320
      return Boolean'Val (Internal (Chooser));
 
321
   end Get_Show_Hidden;
 
322
 
 
323
   -------------
 
324
   -- Get_Uri --
 
325
   -------------
 
326
 
 
327
   function Get_Uri (Chooser : Gtk_File_Chooser) return String
 
328
   is
 
329
      function Internal (Chooser : Gtk_File_Chooser) return chars_ptr;
 
330
      pragma Import (C, Internal, "gtk_file_chooser_get_uri");
 
331
 
 
332
      Result : chars_ptr := Internal (Chooser);
 
333
   begin
 
334
      if Result = Null_Ptr then
 
335
         return "";
 
336
      else
 
337
         declare
 
338
            Uri : constant String := Value (Result);
 
339
         begin
 
340
            Free (Result);
 
341
            return Uri;
 
342
         end;
 
343
      end if;
 
344
   end Get_Uri;
 
345
 
 
346
   --------------
 
347
   -- Get_Uris --
 
348
   --------------
 
349
 
 
350
   function Get_Uris
 
351
     (Chooser : Gtk_File_Chooser) return Gtk.Enums.String_SList.GSlist
 
352
   is
 
353
      function Internal (Chooser : Gtk_File_Chooser) return System.Address;
 
354
      pragma Import (C, Internal, "gtk_file_chooser_get_uris");
 
355
      L : Gtk.Enums.String_SList.GSlist;
 
356
   begin
 
357
      Gtk.Enums.String_SList.Set_Object (L, Internal (Chooser));
 
358
      return L;
 
359
   end Get_Uris;
 
360
 
 
361
   ---------------------------
 
362
   -- Get_Use_Preview_Label --
 
363
   ---------------------------
 
364
 
 
365
   function Get_Use_Preview_Label
 
366
     (Chooser : Gtk_File_Chooser) return Boolean
 
367
   is
 
368
      function Internal (Chooser : Gtk_File_Chooser) return Gboolean;
 
369
      pragma Import (C, Internal, "gtk_file_chooser_get_use_preview_label");
 
370
   begin
 
371
      return Boolean'Val (Internal (Chooser));
 
372
   end Get_Use_Preview_Label;
 
373
 
 
374
   ------------------
 
375
   -- List_Filters --
 
376
   ------------------
 
377
 
 
378
   function List_Filters
 
379
     (Chooser : Gtk_File_Chooser)
 
380
      return Gtk.Object.Object_SList.GSlist
 
381
   is
 
382
      function Internal (Chooser : Gtk_File_Chooser) return System.Address;
 
383
      pragma Import (C, Internal, "gtk_file_chooser_list_filters");
 
384
      L : Gtk.Object.Object_SList.GSlist;
 
385
   begin
 
386
      Gtk.Object.Object_SList.Set_Object (L, Internal (Chooser));
 
387
      return L;
 
388
   end List_Filters;
 
389
 
 
390
   ---------------------------
 
391
   -- List_Shortcut_Folders --
 
392
   ---------------------------
 
393
 
 
394
   function List_Shortcut_Folders
 
395
     (Chooser : Gtk_File_Chooser) return Gtk.Enums.String_SList.GSlist
 
396
   is
 
397
      function Internal (Chooser : Gtk_File_Chooser) return System.Address;
 
398
      pragma Import (C, Internal, "gtk_file_chooser_list_shortcut_folders");
 
399
      L : Gtk.Enums.String_SList.GSlist;
 
400
   begin
 
401
      Gtk.Enums.String_SList.Set_Object (L, Internal (Chooser));
 
402
      return L;
 
403
   end List_Shortcut_Folders;
 
404
 
 
405
   -------------------------------
 
406
   -- List_Shortcut_Folder_Uris --
 
407
   -------------------------------
 
408
 
 
409
   function List_Shortcut_Folder_Uris
 
410
     (Chooser : Gtk_File_Chooser) return Gtk.Enums.String_SList.GSlist
 
411
   is
 
412
      function Internal (Chooser : Gtk_File_Chooser) return System.Address;
 
413
      pragma Import
 
414
        (C, Internal, "gtk_file_chooser_list_shortcut_folder_uris");
 
415
      L : Gtk.Enums.String_SList.GSlist;
 
416
   begin
 
417
      Gtk.Enums.String_SList.Set_Object (L, Internal (Chooser));
 
418
      return L;
 
419
   end List_Shortcut_Folder_Uris;
 
420
 
 
421
   -------------------
 
422
   -- Remove_Filter --
 
423
   -------------------
 
424
 
 
425
   procedure Remove_Filter
 
426
     (Chooser : Gtk_File_Chooser;
 
427
      Filter  : access Gtk_File_Filter_Record'Class)
 
428
   is
 
429
      procedure Internal
 
430
        (Chooser : Gtk_File_Chooser;
 
431
         Filter  : System.Address);
 
432
      pragma Import (C, Internal, "gtk_file_chooser_remove_filter");
 
433
   begin
 
434
      Internal (Chooser, Get_Object (Filter));
 
435
   end Remove_Filter;
 
436
 
 
437
   ----------------------------
 
438
   -- Remove_Shortcut_Folder --
 
439
   ----------------------------
 
440
 
 
441
   function Remove_Shortcut_Folder
 
442
     (Chooser : Gtk_File_Chooser;
 
443
      Folder  : String)
 
444
      return Glib.Error.GError
 
445
   is
 
446
      function Internal
 
447
        (Chooser : Gtk_File_Chooser;
 
448
         Folder  : String;
 
449
         Error   : access Glib.Error.GError)
 
450
         return Gboolean;
 
451
      pragma Import (C, Internal, "gtk_file_chooser_remove_shortcut_folder");
 
452
 
 
453
      Err : aliased Glib.Error.GError;
 
454
   begin
 
455
      if Internal (Chooser, Folder & ASCII.NUL, Err'Unchecked_Access) = 0 then
 
456
         return Err;
 
457
      else
 
458
         return null;
 
459
      end if;
 
460
   end Remove_Shortcut_Folder;
 
461
 
 
462
   --------------------------------
 
463
   -- Remove_Shortcut_Folder_Uri --
 
464
   --------------------------------
 
465
 
 
466
   function Remove_Shortcut_Folder_Uri
 
467
     (Chooser : Gtk_File_Chooser;
 
468
      Uri     : String)
 
469
      return Glib.Error.GError
 
470
   is
 
471
      function Internal
 
472
        (Chooser : Gtk_File_Chooser;
 
473
         Uri     : String;
 
474
         Error   : access Glib.Error.GError)
 
475
         return Gboolean;
 
476
      pragma Import
 
477
        (C, Internal, "gtk_file_chooser_remove_shortcut_folder_uri");
 
478
 
 
479
      Err : aliased Glib.Error.GError;
 
480
   begin
 
481
      if Internal (Chooser, Uri & ASCII.NUL, Err'Unchecked_Access) = 0 then
 
482
         return Err;
 
483
      else
 
484
         return null;
 
485
      end if;
 
486
   end Remove_Shortcut_Folder_Uri;
 
487
 
 
488
   ---------------------
 
489
   -- Select_Filename --
 
490
   ---------------------
 
491
 
 
492
   function Select_Filename
 
493
     (Chooser  : Gtk_File_Chooser; Filename : String) return Boolean
 
494
   is
 
495
      function Internal
 
496
        (Chooser  : Gtk_File_Chooser; Filename : String) return Gboolean;
 
497
      pragma Import (C, Internal, "gtk_file_chooser_select_filename");
 
498
   begin
 
499
      return Boolean'Val (Internal (Chooser, Filename & ASCII.NUL));
 
500
   end Select_Filename;
 
501
 
 
502
   ----------------
 
503
   -- Select_Uri --
 
504
   ----------------
 
505
 
 
506
   function Select_Uri
 
507
     (Chooser : Gtk_File_Chooser; Uri : String) return Boolean
 
508
   is
 
509
      function Internal
 
510
        (Chooser : Gtk_File_Chooser; Uri : String) return Gboolean;
 
511
      pragma Import (C, Internal, "gtk_file_chooser_select_uri");
 
512
   begin
 
513
      return Boolean'Val (Internal (Chooser, Uri & ASCII.NUL));
 
514
   end Select_Uri;
 
515
 
 
516
   ------------------------
 
517
   -- Set_Current_Folder --
 
518
   ------------------------
 
519
 
 
520
   function Set_Current_Folder
 
521
     (Chooser  : Gtk_File_Chooser; Filename : String) return Boolean
 
522
   is
 
523
      function Internal
 
524
        (Chooser  : Gtk_File_Chooser; Filename : String) return Gboolean;
 
525
      pragma Import (C, Internal, "gtk_file_chooser_set_current_folder");
 
526
   begin
 
527
      return Boolean'Val (Internal (Chooser, Filename & ASCII.NUL));
 
528
   end Set_Current_Folder;
 
529
 
 
530
   ----------------------------
 
531
   -- Set_Current_Folder_Uri --
 
532
   ----------------------------
 
533
 
 
534
   function Set_Current_Folder_Uri
 
535
     (Chooser : Gtk_File_Chooser; Uri : String) return Boolean
 
536
   is
 
537
      function Internal
 
538
        (Chooser : Gtk_File_Chooser; Uri : String) return Gboolean;
 
539
      pragma Import (C, Internal, "gtk_file_chooser_set_current_folder_uri");
 
540
   begin
 
541
      return Boolean'Val (Internal (Chooser, Uri & ASCII.NUL));
 
542
   end Set_Current_Folder_Uri;
 
543
 
 
544
   ----------------------
 
545
   -- Set_Current_Name --
 
546
   ----------------------
 
547
 
 
548
   procedure Set_Current_Name (Chooser : Gtk_File_Chooser; Name : String) is
 
549
      procedure Internal (Chooser : Gtk_File_Chooser; Name : String);
 
550
      pragma Import (C, Internal, "gtk_file_chooser_set_current_name");
 
551
   begin
 
552
      Internal (Chooser, Name & ASCII.NUL);
 
553
   end Set_Current_Name;
 
554
 
 
555
   -----------------------------------
 
556
   -- Set_Do_Overwrite_Confirmation --
 
557
   -----------------------------------
 
558
 
 
559
   procedure Set_Do_Overwrite_Confirmation
 
560
     (Chooser                   : Gtk_File_Chooser;
 
561
      Do_Overwrite_Confirmation : Boolean)
 
562
   is
 
563
      procedure Internal
 
564
        (Chooser                   : Gtk_File_Chooser;
 
565
         Do_Overwrite_Confirmation : Gboolean);
 
566
      pragma Import
 
567
        (C, Internal, "gtk_file_chooser_set_do_overwrite_confirmation");
 
568
   begin
 
569
      Internal (Chooser, Boolean'Pos (Do_Overwrite_Confirmation));
 
570
   end Set_Do_Overwrite_Confirmation;
 
571
 
 
572
   ----------------------
 
573
   -- Set_Extra_Widget --
 
574
   ----------------------
 
575
 
 
576
   procedure Set_Extra_Widget
 
577
     (Chooser      : Gtk_File_Chooser;
 
578
      Extra_Widget : access Gtk.Widget.Gtk_Widget_Record'Class)
 
579
   is
 
580
      procedure Internal
 
581
        (Chooser      : Gtk_File_Chooser;
 
582
         Extra_Widget : System.Address);
 
583
      pragma Import (C, Internal, "gtk_file_chooser_set_extra_widget");
 
584
   begin
 
585
      Internal (Chooser, Get_Object (Extra_Widget));
 
586
   end Set_Extra_Widget;
 
587
 
 
588
   ------------------
 
589
   -- Set_Filename --
 
590
   ------------------
 
591
 
 
592
   function Set_Filename
 
593
     (Chooser  : Gtk_File_Chooser; Filename : String) return Boolean
 
594
   is
 
595
      function Internal
 
596
        (Chooser  : Gtk_File_Chooser; Filename : String) return Gboolean;
 
597
      pragma Import (C, Internal, "gtk_file_chooser_set_filename");
 
598
   begin
 
599
      return Boolean'Val (Internal (Chooser, Filename & ASCII.NUL));
 
600
   end Set_Filename;
 
601
 
 
602
   ----------------
 
603
   -- Set_Filter --
 
604
   ----------------
 
605
 
 
606
   procedure Set_Filter
 
607
     (Chooser : Gtk_File_Chooser;
 
608
      Filter  : access Gtk_File_Filter_Record'Class)
 
609
   is
 
610
      procedure Internal
 
611
        (Chooser : Gtk_File_Chooser;
 
612
         Filter  : System.Address);
 
613
      pragma Import (C, Internal, "gtk_file_chooser_set_filter");
 
614
   begin
 
615
      Internal (Chooser, Get_Object (Filter));
 
616
   end Set_Filter;
 
617
 
 
618
   --------------------
 
619
   -- Set_Local_Only --
 
620
   --------------------
 
621
 
 
622
   procedure Set_Local_Only
 
623
     (Chooser : Gtk_File_Chooser; Local_Only : Boolean := True)
 
624
   is
 
625
      procedure Internal (Chooser : Gtk_File_Chooser; Local_Only : Gboolean);
 
626
      pragma Import (C, Internal, "gtk_file_chooser_set_local_only");
 
627
   begin
 
628
      Internal (Chooser, Boolean'Pos (Local_Only));
 
629
   end Set_Local_Only;
 
630
 
 
631
   ------------------------
 
632
   -- Set_Preview_Widget --
 
633
   ------------------------
 
634
 
 
635
   procedure Set_Preview_Widget
 
636
     (Chooser        : Gtk_File_Chooser;
 
637
      Preview_Widget : access Gtk.Widget.Gtk_Widget_Record'Class)
 
638
   is
 
639
      procedure Internal
 
640
        (Chooser        : Gtk_File_Chooser;
 
641
         Preview_Widget : System.Address);
 
642
      pragma Import (C, Internal, "gtk_file_chooser_set_preview_widget");
 
643
   begin
 
644
      Internal (Chooser, Get_Object (Preview_Widget));
 
645
   end Set_Preview_Widget;
 
646
 
 
647
   -------------------------------
 
648
   -- Set_Preview_Widget_Active --
 
649
   -------------------------------
 
650
 
 
651
   procedure Set_Preview_Widget_Active
 
652
     (Chooser : Gtk_File_Chooser; Active : Boolean)
 
653
   is
 
654
      procedure Internal (Chooser : Gtk_File_Chooser; Active  : Gboolean);
 
655
      pragma Import
 
656
        (C, Internal, "gtk_file_chooser_set_preview_widget_active");
 
657
   begin
 
658
      Internal (Chooser, Boolean'Pos (Active));
 
659
   end Set_Preview_Widget_Active;
 
660
 
 
661
   -------------------------
 
662
   -- Set_Select_Multiple --
 
663
   -------------------------
 
664
 
 
665
   procedure Set_Select_Multiple
 
666
     (Chooser : Gtk_File_Chooser; Select_Multiple : Boolean)
 
667
   is
 
668
      procedure Internal (Chooser : Gtk_File_Chooser; Multiple : Gboolean);
 
669
      pragma Import (C, Internal, "gtk_file_chooser_set_select_multiple");
 
670
   begin
 
671
      Internal (Chooser, Boolean'Pos (Select_Multiple));
 
672
   end Set_Select_Multiple;
 
673
 
 
674
   ---------------------
 
675
   -- Set_Show_Hidden --
 
676
   ---------------------
 
677
 
 
678
   procedure Set_Show_Hidden
 
679
     (Chooser     : Gtk_File_Chooser;
 
680
      Show_Hidden : Boolean)
 
681
   is
 
682
      procedure Internal (Chooser : Gtk_File_Chooser; Show_Hidden : Gboolean);
 
683
      pragma Import (C, Internal, "gtk_file_chooser_set_show_hidden");
 
684
   begin
 
685
      Internal (Chooser, Boolean'Pos (Show_Hidden));
 
686
   end Set_Show_Hidden;
 
687
 
 
688
   -------------
 
689
   -- Set_Uri --
 
690
   -------------
 
691
 
 
692
   function Set_Uri
 
693
     (Chooser : Gtk_File_Chooser; Uri : String) return Boolean
 
694
   is
 
695
      function Internal (C : Gtk_File_Chooser; U : String) return Gboolean;
 
696
      pragma Import (C, Internal, "gtk_file_chooser_set_uri");
 
697
   begin
 
698
      return Boolean'Val (Internal (Chooser, Uri & ASCII.NUL));
 
699
   end Set_Uri;
 
700
 
 
701
   ---------------------------
 
702
   -- Set_Use_Preview_Label --
 
703
   ---------------------------
 
704
 
 
705
   procedure Set_Use_Preview_Label
 
706
     (Chooser   : Gtk_File_Chooser;
 
707
      Use_Label : Boolean)
 
708
   is
 
709
      procedure Internal (Chooser : Gtk_File_Chooser; Use_Label : Gboolean);
 
710
      pragma Import (C, Internal, "gtk_file_chooser_set_use_preview_label");
 
711
   begin
 
712
      Internal (Chooser, Boolean'Pos (Use_Label));
 
713
   end Set_Use_Preview_Label;
 
714
 
 
715
   -----------------------
 
716
   -- Unselect_Filename --
 
717
   -----------------------
 
718
 
 
719
   procedure Unselect_Filename
 
720
     (Chooser  : Gtk_File_Chooser; Filename : String)
 
721
   is
 
722
      procedure Internal (Chooser  : Gtk_File_Chooser; Filename : String);
 
723
      pragma Import (C, Internal, "gtk_file_chooser_unselect_filename");
 
724
   begin
 
725
      Internal (Chooser, Filename & ASCII.NUL);
 
726
   end Unselect_Filename;
 
727
 
 
728
   ------------------
 
729
   -- Unselect_Uri --
 
730
   ------------------
 
731
 
 
732
   procedure Unselect_Uri (Chooser : Gtk_File_Chooser; Uri : String) is
 
733
      procedure Internal (Chooser : Gtk_File_Chooser; Uri : String);
 
734
      pragma Import (C, Internal, "gtk_file_chooser_unselect_uri");
 
735
   begin
 
736
      Internal (Chooser, Uri & ASCII.NUL);
 
737
   end Unselect_Uri;
 
738
 
 
739
end Gtk.File_Chooser;