RosettaCodeData/Task/GUI-component-interaction/00DESCRIPTION

50 lines
1.5 KiB
Text
Raw Permalink Normal View History

2015-02-20 00:35:01 -05:00
{{omit from|ACL2}}
{{omit from|Applesoft BASIC|no concept of a GUI}}
{{omit from|AWK|no concept of a GUI}}
{{omit from|Batch File}}
{{omit from|Blast}}
{{omit from|Brainf***}}
2018-06-22 20:57:24 +00:00
{{omit from|Commodore BASIC}}
2015-02-20 00:35:01 -05:00
{{omit from|GUISS|Only makes use of installed applications}}
{{omit from|Integer BASIC|no concept of a GUI}}
{{omit from|Lilypond}}
{{omit from|Logtalk}}
{{omit from|Lotus 123}}
{{omit from|Maxima}}
{{omit from|PARI/GP}}
{{omit from|PostScript}}
{{omit from|Retro}}
2018-06-22 20:57:24 +00:00
{{omit from|SQL PL|It does not handle GUI}}
2015-02-20 00:35:01 -05:00
2013-04-10 21:29:02 -07:00
Almost every application needs to communicate with the user in some way.
2015-02-20 00:35:01 -05:00
Therefore, a substantial part of the code deals with the interaction
of program logic with GUI components.
Typically, the following is needed:
2013-04-10 21:29:02 -07:00
* put values into input fields under program control
* read and check input from the user
* pop up dialogs to query the user for further information
2016-12-05 22:15:40 +01:00
;Task:
For a minimal "application", write a program that presents a form with three components to the user:
::* a numeric input field ("Value")
::* a button ("increment")
::* a button ("random")
2013-04-10 21:29:02 -07:00
2015-02-20 00:35:01 -05:00
The field is initialized to zero.
2016-12-05 22:15:40 +01:00
2015-02-20 00:35:01 -05:00
The user may manually enter a new value into the field,
or increment its value with the "increment" button.
2016-12-05 22:15:40 +01:00
2015-02-20 00:35:01 -05:00
Entering a non-numeric value should be either impossible,
or issue an error message.
2013-04-10 21:29:02 -07:00
2015-02-20 00:35:01 -05:00
Pressing the "random" button presents a confirmation dialog,
and resets the field's value to a random value if the answer is "Yes".
2013-04-10 21:29:02 -07:00
2016-12-05 22:15:40 +01:00
(This task may be regarded as an extension of the task [[Simple windowed application]]).<br><br>