mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-27 20:00:47 +02:00
android: Adds title routines, updates bindings
git-svn-id: trunk@32032 -
This commit is contained in:
parent
9faa8a5364
commit
41360bd47d
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -5087,6 +5087,7 @@ lcl/interfaces/android/androidint.pas svneol=native#text/pascal
|
||||
lcl/interfaces/android/androidobject.inc svneol=native#text/pascal
|
||||
lcl/interfaces/android/androidpipescomm.pas svneol=native#text/pascal
|
||||
lcl/interfaces/android/androidprivate.pas svneol=native#text/pascal
|
||||
lcl/interfaces/android/androidstringlists.pas svneol=native#text/pascal
|
||||
lcl/interfaces/android/androidtimer.pas svneol=native#text/pascal
|
||||
lcl/interfaces/android/androidwsfactory.pas svneol=native#text/pascal
|
||||
lcl/interfaces/android/interfaces.pp svneol=native#text/plain
|
||||
|
@ -7,6 +7,7 @@ uses
|
||||
androidwsforms,
|
||||
androidwsstdctrls,
|
||||
androidprivate,
|
||||
androidstringlists,
|
||||
interfaces;
|
||||
implementation
|
||||
end.
|
||||
|
@ -11,6 +11,7 @@ type
|
||||
{ Forward declaration of classes }
|
||||
|
||||
TDisplayMetrics = class;
|
||||
TActivity = class;
|
||||
TDisplay = class;
|
||||
TWindowManager = class;
|
||||
TViewGroup_LayoutParams = class;
|
||||
@ -56,6 +57,12 @@ type
|
||||
function ydpi(): Single;
|
||||
end;
|
||||
|
||||
TActivity = class(TJavaObject)
|
||||
public
|
||||
procedure setTitle(title: string);
|
||||
function getTitle(): string;
|
||||
end;
|
||||
|
||||
TDisplay = class(TJavaObject)
|
||||
public
|
||||
procedure getMetrics(outMetrics: TDisplayMetrics);
|
||||
@ -79,7 +86,11 @@ type
|
||||
|
||||
TViewGroup = class(TView)
|
||||
public
|
||||
procedure addView(child: TView; params: TViewGroup_LayoutParams);
|
||||
procedure addView(child: TView; aindex: Integer; params: TViewGroup_LayoutParams); overload;
|
||||
procedure addView(child: TView; params: TViewGroup_LayoutParams); overload;
|
||||
procedure addView(child: TView; aindex: Integer); overload;
|
||||
procedure addView(child: TView); overload;
|
||||
procedure addView(child: TView; width: Integer; height: Integer); overload;
|
||||
end;
|
||||
|
||||
TLinearLayout = class(TViewGroup)
|
||||
@ -203,6 +214,7 @@ type
|
||||
const
|
||||
{ Constants }
|
||||
{ TDisplayMetrics }
|
||||
{ TActivity }
|
||||
{ TDisplay }
|
||||
{ TWindowManager }
|
||||
{ TViewGroup_LayoutParams }
|
||||
@ -264,87 +276,97 @@ const
|
||||
|
||||
function HandleMessage(AFirstInt: Integer): Boolean;
|
||||
|
||||
var
|
||||
activity: TActivity;
|
||||
|
||||
implementation
|
||||
|
||||
const
|
||||
{ IDs }
|
||||
|
||||
// TDisplayMetrics
|
||||
amkUI_TDisplayMetrics_Create = $00101000;
|
||||
amkUI_TDisplayMetrics_density = $00101001;
|
||||
amkUI_TDisplayMetrics_densityDpi = $00101002;
|
||||
amkUI_TDisplayMetrics_heightPixels = $00101003;
|
||||
amkUI_TDisplayMetrics_scaledDensity = $00101004;
|
||||
amkUI_TDisplayMetrics_widthPixels = $00101005;
|
||||
amkUI_TDisplayMetrics_xdpi = $00101006;
|
||||
amkUI_TDisplayMetrics_ydpi = $00101007;
|
||||
amkUI_TDisplayMetrics_Create_0 = $00101000;
|
||||
amkUI_TDisplayMetrics_density_1 = $00101001;
|
||||
amkUI_TDisplayMetrics_densityDpi_2 = $00101002;
|
||||
amkUI_TDisplayMetrics_heightPixels_3 = $00101003;
|
||||
amkUI_TDisplayMetrics_scaledDensity_4 = $00101004;
|
||||
amkUI_TDisplayMetrics_widthPixels_5 = $00101005;
|
||||
amkUI_TDisplayMetrics_xdpi_6 = $00101006;
|
||||
amkUI_TDisplayMetrics_ydpi_7 = $00101007;
|
||||
// TActivity
|
||||
amkUI_TActivity_setTitle_0 = $00102000;
|
||||
amkUI_TActivity_getTitle_1 = $00102001;
|
||||
// TDisplay
|
||||
amkUI_TDisplay_getMetrics = $00102000;
|
||||
amkUI_TDisplay_getMetrics_0 = $00103000;
|
||||
// TWindowManager
|
||||
amkUI_TWindowManager_getDefaultDisplay = $00103000;
|
||||
amkUI_TWindowManager_getDefaultDisplay_0 = $00104000;
|
||||
// TViewGroup_LayoutParams
|
||||
amkUI_TViewGroup_LayoutParams_Create = $00104000;
|
||||
amkUI_TViewGroup_LayoutParams_Create_0 = $00105000;
|
||||
// TView
|
||||
amkUI_TView_setLayoutParams = $00105000;
|
||||
amkUI_TView_setVisibility = $00105001;
|
||||
amkUI_TView_setLayoutParams_0 = $00106000;
|
||||
amkUI_TView_setVisibility_1 = $00106001;
|
||||
// TViewGroup
|
||||
amkUI_TViewGroup_addView = $00106000;
|
||||
amkUI_TViewGroup_addView_0 = $00107000;
|
||||
amkUI_TViewGroup_addView_1 = $00107001;
|
||||
amkUI_TViewGroup_addView_2 = $00107002;
|
||||
amkUI_TViewGroup_addView_3 = $00107003;
|
||||
amkUI_TViewGroup_addView_4 = $00107004;
|
||||
// TLinearLayout
|
||||
amkUI_TLinearLayout_Create = $00107000;
|
||||
amkUI_TLinearLayout_setOrientation = $00107001;
|
||||
amkUI_TLinearLayout_Create_0 = $00108000;
|
||||
amkUI_TLinearLayout_setOrientation_1 = $00108001;
|
||||
// TAbsoluteLayout
|
||||
amkUI_TAbsoluteLayout_Create = $00108000;
|
||||
amkUI_TAbsoluteLayout_Create_0 = $00109000;
|
||||
// TAbsoluteLayout_LayoutParams
|
||||
amkUI_TAbsoluteLayout_LayoutParams_Create = $00109000;
|
||||
amkUI_TAbsoluteLayout_LayoutParams_Create_0 = $0010A000;
|
||||
// TTextView
|
||||
amkUI_TTextView_Create = $0010A000;
|
||||
amkUI_TTextView_setText = $0010A001;
|
||||
amkUI_TTextView_setOnClickListener = $0010A002;
|
||||
amkUI_TTextView_OnClickListener_Start = $0010A003;
|
||||
amkUI_TTextView_OnClickListener_Finished = $0010A004;
|
||||
amkUI_TTextView_setTextSize = $0010A005;
|
||||
amkUI_TTextView_getText = $0010A006;
|
||||
amkUI_TTextView_Create_0 = $0010B000;
|
||||
amkUI_TTextView_setText_1 = $0010B001;
|
||||
amkUI_TTextView_setOnClickListener_2 = $0010B002;
|
||||
amkUI_TTextView_OnClickListener_Start_3 = $0010B003;
|
||||
amkUI_TTextView_OnClickListener_Finished_4 = $0010B004;
|
||||
amkUI_TTextView_setTextSize_5 = $0010B005;
|
||||
amkUI_TTextView_getText_6 = $0010B006;
|
||||
// TEditText
|
||||
amkUI_TEditText_Create = $0010B000;
|
||||
amkUI_TEditText_setText = $0010B001;
|
||||
amkUI_TEditText_Create_0 = $0010C000;
|
||||
amkUI_TEditText_setText_1 = $0010C001;
|
||||
// TButton
|
||||
amkUI_TButton_Create = $0010C000;
|
||||
amkUI_TButton_setText = $0010C001;
|
||||
amkUI_TButton_Create_0 = $0010D000;
|
||||
amkUI_TButton_setText_1 = $0010D001;
|
||||
// TFrameLayout
|
||||
// TTimePicker
|
||||
amkUI_TTimePicker_Create = $0010E000;
|
||||
amkUI_TTimePicker_getCurrentHour = $0010E001;
|
||||
amkUI_TTimePicker_setCurrentHour = $0010E002;
|
||||
amkUI_TTimePicker_getCurrentMinute = $0010E003;
|
||||
amkUI_TTimePicker_setCurrentMinute = $0010E004;
|
||||
amkUI_TTimePicker_is24HourView = $0010E005;
|
||||
amkUI_TTimePicker_setIs24HourView = $0010E006;
|
||||
amkUI_TTimePicker_Create_0 = $0010F000;
|
||||
amkUI_TTimePicker_getCurrentHour_1 = $0010F001;
|
||||
amkUI_TTimePicker_setCurrentHour_2 = $0010F002;
|
||||
amkUI_TTimePicker_getCurrentMinute_3 = $0010F003;
|
||||
amkUI_TTimePicker_setCurrentMinute_4 = $0010F004;
|
||||
amkUI_TTimePicker_is24HourView_5 = $0010F005;
|
||||
amkUI_TTimePicker_setIs24HourView_6 = $0010F006;
|
||||
// TScrollView
|
||||
amkUI_TScrollView_Create = $0010F000;
|
||||
amkUI_TScrollView_Create_0 = $00110000;
|
||||
// TCompoundButton
|
||||
amkUI_TCompoundButton_isChecked = $00110000;
|
||||
amkUI_TCompoundButton_performClick = $00110001;
|
||||
amkUI_TCompoundButton_setChecked = $00110002;
|
||||
amkUI_TCompoundButton_toggle = $00110003;
|
||||
amkUI_TCompoundButton_isChecked_0 = $00111000;
|
||||
amkUI_TCompoundButton_performClick_1 = $00111001;
|
||||
amkUI_TCompoundButton_setChecked_2 = $00111002;
|
||||
amkUI_TCompoundButton_toggle_3 = $00111003;
|
||||
// TCheckBox
|
||||
amkUI_TCheckBox_Create = $00111000;
|
||||
amkUI_TCheckBox_Create_0 = $00112000;
|
||||
// TAdapterView
|
||||
// TAbsSpinner
|
||||
amkUI_TAbsSpinner_getCount = $00113000;
|
||||
amkUI_TAbsSpinner_setAdapter = $00113001;
|
||||
amkUI_TAbsSpinner_getCount_0 = $00114000;
|
||||
amkUI_TAbsSpinner_setAdapter_1 = $00114001;
|
||||
// TSpinner
|
||||
amkUI_TSpinner_Create = $00114000;
|
||||
amkUI_TSpinner_Create_0 = $00115000;
|
||||
// TFilterable
|
||||
// TAdapter
|
||||
// TListAdapter
|
||||
// TSpinnerAdapter
|
||||
// TBaseAdapter
|
||||
// TArrayAdapter_String_
|
||||
amkUI_TArrayAdapter_String__Create = $0011A000;
|
||||
amkUI_TArrayAdapter_String__add = $0011A001;
|
||||
amkUI_TArrayAdapter_String__clear = $0011A002;
|
||||
amkUI_TArrayAdapter_String__insert = $0011A003;
|
||||
amkUI_TArrayAdapter_String__remove = $0011A004;
|
||||
amkUI_TArrayAdapter_String__Create_0 = $0011B000;
|
||||
amkUI_TArrayAdapter_String__add_1 = $0011B001;
|
||||
amkUI_TArrayAdapter_String__clear_2 = $0011B002;
|
||||
amkUI_TArrayAdapter_String__insert_3 = $0011B003;
|
||||
amkUI_TArrayAdapter_String__remove_4 = $0011B004;
|
||||
// Tlayout
|
||||
|
||||
{ Implementation of Classes }
|
||||
@ -352,13 +374,13 @@ const
|
||||
constructor TDisplayMetrics.Create();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_Create_0);
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
function TDisplayMetrics.density(): Single;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_density);
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_density_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Single(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -366,7 +388,7 @@ end;
|
||||
function TDisplayMetrics.densityDpi(): Integer;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_densityDpi);
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_densityDpi_2);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Integer(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -374,7 +396,7 @@ end;
|
||||
function TDisplayMetrics.heightPixels(): Integer;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_heightPixels);
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_heightPixels_3);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Integer(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -382,7 +404,7 @@ end;
|
||||
function TDisplayMetrics.scaledDensity(): Single;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_scaledDensity);
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_scaledDensity_4);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Single(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -390,7 +412,7 @@ end;
|
||||
function TDisplayMetrics.widthPixels(): Integer;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_widthPixels);
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_widthPixels_5);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Integer(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -398,7 +420,7 @@ end;
|
||||
function TDisplayMetrics.xdpi(): Single;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_xdpi);
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_xdpi_6);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Single(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -406,15 +428,34 @@ end;
|
||||
function TDisplayMetrics.ydpi(): Single;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_ydpi);
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplayMetrics_ydpi_7);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Single(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
|
||||
procedure TActivity.setTitle(title: string);
|
||||
var
|
||||
lString_1: TString;
|
||||
begin
|
||||
lString_1 := TString.Create(title);
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TActivity_setTitle_0);
|
||||
vAndroidPipesComm.SendInt(lString_1.Index); // text
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
lString_1.Free;
|
||||
end;
|
||||
|
||||
function TActivity.getTitle(): string;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TActivity_getTitle_1);
|
||||
Result := vAndroidPipesComm.WaitForStringReturn();
|
||||
end;
|
||||
|
||||
procedure TDisplay.getMetrics(outMetrics: TDisplayMetrics);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplay_getMetrics);
|
||||
vAndroidPipesComm.SendInt(amkUI_TDisplay_getMetrics_0);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(outMetrics.Index));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -423,7 +464,7 @@ end;
|
||||
function TWindowManager.getDefaultDisplay(): TDisplay;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TWindowManager_getDefaultDisplay);
|
||||
vAndroidPipesComm.SendInt(amkUI_TWindowManager_getDefaultDisplay_0);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := TDisplay(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -431,7 +472,7 @@ end;
|
||||
constructor TViewGroup_LayoutParams.Create(width: Integer; height: Integer);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TViewGroup_LayoutParams_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TViewGroup_LayoutParams_Create_0);
|
||||
vAndroidPipesComm.SendInt(Integer(width));
|
||||
vAndroidPipesComm.SendInt(Integer(height));
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
@ -439,7 +480,7 @@ end;
|
||||
procedure TView.setLayoutParams(params: TViewGroup_LayoutParams);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TView_setLayoutParams);
|
||||
vAndroidPipesComm.SendInt(amkUI_TView_setLayoutParams_0);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(params.Index));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -448,32 +489,73 @@ end;
|
||||
procedure TView.setVisibility(visibility: Integer);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TView_setVisibility);
|
||||
vAndroidPipesComm.SendInt(amkUI_TView_setVisibility_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(visibility));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
end;
|
||||
|
||||
procedure TViewGroup.addView(child: TView; aindex: Integer; params: TViewGroup_LayoutParams);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TViewGroup_addView_0);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(child.Index));
|
||||
vAndroidPipesComm.SendInt(Integer(aindex));
|
||||
vAndroidPipesComm.SendInt(Integer(params.Index));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
end;
|
||||
|
||||
procedure TViewGroup.addView(child: TView; params: TViewGroup_LayoutParams);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TViewGroup_addView);
|
||||
vAndroidPipesComm.SendInt(amkUI_TViewGroup_addView_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(child.Index));
|
||||
vAndroidPipesComm.SendInt(Integer(params.Index));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
end;
|
||||
|
||||
procedure TViewGroup.addView(child: TView; aindex: Integer);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TViewGroup_addView_2);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(child.Index));
|
||||
vAndroidPipesComm.SendInt(Integer(aindex));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
end;
|
||||
|
||||
procedure TViewGroup.addView(child: TView);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TViewGroup_addView_3);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(child.Index));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
end;
|
||||
|
||||
procedure TViewGroup.addView(child: TView; width: Integer; height: Integer);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TViewGroup_addView_4);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(child.Index));
|
||||
vAndroidPipesComm.SendInt(Integer(width));
|
||||
vAndroidPipesComm.SendInt(Integer(height));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
end;
|
||||
|
||||
constructor TLinearLayout.Create();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TLinearLayout_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TLinearLayout_Create_0);
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
procedure TLinearLayout.setOrientation(orientation: Integer);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TLinearLayout_setOrientation);
|
||||
vAndroidPipesComm.SendInt(amkUI_TLinearLayout_setOrientation_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(orientation));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -482,13 +564,13 @@ end;
|
||||
constructor TAbsoluteLayout.Create();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TAbsoluteLayout_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TAbsoluteLayout_Create_0);
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
constructor TAbsoluteLayout_LayoutParams.Create(param_width: Integer; param_height: Integer; param_x: Integer; param_y: Integer);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TAbsoluteLayout_LayoutParams_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TAbsoluteLayout_LayoutParams_Create_0);
|
||||
vAndroidPipesComm.SendInt(Integer(param_width));
|
||||
vAndroidPipesComm.SendInt(Integer(param_height));
|
||||
vAndroidPipesComm.SendInt(Integer(param_x));
|
||||
@ -498,7 +580,7 @@ end;
|
||||
constructor TTextView.Create();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTextView_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTextView_Create_0);
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
procedure TTextView.setText(AText: string);
|
||||
@ -507,7 +589,7 @@ var
|
||||
begin
|
||||
lString_1 := TString.Create(AText);
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTextView_setText);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTextView_setText_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(lString_1.Index); // text
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -518,7 +600,7 @@ procedure TTextView.setOnClickListener(ACallback: TOnClickListener);
|
||||
begin
|
||||
OnClickListener := ACallback;
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTextView_setOnClickListener);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTextView_setOnClickListener_2);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Index
|
||||
vAndroidPipesComm.SendInt(PtrInt(Self)); // Self, Pascal pointer
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -531,7 +613,7 @@ end;
|
||||
procedure TTextView.setTextSize(unit_: Integer; size: Single);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTextView_setTextSize);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTextView_setTextSize_5);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(unit_));
|
||||
vAndroidPipesComm.SendInt(Integer(size));
|
||||
@ -541,7 +623,7 @@ end;
|
||||
function TTextView.getText(): string;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTextView_getText);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTextView_getText_6);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := vAndroidPipesComm.WaitForStringReturn();
|
||||
end;
|
||||
@ -549,7 +631,7 @@ end;
|
||||
constructor TEditText.Create();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TEditText_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TEditText_Create_0);
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
procedure TEditText.setText(AText: string);
|
||||
@ -558,7 +640,7 @@ var
|
||||
begin
|
||||
lString_1 := TString.Create(AText);
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TEditText_setText);
|
||||
vAndroidPipesComm.SendInt(amkUI_TEditText_setText_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(lString_1.Index); // text
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -568,7 +650,7 @@ end;
|
||||
constructor TButton.Create();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TButton_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TButton_Create_0);
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
procedure TButton.setText(AText: string);
|
||||
@ -577,7 +659,7 @@ var
|
||||
begin
|
||||
lString_1 := TString.Create(AText);
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TButton_setText);
|
||||
vAndroidPipesComm.SendInt(amkUI_TButton_setText_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(lString_1.Index); // text
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -587,13 +669,13 @@ end;
|
||||
constructor TTimePicker.Create();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_Create_0);
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
function TTimePicker.getCurrentHour(): Integer;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_getCurrentHour);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_getCurrentHour_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Integer(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -601,7 +683,7 @@ end;
|
||||
procedure TTimePicker.setCurrentHour(currentHour: Integer);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_setCurrentHour);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_setCurrentHour_2);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(currentHour));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -610,7 +692,7 @@ end;
|
||||
function TTimePicker.getCurrentMinute(): Integer;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_getCurrentMinute);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_getCurrentMinute_3);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Integer(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -618,7 +700,7 @@ end;
|
||||
procedure TTimePicker.setCurrentMinute(currentMinute: Integer);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_setCurrentMinute);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_setCurrentMinute_4);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(currentMinute));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -627,7 +709,7 @@ end;
|
||||
function TTimePicker.is24HourView(): Boolean;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_is24HourView);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_is24HourView_5);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Boolean(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -635,7 +717,7 @@ end;
|
||||
procedure TTimePicker.setIs24HourView(AIs24HourView: Boolean);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_setIs24HourView);
|
||||
vAndroidPipesComm.SendInt(amkUI_TTimePicker_setIs24HourView_6);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(AIs24HourView));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -644,13 +726,13 @@ end;
|
||||
constructor TScrollView.Create();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TScrollView_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TScrollView_Create_0);
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
function TCompoundButton.isChecked(): Boolean;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_isChecked);
|
||||
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_isChecked_0);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Boolean(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -658,7 +740,7 @@ end;
|
||||
function TCompoundButton.performClick(): Boolean;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_performClick);
|
||||
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_performClick_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Boolean(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -666,7 +748,7 @@ end;
|
||||
procedure TCompoundButton.setChecked(checked: Boolean);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_setChecked);
|
||||
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_setChecked_2);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(checked));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -675,7 +757,7 @@ end;
|
||||
procedure TCompoundButton.toggle();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_toggle);
|
||||
vAndroidPipesComm.SendInt(amkUI_TCompoundButton_toggle_3);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
end;
|
||||
@ -683,13 +765,13 @@ end;
|
||||
constructor TCheckBox.Create();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TCheckBox_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TCheckBox_Create_0);
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
function TAbsSpinner.getCount(): Integer;
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TAbsSpinner_getCount);
|
||||
vAndroidPipesComm.SendInt(amkUI_TAbsSpinner_getCount_0);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
Result := Integer(vAndroidPipesComm.WaitForIntReturn());
|
||||
end;
|
||||
@ -697,7 +779,7 @@ end;
|
||||
procedure TAbsSpinner.setAdapter(adapter: TSpinnerAdapter);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TAbsSpinner_setAdapter);
|
||||
vAndroidPipesComm.SendInt(amkUI_TAbsSpinner_setAdapter_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(Integer(adapter.Index));
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -706,13 +788,13 @@ end;
|
||||
constructor TSpinner.Create();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TSpinner_Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TSpinner_Create_0);
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
constructor TArrayAdapter_String_.Create(textViewResourceId: Integer);
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TArrayAdapter_String__Create);
|
||||
vAndroidPipesComm.SendInt(amkUI_TArrayAdapter_String__Create_0);
|
||||
vAndroidPipesComm.SendInt(Integer(textViewResourceId));
|
||||
Index := vAndroidPipesComm.WaitForIntReturn();
|
||||
end;
|
||||
@ -722,7 +804,7 @@ var
|
||||
begin
|
||||
lString_1 := TString.Create(aobject);
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TArrayAdapter_String__add);
|
||||
vAndroidPipesComm.SendInt(amkUI_TArrayAdapter_String__add_1);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(lString_1.Index); // text
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -732,7 +814,7 @@ end;
|
||||
procedure TArrayAdapter_String_.clear();
|
||||
begin
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TArrayAdapter_String__clear);
|
||||
vAndroidPipesComm.SendInt(amkUI_TArrayAdapter_String__clear_2);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
end;
|
||||
@ -743,7 +825,7 @@ var
|
||||
begin
|
||||
lString_1 := TString.Create(aobject);
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TArrayAdapter_String__insert);
|
||||
vAndroidPipesComm.SendInt(amkUI_TArrayAdapter_String__insert_3);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(lString_1.Index); // text
|
||||
vAndroidPipesComm.SendInt(Integer(aindex));
|
||||
@ -757,7 +839,7 @@ var
|
||||
begin
|
||||
lString_1 := TString.Create(aobject);
|
||||
vAndroidPipesComm.SendByte(ShortInt(amkUICommand));
|
||||
vAndroidPipesComm.SendInt(amkUI_TArrayAdapter_String__remove);
|
||||
vAndroidPipesComm.SendInt(amkUI_TArrayAdapter_String__remove_4);
|
||||
vAndroidPipesComm.SendInt(Index); // Self, Java Pointer
|
||||
vAndroidPipesComm.SendInt(lString_1.Index); // text
|
||||
vAndroidPipesComm.WaitForReturn();
|
||||
@ -773,13 +855,17 @@ var
|
||||
lPascalPointer: PtrInt = -1;
|
||||
begin
|
||||
case AFirstInt of
|
||||
amkUI_TTextView_OnClickListener_Start:
|
||||
amkUI_TTextView_OnClickListener_Start_3:
|
||||
begin
|
||||
lPascalPointer := vAndroidPipesComm.ReadInt();
|
||||
TTextView(lPascalPointer).callOnClickListener();
|
||||
vAndroidPipesComm.SendMessage(amkUICommand, amkUI_TTextView_OnClickListener_Finished);
|
||||
vAndroidPipesComm.SendMessage(amkUICommand, amkUI_TTextView_OnClickListener_Finished_4);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
||||
activity := TActivity.Create;
|
||||
|
||||
end.
|
||||
|
@ -27,7 +27,7 @@ interface
|
||||
|
||||
uses
|
||||
// libs
|
||||
android_all, androidpipescomm,
|
||||
android_all, androidpipescomm, androidstringlists,
|
||||
// wdgetset
|
||||
WSLCLClasses, LCLClasses,
|
||||
// LCL + RTL
|
||||
@ -35,8 +35,6 @@ uses
|
||||
AVL_Tree, LMessages, LCLMessageGlue, stdctrls, Forms;
|
||||
|
||||
type
|
||||
TAndroidComboBoxStrings = class;
|
||||
|
||||
{ TAndroidView }
|
||||
|
||||
TAndroidView = class
|
||||
@ -120,31 +118,11 @@ type
|
||||
public
|
||||
layout: TAbsoluteLayout;
|
||||
scroller: TScrollView;
|
||||
FVertScrollable: Boolean;
|
||||
constructor Create(const AObject: TCustomForm; const AParams: TCreateParams);
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
// Now StringLists
|
||||
|
||||
{ TAndroidComboBoxStrings }
|
||||
|
||||
TAndroidComboBoxStrings = class(TStringList)
|
||||
private
|
||||
FWinControl: TWinControl;
|
||||
FOwner: TAndroidComboBox;
|
||||
protected
|
||||
procedure Put(Index: Integer; const S: string); override;
|
||||
procedure InsertItem(Index: Integer; const S: string); override;
|
||||
procedure InsertItem(Index: Integer; const S: string; O: TObject); override;
|
||||
public
|
||||
constructor Create(AWinControl: TWinControl; AOwner: TAndroidComboBox);
|
||||
procedure Assign(Source: TPersistent); override;
|
||||
procedure Clear; override;
|
||||
procedure Delete(Index: Integer); override;
|
||||
procedure Sort; override;
|
||||
procedure Exchange(AIndex1, AIndex2: Integer); override;
|
||||
public
|
||||
property Owner: TAndroidComboBox read FOwner;
|
||||
function GetText: string;
|
||||
procedure SetText(AText: string);
|
||||
end;
|
||||
|
||||
//function CheckHandle(const AWinControl: TWinControl; const AClass: TClass; const DbgText: String): Boolean;
|
||||
@ -178,80 +156,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TAndroidComboBoxStrings }
|
||||
|
||||
procedure TAndroidComboBoxStrings.Put(Index: Integer; const S: string);
|
||||
begin
|
||||
inherited Put(Index, S);
|
||||
//FOwner.BeginUpdate;
|
||||
FOwner.Put(Index, S);
|
||||
// FOwner.setItemText(Index, S);
|
||||
// FOwner.EndUpdate;
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.InsertItem(Index: Integer; const S: string);
|
||||
var
|
||||
FSavedIndex: Integer;
|
||||
FSavedText: WideString;
|
||||
begin
|
||||
inherited InsertItem(Index, S);
|
||||
{ //FOwner.BeginUpdate;
|
||||
FSavedText := FOwner.getText;
|
||||
FSavedIndex := FOwner.currentIndex;}
|
||||
FOwner.insertItem(Index, S);
|
||||
{ if FOwner.getEditable then
|
||||
begin
|
||||
if (FSavedIndex <> FOwner.currentIndex) then
|
||||
FOwner.setCurrentIndex(FSavedIndex);
|
||||
FOwner.setText(FSavedText);
|
||||
end;
|
||||
FOwner.EndUpdate;}
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.InsertItem(Index: Integer; const S: string;
|
||||
O: TObject);
|
||||
begin
|
||||
inherited InsertItem(Index, S, O);
|
||||
end;
|
||||
|
||||
constructor TAndroidComboBoxStrings.Create(AWinControl: TWinControl;
|
||||
AOwner: TAndroidComboBox);
|
||||
begin
|
||||
inherited Create;
|
||||
FWinControl := AWinControl;
|
||||
FOwner := AOwner;
|
||||
{$ifdef LCL_ANDROID_STDCTRLS_VERBOSE}
|
||||
vAndroidPipesComm.Log(Format('[TAndroidComboBox.Clear] AWinControl=%P AOwner=%P', [@AWinControl, @AOwner]));
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.Assign(Source: TPersistent);
|
||||
begin
|
||||
inherited Assign(Source);
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.Clear;
|
||||
begin
|
||||
inherited Clear;
|
||||
FOwner.clear;
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.Delete(Index: Integer);
|
||||
begin
|
||||
inherited Delete(Index);
|
||||
FOwner.delete(Index);
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.Sort;
|
||||
begin
|
||||
inherited Sort;
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.Exchange(AIndex1, AIndex2: Integer);
|
||||
begin
|
||||
inherited Exchange(AIndex1, AIndex2);
|
||||
end;
|
||||
|
||||
{ TAndroidComboBox }
|
||||
|
||||
constructor TAndroidComboBox.Create(const AObject: TCustomComboBox;
|
||||
@ -458,12 +362,24 @@ constructor TAndroidWindow.Create(const AObject: TCustomForm;
|
||||
begin
|
||||
LCLObject := AObject;
|
||||
|
||||
layout := TAbsoluteLayout.Create;
|
||||
// scroller := TScrollView.Create;
|
||||
// scroller.addView(layout);
|
||||
FVertScrollable := AObject.VertScrollBar.Visible;
|
||||
|
||||
mainviewgroup := layout;
|
||||
MainView := layout;//scroller;
|
||||
if FVertScrollable then
|
||||
begin
|
||||
layout := TAbsoluteLayout.Create;
|
||||
scroller := TScrollView.Create;
|
||||
scroller.addView(layout);
|
||||
|
||||
mainviewgroup := layout;
|
||||
MainView := scroller;
|
||||
end
|
||||
else
|
||||
begin
|
||||
layout := TAbsoluteLayout.Create;
|
||||
|
||||
mainviewgroup := layout;
|
||||
MainView := layout;
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TAndroidWindow.Destroy;
|
||||
@ -471,4 +387,14 @@ begin
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
function TAndroidWindow.GetText: string;
|
||||
begin
|
||||
Result := activity.getTitle();
|
||||
end;
|
||||
|
||||
procedure TAndroidWindow.SetText(AText: string);
|
||||
begin
|
||||
activity.setTitle(AText);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
115
lcl/interfaces/android/androidstringlists.pas
Normal file
115
lcl/interfaces/android/androidstringlists.pas
Normal file
@ -0,0 +1,115 @@
|
||||
unit androidstringlists;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
// libs
|
||||
android_all, androidpipescomm,
|
||||
// wdgetset
|
||||
WSLCLClasses, LCLClasses,
|
||||
// LCL + RTL
|
||||
Types, Classes, SysUtils, Controls, LCLType, LCLProc, Graphics, Math, Contnrs,
|
||||
AVL_Tree, LMessages, LCLMessageGlue, stdctrls, Forms;
|
||||
|
||||
type
|
||||
{ TAndroidComboBoxStrings }
|
||||
|
||||
TAndroidComboBoxStrings = class(TStringList)
|
||||
private
|
||||
FWinControl: TWinControl;
|
||||
FOwner: TObject;//TAndroidComboBox;
|
||||
protected
|
||||
procedure Put(Index: Integer; const S: string); override;
|
||||
procedure InsertItem(Index: Integer; const S: string); override;
|
||||
procedure InsertItem(Index: Integer; const S: string; O: TObject); override;
|
||||
public
|
||||
constructor Create(AWinControl: TWinControl; AOwner: TObject{TAndroidComboBox});
|
||||
procedure Assign(Source: TPersistent); override;
|
||||
procedure Clear; override;
|
||||
procedure Delete(Index: Integer); override;
|
||||
procedure Sort; override;
|
||||
procedure Exchange(AIndex1, AIndex2: Integer); override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses androidprivate;
|
||||
|
||||
{ TAndroidComboBoxStrings }
|
||||
|
||||
procedure TAndroidComboBoxStrings.Put(Index: Integer; const S: string);
|
||||
begin
|
||||
inherited Put(Index, S);
|
||||
//FOwner.BeginUpdate;
|
||||
TAndroidComboBox(FOwner).Put(Index, S);
|
||||
// FOwner.setItemText(Index, S);
|
||||
// FOwner.EndUpdate;
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.InsertItem(Index: Integer; const S: string);
|
||||
var
|
||||
FSavedIndex: Integer;
|
||||
FSavedText: WideString;
|
||||
begin
|
||||
inherited InsertItem(Index, S);
|
||||
{ //FOwner.BeginUpdate;
|
||||
FSavedText := FOwner.getText;
|
||||
FSavedIndex := FOwner.currentIndex;}
|
||||
TAndroidComboBox(FOwner).insertItem(Index, S);
|
||||
{ if FOwner.getEditable then
|
||||
begin
|
||||
if (FSavedIndex <> FOwner.currentIndex) then
|
||||
FOwner.setCurrentIndex(FSavedIndex);
|
||||
FOwner.setText(FSavedText);
|
||||
end;
|
||||
FOwner.EndUpdate;}
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.InsertItem(Index: Integer; const S: string;
|
||||
O: TObject);
|
||||
begin
|
||||
inherited InsertItem(Index, S, O);
|
||||
end;
|
||||
|
||||
constructor TAndroidComboBoxStrings.Create(AWinControl: TWinControl;
|
||||
AOwner: TObject);
|
||||
begin
|
||||
inherited Create;
|
||||
FWinControl := AWinControl;
|
||||
FOwner := AOwner;
|
||||
{$ifdef LCL_ANDROID_STDCTRLS_VERBOSE}
|
||||
vAndroidPipesComm.Log(Format('[TAndroidComboBox.Clear] AWinControl=%P AOwner=%P', [@AWinControl, @AOwner]));
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.Assign(Source: TPersistent);
|
||||
begin
|
||||
inherited Assign(Source);
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.Clear;
|
||||
begin
|
||||
inherited Clear;
|
||||
TAndroidComboBox(FOwner).clear;
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.Delete(Index: Integer);
|
||||
begin
|
||||
inherited Delete(Index);
|
||||
TAndroidComboBox(FOwner).delete(Index);
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.Sort;
|
||||
begin
|
||||
inherited Sort;
|
||||
end;
|
||||
|
||||
procedure TAndroidComboBoxStrings.Exchange(AIndex1, AIndex2: Integer);
|
||||
begin
|
||||
inherited Exchange(AIndex1, AIndex2);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -24,6 +24,7 @@ type
|
||||
public
|
||||
FIndex: Integer;
|
||||
constructor Create(AIndex: Integer); virtual;
|
||||
constructor Create(); virtual;
|
||||
function GetIndex: Integer;
|
||||
procedure SetIndex(AValue: Integer);
|
||||
property Index: Integer read GetIndex write SetIndex;
|
||||
@ -70,6 +71,12 @@ begin
|
||||
Index := AIndex;
|
||||
end;
|
||||
|
||||
// For global objects which have no Index
|
||||
constructor TJavaObject.Create;
|
||||
begin
|
||||
inherited Create;
|
||||
end;
|
||||
|
||||
function TJavaObject.GetIndex: Integer;
|
||||
begin
|
||||
Result := FIndex;
|
||||
|
Loading…
Reference in New Issue
Block a user