You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ViewPaneCommands_test_case.py

100 lines
3.4 KiB
Python

"""
Copyright (c) Contributors to the Open 3D Engine Project
SPDX-License-Identifier: Apache-2.0 OR MIT
"""
# Tests a portion of the View Pane Python API from ViewPane.cpp while the Editor is running
import azlmbr.bus as bus
import azlmbr.editor as editor
import azlmbr.math
import azlmbr.legacy.general as general
# Open a level (any level should work)
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample')
general.idle_wait(0.5)
viewport_size = general.get_viewport_size()
view_width = int(viewport_size.x)
view_height = int(viewport_size.y)
general.set_viewport_size(320, 240)
new_viewport_size = general.get_viewport_size()
new_view_width = int(new_viewport_size.x)
new_view_height = int(new_viewport_size.y)
if not (view_width == new_view_width) and not (view_height == new_view_height):
print("set_viewport_size works")
general.resize_viewport(int(view_width), int(view_height))
newer_viewport_size = general.get_viewport_size()
newer_view_width = int(newer_viewport_size.x)
newer_view_height = int(newer_viewport_size.y)
if not (newer_view_width == new_view_width) and not (newer_view_height == new_view_height):
print("resize_viewport works")
def set_and_validate_viewport_size(width, height):
general.set_viewport_size(width, height)
general.update_viewport()
general.idle_wait(1.0)
new_viewport_size = general.get_viewport_size()
if (new_viewport_size.x != width) or (new_viewport_size.y != height):
return False
return True
# Perform some simple validation of get/set viewport expansion policy
general.set_viewport_expansion_policy('FixedSize')
if (general.get_viewport_expansion_policy() == 'FixedSize'):
print("get_viewport_expansion_policy works")
general.set_viewport_expansion_policy('AutoExpand')
if (general.get_viewport_expansion_policy() == 'AutoExpand'):
print("get_viewport_expansion_policy works")
# Validate that setting it to an invalid value doesn't change the setting.
general.set_viewport_expansion_policy('XXXXX')
if (general.get_viewport_expansion_policy() == 'AutoExpand'):
print("get_viewport_expansion_policy works")
# Set a series of viewport sizes (smaller to larger than display resolution sizes) and verify they all work.
general.set_viewport_expansion_policy('FixedSize')
if (set_and_validate_viewport_size(150, 300)):
print("set_viewport_expansion_policy works")
# Set different view pane layouts and verify it works
success = True
#general.set_view_pane_layout(0)
general.idle_wait(0.5)
success = success and (general.get_view_pane_layout() == 0)
success = success and (general.get_viewport_count() == 1)
# general.set_view_pane_layout(1)
# general.idle_wait(0.5)
# success = success and (general.get_view_pane_layout() == 1)
# success = success and (general.get_viewport_count() == 2)
if success:
print("get_view_pane_layout works")
print("set_view_pane_layout works")
print("get_viewport_count works")
#success = True
#general.set_active_viewport(0)
#general.idle_wait(0.5)
#success = success and (general.get_active_viewport() == 0)
#general.set_active_viewport(1)
#general.idle_wait(0.5)
#success = success and (general.get_active_viewport() == 1)
#if success:
# print("get_active_viewport works")
# print("set_active_viewport works")
#general.set_view_pane_layout(0)
general.idle_wait(0.5)
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'ExitNoPrompt')