diff --git a/tools/jsonviewer/frmcreatecode.lfm b/tools/jsonviewer/frmcreatecode.lfm
index 6b22b259cc..109983574c 100644
--- a/tools/jsonviewer/frmcreatecode.lfm
+++ b/tools/jsonviewer/frmcreatecode.lfm
@@ -816,6 +816,7 @@ object CreateCodeForm: TCreateCodeForm
ShowButtons = [pbOK, pbCancel]
end
object SynFPC: TSynFreePascalSyn
+ Enabled = False
CompilerMode = pcmObjFPC
NestedComments = True
left = 127
diff --git a/tools/jsonviewer/frmmain.pp b/tools/jsonviewer/frmmain.pp
index 16db330bdb..5b44612199 100644
--- a/tools/jsonviewer/frmmain.pp
+++ b/tools/jsonviewer/frmmain.pp
@@ -27,7 +27,7 @@ interface
uses
Classes, SysUtils, fpJSON, jsonscanner, JSONParser,
Forms, Controls, Dialogs, ActnList, Menus, ComCtrls, IniPropStorage, PropertyStorage,
- DefaultTranslator;
+ DefaultTranslator, SynEdit, SynHighlighterJScript;
type
@@ -55,6 +55,10 @@ type
FModified: Boolean;
FOptions: TViewerOptions;
FTreeView: TTreeview;
+ FPageControl : TPageControl;
+ FSyn : TSynEdit;
+ procedure CreatePageControl;
+ procedure DoTabChange(Sender: TObject);
procedure SetCurrentFind(AValue: TTreeNode);
procedure SetFileName(AValue: String);
procedure SetJSONData(AValue: TJSONData);
@@ -66,6 +70,7 @@ type
Destructor Destroy; override;
procedure ShowJSONData(AParent: TTreeNode; Data: TJSONData);
procedure ShowJSONDocument;
+ Procedure ShowJSONDocumentText;
Property FileName : String read FFileName Write SetFileName;
Property TVJSON : TTreeview Read FTreeView;
// We own JSON
@@ -317,14 +322,48 @@ begin
FCurrentFind:=AValue;
end;
+procedure TJSONTab.DoTabChange(Sender: TObject);
+begin
+ If (PageControl.ActivePageIndex=1) then
+ ShowJSONDocumentText;
+end;
+
constructor TJSONTab.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
- FTreeView:=TTreeview.Create(Self);
- FTreeView.Parent:=Self;
+ CreatePageControl;
+end;
+
+
+Procedure TJSONTab.CreatePageControl;
+
+Var
+ TS : TTabSheet;
+
+begin
+ FPageControl:=TPageControl.Create(Self.Owner);
+ FPageControl.Parent:=Self;
+ FPageControl.Align:=alClient;
+ FPageControl.TabPosition:=tpBottom;
+ FPageControl.OnChange:=@DoTabChange;
+ // Visual
+ TS:=TTabsheet.Create(Self.Owner);
+ TS.Caption:=STabCaptionVisual;
+ TS.Parent:=FPageControl;
+ FTreeView:=TTreeview.Create(Self.Owner);
+ FTreeView.Parent:=TS;
FTreeView.Options:= [tvoAutoItemHeight,tvoKeepCollapsedNodes,tvoRightClickSelect,tvoShowButtons,tvoShowLines,tvoShowRoot,tvoToolTips,tvoThemedDraw];
FTreeView.Align:=alClient;
+ // Raw
+ TS:=TTabsheet.Create(Self.Owner);
+ TS.Caption:=STabCaptionRaw;
+ TS.Parent:=FPageControl;
+ FSyn:=TSynEdit.Create(Self.Owner);
+ FSyn.align:=alClient;
+ FSyn.Parent:=TS;
+ FSyn.Highlighter:=TSynJScriptSyn.Create(Self.Owner);
+ FSyn.ReadOnly:=True;
SetCaption;
end;
@@ -1150,7 +1189,8 @@ procedure TMainForm.AOpenExecute(Sender: TObject);
begin
With ODJSON do
begin
- FileName:=CurrentJSONTab.FileName;
+ if Assigned(CurrentJSONTab) then
+ FileName:=CurrentJSONTab.FileName;
If Execute then
OpenFile(FileName)
end;
@@ -1285,8 +1325,8 @@ procedure TMainForm.FormShow(Sender: TObject);
begin
if (ParamCount>0) and FileExists(ParamStr(1)) then
OpenFile(ParamStr(1))
- else
- NewDocument;
+// else
+// NewDocument;
end;
procedure TMainForm.HaveData(Sender: TObject);
@@ -1372,8 +1412,12 @@ begin
finally
S.Free;
end;
- NewDocument.FileName:=AFileName;
- NewDocument.Root:=D;
+ With NewDocument do
+ begin
+ FileName:=AFileName;
+ Root:=D;
+ Modified:=False;
+ end;
SetCaption;
// NewDocument.ShowJSONDocument;
end;
@@ -1381,6 +1425,7 @@ end;
procedure TJSONTab.ShowJSONDocument;
begin
+ ShowJSONDocumentText;
With TVJSON.Items do
begin
BeginUpdate;
@@ -1399,6 +1444,11 @@ begin
end;
end;
+procedure TJSONTab.ShowJSONDocumentText;
+begin
+ FSyn.Text:=Root.FormatJSON();
+end;
+
procedure TJSONTab.ShowJSONData(AParent : TTreeNode; Data : TJSONData);
Var
diff --git a/tools/jsonviewer/frmnewboolean.lfm b/tools/jsonviewer/frmnewboolean.lfm
index 0b191d579b..7298e45421 100644
--- a/tools/jsonviewer/frmnewboolean.lfm
+++ b/tools/jsonviewer/frmnewboolean.lfm
@@ -11,11 +11,11 @@ object NewBooleanForm: TNewBooleanForm
ClientWidth = 387
OnCloseQuery = FormCloseQuery
Position = poMainFormCenter
- LCLVersion = '1.5'
+ LCLVersion = '1.9.0.0'
object BPNewBoolean: TButtonPanel
Left = 6
- Height = 37
- Top = 81
+ Height = 42
+ Top = 76
Width = 375
OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True
@@ -34,16 +34,16 @@ object NewBooleanForm: TNewBooleanForm
Left = 8
Height = 17
Top = 12
- Width = 97
+ Width = 83
Caption = '&Member name'
FocusControl = Ename
ParentColor = False
end
object CBValue: TCheckBox
Left = 128
- Height = 24
+ Height = 22
Top = 44
- Width = 97
+ Width = 82
Caption = 'Set to true'
TabOrder = 1
end
diff --git a/tools/jsonviewer/frmnewinteger.lfm b/tools/jsonviewer/frmnewinteger.lfm
index 38b83a85cb..82776edfe1 100644
--- a/tools/jsonviewer/frmnewinteger.lfm
+++ b/tools/jsonviewer/frmnewinteger.lfm
@@ -11,11 +11,11 @@ object NewNumberForm: TNewNumberForm
ClientWidth = 305
OnCloseQuery = FormCloseQuery
Position = poMainFormCenter
- LCLVersion = '1.5'
+ LCLVersion = '1.9.0.0'
object BPNewNumber: TButtonPanel
Left = 6
- Height = 37
- Top = 197
+ Height = 42
+ Top = 192
Width = 293
OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True
@@ -52,8 +52,8 @@ object NewNumberForm: TNewNumberForm
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
- ClientHeight = 86
- ClientWidth = 181
+ ClientHeight = 87
+ ClientWidth = 183
Items.Strings = (
'Float'
'Integer'
@@ -72,7 +72,7 @@ object NewNumberForm: TNewNumberForm
Left = 12
Height = 17
Top = 10
- Width = 40
+ Width = 34
Caption = '&Name'
FocusControl = EName
ParentColor = False
@@ -81,7 +81,7 @@ object NewNumberForm: TNewNumberForm
Left = 12
Height = 17
Top = 159
- Width = 38
+ Width = 31
Caption = 'Value'
ParentColor = False
end
diff --git a/tools/jsonviewer/frmnewstring.lfm b/tools/jsonviewer/frmnewstring.lfm
index 15e63ec28e..3a4991b582 100644
--- a/tools/jsonviewer/frmnewstring.lfm
+++ b/tools/jsonviewer/frmnewstring.lfm
@@ -11,7 +11,7 @@ object NewStringForm: TNewStringForm
ClientWidth = 320
OnCloseQuery = FormCloseQuery
Position = poMainFormCenter
- LCLVersion = '1.5'
+ LCLVersion = '1.9.0.0'
object EName: TEdit
Left = 88
Height = 27
@@ -30,7 +30,7 @@ object NewStringForm: TNewStringForm
Left = 8
Height = 17
Top = 16
- Width = 40
+ Width = 34
Alignment = taRightJustify
Caption = '&Name'
FocusControl = EName
@@ -41,7 +41,7 @@ object NewStringForm: TNewStringForm
Left = 8
Height = 17
Top = 49
- Width = 38
+ Width = 31
Alignment = taRightJustify
Caption = '&Value'
FocusControl = EValue
@@ -50,8 +50,8 @@ object NewStringForm: TNewStringForm
end
object BPNewString: TButtonPanel
Left = 6
- Height = 37
- Top = 97
+ Height = 42
+ Top = 92
Width = 308
OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True
diff --git a/tools/jsonviewer/jsonviewer.lpi b/tools/jsonviewer/jsonviewer.lpi
index ab9b68bff6..518f291ab3 100644
--- a/tools/jsonviewer/jsonviewer.lpi
+++ b/tools/jsonviewer/jsonviewer.lpi
@@ -85,6 +85,7 @@
+
diff --git a/tools/jsonviewer/languages/jsonviewer.cs.po b/tools/jsonviewer/languages/jsonviewer.cs.po
index 15b6611360..6ff2b5ee65 100644
--- a/tools/jsonviewer/languages/jsonviewer.cs.po
+++ b/tools/jsonviewer/languages/jsonviewer.cs.po
@@ -101,6 +101,14 @@ msgstr "Objekt (%d prvků)"
msgid "Save the changes"
msgstr "Uložit změny"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.de.po b/tools/jsonviewer/languages/jsonviewer.de.po
index 434cc2963b..c68616e967 100644
--- a/tools/jsonviewer/languages/jsonviewer.de.po
+++ b/tools/jsonviewer/languages/jsonviewer.de.po
@@ -99,6 +99,14 @@ msgstr ""
msgid "Save the changes"
msgstr "Änderungen speichern"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.es.po b/tools/jsonviewer/languages/jsonviewer.es.po
index cbbbfa29a7..33b1cb71b7 100644
--- a/tools/jsonviewer/languages/jsonviewer.es.po
+++ b/tools/jsonviewer/languages/jsonviewer.es.po
@@ -98,6 +98,14 @@ msgstr "Objeto (%d miembros)"
msgid "Save the changes"
msgstr "Guardar los cambios"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.fi.po b/tools/jsonviewer/languages/jsonviewer.fi.po
index ac28e6a219..44872db0a0 100644
--- a/tools/jsonviewer/languages/jsonviewer.fi.po
+++ b/tools/jsonviewer/languages/jsonviewer.fi.po
@@ -90,6 +90,14 @@ msgstr "Olio (%d jäsentä)"
msgid "Save the changes"
msgstr "Tallenna muutokset"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.fr.po b/tools/jsonviewer/languages/jsonviewer.fr.po
index b5f03d2580..9f79267942 100644
--- a/tools/jsonviewer/languages/jsonviewer.fr.po
+++ b/tools/jsonviewer/languages/jsonviewer.fr.po
@@ -97,6 +97,14 @@ msgstr "Objet (%d membres)"
msgid "Save the changes"
msgstr "Enregistrer les changements"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.hu.po b/tools/jsonviewer/languages/jsonviewer.hu.po
index b566c02628..07bd314413 100644
--- a/tools/jsonviewer/languages/jsonviewer.hu.po
+++ b/tools/jsonviewer/languages/jsonviewer.hu.po
@@ -100,6 +100,14 @@ msgstr "Objektum (%d tag)"
msgid "Save the changes"
msgstr "Változások mentése"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.it.po b/tools/jsonviewer/languages/jsonviewer.it.po
index 68d9055e27..ee251ddf0c 100644
--- a/tools/jsonviewer/languages/jsonviewer.it.po
+++ b/tools/jsonviewer/languages/jsonviewer.it.po
@@ -101,6 +101,14 @@ msgstr "Oggetto (%d membri)"
msgid "Save the changes"
msgstr "Salva i cambiamenti"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.lt.po b/tools/jsonviewer/languages/jsonviewer.lt.po
index 0f2212512a..6a4edb7db6 100644
--- a/tools/jsonviewer/languages/jsonviewer.lt.po
+++ b/tools/jsonviewer/languages/jsonviewer.lt.po
@@ -101,6 +101,14 @@ msgstr "Objektas (narių: %d)"
msgid "Save the changes"
msgstr "Įrašyti pakeitimus"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.po b/tools/jsonviewer/languages/jsonviewer.po
index 9a9bbb0c72..3e582fc99b 100644
--- a/tools/jsonviewer/languages/jsonviewer.po
+++ b/tools/jsonviewer/languages/jsonviewer.po
@@ -84,6 +84,14 @@ msgstr ""
msgid "Save the changes"
msgstr ""
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.pt_BR.po b/tools/jsonviewer/languages/jsonviewer.pt_BR.po
index aaefb95e75..e15e08152a 100644
--- a/tools/jsonviewer/languages/jsonviewer.pt_BR.po
+++ b/tools/jsonviewer/languages/jsonviewer.pt_BR.po
@@ -100,6 +100,14 @@ msgstr "Objeto (%d membros)"
msgid "Save the changes"
msgstr "Salvar as alterações"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.ru.po b/tools/jsonviewer/languages/jsonviewer.ru.po
index 6a9714c7f6..91da62ba8e 100644
--- a/tools/jsonviewer/languages/jsonviewer.ru.po
+++ b/tools/jsonviewer/languages/jsonviewer.ru.po
@@ -96,6 +96,14 @@ msgstr "Объект (%d элементов)"
msgid "Save the changes"
msgstr "Сохранить изменения"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.uk.po b/tools/jsonviewer/languages/jsonviewer.uk.po
index 6b3c71196e..3ece7f1557 100644
--- a/tools/jsonviewer/languages/jsonviewer.uk.po
+++ b/tools/jsonviewer/languages/jsonviewer.uk.po
@@ -98,6 +98,14 @@ msgstr "Об'єкт (%d членів)"
msgid "Save the changes"
msgstr "Зберегти зміни"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/languages/jsonviewer.zh_CN.po b/tools/jsonviewer/languages/jsonviewer.zh_CN.po
index 6e20074c3f..81fd39de9e 100644
--- a/tools/jsonviewer/languages/jsonviewer.zh_CN.po
+++ b/tools/jsonviewer/languages/jsonviewer.zh_CN.po
@@ -101,6 +101,14 @@ msgstr "对象(%d members成员"
msgid "Save the changes"
msgstr "保存更改"
+#: msgjsonviewer.stabcaptionraw
+msgid "Raw"
+msgstr ""
+
+#: msgjsonviewer.stabcaptionvisual
+msgid "Visual"
+msgstr ""
+
#: tcreatecodeform.caption
msgctxt "tcreatecodeform.caption"
msgid "Create pascal code"
diff --git a/tools/jsonviewer/msgjsonviewer.pp b/tools/jsonviewer/msgjsonviewer.pp
index d73e14b759..8fdf39f89e 100644
--- a/tools/jsonviewer/msgjsonviewer.pp
+++ b/tools/jsonviewer/msgjsonviewer.pp
@@ -29,7 +29,8 @@ Resourcestring
SSaveData = 'Save the changes';
SCancelClose = 'Do not close the window';
SCancelPaste = 'Do not paste the new data';
-
+ STabCaptionRaw = 'Raw';
+ STabCaptionVisual = 'Visual';
implementation
end.