public override void OnTitleBarGUI()
        {
            if (settingsEditor != null)
            {
                using (new EditorGUI.DisabledScope(!settingsEditor.IsEnabled()))
                {
                    var tagrObjects = new[] { settingsEditor.serializedObject.targetObject };

                    var btnWidth  = Styles.settingsBtn.GetFloat(StyleCatalogKeyword.width);
                    var btnHeight = Styles.settingsBtn.GetFloat(StyleCatalogKeyword.height);
                    var btnMargin = Styles.settingsBtn.GetFloat(StyleCatalogKeyword.marginTop);

                    var rect = GUILayoutUtility.GetRect(btnWidth, btnHeight);
                    rect.y = btnMargin;
                    EditorGUIUtility.DrawEditorHeaderItems(rect, tagrObjects);
                    var settingsRect = GUILayoutUtility.GetRect(btnWidth, btnHeight);
                    settingsRect.y = rect.y;

                    // Settings; process event even for disabled UI
                    var wasEnabled = GUI.enabled;
                    GUI.enabled = true;
                    var showMenu = EditorGUI.DropdownButton(settingsRect, GUIContent.none, FocusType.Passive, EditorStyles.optionsButtonStyle);
                    GUI.enabled = wasEnabled;
                    if (showMenu)
                    {
                        EditorUtility.DisplayObjectContextMenu(settingsRect, tagrObjects, 0);
                    }
                }
                base.OnTitleBarGUI();
            }
        }
示例#2
0
        // Draws the help and settings part of the header.
        // Returns a Rect to know where to draw the rest of the header.
        internal virtual Rect DrawHeaderHelpAndSettingsGUI(Rect r)
        {
            // Help
            var settingsSize = EditorStyles.iconButton.CalcSize(EditorGUI.GUIContents.titleSettingsIcon);

            float currentOffset = settingsSize.x;

            const int kTopMargin = 5;
            // Settings; process event even for disabled UI
            Rect settingsRect = new Rect(r.xMax - currentOffset, r.y + kTopMargin, settingsSize.x, settingsSize.y);
            var  wasEnabled   = GUI.enabled;

            GUI.enabled = true;
            var showMenu = EditorGUI.DropdownButton(settingsRect, EditorGUI.GUIContents.titleSettingsIcon, FocusType.Passive,
                                                    EditorStyles.iconButton);

            GUI.enabled = wasEnabled;
            if (showMenu)
            {
                EditorUtility.DisplayObjectContextMenu(settingsRect, targets, 0);
            }

            currentOffset += settingsSize.x;

            // Show Editor Header Items.
            return(EditorGUIUtility.DrawEditorHeaderItems(new Rect(r.xMax - currentOffset, r.y + kTopMargin, settingsSize.x, settingsSize.y), targets));
        }
示例#3
0
        public override void OnTitleBarGUI()
        {
            if (settingsEditor != null)
            {
                using (new EditorGUI.DisabledScope(!settingsEditor.IsEnabled()))
                {
                    var tagrObjects = new[] { settingsEditor.serializedObject.targetObject };

                    var btnWidth  = Styles.settingsBtn.GetFloat(StyleCatalogKeyword.width);
                    var btnHeight = Styles.settingsBtn.GetFloat(StyleCatalogKeyword.height);
                    var btnMargin = Styles.settingsBtn.GetFloat(StyleCatalogKeyword.marginTop);

                    var rect = GUILayoutUtility.GetRect(btnWidth, btnHeight);
                    rect.y = btnMargin;
                    EditorGUIUtility.DrawEditorHeaderItems(rect, tagrObjects);
                    var settingsRect = GUILayoutUtility.GetRect(btnWidth, btnHeight);
                    settingsRect.y = rect.y;
                    if (GUI.Button(settingsRect, EditorGUI.GUIContents.titleSettingsIcon, Styles.settingsStyle))
                    {
                        EditorUtility.DisplayObjectContextMenu(settingsRect, tagrObjects, 0);
                    }
                }
                base.OnTitleBarGUI();
            }
        }
示例#4
0
        internal virtual void DrawHeaderHelpAndSettingsGUI(Rect r)
        {
            Vector2 vector   = EditorStyles.iconButton.CalcSize(EditorGUI.GUIContents.titleSettingsIcon);
            float   num      = vector.x;
            Rect    position = new Rect(r.xMax - num, r.y + 5f, vector.x, vector.y);

            if (EditorGUI.DropdownButton(position, EditorGUI.GUIContents.titleSettingsIcon, FocusType.Passive, EditorStyles.iconButton))
            {
                EditorUtility.DisplayObjectContextMenu(position, this.targets, 0);
            }
            num += vector.x;
            EditorGUIUtility.DrawEditorHeaderItems(new Rect(r.xMax - num, r.y + 5f, vector.x, vector.y), this.targets);
        }
示例#5
0
 public override void OnTitleBarGUI()
 {
     if (m_SettingsEditor != null)
     {
         var tagrObjects = new[] { m_SettingsEditor.serializedObject.targetObject };
         var rect        = GUILayoutUtility.GetRect(Styles.settingsBtn.GetFloat(StyleKeyword.width), Styles.settingsBtn.GetFloat(StyleKeyword.height));
         rect.y = Styles.settingsBtn.GetFloat(StyleKeyword.marginTop);
         EditorGUIUtility.DrawEditorHeaderItems(rect, tagrObjects);
         var settingsRect = GUILayoutUtility.GetRect(Styles.settingsBtn.GetFloat(StyleKeyword.width), Styles.settingsBtn.GetFloat(StyleKeyword.height));
         settingsRect.y = rect.y;
         if (GUI.Button(settingsRect, EditorGUI.GUIContents.titleSettingsIcon, Styles.settingsStyle))
         {
             EditorUtility.DisplayObjectContextMenu(settingsRect, tagrObjects, 0);
         }
     }
 }
示例#6
0
        internal virtual void DrawHeaderHelpAndSettingsGUI(Rect r)
        {
            // Help
            var settingsSize = EditorStyles.iconButton.CalcSize(EditorGUI.GUIContents.titleSettingsIcon);

            float currentOffset = settingsSize.x;

            const int kTopMargin = 5;
            // Settings
            Rect settingsRect = new Rect(r.xMax - currentOffset, r.y + kTopMargin, settingsSize.x, settingsSize.y);

            if (EditorGUI.DropdownButton(settingsRect, EditorGUI.GUIContents.titleSettingsIcon, FocusType.Passive,
                                         EditorStyles.iconButton))
            {
                EditorUtility.DisplayObjectContextMenu(settingsRect, targets, 0);
            }
            currentOffset += settingsSize.x;

            // Show Editor Header Items.
            EditorGUIUtility.DrawEditorHeaderItems(new Rect(r.xMax - currentOffset, r.y + kTopMargin, settingsSize.x, settingsSize.y), targets);
        }