diff options
Diffstat (limited to 'docview/components/richtext/testedit/testedit.lpr')
-rw-r--r-- | docview/components/richtext/testedit/testedit.lpr | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/docview/components/richtext/testedit/testedit.lpr b/docview/components/richtext/testedit/testedit.lpr new file mode 100644 index 00000000..c2dba52a --- /dev/null +++ b/docview/components/richtext/testedit/testedit.lpr @@ -0,0 +1,176 @@ +program testboard; + +{$mode objfpc}{$H+} + +uses {$IFDEF UNIX} {$IFDEF UseCThreads} + cthreads, {$ENDIF} {$ENDIF} + Classes, + SysUtils, + fpg_base, + fpg_tab, + fpg_button, + fpg_panel, + fpg_main, + fpg_memo, + fpg_form, + fpg_dialogs, + fpg_menu, + RichTextView, frarichtextedit, + fpg_imagelist, + fpg_imgfmt_bmp, + fpg_imgfmt_png, + fpg_imgfmt_jpg; + +type + + {@VFD_NEWFORM_DECL} + { TMainForm } + + TMainForm = class(TfpgForm) + procedure DoNewFile(Sender: TObject); + procedure DoOpenFile(Sender: TObject); + procedure DoQuit(Sender: TObject); + procedure DoSaveFile(Sender: TObject); + private + procedure LoadFile(const AFileName: String); + procedure SaveFile(const AFileName: String); + public + FMenu : TfpgMenuBar; + MFile, + MNew, + MOpen, + MSave, + MQuit: TfpgMenuItem; + FFileName : string; + {@VFD_HEAD_BEGIN: MainForm} + FEdit : TRichTextEditFrame; + {@VFD_HEAD_END: MainForm} + procedure AfterCreate; override; + end; + + + + {@VFD_NEWFORM_IMPL} + +procedure TMainForm.DoNewFile(Sender: TObject); +begin + FEdit.RichText:=''; + FFileName:=''; + WindowTitle:='Editing new file'; +end; + +procedure TMainForm.LoadFile(COnst AFileName :String); + +Var + L : TStrings; + +begin + FFileName:=AFileName; + L:=TstringList.Create; + try + L.LoadFromFile(AFileName); + fedit.RichText:=l.text; + finally + L.Free; + end; + WindowTitle:='Editing '+AFileName; +end; + +procedure TMainForm.SaveFile(COnst AFileName :String); + +Var + L : TStrings; + +begin + FFileName:=AFileName; + L:=TstringList.Create; + try + l.text:=fedit.RichText; + L.SaveToFile(AFileName); + finally + L.Free; + end; + WindowTitle:='Editing '+AFileName; +end; + + +procedure TMainForm.DoOpenFile(Sender: TObject); + +Var + FN : String; + +begin + FN:=SelectFileDialog(sfdOpen,'text files|*.txt|All files|'+AllFilesMask,''); + if (FN<>'') then + LoadFile(FN); +end; + +procedure TMainForm.DoQuit(Sender: TObject); +begin + Close; +end; + +procedure TMainForm.DoSaveFile(Sender: TObject); +Var + FN : String; + +begin + FN:=SelectFileDialog(sfdSave,'text files|*.txt|All files|'+AllFilesMask,''); + if (FN<>'') then + SaveFile(FN); +end; + +procedure TMainForm.AfterCreate; +var + I, J: integer; + img: tfpgimage; + S: string; +begin + FMenu:=TfpgMenuBar.Create(Self); + FMenu.SetPosition(0,0,Self.width,30); + FMenu.align:=alTop; + MFile:=FMenu.AddMenuItem('File',Nil); + MFile.SubMenu:=TfpgPopupMenu.Create(MFile); + MNew:=MFile.SubMenu.AddMenuItem('&New','ctrl-n',@DoNewFile); + MOpen:=MFile.SubMenu.AddMenuItem('&Open','ctrl-o',@DoOpenFile); + MSave:=MFile.SubMenu.AddMenuItem('&Save','ctrl-s',@DoSaveFile); + MQuit:=MFile.SubMenu.AddMenuItem('&Quit','ctrl-q',@DoQuit); + Fedit:=TRichTextEditFrame.Create(Self); + Fedit.SetPosition(0,FMenu.Height,Self.width,Self.Height-FMenu.Height); + Fedit.align:=alClient; + {%region 'Auto-generated GUI code' } + + {@VFD_BODY_BEGIN: MainForm} + Name := 'MainForm'; + SetPosition(496, 295, 739, 502); + WindowTitle := 'Editing new file'; + Hint := ''; + + {@VFD_BODY_END: MainForm} + {%endregion} +end; + + + +procedure MainProc; +var + frm: TMainForm; + +begin + fpgApplication.Initialize; + RegisterStdRichTextImages; + frm := TMainForm.Create(nil); + try + frm.Show; + if (ParamCount=1) and FileExists(ParamStr(1)) then + frm.LoadFile(Paramstr(1)); + fpgApplication.Run; + finally + frm.Free; + end; +end; + +begin + MainProc; +end. + |