Skip to content

Commit 5cc7e31

Browse files
author
César Cardoso
committed
feature/add-button-cscode-in-tollbar
1 parent 8d170fb commit 5cc7e31

3 files changed

Lines changed: 38 additions & 2 deletions

File tree

Package/Img/c4d_vscode.bmp

822 Bytes
Binary file not shown.

Src/Consts/C4D.Wizard.Consts.pas

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ TC4DConsts = class
168168
//TOOLBAR UTILITIES
169169
TOOL_BAR_UTILITIES_NAME = 'C4DToolBarUtilities';
170170
TOOL_BAR_UTILITIES_CAPTION = 'C4D Utilities';
171+
TOOL_BAR_UTILITIES_TOOL_BUTTON_OpenInVsCode_NAME = 'C4DToolButtoUtilitiesOpenInVsCode';
171172
TOOL_BAR_UTILITIES_TOOL_BUTTON_UnitInReadOnly_NAME = 'C4DToolButtoUtilitiesUnitInReadOnly';
172173
TOOL_BAR_UTILITIES_TOOL_BUTTON_GithubDesktop_NAME = 'C4DToolButtonUtilitiesGithubDesktop';
173174
//TOOLBAR UTILITIES INI

Src/IDE/ToolBars/C4D.Wizard.IDE.ToolBars.Utilities.pas

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,14 @@ TC4DWizardIDEToolBarsUtilities = class
2222
FCont: Integer;
2323
FINTAServices: INTAServices;
2424
FToolBarUtilities: TToolBar;
25+
FToolButtonOpenInVsCode: TToolButton;
2526
FToolButtonUnitInReadOnly: TToolButton;
2627
FList: TObjectList<TC4DWizardOpenExternal>;
2728
procedure NewToolBarUtilities;
29+
procedure OnC4DToolButtonOpenInVsCodeClick(Sender: TObject);
2830
procedure OnC4DToolButtonUnitInReadOnlyClick(Sender: TObject);
2931
procedure RemoveToolBarUtilities;
32+
procedure AddButtonOpenInVsCode;
3033
procedure AddButtonUnitInReadOnly;
3134
function GetReferenceToolBar: string;
3235
function GetIniFile: TIniFile;
@@ -108,6 +111,7 @@ procedure TC4DWizardIDEToolBarsUtilities.CreateAllButtons;
108111
begin
109112
Self.OpenExternalFillList;
110113
Self.OpenExternalCreateButtonList;
114+
Self.AddButtonOpenInVsCode;
111115
Self.AddButtonUnitInReadOnly;
112116
end;
113117

@@ -194,6 +198,38 @@ function TC4DWizardIDEToolBarsUtilities.GetReferenceToolBar: string;
194198
end;
195199
end;
196200

201+
procedure TC4DWizardIDEToolBarsUtilities.AddButtonOpenInVsCode;
202+
begin
203+
FToolButtonOpenInVsCode := TToolButton(FToolBarUtilities.FindComponent(TC4DConsts.TOOL_BAR_UTILITIES_TOOL_BUTTON_OpenInVsCode_NAME));
204+
if(FToolButtonOpenInVsCode <> nil)then
205+
FToolButtonOpenInVsCode.Free;
206+
207+
FToolButtonOpenInVsCode := TToolButton.Create(FToolBarUtilities);
208+
FToolButtonOpenInVsCode.Parent := FToolBarUtilities;
209+
FToolButtonOpenInVsCode.Caption := '';
210+
FToolButtonOpenInVsCode.Hint := FToolButtonOpenInVsCode.Caption;
211+
FToolButtonOpenInVsCode.ShowHint := True;
212+
FToolButtonOpenInVsCode.Name := TC4DConsts.TOOL_BAR_UTILITIES_TOOL_BUTTON_OpenInVsCode_NAME;
213+
FToolButtonOpenInVsCode.Style := tbsButton;
214+
FToolButtonOpenInVsCode.ImageIndex := TC4DWizardIDEImageListMain.GetInstance.ImgIndexLockOFF;
215+
FToolButtonOpenInVsCode.Visible := True;
216+
FToolButtonOpenInVsCode.OnClick := OnC4DToolButtonOpenInVsCodeClick;
217+
FToolButtonOpenInVsCode.AutoSize := True;
218+
FToolButtonOpenInVsCode.Left := 0;
219+
end;
220+
221+
procedure TC4DWizardIDEToolBarsUtilities.OnC4DToolButtonOpenInVsCodeClick(Sender: TObject);
222+
var
223+
LIOTAEditBuffer: IOTAEditBuffer;
224+
begin
225+
LIOTAEditBuffer := TC4DWizardUtilsOTA.GetIOTAEditBufferCurrentModule;
226+
if(LIOTAEditBuffer = nil)then
227+
Exit;
228+
229+
LIOTAEditBuffer.IsReadOnly := not LIOTAEditBuffer.IsReadOnly;
230+
Self.ConfigButtonUnitInReadOnly(LIOTAEditBuffer.IsReadOnly);
231+
end;
232+
197233
procedure TC4DWizardIDEToolBarsUtilities.AddButtonUnitInReadOnly;
198234
begin
199235
FToolButtonUnitInReadOnly := TToolButton(FToolBarUtilities.FindComponent(TC4DConsts.TOOL_BAR_UTILITIES_TOOL_BUTTON_UnitInReadOnly_NAME));
@@ -209,10 +245,9 @@ procedure TC4DWizardIDEToolBarsUtilities.AddButtonUnitInReadOnly;
209245
FToolButtonUnitInReadOnly.Style := tbsButton;
210246
FToolButtonUnitInReadOnly.ImageIndex := TC4DWizardIDEImageListMain.GetInstance.ImgIndexLockOFF;
211247
FToolButtonUnitInReadOnly.Visible := True;
212-
FToolButtonUnitInReadOnly.Left := 0;
213248
FToolButtonUnitInReadOnly.OnClick := OnC4DToolButtonUnitInReadOnlyClick;
214249
FToolButtonUnitInReadOnly.AutoSize := True;
215-
//FToolButtonUnitInReadOnly.Enabled := False;
250+
FToolButtonUnitInReadOnly.Left := FToolButtonOpenInVsCode.Width + FToolButtonOpenInVsCode.Left;
216251
end;
217252

218253
procedure TC4DWizardIDEToolBarsUtilities.OnC4DToolButtonUnitInReadOnlyClick(Sender: TObject);

0 commit comments

Comments
 (0)