From 0063f193ff80d34d3a37672725b9383e70b1d578 Mon Sep 17 00:00:00 2001 From: serso Date: Mon, 18 Jul 2011 00:29:54 +0400 Subject: [PATCH] drag button calibration --- AndroidManifest.xml | 1 + gen/org/solovyev/android/calculator/R.java | 67 ++-- res/drawable/down.png | Bin 0 -> 2413 bytes res/drawable/not_ok.png | Bin 0 -> 9286 bytes res/drawable/ok.png | Bin 0 -> 9774 bytes res/drawable/up.png | Bin 0 -> 2792 bytes res/layout/drag_button_calibration.xml | 27 +- res/layout/main.xml | 48 +-- .../calculator/CalculatorActivity.java | 54 +++- .../DragButtonCalibrationActivity.java | 289 ++++++++++++++++-- .../android/view/DirectionDragButton.java | 99 ++++++ src/org/solovyev/android/view/DragButton.java | 84 +---- .../android/view/SimpleOnDragListener.java | 67 ++-- src/org/solovyev/util/math/MathUtils.java | 31 ++ 14 files changed, 557 insertions(+), 210 deletions(-) create mode 100644 res/drawable/down.png create mode 100644 res/drawable/not_ok.png create mode 100644 res/drawable/ok.png create mode 100644 res/drawable/up.png create mode 100644 src/org/solovyev/android/view/DirectionDragButton.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 0fa5d311..c18c9208 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -13,6 +13,7 @@ + diff --git a/gen/org/solovyev/android/calculator/R.java b/gen/org/solovyev/android/calculator/R.java index 33366b49..be166f9d 100644 --- a/gen/org/solovyev/android/calculator/R.java +++ b/gen/org/solovyev/android/calculator/R.java @@ -27,39 +27,44 @@ containing a value of this type. public static final int textUp=0x7f010000; } public static final class drawable { - public static final int icon=0x7f020000; + public static final int down=0x7f020000; + public static final int icon=0x7f020001; + public static final int not_ok=0x7f020002; + public static final int ok=0x7f020003; + public static final int up=0x7f020004; } public static final class id { - public static final int calibrationButton=0x7f080000; - public static final int calibrationStart=0x7f080001; - public static final int curlyBracketsButton=0x7f080015; - public static final int editText=0x7f080002; - public static final int eigthDigitButton=0x7f080011; - public static final int equalsButton=0x7f080013; - public static final int fiveDigitButton=0x7f08000b; - public static final int fourDigitButton=0x7f08000a; - public static final int historyButton=0x7f08001a; - public static final int menu_item_help=0x7f08001d; - public static final int menu_item_settings=0x7f08001c; - public static final int minusButton=0x7f08000e; - public static final int muliplicationButton=0x7f080007; - public static final int nineDigitButton=0x7f080012; - public static final int numericButton=0x7f080018; - public static final int oneDigitButton=0x7f080004; - public static final int piButton=0x7f08001b; - public static final int plusButton=0x7f080008; - public static final int pointDigitButton=0x7f080017; - public static final int resultEditText=0x7f080003; - public static final int roundBracketsButton=0x7f080009; - public static final int sevenDigitButton=0x7f080010; - public static final int simplifyButton=0x7f080019; - public static final int sixDigitButton=0x7f08000c; - public static final int sqrtButton=0x7f080014; - public static final int squareBracketsButton=0x7f08000f; - public static final int subtractionButton=0x7f08000d; - public static final int threeDigitButton=0x7f080006; - public static final int twoDigitButton=0x7f080005; - public static final int zeroDigitButton=0x7f080016; + public static final int calibrationArrow=0x7f080000; + public static final int calibrationButton=0x7f080001; + public static final int calibrationStart=0x7f080002; + public static final int curlyBracketsButton=0x7f080016; + public static final int editText=0x7f080003; + public static final int eigthDigitButton=0x7f080012; + public static final int equalsButton=0x7f080014; + public static final int fiveDigitButton=0x7f08000c; + public static final int fourDigitButton=0x7f08000b; + public static final int historyButton=0x7f08001b; + public static final int menu_item_help=0x7f08001e; + public static final int menu_item_settings=0x7f08001d; + public static final int minusButton=0x7f08000f; + public static final int muliplicationButton=0x7f080008; + public static final int nineDigitButton=0x7f080013; + public static final int numericButton=0x7f080019; + public static final int oneDigitButton=0x7f080005; + public static final int piButton=0x7f08001c; + public static final int plusButton=0x7f080009; + public static final int pointDigitButton=0x7f080018; + public static final int resultEditText=0x7f080004; + public static final int roundBracketsButton=0x7f08000a; + public static final int sevenDigitButton=0x7f080011; + public static final int simplifyButton=0x7f08001a; + public static final int sixDigitButton=0x7f08000d; + public static final int sqrtButton=0x7f080015; + public static final int squareBracketsButton=0x7f080010; + public static final int subtractionButton=0x7f08000e; + public static final int threeDigitButton=0x7f080007; + public static final int twoDigitButton=0x7f080006; + public static final int zeroDigitButton=0x7f080017; } public static final class layout { public static final int drag_button_calibration=0x7f030000; diff --git a/res/drawable/down.png b/res/drawable/down.png new file mode 100644 index 0000000000000000000000000000000000000000..8550c4984a297560e671b2388236cd38c170e837 GIT binary patch literal 2413 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 literal 0 HcmV?d00001 diff --git a/res/drawable/ok.png b/res/drawable/ok.png new file mode 100644 index 0000000000000000000000000000000000000000..c7c11172e171335a037154ded8740a3d690e6284 GIT binary patch literal 9774 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 z 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 XtTzGY;2ym^00XEfXv){hT8I7*5)_rP literal 0 HcmV?d00001 diff --git a/res/drawable/up.png b/res/drawable/up.png new file mode 100644 index 0000000000000000000000000000000000000000..9d65c20932c6553ed24ff902af798eba9b7e6ab7 GIT binary patch literal 2792 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 ukk&nTbob!v)U0MTt69xzRaDl{0000 + - + + + +