Skip to content

Commit 96b3f2e

Browse files
committed
addedd button docker
1 parent 9daae9b commit 96b3f2e

30 files changed

+4781
-162
lines changed

DelphiDocker.dpk

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ requires
3535
contains
3636
OpenToolApi.LocalMenuItem in 'Src\OpenToolApi\OpenToolApi.LocalMenuItem.pas',
3737
OpenToolApi.Register in 'Src\OpenToolApi\OpenToolApi.Register.pas',
38-
OpenToolApi.ToolBarItem in 'Src\OpenToolApi\OpenToolApi.ToolBarItem.pas',
39-
OpenToolApi.Images in 'Src\OpenToolApi\OpenToolApi.Images.pas' {DataModuleImages: TDataModule};
38+
OpenToolApi.ToolBarItem in 'Src\OpenToolApi\OpenToolApi.ToolBarItem.pas' {ToolBarItem: TDataModule},
39+
Command.Runner in 'Src\Command\Command.Runner.pas',
40+
OpenToolApi.CommandMessage in 'Src\OpenToolApi\OpenToolApi.CommandMessage.pas';
4041

4142
end.

DelphiDocker.dproj

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,21 @@
1313
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
1414
<Base>true</Base>
1515
</PropertyGroup>
16+
<PropertyGroup Condition="('$(Platform)'=='Linux64' and '$(Base)'=='true') or '$(Base_Linux64)'!=''">
17+
<Base_Linux64>true</Base_Linux64>
18+
<CfgParent>Base</CfgParent>
19+
<Base>true</Base>
20+
</PropertyGroup>
1621
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
1722
<Base_Win32>true</Base_Win32>
1823
<CfgParent>Base</CfgParent>
1924
<Base>true</Base>
2025
</PropertyGroup>
26+
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
27+
<Base_Win64>true</Base_Win64>
28+
<CfgParent>Base</CfgParent>
29+
<Base>true</Base>
30+
</PropertyGroup>
2131
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''">
2232
<Cfg_1>true</Cfg_1>
2333
<CfgParent>Base</CfgParent>
@@ -57,13 +67,21 @@
5767
<VerInfo_Locale>1046</VerInfo_Locale>
5868
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
5969
<DCC_BplOutput>.\$(Platform)\$(Config)</DCC_BplOutput>
70+
<DCC_UnitSearchPath>modules\DOSCommand\Source;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
71+
</PropertyGroup>
72+
<PropertyGroup Condition="'$(Base_Linux64)'!=''">
73+
<DCC_UsePackage>rtl;$(DCC_UsePackage)</DCC_UsePackage>
6074
</PropertyGroup>
6175
<PropertyGroup Condition="'$(Base_Win32)'!=''">
6276
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
6377
<BT_BuildType>Debug</BT_BuildType>
6478
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
6579
<VerInfo_Locale>1033</VerInfo_Locale>
6680
<Debugger_RunParams>-debug</Debugger_RunParams>
81+
<DCC_UsePackage>rtl;$(DCC_UsePackage)</DCC_UsePackage>
82+
</PropertyGroup>
83+
<PropertyGroup Condition="'$(Base_Win64)'!=''">
84+
<DCC_UsePackage>rtl;$(DCC_UsePackage)</DCC_UsePackage>
6785
</PropertyGroup>
6886
<PropertyGroup Condition="'$(Cfg_1)'!=''">
6987
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
@@ -97,12 +115,13 @@
97115
<DCCReference Include="designide.dcp"/>
98116
<DCCReference Include="Src\OpenToolApi\OpenToolApi.LocalMenuItem.pas"/>
99117
<DCCReference Include="Src\OpenToolApi\OpenToolApi.Register.pas"/>
100-
<DCCReference Include="Src\OpenToolApi\OpenToolApi.ToolBarItem.pas"/>
101-
<DCCReference Include="Src\OpenToolApi\OpenToolApi.Images.pas">
102-
<Form>DataModuleImages</Form>
118+
<DCCReference Include="Src\OpenToolApi\OpenToolApi.ToolBarItem.pas">
119+
<Form>ToolBarItem</Form>
103120
<FormType>dfm</FormType>
104121
<DesignClass>TDataModule</DesignClass>
105122
</DCCReference>
123+
<DCCReference Include="Src\Command\Command.Runner.pas"/>
124+
<DCCReference Include="Src\OpenToolApi\OpenToolApi.CommandMessage.pas"/>
106125
<BuildConfiguration Include="Release">
107126
<Key>Cfg_2</Key>
108127
<CfgParent>Base</CfgParent>

Src/Command/Command.Message.pas

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
unit Providers.Message;
2+
3+
interface
4+
5+
uses
6+
ToolsAPI;
7+
8+
type
9+
TCommandMessage = class
10+
FService: IOTAMessageServices;
11+
FGroup: IOTAMessageGroup;
12+
private
13+
class var FInstance: TCommandMessage;
14+
public
15+
class function GetInstance: TCommandMessage;
16+
class procedure Release;
17+
Procedure Initialize(AService: IOTAMessageServices);
18+
procedure WriteLn(ALine: string);
19+
procedure Clear;
20+
end;
21+
22+
implementation
23+
24+
procedure TCommandMessage.Clear;
25+
begin
26+
FService.ClearMessageGroup(FGroup);
27+
end;
28+
29+
class procedure TCommandMessage.Release;
30+
begin
31+
if Assigned(FInstance) then
32+
FInstance.Free;
33+
end;
34+
35+
class function TProviderMessage.TCommandMessage: TCommandMessage;
36+
begin
37+
if not Assigned(FInstance) then
38+
FInstance := TCommandMessage.Create;
39+
Result := FInstance;
40+
end;
41+
42+
procedure TCommandMessage.Initialize(AService: IOTAMessageServices);
43+
begin
44+
FService := AService;
45+
FGroup := FService.AddMessageGroup('Docker');
46+
47+
FGroup.AutoScroll := True;
48+
FGroup.CanClose := False;
49+
FService.AddTitleMessage('Docker initialized..', FGroup);
50+
end;
51+
52+
procedure TCommandMessage.WriteLn(ALine: string);
53+
begin
54+
FService.ShowMessageView(FGroup);
55+
FService.AddTitleMessage(ALine, FGroup);
56+
end;
57+
58+
initialization
59+
60+
finalization
61+
TCommandMessage.Release;
62+
63+
end.

Src/Command/Command.Runner.pas

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
unit Command.Runner;
2+
3+
interface
4+
5+
uses
6+
DOSCommand, OpenToolApi.CommandMessage;
7+
8+
procedure Runner(ACommand, APath: string; ALoadPackages: Boolean);
9+
10+
implementation
11+
12+
uses
13+
System.SysUtils;
14+
15+
procedure Runner(ACommand, APath: string; ALoadPackages: Boolean);
16+
var
17+
LDosCommand: TDosCommand;
18+
begin
19+
LDosCommand := TDosCommand.Create(nil);
20+
try
21+
LDosCommand.OnNewLine := procedure(ASender: TObject; const ANewLine: string; AOutputType: TOutputType)
22+
begin
23+
TCommandMessage.GetInstance.WriteLn(ANewLine);
24+
end;
25+
26+
LDosCommand.InputToOutput := False;
27+
LDosCommand.CurrentDir := APath;
28+
LDosCommand.CommandLine := GetEnvironmentVariable('COMSPEC');
29+
LDosCommand.Execute;
30+
LDosCommand.SendLine(ACommand, False);
31+
LDosCommand.SendLine(#13, False);
32+
LDosCommand.SendLine('', True);
33+
finally
34+
35+
end;
36+
end;
37+
38+
end.

Src/OpenToolApi/DelphiDocker.Register.pas

Lines changed: 0 additions & 33 deletions
This file was deleted.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
unit OpenToolApi.CommandMessage;
2+
3+
interface
4+
5+
uses
6+
ToolsAPI;
7+
8+
type
9+
TCommandMessage = class
10+
FService: IOTAMessageServices;
11+
FGroup: IOTAMessageGroup;
12+
private
13+
class var FInstance: TCommandMessage;
14+
public
15+
class function GetInstance: TCommandMessage;
16+
class procedure Release;
17+
Procedure Initialize(AService: IOTAMessageServices);
18+
procedure WriteLn(ALine: string);
19+
procedure Clear;
20+
end;
21+
22+
implementation
23+
24+
procedure TCommandMessage.Clear;
25+
begin
26+
FService.ClearMessageGroup(FGroup);
27+
end;
28+
29+
class procedure TCommandMessage.Release;
30+
begin
31+
if Assigned(FInstance) then
32+
FInstance.Free;
33+
end;
34+
35+
class function TCommandMessage.GetInstance: TCommandMessage;
36+
begin
37+
if not Assigned(FInstance) then
38+
FInstance := TCommandMessage.Create;
39+
Result := FInstance;
40+
end;
41+
42+
procedure TCommandMessage.Initialize(AService: IOTAMessageServices);
43+
begin
44+
FService := AService;
45+
FGroup := FService.AddMessageGroup('Docker');
46+
47+
FGroup.AutoScroll := True;
48+
FGroup.CanClose := False;
49+
FService.AddTitleMessage('Docker initialized..', FGroup);
50+
end;
51+
52+
procedure TCommandMessage.WriteLn(ALine: string);
53+
begin
54+
FService.ShowMessageView(FGroup);
55+
FService.AddTitleMessage(ALine, FGroup);
56+
end;
57+
58+
initialization
59+
60+
finalization
61+
TCommandMessage.Release;
62+
63+
end.
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
unit OpenToolApi.Events;
2+
3+
interface
4+
5+
uses
6+
ToolsAPI, System.Classes, Vcl.Controls;
7+
8+
type
9+
10+
TEventsToolBar = class(TInterfacedObject, INTACustomizeToolbarNotifier, IOTANotifier)
11+
procedure AfterSave;
12+
procedure BeforeSave;
13+
procedure Destroyed;
14+
procedure Modified;
15+
procedure CreateButton(AOwner: TComponent; var Button: TControl;
16+
Action: TBasicAction);
17+
procedure FilterAction(Action: TBasicAction; ViewingAllCommands: Boolean;
18+
var DisplayName: string; var Display: Boolean; var Handled: Boolean);
19+
procedure FilterCategory(var Category: string; var Display: Boolean;
20+
var Handled: Boolean);
21+
procedure ResetToolbar(var Toolbar: TWinControl);
22+
procedure ShowToolbar(Toolbar: TWinControl; Show: Boolean);
23+
procedure ToolbarModified(Toolbar: TWinControl);
24+
end;
25+
26+
implementation
27+
28+
{ TEventsToolBar }
29+
30+
procedure TEventsToolBar.AfterSave;
31+
begin
32+
//
33+
end;
34+
35+
procedure TEventsToolBar.BeforeSave;
36+
begin
37+
//
38+
end;
39+
40+
procedure TEventsToolBar.CreateButton(AOwner: TComponent; var Button: TControl; Action: TBasicAction);
41+
begin
42+
//
43+
end;
44+
45+
procedure TEventsToolBar.Destroyed;
46+
begin
47+
//
48+
end;
49+
50+
procedure TEventsToolBar.FilterAction(Action: TBasicAction; ViewingAllCommands: Boolean; var DisplayName: string;
51+
var Display, Handled: Boolean);
52+
begin
53+
//
54+
end;
55+
56+
procedure TEventsToolBar.FilterCategory(var Category: string; var Display, Handled: Boolean);
57+
begin
58+
//
59+
end;
60+
61+
procedure TEventsToolBar.Modified;
62+
begin
63+
//
64+
end;
65+
66+
procedure TEventsToolBar.ResetToolbar(var Toolbar: TWinControl);
67+
begin
68+
//
69+
end;
70+
71+
procedure TEventsToolBar.ShowToolbar(Toolbar: TWinControl; Show: Boolean);
72+
begin
73+
//
74+
end;
75+
76+
procedure TEventsToolBar.ToolbarModified(Toolbar: TWinControl);
77+
begin
78+
//
79+
end;
80+
81+
end.

0 commit comments

Comments
 (0)