package Gtk_Notebook_Tab_Properties is new Generic_Internal_Discrete_Property (Gtk_Notebook_Tab);
package Implements_Gtk_Buildable is new Glib.Types.Implements (Gtk.Buildable.Gtk_Buildable, Gtk_Notebook_Record, Gtk_Notebook);
type Gtk_Notebook_Record is new Gtk_Container_Record with null record;
type Gtk_Notebook is access all Gtk_Notebook_Record'Class;
type Property_Gtk_Notebook_Tab is new Gtk_Notebook_Tab_Properties.Property;
type Cb_Gtk_Notebook_Gint_Boolean is not null access function (Self : access Gtk_Notebook_Record'Class; Object : Gint) return Boolean;
type Cb_GObject_Gint_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; Object : Gint) return Boolean;
type Cb_Gtk_Notebook_Gtk_Widget_Gint_Gint_Gtk_Notebook is not null access function (Self : access Gtk_Notebook_Record'Class; Page : not null access Gtk.Widget.Gtk_Widget_Record'Class; X : Gint; Y : Gint) return Gtk_Notebook;
type Cb_GObject_Gtk_Widget_Gint_Gint_Gtk_Notebook is not null access function (Self : access Glib.Object.GObject_Record'Class; Page : not null access Gtk.Widget.Gtk_Widget_Record'Class; X : Gint; Y : Gint) return Gtk_Notebook;
type Cb_Gtk_Notebook_Gtk_Notebook_Tab_Boolean is not null access function (Self : access Gtk_Notebook_Record'Class; Object : Gtk_Notebook_Tab) return Boolean;
type Cb_GObject_Gtk_Notebook_Tab_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; Object : Gtk_Notebook_Tab) return Boolean;
type Cb_Gtk_Notebook_Gtk_Direction_Type_Void is not null access procedure (Self : access Gtk_Notebook_Record'Class; Object : Gtk.Enums.Gtk_Direction_Type);
type Cb_GObject_Gtk_Direction_Type_Void is not null access procedure (Self : access Glib.Object.GObject_Record'Class; Object : Gtk.Enums.Gtk_Direction_Type);
type Cb_Gtk_Notebook_Gtk_Widget_Guint_Void is not null access procedure (Self : access Gtk_Notebook_Record'Class; Child : not null access Gtk.Widget.Gtk_Widget_Record'Class; Page_Num : Guint);
type Cb_GObject_Gtk_Widget_Guint_Void is not null access procedure (Self : access Glib.Object.GObject_Record'Class; Child : not null access Gtk.Widget.Gtk_Widget_Record'Class; Page_Num : Guint);
type Cb_Gtk_Notebook_Gtk_Direction_Type_Boolean_Boolean is not null access function (Self : access Gtk_Notebook_Record'Class; Object : Gtk.Enums.Gtk_Direction_Type; P0 : Boolean) return Boolean;
type Cb_GObject_Gtk_Direction_Type_Boolean_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; Object : Gtk.Enums.Gtk_Direction_Type; P0 : Boolean) return Boolean;
type Cb_Gtk_Notebook_Boolean_Boolean is not null access function (Self : access Gtk_Notebook_Record'Class; Object : Boolean) return Boolean;
type Cb_GObject_Boolean_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; Object : Boolean) return Boolean;
Enable_Popup_Property : constant Glib.Properties.Property_Boolean;
Group_Name_Property : constant Glib.Properties.Property_String;
Page_Property : constant Glib.Properties.Property_Int;
Scrollable_Property : constant Glib.Properties.Property_Boolean;
Show_Border_Property : constant Glib.Properties.Property_Boolean;
Show_Tabs_Property : constant Glib.Properties.Property_Boolean;
Tab_Pos_Property : constant Gtk.Enums.Property_Gtk_Position_Type;
Signal_Change_Current_Page : constant Glib.Signal_Name := "change-current-page";
Signal_Create_Window : constant Glib.Signal_Name := "create-window";
Signal_Focus_Tab : constant Glib.Signal_Name := "focus-tab";
Signal_Move_Focus_Out : constant Glib.Signal_Name := "move-focus-out";
Signal_Page_Added : constant Glib.Signal_Name := "page-added";
Signal_Page_Removed : constant Glib.Signal_Name := "page-removed";
Signal_Page_Reordered : constant Glib.Signal_Name := "page-reordered";
Signal_Reorder_Tab : constant Glib.Signal_Name := "reorder-tab";
Signal_Select_Page : constant Glib.Signal_Name := "select-page";
Signal_Switch_Page : constant Glib.Signal_Name := "switch-page";
procedure Gtk_New
( | Notebook | : out Gtk_Notebook); |
procedure Initialize
( | Notebook | : not null access Gtk_Notebook_Record'Class); |
function Gtk_Notebook_New return Gtk_Notebook;
function Get_Type return Glib.GType;
function Append_Page
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class) return Gint; |
procedure Append_Page_Menu
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null 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); |
function Get_Action_Widget
( | Notebook | : not null access Gtk_Notebook_Record; |
Pack_Type | : Gtk.Enums.Gtk_Pack_Type) return Gtk.Widget.Gtk_Widget; |
procedure Set_Action_Widget
( | Notebook | : not null access Gtk_Notebook_Record; |
Widget | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Pack_Type | : Gtk.Enums.Gtk_Pack_Type); |
function Get_Current_Page
( | Notebook | : not null access Gtk_Notebook_Record) return Gint; |
procedure Set_Current_Page
( | Notebook | : not null access Gtk_Notebook_Record; |
Page_Num | : Gint := -1); |
function Get_Group_Name
( | Notebook | : not null access Gtk_Notebook_Record) return UTF8_String; |
procedure Set_Group_Name
( | Notebook | : not null access Gtk_Notebook_Record; |
Group_Name | : UTF8_String := ""); |
function Get_Menu_Label
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class) return Gtk.Widget.Gtk_Widget; |
procedure Set_Menu_Label
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Menu_Label | : access Gtk.Widget.Gtk_Widget_Record'Class); |
function Get_Menu_Label_Text
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class) return UTF8_String; |
procedure Set_Menu_Label_Text
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Menu_Text | : UTF8_String); |
function Get_N_Pages
( | Notebook | : not null access Gtk_Notebook_Record) return Gint; |
function Get_Nth_Page
( | Notebook | : not null access Gtk_Notebook_Record; |
Page_Num | : Gint) return Gtk.Widget.Gtk_Widget; |
function Get_Scrollable
( | Notebook | : not null access Gtk_Notebook_Record) return Boolean; |
procedure Set_Scrollable
( | Notebook | : not null access Gtk_Notebook_Record; |
Scrollable | : Boolean := True); |
function Get_Show_Border
( | Notebook | : not null access Gtk_Notebook_Record) return Boolean; |
procedure Set_Show_Border
( | Notebook | : not null access Gtk_Notebook_Record; |
Show_Border | : Boolean := True); |
function Get_Show_Tabs
( | Notebook | : not null access Gtk_Notebook_Record) return Boolean; |
procedure Set_Show_Tabs
( | Notebook | : not null access Gtk_Notebook_Record; |
Show_Tabs | : Boolean := True); |
function Get_Tab_Detachable
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class) return Boolean; |
procedure Set_Tab_Detachable
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Detachable | : Boolean := True); |
function Get_Tab_Hborder
( | Notebook | : not null access Gtk_Notebook_Record) return Guint16; |
function Get_Tab_Label
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class) return Gtk.Widget.Gtk_Widget; |
procedure Set_Tab_Label
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class); |
function Get_Tab_Label_Text
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class) return UTF8_String; |
procedure Set_Tab_Label_Text
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Text | : UTF8_String); |
function Get_Tab_Pos
( | Notebook | : not null access Gtk_Notebook_Record) return Gtk.Enums.Gtk_Position_Type; |
procedure Set_Tab_Pos
( | Notebook | : not null access Gtk_Notebook_Record; |
Pos | : Gtk.Enums.Gtk_Position_Type); |
function Get_Tab_Reorderable
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class) return Boolean; |
procedure Set_Tab_Reorderable
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Reorderable | : Boolean := True); |
function Get_Tab_Vborder
( | Notebook | : not null access Gtk_Notebook_Record) return Guint16; |
function Insert_Page
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Position | : Gint) return Gint; |
function Insert_Page_Menu
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null 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) return Gint; |
procedure Next_Page
( | Notebook | : not null access Gtk_Notebook_Record); |
function Page_Num
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class) return Gint; |
procedure Popup_Disable
( | Notebook | : not null access Gtk_Notebook_Record); |
procedure Popup_Enable
( | Notebook | : not null access Gtk_Notebook_Record); |
function Prepend_Page
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Tab_Label | : access Gtk.Widget.Gtk_Widget_Record'Class) return Gint; |
function Prepend_Page_Menu
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null 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) return Gint; |
procedure Prev_Page
( | Notebook | : not null access Gtk_Notebook_Record); |
procedure Remove_Page
( | Notebook | : not null access Gtk_Notebook_Record; |
Page_Num | : Gint); |
procedure Reorder_Child
( | Notebook | : not null access Gtk_Notebook_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Position | : Gint); |
procedure Append_Page
( | Notebook | : access Gtk_Notebook_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class); |
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 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 On_Change_Current_Page
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_Gtk_Notebook_Gint_Boolean; | |
After | : Boolean := False); |
procedure On_Change_Current_Page
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_GObject_Gint_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Create_Window
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_Gtk_Notebook_Gtk_Widget_Gint_Gint_Gtk_Notebook; | |
After | : Boolean := False); |
procedure On_Create_Window
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_GObject_Gtk_Widget_Gint_Gint_Gtk_Notebook; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Focus_Tab
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_Gtk_Notebook_Gtk_Notebook_Tab_Boolean; | |
After | : Boolean := False); |
procedure On_Focus_Tab
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_GObject_Gtk_Notebook_Tab_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Move_Focus_Out
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_Gtk_Notebook_Gtk_Direction_Type_Void; | |
After | : Boolean := False); |
procedure On_Move_Focus_Out
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_GObject_Gtk_Direction_Type_Void; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Page_Added
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_Gtk_Notebook_Gtk_Widget_Guint_Void; | |
After | : Boolean := False); |
procedure On_Page_Added
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_GObject_Gtk_Widget_Guint_Void; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Page_Removed
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_Gtk_Notebook_Gtk_Widget_Guint_Void; | |
After | : Boolean := False); |
procedure On_Page_Removed
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_GObject_Gtk_Widget_Guint_Void; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Page_Reordered
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_Gtk_Notebook_Gtk_Widget_Guint_Void; | |
After | : Boolean := False); |
procedure On_Page_Reordered
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_GObject_Gtk_Widget_Guint_Void; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Reorder_Tab
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_Gtk_Notebook_Gtk_Direction_Type_Boolean_Boolean; | |
After | : Boolean := False); |
procedure On_Reorder_Tab
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_GObject_Gtk_Direction_Type_Boolean_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Select_Page
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_Gtk_Notebook_Boolean_Boolean; | |
After | : Boolean := False); |
procedure On_Select_Page
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_GObject_Boolean_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Switch_Page
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_Gtk_Notebook_Gtk_Widget_Guint_Void; | |
After | : Boolean := False); |
procedure On_Switch_Page
( | Self | : not null access Gtk_Notebook_Record; |
Call | : Cb_GObject_Gtk_Widget_Guint_Void; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
function "+"
( | Widget | : access Gtk_Notebook_Record'Class) return Gtk.Buildable.Gtk_Buildable renames Implements_Gtk_Buildable.To_Interface; |
function "-"
( | Interf | : Gtk.Buildable.Gtk_Buildable) return Gtk_Notebook renames Implements_Gtk_Buildable.To_Object; |
The Gtk.Notebook.Gtk_Notebook widget is a Gtk.Container.Gtk_Container whose children are pages that can be switched between using tab labels along one edge.
There are many configuration options for GtkNotebook. Among other things, you can choose on which edge the tabs appear (see Gtk.Notebook.Set_Tab_Pos), whether, if there are too many tabs to fit the notebook should be made bigger or scrolling arrows added (see Gtk.Notebook.Set_Scrollable), and whether there will be a popup menu allowing the users to switch pages. (see Gtk.Notebook.Popup_Enable, Gtk.Notebook.Popup_Disable) == GtkNotebook as GtkBuildable == The GtkNotebook implementation of the Gtk.Buildable.Gtk_Buildable interface supports placing children into tabs by specifying "tab" as the "type" attribute of a <child> element. Note that the content of the tab must be created before the tab can be filled. A tab child can be specified without specifying a <child> type attribute.
To add a child widget in the notebooks action area, specify "action-start" or "action-end" as the "type" attribute of the <child> element. == A UI definition fragment with GtkNotebook == <object class="GtkNotebook"> <child> <object class="GtkLabel" id="notebook-content"> <property name="label">Content</property> </object> </child> <child type="tab"> <object class="GtkLabel" id="notebook-tab"> <property name="label">Tab</property> </object> </child> </object>