Commit 2a24825e70ddcb8393496f3a4e4d60c247b1d4aa
1 parent
742ac026
--no commit message
Showing
52 changed files
with
1485 additions
and
80 deletions
DUREX Vendor Control/DatePickerViewController.xib renamed to DUREX Vendor Control/Base.lproj/DatePickerViewController.xib
1 | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES"> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES"> | |
3 | 3 | <dependencies> |
4 | 4 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> |
5 | 5 | </dependencies> |
... | ... | @@ -16,7 +16,7 @@ |
16 | 16 | <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> |
17 | 17 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
18 | 18 | <subviews> |
19 | - <view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="o92-Jq-3Xo"> | |
19 | + <view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="o92-Jq-3Xo"> | |
20 | 20 | <rect key="frame" x="6" y="105" width="308" height="282"/> |
21 | 21 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> |
22 | 22 | <subviews> |
... | ... | @@ -27,7 +27,7 @@ |
27 | 27 | <!--2014-09-02 16:56:26 +0000--> |
28 | 28 | </date> |
29 | 29 | <timeZone key="timeZone" name="America/Los_Angeles"> |
30 | - <mutableData key="data"> | |
30 | + <data key="data"> | |
31 | 31 | VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ |
32 | 32 | y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ |
33 | 33 | 5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g |
... | ... | @@ -45,7 +45,7 @@ f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA |
45 | 45 | AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA |
46 | 46 | AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA |
47 | 47 | AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA |
48 | -</mutableData> | |
48 | +</data> | |
49 | 49 | </timeZone> |
50 | 50 | </datePicker> |
51 | 51 | <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8vW-ig-tUA"> |
... | ... | @@ -54,16 +54,20 @@ AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA |
54 | 54 | <state key="normal" title="Done"> |
55 | 55 | <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> |
56 | 56 | </state> |
57 | + <connections> | |
58 | + <action selector="closePopup:" destination="-1" eventType="touchDragInside" id="Hml-qE-msj"/> | |
59 | + </connections> | |
57 | 60 | </button> |
58 | 61 | </subviews> |
59 | 62 | <color key="backgroundColor" white="1" alpha="0.95000000000000007" colorSpace="calibratedWhite"/> |
60 | 63 | <constraints> |
61 | 64 | <constraint firstItem="8vW-ig-tUA" firstAttribute="top" secondItem="6Ex-R5-AYV" secondAttribute="bottom" constant="8" id="M7C-4g-jy1"/> |
62 | 65 | <constraint firstItem="6Ex-R5-AYV" firstAttribute="centerX" secondItem="8vW-ig-tUA" secondAttribute="centerX" id="QvW-cT-g8h"/> |
66 | + <constraint firstAttribute="centerX" secondItem="8vW-ig-tUA" secondAttribute="centerX" id="t61-ZC-ePU"/> | |
63 | 67 | </constraints> |
64 | 68 | </view> |
65 | 69 | </subviews> |
66 | - <color key="backgroundColor" red="0.95549071730000001" green="1" blue="0.92158219299999999" alpha="0.0" colorSpace="calibratedRGB"/> | |
70 | + <color key="backgroundColor" red="0.023529414087533951" green="0.0039215688593685627" blue="0.0039215688593685627" alpha="0.5" colorSpace="deviceRGB"/> | |
67 | 71 | <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> |
68 | 72 | <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/> |
69 | 73 | </view> | ... | ... |
DUREX Vendor Control/DatePickerViewController_iPad.xib renamed to DUREX Vendor Control/Base.lproj/DatePickerViewController_iPad.xib
1 | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES"> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES"> | |
3 | 3 | <dependencies> |
4 | 4 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> |
5 | 5 | </dependencies> |
... | ... | @@ -27,7 +27,7 @@ |
27 | 27 | <!--2014-09-02 17:36:29 +0000--> |
28 | 28 | </date> |
29 | 29 | <timeZone key="timeZone" name="America/Los_Angeles"> |
30 | - <mutableData key="data"> | |
30 | + <data key="data"> | |
31 | 31 | VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ |
32 | 32 | y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ |
33 | 33 | 5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g |
... | ... | @@ -45,7 +45,7 @@ f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA |
45 | 45 | AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA |
46 | 46 | AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA |
47 | 47 | AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA |
48 | -</mutableData> | |
48 | +</data> | |
49 | 49 | </timeZone> |
50 | 50 | </datePicker> |
51 | 51 | <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RGE-Ye-qon"> |
... | ... | @@ -54,16 +54,20 @@ AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA |
54 | 54 | <state key="normal" title="Done"> |
55 | 55 | <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> |
56 | 56 | </state> |
57 | + <connections> | |
58 | + <action selector="closePopup:" destination="-1" eventType="touchUpInside" id="dVu-yO-EPV"/> | |
59 | + </connections> | |
57 | 60 | </button> |
58 | 61 | </subviews> |
59 | 62 | <color key="backgroundColor" white="1" alpha="0.94999999999999996" colorSpace="custom" customColorSpace="calibratedWhite"/> |
60 | 63 | <constraints> |
61 | 64 | <constraint firstItem="RGE-Ye-qon" firstAttribute="top" secondItem="3XX-v6-qTY" secondAttribute="bottom" constant="8" id="6iZ-h3-wEL"/> |
62 | 65 | <constraint firstItem="3XX-v6-qTY" firstAttribute="centerX" secondItem="RGE-Ye-qon" secondAttribute="centerX" id="8nT-zM-hgt"/> |
66 | + <constraint firstAttribute="centerX" secondItem="RGE-Ye-qon" secondAttribute="centerX" id="oSf-yk-jJ4"/> | |
63 | 67 | </constraints> |
64 | 68 | </view> |
65 | 69 | </subviews> |
66 | - <color key="backgroundColor" white="1" alpha="0.0" colorSpace="custom" customColorSpace="calibratedWhite"/> | |
70 | + <color key="backgroundColor" red="0.023529414087533951" green="0.0039215688593685627" blue="0.0039215688593685627" alpha="0.5" colorSpace="deviceRGB"/> | |
67 | 71 | <constraints> |
68 | 72 | <constraint firstAttribute="centerY" secondItem="YoS-Cq-kfN" secondAttribute="centerY" constant="95.5" id="IRy-Yg-Vj5"/> |
69 | 73 | <constraint firstAttribute="centerX" secondItem="YoS-Cq-kfN" secondAttribute="centerX" id="d3A-NR-o0K"/> | ... | ... |
DUREX Vendor Control/Base.lproj/Localizable.strings
... | ... | @@ -57,4 +57,7 @@ |
57 | 57 | "Nominal Price" = "Nominal Price"; |
58 | 58 | "Discounted Price" = "Discounted Price"; |
59 | 59 | "1€ Change" = "1€ Change"; |
60 | -"50c Change" = "50c Change"; | |
61 | 60 | \ No newline at end of file |
61 | +"50c Change" = "50c Change"; | |
62 | +"Update Date & Time" = "Update Date & Time"; | |
63 | +"Update product price" = "Update product price"; | |
64 | +"Update product name" = "Update product name"; | |
62 | 65 | \ No newline at end of file | ... | ... |
DUREX Vendor Control/Base.lproj/NameChangerViewController.xib
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES"> | |
3 | + <dependencies> | |
4 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> | |
5 | + </dependencies> | |
6 | + <objects> | |
7 | + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="NameChangerViewController"> | |
8 | + <connections> | |
9 | + <outlet property="channel" destination="vbt-3v-Jzm" id="WXq-2C-Kuw"/> | |
10 | + <outlet property="code" destination="UP5-iH-LdU" id="3hy-NY-Mwe"/> | |
11 | + <outlet property="name" destination="jP9-NI-B16" id="K5o-zl-m6e"/> | |
12 | + <outlet property="nameChangerView" destination="Yfy-pU-0Wn" id="HxI-aj-hhm"/> | |
13 | + <outlet property="view" destination="orJ-qi-Y62" id="irH-G8-X8B"/> | |
14 | + </connections> | |
15 | + </placeholder> | |
16 | + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | |
17 | + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="orJ-qi-Y62"> | |
18 | + <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> | |
19 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
20 | + <subviews> | |
21 | + <view contentMode="scaleToFill" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Yfy-pU-0Wn"> | |
22 | + <rect key="frame" x="7" y="118" width="307" height="181"/> | |
23 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
24 | + <subviews> | |
25 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="vbt-3v-Jzm"> | |
26 | + <rect key="frame" x="190" y="20" width="97" height="30"/> | |
27 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
28 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
29 | + <textInputTraits key="textInputTraits"/> | |
30 | + </textField> | |
31 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="UP5-iH-LdU"> | |
32 | + <rect key="frame" x="190" y="59" width="97" height="30"/> | |
33 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
34 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
35 | + <textInputTraits key="textInputTraits"/> | |
36 | + </textField> | |
37 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="jP9-NI-B16"> | |
38 | + <rect key="frame" x="190" y="97" width="97" height="30"/> | |
39 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
40 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
41 | + <textInputTraits key="textInputTraits"/> | |
42 | + </textField> | |
43 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Channel" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="u0t-Gj-gKZ"> | |
44 | + <rect key="frame" x="20" y="24" width="66" height="21"/> | |
45 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
46 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
47 | + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> | |
48 | + <nil key="highlightedColor"/> | |
49 | + </label> | |
50 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Product Code" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zk3-Qc-MYf"> | |
51 | + <rect key="frame" x="20" y="63" width="107" height="21"/> | |
52 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
53 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
54 | + <nil key="highlightedColor"/> | |
55 | + </label> | |
56 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="New Name" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zfh-RB-roO"> | |
57 | + <rect key="frame" x="20" y="101" width="85" height="21"/> | |
58 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
59 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
60 | + <nil key="highlightedColor"/> | |
61 | + </label> | |
62 | + <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Y9f-BL-5ZB"> | |
63 | + <rect key="frame" x="130" y="131" width="46" height="30"/> | |
64 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
65 | + <state key="normal" title="Done"> | |
66 | + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> | |
67 | + </state> | |
68 | + <connections> | |
69 | + <action selector="closePopup:" destination="-1" eventType="touchUpInside" id="fKa-uD-oOi"/> | |
70 | + </connections> | |
71 | + </button> | |
72 | + </subviews> | |
73 | + <color key="backgroundColor" white="1" alpha="0.94999999999999996" colorSpace="calibratedWhite"/> | |
74 | + <constraints> | |
75 | + <constraint firstItem="Zfh-RB-roO" firstAttribute="leading" secondItem="Yfy-pU-0Wn" secondAttribute="leading" constant="20" id="4Xl-Uy-ots"/> | |
76 | + <constraint firstItem="Zfh-RB-roO" firstAttribute="top" secondItem="zk3-Qc-MYf" secondAttribute="bottom" constant="17" id="DJs-b3-pqQ"/> | |
77 | + <constraint firstItem="u0t-Gj-gKZ" firstAttribute="leading" secondItem="Yfy-pU-0Wn" secondAttribute="leading" constant="20" id="FDy-MQ-JZ8"/> | |
78 | + <constraint firstAttribute="trailing" secondItem="jP9-NI-B16" secondAttribute="trailing" constant="20" id="S7F-ml-rti"/> | |
79 | + <constraint firstAttribute="bottom" secondItem="Y9f-BL-5ZB" secondAttribute="bottom" constant="20" id="W0h-rh-xiC"/> | |
80 | + <constraint firstAttribute="trailing" secondItem="vbt-3v-Jzm" secondAttribute="trailing" constant="20" id="Xe6-t2-6JD"/> | |
81 | + <constraint firstItem="zk3-Qc-MYf" firstAttribute="top" secondItem="u0t-Gj-gKZ" secondAttribute="bottom" constant="18" id="c79-yI-89e"/> | |
82 | + <constraint firstAttribute="centerX" secondItem="Y9f-BL-5ZB" secondAttribute="centerX" constant="0.5" id="cVt-eu-j0C"/> | |
83 | + <constraint firstItem="zk3-Qc-MYf" firstAttribute="leading" secondItem="Yfy-pU-0Wn" secondAttribute="leading" constant="20" id="hfD-fm-kDf"/> | |
84 | + <constraint firstAttribute="trailing" secondItem="UP5-iH-LdU" secondAttribute="trailing" constant="20" id="i9s-wf-CCF"/> | |
85 | + </constraints> | |
86 | + </view> | |
87 | + </subviews> | |
88 | + <color key="backgroundColor" red="0.023529414089999999" green="0.0039215688589999999" blue="0.0039215688589999999" alpha="0.5" colorSpace="deviceRGB"/> | |
89 | + <constraints> | |
90 | + <constraint firstAttribute="centerY" secondItem="Yfy-pU-0Wn" secondAttribute="centerY" constant="75" id="dMJ-8U-j28"/> | |
91 | + <constraint firstAttribute="centerX" secondItem="Yfy-pU-0Wn" secondAttribute="centerX" constant="-0.5" id="qFe-Tn-pPX"/> | |
92 | + </constraints> | |
93 | + <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> | |
94 | + <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/> | |
95 | + </view> | |
96 | + </objects> | |
97 | +</document> | ... | ... |
DUREX Vendor Control/Base.lproj/NameChangerViewController_iPad.xib
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES"> | |
3 | + <dependencies> | |
4 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> | |
5 | + </dependencies> | |
6 | + <objects> | |
7 | + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="NameChangerViewController"> | |
8 | + <connections> | |
9 | + <outlet property="channel" destination="Emm-7B-NhE" id="OAy-2X-LuI"/> | |
10 | + <outlet property="code" destination="0sU-V8-QVn" id="GrA-Q8-TAA"/> | |
11 | + <outlet property="name" destination="Mqg-fy-qfX" id="c9o-Jt-Wee"/> | |
12 | + <outlet property="nameChangerView" destination="LIm-mD-lnc" id="rQp-n6-jZy"/> | |
13 | + <outlet property="view" destination="EZb-og-Xrl" id="7dy-Dh-sBZ"/> | |
14 | + </connections> | |
15 | + </placeholder> | |
16 | + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | |
17 | + <view contentMode="scaleToFill" id="EZb-og-Xrl"> | |
18 | + <rect key="frame" x="0.0" y="0.0" width="768" height="1024"/> | |
19 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
20 | + <subviews> | |
21 | + <view contentMode="scaleToFill" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LIm-mD-lnc"> | |
22 | + <rect key="frame" x="213" y="294" width="343" height="177"/> | |
23 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
24 | + <subviews> | |
25 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Emm-7B-NhE"> | |
26 | + <rect key="frame" x="226" y="17" width="97" height="30"/> | |
27 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
28 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
29 | + <textInputTraits key="textInputTraits"/> | |
30 | + </textField> | |
31 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="0sU-V8-QVn"> | |
32 | + <rect key="frame" x="226" y="56" width="97" height="30"/> | |
33 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
34 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
35 | + <textInputTraits key="textInputTraits"/> | |
36 | + </textField> | |
37 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Mqg-fy-qfX"> | |
38 | + <rect key="frame" x="226" y="95" width="97" height="30"/> | |
39 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
40 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
41 | + <textInputTraits key="textInputTraits"/> | |
42 | + </textField> | |
43 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Channel" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9PW-xp-3t9"> | |
44 | + <rect key="frame" x="20" y="21" width="64" height="21"/> | |
45 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
46 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
47 | + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> | |
48 | + <nil key="highlightedColor"/> | |
49 | + </label> | |
50 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Product Code" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RCD-6Z-45A"> | |
51 | + <rect key="frame" x="20" y="60" width="107" height="21"/> | |
52 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
53 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
54 | + <nil key="highlightedColor"/> | |
55 | + </label> | |
56 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="New Name" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pLv-EG-y2m"> | |
57 | + <rect key="frame" x="20" y="98" width="85" height="21"/> | |
58 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
59 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
60 | + <nil key="highlightedColor"/> | |
61 | + </label> | |
62 | + <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Md5-1l-LqY"> | |
63 | + <rect key="frame" x="148" y="127" width="46" height="30"/> | |
64 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
65 | + <state key="normal" title="Done"> | |
66 | + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> | |
67 | + </state> | |
68 | + <connections> | |
69 | + <action selector="closePopup:" destination="-1" eventType="touchUpInside" id="eeR-C7-bL8"/> | |
70 | + </connections> | |
71 | + </button> | |
72 | + </subviews> | |
73 | + <color key="backgroundColor" white="1" alpha="0.94999999999999996" colorSpace="custom" customColorSpace="calibratedWhite"/> | |
74 | + <constraints> | |
75 | + <constraint firstAttribute="trailing" secondItem="Mqg-fy-qfX" secondAttribute="trailing" constant="20" id="3dG-Y6-RcB"/> | |
76 | + <constraint firstItem="9PW-xp-3t9" firstAttribute="leading" secondItem="LIm-mD-lnc" secondAttribute="leading" constant="20" id="5cR-84-mkF"/> | |
77 | + <constraint firstItem="pLv-EG-y2m" firstAttribute="leading" secondItem="LIm-mD-lnc" secondAttribute="leading" constant="20" id="71g-b1-lP0"/> | |
78 | + <constraint firstAttribute="trailing" secondItem="Emm-7B-NhE" secondAttribute="trailing" constant="20" id="Djn-mi-3Ed"/> | |
79 | + <constraint firstAttribute="centerX" secondItem="Md5-1l-LqY" secondAttribute="centerX" constant="0.5" id="Z6u-Gn-LXz"/> | |
80 | + <constraint firstItem="Mqg-fy-qfX" firstAttribute="top" secondItem="0sU-V8-QVn" secondAttribute="bottom" constant="8" id="dYK-nL-LGw"/> | |
81 | + <constraint firstItem="RCD-6Z-45A" firstAttribute="leading" secondItem="LIm-mD-lnc" secondAttribute="leading" constant="20" id="eZd-4s-kd1"/> | |
82 | + <constraint firstAttribute="bottom" secondItem="Md5-1l-LqY" secondAttribute="bottom" constant="20" id="hb1-WU-uJX"/> | |
83 | + <constraint firstItem="RCD-6Z-45A" firstAttribute="top" secondItem="9PW-xp-3t9" secondAttribute="bottom" constant="18" id="oCQ-J2-GWR"/> | |
84 | + <constraint firstItem="0sU-V8-QVn" firstAttribute="top" secondItem="Emm-7B-NhE" secondAttribute="bottom" constant="8" id="rvz-Oc-hbC"/> | |
85 | + <constraint firstItem="pLv-EG-y2m" firstAttribute="top" secondItem="RCD-6Z-45A" secondAttribute="bottom" constant="17" id="vnW-bp-wrA"/> | |
86 | + <constraint firstAttribute="trailing" secondItem="0sU-V8-QVn" secondAttribute="trailing" constant="20" id="xxe-g4-xO5"/> | |
87 | + </constraints> | |
88 | + </view> | |
89 | + </subviews> | |
90 | + <color key="backgroundColor" red="0.023529414089999999" green="0.0039215688589999999" blue="0.0039215688589999999" alpha="0.5" colorSpace="deviceRGB"/> | |
91 | + <constraints> | |
92 | + <constraint firstAttribute="centerY" secondItem="LIm-mD-lnc" secondAttribute="centerY" constant="129" id="CKd-ne-r1F"/> | |
93 | + <constraint firstAttribute="centerX" secondItem="LIm-mD-lnc" secondAttribute="centerX" constant="-0.5" id="kDS-c0-LBA"/> | |
94 | + </constraints> | |
95 | + <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> | |
96 | + </view> | |
97 | + </objects> | |
98 | +</document> | ... | ... |
DUREX Vendor Control/Base.lproj/PriceChangerViewController.xib
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES"> | |
3 | + <dependencies> | |
4 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> | |
5 | + </dependencies> | |
6 | + <objects> | |
7 | + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="PriceChangerViewController"> | |
8 | + <connections> | |
9 | + <outlet property="channel" destination="0IF-Ml-nmK" id="8uw-9W-nHO"/> | |
10 | + <outlet property="code" destination="0IF-Ml-nmK" id="oeg-QC-UEa"/> | |
11 | + <outlet property="price" destination="0ap-q1-lJS" id="sSP-HQ-Xcj"/> | |
12 | + <outlet property="priceChangerView" destination="6eG-rz-OsA" id="cZv-wv-biI"/> | |
13 | + <outlet property="view" destination="Vhv-I1-cgL" id="V0H-oP-oWU"/> | |
14 | + </connections> | |
15 | + </placeholder> | |
16 | + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | |
17 | + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="Vhv-I1-cgL"> | |
18 | + <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> | |
19 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
20 | + <subviews> | |
21 | + <view contentMode="scaleToFill" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6eG-rz-OsA"> | |
22 | + <rect key="frame" x="7" y="118" width="307" height="181"/> | |
23 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
24 | + <subviews> | |
25 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Yrc-dD-lC1"> | |
26 | + <rect key="frame" x="190" y="20" width="97" height="30"/> | |
27 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
28 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
29 | + <textInputTraits key="textInputTraits"/> | |
30 | + </textField> | |
31 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="0IF-Ml-nmK"> | |
32 | + <rect key="frame" x="190" y="59" width="97" height="30"/> | |
33 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
34 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
35 | + <textInputTraits key="textInputTraits"/> | |
36 | + </textField> | |
37 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="0ap-q1-lJS"> | |
38 | + <rect key="frame" x="190" y="97" width="97" height="30"/> | |
39 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
40 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
41 | + <textInputTraits key="textInputTraits"/> | |
42 | + </textField> | |
43 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Channel" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VCq-As-NrV"> | |
44 | + <rect key="frame" x="20" y="24" width="66" height="21"/> | |
45 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
46 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
47 | + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> | |
48 | + <nil key="highlightedColor"/> | |
49 | + </label> | |
50 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Product Code" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2cF-of-r57"> | |
51 | + <rect key="frame" x="20" y="63" width="107" height="21"/> | |
52 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
53 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
54 | + <nil key="highlightedColor"/> | |
55 | + </label> | |
56 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="New Price" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Cbx-ha-NZx"> | |
57 | + <rect key="frame" x="20" y="101" width="82" height="21"/> | |
58 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
59 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
60 | + <nil key="highlightedColor"/> | |
61 | + </label> | |
62 | + <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="slH-Zj-pps"> | |
63 | + <rect key="frame" x="130" y="131" width="46" height="30"/> | |
64 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
65 | + <state key="normal" title="Done"> | |
66 | + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> | |
67 | + </state> | |
68 | + <connections> | |
69 | + <action selector="closePopup:" destination="-1" eventType="touchUpInside" id="16B-95-peJ"/> | |
70 | + </connections> | |
71 | + </button> | |
72 | + </subviews> | |
73 | + <color key="backgroundColor" white="1" alpha="0.94999999999999996" colorSpace="calibratedWhite"/> | |
74 | + <constraints> | |
75 | + <constraint firstAttribute="trailing" secondItem="0ap-q1-lJS" secondAttribute="trailing" constant="20" id="7GE-ll-lvy"/> | |
76 | + <constraint firstAttribute="centerX" secondItem="slH-Zj-pps" secondAttribute="centerX" constant="0.5" id="8wy-KG-YiS"/> | |
77 | + <constraint firstItem="Cbx-ha-NZx" firstAttribute="leading" secondItem="6eG-rz-OsA" secondAttribute="leading" constant="20" id="KKA-RW-IHT"/> | |
78 | + <constraint firstItem="Cbx-ha-NZx" firstAttribute="top" secondItem="2cF-of-r57" secondAttribute="bottom" constant="17" id="NdB-eX-528"/> | |
79 | + <constraint firstAttribute="trailing" secondItem="Yrc-dD-lC1" secondAttribute="trailing" constant="20" id="QHF-7B-Ic6"/> | |
80 | + <constraint firstAttribute="trailing" secondItem="0IF-Ml-nmK" secondAttribute="trailing" constant="20" id="XV4-Tn-CS3"/> | |
81 | + <constraint firstItem="2cF-of-r57" firstAttribute="top" secondItem="VCq-As-NrV" secondAttribute="bottom" constant="18" id="Zyz-on-i4t"/> | |
82 | + <constraint firstItem="2cF-of-r57" firstAttribute="leading" secondItem="6eG-rz-OsA" secondAttribute="leading" constant="20" id="bxk-cG-hJO"/> | |
83 | + <constraint firstAttribute="bottom" secondItem="slH-Zj-pps" secondAttribute="bottom" constant="20" id="fiT-k5-kVx"/> | |
84 | + <constraint firstItem="VCq-As-NrV" firstAttribute="leading" secondItem="6eG-rz-OsA" secondAttribute="leading" constant="20" id="i5D-Xb-H4X"/> | |
85 | + </constraints> | |
86 | + </view> | |
87 | + </subviews> | |
88 | + <color key="backgroundColor" red="0.023529414089999999" green="0.0039215688589999999" blue="0.0039215688589999999" alpha="0.5" colorSpace="deviceRGB"/> | |
89 | + <constraints> | |
90 | + <constraint firstAttribute="centerY" secondItem="6eG-rz-OsA" secondAttribute="centerY" constant="75" id="Nqt-Ai-WrO"/> | |
91 | + <constraint firstAttribute="centerX" secondItem="6eG-rz-OsA" secondAttribute="centerX" constant="-0.5" id="ShJ-gZ-P8L"/> | |
92 | + </constraints> | |
93 | + <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> | |
94 | + <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/> | |
95 | + </view> | |
96 | + </objects> | |
97 | +</document> | ... | ... |
DUREX Vendor Control/Base.lproj/PriceChangerViewController_iPad.xib
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES"> | |
3 | + <dependencies> | |
4 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> | |
5 | + </dependencies> | |
6 | + <objects> | |
7 | + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="PriceChangerViewController"> | |
8 | + <connections> | |
9 | + <outlet property="channel" destination="ERH-UB-KNz" id="QrG-rb-i8H"/> | |
10 | + <outlet property="code" destination="hmJ-zn-ogZ" id="cHl-UZ-oZf"/> | |
11 | + <outlet property="price" destination="suL-QX-iE6" id="H0X-Xn-ocY"/> | |
12 | + <outlet property="priceChangerView" destination="5MK-ZF-rTd" id="khJ-kq-bL5"/> | |
13 | + <outlet property="view" destination="L2v-kA-zS5" id="YjT-ih-9sK"/> | |
14 | + </connections> | |
15 | + </placeholder> | |
16 | + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | |
17 | + <view contentMode="scaleToFill" id="L2v-kA-zS5"> | |
18 | + <rect key="frame" x="0.0" y="0.0" width="768" height="1024"/> | |
19 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
20 | + <subviews> | |
21 | + <view contentMode="scaleToFill" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5MK-ZF-rTd"> | |
22 | + <rect key="frame" x="213" y="294" width="343" height="177"/> | |
23 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
24 | + <subviews> | |
25 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="ERH-UB-KNz"> | |
26 | + <rect key="frame" x="226" y="17" width="97" height="30"/> | |
27 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
28 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
29 | + <textInputTraits key="textInputTraits"/> | |
30 | + </textField> | |
31 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="hmJ-zn-ogZ"> | |
32 | + <rect key="frame" x="226" y="56" width="97" height="30"/> | |
33 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
34 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
35 | + <textInputTraits key="textInputTraits"/> | |
36 | + </textField> | |
37 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="suL-QX-iE6"> | |
38 | + <rect key="frame" x="226" y="95" width="97" height="30"/> | |
39 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
40 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
41 | + <textInputTraits key="textInputTraits"/> | |
42 | + </textField> | |
43 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Channel" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6M6-Rz-v0B"> | |
44 | + <rect key="frame" x="20" y="21" width="64" height="21"/> | |
45 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
46 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
47 | + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> | |
48 | + <nil key="highlightedColor"/> | |
49 | + </label> | |
50 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Product Code" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="y0J-fk-3XQ"> | |
51 | + <rect key="frame" x="20" y="60" width="107" height="21"/> | |
52 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
53 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
54 | + <nil key="highlightedColor"/> | |
55 | + </label> | |
56 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="New Price" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CRj-D6-8bV"> | |
57 | + <rect key="frame" x="20" y="98" width="79" height="21"/> | |
58 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
59 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
60 | + <nil key="highlightedColor"/> | |
61 | + </label> | |
62 | + <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BsH-aP-YXx"> | |
63 | + <rect key="frame" x="148" y="127" width="46" height="30"/> | |
64 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
65 | + <state key="normal" title="Done"> | |
66 | + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> | |
67 | + </state> | |
68 | + <connections> | |
69 | + <action selector="closePopup:" destination="-1" eventType="touchUpInside" id="t74-LH-dPA"/> | |
70 | + </connections> | |
71 | + </button> | |
72 | + </subviews> | |
73 | + <color key="backgroundColor" white="1" alpha="0.94999999999999996" colorSpace="custom" customColorSpace="calibratedWhite"/> | |
74 | + <constraints> | |
75 | + <constraint firstItem="y0J-fk-3XQ" firstAttribute="leading" secondItem="5MK-ZF-rTd" secondAttribute="leading" constant="20" id="LSk-KG-aOB"/> | |
76 | + <constraint firstItem="y0J-fk-3XQ" firstAttribute="top" secondItem="6M6-Rz-v0B" secondAttribute="bottom" constant="18" id="M4d-Ez-pHf"/> | |
77 | + <constraint firstItem="CRj-D6-8bV" firstAttribute="leading" secondItem="5MK-ZF-rTd" secondAttribute="leading" constant="20" id="Oza-iy-MaH"/> | |
78 | + <constraint firstItem="6M6-Rz-v0B" firstAttribute="leading" secondItem="5MK-ZF-rTd" secondAttribute="leading" constant="20" id="Sma-ZL-ALv"/> | |
79 | + <constraint firstItem="CRj-D6-8bV" firstAttribute="top" secondItem="y0J-fk-3XQ" secondAttribute="bottom" constant="17" id="duF-LR-Sda"/> | |
80 | + <constraint firstAttribute="trailing" secondItem="suL-QX-iE6" secondAttribute="trailing" constant="20" id="jtP-QM-5L3"/> | |
81 | + <constraint firstItem="suL-QX-iE6" firstAttribute="top" secondItem="hmJ-zn-ogZ" secondAttribute="bottom" constant="8" id="kcG-tJ-Cyy"/> | |
82 | + <constraint firstItem="hmJ-zn-ogZ" firstAttribute="top" secondItem="ERH-UB-KNz" secondAttribute="bottom" constant="8" id="pNy-vJ-e91"/> | |
83 | + <constraint firstAttribute="centerX" secondItem="BsH-aP-YXx" secondAttribute="centerX" constant="0.5" id="sN6-ce-scm"/> | |
84 | + <constraint firstAttribute="bottom" secondItem="BsH-aP-YXx" secondAttribute="bottom" constant="20" id="tse-ri-BEr"/> | |
85 | + <constraint firstAttribute="trailing" secondItem="ERH-UB-KNz" secondAttribute="trailing" constant="20" id="uN1-od-vVE"/> | |
86 | + <constraint firstAttribute="trailing" secondItem="hmJ-zn-ogZ" secondAttribute="trailing" constant="20" id="usS-ZK-EDY"/> | |
87 | + </constraints> | |
88 | + </view> | |
89 | + </subviews> | |
90 | + <color key="backgroundColor" red="0.023529414089999999" green="0.0039215688589999999" blue="0.0039215688589999999" alpha="0.5" colorSpace="deviceRGB"/> | |
91 | + <constraints> | |
92 | + <constraint firstAttribute="centerX" secondItem="5MK-ZF-rTd" secondAttribute="centerX" constant="-0.5" id="Lzg-nt-yLC"/> | |
93 | + <constraint firstAttribute="centerY" secondItem="5MK-ZF-rTd" secondAttribute="centerY" constant="129" id="iRc-aE-qBX"/> | |
94 | + </constraints> | |
95 | + <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> | |
96 | + </view> | |
97 | + </objects> | |
98 | +</document> | ... | ... |
DUREX Vendor Control/CommunicationProtocol.m
... | ... | @@ -106,11 +106,11 @@ |
106 | 106 | |
107 | 107 | -(NSString*) readMessage |
108 | 108 | { |
109 | - __block uint8_t numPackets, numBytes; | |
109 | + __block uint8_t numPackets = 1, numBytes; //HACK! | |
110 | 110 | __block NSMutableString *message = [[NSMutableString alloc] init]; |
111 | 111 | [message setString:@""]; |
112 | - if([self waitForMessageAvailableDevice:TRUE]) | |
113 | - //if(1) //HACK! | |
112 | + //if([self waitForMessageAvailableDevice:TRUE]) | |
113 | + if(1) //HACK! | |
114 | 114 | { |
115 | 115 | [[EMConnectionManager sharedManager] readResource:@"numPackets" onSuccess:^(id readValue) |
116 | 116 | { |
... | ... | @@ -126,8 +126,8 @@ |
126 | 126 | { |
127 | 127 | for(int i = 0; i < numPackets; i++) |
128 | 128 | { |
129 | - if([self waitForMessageAvailableDevice:TRUE]) | |
130 | - //if(1)//HACK! | |
129 | + //if([self waitForMessageAvailableDevice:TRUE]) | |
130 | + if(1)//HACK! | |
131 | 131 | { |
132 | 132 | [[EMConnectionManager sharedManager] readResource:@"numBytes" onSuccess:^(id readValue) |
133 | 133 | { |
... | ... | @@ -144,6 +144,7 @@ |
144 | 144 | [[EMConnectionManager sharedManager] readResource:@"data" onSuccess:^(id readValue) |
145 | 145 | { |
146 | 146 | [message appendString: readValue]; |
147 | + [message setString: [message substringToIndex:numBytes]]; | |
147 | 148 | NSLog(@"[CommunicationProtocol.m]: data read: %@",message); |
148 | 149 | } |
149 | 150 | onFail:^(NSError *error) |
... | ... | @@ -170,15 +171,6 @@ |
170 | 171 | } |
171 | 172 | } |
172 | 173 | } |
173 | - [[EMConnectionManager sharedManager] writeValue:@"0" toResource:@"messageAvailableDevice" onSuccess:^ | |
174 | - { | |
175 | - NSLog(@"[CommunicationProtocol.m]: messageAvailableDevice set to FALSE"); | |
176 | - } | |
177 | - onFail:^(NSError *error) | |
178 | - { | |
179 | - NSLog(@"[CommunicationProtocol.m]: %@",error); | |
180 | - } | |
181 | - ]; | |
182 | 174 | NSLog(@"[CommunicationProtocol.m]: Message received: %@",message); |
183 | 175 | return message; |
184 | 176 | } |
... | ... | @@ -187,8 +179,8 @@ |
187 | 179 | { |
188 | 180 | unsigned long remainingBytes = [message length]; |
189 | 181 | uint8_t numBytes, current_index = 0; |
190 | - __block Boolean status = FALSE; | |
191 | - __block Boolean blockCompleted = FALSE; | |
182 | + __block Boolean status = TRUE; //HACK | |
183 | + __block Boolean blockCompleted = TRUE; //HACK! | |
192 | 184 | [[EMConnectionManager sharedManager] writeValue:@"0" toResource:@"messageAvailableMobile" onSuccess:^ |
193 | 185 | { |
194 | 186 | status = TRUE; | ... | ... |
DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.pbxproj
... | ... | @@ -19,9 +19,15 @@ |
19 | 19 | 34AAB885189804FF0019860D /* EMDevicePickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34AAB87A189804FF0019860D /* EMDevicePickerViewController.m */; }; |
20 | 20 | 34AAB889189804FF0019860D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 34AAB880189804FF0019860D /* main.m */; }; |
21 | 21 | 34AAB88D189805300019860D /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 34AAB88C189805300019860D /* Images.xcassets */; }; |
22 | + F9015D9019B73052006C7882 /* DatePickerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F9015D9219B73052006C7882 /* DatePickerViewController.xib */; }; | |
23 | + F9015D9719B7305E006C7882 /* DatePickerViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F9015D9919B7305E006C7882 /* DatePickerViewController_iPad.xib */; }; | |
24 | + F92F567919B75F5E00A1EACA /* PriceChangerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F92F567719B75F5E00A1EACA /* PriceChangerViewController.m */; }; | |
25 | + F92F567D19B7609C00A1EACA /* PriceChangerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F92F567F19B7609C00A1EACA /* PriceChangerViewController.xib */; }; | |
26 | + F92F568419B760A800A1EACA /* PriceChangerViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F92F568619B760A800A1EACA /* PriceChangerViewController_iPad.xib */; }; | |
27 | + F92F569019B763FD00A1EACA /* NameChangerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F92F568E19B763FD00A1EACA /* NameChangerViewController.m */; }; | |
28 | + F92F569219B7665F00A1EACA /* NameChangerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F92F569419B7665F00A1EACA /* NameChangerViewController.xib */; }; | |
29 | + F92F569B19B76A5D00A1EACA /* NameChangerViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F92F569D19B76A5D00A1EACA /* NameChangerViewController_iPad.xib */; }; | |
22 | 30 | F933F80419B6819400521B90 /* DatePickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F933F80219B6819400521B90 /* DatePickerViewController.m */; }; |
23 | - F933F80519B6819400521B90 /* DatePickerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F933F80319B6819400521B90 /* DatePickerViewController.xib */; }; | |
24 | - F933F80719B681E000521B90 /* DatePickerViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F933F80619B681E000521B90 /* DatePickerViewController_iPad.xib */; }; | |
25 | 31 | F961D804199A5F1000E9282C /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F961D806199A5F1000E9282C /* MainStoryboard.storyboard */; }; |
26 | 32 | F961D80C199A5F2D00E9282C /* back_arrow.png in Resources */ = {isa = PBXBuildFile; fileRef = F961D80E199A5F2D00E9282C /* back_arrow.png */; }; |
27 | 33 | F961D816199A5FA000E9282C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F961D814199A5FA000E9282C /* Localizable.strings */; }; |
... | ... | @@ -75,10 +81,30 @@ |
75 | 81 | 34AAB87F189804FF0019860D /* DUREX Vendor Control-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "DUREX Vendor Control-Prefix.pch"; path = "FirstAppExample/DUREX Vendor Control-Prefix.pch"; sourceTree = SOURCE_ROOT; }; |
76 | 82 | 34AAB880189804FF0019860D /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = FirstAppExample/main.m; sourceTree = SOURCE_ROOT; }; |
77 | 83 | 34AAB88C189805300019860D /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = FirstAppExample/Images.xcassets; sourceTree = SOURCE_ROOT; }; |
84 | + F9015D9119B73052006C7882 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/DatePickerViewController.xib; sourceTree = "<group>"; }; | |
85 | + F9015D9419B73056006C7882 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/DatePickerViewController.strings; sourceTree = "<group>"; }; | |
86 | + F9015D9619B73057006C7882 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/DatePickerViewController.strings; sourceTree = "<group>"; }; | |
87 | + F9015D9819B7305E006C7882 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/DatePickerViewController_iPad.xib; sourceTree = "<group>"; }; | |
88 | + F9015D9B19B73062006C7882 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/DatePickerViewController_iPad.strings; sourceTree = "<group>"; }; | |
89 | + F9015D9D19B73062006C7882 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/DatePickerViewController_iPad.strings; sourceTree = "<group>"; }; | |
90 | + F92F567619B75F5E00A1EACA /* PriceChangerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PriceChangerViewController.h; sourceTree = SOURCE_ROOT; }; | |
91 | + F92F567719B75F5E00A1EACA /* PriceChangerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PriceChangerViewController.m; sourceTree = SOURCE_ROOT; }; | |
92 | + F92F567E19B7609C00A1EACA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PriceChangerViewController.xib; sourceTree = "<group>"; }; | |
93 | + F92F568119B760A100A1EACA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PriceChangerViewController.strings; sourceTree = "<group>"; }; | |
94 | + F92F568519B760A800A1EACA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PriceChangerViewController_iPad.xib; sourceTree = "<group>"; }; | |
95 | + F92F568819B760AA00A1EACA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PriceChangerViewController_iPad.strings; sourceTree = "<group>"; }; | |
96 | + F92F568A19B760AB00A1EACA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/PriceChangerViewController_iPad.strings; sourceTree = "<group>"; }; | |
97 | + F92F568C19B7616200A1EACA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/PriceChangerViewController.strings; sourceTree = "<group>"; }; | |
98 | + F92F568D19B763FD00A1EACA /* NameChangerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NameChangerViewController.h; sourceTree = SOURCE_ROOT; }; | |
99 | + F92F568E19B763FD00A1EACA /* NameChangerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NameChangerViewController.m; sourceTree = SOURCE_ROOT; }; | |
100 | + F92F569319B7665F00A1EACA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/NameChangerViewController.xib; sourceTree = "<group>"; }; | |
101 | + F92F569619B7666300A1EACA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/NameChangerViewController.strings; sourceTree = "<group>"; }; | |
102 | + F92F569819B7666400A1EACA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/NameChangerViewController.strings; sourceTree = "<group>"; }; | |
103 | + F92F569C19B76A5D00A1EACA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/NameChangerViewController_iPad.xib; sourceTree = "<group>"; }; | |
104 | + F92F569F19B76A6300A1EACA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/NameChangerViewController_iPad.strings; sourceTree = "<group>"; }; | |
105 | + F92F56A119B76A6400A1EACA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/NameChangerViewController_iPad.strings; sourceTree = "<group>"; }; | |
78 | 106 | F933F80119B6819400521B90 /* DatePickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatePickerViewController.h; sourceTree = SOURCE_ROOT; }; |
79 | 107 | F933F80219B6819400521B90 /* DatePickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DatePickerViewController.m; sourceTree = SOURCE_ROOT; }; |
80 | - F933F80319B6819400521B90 /* DatePickerViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DatePickerViewController.xib; sourceTree = SOURCE_ROOT; }; | |
81 | - F933F80619B681E000521B90 /* DatePickerViewController_iPad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DatePickerViewController_iPad.xib; sourceTree = SOURCE_ROOT; }; | |
82 | 108 | F961D807199A5F1800E9282C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainStoryboard.storyboard; sourceTree = "<group>"; }; |
83 | 109 | F961D809199A5F2200E9282C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainStoryboard.strings; sourceTree = "<group>"; }; |
84 | 110 | F961D80B199A5F2300E9282C /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/MainStoryboard.strings; sourceTree = "<group>"; }; |
... | ... | @@ -176,8 +202,16 @@ |
176 | 202 | F9A8EF7B192FE201009E7532 /* Stack.m */, |
177 | 203 | F933F80119B6819400521B90 /* DatePickerViewController.h */, |
178 | 204 | F933F80219B6819400521B90 /* DatePickerViewController.m */, |
179 | - F933F80319B6819400521B90 /* DatePickerViewController.xib */, | |
180 | - F933F80619B681E000521B90 /* DatePickerViewController_iPad.xib */, | |
205 | + F9015D9219B73052006C7882 /* DatePickerViewController.xib */, | |
206 | + F9015D9919B7305E006C7882 /* DatePickerViewController_iPad.xib */, | |
207 | + F92F567619B75F5E00A1EACA /* PriceChangerViewController.h */, | |
208 | + F92F567719B75F5E00A1EACA /* PriceChangerViewController.m */, | |
209 | + F92F567F19B7609C00A1EACA /* PriceChangerViewController.xib */, | |
210 | + F92F568619B760A800A1EACA /* PriceChangerViewController_iPad.xib */, | |
211 | + F92F568D19B763FD00A1EACA /* NameChangerViewController.h */, | |
212 | + F92F568E19B763FD00A1EACA /* NameChangerViewController.m */, | |
213 | + F92F569419B7665F00A1EACA /* NameChangerViewController.xib */, | |
214 | + F92F569D19B76A5D00A1EACA /* NameChangerViewController_iPad.xib */, | |
181 | 215 | 34AAB88C189805300019860D /* Images.xcassets */, |
182 | 216 | 347186B91807290E00FA0FB2 /* Schemas */, |
183 | 217 | 347186A718070F7F00FA0FB2 /* Device Picker */, |
... | ... | @@ -327,14 +361,18 @@ |
327 | 361 | isa = PBXResourcesBuildPhase; |
328 | 362 | buildActionMask = 2147483647; |
329 | 363 | files = ( |
330 | - F933F80519B6819400521B90 /* DatePickerViewController.xib in Resources */, | |
364 | + F9015D9019B73052006C7882 /* DatePickerViewController.xib in Resources */, | |
331 | 365 | F98356D8192E906600EA6821 /* bluetooth.png in Resources */, |
332 | - F933F80719B681E000521B90 /* DatePickerViewController_iPad.xib in Resources */, | |
366 | + F9015D9719B7305E006C7882 /* DatePickerViewController_iPad.xib in Resources */, | |
333 | 367 | F961D819199A711300E9282C /* EMConnectingView.xib in Resources */, |
334 | 368 | F9C77F50192CDE30002DBE8A /* system.json in Resources */, |
369 | + F92F569B19B76A5D00A1EACA /* NameChangerViewController_iPad.xib in Resources */, | |
370 | + F92F567D19B7609C00A1EACA /* PriceChangerViewController.xib in Resources */, | |
371 | + F92F569219B7665F00A1EACA /* NameChangerViewController.xib in Resources */, | |
335 | 372 | F961D80C199A5F2D00E9282C /* back_arrow.png in Resources */, |
336 | 373 | F961D816199A5FA000E9282C /* Localizable.strings in Resources */, |
337 | 374 | 34AAB88D189805300019860D /* Images.xcassets in Resources */, |
375 | + F92F568419B760A800A1EACA /* PriceChangerViewController_iPad.xib in Resources */, | |
338 | 376 | F961D804199A5F1000E9282C /* MainStoryboard.storyboard in Resources */, |
339 | 377 | ); |
340 | 378 | runOnlyForDeploymentPostprocessing = 0; |
... | ... | @@ -353,10 +391,12 @@ |
353 | 391 | isa = PBXSourcesBuildPhase; |
354 | 392 | buildActionMask = 2147483647; |
355 | 393 | files = ( |
394 | + F92F569019B763FD00A1EACA /* NameChangerViewController.m in Sources */, | |
356 | 395 | F933F80419B6819400521B90 /* DatePickerViewController.m in Sources */, |
357 | 396 | F98356D6192E835F00EA6821 /* InitialViewController.m in Sources */, |
358 | 397 | F9A8EF7C192FE201009E7532 /* Stack.m in Sources */, |
359 | 398 | 34AAB885189804FF0019860D /* EMDevicePickerViewController.m in Sources */, |
399 | + F92F567919B75F5E00A1EACA /* PriceChangerViewController.m in Sources */, | |
360 | 400 | 34AAB883189804FF0019860D /* DUREXAppDelegate.m in Sources */, |
361 | 401 | F98356DB192EAFD400EA6821 /* CommunicationProtocol.m in Sources */, |
362 | 402 | F98356E1192EC84700EA6821 /* MenuTableViewController.m in Sources */, |
... | ... | @@ -382,6 +422,66 @@ |
382 | 422 | /* End PBXTargetDependency section */ |
383 | 423 | |
384 | 424 | /* Begin PBXVariantGroup section */ |
425 | + F9015D9219B73052006C7882 /* DatePickerViewController.xib */ = { | |
426 | + isa = PBXVariantGroup; | |
427 | + children = ( | |
428 | + F9015D9119B73052006C7882 /* Base */, | |
429 | + F9015D9419B73056006C7882 /* en */, | |
430 | + F9015D9619B73057006C7882 /* es */, | |
431 | + ); | |
432 | + name = DatePickerViewController.xib; | |
433 | + sourceTree = SOURCE_ROOT; | |
434 | + }; | |
435 | + F9015D9919B7305E006C7882 /* DatePickerViewController_iPad.xib */ = { | |
436 | + isa = PBXVariantGroup; | |
437 | + children = ( | |
438 | + F9015D9819B7305E006C7882 /* Base */, | |
439 | + F9015D9B19B73062006C7882 /* en */, | |
440 | + F9015D9D19B73062006C7882 /* es */, | |
441 | + ); | |
442 | + name = DatePickerViewController_iPad.xib; | |
443 | + sourceTree = SOURCE_ROOT; | |
444 | + }; | |
445 | + F92F567F19B7609C00A1EACA /* PriceChangerViewController.xib */ = { | |
446 | + isa = PBXVariantGroup; | |
447 | + children = ( | |
448 | + F92F567E19B7609C00A1EACA /* Base */, | |
449 | + F92F568119B760A100A1EACA /* en */, | |
450 | + F92F568C19B7616200A1EACA /* es */, | |
451 | + ); | |
452 | + name = PriceChangerViewController.xib; | |
453 | + sourceTree = SOURCE_ROOT; | |
454 | + }; | |
455 | + F92F568619B760A800A1EACA /* PriceChangerViewController_iPad.xib */ = { | |
456 | + isa = PBXVariantGroup; | |
457 | + children = ( | |
458 | + F92F568519B760A800A1EACA /* Base */, | |
459 | + F92F568819B760AA00A1EACA /* en */, | |
460 | + F92F568A19B760AB00A1EACA /* es */, | |
461 | + ); | |
462 | + name = PriceChangerViewController_iPad.xib; | |
463 | + sourceTree = SOURCE_ROOT; | |
464 | + }; | |
465 | + F92F569419B7665F00A1EACA /* NameChangerViewController.xib */ = { | |
466 | + isa = PBXVariantGroup; | |
467 | + children = ( | |
468 | + F92F569319B7665F00A1EACA /* Base */, | |
469 | + F92F569619B7666300A1EACA /* en */, | |
470 | + F92F569819B7666400A1EACA /* es */, | |
471 | + ); | |
472 | + name = NameChangerViewController.xib; | |
473 | + sourceTree = SOURCE_ROOT; | |
474 | + }; | |
475 | + F92F569D19B76A5D00A1EACA /* NameChangerViewController_iPad.xib */ = { | |
476 | + isa = PBXVariantGroup; | |
477 | + children = ( | |
478 | + F92F569C19B76A5D00A1EACA /* Base */, | |
479 | + F92F569F19B76A6300A1EACA /* en */, | |
480 | + F92F56A119B76A6400A1EACA /* es */, | |
481 | + ); | |
482 | + name = NameChangerViewController_iPad.xib; | |
483 | + sourceTree = SOURCE_ROOT; | |
484 | + }; | |
385 | 485 | F961D806199A5F1000E9282C /* MainStoryboard.storyboard */ = { |
386 | 486 | isa = PBXVariantGroup; |
387 | 487 | children = ( | ... | ... |
DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
DUREX Vendor Control/DUREX Vendor Control.xcodeproj/xcuserdata/imanol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
... | ... | @@ -10,7 +10,7 @@ |
10 | 10 | ignoreCount = "0" |
11 | 11 | continueAfterRunningActions = "No" |
12 | 12 | filePath = "CommunicationProtocol.m" |
13 | - timestampString = "431391382.511911" | |
13 | + timestampString = "431435824.615796" | |
14 | 14 | startingColumnNumber = "9223372036854775807" |
15 | 15 | endingColumnNumber = "9223372036854775807" |
16 | 16 | startingLineNumber = "109" |
... | ... | @@ -22,16 +22,16 @@ |
22 | 22 | <BreakpointProxy |
23 | 23 | BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> |
24 | 24 | <BreakpointContent |
25 | - shouldBeEnabled = "Yes" | |
25 | + shouldBeEnabled = "No" | |
26 | 26 | ignoreCount = "0" |
27 | 27 | continueAfterRunningActions = "No" |
28 | 28 | filePath = "CommunicationProtocol.m" |
29 | - timestampString = "431362674.335425" | |
29 | + timestampString = "431391382.511911" | |
30 | 30 | startingColumnNumber = "9223372036854775807" |
31 | 31 | endingColumnNumber = "9223372036854775807" |
32 | - startingLineNumber = "51" | |
33 | - endingLineNumber = "51" | |
34 | - landmarkName = "-readMessageAvailableDevice" | |
32 | + startingLineNumber = "100" | |
33 | + endingLineNumber = "100" | |
34 | + landmarkName = "-waitForMessageAvailableDevice:" | |
35 | 35 | landmarkType = "5"> |
36 | 36 | </BreakpointContent> |
37 | 37 | </BreakpointProxy> |
... | ... | @@ -45,8 +45,8 @@ |
45 | 45 | timestampString = "431391382.511911" |
46 | 46 | startingColumnNumber = "9223372036854775807" |
47 | 47 | endingColumnNumber = "9223372036854775807" |
48 | - startingLineNumber = "100" | |
49 | - endingLineNumber = "100" | |
48 | + startingLineNumber = "104" | |
49 | + endingLineNumber = "104" | |
50 | 50 | landmarkName = "-waitForMessageAvailableDevice:" |
51 | 51 | landmarkType = "5"> |
52 | 52 | </BreakpointContent> |
... | ... | @@ -57,13 +57,29 @@ |
57 | 57 | shouldBeEnabled = "No" |
58 | 58 | ignoreCount = "0" |
59 | 59 | continueAfterRunningActions = "No" |
60 | - filePath = "CommunicationProtocol.m" | |
61 | - timestampString = "431391382.511911" | |
60 | + filePath = "MenuTableViewController.m" | |
61 | + timestampString = "431435390.453053" | |
62 | 62 | startingColumnNumber = "9223372036854775807" |
63 | 63 | endingColumnNumber = "9223372036854775807" |
64 | - startingLineNumber = "104" | |
65 | - endingLineNumber = "104" | |
66 | - landmarkName = "-waitForMessageAvailableDevice:" | |
64 | + startingLineNumber = "204" | |
65 | + endingLineNumber = "204" | |
66 | + landmarkName = "-viewDidLoad" | |
67 | + landmarkType = "5"> | |
68 | + </BreakpointContent> | |
69 | + </BreakpointProxy> | |
70 | + <BreakpointProxy | |
71 | + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> | |
72 | + <BreakpointContent | |
73 | + shouldBeEnabled = "No" | |
74 | + ignoreCount = "0" | |
75 | + continueAfterRunningActions = "No" | |
76 | + filePath = "DatePickerViewController.m" | |
77 | + timestampString = "431435820.039883" | |
78 | + startingColumnNumber = "9223372036854775807" | |
79 | + endingColumnNumber = "9223372036854775807" | |
80 | + startingLineNumber = "66" | |
81 | + endingLineNumber = "66" | |
82 | + landmarkName = "-closePopup:" | |
67 | 83 | landmarkType = "5"> |
68 | 84 | </BreakpointContent> |
69 | 85 | </BreakpointProxy> | ... | ... |
DUREX Vendor Control/DatePickerViewController.h
... | ... | @@ -13,7 +13,7 @@ |
13 | 13 | #import "DUREXAppDelegate.h" |
14 | 14 | |
15 | 15 | @protocol DatePickerViewControllerDelegate <NSObject> |
16 | -- (void)addItemViewController:(DatePickerViewController*)controller didFinishEnteringItem:(NSDate *)date; | |
16 | +- (void)passDateViewController:(DatePickerViewController*)controller didFinishEnteringItem:(NSDate *)date; | |
17 | 17 | |
18 | 18 | @end |
19 | 19 | ... | ... |
DUREX Vendor Control/DatePickerViewController.m
... | ... | @@ -63,7 +63,7 @@ |
63 | 63 | |
64 | 64 | - (IBAction)closePopup:(id)sender |
65 | 65 | { |
66 | - [self.delegate addItemViewController:self didFinishEnteringItem:[[self datePicker] date]]; | |
66 | + [self.delegate passDateViewController:self didFinishEnteringItem:[[self datePicker] date]]; | |
67 | 67 | [self removeAnimate]; |
68 | 68 | } |
69 | 69 | ... | ... |
DUREX Vendor Control/MenuTableViewController.h
... | ... | @@ -11,6 +11,8 @@ |
11 | 11 | #import "CommunicationProtocol.h" |
12 | 12 | #import "Stack.h" |
13 | 13 | #import "DatePickerViewController.h" |
14 | +#import "PriceChangerViewController.h" | |
15 | +#import "NameChangerViewController.h" | |
14 | 16 | |
15 | 17 | #define num(x) [NSNumber numberWithUnsignedInt:x] |
16 | 18 | |
... | ... | @@ -40,10 +42,12 @@ enum { |
40 | 42 | REPORT, |
41 | 43 | } navigationLevel; |
42 | 44 | |
43 | -@interface MenuTableViewController : UITableViewController <DatePickerViewControllerDelegate> | |
45 | +@interface MenuTableViewController : UITableViewController <DatePickerViewControllerDelegate,PriceChangerViewControllerDelegate,NameChangerViewControllerDelegate> | |
44 | 46 | |
45 | 47 | @property (strong,nonatomic) Stack *parentLayout; |
46 | -@property (strong,nonatomic) DatePickerViewController *popupViewController; | |
48 | +@property (strong,nonatomic) DatePickerViewController *datePickerViewController; | |
49 | +@property (strong,nonatomic) PriceChangerViewController *priceChangerViewController; | |
50 | +@property (strong,nonatomic) NameChangerViewController *nameChangerViewController; | |
47 | 51 | |
48 | 52 | - (void) navBack; |
49 | 53 | ... | ... |
DUREX Vendor Control/MenuTableViewController.m
... | ... | @@ -265,7 +265,7 @@ |
265 | 265 | if([cellName isEqualToString:NSLocalizedString(@"Maintenance", nil)] && [self currentNavLevel] == MENU) |
266 | 266 | { |
267 | 267 | NSLog(@"[MenuTableViewController.m]: Changing to navLevel: MAINTENANCE"); |
268 | - | |
268 | + [_protocol updateProductName:7 :2 :@"Producte #987654321"]; | |
269 | 269 | [self changeNavLevel:MAINTENANCE:TRUE]; |
270 | 270 | } |
271 | 271 | else if([cellName isEqualToString:NSLocalizedString(@"Sales log", nil)] && [self currentNavLevel] == MAINTENANCE) |
... | ... | @@ -283,15 +283,48 @@ |
283 | 283 | { |
284 | 284 | if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) |
285 | 285 | { |
286 | - self.popupViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController_iPad" bundle:nil]; | |
287 | - self.popupViewController.delegate = self; | |
288 | - [self.popupViewController showInView:self.navigationController.view animated:YES]; | |
286 | + //self.popupViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController_iPad" bundle:nil]; | |
287 | + self.datePickerViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController_iPad" bundle:nil]; | |
288 | + self.datePickerViewController.delegate = self; | |
289 | + [self.datePickerViewController showInView:self.navigationController.view animated:YES]; | |
290 | + } | |
291 | + else | |
292 | + { | |
293 | + self.datePickerViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController" bundle:nil]; | |
294 | + self.datePickerViewController.delegate = self; | |
295 | + [self.datePickerViewController showInView:self.navigationController.view animated:YES]; | |
296 | + } | |
297 | + } | |
298 | + else if([cellName isEqualToString:NSLocalizedString(@"Update product price", nil)] && [self currentNavLevel] == BASIC_CONFIGURATION) | |
299 | + { | |
300 | + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) | |
301 | + { | |
302 | + //self.popupViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController_iPad" bundle:nil]; | |
303 | + self.priceChangerViewController = [[PriceChangerViewController alloc] initWithNibName:@"PriceChangerViewController_iPad" bundle:nil]; | |
304 | + self.priceChangerViewController.delegate = self; | |
305 | + [self.priceChangerViewController showInView:self.navigationController.view animated:YES]; | |
289 | 306 | } |
290 | 307 | else |
291 | 308 | { |
292 | - self.popupViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController" bundle:nil]; | |
293 | - self.popupViewController.delegate = self; | |
294 | - [self.popupViewController showInView:self.navigationController.view animated:YES]; | |
309 | + self.priceChangerViewController = [[PriceChangerViewController alloc] initWithNibName:@"PriceChangerViewController" bundle:nil]; | |
310 | + self.priceChangerViewController.delegate = self; | |
311 | + [self.priceChangerViewController showInView:self.navigationController.view animated:YES]; | |
312 | + } | |
313 | + } | |
314 | + else if([cellName isEqualToString:NSLocalizedString(@"Update product name", nil)] && [self currentNavLevel] == BASIC_CONFIGURATION) | |
315 | + { | |
316 | + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) | |
317 | + { | |
318 | + //self.popupViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController_iPad" bundle:nil]; | |
319 | + self.nameChangerViewController = [[NameChangerViewController alloc] initWithNibName:@"NameChangerViewController_iPad" bundle:nil]; | |
320 | + self.nameChangerViewController.delegate = self; | |
321 | + [self.nameChangerViewController showInView:self.navigationController.view animated:YES]; | |
322 | + } | |
323 | + else | |
324 | + { | |
325 | + self.nameChangerViewController = [[NameChangerViewController alloc] initWithNibName:@"NameChangerViewController" bundle:nil]; | |
326 | + self.nameChangerViewController.delegate = self; | |
327 | + [self.nameChangerViewController showInView:self.navigationController.view animated:YES]; | |
295 | 328 | } |
296 | 329 | } |
297 | 330 | } |
... | ... | @@ -360,7 +393,7 @@ |
360 | 393 | return cell; |
361 | 394 | } |
362 | 395 | |
363 | -- (void)addItemViewController:(DatePickerViewController *)controller didFinishEnteringItem:(NSDate *)date | |
396 | +- (void)passDateViewController:(DatePickerViewController *)controller didFinishEnteringItem:(NSDate *)date | |
364 | 397 | { |
365 | 398 | NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; |
366 | 399 | NSCalendarUnit units = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; |
... | ... | @@ -369,6 +402,26 @@ |
369 | 402 | [_protocol updateTime: components]; |
370 | 403 | } |
371 | 404 | |
405 | +- (void)passPriceViewController:(PriceChangerViewController *)controller didFinishEnteringItem:(NSArray *)data | |
406 | +{ | |
407 | + NSLog(@"[MenuTableViewController.m]: %@", data); | |
408 | + //Channel,Code,Price | |
409 | + int channel = [[data objectAtIndex:0] intValue]; | |
410 | + int code = [[data objectAtIndex:1] intValue]; | |
411 | + NSArray *price = [[data objectAtIndex:2] componentsSeparatedByString:@","]; | |
412 | + [_protocol updatePrice:channel :code :[[price objectAtIndex:0] intValue] :[[price objectAtIndex:1] intValue]]; | |
413 | +} | |
414 | + | |
415 | +- (void)passNameViewController:(PriceChangerViewController *)controller didFinishEnteringItem:(NSArray *)data | |
416 | +{ | |
417 | + NSLog(@"[MenuTableViewController.m]: %@", data); | |
418 | + //Channel,Code,Name | |
419 | + int channel = [[data objectAtIndex:0] intValue]; | |
420 | + int code = [[data objectAtIndex:1] intValue]; | |
421 | + NSString *name = [data objectAtIndex:2]; | |
422 | + [_protocol updateProductName:channel :code :name]; | |
423 | +} | |
424 | + | |
372 | 425 | |
373 | 426 | /* |
374 | 427 | // Override to support conditional editing of the table view. | ... | ... |
DUREX Vendor Control/NameChangerViewController.h
0 → 100644
1 | +// | |
2 | +// NameChangerViewController.h | |
3 | +// DUREX Vendor Control | |
4 | +// | |
5 | +// Created by Imanol Barba on 9/3/14. | |
6 | +// Copyright (c) 2014 Emmoco. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +@class NameChangerViewController; | |
10 | + | |
11 | +#import <UIKit/UIKit.h> | |
12 | +#import <QuartzCore/QuartzCore.h> | |
13 | +#import "DUREXAppDelegate.h" | |
14 | + | |
15 | +@protocol NameChangerViewControllerDelegate <NSObject> | |
16 | +- (void)passNameViewController:(NameChangerViewController*)controller didFinishEnteringItem:(NSArray *)data; | |
17 | + | |
18 | +@end | |
19 | + | |
20 | + | |
21 | +@interface NameChangerViewController : UIViewController <UITextFieldDelegate> | |
22 | + | |
23 | +@property (strong, nonatomic) IBOutlet UIView *nameChangerView; | |
24 | +@property (strong, nonatomic) IBOutlet UITextField *name; | |
25 | +@property (strong, nonatomic) IBOutlet UITextField *channel; | |
26 | +@property (strong, nonatomic) IBOutlet UITextField *code; | |
27 | +@property (nonatomic, strong) id <NameChangerViewControllerDelegate> delegate; | |
28 | + | |
29 | +- (void)showInView:(UIView *)aView animated:(BOOL)animated; | |
30 | +- (IBAction)closePopup:(id)sender; | |
31 | + | |
32 | + | |
33 | +@end | |
0 | 34 | \ No newline at end of file | ... | ... |
DUREX Vendor Control/NameChangerViewController.m
0 → 100644
1 | +// | |
2 | +// NameChangerViewController.m | |
3 | +// DUREX Vendor Control | |
4 | +// | |
5 | +// Created by Imanol Barba on 9/3/14. | |
6 | +// Copyright (c) 2014 Emmoco. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import "NameChangerViewController.h" | |
10 | + | |
11 | +@interface NameChangerViewController () | |
12 | + | |
13 | +@end | |
14 | + | |
15 | +@implementation NameChangerViewController | |
16 | + | |
17 | +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil | |
18 | +{ | |
19 | + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; | |
20 | + if (self) { | |
21 | + // Custom initialization | |
22 | + } | |
23 | + return self; | |
24 | +} | |
25 | + | |
26 | +- (void)viewDidLoad | |
27 | +{ | |
28 | + self.nameChangerView.layer.cornerRadius = 5; | |
29 | + self.nameChangerView.layer.shadowOpacity = 0.8; | |
30 | + self.nameChangerView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); | |
31 | + | |
32 | + self.code.delegate = self; | |
33 | + self.channel.delegate = self; | |
34 | + self.name.delegate = self; | |
35 | + | |
36 | + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] | |
37 | + initWithTarget:self | |
38 | + action:@selector(dismissKeyboard)]; | |
39 | + | |
40 | + [self.view addGestureRecognizer:tap]; | |
41 | + | |
42 | + [super viewDidLoad]; | |
43 | + // Do any additional setup after loading the view from its nib. | |
44 | +} | |
45 | + | |
46 | +-(void)dismissKeyboard | |
47 | +{ | |
48 | + [self.code resignFirstResponder]; | |
49 | + [self.name resignFirstResponder]; | |
50 | + [self.channel resignFirstResponder]; | |
51 | +} | |
52 | + | |
53 | +-(BOOL)textFieldShouldReturn:(UITextField *)textField | |
54 | +{ | |
55 | + [textField resignFirstResponder]; | |
56 | + return YES; | |
57 | +} | |
58 | + | |
59 | +- (void)didReceiveMemoryWarning | |
60 | +{ | |
61 | + [super didReceiveMemoryWarning]; | |
62 | + // Dispose of any resources that can be recreated. | |
63 | +} | |
64 | + | |
65 | +- (void)showAnimate | |
66 | +{ | |
67 | + self.view.transform = CGAffineTransformMakeScale(1.3, 1.3); | |
68 | + self.view.alpha = 0; | |
69 | + [UIView animateWithDuration:.25 animations:^{ | |
70 | + self.view.alpha = 1; | |
71 | + self.view.transform = CGAffineTransformMakeScale(1, 1); | |
72 | + }]; | |
73 | +} | |
74 | + | |
75 | +- (void)removeAnimate | |
76 | +{ | |
77 | + [UIView animateWithDuration:.25 animations:^{ | |
78 | + self.view.transform = CGAffineTransformMakeScale(1.3, 1.3); | |
79 | + self.view.alpha = 0.0; | |
80 | + } completion:^(BOOL finished) { | |
81 | + if (finished) { | |
82 | + [self.view removeFromSuperview]; | |
83 | + } | |
84 | + }]; | |
85 | +} | |
86 | + | |
87 | +- (IBAction)closePopup:(id)sender | |
88 | +{ | |
89 | + NSArray *data = [[NSArray alloc] initWithObjects:[[self channel] text],[[self code] text],[[self name] text], nil]; | |
90 | + [self.delegate passNameViewController:self didFinishEnteringItem:data]; | |
91 | + [self removeAnimate]; | |
92 | +} | |
93 | + | |
94 | +- (void)showInView:(UIView *)aView animated:(BOOL)animated | |
95 | +{ | |
96 | + [aView addSubview:self.view]; | |
97 | + if (animated) { | |
98 | + [self showAnimate]; | |
99 | + } | |
100 | +} | |
101 | + | |
102 | +@end | ... | ... |
DUREX Vendor Control/PriceChangerViewController.h
0 → 100644
1 | +// | |
2 | +// PriceChangerViewController.h | |
3 | +// DUREX Vendor Control | |
4 | +// | |
5 | +// Created by Imanol Barba on 9/3/14. | |
6 | +// Copyright (c) 2014 Emmoco. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +@class PriceChangerViewController; | |
10 | + | |
11 | +#import <UIKit/UIKit.h> | |
12 | +#import <QuartzCore/QuartzCore.h> | |
13 | +#import "DUREXAppDelegate.h" | |
14 | + | |
15 | +@protocol PriceChangerViewControllerDelegate <NSObject> | |
16 | +- (void)passPriceViewController:(PriceChangerViewController*)controller didFinishEnteringItem:(NSArray *)data; | |
17 | + | |
18 | +@end | |
19 | + | |
20 | + | |
21 | +@interface PriceChangerViewController : UIViewController <UITextFieldDelegate> | |
22 | + | |
23 | +@property (strong, nonatomic) IBOutlet UIView *priceChangerView; | |
24 | +@property (strong, nonatomic) IBOutlet UITextField *price; | |
25 | +@property (strong, nonatomic) IBOutlet UITextField *channel; | |
26 | +@property (strong, nonatomic) IBOutlet UITextField *code; | |
27 | +@property (nonatomic, strong) id <PriceChangerViewControllerDelegate> delegate; | |
28 | + | |
29 | +- (void)showInView:(UIView *)aView animated:(BOOL)animated; | |
30 | +- (IBAction)closePopup:(id)sender; | |
31 | + | |
32 | + | |
33 | +@end | ... | ... |
DUREX Vendor Control/PriceChangerViewController.m
0 → 100644
1 | +// | |
2 | +// PriceChangerViewController.m | |
3 | +// DUREX Vendor Control | |
4 | +// | |
5 | +// Created by Imanol Barba on 9/3/14. | |
6 | +// Copyright (c) 2014 Emmoco. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import "PriceChangerViewController.h" | |
10 | + | |
11 | +@interface PriceChangerViewController () | |
12 | + | |
13 | +@end | |
14 | + | |
15 | +@implementation PriceChangerViewController | |
16 | + | |
17 | +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil | |
18 | +{ | |
19 | + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; | |
20 | + if (self) { | |
21 | + // Custom initialization | |
22 | + } | |
23 | + return self; | |
24 | +} | |
25 | + | |
26 | +- (void)viewDidLoad | |
27 | +{ | |
28 | + self.priceChangerView.layer.cornerRadius = 5; | |
29 | + self.priceChangerView.layer.shadowOpacity = 0.8; | |
30 | + self.priceChangerView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); | |
31 | + | |
32 | + self.code.delegate = self; | |
33 | + self.channel.delegate = self; | |
34 | + self.price.delegate = self; | |
35 | + | |
36 | + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] | |
37 | + initWithTarget:self | |
38 | + action:@selector(dismissKeyboard)]; | |
39 | + | |
40 | + [self.view addGestureRecognizer:tap]; | |
41 | + | |
42 | + [super viewDidLoad]; | |
43 | + // Do any additional setup after loading the view from its nib. | |
44 | +} | |
45 | + | |
46 | +-(void)dismissKeyboard | |
47 | +{ | |
48 | + [self.code resignFirstResponder]; | |
49 | + [self.price resignFirstResponder]; | |
50 | + [self.channel resignFirstResponder]; | |
51 | +} | |
52 | + | |
53 | +-(BOOL)textFieldShouldReturn:(UITextField *)textField | |
54 | +{ | |
55 | + [textField resignFirstResponder]; | |
56 | + return YES; | |
57 | +} | |
58 | + | |
59 | +- (void)didReceiveMemoryWarning | |
60 | +{ | |
61 | + [super didReceiveMemoryWarning]; | |
62 | + // Dispose of any resources that can be recreated. | |
63 | +} | |
64 | + | |
65 | +- (void)showAnimate | |
66 | +{ | |
67 | + self.view.transform = CGAffineTransformMakeScale(1.3, 1.3); | |
68 | + self.view.alpha = 0; | |
69 | + [UIView animateWithDuration:.25 animations:^{ | |
70 | + self.view.alpha = 1; | |
71 | + self.view.transform = CGAffineTransformMakeScale(1, 1); | |
72 | + }]; | |
73 | +} | |
74 | + | |
75 | +- (void)removeAnimate | |
76 | +{ | |
77 | + [UIView animateWithDuration:.25 animations:^{ | |
78 | + self.view.transform = CGAffineTransformMakeScale(1.3, 1.3); | |
79 | + self.view.alpha = 0.0; | |
80 | + } completion:^(BOOL finished) { | |
81 | + if (finished) { | |
82 | + [self.view removeFromSuperview]; | |
83 | + } | |
84 | + }]; | |
85 | +} | |
86 | + | |
87 | +- (IBAction)closePopup:(id)sender | |
88 | +{ | |
89 | + NSArray *data = [[NSArray alloc] initWithObjects:[[self channel] text],[[self code] text],[[self price] text], nil]; | |
90 | + [self.delegate passPriceViewController:self didFinishEnteringItem:data]; | |
91 | + [self removeAnimate]; | |
92 | +} | |
93 | + | |
94 | +- (void)showInView:(UIView *)aView animated:(BOOL)animated | |
95 | +{ | |
96 | + [aView addSubview:self.view]; | |
97 | + if (animated) { | |
98 | + [self showAnimate]; | |
99 | + } | |
100 | +} | |
101 | + | |
102 | + | |
103 | +@end | ... | ... |
DUREX Vendor Control/en.lproj/DatePickerViewController.strings
0 → 100644
DUREX Vendor Control/en.lproj/DatePickerViewController_iPad.strings
0 → 100644
DUREX Vendor Control/en.lproj/Localizable.strings
... | ... | @@ -57,4 +57,7 @@ |
57 | 57 | "Nominal Price" = "Nominal Price"; |
58 | 58 | "Discounted Price" = "Discounted Price"; |
59 | 59 | "1€ Change" = "1€ Change"; |
60 | -"50c Change" = "50c Change"; | |
61 | 60 | \ No newline at end of file |
61 | +"50c Change" = "50c Change"; | |
62 | +"Update Date & Time" = "Update Date & Time"; | |
63 | +"Update product price" = "Update product price"; | |
64 | +"Update product name" = "Update product name"; | |
62 | 65 | \ No newline at end of file | ... | ... |
DUREX Vendor Control/en.lproj/NameChangerViewController.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "Y9f-BL-5ZB"; */ | |
3 | +"Y9f-BL-5ZB.normalTitle" = "Done"; | |
4 | + | |
5 | +/* Class = "IBUILabel"; text = "New Name"; ObjectID = "Zfh-RB-roO"; */ | |
6 | +"Zfh-RB-roO.text" = "New Name"; | |
7 | + | |
8 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "u0t-Gj-gKZ"; */ | |
9 | +"u0t-Gj-gKZ.text" = "Channel"; | |
10 | + | |
11 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "zk3-Qc-MYf"; */ | |
12 | +"zk3-Qc-MYf.text" = "Product Code"; | ... | ... |
DUREX Vendor Control/en.lproj/NameChangerViewController_iPad.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "9PW-xp-3t9"; */ | |
3 | +"9PW-xp-3t9.text" = "Channel"; | |
4 | + | |
5 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "Md5-1l-LqY"; */ | |
6 | +"Md5-1l-LqY.normalTitle" = "Done"; | |
7 | + | |
8 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "RCD-6Z-45A"; */ | |
9 | +"RCD-6Z-45A.text" = "Product Code"; | |
10 | + | |
11 | +/* Class = "IBUILabel"; text = "New Name"; ObjectID = "pLv-EG-y2m"; */ | |
12 | +"pLv-EG-y2m.text" = "New Name"; | ... | ... |
DUREX Vendor Control/en.lproj/PriceChangerViewController.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "2cF-of-r57"; */ | |
3 | +"2cF-of-r57.text" = "Product Code"; | |
4 | + | |
5 | +/* Class = "IBUILabel"; text = "New Price"; ObjectID = "Cbx-ha-NZx"; */ | |
6 | +"Cbx-ha-NZx.text" = "New Price"; | |
7 | + | |
8 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "VCq-As-NrV"; */ | |
9 | +"VCq-As-NrV.text" = "Channel"; | |
10 | + | |
11 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "slH-Zj-pps"; */ | |
12 | +"slH-Zj-pps.normalTitle" = "Done"; | ... | ... |
DUREX Vendor Control/en.lproj/PriceChangerViewController_iPad.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "6M6-Rz-v0B"; */ | |
3 | +"6M6-Rz-v0B.text" = "Channel"; | |
4 | + | |
5 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "BsH-aP-YXx"; */ | |
6 | +"BsH-aP-YXx.normalTitle" = "Done"; | |
7 | + | |
8 | +/* Class = "IBUILabel"; text = "New Price"; ObjectID = "CRj-D6-8bV"; */ | |
9 | +"CRj-D6-8bV.text" = "New Price"; | |
10 | + | |
11 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "y0J-fk-3XQ"; */ | |
12 | +"y0J-fk-3XQ.text" = "Product Code"; | ... | ... |
DUREX Vendor Control/es.lproj/DatePickerViewController.strings
0 → 100644
DUREX Vendor Control/es.lproj/DatePickerViewController_iPad.strings
0 → 100644
DUREX Vendor Control/es.lproj/Localizable.strings
... | ... | @@ -57,4 +57,7 @@ |
57 | 57 | "Nominal Price" = "Precio Nominal"; |
58 | 58 | "Discounted Price" = "Precio con descuento"; |
59 | 59 | "1€ Change" = "Cambio de 1€"; |
60 | -"50c Change" = "Cambio de 50c"; | |
61 | 60 | \ No newline at end of file |
61 | +"50c Change" = "Cambio de 50c"; | |
62 | +"Update Date & Time" = "Actualizar fecha y hora"; | |
63 | +"Update product price" = "Actualizar precio del producto"; | |
64 | +"Update product name" = "Actualizar nombre del producto"; | |
62 | 65 | \ No newline at end of file | ... | ... |
DUREX Vendor Control/es.lproj/NameChangerViewController.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "Y9f-BL-5ZB"; */ | |
3 | +"Y9f-BL-5ZB.normalTitle" = "Done"; | |
4 | + | |
5 | +/* Class = "IBUILabel"; text = "New Name"; ObjectID = "Zfh-RB-roO"; */ | |
6 | +"Zfh-RB-roO.text" = "New Name"; | |
7 | + | |
8 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "u0t-Gj-gKZ"; */ | |
9 | +"u0t-Gj-gKZ.text" = "Channel"; | |
10 | + | |
11 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "zk3-Qc-MYf"; */ | |
12 | +"zk3-Qc-MYf.text" = "Product Code"; | ... | ... |
DUREX Vendor Control/es.lproj/NameChangerViewController_iPad.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "9PW-xp-3t9"; */ | |
3 | +"9PW-xp-3t9.text" = "Canal"; | |
4 | + | |
5 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "Md5-1l-LqY"; */ | |
6 | +"Md5-1l-LqY.normalTitle" = "Aceptar"; | |
7 | + | |
8 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "RCD-6Z-45A"; */ | |
9 | +"RCD-6Z-45A.text" = "Código del Producto"; | |
10 | + | |
11 | +/* Class = "IBUILabel"; text = "New Name"; ObjectID = "pLv-EG-y2m"; */ | |
12 | +"pLv-EG-y2m.text" = "Nuevo Nombre"; | ... | ... |
DUREX Vendor Control/es.lproj/PriceChangerViewController.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "2cF-of-r57"; */ | |
3 | +"2cF-of-r57.text" = "Código del Producto"; | |
4 | + | |
5 | +/* Class = "IBUILabel"; text = "New Price"; ObjectID = "Cbx-ha-NZx"; */ | |
6 | +"Cbx-ha-NZx.text" = "Nuevo Precio"; | |
7 | + | |
8 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "VCq-As-NrV"; */ | |
9 | +"VCq-As-NrV.text" = "Canal"; | |
10 | + | |
11 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "slH-Zj-pps"; */ | |
12 | +"slH-Zj-pps.normalTitle" = "Aceptar"; | ... | ... |
DUREX Vendor Control/es.lproj/PriceChangerViewController_iPad.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "6M6-Rz-v0B"; */ | |
3 | +"6M6-Rz-v0B.text" = "Canal"; | |
4 | + | |
5 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "BsH-aP-YXx"; */ | |
6 | +"BsH-aP-YXx.normalTitle" = "Aceptar"; | |
7 | + | |
8 | +/* Class = "IBUILabel"; text = "New Price"; ObjectID = "CRj-D6-8bV"; */ | |
9 | +"CRj-D6-8bV.text" = "Nuevo Precio"; | |
10 | + | |
11 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "y0J-fk-3XQ"; */ | |
12 | +"y0J-fk-3XQ.text" = "Código del Producto"; | ... | ... |
DUREX tests/Base.lproj/DatePickerViewController.xib
1 | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES"> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES"> | |
3 | 3 | <dependencies> |
4 | 4 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> |
5 | 5 | </dependencies> |
... | ... | @@ -66,7 +66,7 @@ AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA |
66 | 66 | </constraints> |
67 | 67 | </view> |
68 | 68 | </subviews> |
69 | - <color key="backgroundColor" red="0.95549071732042212" green="1" blue="0.92158219296691768" alpha="0.0" colorSpace="calibratedRGB"/> | |
69 | + <color key="backgroundColor" red="0.023529414087533951" green="0.0039215688593685627" blue="0.0039215688593685627" alpha="0.5" colorSpace="deviceRGB"/> | |
70 | 70 | <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> |
71 | 71 | <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/> |
72 | 72 | </view> | ... | ... |
DUREX tests/Base.lproj/DatePickerViewController_iPad.xib
1 | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES"> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES"> | |
3 | 3 | <dependencies> |
4 | 4 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> |
5 | 5 | </dependencies> |
... | ... | @@ -66,7 +66,7 @@ AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA |
66 | 66 | </constraints> |
67 | 67 | </view> |
68 | 68 | </subviews> |
69 | - <color key="backgroundColor" white="1" alpha="0.0" colorSpace="custom" customColorSpace="calibratedWhite"/> | |
69 | + <color key="backgroundColor" red="0.023529414087533951" green="0.0039215688593685627" blue="0.0039215688593685627" alpha="0.5" colorSpace="deviceRGB"/> | |
70 | 70 | <constraints> |
71 | 71 | <constraint firstAttribute="centerX" secondItem="Qea-QB-MAC" secondAttribute="centerX" id="60a-hQ-woe"/> |
72 | 72 | <constraint firstAttribute="centerY" secondItem="Qea-QB-MAC" secondAttribute="centerY" constant="95.5" id="eNe-B1-DMX"/> | ... | ... |
DUREX tests/Base.lproj/MainStoryboard.storyboard
1 | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="kWw-Rk-wD6"> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="kWw-Rk-wD6"> | |
3 | 3 | <dependencies> |
4 | 4 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> |
5 | 5 | </dependencies> | ... | ... |
DUREX tests/Base.lproj/PriceChangerViewController.xib
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES"> | |
3 | + <dependencies> | |
4 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> | |
5 | + </dependencies> | |
6 | + <objects> | |
7 | + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="PriceChangerViewController"> | |
8 | + <connections> | |
9 | + <outlet property="channel" destination="u9j-qH-tMP" id="1Of-7T-D20"/> | |
10 | + <outlet property="code" destination="ues-3Z-2xO" id="dX1-BM-pA0"/> | |
11 | + <outlet property="price" destination="wCx-oE-aK9" id="pQO-yq-7r8"/> | |
12 | + <outlet property="priceChangerView" destination="lVw-3e-AU5" id="LlV-d1-WyA"/> | |
13 | + <outlet property="view" destination="V5B-SG-0EU" id="van-tG-JNC"/> | |
14 | + </connections> | |
15 | + </placeholder> | |
16 | + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | |
17 | + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="V5B-SG-0EU"> | |
18 | + <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> | |
19 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
20 | + <subviews> | |
21 | + <view contentMode="scaleToFill" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lVw-3e-AU5"> | |
22 | + <rect key="frame" x="7" y="118" width="307" height="181"/> | |
23 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
24 | + <subviews> | |
25 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="u9j-qH-tMP"> | |
26 | + <rect key="frame" x="190" y="20" width="97" height="30"/> | |
27 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
28 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
29 | + <textInputTraits key="textInputTraits"/> | |
30 | + </textField> | |
31 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="ues-3Z-2xO"> | |
32 | + <rect key="frame" x="190" y="59" width="97" height="30"/> | |
33 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
34 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
35 | + <textInputTraits key="textInputTraits"/> | |
36 | + </textField> | |
37 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="wCx-oE-aK9"> | |
38 | + <rect key="frame" x="190" y="97" width="97" height="30"/> | |
39 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
40 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
41 | + <textInputTraits key="textInputTraits"/> | |
42 | + </textField> | |
43 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Channel" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="btL-PO-K6a"> | |
44 | + <rect key="frame" x="20" y="24" width="66" height="21"/> | |
45 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
46 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
47 | + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> | |
48 | + <nil key="highlightedColor"/> | |
49 | + </label> | |
50 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Product Code" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ngW-rD-Fgz"> | |
51 | + <rect key="frame" x="20" y="63" width="107" height="21"/> | |
52 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
53 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
54 | + <nil key="highlightedColor"/> | |
55 | + </label> | |
56 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="New Price" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="m7Z-ve-Gxr"> | |
57 | + <rect key="frame" x="20" y="101" width="82" height="21"/> | |
58 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
59 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
60 | + <nil key="highlightedColor"/> | |
61 | + </label> | |
62 | + <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="3dU-vK-GGP"> | |
63 | + <rect key="frame" x="130" y="131" width="46" height="30"/> | |
64 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
65 | + <state key="normal" title="Done"> | |
66 | + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> | |
67 | + </state> | |
68 | + <connections> | |
69 | + <action selector="closePopup:" destination="-1" eventType="touchUpInside" id="ai9-JY-u57"/> | |
70 | + </connections> | |
71 | + </button> | |
72 | + </subviews> | |
73 | + <color key="backgroundColor" white="1" alpha="0.94999999999999996" colorSpace="calibratedWhite"/> | |
74 | + <constraints> | |
75 | + <constraint firstAttribute="trailing" secondItem="wCx-oE-aK9" secondAttribute="trailing" constant="20" id="3zp-xP-h35"/> | |
76 | + <constraint firstAttribute="bottom" secondItem="3dU-vK-GGP" secondAttribute="bottom" constant="20" id="E5P-sA-PAI"/> | |
77 | + <constraint firstItem="ngW-rD-Fgz" firstAttribute="top" secondItem="btL-PO-K6a" secondAttribute="bottom" constant="18" id="Hna-F0-g8f"/> | |
78 | + <constraint firstItem="btL-PO-K6a" firstAttribute="leading" secondItem="lVw-3e-AU5" secondAttribute="leading" constant="20" id="W9y-rd-KTp"/> | |
79 | + <constraint firstItem="m7Z-ve-Gxr" firstAttribute="top" secondItem="ngW-rD-Fgz" secondAttribute="bottom" constant="17" id="Xka-5C-qGa"/> | |
80 | + <constraint firstItem="ngW-rD-Fgz" firstAttribute="leading" secondItem="lVw-3e-AU5" secondAttribute="leading" constant="20" id="cty-k1-JpR"/> | |
81 | + <constraint firstAttribute="trailing" secondItem="ues-3Z-2xO" secondAttribute="trailing" constant="20" id="e4X-d3-oPg"/> | |
82 | + <constraint firstAttribute="trailing" secondItem="u9j-qH-tMP" secondAttribute="trailing" constant="20" id="lWw-tP-pX0"/> | |
83 | + <constraint firstItem="m7Z-ve-Gxr" firstAttribute="leading" secondItem="lVw-3e-AU5" secondAttribute="leading" constant="20" id="r8p-Ts-QQ3"/> | |
84 | + </constraints> | |
85 | + </view> | |
86 | + </subviews> | |
87 | + <color key="backgroundColor" red="0.023529414089999999" green="0.0039215688589999999" blue="0.0039215688589999999" alpha="0.5" colorSpace="deviceRGB"/> | |
88 | + <constraints> | |
89 | + <constraint firstAttribute="centerY" secondItem="lVw-3e-AU5" secondAttribute="centerY" constant="75" id="U8g-QI-YN9"/> | |
90 | + <constraint firstAttribute="centerX" secondItem="lVw-3e-AU5" secondAttribute="centerX" constant="-0.5" id="hza-Ts-3fP"/> | |
91 | + </constraints> | |
92 | + <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> | |
93 | + <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/> | |
94 | + </view> | |
95 | + </objects> | |
96 | +</document> | ... | ... |
DUREX tests/Base.lproj/PriceChangerViewController_iPad.xib
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="5056" systemVersion="12F45" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES"> | |
3 | + <dependencies> | |
4 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> | |
5 | + </dependencies> | |
6 | + <objects> | |
7 | + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="PriceChangerViewController"> | |
8 | + <connections> | |
9 | + <outlet property="channel" destination="B3o-mh-oIP" id="xSI-HE-eSY"/> | |
10 | + <outlet property="code" destination="AU8-3I-lOO" id="sp8-Mq-maQ"/> | |
11 | + <outlet property="price" destination="8ow-dM-PS8" id="Ldn-Yp-pag"/> | |
12 | + <outlet property="priceChangerView" destination="xTg-mb-lFJ" id="wBh-Ot-lSo"/> | |
13 | + <outlet property="view" destination="Ltf-yf-uQQ" id="65m-8M-XZT"/> | |
14 | + </connections> | |
15 | + </placeholder> | |
16 | + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | |
17 | + <view contentMode="scaleToFill" id="Ltf-yf-uQQ"> | |
18 | + <rect key="frame" x="0.0" y="0.0" width="768" height="1024"/> | |
19 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
20 | + <subviews> | |
21 | + <view contentMode="scaleToFill" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="xTg-mb-lFJ"> | |
22 | + <rect key="frame" x="213" y="294" width="343" height="177"/> | |
23 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
24 | + <subviews> | |
25 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="B3o-mh-oIP"> | |
26 | + <rect key="frame" x="226" y="17" width="97" height="30"/> | |
27 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
28 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
29 | + <textInputTraits key="textInputTraits"/> | |
30 | + </textField> | |
31 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="AU8-3I-lOO"> | |
32 | + <rect key="frame" x="226" y="56" width="97" height="30"/> | |
33 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
34 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
35 | + <textInputTraits key="textInputTraits"/> | |
36 | + </textField> | |
37 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="8ow-dM-PS8"> | |
38 | + <rect key="frame" x="226" y="95" width="97" height="30"/> | |
39 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
40 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
41 | + <textInputTraits key="textInputTraits"/> | |
42 | + </textField> | |
43 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Channel" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="m8X-pz-4b0"> | |
44 | + <rect key="frame" x="20" y="21" width="64" height="21"/> | |
45 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
46 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
47 | + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> | |
48 | + <nil key="highlightedColor"/> | |
49 | + </label> | |
50 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Product Code" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SHT-SD-io5"> | |
51 | + <rect key="frame" x="20" y="60" width="107" height="21"/> | |
52 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
53 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
54 | + <nil key="highlightedColor"/> | |
55 | + </label> | |
56 | + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="New Price" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vak-Pa-Znz"> | |
57 | + <rect key="frame" x="20" y="98" width="79" height="21"/> | |
58 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
59 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
60 | + <nil key="highlightedColor"/> | |
61 | + </label> | |
62 | + <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="oiq-sw-yPK"> | |
63 | + <rect key="frame" x="148" y="127" width="46" height="30"/> | |
64 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
65 | + <state key="normal" title="Done"> | |
66 | + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> | |
67 | + </state> | |
68 | + <connections> | |
69 | + <action selector="closePopup:" destination="-1" eventType="touchUpInside" id="9M0-Fh-qQ6"/> | |
70 | + </connections> | |
71 | + </button> | |
72 | + </subviews> | |
73 | + <color key="backgroundColor" white="1" alpha="0.94999999999999996" colorSpace="custom" customColorSpace="calibratedWhite"/> | |
74 | + <constraints> | |
75 | + <constraint firstItem="AU8-3I-lOO" firstAttribute="top" secondItem="B3o-mh-oIP" secondAttribute="bottom" constant="8" id="574-TO-JcT"/> | |
76 | + <constraint firstItem="SHT-SD-io5" firstAttribute="top" secondItem="m8X-pz-4b0" secondAttribute="bottom" constant="18" id="7u5-ur-Mak"/> | |
77 | + <constraint firstItem="8ow-dM-PS8" firstAttribute="top" secondItem="AU8-3I-lOO" secondAttribute="bottom" constant="8" id="9Ba-KH-odq"/> | |
78 | + <constraint firstAttribute="bottom" secondItem="oiq-sw-yPK" secondAttribute="bottom" constant="20" id="A8j-YL-2FT"/> | |
79 | + <constraint firstAttribute="trailing" secondItem="8ow-dM-PS8" secondAttribute="trailing" constant="20" id="FQ9-3o-1cx"/> | |
80 | + <constraint firstAttribute="trailing" secondItem="AU8-3I-lOO" secondAttribute="trailing" constant="20" id="GWE-pq-PlP"/> | |
81 | + <constraint firstAttribute="trailing" secondItem="B3o-mh-oIP" secondAttribute="trailing" constant="20" id="VJG-v3-VFf"/> | |
82 | + <constraint firstItem="m8X-pz-4b0" firstAttribute="leading" secondItem="xTg-mb-lFJ" secondAttribute="leading" constant="20" id="aUR-7f-xcq"/> | |
83 | + <constraint firstItem="SHT-SD-io5" firstAttribute="leading" secondItem="xTg-mb-lFJ" secondAttribute="leading" constant="20" id="ix1-tH-JMW"/> | |
84 | + <constraint firstItem="vak-Pa-Znz" firstAttribute="top" secondItem="SHT-SD-io5" secondAttribute="bottom" constant="17" id="pwh-6S-xDy"/> | |
85 | + <constraint firstItem="vak-Pa-Znz" firstAttribute="leading" secondItem="xTg-mb-lFJ" secondAttribute="leading" constant="20" id="rvb-ta-BC4"/> | |
86 | + </constraints> | |
87 | + </view> | |
88 | + </subviews> | |
89 | + <color key="backgroundColor" red="0.023529414089999999" green="0.0039215688589999999" blue="0.0039215688589999999" alpha="0.5" colorSpace="deviceRGB"/> | |
90 | + <constraints> | |
91 | + <constraint firstAttribute="centerY" secondItem="xTg-mb-lFJ" secondAttribute="centerY" constant="129" id="La3-FS-kbf"/> | |
92 | + <constraint firstAttribute="centerX" secondItem="xTg-mb-lFJ" secondAttribute="centerX" constant="-0.5" id="TIb-ZJ-M7Z"/> | |
93 | + </constraints> | |
94 | + <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> | |
95 | + </view> | |
96 | + </objects> | |
97 | +</document> | ... | ... |
DUREX tests/DUREX test.xcodeproj/project.pbxproj
... | ... | @@ -18,7 +18,10 @@ |
18 | 18 | 34AAB885189804FF0019860D /* EMDevicePickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34AAB87A189804FF0019860D /* EMDevicePickerViewController.m */; }; |
19 | 19 | 34AAB889189804FF0019860D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 34AAB880189804FF0019860D /* main.m */; }; |
20 | 20 | 34AAB88D189805300019860D /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 34AAB88C189805300019860D /* Images.xcassets */; }; |
21 | + F9015DA119B731B4006C7882 /* PriceChangerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F9015D9F19B731B4006C7882 /* PriceChangerViewController.m */; }; | |
21 | 22 | F92B0B6C19993D3F00CAEF3E /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F92B0B6E19993D3F00CAEF3E /* Localizable.strings */; }; |
23 | + F92F565E19B740B100A1EACA /* PriceChangerViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F92F566019B740B100A1EACA /* PriceChangerViewController_iPad.xib */; }; | |
24 | + F92F566F19B758BD00A1EACA /* PriceChangerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F92F567119B758BD00A1EACA /* PriceChangerViewController.xib */; }; | |
22 | 25 | F9469169193015EE006DACD3 /* icon_checkmark.png in Resources */ = {isa = PBXBuildFile; fileRef = F9469167193015EE006DACD3 /* icon_checkmark.png */; }; |
23 | 26 | F946916A193015EE006DACD3 /* icon_delete.png in Resources */ = {isa = PBXBuildFile; fileRef = F9469168193015EE006DACD3 /* icon_delete.png */; }; |
24 | 27 | F961D7F5199A4A4800E9282C /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F961D7F3199A4A4800E9282C /* MainStoryboard.storyboard */; }; |
... | ... | @@ -59,8 +62,16 @@ |
59 | 62 | 34AAB87F189804FF0019860D /* DUREX test-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "DUREX test-Prefix.pch"; path = "FirstAppExample/DUREX test-Prefix.pch"; sourceTree = SOURCE_ROOT; }; |
60 | 63 | 34AAB880189804FF0019860D /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = FirstAppExample/main.m; sourceTree = SOURCE_ROOT; }; |
61 | 64 | 34AAB88C189805300019860D /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = FirstAppExample/Images.xcassets; sourceTree = SOURCE_ROOT; }; |
65 | + F9015D9E19B731B4006C7882 /* PriceChangerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PriceChangerViewController.h; sourceTree = SOURCE_ROOT; }; | |
66 | + F9015D9F19B731B4006C7882 /* PriceChangerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PriceChangerViewController.m; sourceTree = SOURCE_ROOT; }; | |
62 | 67 | F92B0B6D19993D3F00CAEF3E /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; }; |
63 | 68 | F92B0B6F19993D4400CAEF3E /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = "<group>"; }; |
69 | + F92F565F19B740B100A1EACA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PriceChangerViewController_iPad.xib; sourceTree = "<group>"; }; | |
70 | + F92F566219B740BB00A1EACA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PriceChangerViewController_iPad.strings; sourceTree = "<group>"; }; | |
71 | + F92F566419B740BB00A1EACA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/PriceChangerViewController_iPad.strings; sourceTree = "<group>"; }; | |
72 | + F92F567019B758BD00A1EACA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PriceChangerViewController.xib; sourceTree = "<group>"; }; | |
73 | + F92F567319B758C200A1EACA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/PriceChangerViewController.strings; sourceTree = "<group>"; }; | |
74 | + F92F567519B758C300A1EACA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PriceChangerViewController.strings; sourceTree = "<group>"; }; | |
64 | 75 | F9469167193015EE006DACD3 /* icon_checkmark.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_checkmark.png; sourceTree = SOURCE_ROOT; }; |
65 | 76 | F9469168193015EE006DACD3 /* icon_delete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_delete.png; sourceTree = SOURCE_ROOT; }; |
66 | 77 | F961D7F4199A4A4800E9282C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainStoryboard.storyboard; sourceTree = SOURCE_ROOT; }; |
... | ... | @@ -162,6 +173,10 @@ |
162 | 173 | F98ACEDA19B6294E00D90AEE /* DatePickerViewController.m */, |
163 | 174 | F9AB5A7119B63931006785E4 /* DatePickerViewController.xib */, |
164 | 175 | F9AB5A7419B63938006785E4 /* DatePickerViewController_iPad.xib */, |
176 | + F9015D9E19B731B4006C7882 /* PriceChangerViewController.h */, | |
177 | + F9015D9F19B731B4006C7882 /* PriceChangerViewController.m */, | |
178 | + F92F567119B758BD00A1EACA /* PriceChangerViewController.xib */, | |
179 | + F92F566019B740B100A1EACA /* PriceChangerViewController_iPad.xib */, | |
165 | 180 | 34AAB88C189805300019860D /* Images.xcassets */, |
166 | 181 | 347186B91807290E00FA0FB2 /* Schemas */, |
167 | 182 | 347186A718070F7F00FA0FB2 /* Device Picker */, |
... | ... | @@ -288,11 +303,13 @@ |
288 | 303 | isa = PBXResourcesBuildPhase; |
289 | 304 | buildActionMask = 2147483647; |
290 | 305 | files = ( |
306 | + F92F565E19B740B100A1EACA /* PriceChangerViewController_iPad.xib in Resources */, | |
291 | 307 | F98356D8192E906600EA6821 /* bluetooth.png in Resources */, |
292 | 308 | F9AB5A6F19B63931006785E4 /* DatePickerViewController.xib in Resources */, |
293 | 309 | 34AAB88D189805300019860D /* Images.xcassets in Resources */, |
294 | 310 | F92B0B6C19993D3F00CAEF3E /* Localizable.strings in Resources */, |
295 | 311 | F961D7FE199A5B4700E9282C /* back_arrow.png in Resources */, |
312 | + F92F566F19B758BD00A1EACA /* PriceChangerViewController.xib in Resources */, | |
296 | 313 | F9AB5A7219B63938006785E4 /* DatePickerViewController_iPad.xib in Resources */, |
297 | 314 | F9469169193015EE006DACD3 /* icon_checkmark.png in Resources */, |
298 | 315 | F961D7F5199A4A4800E9282C /* MainStoryboard.storyboard in Resources */, |
... | ... | @@ -318,6 +335,7 @@ |
318 | 335 | F962A233192FCA8A00E4324A /* Stack.m in Sources */, |
319 | 336 | 34AAB885189804FF0019860D /* EMDevicePickerViewController.m in Sources */, |
320 | 337 | F98ACEDC19B6294E00D90AEE /* DatePickerViewController.m in Sources */, |
338 | + F9015DA119B731B4006C7882 /* PriceChangerViewController.m in Sources */, | |
321 | 339 | 34AAB883189804FF0019860D /* DUREXAppDelegate.m in Sources */, |
322 | 340 | F98356DB192EAFD400EA6821 /* CommunicationProtocol.m in Sources */, |
323 | 341 | F98356E1192EC84700EA6821 /* MenuTableViewController.m in Sources */, |
... | ... | @@ -353,6 +371,26 @@ |
353 | 371 | name = Localizable.strings; |
354 | 372 | sourceTree = SOURCE_ROOT; |
355 | 373 | }; |
374 | + F92F566019B740B100A1EACA /* PriceChangerViewController_iPad.xib */ = { | |
375 | + isa = PBXVariantGroup; | |
376 | + children = ( | |
377 | + F92F565F19B740B100A1EACA /* Base */, | |
378 | + F92F566219B740BB00A1EACA /* en */, | |
379 | + F92F566419B740BB00A1EACA /* es */, | |
380 | + ); | |
381 | + name = PriceChangerViewController_iPad.xib; | |
382 | + sourceTree = SOURCE_ROOT; | |
383 | + }; | |
384 | + F92F567119B758BD00A1EACA /* PriceChangerViewController.xib */ = { | |
385 | + isa = PBXVariantGroup; | |
386 | + children = ( | |
387 | + F92F567019B758BD00A1EACA /* Base */, | |
388 | + F92F567319B758C200A1EACA /* es */, | |
389 | + F92F567519B758C300A1EACA /* en */, | |
390 | + ); | |
391 | + name = PriceChangerViewController.xib; | |
392 | + sourceTree = SOURCE_ROOT; | |
393 | + }; | |
356 | 394 | F961D7F3199A4A4800E9282C /* MainStoryboard.storyboard */ = { |
357 | 395 | isa = PBXVariantGroup; |
358 | 396 | children = ( | ... | ... |
DUREX tests/DUREX test.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
DUREX tests/DUREX test.xcodeproj/xcuserdata/imanol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
... | ... | @@ -2,4 +2,22 @@ |
2 | 2 | <Bucket |
3 | 3 | type = "1" |
4 | 4 | version = "2.0"> |
5 | + <Breakpoints> | |
6 | + <BreakpointProxy | |
7 | + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> | |
8 | + <BreakpointContent | |
9 | + shouldBeEnabled = "Yes" | |
10 | + ignoreCount = "0" | |
11 | + continueAfterRunningActions = "No" | |
12 | + filePath = "DatePickerViewController.h" | |
13 | + timestampString = "431435935.120348" | |
14 | + startingColumnNumber = "9223372036854775807" | |
15 | + endingColumnNumber = "9223372036854775807" | |
16 | + startingLineNumber = "27" | |
17 | + endingLineNumber = "27" | |
18 | + landmarkName = "-closePopup:" | |
19 | + landmarkType = "4"> | |
20 | + </BreakpointContent> | |
21 | + </BreakpointProxy> | |
22 | + </Breakpoints> | |
5 | 23 | </Bucket> | ... | ... |
DUREX tests/DatePickerViewController.h
... | ... | @@ -13,7 +13,7 @@ |
13 | 13 | #import "DUREXAppDelegate.h" |
14 | 14 | |
15 | 15 | @protocol DatePickerViewControllerDelegate <NSObject> |
16 | -- (void)addItemViewController:(DatePickerViewController*)controller didFinishEnteringItem:(NSDate *)date; | |
16 | +- (void)passDateViewController:(DatePickerViewController*)controller didFinishEnteringItem:(NSDate *)date; | |
17 | 17 | |
18 | 18 | @end |
19 | 19 | ... | ... |
DUREX tests/DatePickerViewController.m
... | ... | @@ -62,7 +62,7 @@ |
62 | 62 | |
63 | 63 | - (IBAction)closePopup:(id)sender |
64 | 64 | { |
65 | - [self.delegate addItemViewController:self didFinishEnteringItem:[[self datePicker] date]]; | |
65 | + [self.delegate passDateViewController:self didFinishEnteringItem:[[self datePicker] date]]; | |
66 | 66 | [self removeAnimate]; |
67 | 67 | } |
68 | 68 | ... | ... |
DUREX tests/MenuTableViewController.h
... | ... | @@ -10,6 +10,7 @@ |
10 | 10 | #import "CommunicationProtocol.h" |
11 | 11 | #import "Stack.h" |
12 | 12 | #import "DatePickerViewController.h" |
13 | +#import "PriceChangerViewController.h" | |
13 | 14 | |
14 | 15 | #define num(x) [NSNumber numberWithUnsignedInt:x] |
15 | 16 | |
... | ... | @@ -40,10 +41,11 @@ enum { |
40 | 41 | REPORT, |
41 | 42 | } navigationLevel; |
42 | 43 | |
43 | -@interface MenuTableViewController : UITableViewController <DatePickerViewControllerDelegate> | |
44 | +@interface MenuTableViewController : UITableViewController <DatePickerViewControllerDelegate,PriceChangerViewControllerDelegate> | |
44 | 45 | |
45 | 46 | @property (strong,nonatomic) Stack *parentLayout; |
46 | -@property (strong,nonatomic) DatePickerViewController *popupViewController; | |
47 | +@property (strong,nonatomic) DatePickerViewController *datePickerViewController; | |
48 | +@property (strong,nonatomic) PriceChangerViewController *priceChangerViewController; | |
47 | 49 | |
48 | 50 | - (void) navBack; |
49 | 51 | ... | ... |
DUREX tests/MenuTableViewController.m
... | ... | @@ -271,15 +271,31 @@ |
271 | 271 | if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) |
272 | 272 | { |
273 | 273 | //self.popupViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController_iPad" bundle:nil]; |
274 | - self.popupViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController_iPad" bundle:nil]; | |
275 | - self.popupViewController.delegate = self; | |
276 | - [self.popupViewController showInView:self.navigationController.view animated:YES]; | |
274 | + self.datePickerViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController_iPad" bundle:nil]; | |
275 | + self.datePickerViewController.delegate = self; | |
276 | + [self.datePickerViewController showInView:self.navigationController.view animated:YES]; | |
277 | 277 | } |
278 | 278 | else |
279 | 279 | { |
280 | - self.popupViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController" bundle:nil]; | |
281 | - self.popupViewController.delegate = self; | |
282 | - [self.popupViewController showInView:self.navigationController.view animated:YES]; | |
280 | + self.datePickerViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController" bundle:nil]; | |
281 | + self.datePickerViewController.delegate = self; | |
282 | + [self.datePickerViewController showInView:self.navigationController.view animated:YES]; | |
283 | + } | |
284 | + } | |
285 | + else if([cellName isEqualToString:NSLocalizedString(@"Update product price", nil)] && [self currentNavLevel] == BASIC_CONFIGURATION) | |
286 | + { | |
287 | + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) | |
288 | + { | |
289 | + //self.popupViewController = [[DatePickerViewController alloc] initWithNibName:@"DatePickerViewController_iPad" bundle:nil]; | |
290 | + self.priceChangerViewController = [[PriceChangerViewController alloc] initWithNibName:@"PriceChangerViewController_iPad" bundle:nil]; | |
291 | + self.priceChangerViewController.delegate = self; | |
292 | + [self.priceChangerViewController showInView:self.navigationController.view animated:YES]; | |
293 | + } | |
294 | + else | |
295 | + { | |
296 | + self.priceChangerViewController = [[PriceChangerViewController alloc] initWithNibName:@"PriceChangerViewController" bundle:nil]; | |
297 | + self.priceChangerViewController.delegate = self; | |
298 | + [self.priceChangerViewController showInView:self.navigationController.view animated:YES]; | |
283 | 299 | } |
284 | 300 | } |
285 | 301 | |
... | ... | @@ -349,15 +365,18 @@ |
349 | 365 | return cell; |
350 | 366 | } |
351 | 367 | |
352 | -- (void)addItemViewController:(DatePickerViewController *)controller didFinishEnteringItem:(NSDate *)date | |
368 | +- (void)passDateViewController:(DatePickerViewController *)controller didFinishEnteringItem:(NSDate *)date | |
353 | 369 | { |
354 | 370 | NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; |
355 | 371 | NSCalendarUnit units = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; |
356 | 372 | NSDateComponents *components = [calendar components:units fromDate:date]; |
357 | 373 | NSLog(@"[MenuTableViewController.m]: %@", components); |
358 | - //[_protocol updateTime: components]; | |
359 | 374 | } |
360 | 375 | |
376 | +- (void)passPriceViewController:(PriceChangerViewController *)controller didFinishEnteringItem:(NSArray *)data | |
377 | +{ | |
378 | + NSLog(@"[MenuTableViewController.m]: %@", data); | |
379 | +} | |
361 | 380 | |
362 | 381 | /* |
363 | 382 | // Override to support conditional editing of the table view. | ... | ... |
DUREX tests/PriceChangerViewController.h
0 → 100644
1 | +// | |
2 | +// PriceChangerViewController.h | |
3 | +// DUREX test | |
4 | +// | |
5 | +// Created by Imanol Barba on 9/3/14. | |
6 | +// Copyright (c) 2014 Emmoco. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +@class PriceChangerViewController; | |
10 | + | |
11 | +#import <UIKit/UIKit.h> | |
12 | +#import <QuartzCore/QuartzCore.h> | |
13 | +#import "DUREXAppDelegate.h" | |
14 | + | |
15 | +@protocol PriceChangerViewControllerDelegate <NSObject> | |
16 | +- (void)passPriceViewController:(PriceChangerViewController*)controller didFinishEnteringItem:(NSArray *)date; | |
17 | + | |
18 | +@end | |
19 | + | |
20 | + | |
21 | +@interface PriceChangerViewController : UIViewController <UITextFieldDelegate> | |
22 | + | |
23 | +@property (strong, nonatomic) IBOutlet UIView *priceChangerView; | |
24 | +@property (strong, nonatomic) IBOutlet UITextField *price; | |
25 | +@property (strong, nonatomic) IBOutlet UITextField *channel; | |
26 | +@property (strong, nonatomic) IBOutlet UITextField *code; | |
27 | +@property (nonatomic, strong) id <PriceChangerViewControllerDelegate> delegate; | |
28 | + | |
29 | +- (void)showInView:(UIView *)aView animated:(BOOL)animated; | |
30 | +- (IBAction)closePopup:(id)sender; | |
31 | + | |
32 | + | |
33 | +@end | ... | ... |
DUREX tests/PriceChangerViewController.m
0 → 100644
1 | +// | |
2 | +// PriceChangerViewController.m | |
3 | +// DUREX test | |
4 | +// | |
5 | +// Created by Imanol Barba on 9/3/14. | |
6 | +// Copyright (c) 2014 Emmoco. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import "PriceChangerViewController.h" | |
10 | + | |
11 | +@interface PriceChangerViewController () | |
12 | + | |
13 | +@end | |
14 | + | |
15 | +@implementation PriceChangerViewController | |
16 | + | |
17 | +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil | |
18 | +{ | |
19 | + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; | |
20 | + if (self) { | |
21 | + // Custom initialization | |
22 | + } | |
23 | + return self; | |
24 | +} | |
25 | + | |
26 | +- (void)viewDidLoad | |
27 | +{ | |
28 | + self.priceChangerView.layer.cornerRadius = 5; | |
29 | + self.priceChangerView.layer.shadowOpacity = 0.8; | |
30 | + self.priceChangerView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); | |
31 | + | |
32 | + self.code.delegate = self; | |
33 | + self.channel.delegate = self; | |
34 | + self.price.delegate = self; | |
35 | + | |
36 | + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] | |
37 | + initWithTarget:self | |
38 | + action:@selector(dismissKeyboard)]; | |
39 | + | |
40 | + [self.view addGestureRecognizer:tap]; | |
41 | + | |
42 | + [super viewDidLoad]; | |
43 | + // Do any additional setup after loading the view from its nib. | |
44 | +} | |
45 | + | |
46 | +-(void)dismissKeyboard | |
47 | +{ | |
48 | + [self.code resignFirstResponder]; | |
49 | + [self.price resignFirstResponder]; | |
50 | + [self.channel resignFirstResponder]; | |
51 | +} | |
52 | + | |
53 | +-(BOOL)textFieldShouldReturn:(UITextField *)textField | |
54 | +{ | |
55 | + [textField resignFirstResponder]; | |
56 | + return YES; | |
57 | +} | |
58 | + | |
59 | +- (void)didReceiveMemoryWarning | |
60 | +{ | |
61 | + [super didReceiveMemoryWarning]; | |
62 | + // Dispose of any resources that can be recreated. | |
63 | +} | |
64 | + | |
65 | +- (void)showAnimate | |
66 | +{ | |
67 | + self.view.transform = CGAffineTransformMakeScale(1.3, 1.3); | |
68 | + self.view.alpha = 0; | |
69 | + [UIView animateWithDuration:.25 animations:^{ | |
70 | + self.view.alpha = 1; | |
71 | + self.view.transform = CGAffineTransformMakeScale(1, 1); | |
72 | + }]; | |
73 | +} | |
74 | + | |
75 | +- (void)removeAnimate | |
76 | +{ | |
77 | + [UIView animateWithDuration:.25 animations:^{ | |
78 | + self.view.transform = CGAffineTransformMakeScale(1.3, 1.3); | |
79 | + self.view.alpha = 0.0; | |
80 | + } completion:^(BOOL finished) { | |
81 | + if (finished) { | |
82 | + [self.view removeFromSuperview]; | |
83 | + } | |
84 | + }]; | |
85 | +} | |
86 | + | |
87 | +- (IBAction)closePopup:(id)sender | |
88 | +{ | |
89 | + NSArray *data = [[NSArray alloc] initWithObjects:[[self channel] text],[[self code] text],[[self price] text], nil]; | |
90 | + [self.delegate passPriceViewController:self didFinishEnteringItem:data]; | |
91 | + [self removeAnimate]; | |
92 | +} | |
93 | + | |
94 | +- (void)showInView:(UIView *)aView animated:(BOOL)animated | |
95 | +{ | |
96 | + [aView addSubview:self.view]; | |
97 | + if (animated) { | |
98 | + [self showAnimate]; | |
99 | + } | |
100 | +} | |
101 | + | |
102 | + | |
103 | +@end | ... | ... |
DUREX tests/en.lproj/PriceChangerViewController.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "3dU-vK-GGP"; */ | |
3 | +"3dU-vK-GGP.normalTitle" = "Done"; | |
4 | + | |
5 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "btL-PO-K6a"; */ | |
6 | +"btL-PO-K6a.text" = "Channel"; | |
7 | + | |
8 | +/* Class = "IBUILabel"; text = "New Price"; ObjectID = "m7Z-ve-Gxr"; */ | |
9 | +"m7Z-ve-Gxr.text" = "New Price"; | |
10 | + | |
11 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "ngW-rD-Fgz"; */ | |
12 | +"ngW-rD-Fgz.text" = "Product Code"; | ... | ... |
DUREX tests/en.lproj/PriceChangerViewController_iPad.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "SHT-SD-io5"; */ | |
3 | +"SHT-SD-io5.text" = "Product Code"; | |
4 | + | |
5 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "m8X-pz-4b0"; */ | |
6 | +"m8X-pz-4b0.text" = "Channel"; | |
7 | + | |
8 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "oiq-sw-yPK"; */ | |
9 | +"oiq-sw-yPK.normalTitle" = "Done"; | |
10 | + | |
11 | +/* Class = "IBUILabel"; text = "New Price"; ObjectID = "vak-Pa-Znz"; */ | |
12 | +"vak-Pa-Znz.text" = "New Price"; | ... | ... |
DUREX tests/es.lproj/PriceChangerViewController.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "3dU-vK-GGP"; */ | |
3 | +"3dU-vK-GGP.normalTitle" = "Aceptar"; | |
4 | + | |
5 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "btL-PO-K6a"; */ | |
6 | +"btL-PO-K6a.text" = "Canal"; | |
7 | + | |
8 | +/* Class = "IBUILabel"; text = "New Price"; ObjectID = "m7Z-ve-Gxr"; */ | |
9 | +"m7Z-ve-Gxr.text" = "Nuevo Precio"; | |
10 | + | |
11 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "ngW-rD-Fgz"; */ | |
12 | +"ngW-rD-Fgz.text" = "Código del Producto"; | ... | ... |
DUREX tests/es.lproj/PriceChangerViewController_iPad.strings
0 → 100644
1 | + | |
2 | +/* Class = "IBUILabel"; text = "Product Code"; ObjectID = "SHT-SD-io5"; */ | |
3 | +"SHT-SD-io5.text" = "Código del Producto"; | |
4 | + | |
5 | +/* Class = "IBUILabel"; text = "Channel"; ObjectID = "m8X-pz-4b0"; */ | |
6 | +"m8X-pz-4b0.text" = "Canal"; | |
7 | + | |
8 | +/* Class = "IBUIButton"; normalTitle = "Done"; ObjectID = "oiq-sw-yPK"; */ | |
9 | +"oiq-sw-yPK.normalTitle" = "Aceptar"; | |
10 | + | |
11 | +/* Class = "IBUILabel"; text = "New Price"; ObjectID = "vak-Pa-Znz"; */ | |
12 | +"vak-Pa-Znz.text" = "Nuevo Precio"; | ... | ... |
TODO
1 | -- messageAvailable checks and status checks NOT working | |
1 | +- messageAvailable checks and status checks NOT working (long operations) | |
2 | 2 | - pop to previous view on connect error NOT working |
3 | - | |
3 | +- On date change, response is overwritten by previous query, trimming needed according to numBytes | |
4 | 4 | |
5 | 5 | |
6 | 6 | - Incident class | ... | ... |