summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGraeme Geldenhuys <graeme@mastermaths.co.za>2009-10-08 13:40:03 +0200
committerGraeme Geldenhuys <graeme@mastermaths.co.za>2009-10-08 13:40:03 +0200
commit2393df75a17fa33821c917947056f46617566432 (patch)
treeafaea1ef44aa601504a0a514d722a47517b70fa9 /src
parentede5956d705d3a5c213870e8e0aebb0468f4b0c2 (diff)
downloadfpGUI-2393df75a17fa33821c917947056f46617566432.tar.xz
Initial import of ported RichTextView component.
Diffstat (limited to 'src')
-rw-r--r--src/frm_main.pas19
-rw-r--r--src/newview_fpgui.lpi12
-rw-r--r--src/newview_fpgui.lpr9
-rw-r--r--src/nvUtilities.pas20
4 files changed, 47 insertions, 13 deletions
diff --git a/src/frm_main.pas b/src/frm_main.pas
index 1563569f..84a3855a 100644
--- a/src/frm_main.pas
+++ b/src/frm_main.pas
@@ -8,7 +8,7 @@ uses
SysUtils, Classes, fpg_base, fpg_main, fpg_form, fpg_panel, fpg_tab,
fpg_tree, fpg_splitter, fpg_menu, fpg_memo, fpg_button, fpg_listbox,
fpg_label, fpg_edit, fpg_radiobutton, fpg_progressbar,
- HelpFile;
+ HelpFile, RichTextView;
type
@@ -25,7 +25,7 @@ type
tsHistory: TfpgTabSheet;
tvContents: TfpgTreeView;
Splitter1: TfpgSplitter;
- Memo1: TfpgMemo;
+ Memo1: TRichTextView;
MainMenu: TfpgMenuBar;
miFile: TfpgPopupMenu;
miSettings: TfpgPopupMenu;
@@ -177,6 +177,7 @@ var
f: THelpFile;
i: integer;
begin
+{
Memo1.Lines.Clear;
Memo1.Lines.BeginUpdate;
f := THelpFile(Files[0]);
@@ -194,6 +195,7 @@ begin
Add('[' + IntToStr(i) + '] = <' + f.DictionaryWords[i] + '>');
end;
Memo1.Lines.EndUpdate;
+}
end;
procedure TMainForm.btnShowIndex(Sender: TObject);
@@ -476,7 +478,8 @@ begin
tvContents.Selection := nil;
tvContents.RootNode.Clear;
tvContents.Invalidate;
- Memo1.Lines.Clear;
+ Memo1.Clear;
+// Memo1.Lines.Clear;
// First save notes. It's important we do this first
// since we scan all notes each time to find the ones
@@ -650,7 +653,8 @@ Begin
end;
end;
- Memo1.Lines.Clear;
+// Memo1.Clear;
+// Memo1.Lines.Clear;
ImageIndices := TList.Create;
ProfileEvent('Cleared memo...');
@@ -672,7 +676,8 @@ Begin
{ TODO -oGraeme : We do not support images yet }
ImageIndices.Free;
- Memo1.Lines.Text := lText;
+ Memo1.AddText(PChar(lText));
+// Memo1.Lines.Text := lText;
end;
procedure TMainForm.ResetProgress;
@@ -818,12 +823,12 @@ begin
Align := alLeft;
end;
- Memo1 := TfpgMemo.Create(bvlBody);
+ Memo1 := TRichTextView.Create(bvlBody);
with Memo1 do
begin
Name := 'Memo1';
SetPosition(276, 36, 244, 232);
- FontDesc := '#Edit1';
+// FontDesc := '#Edit1';
TabOrder := 2;
Align := alClient;
end;
diff --git a/src/newview_fpgui.lpi b/src/newview_fpgui.lpi
index 19a5f9c9..d2306dce 100644
--- a/src/newview_fpgui.lpi
+++ b/src/newview_fpgui.lpi
@@ -27,10 +27,13 @@
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
- <RequiredPackages Count="1">
+ <RequiredPackages Count="2">
<Item1>
- <PackageName Value="fpgui_toolkit"/>
+ <PackageName Value="fpgui_richtext"/>
</Item1>
+ <Item2>
+ <PackageName Value="fpgui_toolkit"/>
+ </Item2>
</RequiredPackages>
<Units Count="16">
<Unit0>
@@ -99,7 +102,7 @@
<UnitName Value="nvNullObjects"/>
</Unit12>
<Unit13>
- <Filename Value="../../../../../../opt/git/dunit2/3rdparty/epiktimer/epiktimer.pas"/>
+ <Filename Value="../../../../../opt/git/dunit2/3rdparty/epiktimer/epiktimer.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="EpikTimer"/>
</Unit13>
@@ -118,11 +121,10 @@
<Version Value="8"/>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)/"/>
- <OtherUnitFiles Value="/opt/git/dunit2/3rdparty/epiktimer/"/>
+ <OtherUnitFiles Value="/home/graemeg/Desktop/newview/components/richtext/"/>
<UnitOutputDirectory Value="units"/>
</SearchPaths>
<Parsing>
- <Style Value="1"/>
<SyntaxOptions>
<CStyleOperator Value="False"/>
<AllowLabel Value="False"/>
diff --git a/src/newview_fpgui.lpr b/src/newview_fpgui.lpr
index 5eef5ee4..fe72b25e 100644
--- a/src/newview_fpgui.lpr
+++ b/src/newview_fpgui.lpr
@@ -10,7 +10,8 @@ uses
{$IFDEF Timing}EpikTimer,{$ENDIF}
fpg_main, frm_main, DataTypes, HelpFileHeader, HelpWindow,
IPFEscapeCodes, HelpTopic, CompareWordUnit, SearchTable, TextSearchQuery,
- nvUtilities, nvNullObjects, HelpFile, SearchUnit;
+ nvUtilities, nvNullObjects, HelpFile, SearchUnit,
+ fpg_cmdlineparams, customstyle;
procedure MainProc;
@@ -18,6 +19,12 @@ var
frm: TMainForm;
begin
fpgApplication.Initialize;
+
+ // always load custom style for help viewer
+ //if Assigned(fpgStyle) then
+ // fpgStyle.Free;
+ //fpgStyle := TMyStyle.Create;
+
frm := TMainForm.Create(nil);
try
frm.Show;
diff --git a/src/nvUtilities.pas b/src/nvUtilities.pas
index a8e3eb96..87cd83a3 100644
--- a/src/nvUtilities.pas
+++ b/src/nvUtilities.pas
@@ -37,6 +37,10 @@ function GetFileSize(const AFilename: string): integer;
function IsDigit(const AChar: TfpgChar): boolean;
function IsAlpha(const AChar: TfpgChar): boolean;
+function Between( const Value: longint; const Limit1: longint; const Limit2: longint ): boolean;
+
+
+Operator = (ARect: TRect; BRect: TRect): boolean;
implementation
@@ -122,5 +126,21 @@ Begin
//Result := TCharacter.IsLetter(AChar);
end;
+function Between( const Value: longint; const Limit1: longint; const Limit2: longint ): boolean;
+begin
+ if Limit1 < Limit2 then
+ Result:= ( Value >= Limit1 ) and ( Value <= Limit2 )
+ else
+ Result:= ( Value >= Limit2 ) and ( Value <= Limit1 )
+end;
+
+operator = (ARect: TRect; BRect: TRect): boolean;
+begin
+ result := (ARect.Top = BRect.Top) and
+ (ARect.Left = BRect.Left) and
+ (ARect.Bottom = BRect.Bottom) and
+ (ARect.Right = BRect.Right);
+end;
+
end.