|
Revision 112, 1.5 kB
(checked in by ashley, 9 months ago)
|
|
Added pill.r
Scroller fixes
Major color / theme management changes (in progress)
|
| Line | |
|---|
| 1 | text-list: make rebface [
|
|---|
| 2 | tip: {
|
|---|
| 3 | USAGE:
|
|---|
| 4 | text-list data ["One" "Two"]
|
|---|
| 5 | text-list data ctx-rebgui/locale*/colors
|
|---|
| 6 | text-list data [1 2] [print face/selected]
|
|---|
| 7 |
|
|---|
| 8 | DESCRIPTION:
|
|---|
| 9 | A single column list with a scroller.
|
|---|
| 10 |
|
|---|
| 11 | OPTIONS:
|
|---|
| 12 | 'multi allows multiple rows to be selected at once
|
|---|
| 13 | }
|
|---|
| 14 | size: 50x25
|
|---|
| 15 | data: []
|
|---|
| 16 | edge: outline-edge
|
|---|
| 17 | ; widget facets
|
|---|
| 18 | redraw: make function! [] [] ; place-holder for examine
|
|---|
| 19 | selected: make function! [] [] ; place-holder for examine
|
|---|
| 20 | picked: []
|
|---|
| 21 | rows: make function! [] [pane/rows]
|
|---|
| 22 |
|
|---|
| 23 | select-row: make function! [
|
|---|
| 24 | row [integer! none! block!]
|
|---|
| 25 | /no-action
|
|---|
| 26 | /local rows lines
|
|---|
| 27 | ][
|
|---|
| 28 | clear picked
|
|---|
| 29 | if row [
|
|---|
| 30 | row: either integer? row [to block! row] [sort copy row]
|
|---|
| 31 | rows: pane/rows
|
|---|
| 32 | lines: pane/lines
|
|---|
| 33 | foreach r row [
|
|---|
| 34 | r: max 1 min rows r
|
|---|
| 35 | insert picked r
|
|---|
| 36 | ]
|
|---|
| 37 | unless no-action [action/on-click self]
|
|---|
| 38 | ]
|
|---|
| 39 | show self
|
|---|
| 40 | ]
|
|---|
| 41 | ; init
|
|---|
| 42 | init: make function! [/local p] [
|
|---|
| 43 | p: self
|
|---|
| 44 | pane: make face-iterator [
|
|---|
| 45 | size: p/size
|
|---|
| 46 | span: either p/span [copy p/span] [none]
|
|---|
| 47 | data: p/data
|
|---|
| 48 | options: p/options ; share options block
|
|---|
| 49 | picked: p/picked ; share picked block
|
|---|
| 50 | action: get in p/action 'on-click ; share action func
|
|---|
| 51 | alt-action: get in p/action 'on-alt-click ; share alt-action func
|
|---|
| 52 | dbl-action: get in p/action 'on-dbl-click ; share dbl-action func
|
|---|
| 53 | ]
|
|---|
| 54 | pane/init
|
|---|
| 55 | ; accessors
|
|---|
| 56 | redraw: get in pane 'redraw
|
|---|
| 57 | selected: get in pane 'selected
|
|---|
| 58 | ]
|
|---|
| 59 | ] |
|---|