From 96f754999b36900c5bbce2a9c6cfceb28e96410e Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Wed, 18 Jan 2017 07:28:30 +0100 Subject: [PATCH] sub proj editor, add a btn to clone a config or a build type --- docs/img/dub_project_editor.png | Bin 36393 -> 39141 bytes docs/widgets_dub_project_editor.md | 4 +- icons/other/copy.png | Bin 309 -> 498 bytes lazproj/coedit.lpi | 2 +- src/ce_dubprojeditor.lfm | 59 +++++++++++++++++------------ src/ce_dubprojeditor.pas | 55 ++++++++++++++++++++++++++- 6 files changed, 92 insertions(+), 28 deletions(-) diff --git a/docs/img/dub_project_editor.png b/docs/img/dub_project_editor.png index 6f4a6b3e6d3fb43ed863b2d1a06b143311905f65..ccb06a7bd53e67d416dbbb39ff75d5daebfab21b 100644 GIT binary patch literal 39141 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

>x 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 diff --git a/docs/widgets_dub_project_editor.md b/docs/widgets_dub_project_editor.md index 1afc7ad2..358bc30b 100644 --- a/docs/widgets_dub_project_editor.md +++ b/docs/widgets_dub_project_editor.md @@ -14,8 +14,10 @@ DUB projects with the [SDL format](http://code.dlang.org/package-format?lang=sdl A property value can be modified in the field at the bottom. New values always require an extra validation. New properties can be added or removed: -- : Removes the selected property. Note that the effect is not reflected until the project is saved as a file (since Coedit does not communicate directly with DUB). - : Shows a small dialog that allows to add a new value, a new array or a new object. +- : Removes the selected property. Note that the effect is not reflected until the project is saved as a file (since Coedit does not communicate directly with DUB). +- : Duplicates the selected object. Can be used to clone a configuration or a build type. +- : Updates the source files list. ![](img/dub_add_property.png) diff --git a/icons/other/copy.png b/icons/other/copy.png index a9f31a278e17993d8d4e13beac2f9d5f7b42d08f..8dd48c494924874a088590a749193994d075c22f 100644 GIT binary patch delta 483 zcmV<90UZ9d0`dcp8Gi-<001BJ|6u?C00v@9M??Ss00000`9r&Z00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-Ui8WadGgA_EI0004hNkl3^?Gh^C- z{R+VHnf#=+-EDq!0Ec0k{En(`q%r z80!-eLI41v(1a(Ha~^878eXfFg~oSdW{`{h%x=o=d7i&@0VGL6u~eA)N2Em;Kv9%V zj8>~TRBT6b0e>i^D3%JHvnl*+}S4tk-SEw(HM zMH$UOFgT8OyWIuox(>z|!eNT?Q)#FJN+p=4fyzsz3(&M51Oj8QEH>2c<<$iq9`D@| z1fH*+ou9fEhcV03wkV2NSzd)@nNYt}xh;p-JUOI20mZn6OI z?DHCurs?qe{SX8Jq9}q8f_l9UfZ*fv-4>@3vE&@-6(1g_v!-b-d3~(EDgY=XV#yr< Z_ys~)rUMm-_t*dc002ovPDHLkV1ikJ&8z?b delta 293 zcmV+=0owlZ1GNH>8Gi%-006c6H|hWY00d`2O+f$vugEtAis=9V02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM0075HL_t(2&vlVaZo)7W2EXJUMY#jQIS)rd z>Vm6uhfoV^t^qY6By{Y zaVF5S-KcpJMtbgC2n0N8RjX1}2%eD#cTRk9L~FIVM>6r=NY4((yk`=kvgf@g2?5JD zuRQ^oLU8<$d#;>I!Q*ip$UPmm`2^1~oh&`SlhCAZZne(OS%xSeRTH(^Jk8;rLi*Gy r_eA~?GPcw5bsn`%v3Mh+r9S=u_uEaN=S{!n00000NkvXXu0mjf5UqZ# diff --git a/lazproj/coedit.lpi b/lazproj/coedit.lpi index 2a6182fb..ed4ac89f 100644 --- a/lazproj/coedit.lpi +++ b/lazproj/coedit.lpi @@ -525,7 +525,7 @@ - + diff --git a/src/ce_dubprojeditor.lfm b/src/ce_dubprojeditor.lfm index 5138cacd..6237be39 100644 --- a/src/ce_dubprojeditor.lfm +++ b/src/ce_dubprojeditor.lfm @@ -2,25 +2,25 @@ inherited CEDubProjectEditorWidget: TCEDubProjectEditorWidget Left = 771 Height = 424 Top = 245 - Width = 402 + Width = 407 Caption = 'DUB project editor' ClientHeight = 424 - ClientWidth = 402 + ClientWidth = 407 inherited Back: TPanel Height = 424 - Width = 402 + Width = 407 ClientHeight = 424 - ClientWidth = 402 + ClientWidth = 407 inherited Content: TPanel Height = 388 - Width = 402 + Width = 407 ClientHeight = 388 - ClientWidth = 402 + ClientWidth = 407 object propTree: TTreeView[0] Left = 4 Height = 352 Top = 4 - Width = 394 + Width = 399 Align = alClient BorderSpacing.Around = 4 DefaultItemHeight = 16 @@ -38,24 +38,24 @@ inherited CEDubProjectEditorWidget: TCEDubProjectEditorWidget Left = 2 Height = 26 Top = 360 - Width = 398 + Width = 403 Align = alBottom BorderSpacing.Around = 2 BevelOuter = bvNone ClientHeight = 26 - ClientWidth = 398 + ClientWidth = 403 TabOrder = 1 object edProp: TEdit Left = 2 Height = 22 Top = 2 - Width = 366 + Width = 371 Align = alClient BorderSpacing.Around = 2 TabOrder = 0 end object btnAcceptProp: TSpeedButton - Left = 370 + Left = 375 Height = 26 Hint = 'accept property value' Top = 0 @@ -68,9 +68,9 @@ inherited CEDubProjectEditorWidget: TCEDubProjectEditorWidget end end inherited toolbar: TCEToolBar - Width = 394 + Width = 399 object btnUpdate: TCEToolButton[0] - Left = 57 + Left = 85 Hint = 'reload project' Top = 0 Caption = 'btnUpdate' @@ -96,21 +96,12 @@ inherited CEDubProjectEditorWidget: TCEDubProjectEditorWidget resourceName = 'TEXTFIELD_ADD' scaledSeparator = False end - object button3: TCEToolButton[3] - Left = 85 - Height = 28 - Top = 0 - Width = 11 - Caption = 'button3' - Style = tbsDivider - scaledSeparator = False - end - object fltEdit: TTreeFilterEdit[4] - Left = 96 + object fltEdit: TTreeFilterEdit[3] + Left = 128 Height = 26 Hint = 'filter properties' Top = 2 - Width = 296 + Width = 269 ButtonWidth = 23 NumGlyphs = 1 Align = alRight @@ -120,6 +111,24 @@ inherited CEDubProjectEditorWidget: TCEDubProjectEditorWidget TabOrder = 0 FilteredTreeview = propTree end + object btnCloneObject: TCEToolButton[4] + Left = 57 + Hint = 'clone selected object' + Top = 0 + Caption = 'btnCloneObject' + OnClick = btnCloneObjectClick + resourceName = 'COPY' + scaledSeparator = False + end + object button1: TCEToolButton[5] + Left = 113 + Height = 28 + Top = 0 + Width = 15 + Caption = 'button1' + Style = tbsDivider + scaledSeparator = False + end end end inherited contextMenu: TPopupMenu diff --git a/src/ce_dubprojeditor.pas b/src/ce_dubprojeditor.pas index f5ac5336..d584bc6a 100644 --- a/src/ce_dubprojeditor.pas +++ b/src/ce_dubprojeditor.pas @@ -40,6 +40,7 @@ type TCEDubProjectEditorWidget = class(TCEWidget, ICEProjectObserver) btnAcceptProp: TSpeedButton; btnAddProp: TCEToolButton; + btnCloneObject: TCEToolButton; btnDelProp: TCEToolButton; btnUpdate: TCEToolButton; edProp: TEdit; @@ -52,6 +53,7 @@ type procedure btnAddPropClick(Sender: TObject); procedure btnDelPropClick(Sender: TObject); procedure btnRefreshClick(Sender: TObject); + procedure btnCloneObjectClick(Sender: TObject); procedure MenuItem1Click(Sender: TObject); procedure propTreeSelectionChanged(Sender: TObject); private @@ -317,18 +319,23 @@ end; {$REGION Editor ----------------------------------------------------------------} procedure TCEDubProjectEditorWidget.propTreeSelectionChanged(Sender: TObject); +var + tpe: TJSONtype; begin fSelectedNode := nil; btnDelProp.Enabled := false; btnAddProp.Enabled := false; + btnCloneObject.Enabled := false; if propTree.Selected.isNil then exit; fSelectedNode := propTree.Selected; + tpe := TJSONData(fSelectedNode.Data).JSONType; btnDelProp.Enabled := (fSelectedNode.Level > 0) and (fSelectedNode.Text <> 'name') and fSelectedNode.data.isNotNil; + btnAddProp.Enabled := tpe in [jtObject, jtArray]; + btnCloneObject.Enabled := (tpe = jtObject) and (fSelectedNode.Level > 0); updateValueEditor; - btnAddProp.Enabled := TJSONData(fSelectedNode.Data).JSONType in [jtObject, jtArray]; end; procedure TCEDubProjectEditorWidget.btnAcceptPropClick(Sender: TObject); @@ -418,6 +425,52 @@ begin fProj.loadFromFile(fProj.filename); end; +procedure TCEDubProjectEditorWidget.btnCloneObjectClick(Sender: TObject); +var + dat: TJSONData; + prt: TJSONData; + arr: TJSONArray; + obj: TJSONObject; + nme: string = ''; + inm: string; + idx: integer = 0; +begin + if fSelectedNode.isNil or fSelectedNode.Data.isNil or fProj.isNil or + fSelectedNode.Parent.Data.isNil then + exit; + + dat := TJSONData(fSelectedNode.Data); + prt := TJSONData(fSelectedNode.Parent.Data); + + if ((prt.JSONType <> jtArray) and (prt.JSONType <> jtObject)) or + (dat.JSONType <> jtObject) then + exit; + + dat := dat.Clone; + if prt.JSONType = jtArray then + begin + fProj.beginModification; + arr := TJSONArray(prt); + arr.Insert(arr.Count-1, dat); + fProj.endModification; + end + else + begin + if not InputQuery('Clone object', 'name of the clone', nme) then + exit; + fProj.beginModification; + obj := TJSONObject(prt); + inm := nme; + while obj.IndexOfName(inm) <> -1 do + begin + inm := format('%s_%d', [nme, idx]); + idx += 1; + end; + obj.Add(inm, dat); + fProj.endModification; + end; +end; + procedure TCEDubProjectEditorWidget.MenuItem1Click(Sender: TObject); begin if fProj.isNil or not fProj.filename.fileExists then