mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-06 09:27:50 +01:00
71 lines
1.9 KiB
ObjectPascal
71 lines
1.9 KiB
ObjectPascal
unit ;
|
|
|
|
interface
|
|
|
|
type
|
|
TCompoundButton = class(TButton)
|
|
public
|
|
function isChecked(): Boolean;
|
|
function performClick(): Boolean;
|
|
procedure setChecked(checked: Boolean);
|
|
procedure toggle();
|
|
end;
|
|
|
|
TCheckBox = class(TCompoundButton)
|
|
public
|
|
constructor Create();
|
|
end;
|
|
|
|
implementation
|
|
|
|
const
|
|
// TCompoundButton
|
|
amkUI_TCompoundButton_isChecked = $00101000;
|
|
amkUI_TCompoundButton_performClick = $00101001;
|
|
amkUI_TCompoundButton_setChecked = $00101002;
|
|
amkUI_TCompoundButton_toggle = $00101003;
|
|
// TCheckBox
|
|
amkUI_TCheckBox_Create = $00102000;
|
|
|
|
function TCompoundButton.isChecked(): Boolean;
|
|
begin
|
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
|
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_isChecked);
|
|
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
|
Result := Boolean(vAndroidPipesComm.WaitForIntReturn());
|
|
end;
|
|
|
|
function TCompoundButton.performClick(): Boolean;
|
|
begin
|
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
|
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_performClick);
|
|
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
|
Result := Boolean(vAndroidPipesComm.WaitForIntReturn());
|
|
end;
|
|
|
|
procedure TCompoundButton.setChecked(checked: Boolean);
|
|
begin
|
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
|
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_setChecked);
|
|
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
|
vAndroidPipesComm.SendInt(Integer(checked));
|
|
vAndroidPipesComm.WaitForReturn();
|
|
end;
|
|
|
|
procedure TCompoundButton.toggle();
|
|
begin
|
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
|
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_toggle);
|
|
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
|
vAndroidPipesComm.WaitForReturn();
|
|
end;
|
|
|
|
constructor TCheckBox.Create();
|
|
begin
|
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
|
vAndroidPipesComm.SendInt(amkUI_TCheckBox_Create);
|
|
Index := vAndroidPipesComm.WaitForIntReturn();
|
|
end;
|
|
|
|
end.
|