Skip to content

Commit

Permalink
Port 'Contex Menu' demo to Vala (#34)
Browse files Browse the repository at this point in the history
* Port 'Contex Menu' demo to Vala

* Improve formatting
  • Loading branch information
UrtsiSantsi authored Dec 15, 2023
1 parent 0f45df8 commit af679c4
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions demos/Context Menu/main.vala
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/usr/bin/env -S vala workbench.vala --pkg gtk4 --pkg libadwaita-1

public void main() {
var box_menu_parent = (Gtk.Box) workbench.builder.get_object(
"box_menu_parent"
);
var label_emoji = (Gtk.Label) workbench.builder.get_object(
"label_emoji"
);
var gesture_click = (Gtk.GestureClick) workbench.builder.get_object(
"gesture_click"
);
var popover_menu = (Gtk.PopoverMenu) workbench.builder.get_object(
"popover_menu"
);

gesture_click.pressed.connect((gesture, n_press, x, y) => {
var position = Gdk.Rectangle() { x = (int) x, y = (int) y };
popover_menu.set_pointing_to(position);
popover_menu.popup();
});

var mood_group = new SimpleActionGroup();
box_menu_parent.insert_action_group("mood", mood_group);

var emoji_action = new SimpleAction(
"emoji",
new GLib.VariantType("s")
);

emoji_action.activate.connect((action, parameter) => {
label_emoji.label = parameter.get_string();
});
mood_group.add_action(emoji_action);
}

0 comments on commit af679c4

Please sign in to comment.