122 lines
5.7 KiB
Rexx
122 lines
5.7 KiB
Rexx
|
/*----------------------------------------------------------------------------*/
|
||
|
/* */
|
||
|
/* Copyright (c) 2011-2014 Rexx Language Association. All rights reserved. */
|
||
|
/* */
|
||
|
/* This program and the accompanying materials are made available under */
|
||
|
/* the terms of the Common Public License v1.0 which accompanies this */
|
||
|
/* distribution. A copy is also available at the following address: */
|
||
|
/* https://www.oorexx.org/license.html */
|
||
|
/* */
|
||
|
/* Redistribution and use in source and binary forms, with or */
|
||
|
/* without modification, are permitted provided that the following */
|
||
|
/* conditions are met: */
|
||
|
/* */
|
||
|
/* Redistributions of source code must retain the above copyright */
|
||
|
/* notice, this list of conditions and the following disclaimer. */
|
||
|
/* Redistributions in binary form must reproduce the above copyright */
|
||
|
/* notice, this list of conditions and the following disclaimer in */
|
||
|
/* the documentation and/or other materials provided with the distribution. */
|
||
|
/* */
|
||
|
/* Neither the name of Rexx Language Association nor the names */
|
||
|
/* of its contributors may be used to endorse or promote products */
|
||
|
/* derived from this software without specific prior written permission. */
|
||
|
/* */
|
||
|
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||
|
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||
|
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||
|
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
|
||
|
/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
|
||
|
/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
|
||
|
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
||
|
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */
|
||
|
/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
||
|
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
|
||
|
/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
||
|
/* */
|
||
|
/*----------------------------------------------------------------------------*/
|
||
|
|
||
|
/* ooDialog User Guide
|
||
|
Samples\DlgData
|
||
|
ASimpleDialog.rex v01-00 12JLY11
|
||
|
|
||
|
This Dialog is intended to illustrate the use of DlgData. It is a very simple
|
||
|
dialog that displays some text, allows the user to change the text, and also
|
||
|
to indicate agreement or disagreement with the text. A response is provided
|
||
|
in a message box.
|
||
|
|
||
|
Associated files: ASimpleDialog.rc ASimpleDialog.h
|
||
|
------------------------------------------------------------------------------*/
|
||
|
|
||
|
-- (0) Add the symbolic IDs in ASimpleDialog.h file to GlobalConstDir:
|
||
|
.Application~useGlobalConstDir("O", "ASimpleDialog.h")
|
||
|
|
||
|
-- (1) Set text in the edit control:
|
||
|
statement = "It's a fine day today."
|
||
|
dlgData.IDC_EDIT1 = statement
|
||
|
|
||
|
-- (2a) Create the dialog defined by the .rc file:
|
||
|
dlg = .ASimpleDialog~new("ASimpleDialog.rc", IDD_DIALOG1, dlgData.)
|
||
|
|
||
|
-- (2b) Display the dialog:
|
||
|
ret = dlg~execute("SHOWTOP", IDI_DLG_OOREXX)
|
||
|
|
||
|
-- (3) When the dialog is closed, and if the user pressed OK, then retrieve
|
||
|
-- the data provided by the user:
|
||
|
if ret == 1 then do -- if the user pressed OK
|
||
|
statement2 = dlgData.1002 -- get data from the edit control
|
||
|
agree = dlgData.IDC_RADIO1 -- get the state of the radio buttons:
|
||
|
disagree = dlgData.1004
|
||
|
|
||
|
-- (4) Set up the appropriate message to display:
|
||
|
choice = .true -- Assume user selected a radio button
|
||
|
if \agree & \disagree then choice = .false -- If neither radio button selected.
|
||
|
if statement2 \= statement then - -- If data in edit control changed
|
||
|
newStmt = .true
|
||
|
else newStmt = .false
|
||
|
|
||
|
-- Set some initial values for the message:
|
||
|
title = 'Response Received'
|
||
|
icon = 'INFORMATION'
|
||
|
|
||
|
-- Build the appropriate response message:
|
||
|
msg = "Thank you for"
|
||
|
if newStmt then do -- New statement entered:
|
||
|
msg = msg "your statement,"
|
||
|
if \choice then do
|
||
|
msg = msg "but you have not indicated whether or not you agree with it."
|
||
|
end
|
||
|
else do -- a choice was made
|
||
|
if agree then msg = msg "and for your agreement with it."
|
||
|
else msg = msg "even though you disagree with it."
|
||
|
end
|
||
|
end
|
||
|
else do -- Original stament unchanged:
|
||
|
if \choice then do
|
||
|
msg = msg "neither agreeing nor disagreeing."
|
||
|
end
|
||
|
else do
|
||
|
if agree then msg = msg "your agreement."
|
||
|
else msg = msg "your disagreement."
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
else do -- if Cancel Pressed
|
||
|
title = "Dialog Canceled"
|
||
|
icon = "ERROR"
|
||
|
msg = "Thank you for canceling."
|
||
|
end
|
||
|
|
||
|
-- (5) Display a message to respond to the user's choices:
|
||
|
ret = MessageDialog(msg, 0, title, 'OK', icon, 'SETFOREGROUND')
|
||
|
|
||
|
|
||
|
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
|
||
|
Directives, Classes, or Routines.
|
||
|
\* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
|
||
|
::requires "ooDialog.cls"
|
||
|
|
||
|
::CLASS ASimpleDialog SUBCLASS RcDialog
|
||
|
|
||
|
/*============================================================================*/
|
||
|
|