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));
            }
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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));
            }
        }