package Page_List is new Glib.Glist.Generic_List (Gtk_Notebook_Page);
type Gtk_Notebook_Record is new Gtk.Container.Gtk_Container_Record with private;
type Gtk_Notebook is access all Gtk_Notebook_Record'Class;
subtype Gtk_Notebook_Page is Gtk.Gtk_Notebook_Page;
subtype Gtk_Notebook_Group is Glib.C_Proxy;
type Gtk_Notebook_Window_Creation_Func is access function (Source : System.Address; -- Gtk_Notebook Page : System.Address; -- Gtk_Widget X : System.Address; -- Gint Y : System.Address; -- Gint Data : System.Address) return Gtk_Notebook;
Page_Property : constant Glib.Properties.Property_Int;
Tab_Pos_Property : constant Gtk.Enums.Property_Gtk_Position_Type;
Tab_Border_Property : constant Glib.Properties.Property_Uint;
Tab_Hborder_Property : constant Glib.Properties.Property_Uint;
Tab_Vborder_Property : constant Glib.Properties.Property_Uint;
Show_Tabs_Property : constant Glib.Properties.Property_Boolean;
Show_Border_Property : constant Glib.Properties.Property_Boolean;
Scrollable_Property : constant Glib.Properties.Property_Boolean;
Enable_Popup_Property : constant Glib.Properties.Property_Boolean;
Homogeneous_Property : constant Glib.Properties.Property_Boolean;
Group_Property : constant Glib.Properties.Property_C_Proxy;
Group_Id_Property : constant Glib.Properties.Property_Int;
Menu_Label_Property : constant Glib.Properties.Property_String;
Position_Property : constant Glib.Properties.Property_Int;
Tab_Expand_Property : constant Glib.Properties.Property_Boolean;
Tab_Fill_Property : constant Glib.Properties.Property_Boolean;
Tab_Label_Property : constant Glib.Properties.Property_String;
Tab_Pack_Property : constant Gtk.Enums.Property_Pack_Type;
Detachable_Property : constant Glib.Properties.Property_Boolean;
Reorderable_Property : constant Glib.Properties.Property_Boolean;
Arrow_Spacing_Property : constant Glib.Properties.Property_Int;
Has_Backward_Stepper_Property : constant Glib.Properties.Property_Boolean;
Has_Forward_Stepper_Property : constant Glib.Properties.Property_Boolean;
Has_Secondary_Backward_Stepper_Property : constant Glib.Properties.Property_Boolean;
Has_Secondary_Forward_Stepper_Property : constant Glib.Properties.Property_Boolean;
Tab_Curvature_Property : constant Glib.Properties.Property_Int;
Tab_Overlap_Property : constant Glib.Properties.Property_Int;
Signal_Switch_Page : constant Glib.Signal_Name := "switch_page";
Signal_Select_Page : constant Glib.Signal_Name := "select_page";
Signal_Focus_Tab : constant Glib.Signal_Name := "focus_tab";
Signal_Move_Focus_Out : constant Glib.Signal_Name := "move_focus_out";
Signal_Change_Current_Page : constant Glib.Signal_Name := "change_current_page";
procedure Initialize
( | Widget | : access Gtk_Notebook_Record'Class); |
function Get_Type return Gtk.Gtk_Type;
procedure Append_Page
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class); |
procedure Append_Page
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class); |
procedure Append_Page_Menu
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Menu_Label | : access Gtk.Widget.Gtk_Widget_Record'Class); |
procedure Prepend_Page
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class); |
procedure Prepend_Page_Menu
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Menu_Label | : access Gtk.Widget.Gtk_Widget_Record'Class); |
procedure Insert_Page
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Position | : Gint); |
procedure Insert_Page_Menu
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Menu_Label | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Position | : Gint); |
procedure Remove_Page
( | Notebook | : access Gtk_Notebook_Record; |
Page_Num | : Gint); |
procedure Set_Window_Creation_Hook
( | Func | : Gtk_Notebook_Window_Creation_Func; |
Data | : System.Address; | |
Destroy | : Glib.G_Destroy_Notify_Address); |
function Get_Current_Page
( | Notebook | : access Gtk_Notebook_Record) return Gint; |
function Get_Nth_Page
( | Widget | : access Gtk_Notebook_Record'Class; |
Page_Num | : Gint) return Gtk.Widget.Gtk_Widget; |
function Get_N_Pages
( | Notebook | : access Gtk_Notebook_Record) return Gint; |
function Page_Num
( | Widget | : access Gtk_Notebook_Record'Class; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class) return Gint; |
procedure Set_Current_Page
( | Notebook | : access Gtk_Notebook_Record; |
Page_Num | : Gint := -1); |
procedure Set_Page
( | Notebook | : access Gtk_Notebook_Record; |
Page_Num | : Gint := -1) renames Set_Current_Page; |
procedure Next_Page
( | Notebook | : access Gtk_Notebook_Record); |
procedure Prev_Page
( | Notebook | : access Gtk_Notebook_Record); |
procedure Set_Show_Border
( | Notebook | : access Gtk_Notebook_Record; |
Show_Border | : Boolean := True); |
function Get_Show_Border
( | Notebook | : access Gtk_Notebook_Record) return Boolean; |
procedure Set_Show_Tabs
( | Notebook | : access Gtk_Notebook_Record; |
Show_Tabs | : Boolean := True); |
function Get_Show_Tabs
( | Notebook | : access Gtk_Notebook_Record) return Boolean; |
procedure Set_Tab_Pos
( | Notebook | : access Gtk_Notebook_Record; |
Pos | : Gtk.Enums.Gtk_Position_Type); |
function Get_Tab_Pos
( | Widget | : access Gtk_Notebook_Record) return Gtk.Enums.Gtk_Position_Type; |
procedure Set_Scrollable
( | Notebook | : access Gtk_Notebook_Record; |
Scrollable | : Boolean := True); |
function Get_Scrollable
( | Notebook | : access Gtk_Notebook_Record) return Boolean; |
procedure Popup_Enable
( | Notebook | : access Gtk_Notebook_Record); |
procedure Popup_Disable
( | Notebook | : access Gtk_Notebook_Record); |
function Get_Tab_Label
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class) return Gtk.Widget.Gtk_Widget; |
procedure Set_Tab_Label
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class); |
procedure Set_Tab_Label_Text
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Text | : UTF8_String); |
function Get_Tab_Label_Text
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class) return UTF8_String; |
procedure Set_Tab
( | Notebook | : access Gtk_Notebook_Record; |
Page_Num | : Gint; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class); |
function Get_Menu_Label
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class) return Gtk.Widget.Gtk_Widget; |
procedure Set_Menu_Label
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Menu_Label | : access Gtk.Widget.Gtk_Widget_Record'Class); |
procedure Set_Menu_Label_Text
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Menu_Text | : UTF8_String); |
function Get_Menu_Label_Text
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class) return UTF8_String; |
procedure Query_Tab_Label_Packing
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Expand | : out Boolean; | |
Fill | : out Boolean; | |
Pack_Type | : out Gtk.Enums.Gtk_Pack_Type); |
procedure Set_Tab_Label_Packing
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Expand | : Boolean; | |
Fill | : Boolean; | |
Pack_Type | : Gtk.Enums.Gtk_Pack_Type); |
procedure Reorder_Child
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Position | : Gint); |
function Get_Tab_Reorderable
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Position | : Gint) return Boolean; |
procedure Set_Tab_Reorderable
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Reorderable | : Boolean := True); |
function Get_Tab_Detachable
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Position | : Gint) return Boolean; |
procedure Set_Tab_Detachable
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Detachable | : Boolean := True); |
function Get_Group
( | Notebook | : access Gtk_Notebook_Record) return Gtk_Notebook_Group; |
procedure Set_Group
( | Notebook | : access Gtk_Notebook_Record; |
Group | : Gtk_Notebook_Group); |
function Get_Notebook_Page
( | Value | : Glib.Values.GValue) return Gtk_Notebook_Page; |
function Convert is new Unchecked_Conversion
( | Gtk_Notebook_Page, System.Address); |
function Convert is new Unchecked_Conversion
( | System.Address, Gtk_Notebook_Page); |
function Get_Children
( | Widget | : access Gtk_Notebook_Record) return Page_List.Glist; |
procedure Set_Homogeneous_Tabs
( | Notebook | : access Gtk_Notebook_Record; |
Homogeneous | : Boolean := True); |
procedure Set_Tab_Border
( | Notebook | : access Gtk_Notebook_Record; |
Border_Width | : Gint); |
procedure Set_Tab_Hborder
( | Notebook | : access Gtk_Notebook_Record; |
Border_Width | : Gint); |
procedure Set_Tab_Vborder
( | Notebook | : access Gtk_Notebook_Record; |
Border_Width | : Gint); |
procedure Set_Group_Id
( | Notebook | : access Gtk_Notebook_Record; |
Group_Id | : Gint); |
function Get_Group_Id
( | Notebook | : access Gtk_Notebook_Record) return Gint; |
A Gtk_Notebook is a container that displays all of its children at the same location on the screen. They are organized into pages, that can be selected through tabs (either by clicking on them or by a contextual menu).
This is the best way to organize complicated interfaces that have a lot of widgets, by putting the children into groups of coherent widgets.
You can hide some of the pages of the notebook by simply calling Hide on the widget that is contained in the page (or returned from Get_Nth_Page).
Binding from C File version 2.16.6
<testgtk>create_notebook.adb</testgtk>