Karol Lewandowski d8e83b57ea
UI Guidelines (#1308)
* Add UI Guidelines to  SDK docs

* Add UI Guidelines to  SDK docs

* Fixing build errors

* optimize PNGs

* add UI guidelines landing page placeholder

* IJ SDK Docs <-> UI guidelines crosslinks updated

* split_button.md: remove reference to removed setting

* use <ui-path>

* use MD instead of <note>

* use %gh-ic% links

* drop_down.md: fix <control>

* code samples: fix most obvious issues

* remove obsolete `_defaults.md`

* ijs.tree: UI cleanup

* Delete "under construction" pages

* Fix headers

* Add link-summary

* Remove invalid links

* Delete unused files

* Remove ''@2x' from image file names

* Use Markdown syntax for some images and tables

* Rename non-unique files to unique

* Remove alpha in images where content is unreadable

* align quotation marks

* Controls: cleanup/fixes, add code links, edit

* tooltip.md: fix HTML

* misc fixes

* typography.md: fix table contents

* typography.md: fix table header

* UI guidelines landing page + TOC fixes

* remove unused icons_list.md

* Normalize image paths

* validation_errors.md: Fix broken tab

* "correct"/"incorrect" labels styling

* Resize images to 50%

* button.topic: fixes

* grammar, spelling, minor edits

* remove '&nbsp;'

* fix 99px

* cleanup

* UI_kit.md: minor

* Fix "MRK058: Large image in paragraph rendered as a block element by default."

* button.topic: Add img[alt]

* mnemonics.md: Update "Contact Us" link to the IJSDK YouTrack

* split_button.md: Use ui-path

* UI landing: add feedback snippet

* Improve code snippets formatting and naming

* Fix code samples

* Fix code samples

* Add Kotlin variants for code samples

* Add icons_list.md

* crosslinks

* Change external link to https://intellij-icons.jetbrains.design/

* icons list -> https://intellij-icons.jetbrains.design

* Hide info about reducing split button to simple action button (now it is available through the registry only)

* reformat

* icons_style.md: Images in new line

---------

Co-authored-by: marianna.kononenko <marianna.kononenko@jetbrains.com>
Co-authored-by: Yann Cébron <yann.cebron@jetbrains.com>
2024-05-16 13:51:56 +02:00

83 lines
2.5 KiB
Markdown

<!-- Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
# Icon Button
<link-summary>UI guidelines on using icon buttons.</link-summary>
<tldr>
**Implementation:** [`ActionButton`](%gh-ic%/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionButton.java)
</tldr>
A toolbar icon button is an icon that appears on a toolbar.
![](button_example.png){width=156}
## Types
<p>There are three types of toolbar icon buttons:</p>
An action button triggers an action immediately on clicking it, e.g., the Open button.
A toggle button switches the state on clicking it, e.g., a button to show and hide warnings in the output tree.
![](toggle.png){width=143}
A drop-down button has an arrow icon in the bottom right corner and opens a menu with actions or checkboxes.
[//]: # (TODO: Use [menu list]&#40;menu_list.md&#41; guidelines for drop-down buttons.)
![](drop-down.png){width=284}
## When to use
Follow the rules for [toolbar](toolbar.md#what-items-to-add-on-toolbar).
## How to use
Provide a recognizable icon. Use an [existing icon](https://intellij-icons.jetbrains.design) or create a new one using [icon guidelines](icons_style.md).
Provide a short and descriptive name for a toolbar icon button. Show a tooltip with the button name on mouse hover.
Include a shortcut if there is one. See [Context help](context_help.md) for details.
![](tooltip.png){width=163}
Highlight a toolbar icon button on mouse hover. Highlight a toolbar icon button with a brighter color on clicking it.
* Toggle buttons remain highlighted when they are in the switched on mode. Toggled on buttons do not change color on hover.
* Drop-down buttons remain highlighted while the menu is opened.
![](states.png){width=183}
If an action is not available in this context, disable the corresponding button and gray out the icon.
For toolbar drop-down buttons, disable the arrow icon as well.
Do **not** highlight a disabled icon on mouse hover.
## Sizes and placement
Icons size is 16x16px, icon selection is 22x22px.
For guidelines on the space between toolbar icon buttons see [Toolbar](toolbar.md).
<!--
## Style
<table>
<col width="50%">
<tr>
<td> Hovered </td>
<td> ActionButton.hoverBackground<br/>
ActionButton.hoverBorderColor
</td>
</tr>
<tr>
<td> Background </td>
<td> ActionButton.pressedBackground<br/>
ActionButton.pressedBorderColor
</td>
</tr>
</table>
-->