}
fun initToolbar() {
- toolbarItem(name = "reloadFeed", icon = "view-refresh") { event ->
+ toolbarItem(name = "reloadFeed", icon = "view-refresh", tooltip = "Refresh current feed") { event ->
syncCurrent()
}
- toolbarItem(name = "markCurrentFeed", icon = "checkbox-checked") { event ->
+ toolbarItem(name = "markCurrentFeed", icon = "checkbox-checked", tooltip = "Mark items in this feed as read") { event ->
markCurrentFeedAsRead()
}
- toolbarToggleItem(name = "starred", icon = "starred", varname = "starred") { event ->
+ toolbarToggleItem(name = "starred", icon = "starred", varname = "starred", tooltip = "star the current item") { event ->
setBookmark(event.intValue == 1)
}
MethodHandle toolbar_item_args_new;
MethodHandle toolbar_item_args_set_label;
MethodHandle toolbar_item_args_set_icon;
+ MethodHandle toolbar_item_args_set_tooltip;
MethodHandle toolbar_item_args_set_onclick;
MethodHandle toolbar_item_args_set_onclickdata;
MethodHandle toolbar_item_args_set_groups;
MethodHandle toolbar_toggleitem_args_new;
MethodHandle toolbar_toggleitem_args_set_label;
MethodHandle toolbar_toggleitem_args_set_icon;
+ MethodHandle toolbar_toggleitem_args_set_tooltip;
MethodHandle toolbar_toggleitem_args_set_varname;
MethodHandle toolbar_toggleitem_args_set_onchange;
MethodHandle toolbar_toggleitem_args_set_onchangedata;
MethodHandle toolbar_menu_args_new;
MethodHandle toolbar_menu_args_set_label;
MethodHandle toolbar_menu_args_set_icon;
+ MethodHandle toolbar_menu_args_set_tooltip;
MethodHandle toolbar_menu_args_free;
MethodHandle container_args_new;
MethodHandle button_args_set_style_class;
MethodHandle button_args_set_label;
MethodHandle button_args_set_icon;
+ MethodHandle button_args_set_tooltip;
MethodHandle button_args_set_labeltype;
MethodHandle button_args_set_onclick;
MethodHandle button_args_set_onclickdata;
MethodHandle toggle_args_set_style_class;
MethodHandle toggle_args_set_label;
MethodHandle toggle_args_set_icon;
+ MethodHandle toggle_args_set_tooltip;
MethodHandle toggle_args_set_labeltype;
MethodHandle toggle_args_set_varname;
MethodHandle toggle_args_set_value;
MemorySegment ui_toolbar_item_args_new_addr = lib.find("ui_toolbar_item_args_new").orElseThrow();
MemorySegment ui_toolbar_item_args_set_label_addr = lib.find("ui_toolbar_item_args_set_label").orElseThrow();
MemorySegment ui_toolbar_item_args_set_icon_addr = lib.find("ui_toolbar_item_args_set_icon").orElseThrow();
+ MemorySegment ui_toolbar_item_args_set_tooltip_addr = lib.find("ui_toolbar_item_args_set_tooltip").orElseThrow();
MemorySegment ui_toolbar_item_args_set_onclick_addr = lib.find("ui_toolbar_item_args_set_onclick").orElseThrow();
MemorySegment ui_toolbar_item_args_set_onclickdata_addr = lib.find("ui_toolbar_item_args_set_onclickdata").orElseThrow();
MemorySegment ui_toolbar_item_args_set_groups_addr = lib.find("ui_toolbar_item_args_set_groups").orElseThrow();
MemorySegment ui_toolbar_toggleitem_args_new_addr = lib.find("ui_toolbar_toggleitem_args_new").orElseThrow();
MemorySegment ui_toolbar_toggleitem_args_set_label_addr = lib.find("ui_toolbar_toggleitem_args_set_label").orElseThrow();
MemorySegment ui_toolbar_toggleitem_args_set_icon_addr = lib.find("ui_toolbar_toggleitem_args_set_icon").orElseThrow();
+ MemorySegment ui_toolbar_toggleitem_args_set_tooltip_addr = lib.find("ui_toolbar_toggleitem_args_set_tooltip").orElseThrow();
MemorySegment ui_toolbar_toggleitem_args_set_varname_addr = lib.find("ui_toolbar_toggleitem_args_set_varname").orElseThrow();
MemorySegment ui_toolbar_toggleitem_args_set_onchange_addr = lib.find("ui_toolbar_toggleitem_args_set_onchange").orElseThrow();
MemorySegment ui_toolbar_toggleitem_args_set_onchangedata_addr = lib.find("ui_toolbar_toggleitem_args_set_onchangedata").orElseThrow();
MemorySegment ui_toolbar_menu_args_new_addr = lib.find("ui_toolbar_menu_args_new").orElseThrow();
MemorySegment ui_toolbar_menu_args_set_label_addr = lib.find("ui_toolbar_menu_args_set_label").orElseThrow();
MemorySegment ui_toolbar_menu_args_set_icon_addr = lib.find("ui_toolbar_menu_args_set_icon").orElseThrow();
+ MemorySegment ui_toolbar_menu_args_set_tooltip_addr = lib.find("ui_toolbar_menu_args_set_tooltip").orElseThrow();
MemorySegment ui_toolbar_menu_args_free_addr = lib.find("ui_toolbar_menu_args_free").orElseThrow();
MemorySegment ui_container_args_new_addr = lib.find("ui_container_args_new").orElseThrow();
MemorySegment ui_button_args_set_style_class_addr = lib.find("ui_button_args_set_style_class").orElseThrow();
MemorySegment ui_button_args_set_label_addr = lib.find("ui_button_args_set_label").orElseThrow();
MemorySegment ui_button_args_set_icon_addr = lib.find("ui_button_args_set_icon").orElseThrow();
+ MemorySegment ui_button_args_set_tooltip_addr = lib.find("ui_button_args_set_tooltip").orElseThrow();
MemorySegment ui_button_args_set_labeltype_addr = lib.find("ui_button_args_set_labeltype").orElseThrow();
MemorySegment ui_button_args_set_onclick_addr = lib.find("ui_button_args_set_onclick").orElseThrow();
MemorySegment ui_button_args_set_onclickdata_addr = lib.find("ui_button_args_set_onclickdata").orElseThrow();
MemorySegment ui_toggle_args_set_style_class_addr = lib.find("ui_toggle_args_set_style_class").orElseThrow();
MemorySegment ui_toggle_args_set_label_addr = lib.find("ui_toggle_args_set_label").orElseThrow();
MemorySegment ui_toggle_args_set_icon_addr = lib.find("ui_toggle_args_set_icon").orElseThrow();
+ MemorySegment ui_toggle_args_set_tooltip_addr = lib.find("ui_toggle_args_set_tooltip").orElseThrow();
MemorySegment ui_toggle_args_set_labeltype_addr = lib.find("ui_toggle_args_set_labeltype").orElseThrow();
MemorySegment ui_toggle_args_set_varname_addr = lib.find("ui_toggle_args_set_varname").orElseThrow();
MemorySegment ui_toggle_args_set_value_addr = lib.find("ui_toggle_args_set_value").orElseThrow();
toolbar_item_args_new = linker.downcallHandle(ui_toolbar_item_args_new_addr, sigm);
toolbar_item_args_set_icon = linker.downcallHandle(ui_toolbar_item_args_set_icon_addr, sigv_mm);
+ toolbar_item_args_set_tooltip = linker.downcallHandle(ui_toolbar_item_args_set_tooltip_addr, sigv_mm);
toolbar_item_args_set_label = linker.downcallHandle(ui_toolbar_item_args_set_label_addr, sigv_mm);
toolbar_item_args_set_onclick = linker.downcallHandle(ui_toolbar_item_args_set_onclick_addr, sigv_mm);
toolbar_item_args_set_onclickdata = linker.downcallHandle(ui_toolbar_item_args_set_onclickdata_addr, sigv_mm);
toolbar_toggleitem_args_new = linker.downcallHandle(ui_toolbar_toggleitem_args_new_addr, sigm);
toolbar_toggleitem_args_set_icon = linker.downcallHandle(ui_toolbar_toggleitem_args_set_icon_addr, sigv_mm);
+ toolbar_toggleitem_args_set_tooltip = linker.downcallHandle(ui_toolbar_toggleitem_args_set_tooltip_addr, sigv_mm);
toolbar_toggleitem_args_set_label = linker.downcallHandle(ui_toolbar_toggleitem_args_set_label_addr, sigv_mm);
toolbar_toggleitem_args_set_varname = linker.downcallHandle(ui_toolbar_toggleitem_args_set_varname_addr, sigv_mm);
toolbar_toggleitem_args_set_onchange = linker.downcallHandle(ui_toolbar_toggleitem_args_set_onchange_addr, sigv_mm);
toolbar_menu_args_new = linker.downcallHandle(ui_toolbar_menu_args_new_addr, sigm);
toolbar_menu_args_set_icon = linker.downcallHandle(ui_toolbar_menu_args_set_icon_addr, sigv_mm);
toolbar_menu_args_set_label = linker.downcallHandle(ui_toolbar_menu_args_set_label_addr, sigv_mm);
+ toolbar_menu_args_set_tooltip = linker.downcallHandle(ui_toolbar_menu_args_set_tooltip_addr, sigv_mm);
toolbar_menu_args_free = linker.downcallHandle(ui_toolbar_menu_args_free_addr, sigv_m);
container_args_new = linker.downcallHandle(ui_container_args_new_addr, sigm);
button_args_set_style_class = linker.downcallHandle(ui_button_args_set_style_class_addr, sigv_mm);
button_args_set_label = linker.downcallHandle(ui_button_args_set_label_addr, sigv_mm);
button_args_set_icon = linker.downcallHandle(ui_button_args_set_icon_addr, sigv_mm);
+ button_args_set_tooltip = linker.downcallHandle(ui_button_args_set_tooltip_addr, sigv_mm);
button_args_set_labeltype = linker.downcallHandle(ui_button_args_set_labeltype_addr, sigv_mi);
button_args_set_onclick = linker.downcallHandle(ui_button_args_set_onclick_addr, sigv_mm);
button_args_set_onclickdata = linker.downcallHandle(ui_button_args_set_onclickdata_addr, sigv_mm);
toggle_args_set_style_class = linker.downcallHandle(ui_toggle_args_set_style_class_addr, sigv_mm);
toggle_args_set_label = linker.downcallHandle(ui_toggle_args_set_label_addr, sigv_mm);
toggle_args_set_icon = linker.downcallHandle(ui_toggle_args_set_icon_addr, sigv_mm);
+ toggle_args_set_tooltip = linker.downcallHandle(ui_toggle_args_set_tooltip_addr, sigv_mm);
toggle_args_set_labeltype = linker.downcallHandle(ui_toggle_args_set_labeltype_addr, sigv_mi);
toggle_args_set_varname = linker.downcallHandle(ui_toggle_args_set_varname_addr, sigv_mm);
toggle_args_set_value = linker.downcallHandle(ui_toggle_args_set_value_addr, sigv_mm);
private String styleClass;
private String label;
private String icon;
+ private String tooltip;
private int labelType;
private EventHandler onClick;
private int[] states;
return this;
}
+ public ButtonBuilder tooltip(String tooltip) {
+ this.tooltip = tooltip;
+ return this;
+ }
+
public ButtonBuilder labelType(int labelType) {
this.labelType = labelType;
return this;
MemorySegment cstr = arena.allocateFrom(icon);
ui.button_args_set_icon.invoke(args, cstr);
}
+ if(tooltip != null) {
+ MemorySegment cstr = arena.allocateFrom(tooltip);
+ ui.button_args_set_tooltip.invoke(args, cstr);
+ }
if(states != null) {
MemorySegment st = arena.allocate(ValueLayout.JAVA_INT, states.length);
MemorySegment.copy(states, 0, st, ValueLayout.JAVA_INT, 0, states.length);
private String styleClass;
private String label;
private String icon;
+ private String tooltip;
private int labelType;
private String varname;
private UiInteger value;
return this;
}
+ public ToggleBuilder tooltip(String tooltip) {
+ this.tooltip = tooltip;
+ return this;
+ }
+
public ToggleBuilder labelType(int labelType) {
this.labelType = labelType;
return this;
MemorySegment cstr = arena.allocateFrom(icon);
ui.toggle_args_set_icon.invoke(args, cstr);
}
+ if(tooltip != null) {
+ MemorySegment cstr = arena.allocateFrom(tooltip);
+ ui.toggle_args_set_tooltip.invoke(args, cstr);
+ }
ui.toggle_args_set_labeltype.invoke(args, labelType);
if(varname != null) {
}
public static void item(String name, String label, String icon, EventHandler onClick) {
+ item(name, label, icon, null, onClick);
+ }
+ public static void item(String name, String label, String icon, String tooltip, EventHandler onClick) {
MenuFuncs ui = MenuFuncs.getInstance();
ArgFuncs a = ArgFuncs.getInstance();
Toolkit toolkit = Toolkit.getInstance();
MemorySegment cstr = arena.allocateFrom(icon);
a.toolbar_item_args_set_icon.invoke(args, cstr);
}
+ if(tooltip != null) {
+ MemorySegment cstr = arena.allocateFrom(tooltip);
+ a.toolbar_item_args_set_tooltip.invoke(args, cstr);
+ }
if(onClick != null) {
EventWrapper event = new EventWrapper(onClick);
}
public static void toggleItem(String name, String label, String icon, String varname, EventHandler onChange) {
+ toggleItem(name, label, icon, null, varname, onChange);
+ }
+
+ public static void toggleItem(String name, String label, String icon, String tooltip, String varname, EventHandler onChange) {
MenuFuncs ui = MenuFuncs.getInstance();
ArgFuncs a = ArgFuncs.getInstance();
Toolkit toolkit = Toolkit.getInstance();
MemorySegment cstr = arena.allocateFrom(icon);
a.toolbar_toggleitem_args_set_icon.invoke(args, cstr);
}
+ if(tooltip != null) {
+ MemorySegment cstr = arena.allocateFrom(tooltip);
+ a.toolbar_toggleitem_args_set_tooltip.invoke(args, cstr);
+ }
if(varname != null) {
MemorySegment cstr = arena.allocateFrom(varname);
a.toolbar_toggleitem_args_set_varname.invoke(args, cstr);
}
public static void menu(String name, String label, String icon, Menu menu) {
+ menu(name, label, icon, null, menu);
+ }
+
+ public static void menu(String name, String label, String icon, String tooltip, Menu menu) {
MenuFuncs ui = MenuFuncs.getInstance();
ArgFuncs a = ArgFuncs.getInstance();
try (Arena arena = Arena.ofConfined()) {
MemorySegment cstr = arena.allocateFrom(icon);
a.toolbar_menu_args_set_icon.invoke(args, cstr);
}
+ if(tooltip != null) {
+ MemorySegment cstr = arena.allocateFrom(tooltip);
+ a.toolbar_menu_args_set_tooltip.invoke(args, cstr);
+ }
ui.toolbar_menu_create.invoke(nameCstr, args);
menu.create();
return menu
}
-fun toolbarItem(name: String, label: String? = null, icon: String? = null, stockId: String? = null, onClick: EventHandler? = null) {
- if(stockId != null) {
- // TODO
- } else {
- Toolbar.item(name, label, icon, onClick)
- }
+fun toolbarItem(name: String, label: String? = null, icon: String? = null, tooltip: String? = null, onClick: EventHandler? = null) {
+ Toolbar.item(name, label, icon, tooltip, onClick)
}
-fun toolbarToggleItem(name: String, label: String? = null, icon: String? = null, stockId: String? = null, varname: String? = null, onChange: EventHandler? = null) {
- // TODO: stockId
- Toolbar.toggleItem(name, label, icon, varname, onChange)
+fun toolbarToggleItem(name: String, label: String? = null, icon: String? = null, tooltip: String? = null, varname: String? = null, onChange: EventHandler? = null) {
+ Toolbar.toggleItem(name, label, icon, tooltip, varname, onChange)
}
-fun toolbarMenu(name: String?, label: String? = null, icon: String? = null, stockId: String? = null, block: MenuBuilder.() -> Unit) {
- // TODO: stockId
- Toolbar.menu(name, label, icon, menuBuilder(block))
+fun toolbarMenu(name: String?, label: String? = null, icon: String? = null, tooltip: String? = null, block: MenuBuilder.() -> Unit) {
+ Toolbar.menu(name, label, icon, tooltip, menuBuilder(block))
}
fun toolbarAppMenu(block: MenuBuilder.() -> Unit) {
fun button(
label: String? = null,
icon: String? = null,
+ tooltip: String? = null,
fill: Boolean = false,
hexpand: Boolean = false,
vexpand: Boolean = false,
icon?.let {
button.icon(it)
}
+ tooltip?.let {
+ button.tooltip(it)
+ }
if(fill) {
button.fill(fill);
}
button: ToggleBuilder,
label: String? = null,
icon: String? = null,
+ tooltip: String? = null,
varname: String? = null,
value: UiInteger? = null,
fill: Boolean = false,
label?.let {
button.label(it)
}
+ tooltip?.let {
+ button.tooltip(it)
+ }
varname?.let {
button.varname(it)
}
fun togglebutton(
label: String? = null,
icon: String? = null,
+ tooltip: String? = null,
varname: String? = null,
value: UiInteger? = null,
fill: Boolean = false,
button = Button.toggleButton(ui),
label = label,
icon = icon,
+ tooltip = tooltip,
varname = varname,
value = value,
fill = fill,
fun checkbox(
label: String? = null,
icon: String? = null,
+ tooltip: String? = null,
varname: String? = null,
value: UiInteger? = null,
fill: Boolean = false,
button = Button.checkbox(ui),
label = label,
icon = icon,
+ tooltip = tooltip,
varname = varname,
value = value,
fill = fill,
fun switch(
label: String? = null,
icon: String? = null,
+ tooltip: String? = null,
varname: String? = null,
value: UiInteger? = null,
fill: Boolean = false,
button = Button.switchButton(ui),
label = label,
icon = icon,
+ tooltip = tooltip,
varname = varname,
value = value,
fill = fill,
fun radiobutton(
label: String? = null,
icon: String? = null,
+ tooltip: String? = null,
varname: String? = null,
value: UiInteger? = null,
fill: Boolean = false,
button = Button.radioButton(ui),
label = label,
icon = icon,
+ tooltip = tooltip,
varname = varname,
value = value,
fill = fill,