|
1 | 1 | # ABSTRACT: Roles and classes for scrollbars |
2 | 2 |
|
| 3 | +use Terminal::Widgets::Layout; |
3 | 4 | use Terminal::Widgets::Events; |
4 | 5 | use Terminal::Widgets::Widget; |
5 | 6 | use Terminal::Widgets::Focusable; |
@@ -61,6 +62,8 @@ does Terminal::Widgets::Focusable { |
61 | 62 | class Terminal::Widgets::HScrollBar |
62 | 63 | is Terminal::Widgets::Widget |
63 | 64 | does Terminal::Widgets::Scrollbar { |
| 65 | + method layout-class() { Terminal::Widgets::Layout::HScrollBar } |
| 66 | + |
64 | 67 | method h-arrow-scroll-inc() { |
65 | 68 | my $ui-prefs = self.terminal.ui-prefs; |
66 | 69 | my $h-invert = $ui-prefs<scroll-invert-horizontal> ?? -1 !! +1; |
@@ -242,6 +245,8 @@ class Terminal::Widgets::HScrollBar |
242 | 245 | class Terminal::Widgets::VScrollBar |
243 | 246 | is Terminal::Widgets::Widget |
244 | 247 | does Terminal::Widgets::Scrollbar { |
| 248 | + method layout-class() { Terminal::Widgets::Layout::VScrollBar } |
| 249 | + |
245 | 250 | method v-arrow-scroll-inc() { |
246 | 251 | my $ui-prefs = self.terminal.ui-prefs; |
247 | 252 | my $v-invert = $ui-prefs<scroll-invert-vertical> ?? -1 !! +1; |
@@ -416,3 +421,8 @@ class Terminal::Widgets::VScrollBar |
416 | 421 | self.full-refresh; |
417 | 422 | } |
418 | 423 | } |
| 424 | + |
| 425 | + |
| 426 | +# Register both ScrollBars as buildable widget types |
| 427 | +Terminal::Widgets::HScrollBar.register; |
| 428 | +Terminal::Widgets::VScrollBar.register; |
0 commit comments