Comment créer un menu tearoff en utilisant GtkAda?
Question
La question est auto-expliquer, comment créer un menu tearoff en utilisant GtkAda? Je ne peux pas le faire fonctionner.
Merci.
La solution
Si vous avez ajouté le code que vous avez à votre question, il serait plus descriptif.
J'ai écrit un peu de code pour montrer l'utilisation du menu déchirage avec GtkAda, ce n'est pas si difficile, mais il peut être difficile de trouver de la documentation à ce sujet:
function CreateFileMenu(tearOff : boolean) return Gtk_Menu is
fileMenu : Gtk_Menu;
newFile, loadFile, saveFile, saveAs, close : Gtk_Menu_Item;
begin
-- Create the menu:
Gtk_New(fileMenu);
-- Add the tear off item to the menu if required:
if tearOff then
declare
tear : Gtk_Tearoff_Menu_Item;
begin
Gtk_New(tear);
Append fileMenu, tear);
Show(tear);
end;
end if;
-- Create the rest of the menu items:
Gtk_New_With_Mnemonic(newFile, "_New");
Gtk_New_With_Mnemonic(loadFile, "_Load");
Gtk_New_With_Mnemonic(saveFile, "_Save");
Gtk_New_With_Mnemonic(saveAs, "Save _as...");
Gtk_New_With_Mnemonic(close, "_Close");
-- Add the items to the menu:
Add(fileMenu, newFile);
Add(fileMenu, loadFile);
Add(fileMenu, saveFile);
Add(fileMenu, saveAs);
Add(fileMenu, close);
return fileMenu;
end CreateFileMenu;
La structure declare/begin/end
vous permet de déclarer des variables dans le temps d'exécution.
Le paramètre boolean
vous permet de décider si vous voulez qu'il soit un menu larme lorsque vous créez. La fonction crée simplement le menu de sorte que vous auriez à ajouter à une barre de menus (par exemple) plus tard.
Autres conseils
Je ne sais pas si cela est ce que vous cherchez, mais le manuel de référence GtkAda dit :
Tous pour les garder visibles à l'écran à tout moment les menus GtkAda peuvent être « Déchirer » menus, i.e. vous pouvez les détacher de leurs parents (soit une barre de menus ou un autre menu)).
Il semble donc que si vous n'avez rien à faire.