From 887bde65742747aea7ab6dcf7c300ca8ec1f1ebf Mon Sep 17 00:00:00 2001 From: John Hoford Date: Mon, 11 Mar 2013 11:10:22 -0700 Subject: refactoring to make Editor classes do more Change-Id: Id0885929cf3a9410bd0e5d3bf96eb99e8c7e1cf9 --- .../gallery3d/filtershow/editors/Editor.java | 70 +++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) (limited to 'src/com/android/gallery3d/filtershow/editors/Editor.java') diff --git a/src/com/android/gallery3d/filtershow/editors/Editor.java b/src/com/android/gallery3d/filtershow/editors/Editor.java index bea591c63..cefdfe6bf 100644 --- a/src/com/android/gallery3d/filtershow/editors/Editor.java +++ b/src/com/android/gallery3d/filtershow/editors/Editor.java @@ -17,12 +17,18 @@ package com.android.gallery3d.filtershow.editors; import android.content.Context; +import android.text.Html; import android.view.LayoutInflater; +import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.LinearLayout; +import android.widget.PopupMenu; +import android.widget.SeekBar; +import android.widget.SeekBar.OnSeekBarChangeListener; +import com.android.gallery3d.R; import com.android.gallery3d.filtershow.PanelController; import com.android.gallery3d.filtershow.cache.ImageLoader; import com.android.gallery3d.filtershow.filters.FilterRepresentation; @@ -33,27 +39,66 @@ import com.android.gallery3d.filtershow.presets.ImagePreset; /** * Base class for Editors Must contain a mImageShow and a top level view */ -public class Editor { +public class Editor implements OnSeekBarChangeListener { protected Context mContext; protected View mView; protected ImageShow mImageShow; protected FrameLayout mFrameLayout; + protected SeekBar mSeekBar; protected PanelController mPanelController; protected int mID; private final String LOGTAG = "Editor"; protected FilterRepresentation mLocalRepresentation = null; + protected byte mShowParameter = SHOW_VALUE_UNDEFINED; + public static byte SHOW_VALUE_UNDEFINED = -1; + public static byte SHOW_VALUE_OFF = 0; + public static byte SHOW_VALUE_INT = 1; public void setPanelController(PanelController panelController) { this.mPanelController = panelController; } + public String calculateUserMessage(Context context, String effectName, Object parameterValue) { + String apply = context.getString(R.string.apply_effect); + if (mShowParameter == SHOW_VALUE_INT) { + apply += " " + effectName + " " + parameterValue; + } else { + apply += " " + effectName; + } + return apply; + } + protected Editor(int id) { mID = id; } + public int getID() { return mID; } + + public byte showParameterValue() { + return mShowParameter; + } + + /** + * @param actionButton the would be the area for menu etc + * @param editControl this is the black area for sliders etc + */ + public void setUtilityPanelUI(View actionButton, View editControl) { + mSeekBar = (SeekBar) editControl.findViewById(R.id.primarySeekBar); + mSeekBar.setOnSeekBarChangeListener(this); + } + + @Override + public void onProgressChanged(SeekBar sbar, int progress, boolean arg2) { + + } + + public void setPanel() { + + } + public void createEditor(Context context,FrameLayout frameLayout) { mContext = context; mFrameLayout = frameLayout; @@ -115,7 +160,12 @@ public class Editor { ImagePreset preset = MasterImage.getImage().getPreset(); FilterRepresentation filterRepresentation = MasterImage.getImage().getCurrentFilterRepresentation(); mLocalRepresentation = preset.getFilterRepresentationCopyFrom(filterRepresentation); + if (mShowParameter == SHOW_VALUE_UNDEFINED) { + boolean show = filterRepresentation.showParameterValue(); + mShowParameter = show ? SHOW_VALUE_INT : SHOW_VALUE_OFF; + } } + return mLocalRepresentation; } @@ -144,4 +194,22 @@ public class Editor { } } + protected void createMenu(int[] strId, View button) { + PopupMenu pmenu = new PopupMenu(mContext, button); + Menu menu = pmenu.getMenu(); + for (int i = 0; i < strId.length; i++) { + menu.add(Menu.NONE, Menu.FIRST + i, 0, mContext.getString(strId[i])); + } + } + + @Override + public void onStartTrackingTouch(SeekBar arg0) { + + } + + @Override + public void onStopTrackingTouch(SeekBar arg0) { + + } + } -- cgit v1.2.3