1616
|
1 local Luan = require "luan:Luan.luan"
|
|
2 local error = Luan.error
|
|
3 local set_metatable = Luan.set_metatable or error()
|
1874
|
4 local Utils = require "luan:swing/Utils.luan"
|
|
5 local make_metatable = Utils.make_metatable or error()
|
1944
|
6 local remove = Utils.remove or error()
|
1885
|
7 local check_empty = Utils.check_empty or error()
|
1873
|
8 local Component = require "luan:swing/Component.luan"
|
1884
|
9 local super_construct = Component.construct or error()
|
1892
|
10 local super_mt = Component.mt or error()
|
1959
|
11 local Swing_runner = require "luan:swing/Swing_runner.luan"
|
|
12 local run_later = Swing_runner.run_later or error()
|
1616
|
13 require "java"
|
|
14 local JScrollPane = require "java:javax.swing.JScrollPane"
|
1942
|
15 local Logging = require "luan:logging/Logging.luan"
|
|
16 local logger = Logging.logger "swing/Scroll_pane"
|
1616
|
17
|
|
18
|
|
19 local Scroll_pane = {}
|
|
20
|
1885
|
21 function Scroll_pane.new(props)
|
1944
|
22 local view = remove(props,"view") or error "view property requied"
|
1616
|
23 local jscroll_pane = JScrollPane.new(view.java)
|
|
24 local scroll_pane = { java = jscroll_pane }
|
1885
|
25 super_construct(scroll_pane,props)
|
1944
|
26 local row_header_view = remove(props,"row_header_view")
|
1887
|
27 if row_header_view~=nil then jscroll_pane.setRowHeaderView(row_header_view.java) end
|
1885
|
28 check_empty(props)
|
1616
|
29 function scroll_pane.set_row_header_view(view)
|
|
30 jscroll_pane.setRowHeaderView(view.java)
|
|
31 end
|
1939
|
32 function scroll_pane.scroll_to_right()
|
|
33 run_later( function()
|
|
34 local bar = jscroll_pane.getHorizontalScrollBar()
|
|
35 bar.setValue( bar.getMaximum() )
|
|
36 end )
|
|
37 end
|
1892
|
38 set_metatable(scroll_pane,super_mt)
|
1616
|
39 return scroll_pane
|
|
40 end
|
|
41
|
|
42 return Scroll_pane
|