Skip to content

Commit 1747211

Browse files
committed
Added TWVBrowserBase.SimulateEditingCommand
Modified the EditorBrowser demos to use the new TWVBrowserBase.SimulateEditingCommand function instead of executing JavaScript. Added EditingCommandToString to uWVMiscFunctions
1 parent 10af040 commit 1747211

File tree

10 files changed

+424
-784
lines changed

10 files changed

+424
-784
lines changed

demos/Delphi_VCL/EditorBrowser/uMainForm.dfm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ object MainForm: TMainForm
22
Left = 0
33
Top = 0
44
Caption = 'VirtualHostBrowser - Initializing...'
5-
ClientHeight = 701
5+
ClientHeight = 733
66
ClientWidth = 995
77
Color = clBtnFace
88
Font.Charset = DEFAULT_CHARSET
@@ -18,10 +18,11 @@ object MainForm: TMainForm
1818
Left = 0
1919
Top = 23
2020
Width = 995
21-
Height = 678
21+
Height = 710
2222
Align = alClient
2323
TabOrder = 0
2424
Browser = WVBrowser1
25+
ExplicitHeight = 691
2526
end
2627
object ToolBar1: TToolBar
2728
Left = 0

demos/Delphi_VCL/EditorBrowser/uMainForm.pas

Lines changed: 26 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -226,66 +226,45 @@ procedure TMainForm.TextColorBtnClick(Sender: TObject);
226226
end;
227227

228228
procedure TMainForm.AlignCenterBtnClick(Sender: TObject);
229-
var
230-
TempCode : string;
231229
begin
232-
TempCode := 'document.execCommand("justifyCenter", false, null);';
233-
234-
WVBrowser1.ExecuteScript(TempCode);
230+
WVWindowParent1.SetFocus;
231+
WVBrowser1.SimulateEditingCommand(ecJustifyCenter);
235232
end;
236233

237234
procedure TMainForm.AlignJustifyBtnClick(Sender: TObject);
238-
var
239-
TempCode : string;
240235
begin
241-
TempCode := 'document.execCommand("justifyFull", false, null);';
242-
243-
WVBrowser1.ExecuteScript(TempCode);
236+
WVWindowParent1.SetFocus;
237+
WVBrowser1.SimulateEditingCommand(ecJustifyFull);
244238
end;
245239

246240
procedure TMainForm.AlignLeftBtnClick(Sender: TObject);
247-
var
248-
TempCode : string;
249241
begin
250-
TempCode := 'document.execCommand("justifyLeft", false, null);';
251-
252-
WVBrowser1.ExecuteScript(TempCode);
242+
WVWindowParent1.SetFocus;
243+
WVBrowser1.SimulateEditingCommand(ecJustifyLeft);
253244
end;
254245

255246
procedure TMainForm.AlignRightBtnClick(Sender: TObject);
256-
var
257-
TempCode : string;
258247
begin
259-
TempCode := 'document.execCommand("justifyRight", false, null);';
260-
261-
WVBrowser1.ExecuteScript(TempCode);
248+
WVWindowParent1.SetFocus;
249+
WVBrowser1.SimulateEditingCommand(ecJustifyRight);
262250
end;
263251

264252
procedure TMainForm.BoldBtnClick(Sender: TObject);
265-
var
266-
TempCode : string;
267253
begin
268-
TempCode := 'document.execCommand("bold", false, null);';
269-
270-
WVBrowser1.ExecuteScript(TempCode);
254+
WVWindowParent1.SetFocus;
255+
WVBrowser1.SimulateEditingCommand(ecBold);
271256
end;
272257

273258
procedure TMainForm.IndentBtnClick(Sender: TObject);
274-
var
275-
TempCode : string;
276259
begin
277-
TempCode := 'document.execCommand("indent", false, null);';
278-
279-
WVBrowser1.ExecuteScript(TempCode);
260+
WVWindowParent1.SetFocus;
261+
WVBrowser1.SimulateEditingCommand(ecIndent);
280262
end;
281263

282264
procedure TMainForm.ItalicBtnClick(Sender: TObject);
283-
var
284-
TempCode : string;
285265
begin
286-
TempCode := 'document.execCommand("italic", false, null);';
287-
288-
WVBrowser1.ExecuteScript(TempCode);
266+
WVWindowParent1.SetFocus;
267+
WVBrowser1.SimulateEditingCommand(ecItalic);
289268
end;
290269

291270
procedure TMainForm.LinkBtnClick(Sender: TObject);
@@ -305,30 +284,21 @@ procedure TMainForm.SaveBtnClick(Sender: TObject);
305284
end;
306285

307286
procedure TMainForm.StrikethroughBtnClick(Sender: TObject);
308-
var
309-
TempCode : string;
310287
begin
311-
TempCode := 'document.execCommand("strikeThrough", false, null);';
312-
313-
WVBrowser1.ExecuteScript(TempCode);
288+
WVWindowParent1.SetFocus;
289+
WVBrowser1.SimulateEditingCommand(ecStrikethrough);
314290
end;
315291

316292
procedure TMainForm.UnderlineBtnClick(Sender: TObject);
317-
var
318-
TempCode : string;
319293
begin
320-
TempCode := 'document.execCommand("underline", false, null);';
321-
322-
WVBrowser1.ExecuteScript(TempCode);
294+
WVWindowParent1.SetFocus;
295+
WVBrowser1.SimulateEditingCommand(ecUnderline);
323296
end;
324297

325298
procedure TMainForm.UnorderedListBtnClick(Sender: TObject);
326-
var
327-
TempCode : string;
328299
begin
329-
TempCode := 'document.execCommand("insertUnorderedList", false, null);';
330-
331-
WVBrowser1.ExecuteScript(TempCode);
300+
WVWindowParent1.SetFocus;
301+
WVBrowser1.SimulateEditingCommand(ecInsertUnorderedList);
332302
end;
333303

334304
procedure TMainForm.OpenBtnClick(Sender: TObject);
@@ -340,30 +310,21 @@ procedure TMainForm.OpenBtnClick(Sender: TObject);
340310
end;
341311

342312
procedure TMainForm.OrderedListBtnClick(Sender: TObject);
343-
var
344-
TempCode : string;
345313
begin
346-
TempCode := 'document.execCommand("insertOrderedList", false, null);';
347-
348-
WVBrowser1.ExecuteScript(TempCode);
314+
WVWindowParent1.SetFocus;
315+
WVBrowser1.SimulateEditingCommand(ecInsertOrderedList);
349316
end;
350317

351318
procedure TMainForm.OutdentBtnClick(Sender: TObject);
352-
var
353-
TempCode : string;
354319
begin
355-
TempCode := 'document.execCommand("outdent", false, null);';
356-
357-
WVBrowser1.ExecuteScript(TempCode);
320+
WVWindowParent1.SetFocus;
321+
WVBrowser1.SimulateEditingCommand(ecOutdent);
358322
end;
359323

360324
procedure TMainForm.RemoveFormatBtnClick(Sender: TObject);
361-
var
362-
TempCode : string;
363325
begin
364-
TempCode := 'document.execCommand("removeFormat", false, null);';
365-
366-
WVBrowser1.ExecuteScript(TempCode);
326+
WVWindowParent1.SetFocus;
327+
WVBrowser1.SimulateEditingCommand(ecRemoveFormat);
367328
end;
368329

369330
procedure TMainForm.NewBtnClick(Sender: TObject);

demos/Lazarus/EditorBrowser/EditorBrowser.lpi

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<CONFIG>
33
<ProjectOptions>
4-
<Version Value="11"/>
4+
<Version Value="12"/>
55
<PathDelim Value="\"/>
66
<General>
77
<Flags>
88
<MainUnitHasUsesSectionForAllUnits Value="False"/>
99
<MainUnitHasCreateFormStatements Value="False"/>
1010
<MainUnitHasTitleStatement Value="False"/>
1111
<MainUnitHasScaledStatement Value="False"/>
12+
<CompatibilityMode Value="True"/>
1213
</Flags>
1314
<SessionStorage Value="InProjectDir"/>
14-
<MainUnit Value="0"/>
1515
<Title Value="EditorBrowser"/>
1616
<UseAppBundle Value="False"/>
1717
<ResourceType Value="res"/>
@@ -25,7 +25,6 @@
2525
</PublishOptions>
2626
<RunParams>
2727
<FormatVersion Value="2"/>
28-
<Modes Count="0"/>
2928
</RunParams>
3029
<RequiredPackages Count="2">
3130
<Item1>

demos/Lazarus/EditorBrowser/EditorBrowser.lps

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22
<CONFIG>
33
<ProjectSession>
44
<PathDelim Value="\"/>
5-
<Version Value="11"/>
5+
<Version Value="12"/>
66
<BuildModes Active="Default"/>
77
<Units Count="14">
88
<Unit0>
99
<Filename Value="EditorBrowser.lpr"/>
1010
<IsPartOfProject Value="True"/>
1111
<UsageCount Value="20"/>
1212
<Loaded Value="True"/>
13-
<DefaultSyntaxHighlighter Value="Delphi"/>
1413
</Unit0>
1514
<Unit1>
1615
<Filename Value="uMainForm.pas"/>
@@ -20,12 +19,11 @@
2019
<ResourceBaseClass Value="Form"/>
2120
<IsVisibleTab Value="True"/>
2221
<EditorIndex Value="1"/>
23-
<TopLine Value="139"/>
24-
<CursorPos X="50" Y="163"/>
22+
<TopLine Value="263"/>
23+
<CursorPos X="5" Y="330"/>
2524
<UsageCount Value="20"/>
2625
<Loaded Value="True"/>
2726
<LoadedDesigner Value="True"/>
28-
<DefaultSyntaxHighlighter Value="Delphi"/>
2927
</Unit1>
3028
<Unit2>
3129
<Filename Value="..\..\..\source\uWVBrowser.pas"/>
@@ -143,7 +141,7 @@
143141
</JumpHistory>
144142
<RunParams>
145143
<FormatVersion Value="2"/>
146-
<Modes Count="0" ActiveMode=""/>
144+
<Modes ActiveMode=""/>
147145
</RunParams>
148146
</ProjectSession>
149147
</CONFIG>

0 commit comments

Comments
 (0)