diff --git a/timeline_editor/digitspan_block.py b/timeline_editor/digitspan_block.py new file mode 100644 index 0000000..8c9e1e6 --- /dev/null +++ b/timeline_editor/digitspan_block.py @@ -0,0 +1,47 @@ +import streamlit as st +import json +from enum import Enum + +class HudWidgetPosition(Enum): + Hidden = "Hidden" + StatusBarLeft = "Status bar (left)" + StatusBarCenter = "Status bar (center)" + StatusBarRight = "Status bar (right)" + InformationPanel = "Information Panel" + +class DigitSpanBlock(): + + Name = "Woods2011" + InterstimulusInterval = 1 + RetentionDelay = 1 + BlockCounterPosition: HudWidgetPosition = HudWidgetPosition.Hidden + + def __init__(self): + st.title("DigitSpan - Block Generator") + + self.InterstimulusInterval = st.sidebar.number_input( + "Interstimulus Interval (millis)", + min_value=0, + step=1) + + self.RetentionDelay = st.sidebar.number_input( + "Retention Delay (millis)", + min_value=0, + step=1) + + self.BlockCounterPosition = self.enum_input("Block Counter Position", self.BlockCounterPosition) + + # show output json + st.header("") + st.json(json.dumps(self.__dict__)) + + def enum_input(self, text, param): + options = list(map(lambda e: e.name, param.__class__)) + widget = st.sidebar.selectbox( + text, + options, + format_func=lambda k: param.__class__[k].value) + return widget + +if __name__ == "__main__": + app = DigitSpanBlock()