implemented menu api · processing/processing-android@0de81a8 · GitHub
Skip to content

Commit 0de81a8

Browse files
committed
implemented menu api
1 parent 37d271c commit 0de81a8

6 files changed

Lines changed: 45 additions & 9 deletions

File tree

core/src/processing/android/ActivityAPI.java

Lines changed: 3 additions & 3 deletions

core/src/processing/android/PFragment.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,16 @@
3535
import android.graphics.Point;
3636
import android.os.Build;
3737
import android.os.Bundle;
38+
import android.view.ContextMenu;
3839
import android.view.Display;
3940
import android.view.LayoutInflater;
41+
import android.view.Menu;
42+
import android.view.MenuInflater;
43+
import android.view.MenuItem;
4044
import android.view.View;
4145
import android.view.ViewGroup;
4246
import android.view.WindowManager;
43-
47+
import android.view.ContextMenu.ContextMenuInfo;
4448
import processing.core.PApplet;
4549

4650
public class PFragment extends Fragment implements AppComponent {
@@ -225,6 +229,27 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
225229
if (sketch != null) sketch.onActivityResult(requestCode, resultCode, data);
226230
}
227231

232+
@Override
233+
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
234+
if (sketch != null) sketch.onCreateOptionsMenu(menu, inflater);
235+
}
236+
237+
@Override
238+
public boolean onOptionsItemSelected(MenuItem item){
239+
if (sketch != null) return sketch.onOptionsItemSelected(item);
240+
return super.onOptionsItemSelected(item);
241+
}
242+
243+
@Override
244+
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
245+
if (sketch != null) sketch.onCreateContextMenu(menu, v, menuInfo);
246+
}
247+
248+
@Override
249+
public boolean onContextItemSelected(MenuItem item) {
250+
if (sketch != null) return sketch.onContextItemSelected(item);
251+
return super.onContextItemSelected(item);
252+
}
228253

229254
@Override
230255
public void onConfigurationChanged(Configuration newConfig) {

core/src/processing/core/PApplet.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@
6464

6565
public class PApplet extends Object implements ActivityAPI, PConstants {
6666

67-
static final public boolean DEBUG = true;
68-
// static final public boolean DEBUG = false;
67+
// static final public boolean DEBUG = true;
68+
static final public boolean DEBUG = false;
6969

7070
// Convenience public constant holding the SDK version, akin to platform in Java mode
7171
static final public int SDK = Build.VERSION.SDK_INT;
@@ -619,8 +619,8 @@ public boolean onContextItemSelected(MenuItem item) {
619619
}
620620

621621

622-
public boolean onMenuItemClick(MenuItem item) {
623-
return false;
622+
public void setHasOptionsMenu(boolean hasMenu) {
623+
surface.setHasOptionsMenu(hasMenu);
624624
}
625625

626626

core/src/processing/core/PSurface.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ public void initView(int sketchWidth, int sketchHeight, boolean parentSize,
7676

7777
public void setOrientation(int which);
7878

79+
public void setHasOptionsMenu(boolean hasMenu);
80+
7981
public File getFilesDir();
8082

8183
public File getFileStreamPath(String path);

core/src/processing/core/PSurfaceNone.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import java.io.InputStream;
5252

5353
import processing.android.AppComponent;
54+
import processing.android.PFragment;
5455
import processing.android.ServiceEngine;
5556
import processing.android.PermissionRequestor;
5657

@@ -287,6 +288,14 @@ public void setOrientation(int which) {
287288
}
288289

289290

291+
public void setHasOptionsMenu(boolean hasMenu) {
292+
if (component.getKind() == AppComponent.FRAGMENT) {
293+
((PFragment)component).setHasOptionsMenu(hasMenu);
294+
}
295+
}
296+
297+
298+
290299
@Override
291300
public File getFilesDir() {
292301
if (component.getKind() == AppComponent.FRAGMENT) {

templates/FragmentActivity.java.tmpl

Lines changed: 1 addition & 1 deletion

0 commit comments

Comments
 (0)