Skip to content

Commit 3850d33

Browse files
committed
Merge pull request #1242 from chaosphere2112/text_resizing_window_place
Fixed resizing issue and added two tests to cover it
2 parents 821011d + 3650d29 commit 3850d33

File tree

5 files changed

+68
-0
lines changed

5 files changed

+68
-0
lines changed

Packages/vcs/Lib/VTKPlots.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1482,6 +1482,7 @@ def hideGUI(self):
14821482
if manager_exists(self.renWin.GetInteractor()):
14831483
manager = get_manager(self.renWin.GetInteractor())
14841484
self.renWin.RemoveRenderer(manager.renderer)
1485+
self.renWin.RemoveRenderer(manager.actor_renderer)
14851486

14861487
def showGUI(self, render=True):
14871488
plot = self.get3DPlot()
@@ -1493,6 +1494,7 @@ def showGUI(self, render=True):
14931494
if manager_exists(self.renWin.GetInteractor()):
14941495
manager = get_manager(self.renWin.GetInteractor())
14951496
self.renWin.AddRenderer(manager.renderer)
1497+
self.renWin.AddRenderer(manager.actor_renderer)
14961498
# Bring the manager's renderer to the top of the stack
14971499
manager.elevate()
14981500
if render:

testing/vcs/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,12 @@ cdat_add_test(vcs_test_configurator_click_marker
645645
"${PYTHON_EXECUTABLE}"
646646
${cdat_SOURCE_DIR}/testing/vcs/test_vcs_configurator_click_marker.py
647647
)
648+
cdat_add_test(vcs_test_configurator_resize
649+
"${PYTHON_EXECUTABLE}"
650+
${cdat_SOURCE_DIR}/testing/vcs/test_vcs_configurator_resize.py
651+
${BASELINE_DIR}/test_vcs_configurator_resize.png
652+
)
653+
648654
cdat_add_test(vcs_test_colorpicker_appearance
649655
"${PYTHON_EXECUTABLE}"
650656
${cdat_SOURCE_DIR}/testing/vcs/test_vcs_colorpicker_appearance.py
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import vcs, vtk
2+
3+
x = vcs.init()
4+
x.open()
5+
x.configure()
6+
7+
x.backend.renWin.SetSize(814, 303)
8+
x.backend.renWin.Modified()
9+
10+
fnm = "test_vcs_configurator_resize.png"
11+
12+
win = x.backend.renWin
13+
win.Render()
14+
out_filter = vtk.vtkWindowToImageFilter()
15+
out_filter.SetInput(win)
16+
17+
png_writer = vtk.vtkPNGWriter()
18+
png_writer.SetFileName(fnm)
19+
png_writer.SetInputConnection(out_filter.GetOutputPort())
20+
png_writer.Write()
21+
22+
import sys, os
23+
if len(sys.argv) > 1:
24+
pth = os.path.join(os.path.dirname(__file__), "..")
25+
sys.path.append(pth)
26+
import checkimage
27+
src = sys.argv[1]
28+
ret = checkimage.check_result_image(fnm, src, checkimage.defaultThreshold)
29+
sys.exit(ret)

testing/vcs/vtk_ui/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,11 @@ cdat_add_test(test_vtk_ui_white_or_black
168168
${TEST_DIR}/test_vtk_ui_white_or_black.py
169169
)
170170

171+
cdat_add_test(test_vtk_ui_manager_resize
172+
"${PYTHON_EXECUTABLE}"
173+
${TEST_DIR}/test_vtk_ui_manager_resize.py
174+
${BASELINE_DIR}/test_vtk_ui_manager_resize.png
175+
)
171176
cdat_add_test(test_vtk_ui_textbox_blank_text
172177
"${PYTHON_EXECUTABLE}"
173178
${TEST_DIR}/test_vtk_ui_textbox_blank_text.py
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"""
2+
Test window resizing placing widgets correctly
3+
"""
4+
import vcs.vtk_ui
5+
6+
from vtk_ui_test import vtk_ui_test
7+
8+
9+
class test_vtk_ui_manager_resize(vtk_ui_test):
10+
def do_test(self):
11+
self.win.SetSize(250, 100)
12+
# Due to UV-CDAT/uvcdat#1148, have to render on screen when resizing
13+
self.win.SetOffScreenRendering(0)
14+
15+
button = vcs.vtk_ui.Button(self.inter, label="Position me", left=10, top=10)
16+
button.place()
17+
button.show()
18+
19+
self.win.SetSize(200, 50)
20+
21+
self.win.Modified()
22+
23+
self.test_file = "test_vtk_ui_manager_resize.png"
24+
25+
if __name__ == "__main__":
26+
test_vtk_ui_manager_resize().test()

0 commit comments

Comments
 (0)