You've already forked lazarus-ccr
android-sdk: some work on button click
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1796 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -39,7 +39,7 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="22">
|
||||
<Units Count="23">
|
||||
<Unit0>
|
||||
<Filename Value="android_bindings_generator.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -48,7 +48,7 @@
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="15" Y="14"/>
|
||||
<UsageCount Value="34"/>
|
||||
<UsageCount Value="35"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
@ -61,7 +61,7 @@
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="6"/>
|
||||
<CursorPos X="1" Y="51"/>
|
||||
<UsageCount Value="34"/>
|
||||
<UsageCount Value="35"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit1>
|
||||
@ -120,9 +120,9 @@
|
||||
<IsVisibleTab Value="True"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="560"/>
|
||||
<CursorPos X="28" Y="574"/>
|
||||
<UsageCount Value="34"/>
|
||||
<TopLine Value="563"/>
|
||||
<CursorPos X="16" Y="600"/>
|
||||
<UsageCount Value="35"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
@ -152,8 +152,8 @@
|
||||
<Unit12>
|
||||
<Filename Value="../../../p-tools/turbochessclock4android/android/src/com/pascal/turbochessclock/AndroidView.java"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="177"/>
|
||||
<CursorPos X="39" Y="177"/>
|
||||
<TopLine Value="232"/>
|
||||
<CursorPos X="111" Y="259"/>
|
||||
<UsageCount Value="15"/>
|
||||
<DefaultSyntaxHighlighter Value="Java"/>
|
||||
</Unit12>
|
||||
@ -233,128 +233,132 @@
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<Filename Value="../../examples/androidlcl/android/src/com/pascal/androidlcl/AndroidAll.java"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="53"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
<DefaultSyntaxHighlighter Value="Java"/>
|
||||
</Unit22>
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<JumpHistory Count="29" HistoryIndex="28">
|
||||
<Position1>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="22" Column="27" TopLine="1"/>
|
||||
<Caret Line="22" Column="29" TopLine="1"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="60" Column="17" TopLine="31"/>
|
||||
<Caret Line="23" Column="15" TopLine="1"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="110" Column="18" TopLine="103"/>
|
||||
<Caret Line="106" Column="72" TopLine="106"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="375" Column="33" TopLine="343"/>
|
||||
<Caret Line="212" Column="35" TopLine="184"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="22" Column="29" TopLine="1"/>
|
||||
<Caret Line="375" Column="65" TopLine="351"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="23" Column="15" TopLine="1"/>
|
||||
<Caret Line="374" Column="50" TopLine="351"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="106" Column="72" TopLine="106"/>
|
||||
<Caret Line="36" Column="19" TopLine="3"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="212" Column="35" TopLine="184"/>
|
||||
<Caret Line="689" Column="24" TopLine="664"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="375" Column="65" TopLine="351"/>
|
||||
<Caret Line="375" Column="1" TopLine="352"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="374" Column="50" TopLine="351"/>
|
||||
<Caret Line="40" Column="18" TopLine="3"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="36" Column="19" TopLine="3"/>
|
||||
<Caret Line="713" Column="13" TopLine="689"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="689" Column="24" TopLine="664"/>
|
||||
<Caret Line="41" Column="53" TopLine="3"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="375" Column="1" TopLine="352"/>
|
||||
<Caret Line="677" Column="1" TopLine="673"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="40" Column="18" TopLine="3"/>
|
||||
<Caret Line="153" Column="40" TopLine="134"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="713" Column="13" TopLine="689"/>
|
||||
<Caret Line="171" Column="31" TopLine="134"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="41" Column="53" TopLine="3"/>
|
||||
<Caret Line="385" Column="1" TopLine="370"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="677" Column="1" TopLine="673"/>
|
||||
<Caret Line="325" Column="22" TopLine="309"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="153" Column="40" TopLine="134"/>
|
||||
<Caret Line="727" Column="32" TopLine="722"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="171" Column="31" TopLine="134"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="385" Column="1" TopLine="370"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="325" Column="22" TopLine="309"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="727" Column="32" TopLine="722"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="mainform.pas"/>
|
||||
<Caret Line="38" Column="34" TopLine="1"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="mainform.pas"/>
|
||||
<Caret Line="40" Column="32" TopLine="2"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="mainform.pas"/>
|
||||
<Caret Line="48" Column="62" TopLine="2"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="mainform.pas"/>
|
||||
<Caret Line="49" Column="15" TopLine="5"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="sdk_level_7/android_all.txt"/>
|
||||
<Caret Line="63" Column="42" TopLine="51"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="../../../lazarus/lcl/interfaces/lcl.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="../../../lazarus/lcl/interfaces/lcl.pas"/>
|
||||
<Caret Line="10" Column="1" TopLine="1"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="../../../lazarus/lcl/interfaces/lcl.pas"/>
|
||||
<Caret Line="20" Column="81" TopLine="1"/>
|
||||
</Position30>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="789" Column="1" TopLine="760"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="623" Column="3" TopLine="593"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="android_sdk_bindings_gen.pas"/>
|
||||
<Caret Line="667" Column="1" TopLine="644"/>
|
||||
</Position29>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
@ -15,8 +15,7 @@ type
|
||||
private
|
||||
FSourceFile: TStringList;
|
||||
FPasOutputTypes, FPasOutputClassesForward, FPasOutputClasses,
|
||||
FPasOutputConsts, FPasOutputIDs, FPasOutputImpl, FPasOutputMessages,
|
||||
FPasOutputInterfaceConsts: TStringList;
|
||||
FPasOutputConsts, FPasOutputIDs, FPasOutputImpl, FPasOutputMessages: TStringList;
|
||||
FJavaOutputIDs, FJavaOutputMethods: TStringList;
|
||||
FClassName, FClassNamePas: string; // Class name of the class currently being parsed
|
||||
FClassNum, FMethodNum: Integer;
|
||||
@ -77,18 +76,14 @@ begin
|
||||
ADest.Add(' end;');
|
||||
ADest.Add('');
|
||||
ADest.Add('const');
|
||||
ADest.Add(' { Interface Constants }');
|
||||
ADest.AddStrings(FPasOutputInterfaceConsts);
|
||||
ADest.Add(' { Constants }');
|
||||
ADest.AddStrings(FPasOutputConsts);
|
||||
ADest.Add('');
|
||||
ADest.Add('function HandleMessage(AFirstInt: Integer): Boolean;');
|
||||
ADest.Add('');
|
||||
ADest.Add('implementation');
|
||||
ADest.Add('');
|
||||
ADest.Add('const');
|
||||
ADest.Add(' { Implementation Constants }');
|
||||
ADest.Add('');
|
||||
ADest.AddStrings(FPasOutputConsts);
|
||||
ADest.Add('');
|
||||
ADest.Add(' { IDs }');
|
||||
ADest.Add('');
|
||||
ADest.AddStrings(FPasOutputIDs);
|
||||
@ -571,7 +566,7 @@ begin
|
||||
lConstValue := GetNextWord(ASourceLine, lReaderPos);
|
||||
|
||||
// Method type and name
|
||||
FPasOutputInterfaceConsts.Add(Format(' %s = %s;', [lConstName, lConstValue]));
|
||||
FPasOutputConsts.Add(Format(' %s = %s;', [lConstName, lConstValue]));
|
||||
end;
|
||||
|
||||
// callbacksettercaller setOnClickListener callOnClickListener OnClickCallback = procedure (v: TView) of object;
|
||||
@ -581,6 +576,7 @@ var
|
||||
lCurWord: string;
|
||||
lSetterName, lCallerName, lCallbackName, lCallbackDeclaration: string;
|
||||
lIDSetter, lIDStart, lIDFinished: String;
|
||||
lJavaParamSelf: string;
|
||||
begin
|
||||
if ASourceLine = '' then Exit;
|
||||
|
||||
@ -593,10 +589,13 @@ begin
|
||||
|
||||
lIDSetter := GetIDString(lSetterName);
|
||||
AddOutputIDs(lIDSetter);
|
||||
Inc(FMethodNum);
|
||||
lIDStart := GetIDString(lCallbackName + '_Start');
|
||||
AddOutputIDs(lIDStart);
|
||||
Inc(FMethodNum);
|
||||
lIDFinished := GetIDString(lCallbackName + '_Finished');
|
||||
AddOutputIDs(lIDFinished);
|
||||
Inc(FMethodNum);
|
||||
|
||||
FPasOutputTypes.Add(' T' + lCallbackDeclaration);
|
||||
|
||||
@ -638,6 +637,66 @@ begin
|
||||
vAndroidPipesComm.SendInt(lInt);
|
||||
end;
|
||||
end;}
|
||||
|
||||
|
||||
// -----------------------------------------------
|
||||
// Now Java:
|
||||
// -----------------------------------------------
|
||||
|
||||
lJavaParamSelf := 'param_self_' + FClassName;
|
||||
FJavaOutputMethods.Add( ' // ' + ASourceLine);
|
||||
FJavaOutputMethods.Add( ' case ' + lIDSetter + ':');
|
||||
FJavaOutputMethods.Add( ' DebugOut("' + lIDSetter + '");');
|
||||
FJavaOutputMethods.Add( ' // Self');
|
||||
FJavaOutputMethods.Add( ' lInt = MyAndroidPipesComm.GetInt();');
|
||||
FJavaOutputMethods.Add( ' ' + lJavaParamSelf + ' = (' + FClassName + ') ViewElements.get(lInt);');
|
||||
FJavaOutputMethods.Add( ' lPascalPointer = MyAndroidPipesComm.GetInt();');
|
||||
FJavaOutputMethods.Add(Format(' %s.setTag(Integer.valueOf(lPascalPointer));', [lJavaParamSelf]));
|
||||
FJavaOutputMethods.Add( '');
|
||||
FJavaOutputMethods.Add( ' // Run the code');
|
||||
FJavaOutputMethods.Add(Format(' %s.setOnClickListener(', [lJavaParamSelf]));
|
||||
FJavaOutputMethods.Add(Format(' new View.OnClickListener()', []));
|
||||
FJavaOutputMethods.Add( ' {');
|
||||
FJavaOutputMethods.Add( ' public void onClick(View v)');
|
||||
FJavaOutputMethods.Add( ' {');
|
||||
FJavaOutputMethods.Add( ' // Perform action');
|
||||
FJavaOutputMethods.Add( ' DebugOut("START TextView OnClickListener");');
|
||||
FJavaOutputMethods.Add(Format(' MyAndroidPipesComm.SendMessage(AndroidPipesComm.amkUICommand, %s);', [lIDStart]));
|
||||
FJavaOutputMethods.Add( ' Integer lTag = (Integer) v.getTag();');
|
||||
FJavaOutputMethods.Add( ' MyAndroidPipesComm.SendInt(lTag.intValue());');
|
||||
FJavaOutputMethods.Add(Format(' MyAndroidPipesComm.WaitForPascalMessage(AndroidPipesComm.amkUICommand, %s);', [lIDFinished]));
|
||||
FJavaOutputMethods.Add( ' DebugOut("END TextView OnClickListener");');
|
||||
FJavaOutputMethods.Add( ' }');
|
||||
FJavaOutputMethods.Add( ' });');
|
||||
FJavaOutputMethods.Add( ' MyAndroidPipesComm.SendResult();');
|
||||
FJavaOutputMethods.Add( ' break;');
|
||||
(* case amkUI_TextView_setOnClickListener:
|
||||
DebugOut("amkUI_TextView_setOnClickListener");
|
||||
// Get Self
|
||||
lInt = MyAndroidPipesComm.GetInt();
|
||||
lTextView = (TextView) ViewElements.get(lInt);
|
||||
lPascalPointer = MyAndroidPipesComm.GetInt();
|
||||
lTextView.setTag(Integer.valueOf(lPascalPointer));
|
||||
|
||||
// Run the code
|
||||
lTextView.setOnClickListener(
|
||||
new View.OnClickListener()
|
||||
{
|
||||
public void onClick(View v)
|
||||
{
|
||||
// Perform action on click
|
||||
DebugOut("START TextView OnClickListener");
|
||||
MyAndroidPipesComm.SendMessage(AndroidPipesComm.amkUICommand, amkUI_TextView_OnClickCallback_Start);
|
||||
//lIndex := UIElements.indexOf(v);
|
||||
//MyAndroidPipesComm.SendInt(lIndex);
|
||||
Integer lTag = (Integer) v.getTag();
|
||||
MyAndroidPipesComm.SendInt(lTag.intValue());
|
||||
MyAndroidPipesComm.WaitForPascalMessage(AndroidPipesComm.amkUICommand, amkUI_TextView_OnClickCallback_Finished);
|
||||
DebugOut("END TextView OnClickListener");
|
||||
}
|
||||
});
|
||||
MyAndroidPipesComm.SendResult();
|
||||
break;*)
|
||||
end;
|
||||
|
||||
{ Reads one word in a string, starting at AStartPos (1-based index)
|
||||
@ -769,7 +828,6 @@ begin
|
||||
FPasOutputIDs := TStringList.Create;
|
||||
FPasOutputConsts := TStringList.Create;
|
||||
FPasOutputMessages := TStringList.Create;
|
||||
FPasOutputInterfaceConsts := TStringList.Create;
|
||||
|
||||
FJavaOutputIDs := TStringList.Create;
|
||||
FJavaOutputMethods := TStringList.Create;
|
||||
@ -788,7 +846,6 @@ begin
|
||||
FPasOutputIDs.Free;
|
||||
FPasOutputConsts.Free;
|
||||
FPasOutputMessages.Free;
|
||||
FPasOutputInterfaceConsts.Free;
|
||||
|
||||
FJavaOutputIDs.Free;
|
||||
FJavaOutputMethods.Free;
|
||||
|
Reference in New Issue
Block a user