diff --git a/python/rest/resources/styles/darcula.css b/python/rest/resources/styles/darcula.css new file mode 100644 index 000000000000..a75718c81181 --- /dev/null +++ b/python/rest/resources/styles/darcula.css @@ -0,0 +1,661 @@ +/* +Adapted from https://github.com/sindresorhus/github-markdown-css + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +@font-face { + font-family: octicons-anchor; + src: url(data:font/woff;charset=utf-8;base64,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) format('woff'); +} + +body { + background-color: #3c3f41; + -webkit-text-size-adjust: 100%; + -fx-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-size-adjust: 100%; + color: #cccccc; + font-family: Helvetica, Arial, freesans, sans-serif; + font-size: 16px; + line-height: 1.6; + word-wrap: break-word; +} + +a { + background-color: transparent; +} + +a:active, +a:hover { + outline: 0; +} + +strong { + font-weight: bold; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +img { + border: 0; +} + +hr { + box-sizing: content-box; + height: 0; +} + +pre { + overflow: auto; +} + +code, +kbd, +pre { + font-family: monospace, monospace; + font-size: 1em; +} + +input { + color: inherit; + font: inherit; + margin: 0; +} + +html input[disabled] { + cursor: default; +} + +input { + line-height: normal; +} + +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +body * { + box-sizing: border-box; +} + +input { + font: 13px/1.4 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol"; +} + +a { + color: #589df6; + text-decoration: none; +} + +a:hover, +a:active { + text-decoration: underline; +} + +hr { + height: 0; + margin: 15px 0; + overflow: hidden; + background: transparent; + border: 0; + border-bottom: 1px solid #2c2c2c; +} + +hr:before { + display: table; + content: ""; +} + +hr:after { + display: table; + clear: both; + content: ""; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 15px; + margin-bottom: 15px; + line-height: 1.1; +} + +h1 { + font-size: 30px; +} + +h2 { + font-size: 21px; +} + +h3 { + font-size: 16px; +} + +h4 { + font-size: 14px; +} + +h5 { + font-size: 12px; +} + +h6 { + font-size: 11px; +} + +blockquote { + margin: 0; +} + +ul, +ol { + padding: 0; + margin-top: 0; + margin-bottom: 0; +} + +ol ol, +ul ol { + list-style-type: lower-roman; +} + +ul ul ol, +ul ol ol, +ol ul ol, +ol ol ol { + list-style-type: lower-alpha; +} + +dd { + margin-left: 0; +} + +code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; +} + +pre { + margin-top: 0; + margin-bottom: 0; + font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; +} + +.octicon { + font: normal normal normal 16px/1 octicons-anchor; + display: inline-block; + text-decoration: none; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.octicon-link:before { + content: '\f05c'; +} + +.markdown-body > *:first-child { + margin-top: 0 !important; +} + +.markdown-body > *:last-child { + margin-bottom: 0 !important; +} + + +.anchor { + position: absolute; + top: 0; + left: 0; + display: block; + padding-right: 6px; + padding-left: 30px; + margin-left: -30px; +} + +.anchor:focus { + outline: none; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + position: relative; + margin-top: 1em; + margin-bottom: 16px; + font-weight: bold; + line-height: 1.4; +} + +h1 .octicon-link, +h2 .octicon-link, +h3 .octicon-link, +h4 .octicon-link, +h5 .octicon-link, +h6 .octicon-link { + display: none; + color: #bbbbbb; + vertical-align: middle; +} + +h1:hover .anchor, +h2:hover .anchor, +h3:hover .anchor, +h4:hover .anchor, +h5:hover .anchor, +h6:hover .anchor { + padding-left: 8px; + margin-left: -30px; + text-decoration: none; +} + +h1:hover .anchor .octicon-link, +h2:hover .anchor .octicon-link, +h3:hover .anchor .octicon-link, +h4:hover .anchor .octicon-link, +h5:hover .anchor .octicon-link, +h6:hover .anchor .octicon-link { + display: inline-block; +} + +h1 { + padding-bottom: 0.3em; + font-size: 2.25em; + line-height: 1.2; + border-bottom: 1px solid #2c2c2c; +} + +h1 .anchor { + line-height: 1; +} + +h2 { + padding-bottom: 0.3em; + font-size: 1.75em; + line-height: 1.225; + border-bottom: 1px solid #2c2c2c; +} + +h2 .anchor { + line-height: 1; +} + +h3 { + font-size: 1.5em; + line-height: 1.43; +} + +h3 .anchor { + line-height: 1.2; +} + +h4 { + font-size: 1.25em; +} + +h4 .anchor { + line-height: 1.2; +} + +h5 { + font-size: 1em; +} + +h5 .anchor { + line-height: 1.1; +} + +h6 { + font-size: 1em; + color: #777; +} + +h6 .anchor { + line-height: 1.1; +} + +p, +blockquote, +ul, +ol, +dl, +table, +pre { + margin-top: 0; + margin-bottom: 16px; +} + +hr { + height: 4px; + padding: 0; + margin: 16px 0; + background-color: #2c2c2c; + border: 0 none; +} + +ul, +ol { + padding-left: 2em; +} + +ul ul, +ul ol, +ol ol, +ol ul { + margin-top: 0; + margin-bottom: 0; +} + +li > p { + margin-top: 16px; +} + +dl { + padding: 0; +} + +dl dt { + padding: 0; + margin-top: 16px; + font-size: 1em; + font-style: italic; + font-weight: bold; +} + +dl dd { + padding: 0 16px; + margin-bottom: 16px; +} + +blockquote { + padding: 0 15px; + color: #a0a4a5; + border-left: 4px solid #626667; +} + +blockquote > :first-child { + margin-top: 0; +} + +blockquote > :last-child { + margin-bottom: 0; +} + +table { + display: block; + width: 100%; + overflow: auto; + word-break: normal; + word-break: keep-all; +} + +table th { + font-weight: bold; +} + +table th, +table td { + padding: 6px 13px; + border: 1px solid #2c2c2c; +} + +table tr { + background-color: #2c2c2c; + border-top: 1px solid #2c2c2c; +} + +img { + max-width: 100%; + box-sizing: border-box; +} + +code { + padding: 0.2em 0; + margin: 0; + font-size: 85%; + color: #dddddd; + background-color: #333333; + border-radius: 3px; +} + +code:before, +code:after { + letter-spacing: -0.2em; + content: "\00a0"; +} + +pre > code { + padding: 0; + margin: 0; + font-size: 100%; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; +} + +.highlight { + margin-bottom: 16px; +} + +.highlight pre, +pre { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #2c2c2c; + border-radius: 3px; +} + +.highlight pre { + margin-bottom: 0; + word-break: normal; +} + +pre { + word-wrap: normal; +} + +pre code { + display: inline; + max-width: initial; + padding: 0; + margin: 0; + overflow: initial; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; +} + +pre code:before, +pre code:after { + content: normal; +} + +.pl-c { + color: #969896; +} + +.pl-c1, +.pl-s .pl-v { + color: #0086b3; +} + +.pl-e, +.pl-en { + color: #795da3; +} + +.pl-s .pl-s1, +.pl-smi { + color: #333; +} + +.pl-ent { + color: #63a35c; +} + +.pl-k { + color: #a71d5d; +} + +.pl-pds, +.pl-s, +.pl-s .pl-pse .pl-s1, +.pl-sr, +.pl-sr .pl-cce, +.pl-sr .pl-sra, +.pl-sr .pl-sre { + color: #183691; +} + +.pl-v { + color: #ed6a43; +} + +.pl-id { + color: #b52a1d; +} + +.pl-ii { + background-color: #b52a1d; + color: #f8f8f8; +} + +.pl-sr .pl-cce { + color: #63a35c; + font-weight: bold; +} + +.pl-ml { + color: #693a17; +} + +.pl-mh, +.pl-mh .pl-en, +.pl-ms { + color: #1d3e81; + font-weight: bold; +} + +.pl-mq { + color: #008080; +} + +.pl-mi { + color: #333; + font-style: italic; +} + +.pl-mb { + color: #333; + font-weight: bold; +} + +.pl-md { + background-color: #ffecec; + color: #bd2c00; +} + +.pl-mi1 { + background-color: #eaffea; + color: #55a532; +} + +.pl-mdr { + color: #795da3; + font-weight: bold; +} + +.pl-mo { + color: #1d3e81; +} + + + +.task-list-item { + list-style-type: none; +} + +.task-list-item + .task-list-item { + margin-top: 3px; +} + +.task-list-item input { + margin: 0 0.35em 0.25em -0.6em; + vertical-align: middle; +} + +:checked + .radio-label { + z-index: 1; + position: relative; + border-color: #4078c0; +} + +span.user-del { + text-decoration: line-through; +} + +::-webkit-scrollbar { + width: 12px; + height: 12px; + background-color: inherit; +} +::-webkit-scrollbar-thumb { + -webkit-border-radius: 10px; + border: 2px solid #2c2c2c; + background-color: #404040; +} +::-webkit-scrollbar-track { + width: 12px; + height: 12px; + background-color: #2c2c2c; +} diff --git a/python/rest/resources/styles/default.css b/python/rest/resources/styles/default.css new file mode 100644 index 000000000000..fe4f37ea223b --- /dev/null +++ b/python/rest/resources/styles/default.css @@ -0,0 +1,696 @@ +/* +Adapted from https://github.com/sindresorhus/github-markdown-css + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +@font-face { + font-family: octicons-anchor; + src: url(data:font/woff;charset=utf-8;base64,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) format('woff'); +} + +body { + background-color: white; + -webkit-text-size-adjust: 100%; + -fx-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-size-adjust: 100%; + color: #333; + font-family: Helvetica, Arial, freesans, sans-serif; + font-size: 16px; + line-height: 1.6; + word-wrap: break-word; +} + +a { + background-color: transparent; +} + +a:active, +a:hover { + outline: 0; +} + +strong { + font-weight: bold; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +img { + border: 0; +} + +hr { + box-sizing: content-box; + height: 0; +} + +pre { + overflow: auto; +} + +code, +kbd, +pre { + font-family: monospace, monospace; + font-size: 1em; +} + +input { + color: inherit; + font: inherit; + margin: 0; +} + +html input[disabled] { + cursor: default; +} + +input { + line-height: normal; +} + +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +body * { + box-sizing: border-box; +} + +input { + font: 13px/1.4 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol"; +} + +a { + color: #4078c0; + text-decoration: none; +} + +a:hover, +a:active { + text-decoration: underline; +} + +hr { + height: 0; + margin: 15px 0; + overflow: hidden; + background: transparent; + border: 0; + border-bottom: 1px solid #ddd; +} + +hr:before { + display: table; + content: ""; +} + +hr:after { + display: table; + clear: both; + content: ""; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 15px; + margin-bottom: 15px; + line-height: 1.1; +} + +h1 { + font-size: 30px; +} + +h2 { + font-size: 21px; +} + +h3 { + font-size: 16px; +} + +h4 { + font-size: 14px; +} + +h5 { + font-size: 12px; +} + +h6 { + font-size: 11px; +} + +blockquote { + margin: 0; +} + +ul, +ol { + padding: 0; + margin-top: 0; + margin-bottom: 0; +} + +ol ol, +ul ol { + list-style-type: lower-roman; +} + +ul ul ol, +ul ol ol, +ol ul ol, +ol ol ol { + list-style-type: lower-alpha; +} + +dd { + margin-left: 0; +} + +code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; +} + +pre { + margin-top: 0; + margin-bottom: 0; + font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; +} + +.octicon { + font: normal normal normal 16px/1 octicons-anchor; + display: inline-block; + text-decoration: none; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.octicon-link:before { + content: '\f05c'; +} + +.markdown-body > *:first-child { + margin-top: 0 !important; +} + +.markdown-body > *:last-child { + margin-bottom: 0 !important; +} + + +.anchor { + position: absolute; + top: 0; + left: 0; + display: block; + padding-right: 6px; + padding-left: 30px; + margin-left: -30px; +} + +.anchor:focus { + outline: none; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + position: relative; + margin-top: 1em; + margin-bottom: 16px; + font-weight: bold; + line-height: 1.4; +} + +h1 .octicon-link, +h2 .octicon-link, +h3 .octicon-link, +h4 .octicon-link, +h5 .octicon-link, +h6 .octicon-link { + display: none; + color: #000; + vertical-align: middle; +} + +h1:hover .anchor, +h2:hover .anchor, +h3:hover .anchor, +h4:hover .anchor, +h5:hover .anchor, +h6:hover .anchor { + padding-left: 8px; + margin-left: -30px; + text-decoration: none; +} + +h1:hover .anchor .octicon-link, +h2:hover .anchor .octicon-link, +h3:hover .anchor .octicon-link, +h4:hover .anchor .octicon-link, +h5:hover .anchor .octicon-link, +h6:hover .anchor .octicon-link { + display: inline-block; +} + +h1 { + padding-bottom: 0.3em; + font-size: 2.25em; + line-height: 1.2; + border-bottom: 1px solid #eee; +} + +h1 .anchor { + line-height: 1; +} + +h2 { + padding-bottom: 0.3em; + font-size: 1.75em; + line-height: 1.225; + border-bottom: 1px solid #eee; +} + +h2 .anchor { + line-height: 1; +} + +h3 { + font-size: 1.5em; + line-height: 1.43; +} + +h3 .anchor { + line-height: 1.2; +} + +h4 { + font-size: 1.25em; +} + +h4 .anchor { + line-height: 1.2; +} + +h5 { + font-size: 1em; +} + +h5 .anchor { + line-height: 1.1; +} + +h6 { + font-size: 1em; + color: #777; +} + +h6 .anchor { + line-height: 1.1; +} + +p, +blockquote, +ul, +ol, +dl, +table, +pre { + margin-top: 0; + margin-bottom: 16px; +} + +hr { + height: 4px; + padding: 0; + margin: 16px 0; + background-color: #e7e7e7; + border: 0 none; +} + +ul, +ol { + padding-left: 2em; +} + +ul ul, +ul ol, +ol ol, +ol ul { + margin-top: 0; + margin-bottom: 0; +} + +li > p { + margin-top: 16px; +} + +dl { + padding: 0; +} + +dl dt { + padding: 0; + margin-top: 16px; + font-size: 1em; + font-style: italic; + font-weight: bold; +} + +dl dd { + padding: 0 16px; + margin-bottom: 16px; +} + +blockquote { + padding: 0 15px; + color: #777; + border-left: 4px solid #ddd; +} + +blockquote > :first-child { + margin-top: 0; +} + +blockquote > :last-child { + margin-bottom: 0; +} + +table { + display: block; + width: 100%; + overflow: auto; + word-break: normal; + word-break: keep-all; +} + +table th { + font-weight: bold; +} + +table th, +table td { + padding: 6px 13px; + border: 1px solid #ddd; +} + +table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} + +img { + max-width: 100%; + box-sizing: border-box; +} + +code { + padding: 0; + padding-top: 0.2em; + padding-bottom: 0.2em; + margin: 0; + font-size: 85%; + background-color: rgba(0, 0, 0, 0.04); + border-radius: 3px; +} + +code:before, +code:after { + letter-spacing: -0.2em; + content: "\00a0"; +} + +pre > code { + padding: 0; + margin: 0; + font-size: 100%; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; +} + +.highlight { + margin-bottom: 16px; +} + +.highlight pre, +pre { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f7f7f7; + border-radius: 3px; +} + +.highlight pre { + margin-bottom: 0; + word-break: normal; +} + +pre { + word-wrap: normal; +} + +pre code { + display: inline; + max-width: initial; + padding: 0; + margin: 0; + overflow: initial; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; +} + +pre code:before, +pre code:after { + content: normal; +} + +kbd { + display: inline-block; + padding: 3px 5px; + font-size: 11px; + line-height: 10px; + color: #555; + vertical-align: middle; + background-color: #fcfcfc; + border: solid 1px #ccc; + border-bottom-color: #bbb; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #bbb; +} + +.pl-c { + color: #969896; +} + +.pl-c1, +.pl-s .pl-v { + color: #0086b3; +} + +.pl-e, +.pl-en { + color: #795da3; +} + +.pl-s .pl-s1, +.pl-smi { + color: #333; +} + +.pl-ent { + color: #63a35c; +} + +.pl-k { + color: #a71d5d; +} + +.pl-pds, +.pl-s, +.pl-s .pl-pse .pl-s1, +.pl-sr, +.pl-sr .pl-cce, +.pl-sr .pl-sra, +.pl-sr .pl-sre { + color: #183691; +} + +.pl-v { + color: #ed6a43; +} + +.pl-id { + color: #b52a1d; +} + +.pl-ii { + background-color: #b52a1d; + color: #f8f8f8; +} + +.pl-sr .pl-cce { + color: #63a35c; + font-weight: bold; +} + +.pl-ml { + color: #693a17; +} + +.pl-mh, +.pl-mh .pl-en, +.pl-ms { + color: #1d3e81; + font-weight: bold; +} + +.pl-mq { + color: #008080; +} + +.pl-mi { + color: #333; + font-style: italic; +} + +.pl-mb { + color: #333; + font-weight: bold; +} + +.pl-md { + background-color: #ffecec; + color: #bd2c00; +} + +.pl-mi1 { + background-color: #eaffea; + color: #55a532; +} + +.pl-mdr { + color: #795da3; + font-weight: bold; +} + +.pl-mo { + color: #1d3e81; +} + +kbd { + display: inline-block; + padding: 3px 5px; + font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; + line-height: 10px; + color: #555; + vertical-align: middle; + background-color: #fcfcfc; + border: solid 1px #ccc; + border-bottom-color: #bbb; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #bbb; +} + +.task-list-item { + list-style-type: none; +} + +.task-list-item + .task-list-item { + margin-top: 3px; +} + +.task-list-item input { + margin: 0 0.35em 0.25em -0.6em; + vertical-align: middle; +} + +:checked + .radio-label { + z-index: 1; + position: relative; + border-color: #4078c0; +} + +span.user-del { + text-decoration: line-through; +} + +::-webkit-scrollbar { + width: 12px; + height: 12px; + background-color: inherit; +} +::-webkit-scrollbar-thumb { + -webkit-border-radius: 10px; + border: 2px solid #f6f6f6; + + background-color: #959595; +} +::-webkit-scrollbar-track { + background-color: #f6f6f6; +} + +::-webkit-scrollbar-track:vertical { + -webkit-box-shadow: -1px 0 0px #ededed; +} + +::-webkit-scrollbar-track:horizontal { + -webkit-box-shadow: 0 -1px 0px #ededed; + +} \ No newline at end of file diff --git a/python/rest/src/com/jetbrains/rest/editor/RestJavaFxHtmlPanel.java b/python/rest/src/com/jetbrains/rest/editor/RestJavaFxHtmlPanel.java index d68cecab7add..0d9d3e7a4cac 100644 --- a/python/rest/src/com/jetbrains/rest/editor/RestJavaFxHtmlPanel.java +++ b/python/rest/src/com/jetbrains/rest/editor/RestJavaFxHtmlPanel.java @@ -1,7 +1,42 @@ // Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.jetbrains.rest.editor; +import com.intellij.ide.ui.LafManager; +import com.intellij.ide.ui.LafManagerListener; +import com.intellij.ide.ui.laf.darcula.DarculaLookAndFeelInfo; import com.intellij.ui.javafx.JavaFxHtmlPanel; +import javafx.scene.text.FontSmoothingType; +import javafx.scene.web.WebView; + +import java.net.URL; public class RestJavaFxHtmlPanel extends JavaFxHtmlPanel implements RestPreviewPanel { + public RestJavaFxHtmlPanel() { + super(); + LafManager.getInstance().addLafManagerListener(new RestLafManagerListener()); + + runInPlatformWhenAvailable(() -> { + final WebView webView = getWebViewGuaranteed(); + webView.fontSmoothingTypeProperty().setValue(FontSmoothingType.LCD); + updateLaf(LafManager.getInstance().getCurrentLookAndFeel() instanceof DarculaLookAndFeelInfo); + }); + } + + private class RestLafManagerListener implements LafManagerListener { + @Override + public void lookAndFeelChanged(LafManager manager) { + updateLaf(manager.getCurrentLookAndFeel() instanceof DarculaLookAndFeelInfo); + } + } + + private URL getStyle(boolean isDarcula) { + return getClass().getResource(isDarcula ? "/styles/darcula.css" : "/styles/default.css"); + } + + private void updateLaf(boolean isDarcula) { + runInPlatformWhenAvailable(() -> { + final WebView webView = getWebViewGuaranteed(); + webView.getEngine().setUserStyleSheetLocation(getStyle(isDarcula).toExternalForm()); + }); + } }