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

101 lines
3.5 KiB
Python

"""
Copyright (c) Contributors to the Open 3D Engine Project.
For complete copyright and license terms please see the LICENSE at the root of this distribution.
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')