package Gtkada.MDI is
type MDI_Window_Record is new Gtk.Widget.Gtk_Widget_Record with private;
type MDI_Child_Record is new Gtk.Event_Box.Gtk_Event_Box_Record with private;
type MDI_Window is access all MDI_Window_Record'Class;
type MDI_Child is access all MDI_Child_Record'Class;
type MDI_Child_Array is array (Natural range <>) of MDI_Child;
type State_Type is (Normal, Floating, Invisible);
type Child_Position is (Position_Automatic, Position_Bottom, Position_Top, Position_Left, Position_Right);
subtype Side_Position is Child_Position range Position_Bottom .. Position_Right;
type Tab_Contextual_Menu_Factory is access procedure (Child : access MDI_Child_Record'Class; Menu : access Gtk.Menu.Gtk_Menu_Record'Class);
type Split_Mode is (Before, Before_Reuse, After, After_Reuse, Any_Side_Reuse);
No_Children : constant MDI_Child_Array := (1 .. 0 => null);
Destroy_Button : constant Child_Flags := 2 ** 2;
Float_As_Transient : constant Child_Flags := 2 ** 3;
Always_Destroy_Float : constant Child_Flags := 2 ** 4;
All_Buttons : constant Child_Flags := Destroy_Button;
Group_Default : constant Child_Group := 1;
Group_Any : constant Child_Group := Child_Group'Last;
Signal_Child_Selected : constant Signal_Name := "child_selected";
Signal_Float_Child : constant Signal_Name := "float_child";
Signal_Child_Title_Changed : constant Signal_Name := "child_title_changed";
Signal_Child_Added : constant Signal_Name := "child_added";
Signal_Child_Removed : constant Signal_Name := "child_removed";
Signal_Child_Icon_Changed : constant Signal_Name := "child_icon_changed";
Signal_Delete_Event : constant Signal_Name := "delete_event";
Signal_Selected : constant Signal_Name := "selected";
Signal_Unfloat_Child : constant Signal_Name := "unfloat_child";
Signal_Perspective_Changed : constant Signal_Name := "perspective_changed";
Signal_Children_Reorganized : constant Signal_Name := "children_reorganized";
Signal_Child_State_Changed : constant Signal_Name := "child_state_changed";
procedure Gtk_New
( | MDI | : out MDI_Window; |
Group | : access Gtk.Accel_Group.Gtk_Accel_Group_Record'Class; | |
Independent_Perspectives | : Boolean := False); |
procedure Initialize
( | MDI | : access MDI_Window_Record'Class; |
Group | : access Gtk.Accel_Group.Gtk_Accel_Group_Record'Class; | |
Independent_Perspectives | : Boolean := False); |
procedure Setup_Toplevel_Window
( | MDI | : access MDI_Window_Record; |
Parent | : access Gtk.Window.Gtk_Window_Record'Class); |
procedure Configure
( | MDI | : access MDI_Window_Record; |
Opaque_Resize | : Boolean := False; | |
Close_Floating_Is_Unfloat | : Boolean := True; | |
Title_Font | : Pango.Font.Pango_Font_Description := null; | |
Background_Color | : Gdk.Color.Gdk_Color := Gdk.Color.Null_Color; | |
Title_Bar_Color | : Gdk.Color.Gdk_Color := Gdk.Color.Null_Color; | |
Focus_Title_Color | : Gdk.Color.Gdk_Color := Gdk.Color.Null_Color; | |
Draw_Title_Bars | : Title_Bars_Policy := Always; | |
Tabs_Position | : Gtk.Enums.Gtk_Position_Type := Gtk.Enums.Pos_Bottom; | |
Show_Tabs_Policy | : Show_Tabs_Policy_Enum := Automatic); |
function Independent_Perspectives
( | MDI | : access MDI_Window_Record) return Boolean; |
procedure Gtk_New
( | Child | : out MDI_Child; |
Widget | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Flags | : Child_Flags := All_Buttons; | |
Group | : Child_Group := Group_Default; | |
Focus_Widget | : Gtk.Widget.Gtk_Widget := null); |
procedure Initialize
( | Child | : access MDI_Child_Record'Class; |
Widget | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Flags | : Child_Flags := All_Buttons; | |
Group | : Child_Group := Group_Default; | |
Focus_Widget | : Gtk.Widget.Gtk_Widget := null); |
procedure Put
( | MDI | : access MDI_Window_Record; |
Child | : access MDI_Child_Record'Class; | |
Initial_Position | : Child_Position := Position_Automatic); |
procedure Set_Size
( | MDI | : access MDI_Window_Record; |
Child | : access MDI_Child_Record'Class; | |
Width | : Glib.Gint; | |
Height | : Glib.Gint; | |
Fixed_Size | : Boolean := False); |
procedure Close
( | MDI | : access MDI_Window_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Force | : Boolean := False); |
procedure Set_Title
( | Child | : access MDI_Child_Record; |
Title | : UTF8_String; | |
Short_Title | : UTF8_String := ""); |
function Get_MDI
( | Child | : access MDI_Child_Record) return MDI_Window; |
function Get_Title
( | Child | : access MDI_Child_Record) return UTF8_String; |
function Get_Short_Title
( | Child | : access MDI_Child_Record) return UTF8_String; |
function Has_Title_Bar
( | Child | : access MDI_Child_Record) return Boolean; |
function Get_State
( | Child | : access MDI_Child_Record) return State_Type; |
procedure Set_Icon
( | Child | : access MDI_Child_Record; |
Icon | : Gdk.Pixbuf.Gdk_Pixbuf); |
function Get_Icon
( | Child | : access MDI_Child_Record) return Gdk.Pixbuf.Gdk_Pixbuf; |
function Dnd_Data
( | Child | : access MDI_Child_Record; |
Copy | : Boolean) return MDI_Child; |
procedure Set_Dnd_Message
( | MDI | : access MDI_Window_Record; |
Message | : String); |
procedure Child_Drag_Begin
( | Child | : access MDI_Child_Record'Class; |
Event | : Gdk.Event.Gdk_Event); |
procedure Cancel_Child_Drag
( | Child | : access MDI_Child_Record'Class); |
procedure Child_Drag_Finished
( | Child | : access MDI_Child_Record); |
procedure Set_Tab_Contextual_Menu_Factory
( | MDI | : access MDI_Window_Record; |
Factory | : Tab_Contextual_Menu_Factory); |
procedure Highlight_Child
( | Child | : access MDI_Child_Record; |
Highlight | : Boolean := True); |
function Get_Focus_Child
( | MDI | : access MDI_Window_Record) return MDI_Child; |
procedure Set_Focus_Child
( | MDI | : access MDI_Window_Record; |
Containing | : access Gtk.Widget.Gtk_Widget_Record'Class); |
procedure Set_Focus_Child
( | Child | : access MDI_Child_Record); |
procedure Check_Interactive_Selection_Dialog
( | MDI | : access MDI_Window_Record; |
Event | : Gdk.Event.Gdk_Event; | |
Move_To_Next | : Boolean; | |
Only_Group | : Child_Group := Group_Any); |
function Get_Widget
( | Child | : access MDI_Child_Record) return Gtk.Widget.Gtk_Widget; |
function Find_MDI_Child
( | MDI | : access MDI_Window_Record; |
Widget | : access Gtk.Widget.Gtk_Widget_Record'Class) return MDI_Child; |
function Find_MDI_Child_From_Widget
( | Widget | : access Gtk.Widget.Gtk_Widget_Record'Class) return MDI_Child; |
function Find_MDI_Child_By_Tag
( | MDI | : access MDI_Window_Record; |
Tag | : Ada.Tags.Tag; | |
Visible_Only | : Boolean := False) return MDI_Child; |
function Find_MDI_Child_By_Name
( | MDI | : access MDI_Window_Record; |
Name | : String) return MDI_Child; |
function First_Child
( | MDI | : access MDI_Window_Record; |
Group_By_Notebook | : Boolean := False; | |
Visible_Only | : Boolean := True) return Child_Iterator; |
function Get_Notebook
( | Iterator | : Child_Iterator) return Gtk.Notebook.Gtk_Notebook; |
function Get
( | Iterator | : Child_Iterator) return MDI_Child; |
procedure Float_Child
( | Child | : access MDI_Child_Record'Class; |
Float | : Boolean); |
function Is_Floating
( | Child | : access MDI_Child_Record'Class) return Boolean; |
procedure Close_Child
( | Child | : access MDI_Child_Record'Class; |
Force | : Boolean := False); |
procedure Set_All_Floating_Mode
( | MDI | : access MDI_Window_Record; |
All_Floating | : Boolean); |
procedure Use_Short_Titles_For_Floats
( | MDI | : access MDI_Window_Record; |
Short_Titles | : Boolean); |
procedure Raise_Child
( | Child | : access MDI_Child_Record'Class; |
Give_Focus | : Boolean := True); |
function Is_Raised
( | Child | : access MDI_Child_Record'Class) return Boolean; |
procedure Lower_Child
( | Child | : access MDI_Child_Record'Class); |
procedure Split
( | MDI | : access MDI_Window_Record; |
Orientation | : Gtk.Enums.Gtk_Orientation; | |
Child | : MDI_Child := null; | |
Mode | : Split_Mode := Before; | |
Width, Height | : Glib.Gint := 0); |
function Desktop_Was_Loaded
( | MDI | : access MDI_Window_Record) return Boolean; |
function List_Of_Perspectives
( | MDI | : access MDI_Window_Record) return GNAT.Strings.String_List_Access; |
function Current_Perspective
( | MDI | : access MDI_Window_Record'Class) return String; |