mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-27 18:53:41 +02:00
146 lines
6.1 KiB
ObjectPascal
146 lines
6.1 KiB
ObjectPascal
{
|
|
}
|
|
|
|
{****************************************************************************
|
|
Interface
|
|
****************************************************************************}
|
|
|
|
{$ifdef read_interface}
|
|
|
|
type
|
|
PGtkMenuItem = ^TGtkMenuItem;
|
|
TGtkMenuItem = record
|
|
item : TGtkItem;
|
|
submenu : PGtkWidget;
|
|
accelerator_signal : guint;
|
|
toggle_size : guint16;
|
|
accelerator_width : guint16;
|
|
flag0 : {$ifdef win32}longint{$else}word{$endif};
|
|
timer : guint;
|
|
end;
|
|
|
|
const
|
|
bm_show_toggle_indicator = 1;
|
|
bp_show_toggle_indicator = 0;
|
|
bm_show_submenu_indicator = 2;
|
|
bp_show_submenu_indicator = 1;
|
|
bm_submenu_placement = 4;
|
|
bp_submenu_placement = 2;
|
|
bm_submenu_direction = 8;
|
|
bp_submenu_direction = 3;
|
|
bm_right_justify = 16;
|
|
bp_right_justify = 4;
|
|
function show_toggle_indicator(var a : TGtkMenuItem) : guint;
|
|
procedure set_show_toggle_indicator(var a : TGtkMenuItem; __show_toggle_indicator : guint);
|
|
function show_submenu_indicator(var a : TGtkMenuItem) : guint;
|
|
procedure set_show_submenu_indicator(var a : TGtkMenuItem; __show_submenu_indicator : guint);
|
|
function submenu_placement(var a : TGtkMenuItem) : guint;
|
|
procedure set_submenu_placement(var a : TGtkMenuItem; __submenu_placement : guint);
|
|
function submenu_direction(var a : TGtkMenuItem) : guint;
|
|
procedure set_submenu_direction(var a : TGtkMenuItem; __submenu_direction : guint);
|
|
function right_justify(var a : TGtkMenuItem) : guint;
|
|
procedure set_right_justify(var a : TGtkMenuItem; __right_justify : guint);
|
|
|
|
type
|
|
PGtkMenuItemClass = ^TGtkMenuItemClass;
|
|
TGtkMenuItemClass = record
|
|
parent_class : TGtkItemClass;
|
|
toggle_size : guint;
|
|
flag0 : {$ifdef win32}longint{$else}word{$endif};
|
|
activate : procedure (menu_item:PGtkMenuItem);cdecl;
|
|
activate_item : procedure (menu_item:PGtkMenuItem);cdecl;
|
|
end;
|
|
|
|
Type
|
|
GTK_MENU_ITEM=PGtkMenuItem;
|
|
GTK_MENU_ITEM_CLASS=PGtkMenuItemClass;
|
|
|
|
function GTK_MENU_ITEM_TYPE:TGtkType;cdecl;external gtkdll name 'gtk_menu_item_get_type';
|
|
function GTK_IS_MENU_ITEM(obj:pointer):boolean;
|
|
function GTK_IS_MENU_ITEM_CLASS(klass:pointer):boolean;
|
|
|
|
function gtk_menu_item_get_type:TGtkType;cdecl;external gtkdll name 'gtk_menu_item_get_type';
|
|
function gtk_menu_item_new : PGtkWidget;cdecl;external gtkdll name 'gtk_menu_item_new';
|
|
function gtk_menu_item_new_with_label (thelabel:Pgchar):PGtkWidget;cdecl;external gtkdll name 'gtk_menu_item_new_with_label';
|
|
procedure gtk_menu_item_set_submenu(menu_item:PGtkMenuItem; submenu:PGtkWidget);cdecl;external gtkdll name 'gtk_menu_item_set_submenu';
|
|
procedure gtk_menu_item_remove_submenu(menu_item:PGtkMenuItem);cdecl;external gtkdll name 'gtk_menu_item_remove_submenu';
|
|
procedure gtk_menu_item_set_placement(menu_item:PGtkMenuItem; placement:TGtkSubmenuPlacement);cdecl;external gtkdll name 'gtk_menu_item_set_placement';
|
|
procedure gtk_menu_item_configure(menu_item:PGtkMenuItem; show_toggle_indicator:gint; show_submenu_indicator:gint);cdecl;external gtkdll name 'gtk_menu_item_configure';
|
|
procedure gtk_menu_item_select(menu_item:PGtkMenuItem);cdecl;external gtkdll name 'gtk_menu_item_select';
|
|
procedure gtk_menu_item_deselect(menu_item:PGtkMenuItem);cdecl;external gtkdll name 'gtk_menu_item_deselect';
|
|
procedure gtk_menu_item_activate(menu_item:PGtkMenuItem);cdecl;external gtkdll name 'gtk_menu_item_activate';
|
|
procedure gtk_menu_item_right_justify(menu_item:PGtkMenuItem);cdecl;external gtkdll name 'gtk_menu_item_right_justify';
|
|
|
|
{$endif read_interface}
|
|
|
|
|
|
{****************************************************************************
|
|
Implementation
|
|
****************************************************************************}
|
|
|
|
{$ifdef read_implementation}
|
|
|
|
function show_toggle_indicator(var a : TGtkMenuItem) : guint;
|
|
begin
|
|
show_toggle_indicator:=(a.flag0 and bm_show_toggle_indicator) shr bp_show_toggle_indicator;
|
|
end;
|
|
|
|
procedure set_show_toggle_indicator(var a : TGtkMenuItem; __show_toggle_indicator : guint);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__show_toggle_indicator shl bp_show_toggle_indicator) and bm_show_toggle_indicator);
|
|
end;
|
|
|
|
function show_submenu_indicator(var a : TGtkMenuItem) : guint;
|
|
begin
|
|
show_submenu_indicator:=(a.flag0 and bm_show_submenu_indicator) shr bp_show_submenu_indicator;
|
|
end;
|
|
|
|
procedure set_show_submenu_indicator(var a : TGtkMenuItem; __show_submenu_indicator : guint);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__show_submenu_indicator shl bp_show_submenu_indicator) and bm_show_submenu_indicator);
|
|
end;
|
|
|
|
function submenu_placement(var a : TGtkMenuItem) : guint;
|
|
begin
|
|
submenu_placement:=(a.flag0 and bm_submenu_placement) shr bp_submenu_placement;
|
|
end;
|
|
|
|
procedure set_submenu_placement(var a : TGtkMenuItem; __submenu_placement : guint);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__submenu_placement shl bp_submenu_placement) and bm_submenu_placement);
|
|
end;
|
|
|
|
function submenu_direction(var a : TGtkMenuItem) : guint;
|
|
begin
|
|
submenu_direction:=(a.flag0 and bm_submenu_direction) shr bp_submenu_direction;
|
|
end;
|
|
|
|
procedure set_submenu_direction(var a : TGtkMenuItem; __submenu_direction : guint);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__submenu_direction shl bp_submenu_direction) and bm_submenu_direction);
|
|
end;
|
|
|
|
function right_justify(var a : TGtkMenuItem) : guint;
|
|
begin
|
|
right_justify:=(a.flag0 and bm_right_justify) shr bp_right_justify;
|
|
end;
|
|
|
|
procedure set_right_justify(var a : TGtkMenuItem; __right_justify : guint);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__right_justify shl bp_right_justify) and bm_right_justify);
|
|
end;
|
|
|
|
function GTK_IS_MENU_ITEM(obj:pointer):boolean;
|
|
begin
|
|
GTK_IS_MENU_ITEM:=(obj<>nil) and GTK_IS_MENU_ITEM_CLASS(PGtkTypeObject(obj)^.klass);
|
|
end;
|
|
|
|
function GTK_IS_MENU_ITEM_CLASS(klass:pointer):boolean;
|
|
begin
|
|
GTK_IS_MENU_ITEM_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GTK_MENU_ITEM_TYPE);
|
|
end;
|
|
|
|
{$endif read_implementation}
|
|
|
|
|