Skip to content

Commit 92f2cea

Browse files
Add scrollable event stream
1 parent 649a4c5 commit 92f2cea

File tree

8 files changed

+353
-115
lines changed

8 files changed

+353
-115
lines changed

SwiftSplit.xcodeproj/project.pbxproj

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
CD5E946B267A52B900CFAB31 /* EventStreamItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD5E9469267A52B900CFAB31 /* EventStreamItem.swift */; };
11+
CD5E946C267A52B900CFAB31 /* EventStreamItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD5E946A267A52B900CFAB31 /* EventStreamItem.xib */; };
12+
CD5E946E267A5ED300CFAB31 /* EventListDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD5E946D267A5ED300CFAB31 /* EventListDelegate.swift */; };
1013
CD7CDBE5256F5D0D002AE46F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD7CDBE4256F5D0D002AE46F /* AppDelegate.swift */; };
1114
CD7CDBE7256F5D0D002AE46F /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD7CDBE6256F5D0D002AE46F /* ViewController.swift */; };
1215
CD7CDBE9256F5D0F002AE46F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CD7CDBE8256F5D0F002AE46F /* Assets.xcassets */; };
@@ -23,6 +26,9 @@
2326

2427
/* Begin PBXFileReference section */
2528
2557401E37458142957F7D9D /* Pods-SwiftSplit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftSplit.debug.xcconfig"; path = "Target Support Files/Pods-SwiftSplit/Pods-SwiftSplit.debug.xcconfig"; sourceTree = "<group>"; };
29+
CD5E9469267A52B900CFAB31 /* EventStreamItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventStreamItem.swift; sourceTree = "<group>"; };
30+
CD5E946A267A52B900CFAB31 /* EventStreamItem.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EventStreamItem.xib; sourceTree = "<group>"; };
31+
CD5E946D267A5ED300CFAB31 /* EventListDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventListDelegate.swift; sourceTree = "<group>"; };
2632
CD7CDBE1256F5D0D002AE46F /* SwiftSplit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftSplit.app; sourceTree = BUILT_PRODUCTS_DIR; };
2733
CD7CDBE4256F5D0D002AE46F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
2834
CD7CDBE6256F5D0D002AE46F /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
@@ -97,7 +103,10 @@
97103
CD7CDC06256F8A21002AE46F /* Core */,
98104
CD7CDBE4256F5D0D002AE46F /* AppDelegate.swift */,
99105
CD7CDBE6256F5D0D002AE46F /* ViewController.swift */,
106+
CD5E946D267A5ED300CFAB31 /* EventListDelegate.swift */,
100107
CD7CDC2725717D2D002AE46F /* CelesteSplitter.swift */,
108+
CD5E9469267A52B900CFAB31 /* EventStreamItem.swift */,
109+
CD5E946A267A52B900CFAB31 /* EventStreamItem.xib */,
101110
CD7CDBE8256F5D0F002AE46F /* Assets.xcassets */,
102111
CD7CDBEA256F5D0F002AE46F /* Main.storyboard */,
103112
CDA94456257382D300DB2A85 /* RouteBox.swift */,
@@ -183,6 +192,7 @@
183192
isa = PBXResourcesBuildPhase;
184193
buildActionMask = 2147483647;
185194
files = (
195+
CD5E946C267A52B900CFAB31 /* EventStreamItem.xib in Resources */,
186196
CD7CDBE9256F5D0F002AE46F /* Assets.xcassets in Resources */,
187197
CD7CDBEC256F5D0F002AE46F /* Main.storyboard in Resources */,
188198
);
@@ -241,9 +251,11 @@
241251
CD7CDBFE256F5DFC002AE46F /* MemoryScanner.swift in Sources */,
242252
CD7CDC00256F5DFC002AE46F /* memory_scanner.c in Sources */,
243253
CD7CDBE7256F5D0D002AE46F /* ViewController.swift in Sources */,
254+
CD5E946E267A5ED300CFAB31 /* EventListDelegate.swift in Sources */,
244255
CDA94457257382D300DB2A85 /* RouteBox.swift in Sources */,
245256
CD7CDBFF256F5DFC002AE46F /* CelesteScanner.swift in Sources */,
246257
CD7CDC05256F7304002AE46F /* SimpleWebSocketServer.swift in Sources */,
258+
CD5E946B267A52B900CFAB31 /* EventStreamItem.swift in Sources */,
247259
CD7CDBE5256F5D0D002AE46F /* AppDelegate.swift in Sources */,
248260
CD7CDC2825717D2D002AE46F /* CelesteSplitter.swift in Sources */,
249261
);

SwiftSplit/Base.lproj/Main.storyboard

Lines changed: 48 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -708,7 +708,7 @@
708708
<objects>
709709
<viewController id="XfG-lQ-9wD" customClass="ViewController" customModule="SwiftSplit" customModuleProvider="target" sceneMemberID="viewController">
710710
<view key="view" id="m2S-Jp-Qdl">
711-
<rect key="frame" x="0.0" y="0.0" width="537" height="368"/>
711+
<rect key="frame" x="0.0" y="0.0" width="619" height="368"/>
712712
<autoresizingMask key="autoresizingMask"/>
713713
<subviews>
714714
<box title="Status" translatesAutoresizingMaskIntoConstraints="NO" id="FuC-W3-umu">
@@ -830,55 +830,66 @@
830830
<constraint firstItem="QmT-1L-MUd" firstAttribute="firstBaseline" secondItem="eDO-sJ-Vgs" secondAttribute="firstBaseline" id="wpO-Ix-7oM"/>
831831
</constraints>
832832
</view>
833+
<font key="titleFont" metaFont="smallSystem"/>
833834
</box>
834835
<box title="Event Stream" translatesAutoresizingMaskIntoConstraints="NO" id="33v-YB-TsJ">
835-
<rect key="frame" x="322" y="220" width="198" height="143"/>
836+
<rect key="frame" x="322" y="118" width="280" height="245"/>
836837
<view key="contentView" id="HL1-Ez-112">
837-
<rect key="frame" x="3" y="3" width="192" height="125"/>
838+
<rect key="frame" x="3" y="3" width="274" height="227"/>
838839
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
839840
<subviews>
840-
<textField verticalHuggingPriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="bgP-D0-Ncl">
841-
<rect key="frame" x="18" y="20" width="156" height="85"/>
842-
<textFieldCell key="cell" lineBreakMode="clipping" selectable="YES" id="cQJ-54-6pA">
843-
<font key="font" size="12" name="Courier"/>
844-
<string key="title">0
845-
0
846-
0
847-
0
848-
0
849-
0</string>
850-
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
851-
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
852-
</textFieldCell>
853-
</textField>
854841
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rC0-aN-HDF" userLabel="Max event width">
855-
<rect key="frame" x="18" y="111" width="156" height="14"/>
856-
<textFieldCell key="cell" lineBreakMode="clipping" title="&quot;complete chapter 00&quot;" id="m1S-Jf-Vsq">
842+
<rect key="frame" x="18" y="213" width="228" height="14"/>
843+
<textFieldCell key="cell" title="collect 00 chapter strawberries" usesSingleLineMode="YES" id="m1S-Jf-Vsq">
857844
<font key="font" size="12" name="Courier"/>
858845
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
859846
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
860847
</textFieldCell>
861848
</textField>
849+
<scrollView wantsLayer="YES" borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dfo-lC-Sjg">
850+
<rect key="frame" x="0.0" y="2" width="274" height="225"/>
851+
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="0oc-Cy-L0X">
852+
<rect key="frame" x="0.0" y="0.0" width="263" height="225"/>
853+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
854+
<subviews>
855+
<collectionView id="i7B-Zx-bzc">
856+
<rect key="frame" x="0.0" y="0.0" width="263" height="225"/>
857+
<autoresizingMask key="autoresizingMask" widthSizable="YES"/>
858+
<collectionViewGridLayout key="collectionViewLayout" id="wc7-Tm-wLX"/>
859+
<color key="primaryBackgroundColor" red="0.1176470588" green="0.1176470588" blue="0.1176470588" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
860+
</collectionView>
861+
</subviews>
862+
</clipView>
863+
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="myt-6z-yLS">
864+
<rect key="frame" x="-100" y="-100" width="233" height="15"/>
865+
<autoresizingMask key="autoresizingMask"/>
866+
</scroller>
867+
<scroller key="verticalScroller" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" controlSize="small" horizontal="NO" id="dWv-Oe-EBb">
868+
<rect key="frame" x="263" y="0.0" width="11" height="225"/>
869+
<autoresizingMask key="autoresizingMask"/>
870+
</scroller>
871+
</scrollView>
862872
</subviews>
863873
<constraints>
864-
<constraint firstAttribute="trailing" secondItem="bgP-D0-Ncl" secondAttribute="trailing" constant="20" id="FYF-al-46N"/>
865-
<constraint firstItem="rC0-aN-HDF" firstAttribute="top" secondItem="HL1-Ez-112" secondAttribute="top" id="LBR-Aj-PwS"/>
866-
<constraint firstItem="bgP-D0-Ncl" firstAttribute="leading" secondItem="HL1-Ez-112" secondAttribute="leading" constant="20" id="NTS-cv-ikz"/>
867-
<constraint firstAttribute="bottom" secondItem="bgP-D0-Ncl" secondAttribute="bottom" constant="20" id="QjL-Zg-gLC"/>
868-
<constraint firstItem="bgP-D0-Ncl" firstAttribute="top" secondItem="HL1-Ez-112" secondAttribute="top" constant="20" id="mUk-qE-GTZ"/>
869-
<constraint firstItem="rC0-aN-HDF" firstAttribute="leading" secondItem="HL1-Ez-112" secondAttribute="leading" constant="20" id="ui5-dC-gdW"/>
870-
<constraint firstAttribute="trailing" secondItem="rC0-aN-HDF" secondAttribute="trailing" constant="20" id="wW8-bl-oCV"/>
874+
<constraint firstItem="rC0-aN-HDF" firstAttribute="top" secondItem="dfo-lC-Sjg" secondAttribute="top" id="3r1-3a-YCS"/>
875+
<constraint firstItem="rC0-aN-HDF" firstAttribute="leading" secondItem="dfo-lC-Sjg" secondAttribute="leading" constant="20" id="6a2-H4-V2j"/>
876+
<constraint firstAttribute="bottom" secondItem="dfo-lC-Sjg" secondAttribute="bottom" constant="2" id="76F-Wg-PHX"/>
877+
<constraint firstItem="dfo-lC-Sjg" firstAttribute="trailing" secondItem="rC0-aN-HDF" secondAttribute="trailing" constant="30" id="773-2X-sc3"/>
878+
<constraint firstItem="dfo-lC-Sjg" firstAttribute="top" secondItem="HL1-Ez-112" secondAttribute="top" id="9bh-UA-SqF"/>
879+
<constraint firstItem="dfo-lC-Sjg" firstAttribute="leading" secondItem="HL1-Ez-112" secondAttribute="leading" id="TWk-LT-eg3"/>
880+
<constraint firstAttribute="trailing" secondItem="dfo-lC-Sjg" secondAttribute="trailing" id="ts3-vd-gee"/>
871881
</constraints>
872882
</view>
883+
<font key="titleFont" metaFont="smallSystem"/>
873884
</box>
874885
<box title="Route" translatesAutoresizingMaskIntoConstraints="NO" id="neJ-0Z-w8w" customClass="RouteBox" customModule="SwiftSplit" customModuleProvider="target">
875-
<rect key="frame" x="17" y="118" width="503" height="98"/>
886+
<rect key="frame" x="17" y="118" width="291" height="98"/>
876887
<view key="contentView" id="2ja-yw-6wr">
877-
<rect key="frame" x="3" y="3" width="497" height="80"/>
888+
<rect key="frame" x="3" y="3" width="285" height="80"/>
878889
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
879890
<subviews>
880891
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ldW-cj-q2x">
881-
<rect key="frame" x="374" y="34" width="109" height="32"/>
892+
<rect key="frame" x="162" y="34" width="109" height="32"/>
882893
<constraints>
883894
<constraint firstAttribute="height" constant="21" id="2lC-my-0MZ"/>
884895
</constraints>
@@ -962,11 +973,12 @@
962973
<constraint firstItem="8ue-EI-oPc" firstAttribute="firstBaseline" secondItem="U7h-H1-lIa" secondAttribute="firstBaseline" id="tS0-vI-juS"/>
963974
</constraints>
964975
</view>
976+
<font key="titleFont" metaFont="smallSystem"/>
965977
</box>
966978
<box title="Celeste" translatesAutoresizingMaskIntoConstraints="NO" id="gZh-Ph-B19">
967-
<rect key="frame" x="17" y="16" width="503" height="98"/>
979+
<rect key="frame" x="17" y="16" width="585" height="98"/>
968980
<view key="contentView" id="TpP-aV-Zee">
969-
<rect key="frame" x="3" y="3" width="497" height="80"/>
981+
<rect key="frame" x="3" y="3" width="579" height="80"/>
970982
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
971983
<subviews>
972984
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="PvB-8z-yhJ">
@@ -1039,16 +1051,17 @@
10391051
<constraint firstItem="PTY-Uy-72c" firstAttribute="leading" secondItem="TpP-aV-Zee" secondAttribute="leading" constant="20" id="w3k-nj-BXP"/>
10401052
</constraints>
10411053
</view>
1054+
<font key="titleFont" metaFont="smallSystem"/>
10421055
</box>
10431056
</subviews>
10441057
<constraints>
10451058
<constraint firstItem="gZh-Ph-B19" firstAttribute="top" secondItem="neJ-0Z-w8w" secondAttribute="bottom" constant="8" id="29q-BF-hV1"/>
1059+
<constraint firstItem="33v-YB-TsJ" firstAttribute="leading" secondItem="neJ-0Z-w8w" secondAttribute="trailing" constant="20" id="Cm5-du-gZP"/>
10461060
<constraint firstItem="33v-YB-TsJ" firstAttribute="top" secondItem="FuC-W3-umu" secondAttribute="top" id="Di4-s4-d5X"/>
1047-
<constraint firstItem="33v-YB-TsJ" firstAttribute="bottom" secondItem="FuC-W3-umu" secondAttribute="bottom" id="KIy-kz-WTG"/>
10481061
<constraint firstItem="FuC-W3-umu" firstAttribute="leading" secondItem="m2S-Jp-Qdl" secondAttribute="leading" constant="20" id="NDu-Vh-0m9"/>
10491062
<constraint firstItem="neJ-0Z-w8w" firstAttribute="leading" secondItem="m2S-Jp-Qdl" secondAttribute="leading" constant="20" id="Nsl-xB-1u3"/>
10501063
<constraint firstItem="gZh-Ph-B19" firstAttribute="leading" secondItem="m2S-Jp-Qdl" secondAttribute="leading" constant="20" id="USK-66-uXw"/>
1051-
<constraint firstAttribute="trailing" secondItem="neJ-0Z-w8w" secondAttribute="trailing" constant="20" id="bQs-r8-eE8"/>
1064+
<constraint firstItem="gZh-Ph-B19" firstAttribute="top" secondItem="33v-YB-TsJ" secondAttribute="bottom" constant="8" id="UeT-7y-bDN"/>
10521065
<constraint firstItem="neJ-0Z-w8w" firstAttribute="top" secondItem="FuC-W3-umu" secondAttribute="bottom" constant="8" id="hs1-Gk-S1Q"/>
10531066
<constraint firstAttribute="bottom" secondItem="gZh-Ph-B19" secondAttribute="bottom" constant="20" id="jtE-Q0-9AO"/>
10541067
<constraint firstItem="33v-YB-TsJ" firstAttribute="leading" secondItem="FuC-W3-umu" secondAttribute="trailing" constant="22" id="qcG-qd-Nz3"/>
@@ -1060,7 +1073,7 @@
10601073
<connections>
10611074
<outlet property="celesteDataLabel" destination="b1e-xt-GQZ" id="iDP-Ku-O7J"/>
10621075
<outlet property="connectionStatusLabel" destination="PvB-8z-yhJ" id="lAk-c0-U2y"/>
1063-
<outlet property="eventStreamLabel" destination="bgP-D0-Ncl" id="45M-nw-ak1"/>
1076+
<outlet property="eventStreamCollectionView" destination="i7B-Zx-bzc" id="yOC-Us-TAZ"/>
10641077
<outlet property="gameTimeLabel" destination="5LC-eL-9OH" id="u7T-7j-aF1"/>
10651078
<outlet property="livesplitClientsLabel" destination="QmT-1L-MUd" id="380-ot-XCf"/>
10661079
<outlet property="loadedRouteLabel" destination="KyE-c7-ajR" id="ffN-6y-9V1"/>
@@ -1071,7 +1084,7 @@
10711084
</viewController>
10721085
<customObject id="rPt-NT-nkU" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
10731086
</objects>
1074-
<point key="canvasLocation" x="76" y="716"/>
1087+
<point key="canvasLocation" x="75.5" y="716"/>
10751088
</scene>
10761089
</scenes>
10771090
<resources>

0 commit comments

Comments
 (0)