#
#   Python GUI - Common code for scrollable components - Gtk
#

from gi.repository import Gtk

gtk_scroll_policies = [Gtk.PolicyType.NEVER, Gtk.PolicyType.ALWAYS]

gtk_dummybar = Gtk.VScrollbar()
gtk_scrollbar_breadth = gtk_dummybar.get_preferred_width()
del gtk_dummybar

class Scrollable(object):

    def get_hscrolling(self):
        return self._gtk_outer_widget.get_property('hscrollbar-policy') <> Gtk.PolicyType.NEVER
    
    def set_hscrolling(self, value):
        self._gtk_outer_widget.set_property('hscrollbar-policy', gtk_scroll_policies[value])
    
    def get_vscrolling(self):
        return self._gtk_outer_widget.get_property('vscrollbar-policy') <> Gtk.PolicyType.NEVER
    
    def set_vscrolling(self, value):
        self._gtk_outer_widget.set_property('vscrollbar-policy', gtk_scroll_policies[value])

