forked from lmbelo/python4delphi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWrapFmxStyles.pas
More file actions
139 lines (119 loc) · 3.93 KB
/
WrapFmxStyles.pas
File metadata and controls
139 lines (119 loc) · 3.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
{$I ..\Definition.Inc}
unit WrapFmxStyles;
interface
uses
WrapDelphi, FMX.Styles, PythonEngine;
type
TPyDelphiStyleStreaming = class(TPyDelphiObject)
private
function GetDelphiObject: TStyleStreaming;
procedure SetDelphiObject(const Value: TStyleStreaming);
public
constructor Create( APythonType : TPythonType ); override;
constructor CreateWith(APythonType: TPythonType; args: PPyObject); override;
class function DelphiObjectClass : TClass; override;
class procedure RegisterGetSets(PythonType: TPythonType); override;
class procedure RegisterMethods(PythonType: TPythonType); override;
property DelphiObject: TStyleStreaming read GetDelphiObject write SetDelphiObject;
end;
TPyDelphiStyleManager = class(TPyDelphiObject)
private
function GetDelphiObject: TStyleManager;
procedure SetDelphiObject(const Value: TStyleManager);
public
constructor Create( APythonType : TPythonType ); override;
constructor CreateWith(APythonType: TPythonType; args, kwds: PPyObject); override;
class function DelphiObjectClass : TClass; override;
class procedure RegisterGetSets(PythonType: TPythonType); override;
class procedure RegisterMethods(PythonType: TPythonType); override;
property DelphiObject: TStyleManager read GetDelphiObject write SetDelphiObject;
end;
implementation
uses
FMX.Types;
{ Register the wrappers, the globals and the constants }
type
TFmxStylesRegistration = class(TRegisteredUnit)
public
function Name: string; override;
procedure RegisterWrappers(APyDelphiWrapper: TPyDelphiWrapper); override;
procedure DefineVars(APyDelphiWrapper: TPyDelphiWrapper); override;
end;
{ TFmxStylesRegistration }
procedure TFmxStylesRegistration.DefineVars(APyDelphiWrapper: TPyDelphiWrapper);
begin
inherited;
end;
function TFmxStylesRegistration.Name: string;
begin
Result := 'Styles';
end;
procedure TFmxStylesRegistration.RegisterWrappers(
APyDelphiWrapper: TPyDelphiWrapper);
begin
inherited;
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiStyleStreaming);
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiStyleManager);
end;
{ TPyDelphiStyleStreaming }
constructor TPyDelphiStyleStreaming.Create(APythonType: TPythonType);
begin
inherited;
end;
constructor TPyDelphiStyleStreaming.CreateWith(APythonType: TPythonType; args: PPyObject);
begin
inherited;
DelphiObject := TStyleStreaming.Create();
end;
class function TPyDelphiStyleStreaming.DelphiObjectClass: TClass;
begin
Result := TStyleStreaming;
end;
function TPyDelphiStyleStreaming.GetDelphiObject: TStyleStreaming;
begin
Result := TStyleStreaming(inherited DelphiObject);
end;
class procedure TPyDelphiStyleStreaming.RegisterGetSets(
PythonType: TPythonType);
begin
end;
class procedure TPyDelphiStyleStreaming.RegisterMethods(
PythonType: TPythonType);
begin
end;
procedure TPyDelphiStyleStreaming.SetDelphiObject(const Value: TStyleStreaming);
begin
inherited DelphiObject := Value;
end;
{ TPyDelphiStyleManager }
constructor TPyDelphiStyleManager.Create(APythonType: TPythonType);
begin
inherited;
end;
constructor TPyDelphiStyleManager.CreateWith(APythonType: TPythonType; args,
kwds: PPyObject);
begin
inherited;
DelphiObject := TStyleManager.Create();
end;
class function TPyDelphiStyleManager.DelphiObjectClass: TClass;
begin
Result := TStyleManager;
end;
function TPyDelphiStyleManager.GetDelphiObject: TStyleManager;
begin
Result := TStyleManager(inherited DelphiObject);
end;
class procedure TPyDelphiStyleManager.RegisterGetSets(PythonType: TPythonType);
begin
end;
class procedure TPyDelphiStyleManager.RegisterMethods(PythonType: TPythonType);
begin
end;
procedure TPyDelphiStyleManager.SetDelphiObject(const Value: TStyleManager);
begin
inherited DelphiObject := Value;
end;
initialization
RegisteredUnits.Add(TFmxStylesRegistration.Create());
end.