mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-20 22:20:59 -04:00

Made initialization ignore the setScrollBarWidth function Respect the length/height of the scrollbar and only change the actual width in the setScrollBarWidth function Added a very basic unittest class for the scrolledFrame Closes #864
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from direct.gui.DirectScrolledFrame import DirectScrolledFrame
|
|
import pytest
|
|
|
|
|
|
def test_set_scrollbar_width():
|
|
w = 1
|
|
|
|
frm = DirectScrolledFrame(scrollBarWidth=w)
|
|
|
|
assert frm['scrollBarWidth'] == 1
|
|
|
|
assert frm.verticalScroll['frameSize'] == (-w / 2.0, w / 2.0, -1, 1)
|
|
assert frm.horizontalScroll['frameSize'] == (-1, 1, -w / 2.0, w / 2.0)
|
|
|
|
# manual changes to the framesize
|
|
frm.verticalScroll['frameSize'] = (-2, 2, -4, 4)
|
|
frm.horizontalScroll['frameSize'] = (-4, 4, -2, 2)
|
|
assert frm.verticalScroll['frameSize'] == (-2, 2, -4, 4)
|
|
assert frm.horizontalScroll['frameSize'] == (-4, 4, -2, 2)
|
|
|
|
# change scrollbar width to a new value
|
|
w = 2
|
|
frm['scrollBarWidth'] = w
|
|
|
|
# check, new value is set correct
|
|
assert frm['scrollBarWidth'] == 2
|
|
|
|
# check if new size is set correct
|
|
assert frm.verticalScroll['frameSize'] == (-w / 2.0, w / 2.0, -4, 4)
|
|
assert frm.horizontalScroll['frameSize'] == (-4, 4, -w / 2.0, w / 2.0)
|
|
|
|
|
|
def test_set_scrollbar_width_on_init():
|
|
frm = DirectScrolledFrame(verticalScroll_frameSize=(-2, 2, -4, 4), horizontalScroll_frameSize=(-4, 4, -2, 2))
|
|
assert frm.verticalScroll['frameSize'] == (-2, 2, -4, 4)
|
|
assert frm.horizontalScroll['frameSize'] == (-4, 4, -2, 2)
|