test
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.PlasticSCM.Editor.UI
|
||||
{
|
||||
internal static class DropDownTextField
|
||||
{
|
||||
internal static string DoDropDownTextField(
|
||||
string text,
|
||||
string controlName,
|
||||
List<string> dropDownOptions,
|
||||
GenericMenu.MenuFunction2 optionSelected,
|
||||
params GUILayoutOption[] options)
|
||||
{
|
||||
GUIContent textContent = new GUIContent(text);
|
||||
|
||||
Rect textFieldRect = GUILayoutUtility.GetRect(
|
||||
textContent,
|
||||
EditorStyles.textField,
|
||||
options);
|
||||
|
||||
return DoDropDownTextField(
|
||||
text,
|
||||
controlName,
|
||||
dropDownOptions,
|
||||
optionSelected,
|
||||
textFieldRect);
|
||||
}
|
||||
|
||||
internal static string DoDropDownTextField(
|
||||
string text,
|
||||
string controlName,
|
||||
List<string> dropDownOptions,
|
||||
GenericMenu.MenuFunction2 optionSelected,
|
||||
Rect textFieldRect)
|
||||
{
|
||||
Texture popupIcon = Images.GetDropDownIcon();
|
||||
|
||||
Rect popupButtonRect = new Rect(
|
||||
textFieldRect.x + textFieldRect.width - BUTTON_WIDTH,
|
||||
textFieldRect.y,
|
||||
BUTTON_WIDTH,
|
||||
textFieldRect.height);
|
||||
|
||||
if (GUI.Button(popupButtonRect, string.Empty, EditorStyles.label))
|
||||
{
|
||||
GenericMenu menu = new GenericMenu();
|
||||
foreach (string option in dropDownOptions)
|
||||
{
|
||||
menu.AddItem(
|
||||
new GUIContent(UnityMenuItem.EscapedText(option)),
|
||||
false,
|
||||
optionSelected,
|
||||
option);
|
||||
}
|
||||
|
||||
menu.DropDown(textFieldRect);
|
||||
}
|
||||
|
||||
Rect popupIconRect = new Rect(
|
||||
popupButtonRect.x,
|
||||
popupButtonRect.y + UnityConstants.DROPDOWN_ICON_Y_OFFSET,
|
||||
popupButtonRect.width,
|
||||
popupButtonRect.height);
|
||||
|
||||
GUI.SetNextControlName(controlName);
|
||||
string result = GUI.TextField(textFieldRect, text);
|
||||
|
||||
GUI.Label(popupIconRect, popupIcon);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
const int BUTTON_WIDTH = 16;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user