percent added
This commit is contained in:
parent
b184880433
commit
a4c64df0a6
@ -8,7 +8,9 @@
|
||||
<org.solovyev.android.view.widgets.DirectionDragButton xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator"
|
||||
a:id="@+id/subtractionButton"
|
||||
calc:textUp="+…%"
|
||||
a:text="-"
|
||||
calc:textDown="-…%"
|
||||
calc:directionTextScale="0.5"
|
||||
style="?digitButtonStyle"
|
||||
a:onClick="digitButtonClickHandler"/>
|
@ -256,22 +256,30 @@ public enum CalculatorModel implements CursorControl, HistoryControl<CalculatorH
|
||||
|
||||
@Override
|
||||
public void doOperation(@NotNull EditText editor) {
|
||||
|
||||
final MathType.Result mathType = MathType.getType(text, 0);
|
||||
|
||||
int cursorPositionOffset = 0;
|
||||
final StringBuilder textToBeInserted = new StringBuilder();
|
||||
|
||||
final StringBuilder textToBeInserted = new StringBuilder(text);
|
||||
switch (mathType.getMathType()) {
|
||||
case function:
|
||||
textToBeInserted.append("()");
|
||||
cursorPositionOffset = -1;
|
||||
break;
|
||||
}
|
||||
if (text.equals("+…%")) {
|
||||
textToBeInserted .append("+%");
|
||||
cursorPositionOffset = -1;
|
||||
} else if (text.equals("-…%")) {
|
||||
textToBeInserted.append("-%");
|
||||
cursorPositionOffset = -1;
|
||||
} else {
|
||||
textToBeInserted.append(text);
|
||||
|
||||
if (cursorPositionOffset == 0) {
|
||||
if ( MathType.openGroupSymbols.contains(text) ) {
|
||||
cursorPositionOffset = -1;
|
||||
final MathType.Result mathType = MathType.getType(text, 0);
|
||||
switch (mathType.getMathType()) {
|
||||
case function:
|
||||
textToBeInserted.append("()");
|
||||
cursorPositionOffset = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
if (cursorPositionOffset == 0) {
|
||||
if (MathType.openGroupSymbols.contains(text)) {
|
||||
cursorPositionOffset = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -301,7 +301,7 @@ public class CalculatorVarsActivity extends ListActivity {
|
||||
|
||||
if (!StringUtils.isEmpty(name)) {
|
||||
try {
|
||||
Identifier.parser.parse(name, new MutableInt(0), 0);
|
||||
Identifier.parser.parse(name, new MutableInt(0), 0, null);
|
||||
result = true;
|
||||
} catch (ParseException e) {
|
||||
// not valid name;
|
||||
|
Loading…
Reference in New Issue
Block a user