Here are the examples of the csharp api UnityEngine.GUILayoutUtility.GetRect(UnityEngine.GUIContent, UnityEngine.GUIStyle) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
2 Examples
19
View Source File : GraphEditor.cs
License : MIT License
Project Creator : m969
License : MIT License
Project Creator : m969
public static void Separator () {
GUIStyle separator = AstarPathEditor.astarSkin.FindStyle("PixelBox3Separator") ?? new GUIStyle();
Rect r = GUILayoutUtility.GetRect(new GUIContent(), separator);
if (Event.current.type == EventType.Repaint) {
separator.Draw(r, false, false, false, false);
}
}
19
View Source File : RawDataInspector.cs
License : MIT License
Project Creator : Unity-Technologies
License : MIT License
Project Creator : Unity-Technologies
void OnGUIFetchView()
{
if (Event.current.type == EventType.Layout)
{
m_RawDataClient.TestFilesAreLocal(m_Jobs);
}
using (new GUILayout.VerticalScope("box"))
{
string oldKey = m_SecretKey;
m_AppId = EditorGUILayout.TextField(m_UpidContent, m_AppId);
RestoreAppId();
m_SecretKey = EditorGUILayout.TextField(m_SecretKeyContent, m_SecretKey);
m_RawDataClient.m_DataPath = m_DataPath;
m_RawDataClient.m_AppId = m_AppId;
m_RawDataClient.m_SecretKey = m_SecretKey;
if (oldKey != m_SecretKey && !string.IsNullOrEmpty(m_SecretKey))
{
EditorPrefs.SetString(k_FetchKey, m_SecretKey);
}
}
using (new GUILayout.VerticalScope("box"))
{
GUILayout.Label("New Job", EditorStyles.boldLabel);
var oldStartDate = m_StartDate;
var oldEndDate = m_EndDate;
m_StartDate = EditorGUILayout.TextField(m_StartDateContent, m_StartDate);
m_EndDate = EditorGUILayout.TextField(m_EndDateContent, m_EndDate);
if (oldStartDate != m_StartDate || oldEndDate != m_EndDate)
{
EditorPrefs.SetString(k_StartDate, m_StartDate);
EditorPrefs.SetString(k_EndDate, m_EndDate);
}
if (GUILayout.Button("Create Job"))
{
RawDataReport report = null;
try
{
DateTime startDate = DateTime.Parse(m_StartDate).ToUniversalTime();
DateTime endDate = DateTime.Parse(m_EndDate).ToUniversalTime();
report = m_RawDataClient.CreateJob("custom", startDate, endDate);
}
catch (Exception ex)
{
string exText = "Unknown exception.";
if (ex is FormatException)
{
exText = "Date formats appear to be incorrect. Start and End Dates must be ISO-8601 format (YYYY-MM-DD).";
}
else if (ex is WebException)
{
WebException webEx = ex as WebException;
exText = webEx.Message;
}
EditorUtility.DisplayDialog("Can't create job", exText, "OK");
}
if (m_Jobs == null)
{
m_Jobs = new List<RawDataReport>();
}
if (report != null)
{
m_Jobs.Add(report);
}
m_JobFoldouts = m_Jobs.Select(fb => false).ToArray();
}
}
using (new GUILayout.VerticalScope("box"))
{
using (new EditorGUILayout.HorizontalScope())
{
if (GUILayout.Button(m_GetJobsContent))
{
m_RawDataClient.GetJobs(GetJobsCompletionHandler);
}
if (GUILayout.Button(m_DownloadAllContent))
{
m_RawDataClient.DownloadAll(m_Jobs);
}
}
m_ScrollPosition = EditorGUILayout.BeginScrollView(m_ScrollPosition);
if (m_Jobs != null)
{
for (int a = m_Jobs.Count - 1; a > -1; a--)
{
var job = m_Jobs[a];
string start = String.Format("{0:yyyy-MM-dd}", job.request.startDate);
string end = String.Format("{0:yyyy-MM-dd}", job.request.endDate);
string shortStart = String.Format("{0:MM-dd}", job.request.startDate);
string shortEnd = String.Format("{0:MM-dd}", job.request.endDate);
string created = String.Format("{0:yyyy-MM-dd hh:mm:ss}", job.createdAt);
string type = job.request.dataset;
using (new EditorGUILayout.HorizontalScope())
{
float windowWidth = EditorGUIUtility.currentViewWidth;
float foldoutWidth = windowWidth * .5f;
float downloadButtonWidth = 75f;
float continueButtonWidth = 25f;
float downloadedWidth = downloadButtonWidth;
float statusWidth = 20f;
GUIContent foldoutContent = new GUIContent(type + ": " + shortStart + " to " + shortEnd, start + " — " + end + "\n" + job.id);
Rect pos = GUILayoutUtility.GetRect(foldoutContent, "foldout");
Rect rect = new Rect(pos.x, pos.y, foldoutWidth, 20f);
m_JobFoldouts[a] = EditorGUI.Foldout(
rect,
m_JobFoldouts[a],
foldoutContent,
true
);
var statusContent = m_CompleteContent;
switch (job.status)
{
case RawDataReport.Failed:
statusContent = m_FailedContent;
break;
case RawDataReport.Running:
statusContent = m_RunningContent;
break;
}
GUILayout.Label(statusContent, GUILayout.Width(statusWidth));
if (job.status == RawDataReport.Completed)
{
if (job.isLocal)
{
GUILayout.Label("Downloaded", GUILayout.Width(downloadedWidth));
}
else if (job.result != null && job.result.size == 0)
{
GUILayout.Label("No Data", GUILayout.Width(downloadedWidth));
}
else if (GUILayout.Button(m_DownloadJobContent, GUILayout.Width(downloadButtonWidth)))
{
m_RawDataClient.Download(job);
}
if (GUILayout.Button(m_ContinueJobContent, GUILayout.Width(continueButtonWidth)))
{
RawDataReport report = m_RawDataClient.ContinueFromJob(job);
m_Jobs.Add(report);
m_JobFoldouts = m_Jobs.Select(fb => false).ToArray();
}
}
}
if (m_JobFoldouts[a])
{
Color defaultColor = GUI.color;
GUI.backgroundColor = s_BoxColor;
using (new GUILayout.VerticalScope("box"))
{
GUILayout.Label("ID: " + job.id);
GUILayout.Label("Created: " + created);
GUILayout.Label("Duration: " + (job.duration / 1000) + " seconds");
if (job.result != null)
{
GUILayout.Label("# Events: " + job.result.eventCount);
GUILayout.Label("# Bytes: " + job.result.size);
GUILayout.Label("# Files: " + job.result.fileList.Count);
GUILayout.Label("Partial day: " + job.result.intraDay);
}
}
GUI.backgroundColor = defaultColor;
}
}
if (m_Jobs.Count == 0)
{
GUILayout.Label("No jobs found", EditorStyles.boldLabel);
}
}
else
{
GUILayout.Label("No data yet", EditorStyles.boldLabel);
}
GUILayout.Space(10f);
EditorGUILayout.EndScrollView();
}
using (new GUILayout.HorizontalScope())
{
if (GUILayout.Button("Purge"))
{
PurgeData();
}
if (GUILayout.Button("Dashboard"))
{
Application.OpenURL(m_RawDataClient.DashboardPath);
}
if (GUILayout.Button("Project Config"))
{
Application.OpenURL(m_RawDataClient.ConfigPath);
}
}
}