void OnGUIToolbarExtension() { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); int activeSize = 0; for (int i = 0; i < m_BytesInRowList.Length; ++i) { if (m_BytesInRowList[i].Size == m_MemoryMap.BytesInRow) { activeSize = i; } } var popupRect = GUILayoutUtility.GetRect(Content.RowSizeLabel, EditorStyles.toolbarPopup); if (EditorGUI.DropdownButton(popupRect, Content.RowSizeLabel, FocusType.Passive, EditorStyles.toolbarPopup)) { GenericMenu menu = new GenericMenu(); for (int i = 0; i < m_BytesInRowList.Length; i++) { menu.AddItem(m_BytesInRowList[i].Content, i == activeSize, SetActiveSize, i); } menu.DropDown(popupRect); } popupRect = GUILayoutUtility.GetRect(Content.FilterLabel, EditorStyles.toolbarPopup); if (EditorGUI.DropdownButton(popupRect, Content.FilterLabel, FocusType.Passive, EditorStyles.toolbarPopup)) { GenericMenu menu = new GenericMenu(); for (int i = 0; i < m_DisplayElementsList.Length; i++) { MemoryMap.MemoryMap.DisplayElements element = (MemoryMap.MemoryMap.DisplayElements)(1 << i); menu.AddItem(m_DisplayElementsList[i], m_MemoryMap.GetDisplayElement(element), (object data) => m_MemoryMap.ToggleDisplayElement((MemoryMap.MemoryMap.DisplayElements)data), element); } menu.DropDown(popupRect); } EditorGUILayout.EndHorizontal(); }