mirror of https://gitlab.com/basile.b/dexed.git
#10, delete a project property
This commit is contained in:
parent
c8db00ec0d
commit
3eeb985081
|
|
@ -21,10 +21,10 @@ inherited CEDubProjectEditorWidget: TCEDubProjectEditorWidget
|
||||||
Height = 416
|
Height = 416
|
||||||
Top = 4
|
Top = 4
|
||||||
Width = 403
|
Width = 403
|
||||||
ActivePage = TabSheet1
|
ActivePage = TabSheet2
|
||||||
Align = alClient
|
Align = alClient
|
||||||
BorderSpacing.Around = 4
|
BorderSpacing.Around = 4
|
||||||
TabIndex = 0
|
TabIndex = 1
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object TabSheet1: TTabSheet
|
object TabSheet1: TTabSheet
|
||||||
Caption = 'Inspector'
|
Caption = 'Inspector'
|
||||||
|
|
@ -144,6 +144,7 @@ inherited CEDubProjectEditorWidget: TCEDubProjectEditorWidget
|
||||||
Width = 28
|
Width = 28
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
Layout = blGlyphBottom
|
Layout = blGlyphBottom
|
||||||
|
OnClick = btnDelPropClick
|
||||||
ShowCaption = False
|
ShowCaption = False
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ type
|
||||||
TabSheet1: TTabSheet;
|
TabSheet1: TTabSheet;
|
||||||
TabSheet2: TTabSheet;
|
TabSheet2: TTabSheet;
|
||||||
procedure btnAcceptPropClick(Sender: TObject);
|
procedure btnAcceptPropClick(Sender: TObject);
|
||||||
|
procedure btnDelPropClick(Sender: TObject);
|
||||||
procedure propTreeSelectionChanged(Sender: TObject);
|
procedure propTreeSelectionChanged(Sender: TObject);
|
||||||
procedure treeInspectDblClick(Sender: TObject);
|
procedure treeInspectDblClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
|
|
@ -142,9 +143,12 @@ end;
|
||||||
procedure TCEDubProjectEditorWidget.propTreeSelectionChanged(Sender: TObject);
|
procedure TCEDubProjectEditorWidget.propTreeSelectionChanged(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
fSelectedNode := nil;
|
fSelectedNode := nil;
|
||||||
|
btnDelProp.Enabled:= false;
|
||||||
if propTree.Selected = nil then exit;
|
if propTree.Selected = nil then exit;
|
||||||
//
|
//
|
||||||
fSelectedNode := propTree.Selected;
|
fSelectedNode := propTree.Selected;
|
||||||
|
btnDelProp.Enabled := (fSelectedNode.Level > 0) and (fSelectedNode.Text <> 'name')
|
||||||
|
and (fSelectedNode.data <> nil);
|
||||||
updateValueEditor;
|
updateValueEditor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -155,6 +159,27 @@ begin
|
||||||
setJsonValueFromEditor;
|
setJsonValueFromEditor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEDubProjectEditorWidget.btnDelPropClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
prt: TJSONData;
|
||||||
|
begin
|
||||||
|
if fSelectedNode = nil then exit;
|
||||||
|
if fSelectedNode.Level = 0 then exit;
|
||||||
|
if fSelectedNode.Text = 'name' then exit;
|
||||||
|
if fSelectedNode.Data = nil then exit;
|
||||||
|
if fSelectedNode.Parent.Data = nil then exit;
|
||||||
|
//
|
||||||
|
fProj.beginModification;
|
||||||
|
prt := TJSONData(fSelectedNode.Parent.Data);
|
||||||
|
if prt.JSONType = jtObject then
|
||||||
|
TJSONObject(prt).Delete(fSelectedNode.Index)
|
||||||
|
else if prt.JSONType = jtArray then
|
||||||
|
TJSONArray(prt).Delete(fSelectedNode.Index);
|
||||||
|
fProj.endModification;
|
||||||
|
//
|
||||||
|
updateValueEditor;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCEDubProjectEditorWidget.setJsonValueFromEditor;
|
procedure TCEDubProjectEditorWidget.setJsonValueFromEditor;
|
||||||
var
|
var
|
||||||
dat: TJSONData;
|
dat: TJSONData;
|
||||||
|
|
@ -224,6 +249,7 @@ procedure TCEDubProjectEditorWidget.updateEditor;
|
||||||
i: integer;
|
i: integer;
|
||||||
c: TTreeNode;
|
c: TTreeNode;
|
||||||
begin
|
begin
|
||||||
|
node.Data:= data;
|
||||||
if data.JSONType = jtObject then for i := 0 to data.Count-1 do
|
if data.JSONType = jtObject then for i := 0 to data.Count-1 do
|
||||||
begin
|
begin
|
||||||
node.ImageIndex:=7;
|
node.ImageIndex:=7;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue