Changes
This commit is contained in:
parent
e946b1547c
commit
2e7f4b632d
@ -80,10 +80,12 @@ public class CalculatorEditorImpl implements CalculatorEditor {
|
|||||||
public void onCalculatorEvent(@NotNull CalculatorEventData calculatorEventData,
|
public void onCalculatorEvent(@NotNull CalculatorEventData calculatorEventData,
|
||||||
@NotNull CalculatorEventType calculatorEventType,
|
@NotNull CalculatorEventType calculatorEventType,
|
||||||
@Nullable Object data) {
|
@Nullable Object data) {
|
||||||
if (calculatorEventType == CalculatorEventType.use_history_state) {
|
switch (calculatorEventType) {
|
||||||
final CalculatorHistoryState calculatorHistoryState = (CalculatorHistoryState)data;
|
case use_history_state:
|
||||||
final EditorHistoryState editorState = calculatorHistoryState.getEditorState();
|
final CalculatorHistoryState calculatorHistoryState = (CalculatorHistoryState)data;
|
||||||
this.setText(StringUtils.getNotEmpty(editorState.getText(), ""), editorState.getCursorPosition());
|
final EditorHistoryState editorState = calculatorHistoryState.getEditorState();
|
||||||
|
this.setText(StringUtils.getNotEmpty(editorState.getText(), ""), editorState.getCursorPosition());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,7 +89,24 @@ public enum CalculatorEventType {
|
|||||||
history_state_added,
|
history_state_added,
|
||||||
|
|
||||||
// @NotNull CalculatorHistoryState
|
// @NotNull CalculatorHistoryState
|
||||||
use_history_state;
|
use_history_state,
|
||||||
|
|
||||||
|
/*
|
||||||
|
**********************************************************************
|
||||||
|
*
|
||||||
|
* MATH ENTITIES
|
||||||
|
*
|
||||||
|
**********************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
// @NotNull IConstant
|
||||||
|
use_constant,
|
||||||
|
|
||||||
|
// @NotNull Function
|
||||||
|
use_function,
|
||||||
|
|
||||||
|
// @NotNull Operator
|
||||||
|
use_operator;
|
||||||
|
|
||||||
public boolean isOfType(@NotNull CalculatorEventType... types) {
|
public boolean isOfType(@NotNull CalculatorEventType... types) {
|
||||||
for (CalculatorEventType type : types) {
|
for (CalculatorEventType type : types) {
|
||||||
|
@ -4,6 +4,9 @@ import jscl.AbstractJsclArithmeticException;
|
|||||||
import jscl.NumeralBase;
|
import jscl.NumeralBase;
|
||||||
import jscl.NumeralBaseException;
|
import jscl.NumeralBaseException;
|
||||||
import jscl.math.Generic;
|
import jscl.math.Generic;
|
||||||
|
import jscl.math.function.Function;
|
||||||
|
import jscl.math.function.IConstant;
|
||||||
|
import jscl.math.operator.Operator;
|
||||||
import jscl.text.ParseInterruptedException;
|
import jscl.text.ParseInterruptedException;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
@ -16,7 +19,8 @@ import org.solovyev.common.history.HistoryAction;
|
|||||||
import org.solovyev.common.msg.MessageRegistry;
|
import org.solovyev.common.msg.MessageRegistry;
|
||||||
import org.solovyev.common.msg.MessageType;
|
import org.solovyev.common.msg.MessageType;
|
||||||
import org.solovyev.common.text.StringUtils;
|
import org.solovyev.common.text.StringUtils;
|
||||||
import org.solovyev.math.units.*;
|
import org.solovyev.math.units.ConversionException;
|
||||||
|
import org.solovyev.math.units.ConversionUtils;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
@ -381,9 +385,26 @@ public class CalculatorImpl implements Calculator, CalculatorEventListener {
|
|||||||
evaluate(JsclOperation.numeric, changeEventData.getNewState().getText(), calculatorEventData.getSequenceId());
|
evaluate(JsclOperation.numeric, changeEventData.getNewState().getText(), calculatorEventData.getSequenceId());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case engine_preferences_changed:
|
case engine_preferences_changed:
|
||||||
evaluate(calculatorEventData.getSequenceId());
|
evaluate(calculatorEventData.getSequenceId());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case use_constant:
|
||||||
|
final IConstant constant = (IConstant)data;
|
||||||
|
CalculatorLocatorImpl.getInstance().getKeyboard().digitButtonPressed(constant.getName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case use_operator:
|
||||||
|
final Operator operator = (Operator)data;
|
||||||
|
CalculatorLocatorImpl.getInstance().getKeyboard().digitButtonPressed(operator.getName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case use_function:
|
||||||
|
final Function function = (Function)data;
|
||||||
|
CalculatorLocatorImpl.getInstance().getKeyboard().digitButtonPressed(function.getName());
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,6 +41,8 @@
|
|||||||
|
|
||||||
<activity android:configChanges="orientation|keyboardHidden" android:label="@string/c_functions" android:name=".math.edit.CalculatorFunctionsFragmentActivity"/>
|
<activity android:configChanges="orientation|keyboardHidden" android:label="@string/c_functions" android:name=".math.edit.CalculatorFunctionsFragmentActivity"/>
|
||||||
|
|
||||||
|
<activity android:configChanges="orientation|keyboardHidden" android:label="@string/c_operators" android:name=".math.edit.CalculatorOperatorsFragmentActivity"/>
|
||||||
|
|
||||||
<activity android:configChanges="orientation|keyboardHidden" android:label="@string/c_vars_and_constants" android:name=".math.edit.CalculatorVarsFragmentActivity"/>
|
<activity android:configChanges="orientation|keyboardHidden" android:label="@string/c_vars_and_constants" android:name=".math.edit.CalculatorVarsFragmentActivity"/>
|
||||||
|
|
||||||
<activity android:label="@string/c_plot_graph" android:name=".plot.CalculatorPlotActivity"/>
|
<activity android:label="@string/c_plot_graph" android:name=".plot.CalculatorPlotActivity"/>
|
||||||
|
BIN
calculatorpp/res/drawable-hdpi/icon_action_bar.png
Normal file
BIN
calculatorpp/res/drawable-hdpi/icon_action_bar.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.7 KiB |
BIN
calculatorpp/res/drawable-ldpi/icon_action_bar.png
Normal file
BIN
calculatorpp/res/drawable-ldpi/icon_action_bar.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
BIN
calculatorpp/res/drawable-mdpi/icon_action_bar.png
Normal file
BIN
calculatorpp/res/drawable-mdpi/icon_action_bar.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.0 KiB |
BIN
calculatorpp/res/drawable-xhdpi/icon_action_bar.png
Normal file
BIN
calculatorpp/res/drawable-xhdpi/icon_action_bar.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
@ -77,6 +77,10 @@ public class CalculatorActivityHelperImpl extends AbstractCalculatorHelper imple
|
|||||||
activity.setContentView(layoutId);
|
activity.setContentView(layoutId);
|
||||||
|
|
||||||
CalculatorButtons.processButtons(true, theme, activity.getWindow().getDecorView());
|
CalculatorButtons.processButtons(true, theme, activity.getWindow().getDecorView());
|
||||||
|
|
||||||
|
if (savedInstanceState != null) {
|
||||||
|
navPosition = savedInstanceState.getInt(SELECTED_NAV, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -89,10 +93,7 @@ public class CalculatorActivityHelperImpl extends AbstractCalculatorHelper imple
|
|||||||
actionBar.setHomeButtonEnabled(false);
|
actionBar.setHomeButtonEnabled(false);
|
||||||
actionBar.setDisplayShowHomeEnabled(true);
|
actionBar.setDisplayShowHomeEnabled(true);
|
||||||
actionBar.setDisplayShowTitleEnabled(true);
|
actionBar.setDisplayShowTitleEnabled(true);
|
||||||
|
actionBar.setIcon(R.drawable.icon_action_bar);
|
||||||
if (savedInstanceState != null) {
|
|
||||||
navPosition = savedInstanceState.getInt(SELECTED_NAV, 0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -150,10 +151,14 @@ public class CalculatorActivityHelperImpl extends AbstractCalculatorHelper imple
|
|||||||
final ActionBar.Tab tab = actionBar.newTab();
|
final ActionBar.Tab tab = actionBar.newTab();
|
||||||
tab.setTag(tag);
|
tab.setTag(tag);
|
||||||
tab.setText(captionResId);
|
tab.setText(captionResId);
|
||||||
tab.setTabListener(new ActionBarFragmentTabListener(activity, tag, fragmentClass, fragmentArgs, parentViewId));
|
|
||||||
|
final ActionBarFragmentTabListener listener = new ActionBarFragmentTabListener(activity, tag, fragmentClass, fragmentArgs, parentViewId);
|
||||||
|
tab.setTabListener(listener);
|
||||||
actionBar.addTab(tab);
|
actionBar.addTab(tab);
|
||||||
|
|
||||||
fragmentTags.add(tag);
|
fragmentTags.add(tag);
|
||||||
|
|
||||||
|
restoreSavedTab(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -10,10 +10,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.solovyev.android.calculator.about.CalculatorAboutTabActivity;
|
import org.solovyev.android.calculator.about.CalculatorAboutTabActivity;
|
||||||
import org.solovyev.android.calculator.help.CalculatorHelpTabActivity;
|
import org.solovyev.android.calculator.help.CalculatorHelpTabActivity;
|
||||||
import org.solovyev.android.calculator.history.CalculatorHistoryFragmentActivity;
|
import org.solovyev.android.calculator.history.CalculatorHistoryFragmentActivity;
|
||||||
import org.solovyev.android.calculator.math.edit.CalculatorFunctionsFragmentActivity;
|
import org.solovyev.android.calculator.math.edit.*;
|
||||||
import org.solovyev.android.calculator.math.edit.CalculatorOperatorsFragment;
|
|
||||||
import org.solovyev.android.calculator.math.edit.CalculatorVarsFragment;
|
|
||||||
import org.solovyev.android.calculator.math.edit.CalculatorVarsFragmentActivity;
|
|
||||||
import org.solovyev.android.calculator.plot.CalculatorPlotActivity;
|
import org.solovyev.android.calculator.plot.CalculatorPlotActivity;
|
||||||
import org.solovyev.android.calculator.plot.CalculatorPlotFragment;
|
import org.solovyev.android.calculator.plot.CalculatorPlotFragment;
|
||||||
import org.solovyev.common.text.StringUtils;
|
import org.solovyev.common.text.StringUtils;
|
||||||
@ -46,7 +43,7 @@ public class CalculatorActivityLauncher {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void showOperators(@NotNull final Context context) {
|
public static void showOperators(@NotNull final Context context) {
|
||||||
context.startActivity(new Intent(context, CalculatorOperatorsFragment.class));
|
context.startActivity(new Intent(context, CalculatorOperatorsFragmentActivity.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showVars(@NotNull final Context context) {
|
public static void showVars(@NotNull final Context context) {
|
||||||
|
@ -19,6 +19,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.solovyev.android.calculator.*;
|
import org.solovyev.android.calculator.*;
|
||||||
import org.solovyev.android.menu.AMenuBuilder;
|
import org.solovyev.android.menu.AMenuBuilder;
|
||||||
|
import org.solovyev.android.menu.AMenuItem;
|
||||||
import org.solovyev.android.menu.LabeledMenuItem;
|
import org.solovyev.android.menu.LabeledMenuItem;
|
||||||
import org.solovyev.android.menu.MenuImpl;
|
import org.solovyev.android.menu.MenuImpl;
|
||||||
import org.solovyev.common.equals.EqualsTool;
|
import org.solovyev.common.equals.EqualsTool;
|
||||||
@ -105,9 +106,10 @@ public abstract class AbstractMathEntityListFragment<T extends MathEntity> exten
|
|||||||
final View view,
|
final View view,
|
||||||
final int position,
|
final int position,
|
||||||
final long id) {
|
final long id) {
|
||||||
|
final AMenuItem<T> onClick = getOnClickAction();
|
||||||
CalculatorLocatorImpl.getInstance().getKeyboard().digitButtonPressed(((MathEntity) parent.getItemAtPosition(position)).getName());
|
if ( onClick != null ) {
|
||||||
getActivity().finish();
|
onClick.onClick(((T) parent.getItemAtPosition(position)), getActivity());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -128,6 +130,9 @@ public abstract class AbstractMathEntityListFragment<T extends MathEntity> exten
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
protected abstract AMenuItem<T> getOnClickAction();
|
||||||
|
|
||||||
protected abstract int getTitleResId();
|
protected abstract int getTitleResId();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -216,32 +221,35 @@ public abstract class AbstractMathEntityListFragment<T extends MathEntity> exten
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View getView(int position, View convertView, ViewGroup parent) {
|
public View getView(int position, @Nullable View convertView, ViewGroup parent) {
|
||||||
final ViewGroup result = (ViewGroup) super.getView(position, convertView, parent);
|
final ViewGroup result;
|
||||||
|
|
||||||
final T mathEntity = getItem(position);
|
if (convertView == null) {
|
||||||
|
result = (ViewGroup) super.getView(position, convertView, parent);
|
||||||
|
|
||||||
final String mathEntityDescription = descriptionGetter.getDescription(getContext(), mathEntity.getName());
|
fillView(position, result);
|
||||||
if (!StringUtils.isEmpty(mathEntityDescription)) {
|
|
||||||
TextView description = (TextView) result.findViewById(R.id.math_entity_description);
|
|
||||||
if (description == null) {
|
|
||||||
final LayoutInflater layoutInflater = (LayoutInflater) getContext().getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
|
|
||||||
final ViewGroup itemView = (ViewGroup) layoutInflater.inflate(R.layout.math_entity, null);
|
|
||||||
description = (TextView) itemView.findViewById(R.id.math_entity_description);
|
|
||||||
itemView.removeView(description);
|
|
||||||
result.addView(description);
|
|
||||||
}
|
|
||||||
description.setText(mathEntityDescription);
|
|
||||||
} else {
|
} else {
|
||||||
TextView description = (TextView) result.findViewById(R.id.math_entity_description);
|
result = (ViewGroup) convertView;
|
||||||
if (description != null) {
|
fillView(position, result);
|
||||||
result.removeView(description);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void fillView(int position, @NotNull ViewGroup result) {
|
||||||
|
final T mathEntity = getItem(position);
|
||||||
|
|
||||||
|
final String mathEntityDescription = descriptionGetter.getDescription(getContext(), mathEntity.getName());
|
||||||
|
if (!StringUtils.isEmpty(mathEntityDescription)) {
|
||||||
|
final TextView description = (TextView) result.findViewById(R.id.math_entity_description);
|
||||||
|
description.setVisibility(View.VISIBLE);
|
||||||
|
description.setText(mathEntityDescription);
|
||||||
|
} else {
|
||||||
|
final TextView description = (TextView) result.findViewById(R.id.math_entity_description);
|
||||||
|
description.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static class MathEntityDescriptionGetterImpl implements MathEntityDescriptionGetter {
|
protected static class MathEntityDescriptionGetterImpl implements MathEntityDescriptionGetter {
|
||||||
|
@ -12,8 +12,10 @@ import android.os.Bundle;
|
|||||||
import android.text.ClipboardManager;
|
import android.text.ClipboardManager;
|
||||||
import jscl.math.function.Function;
|
import jscl.math.function.Function;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.solovyev.android.calculator.CalculatorEventType;
|
||||||
import org.solovyev.android.calculator.CalculatorLocatorImpl;
|
import org.solovyev.android.calculator.CalculatorLocatorImpl;
|
||||||
import org.solovyev.android.calculator.R;
|
import org.solovyev.android.calculator.R;
|
||||||
|
import org.solovyev.android.menu.AMenuItem;
|
||||||
import org.solovyev.android.menu.LabeledMenuItem;
|
import org.solovyev.android.menu.LabeledMenuItem;
|
||||||
import org.solovyev.common.text.StringUtils;
|
import org.solovyev.common.text.StringUtils;
|
||||||
|
|
||||||
@ -62,6 +64,11 @@ public class CalculatorFunctionsFragment extends AbstractMathEntityListFragment<
|
|||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected AMenuItem<Function> getOnClickAction() {
|
||||||
|
return LongClickMenuItem.use;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getTitleResId() {
|
protected int getTitleResId() {
|
||||||
return R.string.c_functions;
|
return R.string.c_functions;
|
||||||
@ -194,10 +201,7 @@ public class CalculatorFunctionsFragment extends AbstractMathEntityListFragment<
|
|||||||
use(R.string.c_use) {
|
use(R.string.c_use) {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(@NotNull Function data, @NotNull Context context) {
|
public void onClick(@NotNull Function data, @NotNull Context context) {
|
||||||
CalculatorLocatorImpl.getInstance().getKeyboard().digitButtonPressed(data.getName());
|
CalculatorLocatorImpl.getInstance().getCalculator().fireCalculatorEvent(CalculatorEventType.use_function, data);
|
||||||
if (context instanceof Activity) {
|
|
||||||
((Activity) context).finish();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -58,6 +58,10 @@ public class CalculatorFunctionsFragmentActivity extends SherlockFragmentActivit
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCalculatorEvent(@NotNull CalculatorEventData calculatorEventData, @NotNull CalculatorEventType calculatorEventType, @Nullable Object data) {
|
public void onCalculatorEvent(@NotNull CalculatorEventData calculatorEventData, @NotNull CalculatorEventType calculatorEventType, @Nullable Object data) {
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
switch (calculatorEventType) {
|
||||||
|
case use_function:
|
||||||
|
this.finish();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,10 @@ import android.content.Context;
|
|||||||
import android.text.ClipboardManager;
|
import android.text.ClipboardManager;
|
||||||
import jscl.math.operator.Operator;
|
import jscl.math.operator.Operator;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.solovyev.android.calculator.CalculatorEventType;
|
||||||
import org.solovyev.android.calculator.CalculatorLocatorImpl;
|
import org.solovyev.android.calculator.CalculatorLocatorImpl;
|
||||||
import org.solovyev.android.calculator.R;
|
import org.solovyev.android.calculator.R;
|
||||||
|
import org.solovyev.android.menu.AMenuItem;
|
||||||
import org.solovyev.android.menu.LabeledMenuItem;
|
import org.solovyev.android.menu.LabeledMenuItem;
|
||||||
import org.solovyev.common.text.StringUtils;
|
import org.solovyev.common.text.StringUtils;
|
||||||
|
|
||||||
@ -22,6 +24,11 @@ import java.util.List;
|
|||||||
|
|
||||||
public class CalculatorOperatorsFragment extends AbstractMathEntityListFragment<Operator> {
|
public class CalculatorOperatorsFragment extends AbstractMathEntityListFragment<Operator> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected AMenuItem<Operator> getOnClickAction() {
|
||||||
|
return LongClickMenuItem.use;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getTitleResId() {
|
protected int getTitleResId() {
|
||||||
return R.string.c_operators;
|
return R.string.c_operators;
|
||||||
@ -95,10 +102,7 @@ public class CalculatorOperatorsFragment extends AbstractMathEntityListFragment<
|
|||||||
use(R.string.c_use) {
|
use(R.string.c_use) {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(@NotNull Operator data, @NotNull Context context) {
|
public void onClick(@NotNull Operator data, @NotNull Context context) {
|
||||||
CalculatorLocatorImpl.getInstance().getKeyboard().digitButtonPressed(data.getName());
|
CalculatorLocatorImpl.getInstance().getCalculator().fireCalculatorEvent(CalculatorEventType.use_operator, data);
|
||||||
if (context instanceof Activity) {
|
|
||||||
((Activity) context).finish();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -0,0 +1,64 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||||
|
* For more information, please, contact se.solovyev@gmail.com
|
||||||
|
* or visit http://se.solovyev.org
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.solovyev.android.calculator.math.edit;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import com.actionbarsherlock.app.SherlockFragmentActivity;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.solovyev.android.calculator.*;
|
||||||
|
import org.solovyev.android.calculator.history.CalculatorHistoryFragmentActivity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User: serso
|
||||||
|
* Date: 12/21/11
|
||||||
|
* Time: 10:33 PM
|
||||||
|
*/
|
||||||
|
public class CalculatorOperatorsFragmentActivity extends SherlockFragmentActivity implements CalculatorEventListener {
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private final CalculatorActivityHelper activityHelper = CalculatorApplication.getInstance().createActivityHelper(R.layout.main_empty, CalculatorHistoryFragmentActivity.class.getSimpleName());
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
activityHelper.onCreate(this, savedInstanceState);
|
||||||
|
|
||||||
|
activityHelper.addTab(this, "operators", CalculatorOperatorsFragment.class, null, R.string.c_operators, R.id.main_layout);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onSaveInstanceState(Bundle outState) {
|
||||||
|
super.onSaveInstanceState(outState);
|
||||||
|
|
||||||
|
activityHelper.onSaveInstanceState(this, outState);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
|
||||||
|
activityHelper.onResume(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
|
||||||
|
this.activityHelper.onDestroy(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCalculatorEvent(@NotNull CalculatorEventData calculatorEventData, @NotNull CalculatorEventType calculatorEventType, @Nullable Object data) {
|
||||||
|
switch (calculatorEventType) {
|
||||||
|
case use_operator:
|
||||||
|
this.finish();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -25,10 +25,12 @@ import com.actionbarsherlock.view.MenuItem;
|
|||||||
import jscl.math.function.IConstant;
|
import jscl.math.function.IConstant;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.solovyev.android.calculator.CalculatorEventType;
|
||||||
import org.solovyev.android.calculator.CalculatorLocatorImpl;
|
import org.solovyev.android.calculator.CalculatorLocatorImpl;
|
||||||
import org.solovyev.android.calculator.R;
|
import org.solovyev.android.calculator.R;
|
||||||
import org.solovyev.android.calculator.math.MathType;
|
import org.solovyev.android.calculator.math.MathType;
|
||||||
import org.solovyev.android.calculator.model.Var;
|
import org.solovyev.android.calculator.model.Var;
|
||||||
|
import org.solovyev.android.menu.AMenuItem;
|
||||||
import org.solovyev.android.menu.LabeledMenuItem;
|
import org.solovyev.android.menu.LabeledMenuItem;
|
||||||
import org.solovyev.common.JPredicate;
|
import org.solovyev.common.JPredicate;
|
||||||
import org.solovyev.common.collections.CollectionsUtils;
|
import org.solovyev.common.collections.CollectionsUtils;
|
||||||
@ -75,6 +77,11 @@ public class CalculatorVarsFragment extends AbstractMathEntityListFragment<ICons
|
|||||||
return R.string.c_vars;
|
return R.string.c_vars;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected AMenuItem<IConstant> getOnClickAction() {
|
||||||
|
return LongClickMenuItem.use;
|
||||||
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
protected List<LabeledMenuItem<IConstant>> getMenuItemsOnLongClick(@NotNull IConstant item) {
|
protected List<LabeledMenuItem<IConstant>> getMenuItemsOnLongClick(@NotNull IConstant item) {
|
||||||
@ -259,10 +266,7 @@ public class CalculatorVarsFragment extends AbstractMathEntityListFragment<ICons
|
|||||||
use(R.string.c_use) {
|
use(R.string.c_use) {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(@NotNull IConstant data, @NotNull Context context) {
|
public void onClick(@NotNull IConstant data, @NotNull Context context) {
|
||||||
CalculatorLocatorImpl.getInstance().getKeyboard().digitButtonPressed(data.getName());
|
CalculatorLocatorImpl.getInstance().getCalculator().fireCalculatorEvent(CalculatorEventType.use_constant, data);
|
||||||
if (context instanceof Activity) {
|
|
||||||
((Activity) context).finish();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -80,6 +80,10 @@ public class CalculatorVarsFragmentActivity extends SherlockFragmentActivity imp
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCalculatorEvent(@NotNull CalculatorEventData calculatorEventData, @NotNull CalculatorEventType calculatorEventType, @Nullable Object data) {
|
public void onCalculatorEvent(@NotNull CalculatorEventData calculatorEventData, @NotNull CalculatorEventType calculatorEventType, @Nullable Object data) {
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
switch (calculatorEventType) {
|
||||||
|
case use_constant:
|
||||||
|
this.finish();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user