Oracle TextEditorWindowRun uses Java's text editor window and its file dialog as a person does. The open file's text is its Y.Text in the document (plan 7.3): typed is in the file at once, for everyone and for the running engine. Core openText/saveTextAs without Java's mistakes (lost saves after save-as onto a file or a removed file, files named 'ordner/d.txt' or ''); doc files.ts (changeFiles, fileText, nodeFiles, readFilesInto); the room takes a person's files into the engine at once and writes the engine's files back at the tick they changed; the editor's window, Java's dialog, the text area following others' changes with the caret in place, its own undo. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
908 lines
16 KiB
CSS
908 lines
16 KiB
CSS
/* A computer's desktop after Java's GUIDesktopPanel: 640 × 460 pixels below
|
||
* the title bar, a grey taskbar at the bottom (180, 180, 180; 44 pixels high
|
||
* for a finger, Java's has 30), icons of 120 × 96 with white names on Java's
|
||
* background. On a phone it fills the surface. Java's colours stay in both
|
||
* themes: the screen is the simulated computer's, not the editor's. */
|
||
.desktop-window {
|
||
position: absolute;
|
||
z-index: 5;
|
||
display: flex;
|
||
flex-direction: column;
|
||
width: 640px;
|
||
max-width: 100%;
|
||
height: calc(460px + 14px + 36px);
|
||
max-height: 100%;
|
||
box-sizing: border-box;
|
||
border: 1px solid var(--border-strong);
|
||
border-radius: 8px;
|
||
overflow: hidden;
|
||
background: var(--surface-card);
|
||
box-shadow: 0 8px 24px color-mix(in srgb, var(--shadow-color) 25%, transparent);
|
||
}
|
||
|
||
/* Below the mode buttons, which stay in reach. */
|
||
@media (max-width: 639px) {
|
||
.desktop-window {
|
||
inset: 72px 0 0 0 !important;
|
||
width: auto;
|
||
height: auto;
|
||
border-radius: 0;
|
||
}
|
||
}
|
||
|
||
.desktop-titlebar {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
min-height: 36px;
|
||
padding: 0 0 0 8px;
|
||
background: var(--surface-raised);
|
||
border-bottom: 1px solid var(--border-default);
|
||
cursor: move;
|
||
touch-action: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.desktop-titlebar img {
|
||
width: 24px;
|
||
height: 24px;
|
||
object-fit: contain;
|
||
}
|
||
|
||
.desktop-titlebar h2 {
|
||
flex: 1;
|
||
margin: 0;
|
||
font-size: 15px;
|
||
font-weight: 600;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.desktop-close {
|
||
min-width: 44px;
|
||
min-height: 36px;
|
||
border: none;
|
||
background: transparent;
|
||
color: var(--text-secondary);
|
||
font: inherit;
|
||
font-size: 22px;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.desktop-screen {
|
||
position: relative;
|
||
flex: 1;
|
||
min-height: 0;
|
||
overflow: auto;
|
||
background-size: cover;
|
||
background-position: top left;
|
||
}
|
||
|
||
.desktop-icons {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 10px 5px;
|
||
margin: 0;
|
||
padding: 10px 5px;
|
||
list-style: none;
|
||
}
|
||
|
||
.desktop-icon {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
justify-content: center;
|
||
gap: 4px;
|
||
width: 120px;
|
||
height: 96px;
|
||
padding: 0;
|
||
border: none;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
color: #ffffff;
|
||
font: 13px Dialog, sans-serif;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.desktop-icon[aria-disabled='true'] {
|
||
cursor: default;
|
||
}
|
||
|
||
.desktop-icon:focus-visible {
|
||
outline: 2px solid #ffffff;
|
||
}
|
||
|
||
.desktop-icon img {
|
||
width: 64px;
|
||
height: 64px;
|
||
}
|
||
|
||
.desktop-info-layer {
|
||
position: absolute;
|
||
inset: 0;
|
||
display: flex;
|
||
justify-content: flex-end;
|
||
align-items: flex-end;
|
||
}
|
||
|
||
.desktop-network {
|
||
margin: 0;
|
||
padding: 8px 12px;
|
||
border: 2px inset #c0c0c0;
|
||
background: #eeeeee;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
}
|
||
|
||
.desktop-network div {
|
||
display: grid;
|
||
grid-template-columns: 110px 140px;
|
||
align-items: center;
|
||
min-height: 26px;
|
||
}
|
||
|
||
.desktop-network dt,
|
||
.desktop-network dd {
|
||
margin: 0;
|
||
}
|
||
|
||
.desktop-network dd {
|
||
padding: 2px 6px;
|
||
background: #ffffff;
|
||
border: 1px solid #b0b0b0;
|
||
font-variant-numeric: tabular-nums;
|
||
user-select: text;
|
||
}
|
||
|
||
.desktop-taskbar {
|
||
display: grid;
|
||
grid-template-columns: 52px 1fr 52px;
|
||
align-items: stretch;
|
||
height: 44px;
|
||
flex: none;
|
||
background: rgb(180 180 180);
|
||
}
|
||
|
||
.desktop-home,
|
||
.desktop-network-icon {
|
||
border: none;
|
||
background: transparent;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.desktop-home {
|
||
justify-self: center;
|
||
padding: 0 12px;
|
||
}
|
||
|
||
.desktop-network-icon img {
|
||
width: 18px;
|
||
height: 18px;
|
||
}
|
||
|
||
/* A program's window over the desktop (GUIApplicationWindow): Java's dark
|
||
* grey title bar of 30 pixels with the icon at 16. */
|
||
.program-window {
|
||
position: absolute;
|
||
inset: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
background: #ffffff;
|
||
}
|
||
|
||
.program-titlebar {
|
||
display: grid;
|
||
grid-template-columns: 30px 1fr 30px;
|
||
align-items: center;
|
||
height: 30px;
|
||
flex: none;
|
||
background: rgb(64 64 64);
|
||
}
|
||
|
||
.program-titlebar img {
|
||
justify-self: center;
|
||
width: 16px;
|
||
height: 16px;
|
||
}
|
||
|
||
.program-titlebar h3 {
|
||
margin: 0;
|
||
text-align: center;
|
||
font: 13px Dialog, sans-serif;
|
||
color: rgb(225 225 225);
|
||
}
|
||
|
||
.program-content {
|
||
position: relative;
|
||
flex: 1;
|
||
min-height: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
/* The command line (GUIApplicationTerminalWindow): grey on black, the input
|
||
* line right after the text in the same scrolling area. 16 pixels in the
|
||
* input: Safari on the iPad zooms into smaller fields. */
|
||
.terminal {
|
||
flex: 1;
|
||
min-height: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
background: #000000;
|
||
}
|
||
|
||
.terminal-screen {
|
||
flex: 1;
|
||
min-height: 0;
|
||
overflow-y: auto;
|
||
padding: 5px 5px 5px;
|
||
color: rgb(222 222 222);
|
||
font: 14px ui-monospace, Menlo, Consolas, 'Courier New', monospace;
|
||
cursor: text;
|
||
}
|
||
|
||
.terminal-text {
|
||
margin: 0;
|
||
font: inherit;
|
||
white-space: pre-wrap;
|
||
overflow-wrap: anywhere;
|
||
user-select: text;
|
||
}
|
||
|
||
.terminal-input {
|
||
display: flex;
|
||
align-items: baseline;
|
||
}
|
||
|
||
.terminal-prompt {
|
||
white-space: pre;
|
||
}
|
||
|
||
.terminal-input input {
|
||
flex: 1;
|
||
min-width: 0;
|
||
padding: 0;
|
||
border: none;
|
||
outline: none;
|
||
background: transparent;
|
||
color: rgb(222 222 222);
|
||
caret-color: rgb(222 222 222);
|
||
font: 16px ui-monospace, Menlo, Consolas, 'Courier New', monospace;
|
||
}
|
||
|
||
.terminal-keys {
|
||
display: flex;
|
||
gap: 6px;
|
||
flex: none;
|
||
overflow-x: auto;
|
||
padding: 6px;
|
||
background: rgb(32 32 32);
|
||
}
|
||
|
||
.terminal-chip {
|
||
flex: none;
|
||
min-width: 44px;
|
||
min-height: 44px;
|
||
padding: 0 12px;
|
||
border: 1px solid rgb(90 90 90);
|
||
border-radius: 8px;
|
||
background: rgb(48 48 48);
|
||
color: rgb(222 222 222);
|
||
font: 14px ui-monospace, Menlo, Consolas, monospace;
|
||
cursor: pointer;
|
||
}
|
||
|
||
/* The software installation (GUIInstallationsDialog): two lists of 170
|
||
* pixels in Java, the arrows between them, "apply changes" below. */
|
||
.installation {
|
||
flex: 1;
|
||
min-height: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
gap: 10px;
|
||
padding: 10px;
|
||
background: #eeeeee;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
}
|
||
|
||
.installation-lists {
|
||
flex: 1;
|
||
min-height: 0;
|
||
width: 100%;
|
||
display: grid;
|
||
grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr);
|
||
gap: 8px;
|
||
}
|
||
|
||
.installation-column {
|
||
min-height: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 6px;
|
||
}
|
||
|
||
.installation-list {
|
||
flex: 1;
|
||
min-height: 0;
|
||
overflow-y: auto;
|
||
margin: 0;
|
||
padding: 0;
|
||
list-style: none;
|
||
background: #ffffff;
|
||
border: 1px solid #a0a0a0;
|
||
}
|
||
|
||
.installation-list li {
|
||
display: flex;
|
||
align-items: center;
|
||
min-height: 44px;
|
||
padding: 0 8px;
|
||
cursor: pointer;
|
||
user-select: none;
|
||
}
|
||
|
||
.installation-list li[aria-selected='true'] {
|
||
background: rgb(184 207 229);
|
||
}
|
||
|
||
.installation-list li:focus-visible {
|
||
outline: 2px solid rgb(99 130 191);
|
||
outline-offset: -2px;
|
||
}
|
||
|
||
.installation-arrows {
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
gap: 10px;
|
||
}
|
||
|
||
.installation-arrows button,
|
||
.installation-apply {
|
||
min-width: 44px;
|
||
min-height: 44px;
|
||
border: 1px solid #a0a0a0;
|
||
border-radius: 6px;
|
||
background: #f8f8f8;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.installation-apply {
|
||
padding: 0 16px;
|
||
flex: none;
|
||
}
|
||
|
||
/* The web browser (GUIApplicationWebBrowserWindow): the address line with
|
||
* its button above the page, five pixels around each as in Java; the page
|
||
* in a frame of its own on white. */
|
||
.browser {
|
||
flex: 1;
|
||
min-height: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
background: #eeeeee;
|
||
font: 13px Dialog, sans-serif;
|
||
}
|
||
|
||
.browser-address {
|
||
display: flex;
|
||
gap: 5px;
|
||
flex: none;
|
||
padding: 5px;
|
||
}
|
||
|
||
.browser-address input {
|
||
flex: 1;
|
||
min-width: 0;
|
||
min-height: 36px;
|
||
padding: 0 6px;
|
||
border: 1px solid #a0a0a0;
|
||
background: #ffffff;
|
||
color: #000000;
|
||
font: 16px Dialog, sans-serif;
|
||
}
|
||
|
||
.browser-address button,
|
||
.web-server-bar button {
|
||
min-width: 44px;
|
||
min-height: 36px;
|
||
padding: 0 14px;
|
||
border: 1px solid #a0a0a0;
|
||
border-radius: 6px;
|
||
background: #f8f8f8;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.browser-page {
|
||
flex: 1;
|
||
min-height: 0;
|
||
margin: 0 5px 5px;
|
||
display: flex;
|
||
background: #ffffff;
|
||
border: 1px solid #a0a0a0;
|
||
}
|
||
|
||
.browser-page iframe {
|
||
flex: 1;
|
||
width: 100%;
|
||
border: none;
|
||
background: #ffffff;
|
||
}
|
||
|
||
.browser-start {
|
||
flex: 1;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: flex-start;
|
||
}
|
||
|
||
.browser-start img {
|
||
max-width: 100%;
|
||
}
|
||
|
||
/* The web server (GUIApplicationWebServerWindow): the button and the check
|
||
* box above, the virtual hosts' table while it is ticked, the lines below. */
|
||
.web-server {
|
||
flex: 1;
|
||
min-height: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 10px;
|
||
padding: 5px 10px 10px;
|
||
background: #eeeeee;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
}
|
||
|
||
.web-server-bar {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
gap: 8px 24px;
|
||
flex: none;
|
||
}
|
||
|
||
.web-server-bar label {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
min-height: 44px;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.web-server-bar input[type='checkbox'] {
|
||
width: 20px;
|
||
height: 20px;
|
||
}
|
||
|
||
.web-server-hosts {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 5px;
|
||
flex: none;
|
||
}
|
||
|
||
.web-server-hosts table {
|
||
width: 100%;
|
||
border-collapse: collapse;
|
||
table-layout: fixed;
|
||
background: #ffffff;
|
||
}
|
||
|
||
.web-server-hosts th {
|
||
padding: 4px;
|
||
border: 1px solid #a0a0a0;
|
||
background: #e4e4e4;
|
||
font-weight: normal;
|
||
text-align: left;
|
||
}
|
||
|
||
.web-server-hosts td {
|
||
padding: 0;
|
||
border: 1px solid #c0c0c0;
|
||
}
|
||
|
||
.web-server-hosts td input {
|
||
width: 100%;
|
||
min-height: 32px;
|
||
box-sizing: border-box;
|
||
padding: 0 5px;
|
||
border: none;
|
||
background: transparent;
|
||
color: #000000;
|
||
font: 16px Dialog, sans-serif;
|
||
}
|
||
|
||
.web-server-log {
|
||
flex: 1;
|
||
min-height: 120px;
|
||
margin: 0;
|
||
overflow: auto;
|
||
padding: 4px;
|
||
border: 1px solid #a0a0a0;
|
||
background: #ffffff;
|
||
font: 12px ui-monospace, Menlo, Consolas, monospace;
|
||
white-space: pre-wrap;
|
||
overflow-wrap: anywhere;
|
||
user-select: text;
|
||
}
|
||
|
||
/* The e-mail program and server (GUIApplicationEmailAnwendungWindow,
|
||
* GUIApplicationEmailServerWindow): buttons above, Java's tabs as a row,
|
||
* a list, below the mail chosen or the page's form; writing and the account
|
||
* as a window over the program (Java's showModularWindow), Java's dialogs as
|
||
* a notice with its buttons. */
|
||
.mail-client,
|
||
.mail-server {
|
||
position: relative;
|
||
flex: 1;
|
||
min-height: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 5px;
|
||
padding: 5px;
|
||
background: #eeeeee;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
}
|
||
|
||
.mail-toolbar,
|
||
.mail-server-bar,
|
||
.mail-dialog-buttons {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
gap: 5px 10px;
|
||
flex: none;
|
||
}
|
||
|
||
.mail-toolbar button,
|
||
.mail-server-bar button,
|
||
.mail-dialog button,
|
||
.mail-question button,
|
||
.mail-form button,
|
||
.mail-accounts > button {
|
||
min-width: 44px;
|
||
min-height: 40px;
|
||
padding: 0 12px;
|
||
border: 1px solid #a0a0a0;
|
||
border-radius: 6px;
|
||
background: #f8f8f8;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.mail-toolbar img {
|
||
display: block;
|
||
width: 32px;
|
||
height: 32px;
|
||
}
|
||
|
||
.mail-server-bar label {
|
||
flex: 1;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
min-width: 200px;
|
||
}
|
||
|
||
.mail-server-bar input,
|
||
.mail-form input,
|
||
.mail-dialog input,
|
||
.mail-dialog select {
|
||
flex: 1;
|
||
min-width: 0;
|
||
min-height: 32px;
|
||
padding: 0 6px;
|
||
border: 1px solid #a0a0a0;
|
||
background: #ffffff;
|
||
color: #000000;
|
||
font: 16px Dialog, sans-serif;
|
||
}
|
||
|
||
.mail-client [aria-invalid='true'],
|
||
.mail-server [aria-invalid='true'] {
|
||
border-color: #ff0000;
|
||
color: #ff0000;
|
||
}
|
||
|
||
.mail-tabs {
|
||
display: flex;
|
||
gap: 2px;
|
||
flex: none;
|
||
border-bottom: 1px solid #a0a0a0;
|
||
}
|
||
|
||
.mail-tabs button {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
min-height: 40px;
|
||
padding: 0 12px;
|
||
border: 1px solid #a0a0a0;
|
||
border-bottom: none;
|
||
border-radius: 6px 6px 0 0;
|
||
background: #e0e0e0;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.mail-tabs button[aria-selected='true'] {
|
||
background: #ffffff;
|
||
}
|
||
|
||
.mail-list,
|
||
.mail-accounts {
|
||
flex: 1;
|
||
min-height: 80px;
|
||
overflow: auto;
|
||
background: #ffffff;
|
||
border: 1px solid #a0a0a0;
|
||
}
|
||
|
||
.mail-accounts {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 5px;
|
||
padding-bottom: 5px;
|
||
}
|
||
|
||
.mail-accounts > button {
|
||
align-self: flex-start;
|
||
margin-left: 5px;
|
||
}
|
||
|
||
.mail-list table,
|
||
.mail-accounts table {
|
||
width: 100%;
|
||
border-collapse: collapse;
|
||
table-layout: fixed;
|
||
}
|
||
|
||
.mail-list th,
|
||
.mail-accounts th {
|
||
padding: 4px 6px;
|
||
border-bottom: 1px solid #a0a0a0;
|
||
background: #e4e4e4;
|
||
font-weight: normal;
|
||
text-align: left;
|
||
}
|
||
|
||
.mail-list td,
|
||
.mail-accounts td {
|
||
height: 30px;
|
||
padding: 0 6px;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.mail-list tr[aria-selected='true'] td,
|
||
.mail-accounts tr[aria-selected='true'] td {
|
||
background: rgb(184 207 229);
|
||
}
|
||
|
||
.mail-preview {
|
||
flex: 1;
|
||
min-height: 80px;
|
||
overflow: auto;
|
||
padding: 4px;
|
||
border: 1px solid #a0a0a0;
|
||
background: #ffffff;
|
||
}
|
||
|
||
.mail-preview pre,
|
||
.mail-log {
|
||
margin: 0;
|
||
font: 12px ui-monospace, Menlo, Consolas, monospace;
|
||
white-space: pre-wrap;
|
||
overflow-wrap: anywhere;
|
||
user-select: text;
|
||
}
|
||
|
||
.mail-welcome {
|
||
display: flex;
|
||
align-items: flex-start;
|
||
gap: 8px;
|
||
margin: 0;
|
||
font-family: Arial, sans-serif;
|
||
}
|
||
|
||
.mail-log {
|
||
flex: 1;
|
||
min-height: 80px;
|
||
overflow: auto;
|
||
padding: 4px;
|
||
border: 1px solid #a0a0a0;
|
||
background: #ffffff;
|
||
}
|
||
|
||
.mail-form {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: stretch;
|
||
gap: 6px;
|
||
max-width: 420px;
|
||
}
|
||
|
||
.mail-form label,
|
||
.mail-dialog label {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
}
|
||
|
||
.mail-form label span,
|
||
.mail-dialog label span {
|
||
flex: none;
|
||
width: 140px;
|
||
}
|
||
|
||
.mail-form > button {
|
||
align-self: flex-start;
|
||
}
|
||
|
||
.mail-notice {
|
||
margin: 0;
|
||
}
|
||
|
||
.mail-dialog {
|
||
position: absolute;
|
||
inset: 0;
|
||
z-index: 2;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 6px;
|
||
overflow: auto;
|
||
padding: 0 8px 8px;
|
||
background: #eeeeee;
|
||
}
|
||
|
||
.mail-dialog h4 {
|
||
margin: 0 -8px;
|
||
padding: 6px;
|
||
background: rgb(100 100 100);
|
||
color: rgb(250 250 250);
|
||
font: 13px Dialog, sans-serif;
|
||
text-align: center;
|
||
}
|
||
|
||
.mail-dialog textarea {
|
||
flex: 1;
|
||
min-height: 120px;
|
||
padding: 4px;
|
||
border: 1px solid #a0a0a0;
|
||
font: 16px ui-monospace, Menlo, Consolas, monospace;
|
||
}
|
||
|
||
.mail-question {
|
||
position: absolute;
|
||
left: 50%;
|
||
top: 30%;
|
||
z-index: 3;
|
||
transform: translateX(-50%);
|
||
width: min(90%, 380px);
|
||
padding: 12px;
|
||
border: 1px solid #808080;
|
||
border-radius: 6px;
|
||
background: #ffffff;
|
||
box-shadow: 0 4px 16px rgb(0 0 0 / 30%);
|
||
}
|
||
|
||
.mail-question p {
|
||
margin: 0 0 10px;
|
||
}
|
||
|
||
.mail-question button + button {
|
||
margin-left: 8px;
|
||
}
|
||
|
||
/* The text editor (GUIApplicationTextEditorWindow): Java's four buttons
|
||
* above, the text below in Courier; 16 pixels, as Safari on the iPad zooms
|
||
* into smaller fields. */
|
||
.text-editor {
|
||
position: relative;
|
||
flex: 1;
|
||
min-height: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 5px;
|
||
padding: 5px;
|
||
background: #eeeeee;
|
||
}
|
||
|
||
.text-editor-bar {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
justify-content: center;
|
||
gap: 5px;
|
||
flex: none;
|
||
}
|
||
|
||
.text-editor-bar button,
|
||
.file-dialog-folder button {
|
||
min-width: 44px;
|
||
min-height: 40px;
|
||
padding: 0 12px;
|
||
border: 1px solid #a0a0a0;
|
||
border-radius: 6px;
|
||
background: #f8f8f8;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.text-editor-bar button:disabled,
|
||
.file-dialog-folder button:disabled {
|
||
color: #a0a0a0;
|
||
cursor: default;
|
||
}
|
||
|
||
.text-editor-text {
|
||
flex: 1;
|
||
min-height: 0;
|
||
resize: none;
|
||
padding: 4px;
|
||
border: 1px solid #a0a0a0;
|
||
background: #ffffff;
|
||
color: #000000;
|
||
font: 16px 'Courier New', Courier, monospace;
|
||
}
|
||
|
||
/* Java's file dialog (DMTNFileChooser) over the program. */
|
||
.file-dialog-folder {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 10px;
|
||
flex: none;
|
||
}
|
||
|
||
.file-dialog-folder span {
|
||
flex: 1;
|
||
min-width: 0;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.file-dialog-entries {
|
||
flex: 1;
|
||
min-height: 96px;
|
||
margin: 0;
|
||
padding: 0;
|
||
overflow: auto;
|
||
border: 1px solid #a0a0a0;
|
||
background: #ffffff;
|
||
list-style: none;
|
||
}
|
||
|
||
.file-dialog-entries button {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
width: 100%;
|
||
min-height: 32px;
|
||
padding: 0 6px;
|
||
border: 0;
|
||
background: transparent;
|
||
color: #000000;
|
||
font: 13px Dialog, sans-serif;
|
||
text-align: left;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.file-dialog-entries button[aria-pressed='true'] {
|
||
background: #b8cfe5;
|
||
}
|