Scramble Me App in wxEuphoria
without warning
include wxEuphoria.e -- main include file for the library (also wxFrame, wxPanel)
include wxButton.e -- wxButton class
include wxText.e -- wxStaticText and wxTextCtrl classes
include wxSizer.e -- wxBoxSizer class
constant
main = create( wxFrame, {0, -1, "Scramble Me", -1, -1, 250, 100}),
win = create( wxPanel, main ),
label = create( wxStaticText, {win, -1, "Enter your name:"}),
name = create( wxTextCtrl, {win, -1, "", -1, -1} ),
ScrambleButton = create( wxButton, {win, -1,"Scramble Me"}),
QuitButton = create( wxButton, {win, -1, "Quit"})
procedure setup()
atom vsizer, hsizer
vsizer = create( wxBoxSizer, wxVERTICAL )
add_window_to_sizer( vsizer, label, 0, wxGROW + wxTOP + wxLEFT, 5 )
add_window_to_sizer( vsizer, name, 1, wxGROW + wxTOP + wxLEFT + wxRIGHT, 5 )
hsizer = create( wxBoxSizer, wxHORIZONTAL )
add_window_to_sizer( hsizer, ScrambleButton, 1, wxLEFT, 5 )
add_window_to_sizer( hsizer, QuitButton, 1, wxLEFT + wxRIGHT, 5 )
add_sizer_to_sizer( vsizer, hsizer, 0, wxGROW + wxTOP + wxBOTTOM, 5 )
set_sizer( win, vsizer )
end procedure
function scramble(sequence s)
sequence result
integer i
result = ""
while length(s) > 0 do
i = rand(length(s))
result &= s[i]
s = s[1..i-1] & s[i+1..length(s)]
end while
return result
end function
procedure Click_QuitButton(atom this, atom event_type, atom id, atom event )
exit_main()
end procedure
set_event_handler(QuitButton, get_id(QuitButton), wxEVT_COMMAND_BUTTON_CLICKED, routine_id( "Click_QuitButton" ))
procedure Click_ScrambleButton(atom this, atom event_type, atom id, atom event )
if message_box ( scramble(get_text_value(name)) , get_text_value(name) & " Scrambled", wxOK ) then end if
end procedure
set_event_handler(ScrambleButton, get_id(ScrambleButton), wxEVT_COMMAND_BUTTON_CLICKED, routine_id( "Click_ScrambleButton" ))
setup()
wxMain( main )