El 13/9/22 a les 16:33, Michael Van Canneyt ha escrit:
The correct way is to introduce TJSHTMLFieldSet and declare the disabled
property. As long as that class does not exist, see above.
Hello,
for the time being I defined a TJSHTMLFieldSet class but since it isn't complete (I just exposed the 'disabled' attribute) I won't submit a patch.
My new question is why the T*Widget classes don't expose the underlying disabled attribute of the TJSHTMLElement that have it.
I suppose it's just lack of time.
Since the Element property is protected, I'm using an ugly class helper/class cracker combo (and using enabled rather than disabled because it's what normal lazarus controls have), see below.
A tangential question is, what should one use? T*Widgets or TJSHTMLElements?
---------------8<---------------8<---------------8<---------------8<--------
TButtonEnabledHelper = class helper for TButtonWidget
private
function GetEnabled: boolean;
procedure SetEnabled(AValue: boolean);
public
property enabled:boolean read GetEnabled write SetEnabled;
end;
TCrackButtonWidget = class(TButtonWidget)
end;
function TButtonEnabledHelper.GetEnabled: boolean;
begin
result:=not
TJSHTMLButtonElement(TCrackButtonWidget(self).element).disabled;
end;
procedure TButtonEnabledHelper.SetEnabled(AValue: boolean);
begin
TJSHTMLButtonElement(TCrackButtonWidget(self).Element).disabled:=not
AValue;
end;
---------------8<---------------8<---------------8<---------------8<--------
Bye
Luca