| @@ -14,28 +14,34 @@ | |||
| android:theme="@style/GlassTheme" > | |||
| <activity | |||
| android:name="ch.spherIC.recurvebowsight.RBSMainActivity" | |||
| android:label="@string/title_rbs_main_activity" | |||
| android:configChanges="orientation"> | |||
| android:configChanges="orientation" | |||
| android:label="@string/title_rbs_main_activity" > | |||
| <intent-filter> | |||
| <action android:name="android.intent.action.MAIN" /> | |||
| <category android:name="android.intent.category.LAUNCHER" /> | |||
| <category android:name="android.intent.category.LAUNCHER" /> | |||
| </intent-filter> | |||
| </activity> | |||
| <activity | |||
| android:name="ch.spherIC.recurvebowsight.configuration.MainConfigurationActivity" | |||
| android:label="@string/title_activity_main_configuration" | |||
| android:label="@string/title_activity_main_configuration" | |||
| android:windowSoftInputMode="stateHidden" > | |||
| </activity> | |||
| <activity | |||
| android:name="ch.spherIC.recurvebowsight.configuration.RiserConfigurationActivity" | |||
| android:label="@string/title_activity_riser_configuration" | |||
| android:label="@string/title_activity_riser_configuration" | |||
| android:windowSoftInputMode="stateHidden" > | |||
| </activity> | |||
| <activity | |||
| android:name="ch.spherIC.recurvebowsight.configuration.SightConfigurationActivity" | |||
| android:label="@string/title_activity_sight_configuration" | |||
| android:label="@string/title_activity_sight_configuration" | |||
| android:windowSoftInputMode="stateHidden" > | |||
| </activity> | |||
| <activity | |||
| android:name="ch.spherIC.recurvebowsight.configuration.ArcherySetupConfigurationActivity" | |||
| android:label="@string/title_activity_archery_setup_configuration" | |||
| android:windowSoftInputMode="stateHidden" > | |||
| </activity> | |||
| </application> | |||
| </application> | |||
| </manifest> | |||
| @@ -0,0 +1,622 @@ | |||
| <RelativeLayout xmlns:tools="http://schemas.android.com/tools" | |||
| xmlns:android="http://schemas.android.com/apk/res/android" | |||
| xmlns:app="http://schemas.android.com/apk/res/ch.spherIC.recurvebowsight" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="match_parent" | |||
| android:background="@drawable/bg" | |||
| android:gravity="center" > | |||
| <ScrollView | |||
| android:id="@+id/riserCfgScrollView" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="match_parent" > | |||
| <LinearLayout | |||
| android:id="@+id/riserConfig" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:orientation="vertical" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/archerySetupConfigTitle" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:background="@color/yellow" | |||
| android:paddingBottom="3dp" | |||
| android:paddingLeft="6dp" | |||
| android:paddingTop="3dp" | |||
| android:text="@string/asTitleArcherySetupConfig" | |||
| android:textColor="@color/black" | |||
| android:textStyle="bold" | |||
| app:font="@string/TitilliumWeb_Bold" /> | |||
| <TableLayout | |||
| android:id="@+id/riserConfigTbl" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_weight="1" | |||
| android:gravity="fill_vertical|fill_horizontal" | |||
| android:scrollbarStyle="insideOverlay" | |||
| android:scrollbars="vertical" > | |||
| <TableRow | |||
| android:id="@+id/tableRCRow0" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asArcherySetupLbl" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/asArcherySetupLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.RiserSpinner | |||
| android:id="@+id/asArcherySetupSpinner" | |||
| style="@style/GlassSpinner" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:gravity="center_vertical" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow1" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asLabel" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/asLabel" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asLabelTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="text" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textSize="18sp" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow2" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/rcRiserLbl" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/rcRiserLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.RiserSpinner | |||
| android:id="@+id/asRiserSpinner" | |||
| style="@style/GlassSpinner" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:gravity="center_vertical" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow3" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asSightLbl" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/scSightLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.SightSpinner | |||
| android:id="@+id/asSightSpinner" | |||
| style="@style/GlassSpinner" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:gravity="center_vertical" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow4" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asArrowDiameterLbl" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/arrowDiameterLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asArrowDiameterTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:background="@android:drawable/edit_text" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textSize="18sp" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow5" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asArrowCwLbl" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/arrowCwLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asArrowCwTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow6" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asArrowWeight" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/arrowWeightLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asArrowWeigthTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:nextFocusDown="@+id/rcManufacturerTxtFld" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow7" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asArrowV0" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/arrowV0Lbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asArrowV0TxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:nextFocusDown="@+id/rcManufacturerTxtFld" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow8" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asBowPullout" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/bowPulloutLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asBowPulloutTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:nextFocusDown="@+id/rcManufacturerTxtFld" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow9" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/ashNA" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/ashNA" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/ashNATxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:nextFocusDown="@+id/rcManufacturerTxtFld" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow10" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asArrowNockHeight" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/arrowNockHeightLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asNockHeightTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:nextFocusDown="@+id/rcManufacturerTxtFld" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow11" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asTargetHeight" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/targetCenterHeightLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asTargetHeigthTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:nextFocusDown="@+id/rcManufacturerTxtFld" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow12" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asDeltaTime" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/deltaTimeLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asDeltaTimeTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:nextFocusDown="@+id/rcManufacturerTxtFld" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow13" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asCalcPrecision" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/calcPrecisionLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asCalcPrecisionTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:nextFocusDown="@+id/rcManufacturerTxtFld" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow14" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asSightVertScaleMiddle" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/scVertSkalaMiddleLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asSightVertScaleMiddleTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:nextFocusDown="@+id/rcManufacturerTxtFld" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| <TableRow | |||
| android:id="@+id/tableRCRow15" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="4dp" | |||
| android:paddingLeft="8dp" > | |||
| <ch.spherIC.recurvebowsight.components.FontTextView | |||
| android:id="@+id/asSightHorzSetting" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="wrap_content" | |||
| android:layout_gravity="right|center_vertical" | |||
| android:gravity="right" | |||
| android:text="@string/scHeVSLbl" | |||
| android:textColor="@color/black" | |||
| app:font="@string/TitilliumWeb_Regular" /> | |||
| <ch.spherIC.recurvebowsight.components.FontEditText | |||
| android:id="@+id/asSightHorzSettingTxtFld" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginLeft="4dp" | |||
| android:layout_weight="1" | |||
| android:ems="10" | |||
| android:gravity="center_vertical" | |||
| android:inputType="numberDecimal" | |||
| android:nextFocusDown="@+id/rcManufacturerTxtFld" | |||
| android:paddingBottom="9dp" | |||
| android:paddingTop="9dp" | |||
| android:selectAllOnFocus="true" | |||
| android:textAppearance="?android:attr/textAppearanceMediumInverse" | |||
| app:txtFont="@string/TitilliumWeb_Regular" /> | |||
| </TableRow> | |||
| </TableLayout> | |||
| <LinearLayout | |||
| android:layout_width="match_parent" | |||
| android:layout_height="wrap_content" | |||
| android:layout_margin="8dp" | |||
| android:orientation="horizontal" | |||
| android:paddingTop="10dp" > | |||
| <Button | |||
| android:id="@+id/rcBtnNew" | |||
| style="@style/GlassButton" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginRight="8dp" | |||
| android:layout_weight="1" | |||
| android:text="@string/caption_New" /> | |||
| <Button | |||
| android:id="@+id/rcBtnSave" | |||
| style="@style/GlassButton" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_marginRight="8dp" | |||
| android:layout_weight="1" | |||
| android:text="@string/caption_Save" /> | |||
| <Button | |||
| android:id="@+id/rcBtnDelete" | |||
| style="@style/GlassButton" | |||
| android:layout_width="wrap_content" | |||
| android:layout_height="40dp" | |||
| android:layout_weight="1" | |||
| android:text="@string/caption_Delete" /> | |||
| </LinearLayout> | |||
| </LinearLayout> | |||
| </ScrollView></RelativeLayout> | |||
| @@ -3,9 +3,10 @@ | |||
| <string name="app_name">RBS (Recurve Bow Sight)</string> | |||
| <string name="title_rbs_main_activity">RBS Berechnung Visiereinstellung</string> | |||
| <string name="title_activity_main_configuration">Konfiguration Bogen/Visier/Ausrüstung</string> | |||
| <string name="title_activity_riser_configuration">Konfiguration Griffstück</string> | |||
| <string name="title_activity_sight_configuration">Konfiguration Visier</string> | |||
| <string name="title_activity_main_configuration">RBS Konfiguration Bogen/Visier/Ausrüstung</string> | |||
| <string name="title_activity_riser_configuration">RBS Konfiguration Griffstück</string> | |||
| <string name="title_activity_sight_configuration">RBS Konfiguration Visier</string> | |||
| <string name="title_activity_archery_setup_configuration">RBS Konfiguration Ausrüstung</string> | |||
| <!-- --> | |||
| <string name="viewParams">Parameter</string> | |||
| <string name="viewResults">Ball. Flugbahn</string> | |||
| @@ -62,6 +63,15 @@ | |||
| <string name="caption_Save">Speichern</string> | |||
| <string name="caption_Delete">Löschen</string> | |||
| <string name="caption_Cfg_DeleteNotPossible">Löschen nicht möglich. Die Entität wird vermutlich von einer anderen Entität referenziert.</string> | |||
| <string name="caption_Cfg_ArcherySetup_SaveNotPossible">Speichern nicht möglich. Diese Kombination Griffstück/Visier existiert bereits.</string> | |||
| <string name="caption_MainCfg_Riser_MainText">Griffstück</string> | |||
| <string name="caption_MainCfg_Riser_SubText">Hier klicken um ein Griffstück zu Editiern, zu Löschen oder Einzufügen</string> | |||
| <string name="caption_MainCfg_Sight_MainText">Visier</string> | |||
| <string name="caption_MainCfg_Sight_SubText">Hier klicken um ein Visier zu Editiern, zu Löschen oder Einzufügen</string> | |||
| <string name="caption_MainCfg_ArcerySetup_MainText">Ausrüstung</string> | |||
| <string name="caption_MainCfg_ArcerySetup_SubText">Hier klicken um eine Ausrüstung zu Editiern, zu Löschen oder Einzufügen</string> | |||
| <string name="caption_ConfirmDelete">Löschen bestätigen</string> | |||
| <string name="caption_DeleteMsg">Wollen Sie \'%s\' wirklich löschen?</string> | |||
| <!-- --> | |||
| <string name="fcChart_StartAngle">Abschusswinkel:\n</string> | |||
| <string name="fcChart_MaxHeight">Max. Höhe der Flugbahn:\n</string> | |||
| @@ -71,12 +81,6 @@ | |||
| <string name="fcChart_TitleXAxis">Distanz [m]</string> | |||
| <string name="fcChart_TitleYAxis">Höhe [m]</string> | |||
| <!-- --> | |||
| <string name="caption_MainCfg_Riser_MainText">Griffstück</string> | |||
| <string name="caption_MainCfg_Riser_SubText">Hier klicken um ein Griffstück zu Editiern, zu Löschen oder Einzufügen</string> | |||
| <string name="caption_MainCfg_Sight_MainText">Visier</string> | |||
| <string name="caption_MainCfg_Sight_SubText">Hier klicken um ein Visier zu Editiern, zu Löschen oder Einzufügen</string> | |||
| <string name="caption_MainCfg_ArcerySetup_MainText">Ausrüstung</string> | |||
| <string name="caption_MainCfg_ArcerySetup_SubText">Hier klicken um eine Ausrüstung zu Editiern, zu Löschen oder Einzufügen</string> | |||
| <!-- --> | |||
| <string name="rcTitleRiserConfig">Konfiguration Griffstück</string> | |||
| <string name="rcRiserLbl">Griffstück</string> | |||
| @@ -88,6 +92,8 @@ | |||
| <string name="scTitleSightConfig">Konfiguration Visier</string> | |||
| <string name="scManufacturerLbl">Hersteller</string> | |||
| <string name="scModel">Modell</string> | |||
| <string name="ashNA">hNA [cm]</string> | |||
| <string name="asTitleArcherySetupConfig">Konfiguration Ausrüstung</string> | |||
| <string name="asArcherySetupLbl">Ausrüstung</string> | |||
| </resources> | |||
| @@ -1,92 +1,99 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <resources> | |||
| <string name="app_name">RBS (Recurve Bow Sight)</string> | |||
| <string name="title_rbs_main_activity">RBS Sight Setting Calculation</string> | |||
| <string name="title_activity_main_configuration">Riser/Sight/Equipment Configuration</string> | |||
| <string name="title_activity_riser_configuration">Riser Configuration</string> | |||
| <string name="title_activity_sight_configuration">Sight Configuration</string> | |||
| <!-- --> | |||
| <string name="viewParams">Parameters</string> | |||
| <string name="viewResults">Ballistic Trajectory</string> | |||
| <string name="viewSight">Sight Setting</string> | |||
| <!-- --> | |||
| <string name="titleBowAndArrowParams">Bow and Arrow Parameters</string> | |||
| <string name="arrowDiameterLbl">Arrow Diameter [mm]</string> | |||
| <string name="arrowCwLbl">Cd-Value of Arrow</string> | |||
| <string name="arrowV0Lbl">Arrow initial velocity V0 [m/s]</string> | |||
| <string name="bowPulloutLbl">Bow Pullout [cm]</string> | |||
| <string name="arrowWeightLbl">Arrow Weight [g]</string> | |||
| <!-- --> | |||
| <string name="titleAtmosphericalParams">Atmospherical Parameters</string> | |||
| <string name="airTemperatureLbl">Air Temperatur [°Celsius]</string> | |||
| <string name="airRelativeHumidityLbl">Rel. Air Humidity [%]</string> | |||
| <!-- --> | |||
| <string name="titleShootingParams">Shooting Parameters</string> | |||
| <string name="shootingDistanzLbl">Shooting Distanz [m]</string> | |||
| <string name="arrowNockHeightLbl">Height Arrow Nock [m]</string> | |||
| <string name="targetCenterHeightLbl">Height Target Center [m]</string> | |||
| <!-- --> | |||
| <string name="titleCalculationParams">Calculation Parameters</string> | |||
| <string name="deltaTimeLbl">Time Intervall Calculation [sec]</string> | |||
| <string name="calcPrecisionLbl">Calculation Accuracy [%]</string> | |||
| <!-- --> | |||
| <string name="titleSightConfig">Sight Setting</string> | |||
| <string name="scRiserLbl">Riser</string> | |||
| <string name="scVvisHLbl">VvisH [mm]</string> | |||
| <string name="scVvisVLbl">VvisV [mm]</string> | |||
| <string name="scSightLbl">Sight</string> | |||
| <string name="scHeVSLbl">Horz. Sight Sliding Carriage [mm]</string> | |||
| <string name="scaVLbl">aV [mm] / aH [mm]</string> | |||
| <string name="scVertScaleRngLbl">Vert. Scale Range [mm]</string> | |||
| <string name="scVertScaleRngMinLbl">Vert. Scale Range Min. [mm]</string> | |||
| <string name="scVertScaleRngMaxLbl">Vert. Scale Range Max. [mm]</string> | |||
| <string name="scVertSkalaMiddleLbl">Vert. Scale Middle Setting M [mm]</string> | |||
| <string name="scEvSLbl">EvS [mm]</string> | |||
| <!-- --> | |||
| <string name="menuAbout">About RBS…</string> | |||
| <string name="menuUserGuide">User Guide</string> | |||
| <!-- --> | |||
| <string name="menuChooseEquipment">Choose Equipment</string> | |||
| <string name="menuAddEquipment">Add Equipment</string> | |||
| <string name="menuDoCalculation">Calculate</string> | |||
| <string name="menuMoreItems">More…</string> | |||
| <!-- --> | |||
| <string name="caption_Ok">OK</string> | |||
| <string name="caption_Cancel">Cancel</string> | |||
| <string name="caption_NoSelection">No selection…</string> | |||
| <string name="caption_FillAllMandatoryFields">To start the calculation all parameter fields must be filled.</string> | |||
| <string name="caption_Cfg_FillAllMandatoryFields">Please fill in all parameter fields.</string> | |||
| <string name="caption_Calculating">Calculating…</string> | |||
| <string name="caption_New">New</string> | |||
| <string name="caption_Save">Save</string> | |||
| <string name="caption_Delete">Delete</string> | |||
| <string name="caption_Cfg_DeleteNotPossible">Unable to delete. Most probably the item is referenced by an other entity.</string> | |||
| <!-- --> | |||
| <string name="fcChart_StartAngle">Elevation Angle:\n</string> | |||
| <string name="fcChart_MaxHeight">Max. Height of Trajectory:\n</string> | |||
| <string name="fcChart_FlightDuration">Flight Duration:\n</string> | |||
| <string name="fcChart_Title">Ballistic Trajectory</string> | |||
| <string name="fcChart_TitleLable">Trajectory</string> | |||
| <string name="fcChart_TitleXAxis">Distance [m]</string> | |||
| <string name="fcChart_TitleYAxis">Height [m]</string> | |||
| <!-- --> | |||
| <string name="caption_MainCfg_Riser_MainText">Riser</string> | |||
| <string name="caption_MainCfg_Riser_SubText">Tab to edit, delete or insert a riser</string> | |||
| <string name="caption_MainCfg_Sight_MainText">Sight</string> | |||
| <string name="caption_MainCfg_Sight_SubText">Tab to edit, delete or insert a sight</string> | |||
| <string name="caption_MainCfg_ArcerySetup_MainText">Equipment</string> | |||
| <string name="caption_MainCfg_ArcerySetup_SubText">Tab to edit, delete or insert a equipment setup</string> | |||
| <!-- --> | |||
| <string name="rcTitleRiserConfig">Riser Configuration</string> | |||
| <string name="rcRiserLbl">Riser</string> | |||
| <string name="rcManufacturerLbl">Manufacturer</string> | |||
| <string name="rcModel">Model</string> | |||
| <string name="rcSizeLbl">Size</string> | |||
| <string name="rcVvisHLbl">VvisH [mm]</string> | |||
| <string name="rcVvisVLbl">VvisV [mm]</string> | |||
| <string name="scTitleSightConfig">Sight Configuration</string> | |||
| <string name="scManufacturerLbl">Manufacturer</string> | |||
| <string name="scModel">Model</string> | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <resources> | |||
| <string name="app_name">RBS (Recurve Bow Sight)</string> | |||
| <string name="title_rbs_main_activity">RBS Sight Setting Calculation</string> | |||
| <string name="title_activity_main_configuration">RBS Riser/Sight/Equipment Configuration</string> | |||
| <string name="title_activity_riser_configuration">RBS Riser Configuration</string> | |||
| <string name="title_activity_sight_configuration">RBS Sight Configuration</string> | |||
| <string name="title_activity_archery_setup_configuration">RBS Archery Setup Configuration</string> | |||
| <!-- --> | |||
| <string name="viewParams">Parameters</string> | |||
| <string name="viewResults">Ballistic Trajectory</string> | |||
| <string name="viewSight">Sight Setting</string> | |||
| <!-- --> | |||
| <string name="titleBowAndArrowParams">Bow and Arrow Parameters</string> | |||
| <string name="arrowDiameterLbl">Arrow Diameter [mm]</string> | |||
| <string name="arrowCwLbl">Cd-Value of Arrow</string> | |||
| <string name="arrowV0Lbl">Arrow initial velocity V0 [m/s]</string> | |||
| <string name="bowPulloutLbl">Bow Pullout [cm]</string> | |||
| <string name="arrowWeightLbl">Arrow Weight [g]</string> | |||
| <!-- --> | |||
| <string name="titleAtmosphericalParams">Atmospherical Parameters</string> | |||
| <string name="airTemperatureLbl">Air Temperatur [°Celsius]</string> | |||
| <string name="airRelativeHumidityLbl">Rel. Air Humidity [%]</string> | |||
| <!-- --> | |||
| <string name="titleShootingParams">Shooting Parameters</string> | |||
| <string name="shootingDistanzLbl">Shooting Distanz [m]</string> | |||
| <string name="arrowNockHeightLbl">Height Arrow Nock [m]</string> | |||
| <string name="targetCenterHeightLbl">Height Target Center [m]</string> | |||
| <!-- --> | |||
| <string name="titleCalculationParams">Calculation Parameters</string> | |||
| <string name="deltaTimeLbl">Time Intervall Calculation [sec]</string> | |||
| <string name="calcPrecisionLbl">Calculation Accuracy [%]</string> | |||
| <!-- --> | |||
| <string name="titleSightConfig">Sight Setting</string> | |||
| <string name="scRiserLbl">Riser</string> | |||
| <string name="scVvisHLbl">VvisH [mm]</string> | |||
| <string name="scVvisVLbl">VvisV [mm]</string> | |||
| <string name="scSightLbl">Sight</string> | |||
| <string name="scHeVSLbl">Horz. Sight Sliding Carriage [mm]</string> | |||
| <string name="scaVLbl">aV [mm] / aH [mm]</string> | |||
| <string name="scVertScaleRngLbl">Vert. Scale Range [mm]</string> | |||
| <string name="scVertScaleRngMinLbl">Vert. Scale Range Min. [mm]</string> | |||
| <string name="scVertScaleRngMaxLbl">Vert. Scale Range Max. [mm]</string> | |||
| <string name="scVertSkalaMiddleLbl">Vert. Scale Middle Setting M [mm]</string> | |||
| <string name="scEvSLbl">EvS [mm]</string> | |||
| <!-- --> | |||
| <string name="menuAbout">About RBS…</string> | |||
| <string name="menuUserGuide">User Guide</string> | |||
| <!-- --> | |||
| <string name="menuChooseEquipment">Choose Equipment</string> | |||
| <string name="menuAddEquipment">Add Equipment</string> | |||
| <string name="menuDoCalculation">Calculate</string> | |||
| <string name="menuMoreItems">More…</string> | |||
| <!-- --> | |||
| <string name="caption_Ok">OK</string> | |||
| <string name="caption_Cancel">Cancel</string> | |||
| <string name="caption_NoSelection">No selection…</string> | |||
| <string name="caption_FillAllMandatoryFields">To start the calculation all parameter fields must be filled.</string> | |||
| <string name="caption_Cfg_FillAllMandatoryFields">Please fill in all parameter fields.</string> | |||
| <string name="caption_Calculating">Calculating…</string> | |||
| <string name="caption_New">New</string> | |||
| <string name="caption_Save">Save</string> | |||
| <string name="caption_Delete">Delete</string> | |||
| <string name="caption_Cfg_DeleteNotPossible">Unable to delete. Most probably the item is referenced by an other entity.</string> | |||
| <string name="caption_Cfg_ArcherySetup_SaveNotPossible">Unable to save. This combination of sight und riser is already stored.</string> | |||
| <string name="caption_MainCfg_Riser_MainText">Riser</string> | |||
| <string name="caption_MainCfg_Riser_SubText">Tab to edit, delete or insert a riser</string> | |||
| <string name="caption_MainCfg_Sight_MainText">Sight</string> | |||
| <string name="caption_MainCfg_Sight_SubText">Tab to edit, delete or insert a sight</string> | |||
| <string name="caption_MainCfg_ArcerySetup_MainText">Equipment</string> | |||
| <string name="caption_MainCfg_ArcerySetup_SubText">Tab to edit, delete or insert a equipment setup</string> | |||
| <string name="caption_ConfirmDelete">Confirm Deletion</string> | |||
| <string name="caption_DeleteMsg">Are you sure you want delete \'%s\'?</string> | |||
| <!-- --> | |||
| <string name="fcChart_StartAngle">Elevation Angle:\n</string> | |||
| <string name="fcChart_MaxHeight">Max. Height of Trajectory:\n</string> | |||
| <string name="fcChart_FlightDuration">Flight Duration:\n</string> | |||
| <string name="fcChart_Title">Ballistic Trajectory</string> | |||
| <string name="fcChart_TitleLable">Trajectory</string> | |||
| <string name="fcChart_TitleXAxis">Distance [m]</string> | |||
| <string name="fcChart_TitleYAxis">Height [m]</string> | |||
| <!-- --> | |||
| <string name="rcTitleRiserConfig">Riser Configuration</string> | |||
| <string name="rcRiserLbl">Riser</string> | |||
| <string name="rcManufacturerLbl">Manufacturer</string> | |||
| <string name="rcModel">Model</string> | |||
| <string name="rcSizeLbl">Size</string> | |||
| <string name="rcVvisHLbl">VvisH [mm]</string> | |||
| <string name="rcVvisVLbl">VvisV [mm]</string> | |||
| <string name="scTitleSightConfig">Sight Configuration</string> | |||
| <string name="scManufacturerLbl">Manufacturer</string> | |||
| <string name="scModel">Model</string> | |||
| <string name="asLabel">Label</string> | |||
| <string name="ashNA">hNA [cm]</string> | |||
| <string name="asTitleArcherySetupConfig">Archery Setup Configuration</string> | |||
| <string name="asArcherySetupLbl">Archery Setup</string> | |||
| </resources> | |||
| @@ -347,7 +347,7 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi | |||
| if (RBSMainActivity.this.selectedArcherySetup != null | |||
| && RBSMainActivity.this.selectedArcherySetup.getSight().getId() == sight.getId()) { | |||
| RBSMainActivity.this.scHeVSSpinner.setSelectionByVal(DF.format(RBSMainActivity.this.selectedArcherySetup | |||
| .getSightHorSetting())); | |||
| .getSightHorzSetting())); | |||
| } | |||
| } else { | |||
| RBSMainActivity.this.scHeVSSpinner.setSelectionByVal(RBSMainActivity.this.selectedHeVS); | |||
| @@ -0,0 +1,307 @@ | |||
| package ch.spherIC.recurvebowsight.configuration; | |||
| import android.app.Activity; | |||
| import android.app.AlertDialog; | |||
| import android.content.DialogInterface; | |||
| import android.content.pm.ActivityInfo; | |||
| import android.os.Bundle; | |||
| import android.view.Gravity; | |||
| import android.view.Menu; | |||
| import android.view.View; | |||
| import android.view.View.OnClickListener; | |||
| import android.widget.AdapterView; | |||
| import android.widget.AdapterView.OnItemSelectedListener; | |||
| import android.widget.Button; | |||
| import android.widget.TextView; | |||
| import android.widget.Toast; | |||
| import ch.spherIC.recurvebowsight.R; | |||
| import ch.spherIC.recurvebowsight.components.FontArrayAdapter; | |||
| import ch.spherIC.recurvebowsight.components.RiserSpinner; | |||
| import ch.spherIC.recurvebowsight.components.SightSpinner; | |||
| import ch.spherIC.recurvebowsight.components.XSpinner; | |||
| import ch.spherIC.recurvebowsight.database.dao.ArcherySetupDao; | |||
| import ch.spherIC.recurvebowsight.database.dao.RiserDao; | |||
| import ch.spherIC.recurvebowsight.database.dao.SightDao; | |||
| import ch.spherIC.recurvebowsight.model.ArcherySetup; | |||
| import ch.spherIC.recurvebowsight.model.IArcherySetup; | |||
| import ch.spherIC.recurvebowsight.model.IRiser; | |||
| import ch.spherIC.recurvebowsight.model.ISight; | |||
| import ch.spherIC.recurvebowsight.utilities.CompatibilityUtil; | |||
| import ch.spherIC.recurvebowsight.utilities.PlatformUtils; | |||
| import java.text.DecimalFormat; | |||
| import java.util.List; | |||
| public class ArcherySetupConfigurationActivity extends Activity { | |||
| public static final DecimalFormat DF = new DecimalFormat("0.###"); | |||
| private XSpinner asArcherySetupSpinner; | |||
| private TextView asLabelTxtFld; | |||
| private SightSpinner asSightSpinner; | |||
| private RiserSpinner asRiserSpinner; | |||
| private TextView asArrowDiameterTxtFld; | |||
| private TextView asArrowCwTxtFld; | |||
| private TextView asArrowWeightTxtFld; | |||
| private TextView asArrowV0TxtFld; | |||
| private TextView asArrowCenterHeightTxtFld; | |||
| private TextView asBowPulloutTxtFld; | |||
| private TextView asArrowNockHeightTxtFld; | |||
| private TextView ashNATxtFld; | |||
| private TextView asDeltaTimeTxtFld; | |||
| private TextView asCalcPrecisionTxtFld; | |||
| private TextView asSightVertScaleMiddleTxtFld; | |||
| private TextView asSightHorzSettingTxtFld; | |||
| private Button newBtn; | |||
| private Button saveBtn; | |||
| private Button deleteBtn; | |||
| private IArcherySetup selectedArcherySetup; | |||
| @Override | |||
| protected void onCreate(final Bundle savedInstanceState) { | |||
| super.onCreate(savedInstanceState); | |||
| setContentView(R.layout.activity_archery_setup_configuration); | |||
| if (CompatibilityUtil.isTablet(getApplicationContext())) { | |||
| setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); | |||
| } else { | |||
| setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); | |||
| } | |||
| initializeComponents(); | |||
| addArcherySetupSpinnerListener(); | |||
| addButtonListeners(); | |||
| loadSpinners(); | |||
| loadArcherySetupSpinner(); | |||
| } | |||
| private void loadSpinners() { | |||
| List<ISight> sights = SightDao.getInstance().loadAll(); | |||
| List<IRiser> risers = RiserDao.getInstance().loadAll(); | |||
| this.asSightSpinner.setAdapter(new FontArrayAdapter<ISight>(this, R.layout.rbs_spinner, sights, this.asSightSpinner)); | |||
| this.asRiserSpinner.setAdapter(new FontArrayAdapter<IRiser>(this, R.layout.rbs_spinner, risers, this.asRiserSpinner)); | |||
| } | |||
| private void loadArcherySetupSpinner() { | |||
| List<IArcherySetup> archerySetups = ArcherySetupDao.getInstance().loadAll(); | |||
| this.asArcherySetupSpinner.setAdapter(new FontArrayAdapter<IArcherySetup>(this, R.layout.rbs_spinner, archerySetups, | |||
| this.asArcherySetupSpinner)); | |||
| } | |||
| private void initializeComponents() { | |||
| this.asArcherySetupSpinner = (XSpinner) findViewById(R.id.asArcherySetupSpinner); | |||
| this.asLabelTxtFld = (TextView) findViewById(R.id.asLabelTxtFld); | |||
| this.asSightSpinner = (SightSpinner) findViewById(R.id.asSightSpinner); | |||
| this.asRiserSpinner = (RiserSpinner) findViewById(R.id.asRiserSpinner); | |||
| this.asArrowDiameterTxtFld = (TextView) findViewById(R.id.asArrowDiameterTxtFld); | |||
| this.asArrowCwTxtFld = (TextView) findViewById(R.id.asArrowCwTxtFld); | |||
| this.asArrowWeightTxtFld = (TextView) findViewById(R.id.asArrowWeigthTxtFld); | |||
| this.asArrowV0TxtFld = (TextView) findViewById(R.id.asArrowV0TxtFld); | |||
| this.asArrowCenterHeightTxtFld = (TextView) findViewById(R.id.asTargetHeigthTxtFld); | |||
| this.asBowPulloutTxtFld = (TextView) findViewById(R.id.asBowPulloutTxtFld); | |||
| this.asArrowNockHeightTxtFld = (TextView) findViewById(R.id.asNockHeightTxtFld); | |||
| this.ashNATxtFld = (TextView) findViewById(R.id.ashNATxtFld); | |||
| this.asDeltaTimeTxtFld = (TextView) findViewById(R.id.asDeltaTimeTxtFld); | |||
| this.asCalcPrecisionTxtFld = (TextView) findViewById(R.id.asCalcPrecisionTxtFld); | |||
| this.asSightVertScaleMiddleTxtFld = (TextView) findViewById(R.id.asSightVertScaleMiddleTxtFld); | |||
| this.asSightHorzSettingTxtFld = (TextView) findViewById(R.id.asSightHorzSettingTxtFld); | |||
| this.newBtn = (Button) findViewById(R.id.rcBtnNew); | |||
| this.saveBtn = (Button) findViewById(R.id.rcBtnSave); | |||
| this.deleteBtn = (Button) findViewById(R.id.rcBtnDelete); | |||
| } | |||
| private void addArcherySetupSpinnerListener() { | |||
| this.asArcherySetupSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { | |||
| @Override | |||
| public void onItemSelected(final AdapterView<?> parent, final View view, final int position, | |||
| final long id) { | |||
| IArcherySetup as = (IArcherySetup) ArcherySetupConfigurationActivity.this.asArcherySetupSpinner.getSelectedItem(); | |||
| ArcherySetupConfigurationActivity.this.asLabelTxtFld.setText(as.getName()); | |||
| if (as.getSight() == null) { | |||
| ArcherySetupConfigurationActivity.this.asSightSpinner.setSelection(0); | |||
| } else { | |||
| ArcherySetupConfigurationActivity.this.asSightSpinner.setSelectedSight(as.getSight()); | |||
| } | |||
| if (as.getRiser() == null) { | |||
| ArcherySetupConfigurationActivity.this.asRiserSpinner.setSelection(0); | |||
| } else { | |||
| ArcherySetupConfigurationActivity.this.asRiserSpinner.setSelectedRiser(as.getRiser()); | |||
| } | |||
| ArcherySetupConfigurationActivity.this.asArrowDiameterTxtFld.setText(DF.format(as.getArrowDiameter())); | |||
| ArcherySetupConfigurationActivity.this.asArrowCwTxtFld.setText(DF.format(as.getArrowCw())); | |||
| ArcherySetupConfigurationActivity.this.asArrowWeightTxtFld.setText(DF.format(as.getArrowWeight())); | |||
| ArcherySetupConfigurationActivity.this.asArrowV0TxtFld.setText(DF.format(as.getArrowV0())); | |||
| ArcherySetupConfigurationActivity.this.asArrowCenterHeightTxtFld.setText(DF.format(as.getArrowCenterHeight())); | |||
| ArcherySetupConfigurationActivity.this.asBowPulloutTxtFld.setText(DF.format(as.getBowPullout())); | |||
| ArcherySetupConfigurationActivity.this.asArrowNockHeightTxtFld.setText(DF.format(as.getArrowNockHeight())); | |||
| ArcherySetupConfigurationActivity.this.ashNATxtFld.setText(DF.format(as.getHNA())); | |||
| ArcherySetupConfigurationActivity.this.asDeltaTimeTxtFld.setText(DF.format(as.getDeltaTime())); | |||
| ArcherySetupConfigurationActivity.this.asCalcPrecisionTxtFld.setText(DF.format(as.getCalcPrecision())); | |||
| ArcherySetupConfigurationActivity.this.asSightVertScaleMiddleTxtFld.setText(DF.format(as.getSightVertSkalaMiddle())); | |||
| ArcherySetupConfigurationActivity.this.asSightHorzSettingTxtFld.setText(DF.format(as.getSightHorzSetting())); | |||
| ArcherySetupConfigurationActivity.this.selectedArcherySetup = as; | |||
| } | |||
| @Override | |||
| public void onNothingSelected(final AdapterView<?> parent) { } | |||
| }); | |||
| } | |||
| private void addButtonListeners() { | |||
| this.newBtn.setOnClickListener(new OnClickListener() { | |||
| @Override | |||
| public void onClick(final View v) { | |||
| onNewArcherySetup(); | |||
| } | |||
| }); | |||
| this.saveBtn.setOnClickListener(new OnClickListener() { | |||
| @Override | |||
| public void onClick(final View v) { | |||
| onSaveArcherySetup(); | |||
| } | |||
| }); | |||
| this.deleteBtn.setOnClickListener(new OnClickListener() { | |||
| @Override | |||
| public void onClick(final View v) { | |||
| onDeleteArcherySetup(); | |||
| } | |||
| }); | |||
| } | |||
| /** | |||
| * Löschen. | |||
| */ | |||
| protected void onDeleteArcherySetup() { | |||
| if (this.selectedArcherySetup != null) { | |||
| android.content.DialogInterface.OnClickListener deleteBtnListener = new android.content.DialogInterface.OnClickListener() { | |||
| @Override | |||
| public void onClick(final DialogInterface dialog, final int which) { | |||
| try { | |||
| ArcherySetupDao.getInstance().delete(ArcherySetupConfigurationActivity.this.selectedArcherySetup); | |||
| loadArcherySetupSpinner(); | |||
| } catch (Exception e) { | |||
| Toast toast = Toast.makeText(ArcherySetupConfigurationActivity.this, | |||
| getResources().getString(R.string.caption_Cfg_DeleteNotPossible), Toast.LENGTH_LONG); | |||
| toast.setGravity(Gravity.CENTER, 0, 0); | |||
| toast.show(); | |||
| } | |||
| } | |||
| }; | |||
| AlertDialog dlg = PlatformUtils.getDeleteConfirmDialog(this, this.selectedArcherySetup.toString(), deleteBtnListener); | |||
| dlg.show(); | |||
| } | |||
| } | |||
| /** | |||
| * Speichern. | |||
| */ | |||
| protected void onSaveArcherySetup() { | |||
| if (this.selectedArcherySetup != null) { | |||
| if (!this.asLabelTxtFld.getText().toString().isEmpty() && this.asSightSpinner.getSelectedItem() != null | |||
| && this.asRiserSpinner.getSelectedItem() != null && !this.asArrowDiameterTxtFld.getText().toString().isEmpty() | |||
| && !this.asArrowCwTxtFld.getText().toString().isEmpty() && !this.asArrowWeightTxtFld.getText().toString().isEmpty() | |||
| && !this.asArrowV0TxtFld.getText().toString().isEmpty() && !this.asArrowCenterHeightTxtFld.getText().toString().isEmpty() | |||
| && !this.asArrowNockHeightTxtFld.getText().toString().isEmpty() && !this.asBowPulloutTxtFld.getText().toString().isEmpty() | |||
| && !this.ashNATxtFld.getText().toString().isEmpty() && !this.asDeltaTimeTxtFld.getText().toString().isEmpty() | |||
| && !this.asCalcPrecisionTxtFld.getText().toString().isEmpty() && !this.asSightVertScaleMiddleTxtFld.getText().toString().isEmpty() | |||
| && !this.asSightHorzSettingTxtFld.getText().toString().isEmpty()) { | |||
| this.selectedArcherySetup.setName(this.asLabelTxtFld.getText().toString()); | |||
| this.selectedArcherySetup.setSight(this.asSightSpinner.getSelectedSight()); | |||
| this.selectedArcherySetup.setRiser(this.asRiserSpinner.getSelectedRiser()); | |||
| this.selectedArcherySetup.setArrowDiameter(Double.valueOf(this.asArrowCenterHeightTxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setArrowCw(Double.valueOf(this.asArrowCwTxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setArrowWeight(Double.valueOf(this.asArrowWeightTxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setArrowV0(Double.valueOf(this.asArrowV0TxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setArrowCenterHeight(Double.valueOf(this.asArrowCenterHeightTxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setArrowNockHeight(Double.valueOf(this.asArrowNockHeightTxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setBowPullout(Double.valueOf(this.asBowPulloutTxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setHNA(Double.valueOf(this.ashNATxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setDeltaTime(Double.valueOf(this.asDeltaTimeTxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setCalcPrecision(Double.valueOf(this.asCalcPrecisionTxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setSightVertSkalaMiddle(Double.valueOf(this.asSightVertScaleMiddleTxtFld.getText().toString())); | |||
| this.selectedArcherySetup.setSightHorzSetting(Double.valueOf(this.asSightHorzSettingTxtFld.getText().toString())); | |||
| try { | |||
| if (this.selectedArcherySetup.getId() > 0) { | |||
| ArcherySetupDao.getInstance().update(this.selectedArcherySetup); | |||
| } else { | |||
| this.selectedArcherySetup = ArcherySetupDao.getInstance().insert(this.selectedArcherySetup); | |||
| loadArcherySetupSpinner(); | |||
| this.asArcherySetupSpinner.setSelectionByVal(this.selectedArcherySetup.getName()); | |||
| } | |||
| } catch (Exception e) { | |||
| Toast toast = Toast.makeText(this, getResources().getString(R.string.caption_Cfg_ArcherySetup_SaveNotPossible), | |||
| Toast.LENGTH_LONG); | |||
| toast.setGravity(Gravity.CENTER, 0, 0); | |||
| toast.show(); | |||
| } | |||
| setResult(1); | |||
| } else { | |||
| Toast toast = Toast.makeText(this, getResources().getString(R.string.caption_Cfg_FillAllMandatoryFields), Toast.LENGTH_LONG); | |||
| toast.setGravity(Gravity.CENTER, 0, 0); | |||
| toast.show(); | |||
| } | |||
| } | |||
| } | |||
| /** | |||
| * Einfügen. | |||
| */ | |||
| @SuppressWarnings("unchecked") | |||
| protected void onNewArcherySetup() { | |||
| IArcherySetup newArcherySetup = new ArcherySetup(0, "*", null, null, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d); | |||
| this.selectedArcherySetup = newArcherySetup; | |||
| ((FontArrayAdapter<IArcherySetup>) this.asArcherySetupSpinner.getAdapter()).add(newArcherySetup); | |||
| this.asArcherySetupSpinner.setSelectionByVal(newArcherySetup.getName()); | |||
| this.asArrowDiameterTxtFld.setText(""); | |||
| this.asArrowCwTxtFld.setText(""); | |||
| this.asArrowWeightTxtFld.setText(""); | |||
| this.asArrowV0TxtFld.setText(""); | |||
| this.asArrowCenterHeightTxtFld.setText(""); | |||
| this.asBowPulloutTxtFld.setText(""); | |||
| this.asArrowNockHeightTxtFld.setText(""); | |||
| this.ashNATxtFld.setText(""); | |||
| this.asDeltaTimeTxtFld.setText(""); | |||
| this.asCalcPrecisionTxtFld.setText(""); | |||
| this.asSightVertScaleMiddleTxtFld.setText(""); | |||
| this.asSightHorzSettingTxtFld.setText(""); | |||
| } | |||
| @Override | |||
| public boolean onCreateOptionsMenu(final Menu menu) { | |||
| getMenuInflater().inflate(R.menu.rbs_info_menu, menu); | |||
| return super.onCreateOptionsMenu(menu); | |||
| } | |||
| } | |||
| @@ -69,7 +69,8 @@ public class MainConfigurationActivity extends Activity { | |||
| Intent intent = new Intent(MainConfigurationActivity.this, SightConfigurationActivity.class); | |||
| startActivityForResult(intent, 1); | |||
| } else if (item[0].equals(getResources().getString(R.string.caption_MainCfg_ArcerySetup_MainText))) { | |||
| // | |||
| Intent intent = new Intent(MainConfigurationActivity.this, ArcherySetupConfigurationActivity.class); | |||
| startActivity(intent); | |||
| } | |||
| } | |||
| }); | |||
| @@ -153,6 +153,6 @@ public final class RBSDatabaseHelper extends SQLiteOpenHelper { | |||
| } | |||
| private IArcherySetup getArcherySetupMasterData() { | |||
| return new ArcherySetup(0, "FITA Indoor FS", null, null, 5.8, 3.10, 21d, 64.25, 1.30, 71d, 1.57, 14.8, 0.001, 0.1, 55d, 260d); | |||
| return new ArcherySetup(0, "FITA Indoor FS", null, null, 5.8, 3.10, 21d, 57.60, 1.30, 71d, 1.57, 14.5, 0.001, 0.1, 55d, 260d); | |||
| } | |||
| } | |||
| @@ -69,7 +69,7 @@ public final class ArcherySetupDao extends DAO<IArcherySetup> { | |||
| values.put(TblRBSArcherySetup.COL_DELTATIME, entity.getDeltaTime() != null ? entity.getDeltaTime() : 0d); | |||
| values.put(TblRBSArcherySetup.COL_CALCPRECISION, entity.getCalcPrecision() != null ? entity.getCalcPrecision() : 0d); | |||
| values.put(TblRBSArcherySetup.COL_SIGHTVERTSKALAMIDDLE, entity.getSightVertSkalaMiddle() != null ? entity.getSightVertSkalaMiddle() : 0d); | |||
| values.put(TblRBSArcherySetup.COL_SIGHTHORSETTING, entity.getSightHorSetting() != null ? entity.getSightHorSetting() : 0d); | |||
| values.put(TblRBSArcherySetup.COL_SIGHTHORSETTING, entity.getSightHorzSetting() != null ? entity.getSightHorzSetting() : 0d); | |||
| return values; | |||
| } | |||
| @@ -52,8 +52,21 @@ public class ChooseArcherySetupDlg extends Dialog { | |||
| setContentView(R.layout.rbs_choose_archerysetup_dlg); | |||
| setTitle(getContext().getResources().getText(R.string.menuChooseEquipment)); | |||
| setOnDismissListener(new OnDismissListener() { | |||
| @Override | |||
| public void onDismiss(final DialogInterface dialog) { | |||
| ((RBSMainActivity) ((ContextThemeWrapper) getContext()).getBaseContext()).onArcherySetupDlgDismissed(ChooseArcherySetupDlg.this.archerySetup); | |||
| } | |||
| }); | |||
| } | |||
| @Override | |||
| public void show() { | |||
| super.show(); | |||
| final ListView listView = (ListView) findViewById(R.id.chooseArcerySetupItemsList); | |||
| List<IArcherySetup> setups = new ArrayList<IArcherySetup>(); | |||
| this.archerySetup = null; | |||
| setups.add(new ArcherySetup(-999, "", null, null, null, null, null, null, null, null, null, null, null, null, null, null)); | |||
| setups.addAll(ArcherySetupDao.getInstance().loadAll()); | |||
| @@ -67,19 +80,6 @@ public class ChooseArcherySetupDlg extends Dialog { | |||
| dismiss(); | |||
| } | |||
| }); | |||
| setOnDismissListener(new OnDismissListener() { | |||
| @Override | |||
| public void onDismiss(final DialogInterface dialog) { | |||
| ((RBSMainActivity) ((ContextThemeWrapper) getContext()).getBaseContext()).onArcherySetupDlgDismissed(ChooseArcherySetupDlg.this.archerySetup); | |||
| } | |||
| }); | |||
| } | |||
| @Override | |||
| public void show() { | |||
| super.show(); | |||
| this.archerySetup = null; | |||
| } | |||
| @@ -314,7 +314,7 @@ public class ArcherySetup implements IArcherySetup { | |||
| * @return the sightHorSetting | |||
| */ | |||
| @Override | |||
| public Double getSightHorSetting() { | |||
| public Double getSightHorzSetting() { | |||
| return this.sightHorSetting; | |||
| } | |||
| @@ -322,7 +322,12 @@ public class ArcherySetup implements IArcherySetup { | |||
| * @param sightHorSetting the sightHorSetting to set | |||
| */ | |||
| @Override | |||
| public void setSightHorSetting(final Double sightHorSetting) { | |||
| public void setSightHorzSetting(final Double sightHorSetting) { | |||
| this.sightHorSetting = sightHorSetting; | |||
| } | |||
| @Override | |||
| public String toString() { | |||
| return getName(); | |||
| } | |||
| } | |||
| @@ -61,9 +61,9 @@ public interface IArcherySetup extends IEntity { | |||
| void setSightVertSkalaMiddle(Double middle); | |||
| Double getSightHorSetting(); | |||
| Double getSightHorzSetting(); | |||
| void setSightHorSetting(Double middle); | |||
| void setSightHorzSetting(Double middle); | |||
| String getName(); | |||
| @@ -3,12 +3,17 @@ | |||
| */ | |||
| package ch.spherIC.recurvebowsight.utilities; | |||
| import android.app.AlertDialog; | |||
| import android.content.Context; | |||
| import android.content.DialogInterface; | |||
| import android.graphics.Bitmap; | |||
| import android.graphics.BitmapFactory; | |||
| import android.graphics.Color; | |||
| import ch.spherIC.recurvebowsight.R; | |||
| /** | |||
| * @author FC Smilari | |||
| @@ -47,4 +52,17 @@ public class PlatformUtils { | |||
| return 0; | |||
| } | |||
| public static AlertDialog getDeleteConfirmDialog(final Context context, final String itemToDelete, | |||
| final DialogInterface.OnClickListener okListener) { | |||
| AlertDialog.Builder builder = new AlertDialog.Builder(context); | |||
| String msg = context.getResources().getString(R.string.caption_DeleteMsg, itemToDelete); | |||
| builder = builder.setTitle(R.string.caption_ConfirmDelete).setMessage(msg); | |||
| builder = builder.setPositiveButton(R.string.caption_Delete, okListener).setNegativeButton(android.R.string.cancel, null); | |||
| // Create the AlertDialog object and return it | |||
| return builder.create(); | |||
| } | |||
| } | |||