diff options
author | nicolasroard <nicolasroard@google.com> | 2013-01-07 19:43:14 -0800 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2013-01-08 11:14:48 -0800 |
commit | 962f4d03e92a3aa38202950053b1557e12860624 (patch) | |
tree | e86b53a61d9fd82d626cda9b7e7501ca669501a4 /src/com/android/gallery3d/filtershow/ui/ImageCurves.java | |
parent | a4205e4eab691b402e7a6dc1e913a611b7fdc45f (diff) | |
download | android_packages_apps_Snap-962f4d03e92a3aa38202950053b1557e12860624.tar.gz android_packages_apps_Snap-962f4d03e92a3aa38202950053b1557e12860624.tar.bz2 android_packages_apps_Snap-962f4d03e92a3aa38202950053b1557e12860624.zip |
Refactoring UI editors
bug:7688780
Change-Id: I30f8691788332a01d591435474a84cc352b71138
Diffstat (limited to 'src/com/android/gallery3d/filtershow/ui/ImageCurves.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/ui/ImageCurves.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/ui/ImageCurves.java b/src/com/android/gallery3d/filtershow/ui/ImageCurves.java index 7b04133ce..5fbfc900f 100644 --- a/src/com/android/gallery3d/filtershow/ui/ImageCurves.java +++ b/src/com/android/gallery3d/filtershow/ui/ImageCurves.java @@ -26,7 +26,13 @@ import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.os.AsyncTask; import android.util.AttributeSet; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.MenuItem; import android.view.MotionEvent; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.PopupMenu; import com.android.gallery3d.R; import com.android.gallery3d.filtershow.filters.ImageFilterCurves; @@ -62,6 +68,51 @@ public class ImageCurves extends ImageSlave { resetCurve(); } + @Override + public boolean useUtilityPanel() { + return true; + } + + private void showPopupMenu(LinearLayout accessoryViewList) { + final FramedTextButton button = (FramedTextButton) accessoryViewList.findViewById( + R.id.curvesUtilityButton); + if (button == null) { + return; + } + PopupMenu popupMenu = new PopupMenu(getActivity(), button); + popupMenu.getMenuInflater().inflate(R.menu.filtershow_menu_curves, popupMenu.getMenu()); + popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + setChannel(item.getItemId()); + button.setTextFrom(item.getItemId()); + return true; + } + }); + popupMenu.show(); + } + + @Override + public void openUtilityPanel(final LinearLayout accessoryViewList) { + View view = accessoryViewList.findViewById(R.id.curvesUtilityButton); + if (view == null) { + LayoutInflater inflater = (LayoutInflater)getActivity().getSystemService + (Context.LAYOUT_INFLATER_SERVICE); + view = inflater.inflate(R.layout.filtershow_curves_button, accessoryViewList, false); + accessoryViewList.addView(view, view.getLayoutParams()); + view.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View arg0) { + showPopupMenu(accessoryViewList); + } + }); + } + + if (view != null) { + view.setVisibility(View.VISIBLE); + } + } + public void nextChannel() { mCurrentCurveIndex = ((mCurrentCurveIndex + 1) % 4); invalidate(); |