Mercurial Hosting > luan
view src/luan/modules/swing/Scroll_pane.luan @ 1992:ac02e07f09de default tip
add config
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 01 Jul 2025 15:14:26 -0600 |
parents | a8bab2b60b67 |
children |
line wrap: on
line source
local Luan = require "luan:Luan.luan" local error = Luan.error local set_metatable = Luan.set_metatable or error() local Utils = require "luan:swing/Utils.luan" local make_metatable = Utils.make_metatable or error() local remove = Utils.remove or error() local check_empty = Utils.check_empty or error() local Component = require "luan:swing/Component.luan" local super_construct = Component.construct or error() local super_mt = Component.mt or error() local Swing_runner = require "luan:swing/Swing_runner.luan" local run_later = Swing_runner.run_later or error() require "java" local JScrollPane = require "java:javax.swing.JScrollPane" local Logging = require "luan:logging/Logging.luan" local logger = Logging.logger "swing/Scroll_pane" local Scroll_pane = {} function Scroll_pane.new(props) local view = remove(props,"view") or error "view property requied" local jscroll_pane = JScrollPane.new(view.java) local scroll_pane = { java = jscroll_pane } super_construct(scroll_pane,props) local row_header_view = remove(props,"row_header_view") if row_header_view~=nil then jscroll_pane.setRowHeaderView(row_header_view.java) end check_empty(props) function scroll_pane.set_row_header_view(view) jscroll_pane.setRowHeaderView(view.java) end function scroll_pane.scroll_to_right() run_later( function() local bar = jscroll_pane.getHorizontalScrollBar() bar.setValue( bar.getMaximum() ) end ) end set_metatable(scroll_pane,super_mt) return scroll_pane end return Scroll_pane