MODULE TestFind; (* ========================================================================= Test the Find Dialog module Author : Chris Burrows Created: May 2007 (c) 2007-2008 CFB Software http://www.cfbsoftware.com/gpcp ========================================================================= *) IMPORT Cpm := "[System]System.ComponentModel", Drw := "[System.Drawing]System.Drawing", Find, Sys := "[mscorlib]System", Text := "[mscorlib]System.Text", Wfm := "[System.Windows.Forms]System.Windows.Forms", WinMain; TYPE MenuForm = POINTER TO RECORD (Wfm.Form) components: Cpm.Container; text: Wfm.TextBox END; FindDialog = POINTER TO RECORD (Find.FindForm) END; VAR frm: MenuForm; findDialog: FindDialog; result: Wfm.DialogResult; (* ==================================================================== *) PROCEDURE (frm: MenuForm) Dispose*(disposing: BOOLEAN); BEGIN IF disposing THEN IF frm.components # NIL THEN frm.components.Dispose(); END; frm.Dispose^(disposing) END END Dispose; (* ==================================================================== *) PROCEDURE BooleanToString(b: BOOLEAN): Sys.String; VAR s: Sys.String; BEGIN IF b THEN s := 'TRUE' ELSE s := 'FALSE' END; RETURN s END BooleanToString; (* ==================================================================== *) PROCEDURE (dlg: FindDialog) DoFind(); VAR msg: Sys.String; lines: POINTER TO ARRAY OF Sys.String; BEGIN NEW(lines, 4); lines[0] := 'Find what: ' + dlg.findText; lines[1] := 'Exact matches: ' + BooleanToString(dlg.wholeWord); lines[2] := 'Case sensitive: ' + BooleanToString(dlg.matchCase); lines[3] := 'Find Action: Find '; IF dlg.findFirst THEN lines[3] := lines[3] + 'First' ELSE lines[3] := lines[3] + 'Next' END; frm.text.Clear; frm.text.set_Lines(lines) END DoFind; (* ==================================================================== *) PROCEDURE (frm: MenuForm) InitializeComponent(), NEW; CONST frmWidth = 400; frmHeight = 300; BEGIN NEW(frm.components); NEW(frm.text); frm.SuspendLayout(); frm.text.set_Dock(Wfm.DockStyle.Fill); frm.text.set_Multiline(TRUE); frm.get_Controls().Add(frm.text); frm.set_Text("Find Dialog Test Example"); frm.set_AutoScaleBaseSize(Drw.Size.init(5, 13)); frm.set_ClientSize(Drw.Size.init(frmWidth, frmHeight)); frm.set_FormBorderStyle(Wfm.FormBorderStyle.Sizable); frm.ResumeLayout(FALSE) END InitializeComponent; (* ==================================================================== *) BEGIN Wfm.Application.EnableVisualStyles(); NEW(frm); frm.InitializeComponent(); NEW(findDialog); findDialog.InitializeComponent(); findDialog.Show(frm); Wfm.Application.Run(frm) END TestFind.