with Associations; use Associations;
with Entities; use Entities;
private with Widgets.Buttons;
pragma Warnings( Off, Associations );
package Widgets.Containers.Panels.Dialogs.Entity_Attributes is
function Create_Entity_Attributes_Dialog( view : not null access Game_Views.Game_View'Class;
id : String;
eid : Entity_Id;
class : String;
attributes : not null A_Association ) return A_Dialog;
pragma Precondition( id'Length > 0 );
pragma Precondition( class'Length > 0 );
pragma Postcondition( Create_Entity_Attributes_Dialog'Result /= null );
private
use Widgets.Buttons;
type Entity_Attributes_Dialog is new Dialog and Button_Listener with
record
eid : Entity_Id;
eAttributes : A_Association := null;
end record;
procedure Construct( this : access Entity_Attributes_Dialog;
view : not null access Game_Views.Game_View'Class;
id : String;
eid : Entity_Id;
class : String;
attributes : not null A_Association );
pragma Precondition( id'Length > 0 );
pragma Precondition( class'Length > 0 );
procedure Do_Apply( this : access Entity_Attributes_Dialog );
procedure Handle_Action( this : access Entity_Attributes_Dialog;
action : A_Button_Action );
procedure Handle_Action( this : access Entity_Attributes_Dialog;
action : A_Key_Action;
handled : out Boolean );
procedure Show( this : access Entity_Attributes_Dialog );
end Widgets.Containers.Panels.Dialogs.Entity_Attributes;