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.