1. private with Events; 
  2. private with Events.Listeners; 
  3. private with Widgets.Buttons; 
  4.  
  5. package Widgets.Containers.Panels.Dialogs.Resize_World is 
  6.  
  7.     function Create_Resize_Dialog( view : not null access Game_Views.Game_View'Class; 
  8.                                    id   : String ) return A_Dialog; 
  9.     pragma Precondition( id'Length > 0 ); 
  10.     pragma Postcondition( Create_Resize_Dialog'Result /= null ); 
  11.  
  12. private 
  13.  
  14.     use Events; 
  15.     use Events.Listeners; 
  16.     use Widgets.Buttons; 
  17.  
  18.     type Resize_Dialog is new Dialog and 
  19.          Button_Listener and 
  20.          Event_Listener with 
  21.         record 
  22.             mapHeight, 
  23.             mapWidth  : Integer; 
  24.         end record; 
  25.  
  26.     procedure Construct( this : access Resize_Dialog; 
  27.                          view : not null access Game_Views.Game_View'Class; 
  28.                          id   : String ); 
  29.     pragma Precondition( id'Length > 0 ); 
  30.  
  31.     procedure Delete( this : in out Resize_Dialog ); 
  32.  
  33.     procedure Do_Ok( this : access Resize_Dialog ); 
  34.  
  35.     procedure Handle_Action( this   : access Resize_Dialog; 
  36.                              action : A_Button_Action ); 
  37.  
  38.     procedure Handle_Action( this    : access Resize_Dialog; 
  39.                              action  : A_Key_Action; 
  40.                              handled : out Boolean ); 
  41.  
  42.     procedure Handle_Event( this : access Resize_Dialog; 
  43.                             evt  : in out A_Event; 
  44.                             resp : out Response_Type ); 
  45.     pragma Precondition( evt /= null ); 
  46.  
  47.     procedure Handle_Show( this : access Resize_Dialog ); 
  48.  
  49.     procedure Show( this : access Resize_Dialog ); 
  50.  
  51. end Widgets.Containers.Panels.Dialogs.Resize_World;