comp.lang.ada
 help / color / mirror / Atom feed
* Documentation or examples wanted for the File_Chooser_Dialog
@ 2009-05-08 16:01 ldries46
  2009-05-08 16:25 ` Dmitry A. Kazakov
  0 siblings, 1 reply; 7+ messages in thread
From: ldries46 @ 2009-05-08 16:01 UTC (permalink / raw)


I want to use the File_Chooser_Dialog of GtkADA in stead of the 
File_Selection routine. I understand that more fine tuning is possible in 
the File_Chooser. I have a problem finding good documentation of the routine 
in which is explained how to create a program that can use it. Even examples 
in which the File Chooser Dialog is used I cannot find.
Can somebody tell me where on the net I can find such examples or 
documentation.
I tried the trial and error method in which I reached the point that I got a 
window frame and a message that I cannot use a toplevel window as a parent 
in the GTK_New routine of the File Chooser Dialog.
-- 
=========================
Familie Dries
Torenpad 122 A
2771 EV Boskoop 





^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Documentation or examples wanted for the File_Chooser_Dialog
  2009-05-08 16:01 Documentation or examples wanted for the File_Chooser_Dialog ldries46
@ 2009-05-08 16:25 ` Dmitry A. Kazakov
  2009-05-08 20:43   ` ldries46
  0 siblings, 1 reply; 7+ messages in thread
From: Dmitry A. Kazakov @ 2009-05-08 16:25 UTC (permalink / raw)


On Fri, 8 May 2009 18:01:36 +0200, ldries46 wrote:

> I want to use the File_Chooser_Dialog of GtkADA in stead of the 
> File_Selection routine. I understand that more fine tuning is possible in 
> the File_Chooser. I have a problem finding good documentation of the routine 
> in which is explained how to create a program that can use it. Even examples 
> in which the File Chooser Dialog is used I cannot find.
> Can somebody tell me where on the net I can find such examples or 
> documentation.

http://www.adacore.com/wp-content/files/auto_update/gtkada-docs/gtkada_rm/gtkada_rm/gtk-file_chooser_dialog.html

> I tried the trial and error method in which I reached the point that I got a 
> window frame and a message that I cannot use a toplevel window as a parent 
> in the GTK_New routine of the File Chooser Dialog.

It should work like any other widget (which it is a descendant of).

(Though, I never used this dialog, because I prefer a columned file
selection style like in Windows GUI.)

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Documentation or examples wanted for the File_Chooser_Dialog
  2009-05-08 16:25 ` Dmitry A. Kazakov
@ 2009-05-08 20:43   ` ldries46
  2009-05-09  7:00     ` Dmitry A. Kazakov
  0 siblings, 1 reply; 7+ messages in thread
From: ldries46 @ 2009-05-08 20:43 UTC (permalink / raw)


THis is just one of the sites I visited. I think it is Unix like 
documentation, Good when you know how  to use the something but Fuzzy when 
you have to learn something. I hope that there is documentation or examples 
that are more clear for leople who do want to learn something.

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> schreef in bericht 
news:3il2h6knjn6e$.1d81alwet09tw$.dlg@40tude.net...
> On Fri, 8 May 2009 18:01:36 +0200, ldries46 wrote:
>
>> I want to use the File_Chooser_Dialog of GtkADA in stead of the
>> File_Selection routine. I understand that more fine tuning is possible in
>> the File_Chooser. I have a problem finding good documentation of the 
>> routine
>> in which is explained how to create a program that can use it. Even 
>> examples
>> in which the File Chooser Dialog is used I cannot find.
>> Can somebody tell me where on the net I can find such examples or
>> documentation.
>
> http://www.adacore.com/wp-content/files/auto_update/gtkada-docs/gtkada_rm/gtkada_rm/gtk-file_chooser_dialog.html
>
>> I tried the trial and error method in which I reached the point that I 
>> got a
>> window frame and a message that I cannot use a toplevel window as a 
>> parent
>> in the GTK_New routine of the File Chooser Dialog.
>
> It should work like any other widget (which it is a descendant of).
>
> (Though, I never used this dialog, because I prefer a columned file
> selection style like in Windows GUI.)
>
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de 





^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Documentation or examples wanted for the File_Chooser_Dialog
  2009-05-08 20:43   ` ldries46
@ 2009-05-09  7:00     ` Dmitry A. Kazakov
  2009-05-10 14:27       ` ldries46
  0 siblings, 1 reply; 7+ messages in thread
From: Dmitry A. Kazakov @ 2009-05-09  7:00 UTC (permalink / raw)


On Fri, 8 May 2009 22:43:42 +0200, ldries46 wrote:

> THis is just one of the sites I visited. I think it is Unix like 
> documentation, Good when you know how  to use the something but Fuzzy when 
> you have to learn something.

The documentation is actually not bad, IMO. (But learning GTK is always an
act of masochism. (:-))

> I hope that there is documentation or examples 
> that are more clear for leople who do want to learn something.

You could start Gtk_Dialog:

http://www.adacore.com/wp-content/files/auto_update/gtkada-docs/gtkada_rm/gtkada_rm/gtk-dialog.html

Gtk_Dialog_Record is the parent of Gtk_File_Chooser_Dialog_Record.. The
testgtk application is contains an example for Gtk_Dialog_Record. You could
try to replace Gtk_Dialog with Gtk_File_Chooser_Dialog_Record there.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Documentation or examples wanted for the File_Chooser_Dialog
  2009-05-09  7:00     ` Dmitry A. Kazakov
@ 2009-05-10 14:27       ` ldries46
  2009-05-11 10:50         ` Philipp Riegger
  0 siblings, 1 reply; 7+ messages in thread
From: ldries46 @ 2009-05-10 14:27 UTC (permalink / raw)


First Thanks for the hint. I now have a working routine. I now want to 
present this as an example for anyone who wants to use the FilechooserDialog 
routine.
In this routine I set a default directory and saves the directory where the 
file was eventually was found.

   procedure On_Open_C_Activate
     (Object : access Gtk_Image_Menu_Item_Record'Class)
   is
      Default_ext   : Integer;
      Filename      : Unbounded_String;
      Base_Dir   : Unbounded_String := To_Unbounded_String("." & DS);
      Default_Dir   : Unbounded_String;
      In_String     : Unbounded_String;
      C_File        : File_Type;
      soort         : file_soort;
      ok            : boolean := false;
      empty         : boolean := false;
      File_Dialog   : Gtk_File_Chooser_Dialog;
      All_Files     : Gtk_File_Filter;
      Header        : Gtk_File_Filter;
      C_Body        : Gtk_File_Filter;
      CPP_Body      : Gtk_File_Filter;
      Final_Filter  : Gtk_File_Filter;
      Button_Open   : Gtk.Widget.Gtk_Widget;
      Button_Cancel : Gtk.Widget.Gtk_Widget;
   begin
      Default_Dir := To_Unbounded_String(Get_Value(n_ini, "Directory", 
"Default_Open", To_String(Base_Dir)));
      Default_Ext := Get_Value(n_ini, "File", "Type", 1);
      Gtk_New(File_Dialog,"Open C, C++ or Header File", CtoADAWindow, 
Action_Open);
      if Base_Dir /= Default_Dir then
         empty := Set_Current_Folder(+File_Dialog, To_String(Default_Dir));
      end if;
      Gtk_New(All_Files);
      Set_Name(All_Files, "All files");
      Add_Pattern(All_Files, "*.*");
      Add_Filter(+File_Dialog, All_Files);
      Gtk_New(Header);
      Set_Name(Header, "C/C++ header files");
      Add_Pattern(Header, "*.h");
      Add_Filter(+File_Dialog, Header);
      Gtk_New(C_Body);
      Set_Name(C_Body, "C body files");
      Add_Pattern(C_Body, "*.c");
      Add_Filter(+File_Dialog, C_Body);
      Gtk_New(CPP_Body);
      Set_Name(CPP_Body, "C++ body files");
      Add_Pattern(CPP_Body, "*.cpp");
      Add_Filter(+File_Dialog, CPP_Body);
      case Default_Ext is
         when 1 => Set_Filter(+File_Dialog, All_Files);
         when 2 => Set_Filter(+File_Dialog, Header);
         when 3 => Set_Filter(+File_Dialog, C_Body);
         when 4 => Set_Filter(+File_Dialog, CPP_Body);
         when others => Set_Filter(+File_Dialog, Header);
      end case;
      Button_Open := Add_Button(File_Dialog, "Open", gtk_response_accept);
      Button_Cancel := Add_Button(File_Dialog, "Cancel", 
gtk_response_cancel);
      Final_Filter := Get_Filter(+File_Dialog);
      if Run(File_Dialog) = gtk_response_accept then
         FileName := To_Unbounded_String(Get_FileName(+File_Dialog));
         Default_Dir := 
To_Unbounded_String(Get_Current_Folder(+File_Dialog));
         Set_Value(n_ini, "Directory", "Default_Open", 
To_String(Default_Dir));
         Open(C_File, In_File, To_String(Filename));
         while not End_Of_File(C_File) loop
            In_String := To_Unbounded_String(Get_Line(C_File));
            Insert_at_Cursor (Get_Buffer (CtoADAWindow.C_View), 
To_String(In_String) & ASCII.CR & ASCII.LF);
         end loop;
         Close(C_File);
         Soort_File ( FileName );
         soort := C2ADA(CtoADAWindow.C_View, CtoADAWindow.ADA_View);
      end if;
      Hide(File_Dialog);
      Destroy(File_Dialog);
      if Final_Filter = All_Files then
         Default_Ext := 1;
      elsif Final_Filter = Header then
         Default_Ext := 2;
      elsif Final_Filter = C_Body then
         Default_Ext := 3;
      elsif Final_Filter = CPP_Body then
         Default_Ext := 4;
      else
         Default_Ext := 1;
      end if;
      Set_Value(n_ini, "File", "Type", Default_Ext);
   end On_Open_C_Activate;

>
> The documentation is actually not bad, IMO. (But learning GTK is always an
> act of masochism. (:-))
>
>> I hope that there is documentation or examples
>> that are more clear for leople who do want to learn something.
>
> You could start Gtk_Dialog:
>
> http://www.adacore.com/wp-content/files/auto_update/gtkada-docs/gtkada_rm/gtkada_rm/gtk-dialog.html
>
> Gtk_Dialog_Record is the parent of Gtk_File_Chooser_Dialog_Record.. The
> testgtk application is contains an example for Gtk_Dialog_Record. You 
> could
> try to replace Gtk_Dialog with Gtk_File_Chooser_Dialog_Record there.
>
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de 





^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Documentation or examples wanted for the File_Chooser_Dialog
  2009-05-10 14:27       ` ldries46
@ 2009-05-11 10:50         ` Philipp Riegger
  2009-05-14  7:34           ` ldries46
  0 siblings, 1 reply; 7+ messages in thread
From: Philipp Riegger @ 2009-05-11 10:50 UTC (permalink / raw)


Hi Bertus,

On Sun, 10 May 2009 16:27:41 +0200
"ldries46" <bertus.dries@planet.nl> wrote:

>       Set_Name(Header, "C/C++ header files");
>       Add_Pattern(Header, "*.h");

You can write

   Header.Set_Name("C/C++ header files");
   Header.Add_Pattern("*.h");

here, I think. I personally don't use the "use" statement, so the above
modification makes my code much nicer. But that's a philosophical
question.

>       Add_Filter(+File_Dialog, Header);

What does the "+" do in this context?

Philipp



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Documentation or examples wanted for the File_Chooser_Dialog
  2009-05-11 10:50         ` Philipp Riegger
@ 2009-05-14  7:34           ` ldries46
  0 siblings, 0 replies; 7+ messages in thread
From: ldries46 @ 2009-05-14  7:34 UTC (permalink / raw)


In +File_Dialog the + is a function in the File_Chooser_Dialog to get the 
associated File_Chooser with the File_Dialog of the type 
File_Chooser_Dialog.

I just presented the example of what I did as I found little or no examples 
where I could see how to create a File_Chooser_Dialog.

"Philipp Riegger" <news@anderedomain.de> schreef in bericht 
news:20090511125026.2d072bf9@troy.s.riegger.name...
> Hi Bertus,
>
> On Sun, 10 May 2009 16:27:41 +0200
> "ldries46" <bertus.dries@planet.nl> wrote:
>
>>       Set_Name(Header, "C/C++ header files");
>>       Add_Pattern(Header, "*.h");
>
> You can write
>
>   Header.Set_Name("C/C++ header files");
>   Header.Add_Pattern("*.h");
>
> here, I think. I personally don't use the "use" statement, so the above
> modification makes my code much nicer. But that's a philosophical
> question.
>
>>       Add_Filter(+File_Dialog, Header);
>
> What does the "+" do in this context?
>
> Philipp 





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-05-14  7:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-08 16:01 Documentation or examples wanted for the File_Chooser_Dialog ldries46
2009-05-08 16:25 ` Dmitry A. Kazakov
2009-05-08 20:43   ` ldries46
2009-05-09  7:00     ` Dmitry A. Kazakov
2009-05-10 14:27       ` ldries46
2009-05-11 10:50         ` Philipp Riegger
2009-05-14  7:34           ` ldries46

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox