Hello!

Inspiré(e) de prendre part à la discussion ? Ou de poser une question ou demander de l’aide ?

Alors bienvenues dans les grands sujets des forums de La Bulle : m’inscrire.

Cette partie du forum n’est pas compatible avec les bloqueurs publicitaires

Félicitations à vous, de préférer les accès payants plutôt que la gratuité par la publicité, c’est honnorable et cohérent de votre part. Malheureusement, l’accès payant par micropaiement (qui serait d’environ 1 cent pour 20 pages consultées) n’est pour l’instant pas encore mis en place, et l’accès gratuit sans publicité, est réservé aux membres actif(ve)s du forum. En attendant, si vous souhaitez poursuivre votre visite chez nous, vous pouvez ajouter le site à votre liste blanche, ou encore mieux, désactiver le bloqueur partout. Pour ajouter le site à votre liste blanche, pour Firefox (similaire pour les autres navigateurs), rendez‑vous en bas à gauche de la fenêtre de votre navigateur, et cliquez sur le menu comme dans l’exemple de l’image ci‑dessous, puis rechargez la page, en appuyant sur F5.

Arknos et GtkAda : interface avec Ada
Auteur Message
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Mar 27 Fév 2018 22:14
Message Arknos et GtkAda : interface avec Ada
Bonjour,
J'écrit actuellement un nouveau programme qui accept une ligne de commande afin de l'exécuter dans les meilleurs conditions.

Pour les commande contenant un nom de fichier, j'utilise une fonction de completion de chemin, afin de présenter la liste des chmin possible dans un Gtk_Text_View.
En fait ma fenêtre se présente en image :
Image

Mon problème est que lorsquue j'entre une tabulation pour appeler la completion, deux choses se passent :
- le text est selectionné dans sa totalité : je souhaite le deselectioner.
- si la completion n'est pas possible, je me trouve dans le Gtk_Text_View au lieu de rester dans la ligne de commande.

j'ai essayé de faire un set_position pour desselctionner mais ça marche pas.

et j'ai essayé de faire un set_focus, mais ça marche pas nom plus.

Voici mon code je creation du text_view :

Source ada : 

function Filename_Completion(Line : in String;
Arknos : Arknos_Pointer) return String is

Filename : Common.String_Access;
begin

Arkn.Completion.Completion
(Line => Line, Full_Command => Filename, Result => Arknos.Result);
if Filename /= null then
declare
Result : constant String := To_String(Filename.all);
begin
Set_Position(Arknos.Main_Line, Result'Length);
Free(Filename);
return Result;
end;
else

Gtk_New(Arknos.Result_Text_buffer);
Gtk_New(Arknos.Result_Text_View, Arknos.Result_Text_Buffer);
Gtk_New(Arknos.Result_Scroll);
Set_Editable(Arknos.Result_Text_View, False);
Add(Arknos.Result_Scroll, Arknos.Result_Text_View);
Gtk_New(Arknos.Result_Frame, "Completion :");
Add(Arknos.Result_Frame, Arknos.Result_Scroll);
Set_Size_Request(Arknos.Result_Frame, 355, 250);
Pack_Start(Arknos.Main_Vbox, Arknos.Result_Frame, False);

declare
Top, Bot : Gtk_Text_Iter;
Mark : Gtk.Text_Mark.Gtk_Text_Mark;
begin
Get_Start_Iter(Arknos.Result_Text_Buffer, Bot);
for I in Arknos.Result.File_Content'Range loop
Put_Line (To_String (-Arknos.Result.File_Content(I)));
Insert
(Arknos.Result_Text_Buffer,
Bot,
Locale_To_Utf8
(To_String(-Arknos.Result.File_Content(I)) &
Character'Val(13))
);
Get_Bounds
(Arknos.Result_Text_Buffer, Top, Bot);
end loop;
Get_Bounds
(Arknos.Result_Text_Buffer, Top, Bot);
Mark :=
Create_Mark
(Arknos.Result_Text_buffer, Where => Bot);
Scroll_To_Mark
(Arknos.Result_Text_view, Mark, 0.0, false, 0.0, 0.0);
end;
Show_All(Arknos.Main_Vbox);
Set_Focus(Arknos.Window, Arknos.Main_Line);
return line;
end if;
end Filename_Completion;

Les sources sont sur sourceforge.net : projet "arknos".

Merci pour votre aide ou vos idées.
Profil
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Mar 27 Fév 2018 22:48
Message Re: Arknos et GtkAda : interface avec Ada
Bon, je me suis rendu compte de ma légèreté ici.

J'ai déplacé le set_focus et le set_position dans la procédure appelante juste après l'appel.

Mais j'ai toujour les même symptome.
Profil
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Ven 2 Mar 2018 16:03
Message Re: Arknos et GtkAda : interface avec Ada
Bonjour,

J'essaie de porter le programme sur MS Windows, mais il plante dans la version courante.

Ca me pose un petit problème vue que j'aurais bien aimé avoir ce programme sur Windows également.

Si vous souhaitez chercher la cause, dite le, j'ai ajouter du code pour compiler sur MS Windows. C'est un problème d'utilisation de Gtk visiblement. Le code est fonctionnel sur GNU/Linux Debian.

L'objectif étant de lancer des commande et de garder un oeil sur elles.

Merci pour votre aide ou votre contribution.
Profil
cron