private void OnGUI() { Dictionary <string, Rect> rects = AdvancedRect.GetRects(Rect, AdvancedRect.Orientation.Vertical, new AdvancedRect.FixedItem("Header", 18), new AdvancedRect.FixedSpace(2), new AdvancedRect.ExpandedGroup(AdvancedRect.Orientation.Horizontal, new AdvancedRect.FixedGroup(AdvancedRect.Orientation.Vertical, 150, new AdvancedRect.FixedItem("ListHeader", 18), new AdvancedRect.FixedSpace(2), new AdvancedRect.ExpandedItem("List"), new AdvancedRect.FixedSpace(2), new AdvancedRect.FixedItem("AddButton", 16) ), new AdvancedRect.FixedSpace(2), new AdvancedRect.ExpandedGroup(AdvancedRect.Orientation.Vertical, new AdvancedRect.ExpandedItem("PropertiesA"), new AdvancedRect.FixedSpace(2), new AdvancedRect.ExpandedItem("PropertiesB") ) ) ); foreach (KeyValuePair <string, Rect> rect in rects) { EditorGUI.DrawRect(rect.Value, Color.black); AdvancedLabel.Draw(rect.Value, new AdvancedLabel.Config(rect.Key)); } }
private void DrawNullSettingsMessage() { string message = string.Format("{0} doesn't exist in {1}, press Create button to create it.", WorkSaverSettings.DataAssetName, WorkSaverSettings.DataFullPath); GUILayout.FlexibleSpace(); AdvancedLabel.Draw(new AdvancedLabel.Config(message, EditorStyles.helpBox, FontStyle.Bold, TextAnchor.MiddleCenter)); GUI.backgroundColor = Color.green; if (GUILayout.Button("Create")) { WorkSaverSettings.Create(); Repaint(); } GUI.backgroundColor = Color.white; GUILayout.FlexibleSpace(); }
private static void OnSceneView(SceneView sceneView) { if (Settings == null) { return; } if (!Settings.State) { return; } if (LeftTimeForRequiredSave != TimeSpan.Zero) { return; } Handles.BeginGUI(); Rect rect = new Rect(Vector2.zero, sceneView.position.size - Vector2.up * 18); Rect windowRect = new Rect(rect.x + windowOffset, rect.yMax - windowSize.y - windowOffset, windowSize.x, windowSize.y); EditorGUI.DrawRect(windowRect, BlinkColor); GUILayout.BeginArea(windowRect); AdvancedLabel.Draw(new AdvancedLabel.Config("Don't lose your work!", InverseBlinkColor, FontStyle.Bold)); AdvancedLabel.Draw(new AdvancedLabel.Config(SaveKeyCombo, InverseBlinkColor, FontStyle.Bold)); GUIStyle buttonStyle = new GUIStyle("Button"); buttonStyle.normal.textColor = (EditorGUIUtility.isProSkin) ? Color.white : Color.black; if (GUILayout.Button("Or Press Here", buttonStyle)) { Save(); } GUILayout.EndArea(); Handles.EndGUI(); }
protected internal virtual void DoDraw(Rect rect) { if (treeView.ItemCount != ElementCount) { ReloadTree(); RepaintTree(); return; } Dictionary <string, Rect> rects = AdvancedRect.GetRects(rect, AdvancedRect.Orientation.Vertical, new AdvancedRect.FixedSpace(Styles.DefaultSpacing), new AdvancedRect.FixedItem("Header", Styles.HeaderHeight, new RectPadding(Styles.DefaultPadding, RectPaddingType.Horizontal)), new AdvancedRect.FixedSpace(Styles.DefaultSpacing), new AdvancedRect.ExpandedItem("TreeView") ); DrawHeader(rects["Header"]); if (CanDrawBackground()) { Styles.Background.Draw(rects["TreeView"]); rects["TreeView"] = rects["TreeView"].Expand(new RectPadding(Styles.DefaultPadding, RectPaddingType.All)); } if (ElementCount > 0) { if (showContextMenuInNextDraw) { showContextMenuInNextDraw = false; ShowContextElementMenu(); } treeView.OnGUI(rects["TreeView"]); } else { AdvancedLabel.Draw(rects["TreeView"], new AdvancedLabel.Config(GetEmptyListMessage(), FontStyle.Bold)); } }