Copyright ® (1997-2008) EDMGROUP Pty Ltd - EZY Prolog Reference

Samples\ezy_list_edit.ezy

See List Button description for more information.

predicates

    % SYSTEM ENTRY POINT
    initialize_gui: EZY_INITIALIZE_GUI
    % EVENT HANDLERS CODE
    initialize_event_handlers(WINDOW)
    handler_ok: EHANDLER
    handler_cancel: EHANDLER
    edit_ehandler: EHANDLER
    update_handler: EHANDLER
    listedit_ehandler: EHANDLER
clauses


% START OF GUI INITIALIZE

initialize_gui(WINDOW):-
    write("GUI initialization started"),nl,
    initialize_event_handlers(WINDOW),
% END OF GUI INITIALIZE

    write("GUI Initialization completed"),nl,
    !.

initialize_gui(_):-
    write("GUI initialization failed"),nl,
    !.

/* EVENT HANDLERS INITIALIZE START*/

initialize_event_handlers(WINDOW):-
    TITLE_ADDR = ["TOP_FRAME","title"],
    ezy_object_get(WINDOW,TITLE_ADDR,TITLE_WINDOW),
    ezy_object_handler(TITLE_WINDOW,edit_ehandler),
    fail.
initialize_event_handlers(WINDOW):-
    ITEMS_ADDR = ["TOP_FRAME","items"],
    ezy_object_get(WINDOW,ITEMS_ADDR,ITEMS_WINDOW),
    ezy_object_handler(ITEMS_WINDOW,edit_ehandler),
    fail.
initialize_event_handlers(WINDOW):-
    UPDATE_LIST_EDIT_ADDR = ["TOP_FRAME","Update ComboBox"],
    ezy_object_get(WINDOW,UPDATE_LIST_EDIT_ADDR,UPDATE_LIST_EDIT_WINDOW),
    ezy_object_handler(UPDATE_LIST_EDIT_WINDOW,update_handler),
    fail.
initialize_event_handlers(WINDOW):-
    LISTEDIT_ADDR = ["TOP_FRAME","COMBOBOX"],
    ezy_object_get(WINDOW,LISTEDIT_ADDR,LISTEDIT_WINDOW),
    ezy_object_handler(LISTEDIT_WINDOW,listedit_ehandler),
    fail.
initialize_event_handlers(_):-
    write("*** {EVENT HANDLERS Initialised}"),nl,
    !.
/* EVENT HANDLERS INITIALIZE END*/


/* OK HANDLER */

handler_ok(_,e_control(_,_,CTRLWIN,activated),0):-
    ezy_object_address(CTRLWINCTRL_ADDRESS),
    write("Button(",CTRL_ADDRESS,") activated"),nl,
    % Use GUI Designer menu {Control to Clipboard/Reply code} to insert reply code here
    % Change address of top frame if it has different name
    ezy_object_data(CTRLWIN,["TOP_FRAME","COMBOBOX"],VALUE_COMBOBOX),
    % Destroy dialog and return Values
    ezy_dialog_destroy([VALUE_COMBOBOX]),
    !.
/* CANCEL HANDLER */

handler_cancel(_,e_control(_,_,CTRLWIN,activated),0):-
    ezy_object_address(CTRLWINCTRL_ADDRESS),
    write("Button(",CTRL_ADDRESS,") activated"),nl,
    dlg_note("handler_cancel Button Pressed","Button:[TOP_FRAME.buttons.Cancel]"),
    ezy_dialog_destroy([]),
    !.
/* ENTRY FIELD HANDLER */

edit_ehandler(_,e_control(_,_,TEXT_ENTRY_OBJECT,STATE),0):-
    ezy_object_address(TEXT_ENTRY_OBJECT,ADDRESS),
    ezy_object_text(TEXT_ENTRY_OBJECT,TEXT),
    write("Entry Field ",ADDRESS,", state (",STATE,"), TEXT=",TEXT),nl,!.
/* PUSH BUTTON HANDLER */

update_handler(_,e_control(_,_,CTRLWIN,activated),0):-
/* USE THIS CODE TO RECEIVE VALUES FROM