mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-13 12:59:19 +02:00
android: Updates the bindings
git-svn-id: trunk@32105 -
This commit is contained in:
parent
78d488844a
commit
9a357e6a34
@ -116,6 +116,11 @@ type
|
|||||||
TView = class(TJavaObject)
|
TView = class(TJavaObject)
|
||||||
public
|
public
|
||||||
procedure setLayoutParams(params: TViewGroup_LayoutParams);
|
procedure setLayoutParams(params: TViewGroup_LayoutParams);
|
||||||
|
public
|
||||||
|
OnClickListener: TView_OnClickListener;
|
||||||
|
procedure setOnClickListener(ACallback: TView_OnClickListener);
|
||||||
|
procedure callOnClickListener();
|
||||||
|
public
|
||||||
procedure setVisibility(visibility: Integer);
|
procedure setVisibility(visibility: Integer);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -147,14 +152,9 @@ type
|
|||||||
TTextView = class(TView)
|
TTextView = class(TView)
|
||||||
public
|
public
|
||||||
constructor Create(); override;
|
constructor Create(); override;
|
||||||
procedure setText(AText: string);
|
|
||||||
public
|
|
||||||
OnClickListener: TView_OnClickListener;
|
|
||||||
procedure setOnClickListener(ACallback: TView_OnClickListener);
|
|
||||||
procedure callOnClickListener();
|
|
||||||
public
|
|
||||||
procedure setTextSize(unit_: Integer; size: Single);
|
|
||||||
function getText(): string;
|
function getText(): string;
|
||||||
|
procedure setText(AText: string);
|
||||||
|
procedure setTextSize(unit_: Integer; size: Single);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TEditText = class(TTextView)
|
TEditText = class(TTextView)
|
||||||
@ -249,12 +249,19 @@ type
|
|||||||
const
|
const
|
||||||
{ Constants }
|
{ Constants }
|
||||||
{ TDisplayMetrics }
|
{ TDisplayMetrics }
|
||||||
|
DENSITY_DEFAULT = $000000a0;
|
||||||
|
DENSITY_HIGH = $000000f0;
|
||||||
|
DENSITY_LOW = $00000078;
|
||||||
|
DENSITY_MEDIUM = $000000a0;
|
||||||
|
DENSITY_TV = $000000d5;
|
||||||
|
DENSITY_XHIGH = $00000140;
|
||||||
{ TDialogInterface }
|
{ TDialogInterface }
|
||||||
BUTTON_NEGATIVE = $fffffffe;
|
BUTTON_NEGATIVE = -2;
|
||||||
BUTTON_NEUTRAL = $fffffffd;
|
BUTTON_NEUTRAL = -3;
|
||||||
BUTTON_POSITIVE = $ffffffff;
|
BUTTON_POSITIVE = -1;
|
||||||
{ TActivity }
|
{ TActivity }
|
||||||
{ TDisplay }
|
{ TDisplay }
|
||||||
|
DEFAULT_DISPLAY = 0;
|
||||||
{ TWindowManager }
|
{ TWindowManager }
|
||||||
{ TDialog }
|
{ TDialog }
|
||||||
{ TAlertDialog }
|
{ TAlertDialog }
|
||||||
@ -263,16 +270,63 @@ const
|
|||||||
THEME_TRADITIONAL = $00000001;
|
THEME_TRADITIONAL = $00000001;
|
||||||
{ TAlertDialog_Builder }
|
{ TAlertDialog_Builder }
|
||||||
{ TViewGroup_LayoutParams }
|
{ TViewGroup_LayoutParams }
|
||||||
FILL_PARENT = $FFFFFFFF;
|
FILL_PARENT = -1;
|
||||||
MATCH_PARENT = $FFFFFFFF;
|
MATCH_PARENT = -1;
|
||||||
WRAP_CONTENT = $FFFFFFFE;
|
WRAP_CONTENT = -2;
|
||||||
{ TView }
|
{ TView }
|
||||||
VISIBLE = 0;
|
DRAWING_CACHE_QUALITY_AUTO = 0;
|
||||||
INVISIBLE = 4;
|
DRAWING_CACHE_QUALITY_HIGH = $00100000;
|
||||||
|
DRAWING_CACHE_QUALITY_LOW = $00080000;
|
||||||
|
FOCUSABLES_ALL = $00000000;
|
||||||
|
FOCUSABLES_TOUCH_MODE = 1;
|
||||||
|
FOCUS_BACKWARD = 1;
|
||||||
|
FOCUS_DOWN = $00000082;
|
||||||
|
FOCUS_FORWARD = 2;
|
||||||
|
FOCUS_LEFT = $00000011;
|
||||||
|
FOCUS_RIGHT = $00000042;
|
||||||
|
FOCUS_UP = $00000021;
|
||||||
GONE = 8;
|
GONE = 8;
|
||||||
|
HAPTIC_FEEDBACK_ENABLED = $10000000;
|
||||||
|
INVISIBLE = 4;
|
||||||
|
KEEP_SCREEN_ON = $04000000;
|
||||||
|
LAYER_TYPE_HARDWARE = 2;
|
||||||
|
LAYER_TYPE_NONE = 0;
|
||||||
|
LAYER_TYPE_SOFTWARE = 1;
|
||||||
|
MEASURED_HEIGHT_STATE_SHIFT = $00000010;
|
||||||
|
MEASURED_SIZE_MASK = $00ffffff;
|
||||||
|
MEASURED_STATE_MASK = $ff000000;
|
||||||
|
MEASURED_STATE_TOO_SMALL = $01000000;
|
||||||
|
NO_ID = -1;
|
||||||
|
OVER_SCROLL_ALWAYS = 0;
|
||||||
|
OVER_SCROLL_IF_CONTENT_SCROLLS = 1;
|
||||||
|
OVER_SCROLL_NEVER = 2;
|
||||||
|
SCROLLBARS_INSIDE_INSET = $01000000;
|
||||||
|
SCROLLBARS_INSIDE_OVERLAY = 0;
|
||||||
|
SCROLLBARS_OUTSIDE_INSET = $03000000;
|
||||||
|
SCROLLBARS_OUTSIDE_OVERLAY = $02000000;
|
||||||
|
SCROLLBAR_POSITION_DEFAULT = 0;
|
||||||
|
SCROLLBAR_POSITION_LEFT = 1;
|
||||||
|
SCROLLBAR_POSITION_RIGHT = 2;
|
||||||
|
SOUND_EFFECTS_ENABLED = $08000000;
|
||||||
|
STATUS_BAR_HIDDEN = 1;
|
||||||
|
STATUS_BAR_VISIBLE = 0;
|
||||||
|
VIEW_LOG_TAG = 'View';
|
||||||
|
VISIBLE = 0;
|
||||||
{ TViewGroup }
|
{ TViewGroup }
|
||||||
|
CLIP_TO_PADDING_MASK = $00000022;
|
||||||
|
FOCUS_AFTER_DESCENDANTS = $00040000;
|
||||||
|
FOCUS_BEFORE_DESCENDANTS = $00020000;
|
||||||
|
FOCUS_BLOCK_DESCENDANTS = $00060000;
|
||||||
|
PERSISTENT_ALL_CACHES = 3;
|
||||||
|
PERSISTENT_ANIMATION_CACHE = 1;
|
||||||
|
PERSISTENT_NO_CACHE = 0;
|
||||||
|
PERSISTENT_SCROLLING_CACHE = 2;
|
||||||
{ TLinearLayout }
|
{ TLinearLayout }
|
||||||
HORIZONTAL = 0;
|
HORIZONTAL = 0;
|
||||||
|
SHOW_DIVIDER_BEGINNING = 1;
|
||||||
|
SHOW_DIVIDER_END = 8;
|
||||||
|
SHOW_DIVIDER_MIDDLE = 2;
|
||||||
|
SHOW_DIVIDER_NONE = 0;
|
||||||
VERTICAL = 1;
|
VERTICAL = 1;
|
||||||
{ TAbsoluteLayout }
|
{ TAbsoluteLayout }
|
||||||
{ TAbsoluteLayout_LayoutParams }
|
{ TAbsoluteLayout_LayoutParams }
|
||||||
@ -366,7 +420,10 @@ const
|
|||||||
amkUI_TViewGroup_LayoutParams_Create_0 = $00109000;
|
amkUI_TViewGroup_LayoutParams_Create_0 = $00109000;
|
||||||
// TView
|
// TView
|
||||||
amkUI_TView_setLayoutParams_0 = $0010A000;
|
amkUI_TView_setLayoutParams_0 = $0010A000;
|
||||||
amkUI_TView_setVisibility_1 = $0010A001;
|
amkUI_TView_setOnClickListener_1 = $0010A001;
|
||||||
|
amkUI_TView_OnClickListener_Start_2 = $0010A002;
|
||||||
|
amkUI_TView_OnClickListener_Finished_3 = $0010A003;
|
||||||
|
amkUI_TView_setVisibility_4 = $0010A004;
|
||||||
// TViewGroup
|
// TViewGroup
|
||||||
amkUI_TViewGroup_addView_0 = $0010B000;
|
amkUI_TViewGroup_addView_0 = $0010B000;
|
||||||
amkUI_TViewGroup_addView_1 = $0010B001;
|
amkUI_TViewGroup_addView_1 = $0010B001;
|
||||||
@ -382,12 +439,9 @@ const
|
|||||||
amkUI_TAbsoluteLayout_LayoutParams_Create_0 = $0010E000;
|
amkUI_TAbsoluteLayout_LayoutParams_Create_0 = $0010E000;
|
||||||
// TTextView
|
// TTextView
|
||||||
amkUI_TTextView_Create_0 = $0010F000;
|
amkUI_TTextView_Create_0 = $0010F000;
|
||||||
amkUI_TTextView_setText_1 = $0010F001;
|
amkUI_TTextView_getText_1 = $0010F001;
|
||||||
amkUI_TTextView_setOnClickListener_2 = $0010F002;
|
amkUI_TTextView_setText_2 = $0010F002;
|
||||||
amkUI_TTextView_OnClickListener_Start_3 = $0010F003;
|
amkUI_TTextView_setTextSize_3 = $0010F003;
|
||||||
amkUI_TTextView_OnClickListener_Finished_4 = $0010F004;
|
|
||||||
amkUI_TTextView_setTextSize_5 = $0010F005;
|
|
||||||
amkUI_TTextView_getText_6 = $0010F006;
|
|
||||||
// TEditText
|
// TEditText
|
||||||
amkUI_TEditText_Create_0 = $00110000;
|
amkUI_TEditText_Create_0 = $00110000;
|
||||||
// TButton
|
// TButton
|
||||||
@ -668,10 +722,24 @@ begin
|
|||||||
vAndroidPipesComm.WaitForReturn();
|
vAndroidPipesComm.WaitForReturn();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TView.setOnClickListener(ACallback: TView_OnClickListener);
|
||||||
|
begin
|
||||||
|
OnClickListener := ACallback;
|
||||||
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||||
|
vAndroidPipesComm.SendInt(amkUI_TView_setOnClickListener_1);
|
||||||
|
vAndroidPipesComm.SendInt(Index); // Self, Java Index
|
||||||
|
vAndroidPipesComm.SendInt(PtrInt(Self)); // Self, Pascal pointer
|
||||||
|
vAndroidPipesComm.WaitForReturn();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TView.callOnClickListener();
|
||||||
|
begin
|
||||||
|
if Assigned(OnClickListener) then OnClickListener();
|
||||||
|
end;
|
||||||
procedure TView.setVisibility(visibility: Integer);
|
procedure TView.setVisibility(visibility: Integer);
|
||||||
begin
|
begin
|
||||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||||
vAndroidPipesComm.SendInt(amkUI_TView_setVisibility_1);
|
vAndroidPipesComm.SendInt(amkUI_TView_setVisibility_4);
|
||||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||||
vAndroidPipesComm.SendInt(Integer(visibility));
|
vAndroidPipesComm.SendInt(Integer(visibility));
|
||||||
vAndroidPipesComm.WaitForReturn();
|
vAndroidPipesComm.WaitForReturn();
|
||||||
@ -765,51 +833,37 @@ begin
|
|||||||
vAndroidPipesComm.SendInt(amkUI_TTextView_Create_0);
|
vAndroidPipesComm.SendInt(amkUI_TTextView_Create_0);
|
||||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||||
end;
|
end;
|
||||||
|
function TTextView.getText(): string;
|
||||||
|
begin
|
||||||
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||||
|
vAndroidPipesComm.SendInt(amkUI_TTextView_getText_1);
|
||||||
|
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||||
|
Result := vAndroidPipesComm.WaitForStringReturn();
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTextView.setText(AText: string);
|
procedure TTextView.setText(AText: string);
|
||||||
var
|
var
|
||||||
lString_1: TString;
|
lString_1: TString;
|
||||||
begin
|
begin
|
||||||
lString_1 := TString.Create(AText);
|
lString_1 := TString.Create(AText);
|
||||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||||
vAndroidPipesComm.SendInt(amkUI_TTextView_setText_1);
|
vAndroidPipesComm.SendInt(amkUI_TTextView_setText_2);
|
||||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||||
vAndroidPipesComm.SendInt(lString_1.Index); // text
|
vAndroidPipesComm.SendInt(lString_1.Index); // text
|
||||||
vAndroidPipesComm.WaitForReturn();
|
vAndroidPipesComm.WaitForReturn();
|
||||||
lString_1.Free;
|
lString_1.Free;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TTextView.setOnClickListener(ACallback: TView_OnClickListener);
|
|
||||||
begin
|
|
||||||
OnClickListener := ACallback;
|
|
||||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
|
||||||
vAndroidPipesComm.SendInt(amkUI_TTextView_setOnClickListener_2);
|
|
||||||
vAndroidPipesComm.SendInt(Index); // Self, Java Index
|
|
||||||
vAndroidPipesComm.SendInt(PtrInt(Self)); // Self, Pascal pointer
|
|
||||||
vAndroidPipesComm.WaitForReturn();
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TTextView.callOnClickListener();
|
|
||||||
begin
|
|
||||||
if Assigned(OnClickListener) then OnClickListener();
|
|
||||||
end;
|
|
||||||
procedure TTextView.setTextSize(unit_: Integer; size: Single);
|
procedure TTextView.setTextSize(unit_: Integer; size: Single);
|
||||||
begin
|
begin
|
||||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||||
vAndroidPipesComm.SendInt(amkUI_TTextView_setTextSize_5);
|
vAndroidPipesComm.SendInt(amkUI_TTextView_setTextSize_3);
|
||||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||||
vAndroidPipesComm.SendInt(Integer(unit_));
|
vAndroidPipesComm.SendInt(Integer(unit_));
|
||||||
vAndroidPipesComm.SendInt(Integer(size));
|
vAndroidPipesComm.SendInt(Integer(size));
|
||||||
vAndroidPipesComm.WaitForReturn();
|
vAndroidPipesComm.WaitForReturn();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TTextView.getText(): string;
|
|
||||||
begin
|
|
||||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
|
||||||
vAndroidPipesComm.SendInt(amkUI_TTextView_getText_6);
|
|
||||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
|
||||||
Result := vAndroidPipesComm.WaitForStringReturn();
|
|
||||||
end;
|
|
||||||
|
|
||||||
constructor TEditText.Create();
|
constructor TEditText.Create();
|
||||||
begin
|
begin
|
||||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||||
@ -1034,11 +1088,11 @@ begin
|
|||||||
TAlertDialog(lPascalPointer).callButton();
|
TAlertDialog(lPascalPointer).callButton();
|
||||||
vAndroidPipesComm.SendMessage(amkUICommand, amkUI_TAlertDialog_Button_Finished_2);
|
vAndroidPipesComm.SendMessage(amkUICommand, amkUI_TAlertDialog_Button_Finished_2);
|
||||||
end;
|
end;
|
||||||
amkUI_TTextView_OnClickListener_Start_3:
|
amkUI_TView_OnClickListener_Start_2:
|
||||||
begin
|
begin
|
||||||
lPascalPointer := vAndroidPipesComm.ReadInt();
|
lPascalPointer := vAndroidPipesComm.ReadInt();
|
||||||
TTextView(lPascalPointer).callOnClickListener();
|
TView(lPascalPointer).callOnClickListener();
|
||||||
vAndroidPipesComm.SendMessage(amkUICommand, amkUI_TTextView_OnClickListener_Finished_4);
|
vAndroidPipesComm.SendMessage(amkUICommand, amkUI_TView_OnClickListener_Finished_3);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user