Files
o3de/Gems/LyShineExamples/Assets/UI/Scripts/LyShineExamples/Dropdown/SelectionDropdownSelectedOption.lua
T
2021-03-08 14:30:57 -08:00

50 lines
2.0 KiB
Lua

----------------------------------------------------------------------------------------------------
--
-- All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-- its licensors.
--
-- For complete copyright and license terms please see the LICENSE at the root of this
-- distribution (the "License"). All use of this software is governed by the License,
-- or, if provided, by the license below or the license accompanying this file. Do not
-- remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--
--
----------------------------------------------------------------------------------------------------
local SelectionDropdownSelectedOption =
{
Properties =
{
DropdownContent = {default = EntityId()},
OptionsDisplay = {default = EntityId()},
},
}
function SelectionDropdownSelectedOption:OnActivate()
local deleteButton = UiElementBus.Event.FindChildByName(self.entityId, "Delete")
self.buttonHandler = UiButtonNotificationBus.Connect(self, deleteButton)
end
function SelectionDropdownSelectedOption:OnButtonClick()
-- Add a new child to the dropdown content list
local numChildren = UiElementBus.Event.GetNumChildElements(self.Properties.DropdownContent)
UiDynamicLayoutBus.Event.SetNumChildElements(self.Properties.DropdownContent, numChildren + 1)
-- Get the text that corresponds to our option
local text = UiTextBus.Event.GetText(self.entityId)
-- Get the child that was last added (index = numChildren)
local newChild = UiElementBus.Event.GetChild(self.Properties.DropdownContent, numChildren)
local textChild = UiElementBus.Event.FindChildByName(newChild, "Text")
UiTextBus.Event.SetText(textChild, text)
-- Remove this option from the options display
UiElementBus.Event.DestroyElement(self.entityId)
end
function SelectionDropdownSelectedOption:OnDeactivate()
self.buttonHandler:Disconnect()
end
return SelectionDropdownSelectedOption