summaryrefslogtreecommitdiff
path: root/docview/components/richtext/testedit/testedit.lpr
diff options
context:
space:
mode:
Diffstat (limited to 'docview/components/richtext/testedit/testedit.lpr')
-rw-r--r--docview/components/richtext/testedit/testedit.lpr176
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.
+