Skip to content

Latest commit

 

History

History
61 lines (58 loc) · 2.15 KB

TODO.md

File metadata and controls

61 lines (58 loc) · 2.15 KB

Scurses

  • RGB to color code
  • Homemade key polling with more keys than JLine
  • Handle resize event
  • Custom ML for RichText
  • Clipping mode
  • Buffer concept where you can put things before printing them -> widgets will update first, we know their height, then we can draw from outside the widget

Onions:

  • Remove Options' get()
  • Generalize directional methods.
  • Don't link panels in split(), do it in different constructor
  • Write getNext(direction) for focus navigation
  • Remove resizing from split, resizing will be done dynamically at redraw
  • Remove position, do everything with relative translations (remove absolute)
  • Update dimensions has to recursively go down and update right with stuff
  • Debug mode for frame
  • Focus ring around panel
  • Color schemes
  • All widgets take `Varying[T] for parameters
    • Adds themselves as subscribers for change
    • Callback is just redraw for now
  • Split panel into tabs
  • Make all plot types handle negative values and indices
  • Generalize graph grid + legends
  • Only redraw needed
  • Detect height changes -> request redraw
  • Make all plot types handle floats
  • split() version with weight
  • Scrollbars for long content
  • Support multiple sets of values in scatter plot
  • Generalize plot coordinate helpers
  • Convert current things to RichText
  • Handle out of bound values for plots
  • Transition from FramePanel to SplitLayout
    • Inherit from new Layout class with markAll, redraw
    • ColumnLayout
    • AbsoluteLayout
  • In widget draw(), compute all lengths first to determine if enough room -> Display "Not enough room"
  • Graph widgets have optional height parameter
  • Widgets:
    • Bar graph
    • Big text display
    • SevenSegment
    • Input
    • Radio and RadioGroup
    • BitMap
    • Scatter plot
    • HeatMap
    • Slider
    • CheckBox
    • Histogram
    • Progressbar, displays percentage
    • TextBox
      • Console, grabs stdout and stderr
      • Terminal, along with an input field, spawns a bash