User input/Graphical: Difference between revisions
Content added Content deleted
m (Link to related task) |
(Ada solution added) |
||
Line 2: | Line 2: | ||
See also: [[User Input - text]] |
See also: [[User Input - text]] |
||
=={{header|Ada}}== |
|||
{{libheader|GTK|GtkAda}} |
|||
{{libheader|GtkAda}} |
|||
<lang ada> |
|||
with Gtk.Button; use Gtk.Button; |
|||
with Gtk.GEntry; use Gtk.GEntry; |
|||
with Gtk.Label; use Gtk.Label; |
|||
with Gtk.Window; use Gtk.Window; |
|||
with Gtk.Widget; use Gtk.Widget; |
|||
with Gtk.Table; use Gtk.Table; |
|||
with Gtk.Handlers; |
|||
with Gtk.Main; |
|||
procedure Graphic_Input is |
|||
Window : Gtk_Window; |
|||
Grid : Gtk_Table; |
|||
Label : Gtk_Label; |
|||
Message : Gtk_Label; |
|||
Edit : Gtk_GEntry; |
|||
Button : Gtk_Button; |
|||
package Handlers is new Gtk.Handlers.Callback (Gtk_Widget_Record); |
|||
package Return_Handlers is |
|||
new Gtk.Handlers.Return_Callback (Gtk_Widget_Record, Boolean); |
|||
function Delete_Event (Widget : access Gtk_Widget_Record'Class) |
|||
return Boolean is |
|||
begin |
|||
return False; |
|||
end Delete_Event; |
|||
procedure Destroy (Widget : access Gtk_Widget_Record'Class) is |
|||
begin |
|||
Gtk.Main.Main_Quit; |
|||
end Destroy; |
|||
procedure Clicked (Widget : access Gtk_Widget_Record'Class) is |
|||
begin |
|||
if Get_Text (Label) = "Enter integer:" then |
|||
Set_Text (Message, "Entered:" & Integer'Image (Integer'Value (Get_Text (Edit)))); |
|||
Set_Sensitive (Button, False); |
|||
else |
|||
Set_Text (Message, "Entered:" & Get_Text (Edit)); |
|||
Set_Text (Label, "Enter integer:"); |
|||
end if; |
|||
exception |
|||
when Constraint_Error => |
|||
Set_Text (Message, "Error integer input"); |
|||
end Clicked; |
|||
begin |
|||
Gtk.Main.Init; |
|||
Gtk.Window.Gtk_New (Window); |
|||
Gtk_New (Grid, 2, 3, False); |
|||
Add (Window, Grid); |
|||
Gtk_New (Label, "Enter string:"); |
|||
Attach (Grid, Label, 0, 1, 0, 1); |
|||
Gtk_New (Edit); |
|||
Attach (Grid, Edit, 1, 2, 0, 1); |
|||
Gtk_New (Button, "OK"); |
|||
Attach (Grid, Button, 2, 3, 0, 1); |
|||
Gtk_New (Message); |
|||
Attach (Grid, Message, 0, 3, 1, 2); |
|||
Return_Handlers.Connect |
|||
( Window, |
|||
"delete_event", |
|||
Return_Handlers.To_Marshaller (Delete_Event'Access) |
|||
); |
|||
Handlers.Connect |
|||
( Window, |
|||
"destroy", |
|||
Handlers.To_Marshaller (Destroy'Access) |
|||
); |
|||
Handlers.Connect |
|||
( Button, |
|||
"clicked", |
|||
Handlers.To_Marshaller (Clicked'Access) |
|||
); |
|||
Show_All (Grid); |
|||
Show (Window); |
|||
Gtk.Main.Main; |
|||
end Graphic_Input; |
|||
</lang> |
|||
=={{header|AppleScript}}== |
=={{header|AppleScript}}== |
||
<lang applescript>set input to text returned of |
<lang applescript>set input to text returned of |