ui-macro-styles.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <title>UI Macro Styles :: jMonkeyEngine Docs</title>
  7. <link rel="canonical" href="https://wiki.jmonkeyengine.org/wiki-ui/ui-macro-styles.html">
  8. <link rel="prev" href="sidebar-styles.html">
  9. <meta name="generator" content="Antora 3.0.1">
  10. <link rel="stylesheet" href="../_/css/site.css">
  11. <meta property="og:image" content="https://wiki.jmonkeyengine.org/_/img/iconx128.png">
  12. <meta property="og:description" content="UI Macro Styles">
  13. <meta property="og:title" content="jMonkeyEngine Docs">
  14. <link rel="stylesheet" href="../_/css/site-extra.css">
  15. <link rel="stylesheet" href="../_/css/vendor/docsearch.min.css">
  16. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css -->
  17. <link rel="icon" href="../_/img/favicon.ico" type="image/x-icon">
  18. </head>
  19. <body class="article">
  20. <header class="header">
  21. <nav class="navbar">
  22. <div class="navbar-brand">
  23. <a class="navbar-item" href="https://wiki.jmonkeyengine.org">
  24. <img alt="" src="../_/img/jme-logo.png" height="32" type="image/x-icon">
  25. </a>
  26. <div class="navbar-item hide-for-print">
  27. <input id="search-input" type="text" placeholder="Search docs">
  28. </div>
  29. <button class="navbar-burger" data-target="topbar-nav">
  30. <span></span>
  31. <span></span>
  32. <span></span>
  33. </button>
  34. </div>
  35. <div id="topbar-nav" class="navbar-menu">
  36. <div class="navbar-end">
  37. <div class="navbar-item theme-switch-wrapper">
  38. <label class="theme-switch" for="checkbox">
  39. <input type="checkbox" id="checkbox" />
  40. <div class="slider round"></div>
  41. </label>
  42. </div>
  43. <a class="navbar-item" href="https://github.com/jmonkeyengine/wiki">Github</a>
  44. </div>
  45. </div>
  46. </nav>
  47. </header>
  48. <div class="body">
  49. <div class="nav-container" data-component="wiki-ui" data-version="master">
  50. <aside class="nav">
  51. <div class="panels">
  52. <div class="nav-panel-menu is-active" data-panel="menu">
  53. <nav class="nav-menu">
  54. <h3 class="title"><a href="index.html">Wiki UI</a></h3>
  55. <ul class="nav-list">
  56. <li class="nav-item" data-depth="0">
  57. <ul class="nav-list">
  58. <li class="nav-item" data-depth="1">
  59. <a class="nav-link" href="prerequisites.html">UI Development Prerequisites</a>
  60. </li>
  61. <li class="nav-item" data-depth="1">
  62. <a class="nav-link" href="set-up-project.html">Set up a UI Project</a>
  63. </li>
  64. <li class="nav-item" data-depth="1">
  65. <a class="nav-link" href="build-preview-ui.html">Build and Preview the UI</a>
  66. </li>
  67. <li class="nav-item" data-depth="1">
  68. <a class="nav-link" href="development-workflow.html">UI Development Workflow</a>
  69. </li>
  70. <li class="nav-item" data-depth="1">
  71. <a class="nav-link" href="templates.html">Work with the Handlebars Templates</a>
  72. </li>
  73. <li class="nav-item" data-depth="1">
  74. <button class="nav-item-toggle"></button>
  75. <a class="nav-link" href="stylesheets.html">Work with the CSS Stylesheets</a>
  76. <ul class="nav-list">
  77. <li class="nav-item" data-depth="2">
  78. <a class="nav-link" href="add-fonts.html">Add Fonts</a>
  79. </li>
  80. </ul>
  81. </li>
  82. <li class="nav-item" data-depth="1">
  83. <button class="nav-item-toggle"></button>
  84. <a class="nav-link" href="style-guide.html">UI Element Styles</a>
  85. <ul class="nav-list">
  86. <li class="nav-item" data-depth="2">
  87. <a class="nav-link" href="inline-text-styles.html">Inline Text</a>
  88. </li>
  89. <li class="nav-item" data-depth="2">
  90. <a class="nav-link" href="admonition-styles.html">Admonitions</a>
  91. </li>
  92. <li class="nav-item" data-depth="2">
  93. <a class="nav-link" href="list-styles.html">Lists</a>
  94. </li>
  95. <li class="nav-item" data-depth="2">
  96. <a class="nav-link" href="sidebar-styles.html">Sidebars</a>
  97. </li>
  98. <li class="nav-item is-current-page" data-depth="2">
  99. <a class="nav-link" href="ui-macro-styles.html">UI Macros</a>
  100. </li>
  101. </ul>
  102. </li>
  103. </ul>
  104. </li>
  105. </ul>
  106. </nav>
  107. </div>
  108. <div class="nav-panel-explore" data-panel="explore">
  109. <div class="context">
  110. <span class="title">Wiki UI</span>
  111. <span class="version">master</span>
  112. </div>
  113. <ul class="components">
  114. <li class="component">
  115. <span class="title">JME</span>
  116. <ul class="versions">
  117. <li class="version">
  118. <a href="../docs/3.8/documentation.html">3.8</a>
  119. </li>
  120. <li class="version">
  121. <a href="../docs/3.4/documentation.html">3.4</a>
  122. </li>
  123. <li class="version">
  124. <a href="../docs/3.3/documentation.html">3.3</a>
  125. </li>
  126. <li class="version">
  127. <a href="../docs/3.2/documentation.html">3.2</a>
  128. </li>
  129. </ul>
  130. </li>
  131. <li class="component">
  132. <span class="title">Wiki Contribution</span>
  133. <ul class="versions">
  134. <li class="version">
  135. <a href="../docs-wiki/3.8/wiki_contributor.html">3.8</a>
  136. </li>
  137. </ul>
  138. </li>
  139. <li class="component is-current">
  140. <span class="title">Wiki UI</span>
  141. <ul class="versions">
  142. <li class="version is-current">
  143. <a href="index.html">master</a>
  144. </li>
  145. </ul>
  146. </li>
  147. </ul>
  148. </div>
  149. </div>
  150. </aside>
  151. </div>
  152. <main class="article">
  153. <div class="toolbar" role="navigation">
  154. <button class="nav-toggle"></button>
  155. <nav class="breadcrumbs" aria-label="breadcrumbs">
  156. <ul>
  157. <li><a href="index.html">Wiki UI</a></li>
  158. <li><a href="style-guide.html">UI Element Styles</a></li>
  159. <li><a href="ui-macro-styles.html">UI Macros</a></li>
  160. </ul>
  161. </nav>
  162. <div class="edit-this-page"><a href="https://github.com/jMonkeyEngine/wiki-ui/edit/master/docs/modules/ROOT/pages/ui-macro-styles.adoc">Edit this Page</a></div>
  163. </div>
  164. <div class="content">
  165. <article class="doc">
  166. <h1 class="page">UI Macro Styles</h1>
  167. <div id="preamble">
  168. <div class="sectionbody">
  169. <div class="paragraph">
  170. <p>Asciidoctor supports <a href="#antora:asciidoc:ui-macros.adoc" class="xref unresolved">three UI element representations</a> out of the box, which are made from corresponding inline UI macros.</p>
  171. </div>
  172. <div class="ulist">
  173. <ul>
  174. <li>
  175. <p>button (btn macro)</p>
  176. </li>
  177. <li>
  178. <p>keybinding (kbd macro)</p>
  179. </li>
  180. <li>
  181. <p>menu (menu macro)</p>
  182. </li>
  183. </ul>
  184. </div>
  185. <div class="paragraph">
  186. <p>The UI elements are output using semantic HTML elements, so they inherit some default styling from the browser.
  187. However, to look proper, they require some additional styling.</p>
  188. </div>
  189. </div>
  190. </div>
  191. <div class="sect1">
  192. <h2 id="button"><a class="anchor" href="#button"></a>Button</h2>
  193. <div class="sectionbody">
  194. <div class="paragraph">
  195. <p>A <a href="#antora:asciidoc:ui-macros.adoc#button" class="xref unresolved">button</a> is meant to represent an on-screen button (<code>btn:[Save]</code>).
  196. However, it should not appear like an actual button as that could confuse the reader into thinking it&#8217;s interactive.
  197. Therefore, a button is rendered as a bold text by default:</p>
  198. </div>
  199. <div class="listingblock">
  200. <div class="content">
  201. <pre class="highlightjs highlight"><code class="language-html hljs" data-lang="html">&lt;b class="button"&gt;Save&lt;/b&gt;</code></pre>
  202. </div>
  203. </div>
  204. <div class="paragraph">
  205. <p>Traditionally, a button reference is styled by surrounding the text with square brackets, as shown here:</p>
  206. </div>
  207. <div class="paragraph">
  208. <p><b class="button">Save</b></p>
  209. </div>
  210. </div>
  211. </div>
  212. <div class="sect1">
  213. <h2 id="keybinding"><a class="anchor" href="#keybinding"></a>Keybinding</h2>
  214. <div class="sectionbody">
  215. <div class="paragraph">
  216. <p>A <a href="#antora:asciidoc:ui-macros.adoc#keybinding" class="xref unresolved">keybinding</a> can be a single key (<code>kbd:[F11]</code>) or a sequence of keys (<code>+<span class="keyseq"><kbd>Ctrl</kbd>+<kbd>F</kbd></span></code>).
  217. Here&#8217;s the HTML that&#8217;s generated for these two forms.</p>
  218. </div>
  219. <div class="listingblock">
  220. <div class="content">
  221. <pre class="highlightjs highlight"><code class="language-html hljs" data-lang="html">&lt;kbd&gt;F11&lt;/kbd&gt;
  222. &lt;span class="keyseq"&gt;&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;F&lt;/kbd&gt;&lt;/span&gt;</code></pre>
  223. </div>
  224. </div>
  225. <div class="paragraph">
  226. <p>Here&#8217;s how these might appear:</p>
  227. </div>
  228. <div class="paragraph">
  229. <p><kbd>F11</kbd><br>
  230. <span class="keyseq"><kbd>Ctrl</kbd>+<kbd>F</kbd></span></p>
  231. </div>
  232. </div>
  233. </div>
  234. <div class="sect1">
  235. <h2 id="menu"><a class="anchor" href="#menu"></a>Menu</h2>
  236. <div class="sectionbody">
  237. <div class="paragraph">
  238. <p>A <a href="#antora:asciidoc:ui-macros.adoc#menu" class="xref unresolved">menu</a> can be a top-level menu reference (<code>menu:File[]</code>) or a nested selection (<code>menu:File[Save]</code>).
  239. Here&#8217;s the HTML that&#8217;s generated for these two forms.</p>
  240. </div>
  241. <div class="listingblock">
  242. <div class="content">
  243. <pre class="highlightjs highlight"><code class="language-html hljs" data-lang="html">&lt;b class="menuref"&gt;File&lt;/b&gt;
  244. &lt;span class="menuseq"&gt;&lt;b class="menu"&gt;File&lt;/b&gt;&amp;#160;&lt;b class="caret"&gt;&amp;#8250;&lt;/b&gt; &lt;b class="menuitem"&gt;Save&lt;/b&gt;&lt;/span&gt;</code></pre>
  245. </div>
  246. </div>
  247. <div class="paragraph">
  248. <p>This might be rendered as:</p>
  249. </div>
  250. <div class="paragraph">
  251. <p><b class="menuref">File</b></p>
  252. </div>
  253. <div class="paragraph">
  254. <p><span class="menuseq"><b class="menu">File</b>&#160;<i class="fa fa-angle-right caret"></i> <b class="menuitem">Save</b></span></p>
  255. </div>
  256. <div class="paragraph">
  257. <p>The default styling applied to a menu reference is usually sufficient.</p>
  258. </div>
  259. </div>
  260. </div>
  261. <nav class="pagination">
  262. <span class="prev"><a href="sidebar-styles.html">Sidebars</a></span>
  263. </nav>
  264. </article>
  265. <aside class="toc sidebar" data-title="Contents" data-levels="2">
  266. <div class="toc-menu"></div>
  267. </aside>
  268. </div>
  269. </main>
  270. </div>
  271. <footer class="footer">
  272. <p>Copyright 2020 jMonkeyEngine Wiki Contributors. Licensed BSD-3.</p>
  273. </footer>
  274. <script src="../_/js/vendor/docsearch.min.js"></script>
  275. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js -->
  276. <script>
  277. var search = docsearch({
  278. apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
  279. indexName: 'jmonkeyengine',
  280. inputSelector: '#search-input',
  281. autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
  282. algoliaOptions: { hitsPerPage: 10 }
  283. }).autocomplete
  284. search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
  285. function focusSearchInput () { document.querySelector('#search-input').focus() }
  286. if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput)
  287. </script>
  288. <script src="../_/js/site.js"></script>
  289. <script async src="../_/js/vendor/highlight.js"></script>
  290. </body>
  291. </html>