📄 askdialog.pro
字号:
/*****************************************************************************
Copyright (c) Prolog Development Center A/S
******************************************************************************/
implement askDialog
inherits dialog
open core, vpiDomains, resourceIdentifiers
constants
className = "askDialog/askDialog".
classVersion = "".
clauses
classInfo(className, classVersion).
clauses
ask(Init) = Answer :-
Dialog = askDialog::new(applicationWindow::get()),
Dialog:setInitString(Init),
Dialog:show(),
Answer = Dialog:getAnswer().
clauses
setInitString(InitString) :-
edit_ctl:setText(InitString),
not(InitString = ""),
!,
ok_ctl:setEnabled().
setInitString(_).
clauses
getAnswer() = Answer :-
answer(Answer).
clauses
new(Parent) :-
dialog::new(Parent),
generatedInitialize().
facts
answer : (string Result) determ.
predicates
onOk : button::clickResponder.
clauses
onOk(_Source) = button::defaultAction() :-
assert(answer(edit_ctl:getText())).
predicates
onEditModified : editControl::modifiedListener.
clauses
onEditModified(_Source) :-
ok_ctl:setEnabled(boolean::logicalNot(
toBoolean(edit_ctl:getText() = ""))).
% This code is maintained by the VDE do not update it manually, 17:27:29-1.11.2004
facts
ok_ctl : button.
cancel_ctl : button.
edit_ctl : editControl.
predicates
generatedInitialize : ().
clauses
generatedInitialize():-
setFont(vpi::fontCreateByName("MS Sans Serif", 8)),
setText("Ask Dialog"),
setRect(rct(50,40,229,108)),
setModal(true),
setDecoration(titlebar([closebutton()])),
edit_ctl := editControl::new(This),
edit_ctl:setText(""),
edit_ctl:setPosition(8, 20),
edit_ctl:setWidth(164),
ok_ctl := button::newOk(This),
ok_ctl:setText("&OK"),
ok_ctl:setPosition(68, 48),
setDefaultButton(ok_ctl),
ok_ctl:setEnabled(false),
cancel_ctl := button::newCancel(This),
cancel_ctl:setText("Cancel"),
cancel_ctl:setPosition(124, 48),
PleaseTypeAnAnswer_ctl = textControl::new(This),
PleaseTypeAnAnswer_ctl:setText("Please type some answer:"),
PleaseTypeAnAnswer_ctl:setPosition(8, 4),
PleaseTypeAnAnswer_ctl:setSize(76, 10),
ok_ctl:setClickResponder(onOk),
edit_ctl:addModifiedListener(onEditModified).
% end of automatic code
end implement askDialog
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -