From 9e5e8f677bd01d53167c4587b5e29f0a8438e7b4 Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Wed, 8 Apr 2009 13:21:03 +0000 Subject: "Base" theme initial commit. svn changeset:7371/svn branch:theme_2009_03 --- .../ITMILL/themes/base/accordion/accordion.css | 28 + WebContent/ITMILL/themes/base/button/button.css | 57 + WebContent/ITMILL/themes/base/caption/caption.css | 24 + WebContent/ITMILL/themes/base/common/common.css | 213 +++ .../base/coordinatelayout/coordinatelayout.css | 3 + .../ITMILL/themes/base/datefield/datefield.css | 76 + .../ITMILL/themes/base/formlayout/formlayout.css | 77 + .../ITMILL/themes/base/gridlayout/gridlayout.css | 36 + WebContent/ITMILL/themes/base/menubar/menubar.css | 24 + .../themes/base/notification/notification.css | 46 + .../themes/base/orderedlayout/orderedlayout.css | 29 + WebContent/ITMILL/themes/base/panel/panel.css | 29 + .../ITMILL/themes/base/popupview/popupview.css | 8 + .../base/progressindicator/progressindicator.css | 34 + WebContent/ITMILL/themes/base/select/select.css | 137 ++ .../ITMILL/themes/base/shadow/img/bottom-left.png | Bin 0 -> 183 bytes .../ITMILL/themes/base/shadow/img/bottom-right.png | Bin 0 -> 192 bytes .../ITMILL/themes/base/shadow/img/bottom.png | Bin 0 -> 130 bytes .../ITMILL/themes/base/shadow/img/center.png | Bin 0 -> 109 bytes WebContent/ITMILL/themes/base/shadow/img/left.png | Bin 0 -> 124 bytes WebContent/ITMILL/themes/base/shadow/img/right.png | Bin 0 -> 124 bytes .../ITMILL/themes/base/shadow/img/top-left.png | Bin 0 -> 169 bytes .../ITMILL/themes/base/shadow/img/top-right.png | Bin 0 -> 186 bytes WebContent/ITMILL/themes/base/shadow/img/top.png | Bin 0 -> 125 bytes WebContent/ITMILL/themes/base/shadow/shadow.css | 85 ++ WebContent/ITMILL/themes/base/slider/slider.css | 75 + .../ITMILL/themes/base/splitpanel/splitpanel.css | 41 + WebContent/ITMILL/themes/base/styles.css | 1503 ++++++++++++++++++++ WebContent/ITMILL/themes/base/table/table.css | 122 ++ .../ITMILL/themes/base/tabsheet/tabsheet.css | 74 + .../ITMILL/themes/base/textfield/textfield.css | 11 + WebContent/ITMILL/themes/base/tree/tree.css | 42 + .../themes/base/window/img/shadow/bottom-left.png | Bin 0 -> 683 bytes .../themes/base/window/img/shadow/bottom-right.png | Bin 0 -> 583 bytes .../themes/base/window/img/shadow/bottom.png | Bin 0 -> 150 bytes .../themes/base/window/img/shadow/center.png | Bin 0 -> 109 bytes .../ITMILL/themes/base/window/img/shadow/left.png | Bin 0 -> 144 bytes .../ITMILL/themes/base/window/img/shadow/right.png | Bin 0 -> 146 bytes .../themes/base/window/img/shadow/top-left.png | Bin 0 -> 510 bytes .../themes/base/window/img/shadow/top-right.png | Bin 0 -> 654 bytes .../ITMILL/themes/base/window/img/shadow/top.png | Bin 0 -> 148 bytes WebContent/ITMILL/themes/base/window/window.css | 185 +++ 42 files changed, 2959 insertions(+) create mode 100644 WebContent/ITMILL/themes/base/accordion/accordion.css create mode 100644 WebContent/ITMILL/themes/base/button/button.css create mode 100644 WebContent/ITMILL/themes/base/caption/caption.css create mode 100644 WebContent/ITMILL/themes/base/common/common.css create mode 100644 WebContent/ITMILL/themes/base/coordinatelayout/coordinatelayout.css create mode 100644 WebContent/ITMILL/themes/base/datefield/datefield.css create mode 100644 WebContent/ITMILL/themes/base/formlayout/formlayout.css create mode 100644 WebContent/ITMILL/themes/base/gridlayout/gridlayout.css create mode 100644 WebContent/ITMILL/themes/base/menubar/menubar.css create mode 100644 WebContent/ITMILL/themes/base/notification/notification.css create mode 100644 WebContent/ITMILL/themes/base/orderedlayout/orderedlayout.css create mode 100644 WebContent/ITMILL/themes/base/panel/panel.css create mode 100644 WebContent/ITMILL/themes/base/popupview/popupview.css create mode 100644 WebContent/ITMILL/themes/base/progressindicator/progressindicator.css create mode 100644 WebContent/ITMILL/themes/base/select/select.css create mode 100644 WebContent/ITMILL/themes/base/shadow/img/bottom-left.png create mode 100644 WebContent/ITMILL/themes/base/shadow/img/bottom-right.png create mode 100644 WebContent/ITMILL/themes/base/shadow/img/bottom.png create mode 100644 WebContent/ITMILL/themes/base/shadow/img/center.png create mode 100644 WebContent/ITMILL/themes/base/shadow/img/left.png create mode 100644 WebContent/ITMILL/themes/base/shadow/img/right.png create mode 100644 WebContent/ITMILL/themes/base/shadow/img/top-left.png create mode 100644 WebContent/ITMILL/themes/base/shadow/img/top-right.png create mode 100644 WebContent/ITMILL/themes/base/shadow/img/top.png create mode 100644 WebContent/ITMILL/themes/base/shadow/shadow.css create mode 100644 WebContent/ITMILL/themes/base/slider/slider.css create mode 100644 WebContent/ITMILL/themes/base/splitpanel/splitpanel.css create mode 100644 WebContent/ITMILL/themes/base/styles.css create mode 100644 WebContent/ITMILL/themes/base/table/table.css create mode 100644 WebContent/ITMILL/themes/base/tabsheet/tabsheet.css create mode 100644 WebContent/ITMILL/themes/base/textfield/textfield.css create mode 100644 WebContent/ITMILL/themes/base/tree/tree.css create mode 100644 WebContent/ITMILL/themes/base/window/img/shadow/bottom-left.png create mode 100644 WebContent/ITMILL/themes/base/window/img/shadow/bottom-right.png create mode 100644 WebContent/ITMILL/themes/base/window/img/shadow/bottom.png create mode 100644 WebContent/ITMILL/themes/base/window/img/shadow/center.png create mode 100644 WebContent/ITMILL/themes/base/window/img/shadow/left.png create mode 100644 WebContent/ITMILL/themes/base/window/img/shadow/right.png create mode 100644 WebContent/ITMILL/themes/base/window/img/shadow/top-left.png create mode 100644 WebContent/ITMILL/themes/base/window/img/shadow/top-right.png create mode 100644 WebContent/ITMILL/themes/base/window/img/shadow/top.png create mode 100644 WebContent/ITMILL/themes/base/window/window.css (limited to 'WebContent') diff --git a/WebContent/ITMILL/themes/base/accordion/accordion.css b/WebContent/ITMILL/themes/base/accordion/accordion.css new file mode 100644 index 0000000000..7461f611b6 --- /dev/null +++ b/WebContent/ITMILL/themes/base/accordion/accordion.css @@ -0,0 +1,28 @@ +.i-accordion { + position: relative; + outline: none; + overflow: hidden; + text-align: left /* Force default alignment */ +} + +.i-accordion-item { + position: relative; +} + +.i-accordion-item-caption { + white-space: nowrap; +} + +.i-accordion-item-caption .i-caption { + cursor: pointer; +} + +.i-accordion-item-open .i-accordion-item-caption .i-caption { + cursor: default; +} + +.i-accordion-item-content { + position: absolute; + overflow: auto; + width: 100%; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/button/button.css b/WebContent/ITMILL/themes/base/button/button.css new file mode 100644 index 0000000000..a3756827d3 --- /dev/null +++ b/WebContent/ITMILL/themes/base/button/button.css @@ -0,0 +1,57 @@ +.i-button { + cursor: pointer; + white-space: nowrap; + margin: 0; +} +.i-button img { + display:inline; +} + +.i-button-link { + border: none; + text-align: left; + text-decoration: underline; + background: none; + padding: 0; +} +.i-sa .i-button-link:focus { + outline-offset: -3px; +} +.i-button-link span { + text-decoration: underline; +} + +/* fixes streched buttons in IE6 */ +.i-ie6 .i-button { + width: 1px; + overflow: visible; + padding-left: 10px; + padding-right: 10px; +} +/* fixes streched buttons in IE7 */ +.i-ie7 .i-button { + overflow: visible; + padding-left: 10px; + padding-right: 10px; + width: expression(this.offsetWidth + "px"); +} + +/* Error indicator on checkbox fix for IE */ +.i-ie .i-checkbox * { + display: block; + float: left; +} + +.i-ie .i-checkbox .i-errorindicator { + padding-right: 4px; +} + +.i-ie7 .i-checkbox .i-errorindicator { + padding-right: 7px; +} + +/* Error indicator on button fix for IE */ +.i-ie button .i-errorindicator { + display: inline; + padding-right:5 px; +} diff --git a/WebContent/ITMILL/themes/base/caption/caption.css b/WebContent/ITMILL/themes/base/caption/caption.css new file mode 100644 index 0000000000..a2ec3b7f63 --- /dev/null +++ b/WebContent/ITMILL/themes/base/caption/caption.css @@ -0,0 +1,24 @@ +.i-captionwrapper { + text-align: left /* Force default alignment */ +} + +.i-caption { + overflow: hidden; + white-space: nowrap; +} + +.i-errorindicator { + float: left; +} + +.i-caption .i-icon { + float: left; +} +.i-caption .i-captiontext { + float: left; + overflow: hidden; +} + +.i-caption .i-required-field-indicator { + float: left; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/common/common.css b/WebContent/ITMILL/themes/base/common/common.css new file mode 100644 index 0000000000..e9a623ea1f --- /dev/null +++ b/WebContent/ITMILL/themes/base/common/common.css @@ -0,0 +1,213 @@ +.i-generated-body { + width:100%; + height:100%; + border:0; + margin:0; + overflow:hidden; +} + +.i-app { + height: 100%; +} + +.i-app-loading { + /* Specify initial loading-throbber styles with this selector (e.g. a banner that is shown before app starts) */ +} + +.i-view { + height: 100%; + width: 100%; + overflow: auto; + /* avoid scrollbars with margins in root layout */ + outline: none; + margin-top:-1px; + border-top:1px solid transparent; + position:relative; +} + + +/** + * Try to cope printing somehow. Reasonable printing support + * needs application specific planning and CSS tuning. + */ +@media print { + + .i-generated-body { + height: auto; + min-height: 20cm; + overflow: visible; + } + + .i-app { + height:auto; + min-height: 20cm; + } + + .i-view { + overflow: visible; + } + + .i-gridlayout { + overflow: visible !important; + } + +} + +.i-view:active, .i-view:focus { + outline: none; +} + +.i-app input, +.i-window input, +.i-app select, +.i-window select, +.i-app textarea, +.i-window textarea, +.i-app button, +.i-window button, +.i-contextmenu, +.i-datefield-popup { + /* Specify application global font style and color with this selector */ +} + +.i-app select, +.i-window select { + padding: 0; + margin: 0; +} + +.i-disabled { + opacity: 0.3; + filter: Alpha(opacity=30); +} +.i-ie .i-disabled { + zoom: 1; +} +.i-disabled .i-disabled { + opacity: 1.0; + filter: Alpha(opacity=100); +} +.i-required-field-indicator { + padding-left:2px; + color: red; +} + +/** + * Custom tooltip + */ +.i-tooltip { + /* The outer element */ +} + +.i-tooltip-text { + /* The main tooltip text (i.e. help text) */ + overflow: auto; +} + +.i-tooltip .i-errormessage { + /* Additional error message that is shown in case of a component error */ + overflow: auto; + } + +.i-tooltip .i-errormessage h2 { + /* Error messages often include HTML tags in them */ +} + +.i-tooltip .i-errormessage h3 { + +} + +/** + * Context menu styles + */ + +.i-contextmenu { + background: #efefef; + border: 1px solid #ddd; +} + +.i-contextmenu .gwt-MenuBar { + /* DIV element inside the context menu, which contains all actions */ +} + +.i-contextmenu table { + +} + +.i-contextmenu .gwt-MenuItem { + cursor: pointer; + /* Action item (TD element) */ +} + +.i-contextmenu .gwt-MenuItem div { + white-space: nowrap; +} + +.i-contextmenu .gwt-MenuItem-selected div { + +} + +.i-contextmenu .gwt-MenuItem img { + /* Action icon */ +} + + +/** + * Link component styles + */ +.i-link a { + +} + +/** + * Label has tiny paddings to include contents margins. + */ +.i-label { + +} + +/* Loading indicator states (top-right-corner throbber). + * Note: client side expects that loading indicator has a height. It depends on + * this css property to ensure browsers have applied all required styles. + */ +.i-loading-indicator, +.i-loading-indicator-delay, +.i-loading-indicator-wait { + /* remember to specify height */ + height: 1px; +} +.i-loading-indicator-delay { + /* shown after ~3 seconds of loading */ +} +.i-loading-indicator-wait { + /* shown after ~10 seconds of loading */ +} + +/* debug dialog */ + +.i-debug-console { + background:white; + opacity: 0.85; + border: 1px solid black; + font-family:sans-serif; +} +.i-debug-console-caption { + background:black; + border-bottom: 1px solid grey; + color: white; + font-weight: bold; +} +.i-debug-console-content { + font-size:x-small; + overflow: auto; +} +.i-debug-console-content input { + font-size:xx-small; +} + +/* Debug style */ +.i-app .invalidlayout, +.i-app .invalidlayout * { + background: #f99 !important; + +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/coordinatelayout/coordinatelayout.css b/WebContent/ITMILL/themes/base/coordinatelayout/coordinatelayout.css new file mode 100644 index 0000000000..8caf47d5e6 --- /dev/null +++ b/WebContent/ITMILL/themes/base/coordinatelayout/coordinatelayout.css @@ -0,0 +1,3 @@ +.i-coordinatelayout-margin-values { + margin: 0; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/datefield/datefield.css b/WebContent/ITMILL/themes/base/datefield/datefield.css new file mode 100644 index 0000000000..bcf743246f --- /dev/null +++ b/WebContent/ITMILL/themes/base/datefield/datefield.css @@ -0,0 +1,76 @@ +.i-datefield { + white-space: nowrap; +} + +.i-datefield-calendarpanel { + width: 19em; + font-size: 12px; +} + +.i-datefield-popup .i-datefield-calendarpanel { + width: 16em; +} + +.i-datefield-calendarpanel table { + width: 100%; +} + +.i-datefield-calendarpanel td { + text-align: right; + width: 14.2%; + padding: 0; + margin: 0; +} + +.i-datefield-calendarpanel td span { + display: block; +} + +.i-datefield-calendarpanel-month { + white-space: nowrap; +} + +.i-datefield-calendarpanel-day, +.i-datefield-calendarpanel-day-today { + cursor: pointer; +} + +.i-disabled .i-datefield-calendarpanel-day, +.i-disabled .i-datefield-calendarpanel-day-today { + cursor: default; +} + +.i-datefield-calendarpanel-day-entry { + color: #999; +} + +.i-datefield-calendarpanel-day-disabled { + color: #ddd; +} + +.i-datefield-calendarpanel-day-entry.i-datefield-calendarpanel-day-disabled { + color: #bbb; +} + +.i-datefield-calendarpanel-day-selected { + font-weight: bold; + cursor: default; +} + +.i-datefield-time { + white-space: nowrap; +} + +.i-datefield-time .i-label { + display: inline; +} + +.i-datefield-rendererror .i-textfield { + background: #ff9999; +} + +/* IE somehow loses generic i-disabled alpha. See #1960 */ +.i-ie .i-disabled .i-datefield-button, +.i-ie .i-disabled .i-datefield-textfield { + filter: alpha(opacity=30); +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/formlayout/formlayout.css b/WebContent/ITMILL/themes/base/formlayout/formlayout.css new file mode 100644 index 0000000000..fad6fcfa93 --- /dev/null +++ b/WebContent/ITMILL/themes/base/formlayout/formlayout.css @@ -0,0 +1,77 @@ +.i-formlayout-errorcell .i-errorindicator { + width: 10px; + height: 16px; + display: block; + background: transparent url(../icons/16/error.png) no-repeat top right; +} + +.i-formlayout-captioncell { + text-align: right; + white-space: nowrap; +} + +.i-formlayout-captioncell .i-caption { + overflow: visible; +} + +.i-formlayout-contentcell { + width:100%; +} + +.i-formlayout-error-indicator { +/* fix width so layout is not jumpy when error disappears */ + width: 12px; +} + +.i-formlayout-spacing .i-formlayout-row .i-formlayout-captioncell, +.i-formlayout-spacing .i-formlayout-row .i-formlayout-contentcell, +.i-formlayout-spacing .i-formlayout-row .i-formlayout-errorcell { + padding-top: 8px; +} + +.i-formlayout-spacing .i-formlayout-firstrow .i-formlayout-captioncell, +.i-formlayout-spacing .i-formlayout-firstrow .i-formlayout-contentcell, +.i-formlayout-spacing .i-formlayout-firstrow .i-formlayout-errorcell { + padding-top: 0; +} + +.i-formlayout-margin-top .i-formlayout-firstrow .i-formlayout-captioncell, +.i-formlayout-margin-top .i-formlayout-firstrow .i-formlayout-contentcell, +.i-formlayout-margin-top .i-formlayout-firstrow .i-formlayout-errorcell { + padding-top: 15px; +} +.i-formlayout-margin-bottom .i-formlayout-lastrow .i-formlayout-captioncell, +.i-formlayout-margin-bottom .i-formlayout-lastrow .i-formlayout-contentcell, +.i-formlayout-margin-bottom .i-formlayout-lastrow .i-formlayout-errorcell { + padding-bottom: 15px; +} +.i-formlayout-margin-left .i-formlayout-captioncell { + padding-left: 18px; +} +.i-formlayout-margin-right .i-formlayout-contentcell { + padding-right: 18px; +} + +/* Form */ + +.i-form-errormessage { + background: transparent url(../icons/16/error.png) no-repeat top left; + padding-left: 20px; + margin-bottom: 5px; + margin-top: 5px; + min-height: 20px; +} + +* html .i-form-errormessage { + height: 20px +} + +.i-form { + border: none; + margin: 0; + padding: 0; +} + +.i-form .i-caption .i-required-field-indicator { + float: none; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/gridlayout/gridlayout.css b/WebContent/ITMILL/themes/base/gridlayout/gridlayout.css new file mode 100644 index 0000000000..c973ba846c --- /dev/null +++ b/WebContent/ITMILL/themes/base/gridlayout/gridlayout.css @@ -0,0 +1,36 @@ +/* Margin values if defined from server side */ +.i-gridlayout-margin-top { + padding-top: 15px; +} +.i-gridlayout-margin-bottom { + padding-bottom: 15px; +} +.i-gridlayout-margin-left { + padding-left: 18px; +} +.i-gridlayout-margin-right { + padding-right: 18px; +} + +/* + * Spacing values used by IGridLayout. (element does not exist in DOM) + * Use padding-left for horizontal spacing and padding-top for vertical. + */ +.i-gridlayout-spacing-on { + padding-left:8px; + padding-top:8px; +} +.i-gridlayout-spacing-off { + padding-left:0px; + padding-top:0px; +} + +.i-gridlayout-spacing, +.i-gridlayout-spacing-off { + padding-left:0px; + padding-top:0px; +} + +.i-gridlayout { + overflow:hidden; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/menubar/menubar.css b/WebContent/ITMILL/themes/base/menubar/menubar.css new file mode 100644 index 0000000000..b2523ae883 --- /dev/null +++ b/WebContent/ITMILL/themes/base/menubar/menubar.css @@ -0,0 +1,24 @@ +/*Top menu */ +.i-menubar table { + white-space: nowrap; +} + +.i-menubar .menuitem{ + cursor : default; + } + +.i-menubar .menuitem-selected { + background: #eee; + } + +.i-menubar-submenu { + white-space: nowrap; +} + +.i-menubar-submenu .menuitem { + cursor: default; +} + +.i-menubar-submenu .menuitem-selected { + background: #eee; +} diff --git a/WebContent/ITMILL/themes/base/notification/notification.css b/WebContent/ITMILL/themes/base/notification/notification.css new file mode 100644 index 0000000000..2f52cbabf8 --- /dev/null +++ b/WebContent/ITMILL/themes/base/notification/notification.css @@ -0,0 +1,46 @@ +.i-Notification { + background: #999; + color: #fff; + cursor: pointer; + overflow: hidden; + padding: 1em; +} +.i-Notification h1, +.i-Notification p, +.i-Notification.error h1, +.i-Notification.error p, +.i-Notification.warning h1, +.i-Notification.warning p { + display: inline; + white-space: nowrap; + margin: 0 0.5em 0 0; +} + +.i-Notification.warning { + background: orange; +} + +.i-Notification.error { + background: red; +} + + +.i-Notification.tray h1 { + display: block; +} +.i-Notification.tray p { + display: block; +} + +.i-Notification.system { + background-color: red; + opacity: 0.7; + filter: alpha(opacity=70); +} +.i-Notification.system h1 { + display: block; + margin: 0; +} +.i-Notification.system p { + white-space: nowrap; +} diff --git a/WebContent/ITMILL/themes/base/orderedlayout/orderedlayout.css b/WebContent/ITMILL/themes/base/orderedlayout/orderedlayout.css new file mode 100644 index 0000000000..fd06f9f00f --- /dev/null +++ b/WebContent/ITMILL/themes/base/orderedlayout/orderedlayout.css @@ -0,0 +1,29 @@ +.i-orderedlayout { + overflow: hidden; +} + +.i-orderedlayout-margin-top { + padding-top: 15px; +} + +.i-orderedlayout-margin-right { + padding-right: 18px; +} + +.i-orderedlayout-margin-bottom { + padding-bottom: 15px; +} + +.i-orderedlayout-margin-left { + padding-left: 18px; +} + +.i-orderedlayout-spacing-on { + padding-top: 8px; + padding-left: 8px; +} +/** This can be used to define spacing if spacing is off server side */ +.i-orderedlayout-spacing-off { + padding-top: 0; + padding-left: 0; +} diff --git a/WebContent/ITMILL/themes/base/panel/panel.css b/WebContent/ITMILL/themes/base/panel/panel.css new file mode 100644 index 0000000000..c448dacd9a --- /dev/null +++ b/WebContent/ITMILL/themes/base/panel/panel.css @@ -0,0 +1,29 @@ +.i-panel, +.i-panel-caption, +.i-panel-content, +.i-panel-deco, +.i-panel-light, +.i-panel-caption-light, +.i-panel-content-light, +.i-panel-deco-light { + outline: none; /* Prevent selection outline which might break layouts or cause scrollbars */ + text-align: left /* Force default alignment */ +} + +.i-panel-caption .i-errorindicator { + float: none; + padding-right:1 8px; + display: inline; +} + +.i-panel-caption .i-icon { + display: inline; +} + +.i-panel-caption { + font-weight: bold; +} + +.i-panel-content { + overflow: auto; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/popupview/popupview.css b/WebContent/ITMILL/themes/base/popupview/popupview.css new file mode 100644 index 0000000000..accb1b5675 --- /dev/null +++ b/WebContent/ITMILL/themes/base/popupview/popupview.css @@ -0,0 +1,8 @@ +.i-popupview { + cursor: pointer; +} + +.i-popupview-popup { + background: white; + overflow: auto; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/progressindicator/progressindicator.css b/WebContent/ITMILL/themes/base/progressindicator/progressindicator.css new file mode 100644 index 0000000000..10e91a63a5 --- /dev/null +++ b/WebContent/ITMILL/themes/base/progressindicator/progressindicator.css @@ -0,0 +1,34 @@ +.i-progressindicator-wrapper { + overflow: hidden; /* for IE6 */ + height: 9px; +} + +.i-progressindicator { + background: #eee; + overflow: hidden; /* for IE6 */ + width: 150px; +} +.i-progressindicator-disabled { + background: #efefef; + height: 9px; + overflow: hidden; /* for IE6 */ +} + +.i-progressindicator-indicator { + background: #ddd; + height: 9px; + overflow: hidden; /* for IE6 */ +} + +.i-progressindicator-indeterminate { + background: #eee; + height: 16px; + width: 16px; + overflow: hidden; /* for IE6 */ +} +.i-progressindicator-disabled-indeterminate { + background: #efefef; + height: 16px; + width: 16px; + overflow: hidden; /* for IE6 */ +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/select/select.css b/WebContent/ITMILL/themes/base/select/select.css new file mode 100644 index 0000000000..069296b104 --- /dev/null +++ b/WebContent/ITMILL/themes/base/select/select.css @@ -0,0 +1,137 @@ +.i-select { + text-align: left /* Force default alignment */ +} + +.i-select-optiongroup .i-select-option { + display: block; + white-space: nowrap; +} + +.i-ie .i-select-optiongroup .i-select-option { + zoom: 1; +} + +.i-select-select { + display: block; +} + +/* Twincol style */ +.i-select-twincol { + white-space: nowrap; +} +.i-select-twincol-options { + float: left; +} +.i-select-twincol-selections { + font-weight: bold; +} + +.i-select-twincol-buttons { + float: left; + padding: 2px; /* does not work in first render in FF ? */ + text-align: center; +} + +.i-select-twincol-buttons .i-select-twincol-deco { + clear:both; +} + +.i-select-twincol .i-textfield { + display: block; + float: left; + clear: left; +} + +.i-select-twincol .i-button { + display: block; + float: left; +} + +.i-select-twincol-buttons .i-button { + display: inline; + float: none; +} + +/** Filterselect aka ComboBox styles */ + +.i-filterselect { + white-space: nowrap; + text-align: left /* Force default alignment */ +} + +.i-filterselect-input { + float: left; + margin: 0; +} + +.i-filterselect-button { + float: right; + width: 1em; + height: 1em; + cursor: pointer; + background: #ddd; +} + +.i-filterselect-suggestpopup { + background: #eee; + border: 1px solid #ddd; +} + +.i-filterselect-suggestmenu table { + border-collapse: collapse; + border: none; + padding: 0; + margin: 0; +} + +.i-filterselect-suggestmenu .gwt-MenuItem { + cursor: pointer; + height: 1em; + white-space: nowrap; +} + +.i-filterselect-suggestmenu .gwt-MenuItem-selected { + background: #999; + color: #fff; +} + +.i-filterselect-nextpage, +.i-filterselect-nextpage-off, +.i-filterselect-prevpage-off, +.i-filterselect-prevpage { + overflow: hidden; +} + +.i-filterselect-nextpage span, +.i-filterselect-nextpage-off span, +.i-filterselect-prevpage-off span, +.i-filterselect-prevpage span { + display: block; + background: #ddd; + cursor: pointer; + overflow: hidden; + text-align: center; +} + +.i-filterselect-nextpage-off, +.i-filterselect-prevpage-off { + opacity: 0.5; + filter: Alpha(opacity=50); +} +.i-filterselect-nextpage-off span, +.i-filterselect-prevpage-off span { + cursor: default; +} + +.i-filterselect-status { + white-space: nowrap; + text-align: center; +} + +.i-filterselect-error { + background: #ff2222; +} + +.i-filterselect-error .i-filterselect-button { + background: red; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/shadow/img/bottom-left.png b/WebContent/ITMILL/themes/base/shadow/img/bottom-left.png new file mode 100644 index 0000000000..b119a13119 Binary files /dev/null and b/WebContent/ITMILL/themes/base/shadow/img/bottom-left.png differ diff --git a/WebContent/ITMILL/themes/base/shadow/img/bottom-right.png b/WebContent/ITMILL/themes/base/shadow/img/bottom-right.png new file mode 100644 index 0000000000..50aaa3bedc Binary files /dev/null and b/WebContent/ITMILL/themes/base/shadow/img/bottom-right.png differ diff --git a/WebContent/ITMILL/themes/base/shadow/img/bottom.png b/WebContent/ITMILL/themes/base/shadow/img/bottom.png new file mode 100644 index 0000000000..96af859986 Binary files /dev/null and b/WebContent/ITMILL/themes/base/shadow/img/bottom.png differ diff --git a/WebContent/ITMILL/themes/base/shadow/img/center.png b/WebContent/ITMILL/themes/base/shadow/img/center.png new file mode 100644 index 0000000000..d6fb99a889 Binary files /dev/null and b/WebContent/ITMILL/themes/base/shadow/img/center.png differ diff --git a/WebContent/ITMILL/themes/base/shadow/img/left.png b/WebContent/ITMILL/themes/base/shadow/img/left.png new file mode 100644 index 0000000000..4c3611c842 Binary files /dev/null and b/WebContent/ITMILL/themes/base/shadow/img/left.png differ diff --git a/WebContent/ITMILL/themes/base/shadow/img/right.png b/WebContent/ITMILL/themes/base/shadow/img/right.png new file mode 100644 index 0000000000..34a46e7b13 Binary files /dev/null and b/WebContent/ITMILL/themes/base/shadow/img/right.png differ diff --git a/WebContent/ITMILL/themes/base/shadow/img/top-left.png b/WebContent/ITMILL/themes/base/shadow/img/top-left.png new file mode 100644 index 0000000000..27cf4d3f61 Binary files /dev/null and b/WebContent/ITMILL/themes/base/shadow/img/top-left.png differ diff --git a/WebContent/ITMILL/themes/base/shadow/img/top-right.png b/WebContent/ITMILL/themes/base/shadow/img/top-right.png new file mode 100644 index 0000000000..7f187ca556 Binary files /dev/null and b/WebContent/ITMILL/themes/base/shadow/img/top-right.png differ diff --git a/WebContent/ITMILL/themes/base/shadow/img/top.png b/WebContent/ITMILL/themes/base/shadow/img/top.png new file mode 100644 index 0000000000..b654d78da9 Binary files /dev/null and b/WebContent/ITMILL/themes/base/shadow/img/top.png differ diff --git a/WebContent/ITMILL/themes/base/shadow/shadow.css b/WebContent/ITMILL/themes/base/shadow/shadow.css new file mode 100644 index 0000000000..dbe1a7858a --- /dev/null +++ b/WebContent/ITMILL/themes/base/shadow/shadow.css @@ -0,0 +1,85 @@ +.i-shadow { + position: absolute; +} + +.i-shadow .top-left { + position: absolute; overflow: hidden; + top: -3px; left: -4px; + width: 8px; height: 8px; + background: transparent url(img/top-left.png); +} + +.i-shadow .top { + position: absolute; overflow: hidden; + top: -3px; left: 4px; + height: 8px; right: 4px; + background: transparent url(img/top.png); +} + +.i-shadow .top-right { + position: absolute; overflow: hidden; + top: -3px; right: -4px; + width: 8px; height: 8px; + background: transparent url(img/top-right.png); +} + +.i-shadow .left { + position: absolute; overflow: hidden; + top: 5px; left: -4px; + width: 8px; + bottom: 3px; + background: transparent url(img/left.png); +} + +.i-shadow .center { + position: absolute; overflow: hidden; + top: 5px; left: 4px; + bottom: 3px; right: 4px; + background: transparent url(img/center.png); +} + +.i-shadow .right { + position: absolute; overflow: hidden; + top: 5px; right: -4px; + width: 8px; + bottom: 3px; + background: transparent url(img/right.png); +} + +.i-shadow .bottom-left { + position: absolute; overflow: hidden; + bottom: -5px; left: -4px; + width: 8px; height: 8px; + background: transparent url(img/bottom-left.png); +} + +.i-shadow .bottom { + position: absolute; overflow: hidden; + bottom: -5px; left: 4px; + right: 4px; height: 8px; + background: transparent url(img/bottom.png); +} + +.i-shadow .bottom-right { + position: absolute; overflow: hidden; + bottom: -5px; right: -4px; + width: 8px; height: 8px; + background: transparent url(img/bottom-right.png); +} + + + + + +/* For IE6 (no transparent png's, we use a blur filter) */ + +* html .i-shadow * { + display: none; +} + +* html .i-shadow { + background: #000; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2) alpha(opacity=20); + margin-top: -3px; + margin-left: -4px; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/slider/slider.css b/WebContent/ITMILL/themes/base/slider/slider.css new file mode 100644 index 0000000000..d92057e066 --- /dev/null +++ b/WebContent/ITMILL/themes/base/slider/slider.css @@ -0,0 +1,75 @@ +/*-------------------------- + Default (horizontal) styles + --------------------------*/ + +.i-slider { + height: 12px; + width: 200px; + margin: 5px 0; +} + +.i-slider-base { + /* changing the borders will require adjustments to ISlider.java (offsetHeight should be 3px, 1px borders on the sides) */ + height: 3px; + background: #efefef; + border-left: 1px solid #eee; + border-right: 1px solid #eee; + +} + +.i-slider-handle { + background: #ddd; + width: 12px; + height: 12px; + margin-top: -5px; + font-size: 0; + cursor: pointer; +} + + +/*----------------- + Vertical styles + -----------------*/ + +.i-slider-vertical { + width: 3px; + height: auto; + margin: 0 5px; + border: none; + border-left: 1px solid #eee; + border-right: 1px solid #eee; +} + +.i-slider-vertical .i-slider-base { + width: 3px; + border-left: none; + border-right: none; + background: #efefef; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; +} + +.i-slider-vertical .i-slider-handle { + background: #ddd; + width: 12px; + height: 12px; + font-size: 0; + cursor: pointer; + margin-left: -5px; +} + + +/* IE specific styles */ + +.i-ie6 .i-slider, +.i-ie6 .i-slider-vertical { + margin: 0; +} + +.i-ie6 .i-slider .i-slider-handle { + margin: -1px 0; +} + +.i-ie6 .i-slider-vertical .i-slider-handle { + margin: 0 -1px; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/splitpanel/splitpanel.css b/WebContent/ITMILL/themes/base/splitpanel/splitpanel.css new file mode 100644 index 0000000000..4e0e1a09c7 --- /dev/null +++ b/WebContent/ITMILL/themes/base/splitpanel/splitpanel.css @@ -0,0 +1,41 @@ +.i-splitpanel-horizontal, +.i-splitpanel-vertical { + overflow: hidden; +} + +.i-splitpanel-horizontal .i-splitpanel-hsplitter { + width: 6px; + font-size: 1px; /* for IE6 */ +} + +.i-splitpanel-horizontal .i-splitpanel-hsplitter div { + width: 6px; + font-size: 1px; /* for IE6 */ + position: absolute; + top: 0; + bottom: 0; + background: #ddd; + cursor: e-resize; +} + +.i-splitpanel-vertical .i-splitpanel-vsplitter { + height: 6px; + font-size: 1px; /* for IE6 */ +} + +.i-splitpanel-vertical .i-splitpanel-vsplitter div { + height: 6px; + font-size: 1px; /* for IE6 */ + background: #ddd; + cursor: n-resize; +} + + + + + +/* IE specific styles */ + +.i-ie6 .i-splitpanel-horizontal .i-splitpanel-hsplitter div { + height: 99%; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/styles.css b/WebContent/ITMILL/themes/base/styles.css new file mode 100644 index 0000000000..12fb314508 --- /dev/null +++ b/WebContent/ITMILL/themes/base/styles.css @@ -0,0 +1,1503 @@ +/* Automatically compiled css file from subdirectories. */ + +/* ./WebContent/ITMILL/themes/base/accordion/accordion.css */ +.i-accordion { + position: relative; + outline: none; + overflow: hidden; + text-align: left /* Force default alignment */ +} + +.i-accordion-item { + position: relative; +} + +.i-accordion-item-caption { + white-space: nowrap; +} + +.i-accordion-item-caption .i-caption { + cursor: pointer; +} + +.i-accordion-item-open .i-accordion-item-caption .i-caption { + cursor: default; +} + +.i-accordion-item-content { + position: absolute; + overflow: auto; + width: 100%; +} + +/* ./WebContent/ITMILL/themes/base/button/button.css */ +.i-button { + cursor: pointer; + white-space: nowrap; + margin: 0; +} +.i-button img { + display:inline; +} + +.i-button-link { + border: none; + text-align: left; + text-decoration: underline; + background: none; + padding: 0; +} +.i-sa .i-button-link:focus { + outline-offset: -3px; +} +.i-button-link span { + text-decoration: underline; +} + +/* fixes streched buttons in IE6 */ +.i-ie6 .i-button { + width: 1px; + overflow: visible; + padding-left: 10px; + padding-right: 10px; +} +/* fixes streched buttons in IE7 */ +.i-ie7 .i-button { + overflow: visible; + padding-left: 10px; + padding-right: 10px; + width: expression(this.offsetWidth + "px"); +} + +/* Error indicator on checkbox fix for IE */ +.i-ie .i-checkbox * { + display: block; + float: left; +} + +.i-ie .i-checkbox .i-errorindicator { + padding-right: 4px; +} + +.i-ie7 .i-checkbox .i-errorindicator { + padding-right: 7px; +} + +/* Error indicator on button fix for IE */ +.i-ie button .i-errorindicator { + display: inline; + padding-right:5 px; +} + +/* ./WebContent/ITMILL/themes/base/caption/caption.css */ +.i-captionwrapper { + text-align: left /* Force default alignment */ +} + +.i-caption { + overflow: hidden; + white-space: nowrap; +} + +.i-errorindicator { + float: left; +} + +.i-caption .i-icon { + float: left; +} +.i-caption .i-captiontext { + float: left; + overflow: hidden; +} + +.i-caption .i-required-field-indicator { + float: left; +} + +/* ./WebContent/ITMILL/themes/base/common/common.css */ +.i-generated-body { + width:100%; + height:100%; + border:0; + margin:0; + overflow:hidden; +} + +.i-app { + height: 100%; +} + +.i-app-loading { + /* Specify initial loading-throbber styles with this selector (e.g. a banner that is shown before app starts) */ +} + +.i-view { + height: 100%; + width: 100%; + overflow: auto; + /* avoid scrollbars with margins in root layout */ + outline: none; + margin-top:-1px; + border-top:1px solid transparent; + position:relative; +} + + +/** + * Try to cope printing somehow. Reasonable printing support + * needs application specific planning and CSS tuning. + */ +@media print { + + .i-generated-body { + height: auto; + min-height: 20cm; + overflow: visible; + } + + .i-app { + height:auto; + min-height: 20cm; + } + + .i-view { + overflow: visible; + } + + .i-gridlayout { + overflow: visible !important; + } + +} + +.i-view:active, .i-view:focus { + outline: none; +} + +.i-app input, +.i-window input, +.i-app select, +.i-window select, +.i-app textarea, +.i-window textarea, +.i-app button, +.i-window button, +.i-contextmenu, +.i-datefield-popup { + /* Specify application global font style and color with this selector */ +} + +.i-app select, +.i-window select { + padding: 0; + margin: 0; +} + +.i-disabled { + opacity: 0.3; + filter: Alpha(opacity=30); +} +.i-ie .i-disabled { + zoom: 1; +} +.i-disabled .i-disabled { + opacity: 1.0; + filter: Alpha(opacity=100); +} +.i-required-field-indicator { + padding-left:2px; + color: red; +} + +/** + * Custom tooltip + */ +.i-tooltip { + /* The outer element */ +} + +.i-tooltip-text { + /* The main tooltip text (i.e. help text) */ + overflow: auto; +} + +.i-tooltip .i-errormessage { + /* Additional error message that is shown in case of a component error */ + overflow: auto; + } + +.i-tooltip .i-errormessage h2 { + /* Error messages often include HTML tags in them */ +} + +.i-tooltip .i-errormessage h3 { + +} + +/** + * Context menu styles + */ + +.i-contextmenu { + background: #efefef; + border: 1px solid #ddd; +} + +.i-contextmenu .gwt-MenuBar { + /* DIV element inside the context menu, which contains all actions */ +} + +.i-contextmenu table { + +} + +.i-contextmenu .gwt-MenuItem { + cursor: pointer; + /* Action item (TD element) */ +} + +.i-contextmenu .gwt-MenuItem div { + white-space: nowrap; +} + +.i-contextmenu .gwt-MenuItem-selected div { + +} + +.i-contextmenu .gwt-MenuItem img { + /* Action icon */ +} + + +/** + * Link component styles + */ +.i-link a { + +} + +/** + * Label has tiny paddings to include contents margins. + */ +.i-label { + +} + +/* Loading indicator states (top-right-corner throbber). + * Note: client side expects that loading indicator has a height. It depends on + * this css property to ensure browsers have applied all required styles. + */ +.i-loading-indicator, +.i-loading-indicator-delay, +.i-loading-indicator-wait { + /* remember to specify height */ + height: 1px; +} +.i-loading-indicator-delay { + /* shown after ~3 seconds of loading */ +} +.i-loading-indicator-wait { + /* shown after ~10 seconds of loading */ +} + +/* debug dialog */ + +.i-debug-console { + background:white; + opacity: 0.85; + border: 1px solid black; + font-family:sans-serif; +} +.i-debug-console-caption { + background:black; + border-bottom: 1px solid grey; + color: white; + font-weight: bold; +} +.i-debug-console-content { + font-size:x-small; + overflow: auto; +} +.i-debug-console-content input { + font-size:xx-small; +} + +/* Debug style */ +.i-app .invalidlayout, +.i-app .invalidlayout * { + background: #f99 !important; + +} + +/* ./WebContent/ITMILL/themes/base/coordinatelayout/coordinatelayout.css */ +.i-coordinatelayout-margin-values { + margin: 0; +} + +/* ./WebContent/ITMILL/themes/base/datefield/datefield.css */ +.i-datefield { + white-space: nowrap; +} + +.i-datefield-calendarpanel { + width: 19em; + font-size: 12px; +} + +.i-datefield-popup .i-datefield-calendarpanel { + width: 16em; +} + +.i-datefield-calendarpanel table { + width: 100%; +} + +.i-datefield-calendarpanel td { + text-align: right; + width: 14.2%; + padding: 0; + margin: 0; +} + +.i-datefield-calendarpanel td span { + display: block; +} + +.i-datefield-calendarpanel-month { + white-space: nowrap; +} + +.i-datefield-calendarpanel-day, +.i-datefield-calendarpanel-day-today { + cursor: pointer; +} + +.i-disabled .i-datefield-calendarpanel-day, +.i-disabled .i-datefield-calendarpanel-day-today { + cursor: default; +} + +.i-datefield-calendarpanel-day-entry { + color: #999; +} + +.i-datefield-calendarpanel-day-disabled { + color: #ddd; +} + +.i-datefield-calendarpanel-day-entry.i-datefield-calendarpanel-day-disabled { + color: #bbb; +} + +.i-datefield-calendarpanel-day-selected { + font-weight: bold; + cursor: default; +} + +.i-datefield-time { + white-space: nowrap; +} + +.i-datefield-time .i-label { + display: inline; +} + +.i-datefield-rendererror .i-textfield { + background: #ff9999; +} + +/* IE somehow loses generic i-disabled alpha. See #1960 */ +.i-ie .i-disabled .i-datefield-button, +.i-ie .i-disabled .i-datefield-textfield { + filter: alpha(opacity=30); +} + +/* ./WebContent/ITMILL/themes/base/formlayout/formlayout.css */ +.i-formlayout-errorcell .i-errorindicator { + width: 10px; + height: 16px; + display: block; + background: transparent url(icons/16/error.png) no-repeat top right; +} + +.i-formlayout-captioncell { + text-align: right; + white-space: nowrap; +} + +.i-formlayout-captioncell .i-caption { + overflow: visible; +} + +.i-formlayout-contentcell { + width:100%; +} + +.i-formlayout-error-indicator { +/* fix width so layout is not jumpy when error disappears */ + width: 12px; +} + +.i-formlayout-spacing .i-formlayout-row .i-formlayout-captioncell, +.i-formlayout-spacing .i-formlayout-row .i-formlayout-contentcell, +.i-formlayout-spacing .i-formlayout-row .i-formlayout-errorcell { + padding-top: 8px; +} + +.i-formlayout-spacing .i-formlayout-firstrow .i-formlayout-captioncell, +.i-formlayout-spacing .i-formlayout-firstrow .i-formlayout-contentcell, +.i-formlayout-spacing .i-formlayout-firstrow .i-formlayout-errorcell { + padding-top: 0; +} + +.i-formlayout-margin-top .i-formlayout-firstrow .i-formlayout-captioncell, +.i-formlayout-margin-top .i-formlayout-firstrow .i-formlayout-contentcell, +.i-formlayout-margin-top .i-formlayout-firstrow .i-formlayout-errorcell { + padding-top: 15px; +} +.i-formlayout-margin-bottom .i-formlayout-lastrow .i-formlayout-captioncell, +.i-formlayout-margin-bottom .i-formlayout-lastrow .i-formlayout-contentcell, +.i-formlayout-margin-bottom .i-formlayout-lastrow .i-formlayout-errorcell { + padding-bottom: 15px; +} +.i-formlayout-margin-left .i-formlayout-captioncell { + padding-left: 18px; +} +.i-formlayout-margin-right .i-formlayout-contentcell { + padding-right: 18px; +} + +/* Form */ + +.i-form-errormessage { + background: transparent url(icons/16/error.png) no-repeat top left; + padding-left: 20px; + margin-bottom: 5px; + margin-top: 5px; + min-height: 20px; +} + +* html .i-form-errormessage { + height: 20px +} + +.i-form { + border: none; + margin: 0; + padding: 0; +} + +.i-form .i-caption .i-required-field-indicator { + float: none; +} + +/* ./WebContent/ITMILL/themes/base/gridlayout/gridlayout.css */ +/* Margin values if defined from server side */ +.i-gridlayout-margin-top { + padding-top: 15px; +} +.i-gridlayout-margin-bottom { + padding-bottom: 15px; +} +.i-gridlayout-margin-left { + padding-left: 18px; +} +.i-gridlayout-margin-right { + padding-right: 18px; +} + +/* + * Spacing values used by IGridLayout. (element does not exist in DOM) + * Use padding-left for horizontal spacing and padding-top for vertical. + */ +.i-gridlayout-spacing-on { + padding-left:8px; + padding-top:8px; +} +.i-gridlayout-spacing-off { + padding-left:0px; + padding-top:0px; +} + +.i-gridlayout-spacing, +.i-gridlayout-spacing-off { + padding-left:0px; + padding-top:0px; +} + +.i-gridlayout { + overflow:hidden; +} + +/* ./WebContent/ITMILL/themes/base/menubar/menubar.css */ +/*Top menu */ +.i-menubar table { + white-space: nowrap; +} + +.i-menubar .menuitem{ + cursor : default; + } + +.i-menubar .menuitem-selected { + background: #eee; + } + +.i-menubar-submenu { + white-space: nowrap; +} + +.i-menubar-submenu .menuitem { + cursor: default; +} + +.i-menubar-submenu .menuitem-selected { + background: #eee; +} + +/* ./WebContent/ITMILL/themes/base/notification/notification.css */ +.i-Notification { + background: #999; + color: #fff; + cursor: pointer; + overflow: hidden; + padding: 1em; +} +.i-Notification h1, +.i-Notification p, +.i-Notification.error h1, +.i-Notification.error p, +.i-Notification.warning h1, +.i-Notification.warning p { + display: inline; + white-space: nowrap; + margin: 0 0.5em 0 0; +} + +.i-Notification.warning { + background: orange; +} + +.i-Notification.error { + background: red; +} + + +.i-Notification.tray h1 { + display: block; +} +.i-Notification.tray p { + display: block; +} + +.i-Notification.system { + background-color: red; + opacity: 0.7; + filter: alpha(opacity=70); +} +.i-Notification.system h1 { + display: block; + margin: 0; +} +.i-Notification.system p { + white-space: nowrap; +} + +/* ./WebContent/ITMILL/themes/base/orderedlayout/orderedlayout.css */ +.i-orderedlayout { + overflow: hidden; +} + +.i-orderedlayout-margin-top { + padding-top: 15px; +} + +.i-orderedlayout-margin-right { + padding-right: 18px; +} + +.i-orderedlayout-margin-bottom { + padding-bottom: 15px; +} + +.i-orderedlayout-margin-left { + padding-left: 18px; +} + +.i-orderedlayout-spacing-on { + padding-top: 8px; + padding-left: 8px; +} +/** This can be used to define spacing if spacing is off server side */ +.i-orderedlayout-spacing-off { + padding-top: 0; + padding-left: 0; +} + +/* ./WebContent/ITMILL/themes/base/panel/panel.css */ +.i-panel, +.i-panel-caption, +.i-panel-content, +.i-panel-deco, +.i-panel-light, +.i-panel-caption-light, +.i-panel-content-light, +.i-panel-deco-light { + outline: none; /* Prevent selection outline which might break layouts or cause scrollbars */ + text-align: left /* Force default alignment */ +} + +.i-panel-caption .i-errorindicator { + float: none; + padding-right:1 8px; + display: inline; +} + +.i-panel-caption .i-icon { + display: inline; +} + +.i-panel-caption { + font-weight: bold; +} + +.i-panel-content { + overflow: auto; +} + +/* ./WebContent/ITMILL/themes/base/popupview/popupview.css */ +.i-popupview { + cursor: pointer; +} + +.i-popupview-popup { + background: white; + overflow: auto; +} + +/* ./WebContent/ITMILL/themes/base/progressindicator/progressindicator.css */ +.i-progressindicator-wrapper { + overflow: hidden; /* for IE6 */ + height: 9px; +} + +.i-progressindicator { + background: #eee; + overflow: hidden; /* for IE6 */ + width: 150px; +} +.i-progressindicator-disabled { + background: #efefef; + height: 9px; + overflow: hidden; /* for IE6 */ +} + +.i-progressindicator-indicator { + background: #ddd; + height: 9px; + overflow: hidden; /* for IE6 */ +} + +.i-progressindicator-indeterminate { + background: #eee; + height: 16px; + width: 16px; + overflow: hidden; /* for IE6 */ +} +.i-progressindicator-disabled-indeterminate { + background: #efefef; + height: 16px; + width: 16px; + overflow: hidden; /* for IE6 */ +} + +/* ./WebContent/ITMILL/themes/base/select/select.css */ +.i-select { + text-align: left /* Force default alignment */ +} + +.i-select-optiongroup .i-select-option { + display: block; + white-space: nowrap; +} + +.i-ie .i-select-optiongroup .i-select-option { + zoom: 1; +} + +.i-select-select { + display: block; +} + +/* Twincol style */ +.i-select-twincol { + white-space: nowrap; +} +.i-select-twincol-options { + float: left; +} +.i-select-twincol-selections { + font-weight: bold; +} + +.i-select-twincol-buttons { + float: left; + padding: 2px; /* does not work in first render in FF ? */ + text-align: center; +} + +.i-select-twincol-buttons .i-select-twincol-deco { + clear:both; +} + +.i-select-twincol .i-textfield { + display: block; + float: left; + clear: left; +} + +.i-select-twincol .i-button { + display: block; + float: left; +} + +.i-select-twincol-buttons .i-button { + display: inline; + float: none; +} + +/** Filterselect aka ComboBox styles */ + +.i-filterselect { + white-space: nowrap; + text-align: left /* Force default alignment */ +} + +.i-filterselect-input { + float: left; + margin: 0; +} + +.i-filterselect-button { + float: right; + width: 1em; + height: 1em; + cursor: pointer; + background: #ddd; +} + +.i-filterselect-suggestpopup { + background: #eee; + border: 1px solid #ddd; +} + +.i-filterselect-suggestmenu table { + border-collapse: collapse; + border: none; + padding: 0; + margin: 0; +} + +.i-filterselect-suggestmenu .gwt-MenuItem { + cursor: pointer; + height: 1em; + white-space: nowrap; +} + +.i-filterselect-suggestmenu .gwt-MenuItem-selected { + background: #999; + color: #fff; +} + +.i-filterselect-nextpage, +.i-filterselect-nextpage-off, +.i-filterselect-prevpage-off, +.i-filterselect-prevpage { + overflow: hidden; +} + +.i-filterselect-nextpage span, +.i-filterselect-nextpage-off span, +.i-filterselect-prevpage-off span, +.i-filterselect-prevpage span { + display: block; + background: #ddd; + cursor: pointer; + overflow: hidden; + text-align: center; +} + +.i-filterselect-nextpage-off, +.i-filterselect-prevpage-off { + opacity: 0.5; + filter: Alpha(opacity=50); +} +.i-filterselect-nextpage-off span, +.i-filterselect-prevpage-off span { + cursor: default; +} + +.i-filterselect-status { + white-space: nowrap; + text-align: center; +} + +.i-filterselect-error { + background: #ff2222; +} + +.i-filterselect-error .i-filterselect-button { + background: red; +} + +/* ./WebContent/ITMILL/themes/base/shadow/shadow.css */ +.i-shadow { + position: absolute; +} + +.i-shadow .top-left { + position: absolute; overflow: hidden; + top: -3px; left: -4px; + width: 8px; height: 8px; + background: transparent url(shadow/img/top-left.png); +} + +.i-shadow .top { + position: absolute; overflow: hidden; + top: -3px; left: 4px; + height: 8px; right: 4px; + background: transparent url(shadow/img/top.png); +} + +.i-shadow .top-right { + position: absolute; overflow: hidden; + top: -3px; right: -4px; + width: 8px; height: 8px; + background: transparent url(shadow/img/top-right.png); +} + +.i-shadow .left { + position: absolute; overflow: hidden; + top: 5px; left: -4px; + width: 8px; + bottom: 3px; + background: transparent url(shadow/img/left.png); +} + +.i-shadow .center { + position: absolute; overflow: hidden; + top: 5px; left: 4px; + bottom: 3px; right: 4px; + background: transparent url(shadow/img/center.png); +} + +.i-shadow .right { + position: absolute; overflow: hidden; + top: 5px; right: -4px; + width: 8px; + bottom: 3px; + background: transparent url(shadow/img/right.png); +} + +.i-shadow .bottom-left { + position: absolute; overflow: hidden; + bottom: -5px; left: -4px; + width: 8px; height: 8px; + background: transparent url(shadow/img/bottom-left.png); +} + +.i-shadow .bottom { + position: absolute; overflow: hidden; + bottom: -5px; left: 4px; + right: 4px; height: 8px; + background: transparent url(shadow/img/bottom.png); +} + +.i-shadow .bottom-right { + position: absolute; overflow: hidden; + bottom: -5px; right: -4px; + width: 8px; height: 8px; + background: transparent url(shadow/img/bottom-right.png); +} + + + + + +/* For IE6 (no transparent png's, we use a blur filter) */ + +* html .i-shadow * { + display: none; +} + +* html .i-shadow { + background: #000; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2) alpha(opacity=20); + margin-top: -3px; + margin-left: -4px; +} + +/* ./WebContent/ITMILL/themes/base/slider/slider.css */ +/*-------------------------- + Default (horizontal) styles + --------------------------*/ + +.i-slider { + height: 12px; + width: 200px; + margin: 5px 0; +} + +.i-slider-base { + /* changing the borders will require adjustments to ISlider.java (offsetHeight should be 3px, 1px borders on the sides) */ + height: 3px; + background: #efefef; + border-left: 1px solid #eee; + border-right: 1px solid #eee; + +} + +.i-slider-handle { + background: #ddd; + width: 12px; + height: 12px; + margin-top: -5px; + font-size: 0; + cursor: pointer; +} + + +/*----------------- + Vertical styles + -----------------*/ + +.i-slider-vertical { + width: 3px; + height: auto; + margin: 0 5px; + border: none; + border-left: 1px solid #eee; + border-right: 1px solid #eee; +} + +.i-slider-vertical .i-slider-base { + width: 3px; + border-left: none; + border-right: none; + background: #efefef; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; +} + +.i-slider-vertical .i-slider-handle { + background: #ddd; + width: 12px; + height: 12px; + font-size: 0; + cursor: pointer; + margin-left: -5px; +} + + +/* IE specific styles */ + +.i-ie6 .i-slider, +.i-ie6 .i-slider-vertical { + margin: 0; +} + +.i-ie6 .i-slider .i-slider-handle { + margin: -1px 0; +} + +.i-ie6 .i-slider-vertical .i-slider-handle { + margin: 0 -1px; +} + +/* ./WebContent/ITMILL/themes/base/splitpanel/splitpanel.css */ +.i-splitpanel-horizontal, +.i-splitpanel-vertical { + overflow: hidden; +} + +.i-splitpanel-horizontal .i-splitpanel-hsplitter { + width: 6px; + font-size: 1px; /* for IE6 */ +} + +.i-splitpanel-horizontal .i-splitpanel-hsplitter div { + width: 6px; + font-size: 1px; /* for IE6 */ + position: absolute; + top: 0; + bottom: 0; + background: #ddd; + cursor: e-resize; +} + +.i-splitpanel-vertical .i-splitpanel-vsplitter { + height: 6px; + font-size: 1px; /* for IE6 */ +} + +.i-splitpanel-vertical .i-splitpanel-vsplitter div { + height: 6px; + font-size: 1px; /* for IE6 */ + background: #ddd; + cursor: n-resize; +} + + + + + +/* IE specific styles */ + +.i-ie6 .i-splitpanel-horizontal .i-splitpanel-hsplitter div { + height: 99%; +} + +/* ./WebContent/ITMILL/themes/base/table/table.css */ +.i-table { + overflow: hidden; + text-align: left /* Force default alignment */ +} + +.i-table-header-wrap { + background: #efefef; + border: 1px solid #ddd; + overflow: hidden; +} + +.i-table-header table, +.i-table-table { + border-collapse: collapse; + margin: 0; + padding: 0; + border: 0; +} + +.i-table-header td, +.i-table-table td { + margin: 0; + padding: 0; + border: 0; +} + +.i-table-header td { + cursor: pointer; +} + +.i-table-resizer { + display: block; + height: 1em; + float: right; + background: #ddd; + cursor: col-resize; +} + +.i-table-caption-container { + float: right; + overflow: hidden; + white-space: nowrap; +} + +.i-table-row-spacer { + height: 10px; + overflow: hidden; /* IE hack to allow < one line height divs */ +} + +.i-table-row, +.i-table-row-odd { + border: 0; + margin: 0; + padding: 0; +} + +.i-table .i-selected { + background: #999; + color: #fff; +} + +.i-table-row td, +.i-table-row-odd td { + padding: 0; +} +.i-table-cell-content { + white-space: nowrap; + overflow: hidden; + padding: 3px 0 3px 3px; + margin-right: 5px; +} + +.i-table-column-selector { + float: right; + background: #ddd; + margin: -1em 0 0 0; + height: 1em; + width: 0.5em; + position: relative; /* hide this from IE, it works without it */ +} + +.i-ie .i-table-column-selector { + position: static; +} + +.i-table-focus-slot-left { + border-left: 2px solid #999; + margin-right: -2px; +} +.i-table-focus-slot-right { + border-right: 2px solid #999; + margin-left: -2px; +} + +.i-table-header-drag { + position: absolute; + background: #efefef; + border: 1px solid #eee; + opacity: 0.5; + filter: alpha(opacity=50); + margin-top: 20px; + z-index: 30000; +} + +.i-table-scrollposition { + width: 160px; + background: #eee; +} + +.i-table-scrollposition span { + display: block; + text-align: center; +} + + +/* row in column selector */ +.i-on div { + +} +.i-off div { + color: #ddd; +} + +/* ./WebContent/ITMILL/themes/base/tabsheet/tabsheet.css */ +.i-tabsheet, +.i-tabsheet-content, +.i-tabsheet-deco { + outline: none; /* Prevent selection outline which might break layouts or cause scrollbars */ + text-align: left /* Force default alignment */ +} + +.i-tabsheet-tabs { + empty-cells: hide; + border-collapse: collapse; + margin: 0; + padding: 0; + border: 0; + width: 100%; + overflow: hidden; + border-bottom: 1px solid #ddd; +} + +.i-tabsheet-tabs td { + margin:0; + padding:0; + vertical-align: bottom; +} + +.i-tabsheet-spacertd { + width: 100%; +} + +.i-tabsheet-hidetabs .i-tabsheet-tabcontainer { + display: none; +} + +.i-tabsheet-scroller { + white-space: nowrap; + text-align: right; + margin-top: -1em; +} + +.i-tabsheet-scrollerPrev, +.i-tabsheet-scrollerNext { + border: none; + width: 0.5em; + height: 1em; + background: #ddd; + cursor: pointer; +} +.i-tabsheet-scrollerPrev-disabled, +.i-tabsheet-scrollerNext-disabled { + border: none; + width: 0.5em; + height: 1em; + background: #efefef; +} + +.i-tabsheet-tabs .i-caption { + white-space: nowrap; +} + +/* for IE (does not inherit) */ +.i-tabsheet-tabs .i-caption span { + white-space: nowrap; +} + +.i-tabsheet-tabitem { + cursor: pointer; +} + +.i-tabsheet-tabitem-selected { + background: #ddd; +} + +.i-tabsheet-content { + position: relative; +} + +/* ./WebContent/ITMILL/themes/base/textfield/textfield.css */ +.i-textfield { + text-align: left /* Force default alignment */ +} + +.i-richtextarea { + overflow: hidden; +} + +.i-richtextarea iframe { + border: 0; +} + +/* ./WebContent/ITMILL/themes/base/tree/tree.css */ +.i-tree { + text-align: left /* Force default alignment */ +} + +/* ie6compatnode is hidden from non ie6 browsers, because ie6 + * uses weird hack to sink all events properly + */ +.i-tree-node-ie6compatnode { + display: none; +} + +.i-ie6 .i-tree-node-ie6compatnode { + display: inline; + float: left; + background: #000; + margin: 0; + width: 14px; + height: 10px; + padding: 1px; + filter: Alpha(opacity=0); +} + +.i-ie6 .i-tree-node { + clear: both; +} + +.i-tree-node-caption { + margin-left: 16px; +} + +.i-tree-node span { + cursor: pointer; + white-space: nowrap; +} +.i-tree-node-selected span { + background: #999; + color: #fff; + cursor: pointer; +} +.i-tree-node-children { + padding-left: 16px; +} + +/* ./WebContent/ITMILL/themes/base/window/window.css */ +.i-window { + background: #fff; +} + +.i-window-outerheader { + cursor: move; +} + +.i-window-header { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.i-ie6 .i-window-header { + width: 100%; +} + +.i-window-header .i-icon { + vertical-align: middle; /* This has to be 'middle', not 'bottom', to allow larger icons than 16px */ +} + +/* Partial fix for bug #1106 */ +/* Target Firefox 2 (somehow this will force almost all window borders on top of a Flash object) */ +.i-window-contents, x:-moz-any-link { + overflow: hidden; +} +/* Target Firefox 3 (it doesn't need any trickery, so revert the previous) */ +.i-window-contents, x:-moz-any-link, x:default { + overflow: visible; +} + +.i-window-footer { + height: 10px; +} + +.i-window-resizebox { + position: relative; /* Needed to position the element over ScrollPanel, which is also relatively positioned */ + display: inline; /* fix IE6 double float margin bug */ + float: right; + width: 10px; + height: 10px; + cursor: se-resize; + background: #ddd; + overflow: hidden; +} + +.i-window-resizebox-disabled { + cursor: default; + background: transparent; +} + +.i-window-closebox { + position: absolute; + top: 0; + right: 0; + width: 12px; + height: 12px; + background: red; + cursor: pointer; + overflow: hidden; +} + +.i-window-modalitycurtain { + top: 0; + left: 0; + background: white; + opacity: 0.5; + position: fixed; + width: 100%; + height: 100%; + filter: alpha(opacity=50); +} + +/* IE6 workaround for position:fixed; */ +* html .i-window-modalitycurtain { + position: absolute; + top: expression(document.documentElement.scrollTop + "px"); +} + +/* IE specific styles */ + +* html .i-window { + width: 0; /* min-size for IE6 */ +} + + + + + + + + + + + + + + + +/* Shadow for window */ + +.i-shadow-window { + position: absolute; +} + +.i-shadow-window .top-left { + position: absolute; overflow: hidden; + top: -13px; left: -20px; + width: 39px; height: 39px; + background: transparent url(window/img/shadow/top-left.png); +} + +.i-shadow-window .top { + position: absolute; overflow: hidden; + top: -13px; left: 19px; + height: 39px; + right: 19px; + background: transparent url(window/img/shadow/top.png); +} + +.i-shadow-window .top-right { + position: absolute; overflow: hidden; + top: -13px; right: -20px; + width: 39px; height: 39px; + background: transparent url(window/img/shadow/top-right.png); +} + +.i-shadow-window .left { + position: absolute; overflow: hidden; + top: 26px; left: -20px; + width: 39px; + bottom: 12px; + background: transparent url(window/img/shadow/left.png); +} + +.i-shadow-window .center { + position: absolute; overflow: hidden; + top: 26px; left: 19px; + bottom: 12px; right: 19px; + background: transparent url(window/img/shadow/center.png); +} + +.i-shadow-window .right { + position: absolute; overflow: hidden; + top: 26px; right: -20px; + width: 39px; + bottom: 12px; + background: transparent url(window/img/shadow/right.png); +} + +.i-shadow-window .bottom-left { + position: absolute; overflow: hidden; + bottom: -27px; left: -20px; + width: 39px; height: 39px; + background: transparent url(window/img/shadow/bottom-left.png); +} + +.i-shadow-window .bottom { + position: absolute; overflow: hidden; + bottom: -27px; left: 19px; + right: 19px; height: 39px; + background: transparent url(window/img/shadow/bottom.png); +} + +.i-shadow-window .bottom-right { + position: absolute; overflow: hidden; + bottom: -27px; right: -20px; + width: 39px; height: 39px; + background: transparent url(window/img/shadow/bottom-right.png); +} + + +/* For IE6 (no transparent png's, we use a blur filter) */ + +* html .i-shadow-window * { + display: none; +} + +* html .i-shadow-window { + background: #000; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=5) alpha(opacity=20); + margin-top: 2px; + margin-left: 2px; +} diff --git a/WebContent/ITMILL/themes/base/table/table.css b/WebContent/ITMILL/themes/base/table/table.css new file mode 100644 index 0000000000..c7ce94877b --- /dev/null +++ b/WebContent/ITMILL/themes/base/table/table.css @@ -0,0 +1,122 @@ +.i-table { + overflow: hidden; + text-align: left /* Force default alignment */ +} + +.i-table-header-wrap { + background: #efefef; + border: 1px solid #ddd; + overflow: hidden; +} + +.i-table-header table, +.i-table-table { + border-collapse: collapse; + margin: 0; + padding: 0; + border: 0; +} + +.i-table-header td, +.i-table-table td { + margin: 0; + padding: 0; + border: 0; +} + +.i-table-header td { + cursor: pointer; +} + +.i-table-resizer { + display: block; + height: 1em; + float: right; + background: #ddd; + cursor: col-resize; +} + +.i-table-caption-container { + float: right; + overflow: hidden; + white-space: nowrap; +} + +.i-table-row-spacer { + height: 10px; + overflow: hidden; /* IE hack to allow < one line height divs */ +} + +.i-table-row, +.i-table-row-odd { + border: 0; + margin: 0; + padding: 0; +} + +.i-table .i-selected { + background: #999; + color: #fff; +} + +.i-table-row td, +.i-table-row-odd td { + padding: 0; +} +.i-table-cell-content { + white-space: nowrap; + overflow: hidden; + padding: 3px 0 3px 3px; + margin-right: 5px; +} + +.i-table-column-selector { + float: right; + background: #ddd; + margin: -1em 0 0 0; + height: 1em; + width: 0.5em; + position: relative; /* hide this from IE, it works without it */ +} + +.i-ie .i-table-column-selector { + position: static; +} + +.i-table-focus-slot-left { + border-left: 2px solid #999; + margin-right: -2px; +} +.i-table-focus-slot-right { + border-right: 2px solid #999; + margin-left: -2px; +} + +.i-table-header-drag { + position: absolute; + background: #efefef; + border: 1px solid #eee; + opacity: 0.5; + filter: alpha(opacity=50); + margin-top: 20px; + z-index: 30000; +} + +.i-table-scrollposition { + width: 160px; + background: #eee; +} + +.i-table-scrollposition span { + display: block; + text-align: center; +} + + +/* row in column selector */ +.i-on div { + +} +.i-off div { + color: #ddd; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/tabsheet/tabsheet.css b/WebContent/ITMILL/themes/base/tabsheet/tabsheet.css new file mode 100644 index 0000000000..85c3daa89c --- /dev/null +++ b/WebContent/ITMILL/themes/base/tabsheet/tabsheet.css @@ -0,0 +1,74 @@ +.i-tabsheet, +.i-tabsheet-content, +.i-tabsheet-deco { + outline: none; /* Prevent selection outline which might break layouts or cause scrollbars */ + text-align: left /* Force default alignment */ +} + +.i-tabsheet-tabs { + empty-cells: hide; + border-collapse: collapse; + margin: 0; + padding: 0; + border: 0; + width: 100%; + overflow: hidden; + border-bottom: 1px solid #ddd; +} + +.i-tabsheet-tabs td { + margin:0; + padding:0; + vertical-align: bottom; +} + +.i-tabsheet-spacertd { + width: 100%; +} + +.i-tabsheet-hidetabs .i-tabsheet-tabcontainer { + display: none; +} + +.i-tabsheet-scroller { + white-space: nowrap; + text-align: right; + margin-top: -1em; +} + +.i-tabsheet-scrollerPrev, +.i-tabsheet-scrollerNext { + border: none; + width: 0.5em; + height: 1em; + background: #ddd; + cursor: pointer; +} +.i-tabsheet-scrollerPrev-disabled, +.i-tabsheet-scrollerNext-disabled { + border: none; + width: 0.5em; + height: 1em; + background: #efefef; +} + +.i-tabsheet-tabs .i-caption { + white-space: nowrap; +} + +/* for IE (does not inherit) */ +.i-tabsheet-tabs .i-caption span { + white-space: nowrap; +} + +.i-tabsheet-tabitem { + cursor: pointer; +} + +.i-tabsheet-tabitem-selected { + background: #ddd; +} + +.i-tabsheet-content { + position: relative; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/textfield/textfield.css b/WebContent/ITMILL/themes/base/textfield/textfield.css new file mode 100644 index 0000000000..7cf0e25227 --- /dev/null +++ b/WebContent/ITMILL/themes/base/textfield/textfield.css @@ -0,0 +1,11 @@ +.i-textfield { + text-align: left /* Force default alignment */ +} + +.i-richtextarea { + overflow: hidden; +} + +.i-richtextarea iframe { + border: 0; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/tree/tree.css b/WebContent/ITMILL/themes/base/tree/tree.css new file mode 100644 index 0000000000..8bde3c4227 --- /dev/null +++ b/WebContent/ITMILL/themes/base/tree/tree.css @@ -0,0 +1,42 @@ +.i-tree { + text-align: left /* Force default alignment */ +} + +/* ie6compatnode is hidden from non ie6 browsers, because ie6 + * uses weird hack to sink all events properly + */ +.i-tree-node-ie6compatnode { + display: none; +} + +.i-ie6 .i-tree-node-ie6compatnode { + display: inline; + float: left; + background: #000; + margin: 0; + width: 14px; + height: 10px; + padding: 1px; + filter: Alpha(opacity=0); +} + +.i-ie6 .i-tree-node { + clear: both; +} + +.i-tree-node-caption { + margin-left: 16px; +} + +.i-tree-node span { + cursor: pointer; + white-space: nowrap; +} +.i-tree-node-selected span { + background: #999; + color: #fff; + cursor: pointer; +} +.i-tree-node-children { + padding-left: 16px; +} diff --git a/WebContent/ITMILL/themes/base/window/img/shadow/bottom-left.png b/WebContent/ITMILL/themes/base/window/img/shadow/bottom-left.png new file mode 100644 index 0000000000..1ffd763faf Binary files /dev/null and b/WebContent/ITMILL/themes/base/window/img/shadow/bottom-left.png differ diff --git a/WebContent/ITMILL/themes/base/window/img/shadow/bottom-right.png b/WebContent/ITMILL/themes/base/window/img/shadow/bottom-right.png new file mode 100644 index 0000000000..af3552a4bc Binary files /dev/null and b/WebContent/ITMILL/themes/base/window/img/shadow/bottom-right.png differ diff --git a/WebContent/ITMILL/themes/base/window/img/shadow/bottom.png b/WebContent/ITMILL/themes/base/window/img/shadow/bottom.png new file mode 100644 index 0000000000..ed24b66705 Binary files /dev/null and b/WebContent/ITMILL/themes/base/window/img/shadow/bottom.png differ diff --git a/WebContent/ITMILL/themes/base/window/img/shadow/center.png b/WebContent/ITMILL/themes/base/window/img/shadow/center.png new file mode 100644 index 0000000000..f3825db0fb Binary files /dev/null and b/WebContent/ITMILL/themes/base/window/img/shadow/center.png differ diff --git a/WebContent/ITMILL/themes/base/window/img/shadow/left.png b/WebContent/ITMILL/themes/base/window/img/shadow/left.png new file mode 100644 index 0000000000..4c0b430f22 Binary files /dev/null and b/WebContent/ITMILL/themes/base/window/img/shadow/left.png differ diff --git a/WebContent/ITMILL/themes/base/window/img/shadow/right.png b/WebContent/ITMILL/themes/base/window/img/shadow/right.png new file mode 100644 index 0000000000..f81cfa0ce4 Binary files /dev/null and b/WebContent/ITMILL/themes/base/window/img/shadow/right.png differ diff --git a/WebContent/ITMILL/themes/base/window/img/shadow/top-left.png b/WebContent/ITMILL/themes/base/window/img/shadow/top-left.png new file mode 100644 index 0000000000..7f79389398 Binary files /dev/null and b/WebContent/ITMILL/themes/base/window/img/shadow/top-left.png differ diff --git a/WebContent/ITMILL/themes/base/window/img/shadow/top-right.png b/WebContent/ITMILL/themes/base/window/img/shadow/top-right.png new file mode 100644 index 0000000000..feb490d565 Binary files /dev/null and b/WebContent/ITMILL/themes/base/window/img/shadow/top-right.png differ diff --git a/WebContent/ITMILL/themes/base/window/img/shadow/top.png b/WebContent/ITMILL/themes/base/window/img/shadow/top.png new file mode 100644 index 0000000000..10bcc450ee Binary files /dev/null and b/WebContent/ITMILL/themes/base/window/img/shadow/top.png differ diff --git a/WebContent/ITMILL/themes/base/window/window.css b/WebContent/ITMILL/themes/base/window/window.css new file mode 100644 index 0000000000..41b7f54501 --- /dev/null +++ b/WebContent/ITMILL/themes/base/window/window.css @@ -0,0 +1,185 @@ +.i-window { + background: #fff; +} + +.i-window-outerheader { + cursor: move; +} + +.i-window-header { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.i-ie6 .i-window-header { + width: 100%; +} + +.i-window-header .i-icon { + vertical-align: middle; /* This has to be 'middle', not 'bottom', to allow larger icons than 16px */ +} + +/* Partial fix for bug #1106 */ +/* Target Firefox 2 (somehow this will force almost all window borders on top of a Flash object) */ +.i-window-contents, x:-moz-any-link { + overflow: hidden; +} +/* Target Firefox 3 (it doesn't need any trickery, so revert the previous) */ +.i-window-contents, x:-moz-any-link, x:default { + overflow: visible; +} + +.i-window-footer { + height: 10px; +} + +.i-window-resizebox { + position: relative; /* Needed to position the element over ScrollPanel, which is also relatively positioned */ + display: inline; /* fix IE6 double float margin bug */ + float: right; + width: 10px; + height: 10px; + cursor: se-resize; + background: #ddd; + overflow: hidden; +} + +.i-window-resizebox-disabled { + cursor: default; + background: transparent; +} + +.i-window-closebox { + position: absolute; + top: 0; + right: 0; + width: 12px; + height: 12px; + background: red; + cursor: pointer; + overflow: hidden; +} + +.i-window-modalitycurtain { + top: 0; + left: 0; + background: white; + opacity: 0.5; + position: fixed; + width: 100%; + height: 100%; + filter: alpha(opacity=50); +} + +/* IE6 workaround for position:fixed; */ +* html .i-window-modalitycurtain { + position: absolute; + top: expression(document.documentElement.scrollTop + "px"); +} + +/* IE specific styles */ + +* html .i-window { + width: 0; /* min-size for IE6 */ +} + + + + + + + + + + + + + + + +/* Shadow for window */ + +.i-shadow-window { + position: absolute; +} + +.i-shadow-window .top-left { + position: absolute; overflow: hidden; + top: -13px; left: -20px; + width: 39px; height: 39px; + background: transparent url(img/shadow/top-left.png); +} + +.i-shadow-window .top { + position: absolute; overflow: hidden; + top: -13px; left: 19px; + height: 39px; + right: 19px; + background: transparent url(img/shadow/top.png); +} + +.i-shadow-window .top-right { + position: absolute; overflow: hidden; + top: -13px; right: -20px; + width: 39px; height: 39px; + background: transparent url(img/shadow/top-right.png); +} + +.i-shadow-window .left { + position: absolute; overflow: hidden; + top: 26px; left: -20px; + width: 39px; + bottom: 12px; + background: transparent url(img/shadow/left.png); +} + +.i-shadow-window .center { + position: absolute; overflow: hidden; + top: 26px; left: 19px; + bottom: 12px; right: 19px; + background: transparent url(img/shadow/center.png); +} + +.i-shadow-window .right { + position: absolute; overflow: hidden; + top: 26px; right: -20px; + width: 39px; + bottom: 12px; + background: transparent url(img/shadow/right.png); +} + +.i-shadow-window .bottom-left { + position: absolute; overflow: hidden; + bottom: -27px; left: -20px; + width: 39px; height: 39px; + background: transparent url(img/shadow/bottom-left.png); +} + +.i-shadow-window .bottom { + position: absolute; overflow: hidden; + bottom: -27px; left: 19px; + right: 19px; height: 39px; + background: transparent url(img/shadow/bottom.png); +} + +.i-shadow-window .bottom-right { + position: absolute; overflow: hidden; + bottom: -27px; right: -20px; + width: 39px; height: 39px; + background: transparent url(img/shadow/bottom-right.png); +} + + +/* For IE6 (no transparent png's, we use a blur filter) */ + +* html .i-shadow-window * { + display: none; +} + +* html .i-shadow-window { + background: #000; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=5) alpha(opacity=20); + margin-top: 2px; + margin-left: 2px; +} \ No newline at end of file -- cgit v1.2.3 From 7e676a5e38016e70021b3a48e5e6e263783a5383 Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Thu, 9 Apr 2009 10:37:39 +0000 Subject: Merges from 6.0 branch. svn changeset:7375/svn branch:theme_2009_03 --- .../default/absolutelayout/absolutelayout.css | 4 + WebContent/ITMILL/themes/tests-tickets/styles.css | 12 + src/com/itmill/toolkit/data/Validator.java | 3 + .../features/commons/ValidationExample.java | 8 +- .../terminal/gwt/client/DefaultWidgetSet.java | 5 + .../terminal/gwt/client/ui/IAbsoluteLayout.java | 320 +++++++++++++++++++++ .../toolkit/tests/layouts/TestAbsoluteLayout.java | 54 ++++ src/com/itmill/toolkit/ui/AbsoluteLayout.java | 210 ++++++++++++++ src/com/itmill/toolkit/ui/AbstractField.java | 14 +- 9 files changed, 618 insertions(+), 12 deletions(-) create mode 100644 WebContent/ITMILL/themes/default/absolutelayout/absolutelayout.css create mode 100644 src/com/itmill/toolkit/terminal/gwt/client/ui/IAbsoluteLayout.java create mode 100644 src/com/itmill/toolkit/tests/layouts/TestAbsoluteLayout.java create mode 100644 src/com/itmill/toolkit/ui/AbsoluteLayout.java (limited to 'WebContent') diff --git a/WebContent/ITMILL/themes/default/absolutelayout/absolutelayout.css b/WebContent/ITMILL/themes/default/absolutelayout/absolutelayout.css new file mode 100644 index 0000000000..e77e380688 --- /dev/null +++ b/WebContent/ITMILL/themes/default/absolutelayout/absolutelayout.css @@ -0,0 +1,4 @@ +.i-absolutelayout-wrapper { + position: absolute; + overflow:hidden; +} diff --git a/WebContent/ITMILL/themes/tests-tickets/styles.css b/WebContent/ITMILL/themes/tests-tickets/styles.css index 225bbd6d1d..2c2b359ed9 100644 --- a/WebContent/ITMILL/themes/tests-tickets/styles.css +++ b/WebContent/ITMILL/themes/tests-tickets/styles.css @@ -1276,4 +1276,16 @@ padding:2px; .i-button-nowraplink span { white-space: normal; } + +.cyan { + background:cyan; +} +.yellow { + background:yellow; +} + +.green { + background:green; +} + \ No newline at end of file diff --git a/src/com/itmill/toolkit/data/Validator.java b/src/com/itmill/toolkit/data/Validator.java index 0e09e3de6b..d0094914ed 100644 --- a/src/com/itmill/toolkit/data/Validator.java +++ b/src/com/itmill/toolkit/data/Validator.java @@ -17,6 +17,9 @@ import com.itmill.toolkit.terminal.PaintTarget; * {@link Validator.InvalidValueException} if the given value is not valid by * its standards. * + * Validators should not have side effects on other objects as they can be + * called from Paintable.paint(). + * * @author IT Mill Ltd. * @version * @VERSION@ diff --git a/src/com/itmill/toolkit/demo/sampler/features/commons/ValidationExample.java b/src/com/itmill/toolkit/demo/sampler/features/commons/ValidationExample.java index 75bacd5b10..19444045a9 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/commons/ValidationExample.java +++ b/src/com/itmill/toolkit/demo/sampler/features/commons/ValidationExample.java @@ -46,17 +46,15 @@ public class ValidationExample extends VerticalLayout { throw new Validator.InvalidValueException("Username " + value + " already in use"); } - usernames.add(value); } }); username.addListener(new ValueChangeListener() { public void valueChange(ValueChangeEvent event) { TextField tf = (TextField) event.getProperty(); tf.validate(); - if (tf.isValid()) { - addComponent(new Label("Added " + tf.getValue() - + " to usernames")); - } + usernames.add(tf.getValue()); + addComponent(new Label("Added " + tf.getValue() + + " to usernames")); } }); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java b/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java index e81f5fff47..0bc849affa 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java @@ -5,6 +5,7 @@ package com.itmill.toolkit.terminal.gwt.client; import com.google.gwt.user.client.ui.Widget; +import com.itmill.toolkit.terminal.gwt.client.ui.IAbsoluteLayout; import com.itmill.toolkit.terminal.gwt.client.ui.IAccordion; import com.itmill.toolkit.terminal.gwt.client.ui.IButton; import com.itmill.toolkit.terminal.gwt.client.ui.ICheckBox; @@ -139,6 +140,8 @@ public class DefaultWidgetSet implements WidgetSet { return new IPopupView(); } else if (IUriFragmentUtility.class == classType) { return new IUriFragmentUtility(); + } else if (IAbsoluteLayout.class == classType) { + return new IAbsoluteLayout(); } return new IUnknownComponent(); @@ -249,6 +252,8 @@ public class DefaultWidgetSet implements WidgetSet { return IPopupView.class; } else if ("urifragment".equals(tag)) { return IUriFragmentUtility.class; + } else if (IAbsoluteLayout.TAGNAME.equals(tag)) { + return IAbsoluteLayout.class; } return IUnknownComponent.class; diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IAbsoluteLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IAbsoluteLayout.java new file mode 100644 index 0000000000..fc1f14cb83 --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IAbsoluteLayout.java @@ -0,0 +1,320 @@ +package com.itmill.toolkit.terminal.gwt.client.ui; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; + +import com.google.gwt.dom.client.DivElement; +import com.google.gwt.dom.client.Document; +import com.google.gwt.dom.client.Style; +import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.Element; +import com.google.gwt.user.client.ui.ComplexPanel; +import com.google.gwt.user.client.ui.SimplePanel; +import com.google.gwt.user.client.ui.Widget; +import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; +import com.itmill.toolkit.terminal.gwt.client.BrowserInfo; +import com.itmill.toolkit.terminal.gwt.client.Container; +import com.itmill.toolkit.terminal.gwt.client.Paintable; +import com.itmill.toolkit.terminal.gwt.client.RenderSpace; +import com.itmill.toolkit.terminal.gwt.client.UIDL; + +public class IAbsoluteLayout extends ComplexPanel implements Container { + + /** Tag name for widget creation */ + public static final String TAGNAME = "absolutelayout"; + + /** Class name, prefix in styling */ + public static final String CLASSNAME = "i-absolutelayout"; + + private DivElement marginElement; + + private Element canvas; + + private int excessPixelsHorizontal; + + private int excessPixelsVertical; + + private Object previousStyleName; + + private Map pidToComponentWrappper = new HashMap(); + + private ApplicationConnection client; + + private boolean rendering; + + public IAbsoluteLayout() { + setElement(Document.get().createDivElement()); + setStyleName(CLASSNAME); + marginElement = Document.get().createDivElement(); + canvas = DOM.createDiv(); + canvas.getStyle().setProperty("position", "relative"); + marginElement.appendChild(canvas); + getElement().appendChild(marginElement); + } + + public RenderSpace getAllocatedSpace(Widget child) { + // TODO needs some special handling for components with only on edge + // horizontally or vertically defined + AbsoluteWrapper wrapper = (AbsoluteWrapper) child.getParent(); + int w; + if (wrapper.left != null && wrapper.right != null) { + w = wrapper.getOffsetWidth(); + } else if (wrapper.right != null) { + // left == null + // available width == right edge == offsetleft + width + w = wrapper.getOffsetWidth() + wrapper.getElement().getOffsetLeft(); + } else { + // left != null && right == null || left == null && + // right == null + // available width == canvas width - offset left + w = canvas.getOffsetWidth() - wrapper.getElement().getOffsetLeft(); + } + int h; + if (wrapper.top != null && wrapper.bottom != null) { + h = wrapper.getOffsetHeight(); + } else if (wrapper.bottom != null) { + // top not defined, available space 0... bottom of wrapper + h = wrapper.getElement().getOffsetTop() + wrapper.getOffsetHeight(); + } else { + // top defined or both undefined, available space == canvas - top + h = canvas.getOffsetHeight() - wrapper.getElement().getOffsetTop(); + } + + return new RenderSpace(w, h); + } + + public boolean hasChildComponent(Widget component) { + for (Iterator> iterator = pidToComponentWrappper + .entrySet().iterator(); iterator.hasNext();) { + if (iterator.next().getValue().paintable == component) { + return true; + } + } + return false; + } + + public void replaceChildComponent(Widget oldComponent, Widget newComponent) { + for (Widget wrapper : getChildren()) { + AbsoluteWrapper w = (AbsoluteWrapper) wrapper; + if (w.getWidget() == oldComponent) { + w.setWidget(newComponent); + return; + } + } + } + + public boolean requestLayout(Set children) { + // component inside an absolute panel never affects parent nor the + // layout + return true; + } + + public void updateCaption(Paintable component, UIDL uidl) { + // TODO Auto-generated method stub + + } + + public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { + rendering = true; + this.client = client; + // TODO margin handling + if (client.updateComponent(this, uidl, true)) { + rendering = false; + return; + } + + HashSet unrenderedPids = new HashSet( + pidToComponentWrappper.keySet()); + + for (Iterator childIterator = uidl.getChildIterator(); childIterator + .hasNext();) { + UIDL cc = childIterator.next(); + UIDL componentUIDL = cc.getChildUIDL(0); + unrenderedPids.remove(componentUIDL.getId()); + getWrapper(client, componentUIDL).updateFromUIDL(cc); + } + + for (String pid : unrenderedPids) { + AbsoluteWrapper absoluteWrapper = pidToComponentWrappper.get(pid); + pidToComponentWrappper.remove(pid); + absoluteWrapper.destroy(); + } + rendering = false; + } + + private AbsoluteWrapper getWrapper(ApplicationConnection client, + UIDL componentUIDL) { + AbsoluteWrapper wrapper = pidToComponentWrappper.get(componentUIDL + .getId()); + if (wrapper == null) { + wrapper = new AbsoluteWrapper(client.getPaintable(componentUIDL)); + pidToComponentWrappper.put(componentUIDL.getId(), wrapper); + add(wrapper); + } + return wrapper; + + } + + @Override + public void add(Widget child) { + super.add(child, canvas); + } + + @Override + public void setStyleName(String style) { + super.setStyleName(style); + if (previousStyleName == null || !previousStyleName.equals(style)) { + excessPixelsHorizontal = -1; + excessPixelsVertical = -1; + } + } + + @Override + public void setWidth(String width) { + super.setWidth(width); + // TODO do this so that canvas gets the sized properly (the area + // inside marginals) + canvas.getStyle().setProperty("width", width); + + if (!rendering && BrowserInfo.get().isIE6()) { + relayoutWrappersForIe6(); + } + } + + @Override + public void setHeight(String height) { + super.setHeight(height); + // TODO do this so that canvas gets the sized properly (the area + // inside marginals) + canvas.getStyle().setProperty("height", height); + + if (!rendering && BrowserInfo.get().isIE6()) { + relayoutWrappersForIe6(); + } + } + + private void relayoutWrappersForIe6() { + for (Widget wrapper : getChildren()) { + ((AbsoluteWrapper) wrapper).ie6Layout(); + } + } + + public class AbsoluteWrapper extends SimplePanel { + private String css; + private String left; + private String top; + private String right; + private String bottom; + private String zIndex; + + private Paintable paintable; + + public AbsoluteWrapper(Paintable paintable) { + this.paintable = paintable; + setStyleName(CLASSNAME + "-wrapper"); + } + + public void destroy() { + client.unregisterPaintable(paintable); + removeFromParent(); + } + + public void updateFromUIDL(UIDL componentUIDL) { + setPosition(componentUIDL.getStringAttribute("css")); + if (getWidget() != paintable) { + setWidget((Widget) paintable); + } + paintable.updateFromUIDL(componentUIDL.getChildUIDL(0), client); + } + + public void setPosition(String stringAttribute) { + if (css == null || !css.equals(stringAttribute)) { + css = stringAttribute; + top = right = bottom = left = zIndex = null; + if (!css.equals("")) { + String[] properties = css.split(";"); + for (int i = 0; i < properties.length; i++) { + String[] keyValue = properties[i].split(":"); + if (keyValue[0].equals("left")) { + left = keyValue[1]; + } else if (keyValue[0].equals("top")) { + top = keyValue[1]; + } else if (keyValue[0].equals("right")) { + right = keyValue[1]; + } else if (keyValue[0].equals("bottom")) { + bottom = keyValue[1]; + } else if (keyValue[0].equals("z-index")) { + zIndex = keyValue[1]; + } + } + } + // ensure ne values + Style style = getElement().getStyle(); + style.setProperty("zIndex", zIndex); + style.setProperty("top", top); + style.setProperty("left", left); + style.setProperty("right", right); + style.setProperty("bottom", bottom); + + if (BrowserInfo.get().isIE6()) { + ie6Layout(); + } + } + + } + + private void ie6Layout() { + // special handling for IE6 is needed, it does not support + // setting both left/right or top/bottom + Style style = getElement().getStyle(); + if (bottom != null && top != null) { + // define height for wrapper to simulate bottom property + int bottompixels = measureForIE6(bottom); + ApplicationConnection.getConsole().log("ALB" + bottompixels); + int height = canvas.getOffsetHeight() - bottompixels + - getElement().getOffsetTop(); + ApplicationConnection.getConsole().log("ALB" + height); + if (height < 0) { + height = 0; + } + style.setPropertyPx("height", height); + } else { + // reset possibly existing value + style.setProperty("height", ""); + } + if (left != null && right != null) { + // define width for wrapper to simulate right property + int rightPixels = measureForIE6(right); + ApplicationConnection.getConsole().log("ALR" + rightPixels); + int width = canvas.getOffsetWidth() - rightPixels + - getElement().getOffsetWidth(); + ApplicationConnection.getConsole().log("ALR" + width); + if (width < 0) { + width = 0; + } + style.setPropertyPx("width", width); + } else { + // reset possibly existing value + style.setProperty("width", ""); + } + } + + } + + private Element measureElement; + + private int measureForIE6(String cssLength) { + if (measureElement == null) { + measureElement = DOM.createDiv(); + measureElement.getStyle().setProperty("position", "absolute"); + canvas.appendChild(measureElement); + } + measureElement.getStyle().setProperty("width", cssLength); + return measureElement.getOffsetWidth(); + } + +} diff --git a/src/com/itmill/toolkit/tests/layouts/TestAbsoluteLayout.java b/src/com/itmill/toolkit/tests/layouts/TestAbsoluteLayout.java new file mode 100644 index 0000000000..6631df2963 --- /dev/null +++ b/src/com/itmill/toolkit/tests/layouts/TestAbsoluteLayout.java @@ -0,0 +1,54 @@ +package com.itmill.toolkit.tests.layouts; + +import com.itmill.toolkit.tests.components.TestBase; +import com.itmill.toolkit.ui.AbsoluteLayout; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.Label; + +public class TestAbsoluteLayout extends TestBase { + + @Override + protected String getDescription() { + return "This is absolute layout tester."; + } + + @Override + protected Integer getTicketNumber() { + return null; + } + + @Override + protected void setup() { + AbsoluteLayout layout = new AbsoluteLayout(); + setTheme("tests-tickets"); + layout.setStyleName("cyan"); + + layout.addComponent(new Label("Hello World")); + + Button button = new Button("Centered button,z-index:10;"); + button.setSizeFull(); + layout.addComponent(button, + "top:40%;bottom:40%;right:20%;left:20%;z-index:10;"); + + Label label = new Label( + "Exotic positioned label. Fullsize, top:100px; left:2cm; right: 3.5in; bottom:12.12mm "); + label.setStyleName("yellow"); + label.setSizeFull(); + layout.addComponent(label, + "top:100px; left:2cm; right: 3.5in; bottom:12.12mm"); + + label = new Label("fullize, bottom:80%;left:80%;"); + label.setStyleName("green"); + label.setSizeFull(); + layout.addComponent(label, "bottom:80%;left:80%;"); + + label = new Label("bottomright"); + label.setSizeUndefined(); + label.setStyleName("green"); + layout.addComponent(label, "bottom:0px; right:0px;"); + + getLayout().setSizeFull(); + getLayout().addComponent(layout); + + } +} diff --git a/src/com/itmill/toolkit/ui/AbsoluteLayout.java b/src/com/itmill/toolkit/ui/AbsoluteLayout.java new file mode 100644 index 0000000000..61a12bb76f --- /dev/null +++ b/src/com/itmill/toolkit/ui/AbsoluteLayout.java @@ -0,0 +1,210 @@ +package com.itmill.toolkit.ui; + +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; + +import com.itmill.toolkit.terminal.PaintException; +import com.itmill.toolkit.terminal.PaintTarget; +import com.itmill.toolkit.terminal.gwt.client.ui.IAbsoluteLayout; + +/** + * AbsoluteLayout is a layout implementation that mimics html absolute + * positioning. + * + */ +public class AbsoluteLayout extends AbstractLayout { + + private Collection components = new HashSet(); + private Map componentToCoordinates = new HashMap(); + + public AbsoluteLayout() { + setSizeFull(); + } + + @Override + public String getTag() { + return IAbsoluteLayout.TAGNAME; + } + + public Iterator getComponentIterator() { + return components.iterator(); + } + + public void replaceComponent(Component oldComponent, Component newComponent) { + ComponentPosition position = getPosition(oldComponent); + removeComponent(oldComponent); + addComponent(newComponent); + componentToCoordinates.put(newComponent, position); + } + + @Override + public void addComponent(Component c) { + components.add(c); + super.addComponent(c); + } + + @Override + public void removeComponent(Component c) { + components.remove(c); + super.removeComponent(c); + } + + public void addComponent(Component c, String cssPosition) { + addComponent(c); + getPosition(c).setCSSString(cssPosition); + } + + public ComponentPosition getPosition(Component component) { + if (componentToCoordinates.containsKey(component)) { + return componentToCoordinates.get(component); + } else { + ComponentPosition coords = new ComponentPosition(); + componentToCoordinates.put(component, coords); + return coords; + } + } + + /** + * TODO symmetric getters and setters for fields to make this simpler to use + * in generic java tools + * + */ + public class ComponentPosition { + + private int zIndex = -1; + private float top = -1; + private float right = -1; + private float bottom = -1; + private float left = -1; + + private int topUnits; + private int rightUnits; + private int bottomUnits; + private int leftUnits; + + /** + * Sets the position attributes using CSS syntax. Example usage: + * + *
+         * setCSSString("top:10px;left:20%;z-index:16;");
+         * 
+ * + * @param css + */ + public void setCSSString(String css) { + String[] cssProperties = css.split(";"); + for (int i = 0; i < cssProperties.length; i++) { + String[] keyValuePair = cssProperties[i].split(":"); + String key = keyValuePair[0].trim(); + if (key.equals("z-index")) { + zIndex = Integer.parseInt(keyValuePair[1]); + } else { + String value = keyValuePair[1].trim(); + String unit = value.replaceAll("[0-9\\.]+", ""); + if (!unit.equals("")) { + value = value.substring(0, value.indexOf(unit)).trim(); + } + float v = Float.parseFloat(value); + int unitInt = parseCssUnit(unit); + if (key.equals("top")) { + top = v; + topUnits = unitInt; + } else if (key.equals("right")) { + right = v; + rightUnits = unitInt; + } else if (key.equals("bottom")) { + bottom = v; + bottomUnits = unitInt; + } else if (key.equals("left")) { + left = v; + leftUnits = unitInt; + } + } + } + requestRepaint(); + } + + private int parseCssUnit(String string) { + for (int i = 0; i < UNIT_SYMBOLS.length; i++) { + if (UNIT_SYMBOLS[i].equals(string)) { + return i; + } + } + return 0; // defaults to px (eg. top:0;) + } + + public String getCSSString() { + String s = ""; + if (top >= 0) { + s += "top:" + top + UNIT_SYMBOLS[topUnits] + ";"; + } + if (right >= 0) { + s += "right:" + right + UNIT_SYMBOLS[rightUnits] + ";"; + } + if (bottom >= 0) { + s += "bottom:" + bottom + UNIT_SYMBOLS[bottomUnits] + ";"; + } + if (left >= 0) { + s += "left:" + left + UNIT_SYMBOLS[leftUnits] + ";"; + } + if (zIndex >= 0) { + s += "z-index:" + zIndex + ";"; + } + return s; + } + + public void setTop(float topValue, int topUnits) { + validateLength(topValue, topUnits); + top = topValue; + this.topUnits = topUnits; + requestRepaint(); + } + + public void setRight(float rightValue, int rightUnits) { + validateLength(rightValue, rightUnits); + right = rightValue; + this.rightUnits = rightUnits; + requestRepaint(); + } + + public void setBottom(float bottomValue, int units) { + validateLength(bottomValue, units); + bottom = bottomValue; + bottomUnits = units; + requestRepaint(); + } + + public void setLeft(float leftValue, int units) { + validateLength(leftValue, units); + left = leftValue; + leftUnits = units; + requestRepaint(); + } + + public void setZIndex(int zIndex) { + this.zIndex = zIndex; + requestRepaint(); + } + + } + + @Override + public void paintContent(PaintTarget target) throws PaintException { + super.paintContent(target); + for (Component component : components) { + target.startTag("cc"); + target.addAttribute("css", getPosition(component).getCSSString()); + component.paint(target); + target.endTag("cc"); + } + } + + private static void validateLength(float topValue, int topUnits2) { + // TODO throw on invalid value + + } + +} diff --git a/src/com/itmill/toolkit/ui/AbstractField.java b/src/com/itmill/toolkit/ui/AbstractField.java index c998236f32..4d717826e6 100644 --- a/src/com/itmill/toolkit/ui/AbstractField.java +++ b/src/com/itmill/toolkit/ui/AbstractField.java @@ -639,12 +639,10 @@ public abstract class AbstractField extends AbstractComponent implements Field, */ public boolean isValid() { - if (isRequired()) { - if (isEmpty()) { + if (isEmpty()) { + if (isRequired()) { return false; - } - } else { - if (isEmpty()) { + } else { return true; } } @@ -675,9 +673,11 @@ public abstract class AbstractField extends AbstractComponent implements Field, */ public void validate() throws Validator.InvalidValueException { - if (isRequired()) { - if (isEmpty()) { + if (isEmpty()) { + if (isRequired()) { throw new Validator.EmptyValueException(requiredError); + } else { + return; } } -- cgit v1.2.3 From 4db963578e3832cd93d3407ea375ea3627ed7627 Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Thu, 30 Apr 2009 05:46:20 +0000 Subject: Small fixes to base and default theme CSS. svn changeset:7580/svn branch:theme_2009_03 --- WebContent/ITMILL/themes/base/styles.css | 5 ++++- WebContent/ITMILL/themes/base/window/window.css | 5 ++++- WebContent/ITMILL/themes/default/common/common.css | 2 ++ WebContent/ITMILL/themes/default/styles.css | 11 ++++++++--- WebContent/ITMILL/themes/default/table/table.css | 4 ++-- WebContent/ITMILL/themes/reindeer/styles.css | 5 ++++- 6 files changed, 24 insertions(+), 8 deletions(-) (limited to 'WebContent') diff --git a/WebContent/ITMILL/themes/base/styles.css b/WebContent/ITMILL/themes/base/styles.css index 5e84ab92c1..5d059fb2b8 100644 --- a/WebContent/ITMILL/themes/base/styles.css +++ b/WebContent/ITMILL/themes/base/styles.css @@ -1411,11 +1411,14 @@ div.i-tree-node-leaf { padding: 0.3em 1em; height: 1em; } +.i-window-header { + font-weight: bold; +} +/* A more specific selector to make sure padding isn't so easily overridden */ div.i-window-header { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; - font-weight: bold; padding: 0; } .i-ie6 .i-window-header { diff --git a/WebContent/ITMILL/themes/base/window/window.css b/WebContent/ITMILL/themes/base/window/window.css index ba57a7d633..3a9094dc4c 100644 --- a/WebContent/ITMILL/themes/base/window/window.css +++ b/WebContent/ITMILL/themes/base/window/window.css @@ -6,11 +6,14 @@ padding: 0.3em 1em; height: 1em; } +.i-window-header { + font-weight: bold; +} +/* A more specific selector to make sure padding isn't so easily overridden */ div.i-window-header { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; - font-weight: bold; padding: 0; } .i-ie6 .i-window-header { diff --git a/WebContent/ITMILL/themes/default/common/common.css b/WebContent/ITMILL/themes/default/common/common.css index f204d9994d..9629875244 100644 --- a/WebContent/ITMILL/themes/default/common/common.css +++ b/WebContent/ITMILL/themes/default/common/common.css @@ -103,6 +103,8 @@ width: 31px; height: 31px; background: transparent url(img/loading-indicator.gif); + margin-right: 5px; + margin-top: 5px; } .i-loading-indicator-delay { background-image: url(img/loading-indicator-delay.gif); diff --git a/WebContent/ITMILL/themes/default/styles.css b/WebContent/ITMILL/themes/default/styles.css index 01e1646c9f..c453d0ae46 100644 --- a/WebContent/ITMILL/themes/default/styles.css +++ b/WebContent/ITMILL/themes/default/styles.css @@ -1411,11 +1411,14 @@ div.i-tree-node-leaf { padding: 0.3em 1em; height: 1em; } +.i-window-header { + font-weight: bold; +} +/* A more specific selector to make sure padding isn't so easily overridden */ div.i-window-header { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; - font-weight: bold; padding: 0; } .i-ie6 .i-window-header { @@ -1720,6 +1723,8 @@ div.i-window-header { width: 31px; height: 31px; background: transparent url(common/img/loading-indicator.gif); + margin-right: 5px; + margin-top: 5px; } .i-loading-indicator-delay { background-image: url(common/img/loading-indicator-delay.gif); @@ -2665,9 +2670,9 @@ div.i-window-header { } .i-table-column-selector { background: transparent url(table/img/colsel.png) no-repeat; - margin: -36px 1px 0 0; + margin: -36px 0 0 0; height: 36px; - width: 14px; + width: 15px; } .i-table-focus-slot-left { border-color: #b6bbbc; diff --git a/WebContent/ITMILL/themes/default/table/table.css b/WebContent/ITMILL/themes/default/table/table.css index 3f35267a31..55e7063de9 100644 --- a/WebContent/ITMILL/themes/default/table/table.css +++ b/WebContent/ITMILL/themes/default/table/table.css @@ -81,9 +81,9 @@ } .i-table-column-selector { background: transparent url(img/colsel.png) no-repeat; - margin: -36px 1px 0 0; + margin: -36px 0 0 0; height: 36px; - width: 14px; + width: 15px; } .i-table-focus-slot-left { border-color: #b6bbbc; diff --git a/WebContent/ITMILL/themes/reindeer/styles.css b/WebContent/ITMILL/themes/reindeer/styles.css index 4875025acc..b759ebdd20 100644 --- a/WebContent/ITMILL/themes/reindeer/styles.css +++ b/WebContent/ITMILL/themes/reindeer/styles.css @@ -1411,11 +1411,14 @@ div.i-tree-node-leaf { padding: 0.3em 1em; height: 1em; } +.i-window-header { + font-weight: bold; +} +/* A more specific selector to make sure padding isn't so easily overridden */ div.i-window-header { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; - font-weight: bold; padding: 0; } .i-ie6 .i-window-header { -- cgit v1.2.3 From 891ccaa2eca38b3462950e0dd9362f8be9c2cef4 Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Thu, 30 Apr 2009 12:12:31 +0000 Subject: New theme button almost themed (error indicator missing). Includes SmartSprites syntax as well. svn changeset:7597/svn branch:theme_2009_03 --- WebContent/ITMILL/themes/base/button/button.css | 35 ++-- WebContent/ITMILL/themes/base/styles.css | 34 ++-- WebContent/ITMILL/themes/base/window/window.css | 1 + WebContent/ITMILL/themes/default/common/common.css | 2 + WebContent/ITMILL/themes/default/panel/panel.css | 9 +- WebContent/ITMILL/themes/default/styles.css | 66 ++++--- .../ITMILL/themes/default/tabsheet/tabsheet.css | 21 +- .../ITMILL/themes/reindeer/button/button.css | 139 ++++++++++++++ .../themes/reindeer/button/img/left-focus.png | Bin 0 -> 436 bytes .../themes/reindeer/button/img/left-pressed.png | Bin 0 -> 354 bytes .../ITMILL/themes/reindeer/button/img/left.png | Bin 0 -> 390 bytes .../themes/reindeer/button/img/right-focus.png | Bin 0 -> 735 bytes .../themes/reindeer/button/img/right-pressed.png | Bin 0 -> 648 bytes .../ITMILL/themes/reindeer/button/img/right.png | Bin 0 -> 623 bytes .../ITMILL/themes/reindeer/common/common.css | 45 +++++ WebContent/ITMILL/themes/reindeer/styles.css | 213 +++++++++++++++++++-- .../ITMILL/themes/sampler/sampler/styles.css | 6 +- WebContent/ITMILL/themes/sampler/styles.css | 2 +- 18 files changed, 471 insertions(+), 102 deletions(-) create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/left-focus.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/left-pressed.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/left.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/right-focus.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/right-pressed.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/right.png create mode 100644 WebContent/ITMILL/themes/reindeer/common/common.css (limited to 'WebContent') diff --git a/WebContent/ITMILL/themes/base/button/button.css b/WebContent/ITMILL/themes/base/button/button.css index f7a3e6ae28..ce0e0d430f 100644 --- a/WebContent/ITMILL/themes/base/button/button.css +++ b/WebContent/ITMILL/themes/base/button/button.css @@ -3,6 +3,9 @@ white-space: nowrap; margin: 0; } +.i-button span { + white-space: nowrap; +} .i-checkbox input { vertical-align: middle; } @@ -12,7 +15,8 @@ vertical-align: middle; margin-right: 3px; } -.i-button span, .i-checkbox label { +.i-button span, +.i-checkbox label { vertical-align: middle; } .i-button-link { @@ -37,22 +41,17 @@ padding-left: 1em; background-position: left; } - -/* Fixes streched buttons in IE6 */ +/* Fixes streched buttons in IE6 and IE7*/ .i-ie6 .i-button { width: 1px; - overflow: visible; - padding-left: 1em; - padding-right: 1em; } - -/* Fixes streched buttons in IE7 */ -.i-ie7 .i-button { +.i-ie6 .i-button, +.i-ie7 .i-button, +.i-ie8 .i-button { overflow: visible; padding-left: 1em; padding-right: 1em; } - /* Error indicator on checkbox fix for IE6 */ .i-ie6 .i-checkbox * { float: left; @@ -65,34 +64,32 @@ padding-left: 0; padding-right: 0.4em; } - /* Error indicator on checkbox fix for IE7 */ -.i-ie7 .i-checkbox * { +.i-ie7 .i-checkbox *, +.i-ie8 .i-checkbox * { float: left; } -.i-ie7 .i-checkbox .i-errorindicator { +.i-ie7 .i-checkbox .i-errorindicator, +.i-ie8 .i-checkbox .i-errorindicator { background-position: right; float: left; padding-left: 0; padding-right: 0.7em; } - /* Error indicator on button fix for IE */ .i-ie6 button .i-errorindicator, -.i-ie7 button .i-errorindicator { +.i-ie7 button .i-errorindicator, +.i-ie8 button .i-errorindicator { display: inline; padding-right: 0.5em; } - - /* Disabled by default .i-checkbox-error { background: #ffe0e0; } */ - /* Disabled by default .i-checkbox-required { background: #ffe0e0; } -*/ +*/ \ No newline at end of file diff --git a/WebContent/ITMILL/themes/base/styles.css b/WebContent/ITMILL/themes/base/styles.css index 5d059fb2b8..3a7f29ea22 100644 --- a/WebContent/ITMILL/themes/base/styles.css +++ b/WebContent/ITMILL/themes/base/styles.css @@ -40,6 +40,9 @@ white-space: nowrap; margin: 0; } +.i-button span { + white-space: nowrap; +} .i-checkbox input { vertical-align: middle; } @@ -49,7 +52,8 @@ vertical-align: middle; margin-right: 3px; } -.i-button span, .i-checkbox label { +.i-button span, +.i-checkbox label { vertical-align: middle; } .i-button-link { @@ -74,22 +78,17 @@ padding-left: 1em; background-position: left; } - -/* Fixes streched buttons in IE6 */ +/* Fixes streched buttons in IE6 and IE7*/ .i-ie6 .i-button { width: 1px; - overflow: visible; - padding-left: 1em; - padding-right: 1em; } - -/* Fixes streched buttons in IE7 */ -.i-ie7 .i-button { +.i-ie6 .i-button, +.i-ie7 .i-button, +.i-ie8 .i-button { overflow: visible; padding-left: 1em; padding-right: 1em; } - /* Error indicator on checkbox fix for IE6 */ .i-ie6 .i-checkbox * { float: left; @@ -102,32 +101,30 @@ padding-left: 0; padding-right: 0.4em; } - /* Error indicator on checkbox fix for IE7 */ -.i-ie7 .i-checkbox * { +.i-ie7 .i-checkbox *, +.i-ie8 .i-checkbox * { float: left; } -.i-ie7 .i-checkbox .i-errorindicator { +.i-ie7 .i-checkbox .i-errorindicator, +.i-ie8 .i-checkbox .i-errorindicator { background-position: right; float: left; padding-left: 0; padding-right: 0.7em; } - /* Error indicator on button fix for IE */ .i-ie6 button .i-errorindicator, -.i-ie7 button .i-errorindicator { +.i-ie7 button .i-errorindicator, +.i-ie8 button .i-errorindicator { display: inline; padding-right: 0.5em; } - - /* Disabled by default .i-checkbox-error { background: #ffe0e0; } */ - /* Disabled by default .i-checkbox-required { background: #ffe0e0; @@ -1418,6 +1415,7 @@ div.i-tree-node-leaf { div.i-window-header { white-space: nowrap; text-overflow: ellipsis; + -ms-text-overflow: ellipsis; overflow: hidden; padding: 0; } diff --git a/WebContent/ITMILL/themes/base/window/window.css b/WebContent/ITMILL/themes/base/window/window.css index 3a9094dc4c..75bd915a7b 100644 --- a/WebContent/ITMILL/themes/base/window/window.css +++ b/WebContent/ITMILL/themes/base/window/window.css @@ -13,6 +13,7 @@ div.i-window-header { white-space: nowrap; text-overflow: ellipsis; + -ms-text-overflow: ellipsis; overflow: hidden; padding: 0; } diff --git a/WebContent/ITMILL/themes/default/common/common.css b/WebContent/ITMILL/themes/default/common/common.css index 9629875244..a4e3f82612 100644 --- a/WebContent/ITMILL/themes/default/common/common.css +++ b/WebContent/ITMILL/themes/default/common/common.css @@ -14,6 +14,8 @@ background-position: 50%; } /* Global font styles */ +.i-window, +.i-popupview-popup, .i-app input, .i-app select, .i-app button, diff --git a/WebContent/ITMILL/themes/default/panel/panel.css b/WebContent/ITMILL/themes/default/panel/panel.css index 47a2cbebaf..55b435a3eb 100644 --- a/WebContent/ITMILL/themes/default/panel/panel.css +++ b/WebContent/ITMILL/themes/default/panel/panel.css @@ -82,15 +82,18 @@ background: transparent; } .i-ie6 .i-panel-content, -.i-ie7 .i-panel-content { +.i-ie7 .i-panel-content, +.i-ie8 .i-panel-content { border-bottom: 1px solid #babfc0; } .i-ie6 .i-panel-content-light, -.i-ie7 .i-panel-content-light { +.i-ie7 .i-panel-content-light, +.i-ie8 .i-panel-content-light { border-bottom: none; } .i-ie6 .i-panel-deco, -.i-ie7 .i-panel-deco { +.i-ie7 .i-panel-deco, +.i-ie8 .i-panel-deco { height: 0; overflow: hidden; } \ No newline at end of file diff --git a/WebContent/ITMILL/themes/default/styles.css b/WebContent/ITMILL/themes/default/styles.css index c453d0ae46..4e262aa44b 100644 --- a/WebContent/ITMILL/themes/default/styles.css +++ b/WebContent/ITMILL/themes/default/styles.css @@ -40,6 +40,9 @@ white-space: nowrap; margin: 0; } +.i-button span { + white-space: nowrap; +} .i-checkbox input { vertical-align: middle; } @@ -49,7 +52,8 @@ vertical-align: middle; margin-right: 3px; } -.i-button span, .i-checkbox label { +.i-button span, +.i-checkbox label { vertical-align: middle; } .i-button-link { @@ -74,22 +78,17 @@ padding-left: 1em; background-position: left; } - -/* Fixes streched buttons in IE6 */ +/* Fixes streched buttons in IE6 and IE7*/ .i-ie6 .i-button { width: 1px; - overflow: visible; - padding-left: 1em; - padding-right: 1em; } - -/* Fixes streched buttons in IE7 */ -.i-ie7 .i-button { +.i-ie6 .i-button, +.i-ie7 .i-button, +.i-ie8 .i-button { overflow: visible; padding-left: 1em; padding-right: 1em; } - /* Error indicator on checkbox fix for IE6 */ .i-ie6 .i-checkbox * { float: left; @@ -102,32 +101,30 @@ padding-left: 0; padding-right: 0.4em; } - /* Error indicator on checkbox fix for IE7 */ -.i-ie7 .i-checkbox * { +.i-ie7 .i-checkbox *, +.i-ie8 .i-checkbox * { float: left; } -.i-ie7 .i-checkbox .i-errorindicator { +.i-ie7 .i-checkbox .i-errorindicator, +.i-ie8 .i-checkbox .i-errorindicator { background-position: right; float: left; padding-left: 0; padding-right: 0.7em; } - /* Error indicator on button fix for IE */ .i-ie6 button .i-errorindicator, -.i-ie7 button .i-errorindicator { +.i-ie7 button .i-errorindicator, +.i-ie8 button .i-errorindicator { display: inline; padding-right: 0.5em; } - - /* Disabled by default .i-checkbox-error { background: #ffe0e0; } */ - /* Disabled by default .i-checkbox-required { background: #ffe0e0; @@ -1418,6 +1415,7 @@ div.i-tree-node-leaf { div.i-window-header { white-space: nowrap; text-overflow: ellipsis; + -ms-text-overflow: ellipsis; overflow: hidden; padding: 0; } @@ -1634,6 +1632,8 @@ div.i-window-header { background-position: 50%; } /* Global font styles */ +.i-window, +.i-popupview-popup, .i-app input, .i-app select, .i-app button, @@ -2174,15 +2174,18 @@ div.i-window-header { background: transparent; } .i-ie6 .i-panel-content, -.i-ie7 .i-panel-content { +.i-ie7 .i-panel-content, +.i-ie8 .i-panel-content { border-bottom: 1px solid #babfc0; } .i-ie6 .i-panel-content-light, -.i-ie7 .i-panel-content-light { +.i-ie7 .i-panel-content-light, +.i-ie8 .i-panel-content-light { border-bottom: none; } .i-ie6 .i-panel-deco, -.i-ie7 .i-panel-deco { +.i-ie7 .i-panel-deco, +.i-ie8 .i-panel-deco { height: 0; overflow: hidden; } @@ -2849,12 +2852,10 @@ div.i-window-header { padding-top: 12px; } /* IE specific styles */ -.i-ie6 .i-tabsheet-tabs, -.i-ie7 .i-tabsheet-tabs { +.i-ie6 .i-tabsheet-tabs { height: 46px; } -.i-ie6 .i-tabsheet-tabitem-selected, -.i-ie7 .i-tabsheet-tabitem-selected { +.i-ie6 .i-tabsheet-tabitem-selected { border: 1px solid #babfc0; border-bottom: none; background: #fff; @@ -2864,24 +2865,26 @@ div.i-window-header { cursor: default; color: #ee5311; } -.i-ie6 .i-tabsheet-tabitem-selected .i-caption, -.i-ie7 .i-tabsheet-tabitem-selected .i-caption { +.i-ie6 .i-tabsheet-tabitem-selected .i-caption { background: transparent; padding: 0; margin: 0; } .i-ie6 .i-tabsheet-content, -.i-ie7 .i-tabsheet-content { +.i-ie7 .i-tabsheet-content, +.i-ie8 .i-tabsheet-content { border-bottom: none; } .i-ie6 .i-tabsheet-deco, -.i-ie7 .i-tabsheet-deco { +.i-ie7 .i-tabsheet-deco, +.i-ie8 .i-tabsheet-deco { height: 1px; background: #babfc0; overflow: hidden; margin: 0; } -.i-ie7 .i-tabsheet-deco { +.i-ie7 .i-tabsheet-deco, +.i-ie8 .i-tabsheet-deco { width: 100%; } /* Light-style */ @@ -2995,7 +2998,8 @@ div.i-window-header { padding: 9px 11px 0 11px; } .i-ie6 .i-tabsheet-deco-light, -.i-ie6 .i-tabsheet-deco-light { +.i-ie7 .i-tabsheet-deco-light, +.i-ie8 .i-tabsheet-deco-light { height: 0; } diff --git a/WebContent/ITMILL/themes/default/tabsheet/tabsheet.css b/WebContent/ITMILL/themes/default/tabsheet/tabsheet.css index 7ae7fd6d7a..3dd1f6ffec 100644 --- a/WebContent/ITMILL/themes/default/tabsheet/tabsheet.css +++ b/WebContent/ITMILL/themes/default/tabsheet/tabsheet.css @@ -117,12 +117,10 @@ padding-top: 12px; } /* IE specific styles */ -.i-ie6 .i-tabsheet-tabs, -.i-ie7 .i-tabsheet-tabs { +.i-ie6 .i-tabsheet-tabs { height: 46px; } -.i-ie6 .i-tabsheet-tabitem-selected, -.i-ie7 .i-tabsheet-tabitem-selected { +.i-ie6 .i-tabsheet-tabitem-selected { border: 1px solid #babfc0; border-bottom: none; background: #fff; @@ -132,24 +130,26 @@ cursor: default; color: #ee5311; } -.i-ie6 .i-tabsheet-tabitem-selected .i-caption, -.i-ie7 .i-tabsheet-tabitem-selected .i-caption { +.i-ie6 .i-tabsheet-tabitem-selected .i-caption { background: transparent; padding: 0; margin: 0; } .i-ie6 .i-tabsheet-content, -.i-ie7 .i-tabsheet-content { +.i-ie7 .i-tabsheet-content, +.i-ie8 .i-tabsheet-content { border-bottom: none; } .i-ie6 .i-tabsheet-deco, -.i-ie7 .i-tabsheet-deco { +.i-ie7 .i-tabsheet-deco, +.i-ie8 .i-tabsheet-deco { height: 1px; background: #babfc0; overflow: hidden; margin: 0; } -.i-ie7 .i-tabsheet-deco { +.i-ie7 .i-tabsheet-deco, +.i-ie8 .i-tabsheet-deco { width: 100%; } /* Light-style */ @@ -263,6 +263,7 @@ padding: 9px 11px 0 11px; } .i-ie6 .i-tabsheet-deco-light, -.i-ie6 .i-tabsheet-deco-light { +.i-ie7 .i-tabsheet-deco-light, +.i-ie8 .i-tabsheet-deco-light { height: 0; } \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/button/button.css b/WebContent/ITMILL/themes/reindeer/button/button.css index e69de29bb2..cef518e073 100644 --- a/WebContent/ITMILL/themes/reindeer/button/button.css +++ b/WebContent/ITMILL/themes/reindeer/button/button.css @@ -0,0 +1,139 @@ +/** sprite: buttons; sprite-image: url('img/buttons.png'); sprite-layout: vertical */ + +/* IE6 gets native buttons, since it doesn't support the adjacent child selector (>) that is needed to position i-icon properly */ +div > .i-button, +.i-ie7 .i-button, +.i-ie8 .i-button { + height: 26px; + padding: 0 0 0 6px; + background-color: transparent; + background-repeat: none; + background-image: url(img/left.png); /** sprite-ref: buttons */ + border: none; + cursor: default; +} +div > .i-button span, +.i-ie7 .i-button span, +.i-ie8 .i-button span { + display: inline-block; + height: 21px; + padding: 5px 15px 0 9px; + background-color: transparent; + background-repeat: no-repeat; + background-position: right top; + background-image: url(img/right.png); /** sprite-ref: buttons; sprite-alignment: right */ + text-shadow: #fff 0 1px 0; + font-weight: bold; + float: none; + line-height: 16px; +} +.i-ie7 .i-button span, +.i-ie8 .i-button span { + padding: 5px 15px 0 9px; + height: 21px; +} +.i-button:focus { + background-image: url(img/left-focus.png); /** sprite-ref: buttons */ + outline: none; +} +.i-button:focus span { + background-image: url(img/right-focus.png); /** sprite-ref: buttons; sprite-alignment: right */ + outline: none; +} +.i-button:active { + background-image: url(img/left-pressed.png); /** sprite-ref: buttons */ + outline: none; +} +.i-button:active span { + background-image: url(img/right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ + outline: none; +} +/* FF3 & FF2 */ +.i-button::-moz-focus-inner { + border: none; + padding: 0; +} +.i-ff2 .i-button span { + display: -moz-inline-box; +} +/* IE7 */ +.i-ie7 .i-button.i-pressed, +.i-ie8 .i-button.i-pressed { + background-image: url(img/left-pressed.png); /** sprite-ref: buttons */ +} +.i-ie7 .i-button.i-pressed span, +.i-ie8 .i-button.i-pressed span { + background-image: url(img/right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ + position: relative; +} +.i-ie7 .i-button.i-pressed .i-icon, +.i-ie8 .i-button.i-pressed .i-icon { + position: relative; + z-index: 2; +} +/* IE8 */ +/* TODO +.i-ie8 .i-button:active { + background-position: 1px -39px; +} +.i-ie8 .i-button:active span { + position: relative; +} +*/ +/* Opera */ +.i-op .i-button:active span { + margin-top: -1px; + margin-left: -1px; +} +/* Modifications for buttons with icons */ +div > .i-button .i-icon, +.i-ie7 .i-button .i-icon, +.i-ie8 .i-button .i-icon { + display: inline-block; + width: 16px; + height: 16px; + overflow: hidden; + position: relative; + margin: 0 3px 0 0; +} +.i-ff2 .i-button .i-icon { + display: block; + float: left; + margin-top: 4px; +} +.i-ff2 .i-button-link .i-icon { + margin: 0; +} +.i-button .i-icon + span { + margin-left: -19px; + padding-left: 19px; +} +.i-ie7 .i-button .i-icon + span, +.i-ie8 .i-button .i-icon + span { + margin-left: -23px; + padding-left: 23px; +} +/* Link style buttons */ +.i-button.i-button-link, +.i-ie .i-button-link.i-pressed { + background: transparent; + height: auto; + padding: 0; + cursor: pointer; +} +.i-button.i-button-link span, +.i-ie .i-button-link.i-pressed span { + background: transparent; + height: auto; + padding: 0; + display: inline; + font-weight: normal; + color: #1b699f; +} +.i-button.i-button-link .i-icon + span { + margin: 0; + padding: 0; +} +.i-button-link:focus { + outline: 1px dotted #1b699f; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/button/img/left-focus.png b/WebContent/ITMILL/themes/reindeer/button/img/left-focus.png new file mode 100644 index 0000000000..636cf840c3 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/left-focus.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/left-pressed.png b/WebContent/ITMILL/themes/reindeer/button/img/left-pressed.png new file mode 100644 index 0000000000..e70f56b84b Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/left-pressed.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/left.png b/WebContent/ITMILL/themes/reindeer/button/img/left.png new file mode 100644 index 0000000000..c4209e8119 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/left.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/right-focus.png b/WebContent/ITMILL/themes/reindeer/button/img/right-focus.png new file mode 100644 index 0000000000..dbb0677ac7 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/right-focus.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/right-pressed.png b/WebContent/ITMILL/themes/reindeer/button/img/right-pressed.png new file mode 100644 index 0000000000..0a99111e60 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/right-pressed.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/right.png b/WebContent/ITMILL/themes/reindeer/button/img/right.png new file mode 100644 index 0000000000..e70a7be739 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/right.png differ diff --git a/WebContent/ITMILL/themes/reindeer/common/common.css b/WebContent/ITMILL/themes/reindeer/common/common.css new file mode 100644 index 0000000000..7d3e413978 --- /dev/null +++ b/WebContent/ITMILL/themes/reindeer/common/common.css @@ -0,0 +1,45 @@ +.i-generated-body, +.i-app { + background: #f5f5f5; +} +/* Global font styles */ +.i-app, +.i-window, +.i-popupview-popup, +.i-tooltip, +.i-app input, +.i-app select, +.i-app button, +.i-app textarea, +.i-window input, +.i-window select, +.i-window button, +.i-window textarea, +.i-popupview-popup input, +.i-popupview-popup select, +.i-popupview-popup button, +.i-popupview-popup textarea { + font-family: Arial, Helvetica, Tahoma, Verdana, sans-serif; + font-size: 12px; + line-height: normal; + color: #222; +} +/* Fonts for Safari, exchange Helvetica for Arial */ +.i-sa .i-app, +.i-sa .i-window, +.i-sa .i-popupview-popup, +.i-sa .i-tooltip, +.i-sa .i-app input, +.i-sa .i-app select, +.i-sa .i-app button, +.i-sa .i-app textarea, +.i-sa .i-window input, +.i-sa .i-window select, +.i-sa .i-window button, +.i-sa .i-window textarea, +.i-sa .i-popupview-popup input, +.i-sa .i-popupview-popup select, +.i-sa .i-popupview-popup button, +.i-sa .i-popupview-popup textarea { + font-family: Helvetica, Arial, "Lucida Grande", Geneva, Tahoma, Verdana, sans-serif; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/styles.css b/WebContent/ITMILL/themes/reindeer/styles.css index b759ebdd20..1906b69143 100644 --- a/WebContent/ITMILL/themes/reindeer/styles.css +++ b/WebContent/ITMILL/themes/reindeer/styles.css @@ -40,6 +40,9 @@ white-space: nowrap; margin: 0; } +.i-button span { + white-space: nowrap; +} .i-checkbox input { vertical-align: middle; } @@ -49,7 +52,8 @@ vertical-align: middle; margin-right: 3px; } -.i-button span, .i-checkbox label { +.i-button span, +.i-checkbox label { vertical-align: middle; } .i-button-link { @@ -74,22 +78,17 @@ padding-left: 1em; background-position: left; } - -/* Fixes streched buttons in IE6 */ +/* Fixes streched buttons in IE6 and IE7*/ .i-ie6 .i-button { width: 1px; - overflow: visible; - padding-left: 1em; - padding-right: 1em; } - -/* Fixes streched buttons in IE7 */ -.i-ie7 .i-button { +.i-ie6 .i-button, +.i-ie7 .i-button, +.i-ie8 .i-button { overflow: visible; padding-left: 1em; padding-right: 1em; } - /* Error indicator on checkbox fix for IE6 */ .i-ie6 .i-checkbox * { float: left; @@ -102,32 +101,30 @@ padding-left: 0; padding-right: 0.4em; } - /* Error indicator on checkbox fix for IE7 */ -.i-ie7 .i-checkbox * { +.i-ie7 .i-checkbox *, +.i-ie8 .i-checkbox * { float: left; } -.i-ie7 .i-checkbox .i-errorindicator { +.i-ie7 .i-checkbox .i-errorindicator, +.i-ie8 .i-checkbox .i-errorindicator { background-position: right; float: left; padding-left: 0; padding-right: 0.7em; } - /* Error indicator on button fix for IE */ .i-ie6 button .i-errorindicator, -.i-ie7 button .i-errorindicator { +.i-ie7 button .i-errorindicator, +.i-ie8 button .i-errorindicator { display: inline; padding-right: 0.5em; } - - /* Disabled by default .i-checkbox-error { background: #ffe0e0; } */ - /* Disabled by default .i-checkbox-required { background: #ffe0e0; @@ -1418,6 +1415,7 @@ div.i-tree-node-leaf { div.i-window-header { white-space: nowrap; text-overflow: ellipsis; + -ms-text-overflow: ellipsis; overflow: hidden; padding: 0; } @@ -1555,3 +1553,182 @@ div.i-window-header { /* Automatically compiled css file from subdirectories. */ /* ./WebContent/ITMILL/themes/reindeer/button/button.css */ +/* IE6 gets native buttons, since it doesn't support the adjacent child selector (>) that is needed to position i-icon properly */ +div > .i-button, +.i-ie7 .i-button, +.i-ie8 .i-button { + height: 26px; + padding: 0 0 0 6px; /* Left side padding width the same amount as left.png */ + background: transparent url(button/img/left.png) no-repeat; + border: none; + cursor: default; +} +div > .i-button span, +.i-ie7 .i-button span, +.i-ie8 .i-button span { + display: inline-block; + height: 21px; + padding: 5px 15px 0 9px; + background: transparent url(button/img/right.png) no-repeat right top; + text-shadow: #fff 0 1px 0; + font-weight: bold; + float: none; + line-height: 16px; +} +.i-ie7 .i-button span, +.i-ie8 .i-button span { + padding: 5px 15px 0 9px; + height: 21px; +} +.i-button:focus { + background-image: url(button/img/left-focus.png); + outline: none; +} +.i-button:focus span { + background-image: url(button/img/right-focus.png); + outline: none; +} +.i-button:active { + background-image: url(button/img/left-pressed.png); + outline: none; +} +.i-button:active span { + background-image: url(button/img/right-pressed.png); + outline: none; +} +/* FF3 & FF2 */ +.i-button::-moz-focus-inner { + border: none; + padding: 0; +} +.i-ff2 .i-button span { + display: -moz-inline-box; +} +/* IE7 */ +.i-ie7 .i-button.i-pressed, +.i-ie8 .i-button.i-pressed { + background-image: url(button/img/left-pressed.png); +} +.i-ie7 .i-button.i-pressed span, +.i-ie8 .i-button.i-pressed span { + background-image: url(button/img/right-pressed.png); + position: relative; +} +.i-ie7 .i-button.i-pressed .i-icon, +.i-ie8 .i-button.i-pressed .i-icon { + position: relative; + z-index: 2; +} +/* IE8 */ +/* TODO +.i-ie8 .i-button:active { + background-position: 1px -39px; +} +.i-ie8 .i-button:active span { + position: relative; +} +*/ +/* Opera */ +.i-op .i-button:active span { + margin-top: -1px; + margin-left: -1px; +} +/* Modifications for buttons with icons */ +div > .i-button .i-icon, +.i-ie7 .i-button .i-icon, +.i-ie8 .i-button .i-icon { + display: inline-block; + width: 16px; + height: 16px; + overflow: hidden; + position: relative; + margin: 0 3px 0 0; +} +.i-ff2 .i-button .i-icon { + display: block; + float: left; + margin-top: 4px; +} +.i-ff2 .i-button-link .i-icon { + margin: 0; +} +.i-button .i-icon + span { + margin-left: -19px; + padding-left: 19px; +} +.i-ie7 .i-button .i-icon + span, +.i-ie8 .i-button .i-icon + span { + margin-left: -23px; + padding-left: 23px; +} +/* Link style buttons */ +.i-button.i-button-link, +.i-ie .i-button-link.i-pressed { + background: transparent; + height: auto; + padding: 0; + cursor: pointer; +} +.i-button.i-button-link span, +.i-ie .i-button-link.i-pressed span { + background: transparent; + height: auto; + padding: 0; + display: inline; + font-weight: normal; + color: #1b699f; +} +.i-button.i-button-link .i-icon + span { + margin: 0; + padding: 0; +} +.i-button-link:focus { + outline: 1px dotted #1b699f; +} + +/* ./WebContent/ITMILL/themes/reindeer/common/common.css */ +.i-generated-body, +.i-app { + background: #f5f5f5; +} +/* Global font styles */ +.i-app, +.i-window, +.i-popupview-popup, +.i-tooltip, +.i-app input, +.i-app select, +.i-app button, +.i-app textarea, +.i-window input, +.i-window select, +.i-window button, +.i-window textarea, +.i-popupview-popup input, +.i-popupview-popup select, +.i-popupview-popup button, +.i-popupview-popup textarea { + font-family: Arial, Helvetica, Tahoma, Verdana, sans-serif; + font-size: 12px; + line-height: normal; + color: #222; +} +/* Fonts for Safari, exchange Helvetica for Arial */ +.i-sa .i-app, +.i-sa .i-window, +.i-sa .i-popupview-popup, +.i-sa .i-tooltip, +.i-sa .i-app input, +.i-sa .i-app select, +.i-sa .i-app button, +.i-sa .i-app textarea, +.i-sa .i-window input, +.i-sa .i-window select, +.i-sa .i-window button, +.i-sa .i-window textarea, +.i-sa .i-popupview-popup input, +.i-sa .i-popupview-popup select, +.i-sa .i-popupview-popup button, +.i-sa .i-popupview-popup textarea { + font-family: Helvetica, Arial, "Lucida Grande", Geneva, Tahoma, Verdana, sans-serif; +} diff --git a/WebContent/ITMILL/themes/sampler/sampler/styles.css b/WebContent/ITMILL/themes/sampler/sampler/styles.css index 8e68b5f97e..6e6144d639 100644 --- a/WebContent/ITMILL/themes/sampler/sampler/styles.css +++ b/WebContent/ITMILL/themes/sampler/sampler/styles.css @@ -143,13 +143,14 @@ display: block; height: 24px; background-repeat: no-repeat; - background-position: 50% 40%; + background-position: 50% 30%; } .i-app-SamplerApplication .i-horizontallayout-segment .i-button-tree-switch span { background-image: url(tree.png); } .i-app-SamplerApplication .i-horizontallayout-segment .i-popupview span { background-image: url(magnifier.png); + background-position: 50% 40%; } .i-app-SamplerApplication .i-horizontallayout-segment .i-button-previous span { background-image: url(prev.png); @@ -303,8 +304,9 @@ text-shadow: 0 1px 0 #272a2b; background: transparent url(info-bubble-top.png); margin: 0; - padding-bottom: 10px; + padding-bottom: 12px; padding-left: 28px; + padding-top: 15px; } .i-app-SamplerApplication .feature-info .i-panel-content { background: transparent url(info-bubble-top.png) no-repeat 0 -44px; diff --git a/WebContent/ITMILL/themes/sampler/styles.css b/WebContent/ITMILL/themes/sampler/styles.css index bcd1cfab44..2707893d3d 100644 --- a/WebContent/ITMILL/themes/sampler/styles.css +++ b/WebContent/ITMILL/themes/sampler/styles.css @@ -1,4 +1,4 @@ -@import url(../default/styles.css); +@import url(../reindeer/styles.css); @import url(sampler/styles.css); -- cgit v1.2.3 From dcce94df7de1106d74d9338beb41a06c9583aa38 Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Wed, 6 May 2009 11:15:32 +0000 Subject: "Poro" theme improvements. Now includes three different button styles :) svn changeset:7638/svn branch:theme_2009_03 --- WebContent/ITMILL/themes/base/common/common.css | 6 +- WebContent/ITMILL/themes/base/styles.css | 6 +- WebContent/ITMILL/themes/default/styles.css | 6 +- .../ITMILL/themes/reindeer/button/button.css | 172 +++++++++--- .../reindeer/button/img/primary-left-focus.png | Bin 0 -> 541 bytes .../reindeer/button/img/primary-left-pressed.png | Bin 0 -> 385 bytes .../themes/reindeer/button/img/primary-left.png | Bin 0 -> 465 bytes .../reindeer/button/img/primary-right-focus.png | Bin 0 -> 786 bytes .../reindeer/button/img/primary-right-pressed.png | Bin 0 -> 628 bytes .../themes/reindeer/button/img/primary-right.png | Bin 0 -> 833 bytes .../reindeer/button/img/small-left-focus.png | Bin 0 -> 443 bytes .../reindeer/button/img/small-left-pressed.png | Bin 0 -> 302 bytes .../themes/reindeer/button/img/small-left.png | Bin 0 -> 324 bytes .../reindeer/button/img/small-right-focus.png | Bin 0 -> 656 bytes .../reindeer/button/img/small-right-pressed.png | Bin 0 -> 483 bytes .../themes/reindeer/button/img/small-right.png | Bin 0 -> 513 bytes WebContent/ITMILL/themes/reindeer/label/label.css | 26 ++ .../ITMILL/themes/reindeer/layouts/layouts.css | 26 ++ WebContent/ITMILL/themes/reindeer/panel/panel.css | 35 +++ WebContent/ITMILL/themes/reindeer/styles.css | 312 +++++++++++++++++---- .../ITMILL/themes/reindeer/tabsheet/tabsheet.css | 22 ++ 21 files changed, 504 insertions(+), 107 deletions(-) create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/primary-left-focus.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/primary-left-pressed.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/primary-left.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/primary-right-focus.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/primary-right-pressed.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/primary-right.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/small-left-focus.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/small-left-pressed.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/small-left.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/small-right-focus.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/small-right-pressed.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/small-right.png create mode 100644 WebContent/ITMILL/themes/reindeer/label/label.css create mode 100644 WebContent/ITMILL/themes/reindeer/layouts/layouts.css create mode 100644 WebContent/ITMILL/themes/reindeer/panel/panel.css create mode 100644 WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css (limited to 'WebContent') diff --git a/WebContent/ITMILL/themes/base/common/common.css b/WebContent/ITMILL/themes/base/common/common.css index 6678aadea9..ab15255688 100644 --- a/WebContent/ITMILL/themes/base/common/common.css +++ b/WebContent/ITMILL/themes/base/common/common.css @@ -52,11 +52,7 @@ .i-window select { margin: 0; } -.i-disabled -/*, -.i-app .i-disabled, -.i-window .i-disabled, -.i-popupview-popup .i-disabled*/ { +.i-disabled { opacity: .3; filter: alpha(opacity=30); cursor: default; diff --git a/WebContent/ITMILL/themes/base/styles.css b/WebContent/ITMILL/themes/base/styles.css index 3a7f29ea22..a7b8129611 100644 --- a/WebContent/ITMILL/themes/base/styles.css +++ b/WebContent/ITMILL/themes/base/styles.css @@ -219,11 +219,7 @@ .i-window select { margin: 0; } -.i-disabled -/*, -.i-app .i-disabled, -.i-window .i-disabled, -.i-popupview-popup .i-disabled*/ { +.i-disabled { opacity: .3; filter: alpha(opacity=30); cursor: default; diff --git a/WebContent/ITMILL/themes/default/styles.css b/WebContent/ITMILL/themes/default/styles.css index 4e262aa44b..cc59ab2e46 100644 --- a/WebContent/ITMILL/themes/default/styles.css +++ b/WebContent/ITMILL/themes/default/styles.css @@ -219,11 +219,7 @@ .i-window select { margin: 0; } -.i-disabled -/*, -.i-app .i-disabled, -.i-window .i-disabled, -.i-popupview-popup .i-disabled*/ { +.i-disabled { opacity: .3; filter: alpha(opacity=30); cursor: default; diff --git a/WebContent/ITMILL/themes/reindeer/button/button.css b/WebContent/ITMILL/themes/reindeer/button/button.css index cef518e073..b0156f0aae 100644 --- a/WebContent/ITMILL/themes/reindeer/button/button.css +++ b/WebContent/ITMILL/themes/reindeer/button/button.css @@ -1,36 +1,36 @@ -/** sprite: buttons; sprite-image: url('img/buttons.png'); sprite-layout: vertical */ +/** sprite: buttons; sprite-image: url(img/buttons.png); sprite-layout: vertical */ -/* IE6 gets native buttons, since it doesn't support the adjacent child selector (>) that is needed to position i-icon properly */ +/* We serve simpler buttons for IE6, since it doesn't support the adjacent + * sibling selector (+) that is needed to position .i-icon properly. + */ div > .i-button, -.i-ie7 .i-button, -.i-ie8 .i-button { +.i-ie7 .i-button { height: 26px; padding: 0 0 0 6px; background-color: transparent; - background-repeat: none; + background-repeat: no-repeat; background-image: url(img/left.png); /** sprite-ref: buttons */ border: none; cursor: default; } div > .i-button span, -.i-ie7 .i-button span, -.i-ie8 .i-button span { +.i-ie7 .i-button span { display: inline-block; - height: 21px; - padding: 5px 15px 0 9px; + height: 22px; + padding: 4px 15px 0 9px; background-color: transparent; background-repeat: no-repeat; background-position: right top; background-image: url(img/right.png); /** sprite-ref: buttons; sprite-alignment: right */ text-shadow: #fff 0 1px 0; font-weight: bold; - float: none; + font-size: 11px; line-height: 16px; + float: none; } -.i-ie7 .i-button span, -.i-ie8 .i-button span { - padding: 5px 15px 0 9px; +.i-sa .i-button span { height: 21px; + padding-top: 5px; } .i-button:focus { background-image: url(img/left-focus.png); /** sprite-ref: buttons */ @@ -40,14 +40,19 @@ div > .i-button span, background-image: url(img/right-focus.png); /** sprite-ref: buttons; sprite-alignment: right */ outline: none; } -.i-button:active { +.i-button:active, +.i-ie7 .i-button.i-pressed { background-image: url(img/left-pressed.png); /** sprite-ref: buttons */ outline: none; } -.i-button:active span { +.i-button:active span, +.i-ie7 .i-button.i-pressed span { background-image: url(img/right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ outline: none; } +.i-ie7 .i-button.i-pressed span { + position: relative; +} /* FF3 & FF2 */ .i-button::-moz-focus-inner { border: none; @@ -57,29 +62,10 @@ div > .i-button span, display: -moz-inline-box; } /* IE7 */ -.i-ie7 .i-button.i-pressed, -.i-ie8 .i-button.i-pressed { - background-image: url(img/left-pressed.png); /** sprite-ref: buttons */ -} -.i-ie7 .i-button.i-pressed span, -.i-ie8 .i-button.i-pressed span { - background-image: url(img/right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ - position: relative; -} -.i-ie7 .i-button.i-pressed .i-icon, -.i-ie8 .i-button.i-pressed .i-icon { +.i-ie7 .i-button.i-pressed .i-icon { position: relative; z-index: 2; } -/* IE8 */ -/* TODO -.i-ie8 .i-button:active { - background-position: 1px -39px; -} -.i-ie8 .i-button:active span { - position: relative; -} -*/ /* Opera */ .i-op .i-button:active span { margin-top: -1px; @@ -87,8 +73,7 @@ div > .i-button span, } /* Modifications for buttons with icons */ div > .i-button .i-icon, -.i-ie7 .i-button .i-icon, -.i-ie8 .i-button .i-icon { +.i-ie7 .i-button .i-icon { display: inline-block; width: 16px; height: 16px; @@ -104,25 +89,44 @@ div > .i-button .i-icon, .i-ff2 .i-button-link .i-icon { margin: 0; } -.i-button .i-icon + span { +.i-button .i-icon + span, +.i-button .i-icon + .i-errorindicator + span { margin-left: -19px; padding-left: 19px; } .i-ie7 .i-button .i-icon + span, -.i-ie8 .i-button .i-icon + span { +.i-ie7 .i-button .i-icon + .i-errorindicator + span { margin-left: -23px; padding-left: 23px; } +/* Buttons with error indicator */ +div > .i-button .i-errorindicator, +.i-ie7 .i-button .i-errorindicator { + display: inline; + position: absolute; + width: 5px; + height: 26px; + background: transparent url(../../default/icons/16/error.png) no-repeat 50%; + overflow: hidden; +} +.i-ie6 .i-button .i-errorindicator { + position: absolute; + width: 5px; + height: 18px; + background: transparent url(../../default/icons/16/error.gif) no-repeat 50%; + overflow: hidden; + margin-left: -10px; +} /* Link style buttons */ .i-button.i-button-link, -.i-ie .i-button-link.i-pressed { +.i-ie7 .i-button-link.i-pressed { background: transparent; height: auto; padding: 0; cursor: pointer; } .i-button.i-button-link span, -.i-ie .i-button-link.i-pressed span { +.i-ie7 .i-button-link.i-pressed span { background: transparent; height: auto; padding: 0; @@ -136,4 +140,90 @@ div > .i-button .i-icon, } .i-button-link:focus { outline: 1px dotted #1b699f; +} +/** + * Default action button style -------------------------- + */ +div > .i-button-primary, +.i-ie7 .i-button-primary { + background-image: url(img/primary-left.png); /** sprite-ref: buttons */ +} +div > .i-button-primary span, +.i-ie7 .i-button-primary span { + background-image: url(img/primary-right.png); /** sprite-ref: buttons; sprite-alignment: right */ +} +.i-button-primary:focus { + background-image: url(img/primary-left-focus.png); /** sprite-ref: buttons */ +} +.i-button-primary:focus span { + background-image: url(img/primary-right-focus.png); /** sprite-ref: buttons; sprite-alignment: right */ +} +.i-button-primary:active, +.i-ie7 .i-button-primary.i-pressed { + background-image: url(img/primary-left-pressed.png); /** sprite-ref: buttons */ +} +.i-button-primary:active span, +.i-ie7 .i-button-primary.i-pressed span { + background-image: url(img/primary-right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ +} +/* + * Small-style -------------------------- + */ +div > .i-button-small, +.i-ie7 .i-button-small { + background-image: url(img/small-left.png); /** sprite-ref: buttons */ + height: 20px; +} +div > .i-button-small span, +.i-ie7 .i-button-small span { + background-image: url(img/small-right.png); /** sprite-ref: buttons; sprite-alignment: right */ + height: 19px; + padding: 1px 11px 0 5px; + font-weight: normal; +} +.i-sa .i-button-small span { + height: 18px; + padding-top: 2px; +} +.i-button-small:focus { + background-image: url(img/small-left-focus.png); /** sprite-ref: buttons */ +} +.i-button-small:focus span { + background-image: url(img/small-right-focus.png); /** sprite-ref: buttons; sprite-alignment: right */ +} +.i-button-small:active, +.i-ie7 .i-button-small.i-pressed { + background-image: url(img/small-left-pressed.png); /** sprite-ref: buttons */ +} +.i-button-small:active span, +.i-ie7 .i-button-small.i-pressed span { + background-image: url(img/small-right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ +} + +/** + * IE6 buttons -------------------------- + */ +.i-ie6 .i-button { + border: 1px solid #b3b3b3; + border-bottom-color: #9a9a9a; + background: transparent url(img/right.png) no-repeat 0 -1px; + padding: 3px 15px 2px 15px; + font-weight: bold; + font-size: 11px; + line-height: 16px; + height: 16px; + outline: none; +} +.i-ie6 .i-button-primary { + background-image: url(img/primary-right.png); +} +.i-ie6 .i-button-small { + font-weight: normal; + padding: 1px 11px 0 11px; + height: 12px; + line-height: normal; + background-image: url(img/small-right.png); +} +.i-ie6 .i-button.i-pressed { + background: transparent url(img/right-pressed.png) no-repeat 0 -1px; } \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/button/img/primary-left-focus.png b/WebContent/ITMILL/themes/reindeer/button/img/primary-left-focus.png new file mode 100644 index 0000000000..7952ae5022 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/primary-left-focus.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/primary-left-pressed.png b/WebContent/ITMILL/themes/reindeer/button/img/primary-left-pressed.png new file mode 100644 index 0000000000..7ff5296025 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/primary-left-pressed.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/primary-left.png b/WebContent/ITMILL/themes/reindeer/button/img/primary-left.png new file mode 100644 index 0000000000..abb6bcc5af Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/primary-left.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/primary-right-focus.png b/WebContent/ITMILL/themes/reindeer/button/img/primary-right-focus.png new file mode 100644 index 0000000000..5fef4143e6 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/primary-right-focus.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/primary-right-pressed.png b/WebContent/ITMILL/themes/reindeer/button/img/primary-right-pressed.png new file mode 100644 index 0000000000..3c11bb3814 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/primary-right-pressed.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/primary-right.png b/WebContent/ITMILL/themes/reindeer/button/img/primary-right.png new file mode 100644 index 0000000000..c304c9cfdf Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/primary-right.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/small-left-focus.png b/WebContent/ITMILL/themes/reindeer/button/img/small-left-focus.png new file mode 100644 index 0000000000..96408f225f Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/small-left-focus.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/small-left-pressed.png b/WebContent/ITMILL/themes/reindeer/button/img/small-left-pressed.png new file mode 100644 index 0000000000..90f0d5cbef Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/small-left-pressed.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/small-left.png b/WebContent/ITMILL/themes/reindeer/button/img/small-left.png new file mode 100644 index 0000000000..4efaa98ac2 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/small-left.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/small-right-focus.png b/WebContent/ITMILL/themes/reindeer/button/img/small-right-focus.png new file mode 100644 index 0000000000..8a0c5cac33 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/small-right-focus.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/small-right-pressed.png b/WebContent/ITMILL/themes/reindeer/button/img/small-right-pressed.png new file mode 100644 index 0000000000..18e6c6ace1 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/small-right-pressed.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/small-right.png b/WebContent/ITMILL/themes/reindeer/button/img/small-right.png new file mode 100644 index 0000000000..a9abdc5cf1 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/small-right.png differ diff --git a/WebContent/ITMILL/themes/reindeer/label/label.css b/WebContent/ITMILL/themes/reindeer/label/label.css new file mode 100644 index 0000000000..44ea2112ac --- /dev/null +++ b/WebContent/ITMILL/themes/reindeer/label/label.css @@ -0,0 +1,26 @@ +.i-label { + line-height: 18px; +} +.i-label-h1, +.i-label-h2, +.i-caption-h1, +.i-caption-h2 { + font-size: 24px; + line-height: 30px; + font-weight: bold; + color: #44698b; +} +.i-ie6 .i-label-h1 { + font-size: 1px; + line-height: normal; +} +.i-label-h2, +.i-caption-h2 { + font-size: 16px; + line-height: 22px; +} +.i-label-light { + font-size: 11px; + line-height: 13px; + color: #707070; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/layouts/layouts.css b/WebContent/ITMILL/themes/reindeer/layouts/layouts.css new file mode 100644 index 0000000000..631754b50d --- /dev/null +++ b/WebContent/ITMILL/themes/reindeer/layouts/layouts.css @@ -0,0 +1,26 @@ +.i-orderedlayout-margin-top, +.i-horizontallayout-margin-top, +.i-verticallayout-margin-top { + padding-top: 18px; +} +.i-orderedlayout-margin-right, +.i-horizontallayout-margin-right, +.i-verticallayout-margin-right { + padding-right: 18px; +} +.i-orderedlayout-margin-bottom, +.i-horizontallayout-margin-bottom, +.i-verticallayout-margin-bottom { + padding-bottom: 18px; +} +.i-orderedlayout-margin-left, +.i-horizontallayout-margin-left, +.i-verticallayout-margin-left { + padding-left: 18px; +} +.i-orderedlayout-spacing-on, +.i-horizontallayout-spacing-on, +.i-verticallayout-spacing-on { + padding-top: 7px; + padding-left: 6px; +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/panel/panel.css b/WebContent/ITMILL/themes/reindeer/panel/panel.css new file mode 100644 index 0000000000..18b6c74922 --- /dev/null +++ b/WebContent/ITMILL/themes/reindeer/panel/panel.css @@ -0,0 +1,35 @@ +.i-panel-caption, +.i-panel-nocaption { + border-bottom: 1px solid #dcdcdc; + line-height: 16px; /* accommodate minimum icon size */ +} +.i-sa .i-panel-caption, +.i-sa .i-panel-nocaption, +.i-ff3 .i-panel-caption, +.i-ff3 .i-panel-nocaption { + border-bottom-color: rgba(0,0,0,.1); +} +.i-panel-caption { + padding-bottom: 2px; +} +.i-panel-content { + border: 1px solid #dcdcdc; + border-bottom: none; + border-top: none; + background: #fff; +} +.i-sa .i-panel-content, +.i-ff3 .i-panel-content { + border-color: rgba(0,0,0,.1); +} +.i-panel-deco { + height: 1px; + border-top: 1px solid #bebebe; + background: #e2e2e2; + overflow: hidden; +} +.i-sa .i-panel-deco, +.i-ff3 .i-panel-deco { + border-top-color: rgba(0,0,0,.1); + background: rgba(0,0,0,.08); +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/styles.css b/WebContent/ITMILL/themes/reindeer/styles.css index 1906b69143..8ddeee8a65 100644 --- a/WebContent/ITMILL/themes/reindeer/styles.css +++ b/WebContent/ITMILL/themes/reindeer/styles.css @@ -219,11 +219,7 @@ .i-window select { margin: 0; } -.i-disabled -/*, -.i-app .i-disabled, -.i-window .i-disabled, -.i-popupview-popup .i-disabled*/ { +.i-disabled { opacity: .3; filter: alpha(opacity=30); cursor: default; @@ -1553,49 +1549,61 @@ div.i-window-header { /* Automatically compiled css file from subdirectories. */ /* ./WebContent/ITMILL/themes/reindeer/button/button.css */ -/* IE6 gets native buttons, since it doesn't support the adjacent child selector (>) that is needed to position i-icon properly */ +/** sprite: buttons; sprite-image: url(button/img/buttons.png); sprite-layout: vertical */ + +/* We serve simpler buttons for IE6, since it doesn't support the adjacent + * sibling selector (+) that is needed to position .i-icon properly. + */ div > .i-button, -.i-ie7 .i-button, -.i-ie8 .i-button { +.i-ie7 .i-button { height: 26px; - padding: 0 0 0 6px; /* Left side padding width the same amount as left.png */ - background: transparent url(button/img/left.png) no-repeat; + padding: 0 0 0 6px; + background-color: transparent; + background-repeat: no-repeat; + background-image: url(button/img/left.png); /** sprite-ref: buttons */ border: none; cursor: default; } div > .i-button span, -.i-ie7 .i-button span, -.i-ie8 .i-button span { +.i-ie7 .i-button span { display: inline-block; - height: 21px; - padding: 5px 15px 0 9px; - background: transparent url(button/img/right.png) no-repeat right top; + height: 22px; + padding: 4px 15px 0 9px; + background-color: transparent; + background-repeat: no-repeat; + background-position: right top; + background-image: url(button/img/right.png); /** sprite-ref: buttons; sprite-alignment: right */ text-shadow: #fff 0 1px 0; font-weight: bold; - float: none; + font-size: 11px; line-height: 16px; + float: none; } -.i-ie7 .i-button span, -.i-ie8 .i-button span { - padding: 5px 15px 0 9px; +.i-sa .i-button span { height: 21px; + padding-top: 5px; } .i-button:focus { - background-image: url(button/img/left-focus.png); + background-image: url(button/img/left-focus.png); /** sprite-ref: buttons */ outline: none; } .i-button:focus span { - background-image: url(button/img/right-focus.png); + background-image: url(button/img/right-focus.png); /** sprite-ref: buttons; sprite-alignment: right */ outline: none; } -.i-button:active { - background-image: url(button/img/left-pressed.png); +.i-button:active, +.i-ie7 .i-button.i-pressed { + background-image: url(button/img/left-pressed.png); /** sprite-ref: buttons */ outline: none; } -.i-button:active span { - background-image: url(button/img/right-pressed.png); +.i-button:active span, +.i-ie7 .i-button.i-pressed span { + background-image: url(button/img/right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ outline: none; } +.i-ie7 .i-button.i-pressed span { + position: relative; +} /* FF3 & FF2 */ .i-button::-moz-focus-inner { border: none; @@ -1605,29 +1613,10 @@ div > .i-button span, display: -moz-inline-box; } /* IE7 */ -.i-ie7 .i-button.i-pressed, -.i-ie8 .i-button.i-pressed { - background-image: url(button/img/left-pressed.png); -} -.i-ie7 .i-button.i-pressed span, -.i-ie8 .i-button.i-pressed span { - background-image: url(button/img/right-pressed.png); - position: relative; -} -.i-ie7 .i-button.i-pressed .i-icon, -.i-ie8 .i-button.i-pressed .i-icon { +.i-ie7 .i-button.i-pressed .i-icon { position: relative; z-index: 2; } -/* IE8 */ -/* TODO -.i-ie8 .i-button:active { - background-position: 1px -39px; -} -.i-ie8 .i-button:active span { - position: relative; -} -*/ /* Opera */ .i-op .i-button:active span { margin-top: -1px; @@ -1635,8 +1624,7 @@ div > .i-button span, } /* Modifications for buttons with icons */ div > .i-button .i-icon, -.i-ie7 .i-button .i-icon, -.i-ie8 .i-button .i-icon { +.i-ie7 .i-button .i-icon { display: inline-block; width: 16px; height: 16px; @@ -1652,25 +1640,44 @@ div > .i-button .i-icon, .i-ff2 .i-button-link .i-icon { margin: 0; } -.i-button .i-icon + span { +.i-button .i-icon + span, +.i-button .i-icon + .i-errorindicator + span { margin-left: -19px; padding-left: 19px; } .i-ie7 .i-button .i-icon + span, -.i-ie8 .i-button .i-icon + span { +.i-ie7 .i-button .i-icon + .i-errorindicator + span { margin-left: -23px; padding-left: 23px; } +/* Buttons with error indicator */ +div > .i-button .i-errorindicator, +.i-ie7 .i-button .i-errorindicator { + display: inline; + position: absolute; + width: 5px; + height: 26px; + background: transparent url(../default/icons/16/error.png) no-repeat 50%; + overflow: hidden; +} +.i-ie6 .i-button .i-errorindicator { + position: absolute; + width: 5px; + height: 18px; + background: transparent url(../default/icons/16/error.gif) no-repeat 50%; + overflow: hidden; + margin-left: -10px; +} /* Link style buttons */ .i-button.i-button-link, -.i-ie .i-button-link.i-pressed { +.i-ie7 .i-button-link.i-pressed { background: transparent; height: auto; padding: 0; cursor: pointer; } .i-button.i-button-link span, -.i-ie .i-button-link.i-pressed span { +.i-ie7 .i-button-link.i-pressed span { background: transparent; height: auto; padding: 0; @@ -1685,6 +1692,92 @@ div > .i-button .i-icon, .i-button-link:focus { outline: 1px dotted #1b699f; } +/** + * Default action button style -------------------------- + */ +div > .i-button-primary, +.i-ie7 .i-button-primary { + background-image: url(button/img/primary-left.png); /** sprite-ref: buttons */ +} +div > .i-button-primary span, +.i-ie7 .i-button-primary span { + background-image: url(button/img/primary-right.png); /** sprite-ref: buttons; sprite-alignment: right */ +} +.i-button-primary:focus { + background-image: url(button/img/primary-left-focus.png); /** sprite-ref: buttons */ +} +.i-button-primary:focus span { + background-image: url(button/img/primary-right-focus.png); /** sprite-ref: buttons; sprite-alignment: right */ +} +.i-button-primary:active, +.i-ie7 .i-button-primary.i-pressed { + background-image: url(button/img/primary-left-pressed.png); /** sprite-ref: buttons */ +} +.i-button-primary:active span, +.i-ie7 .i-button-primary.i-pressed span { + background-image: url(button/img/primary-right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ +} +/* + * Small-style -------------------------- + */ +div > .i-button-small, +.i-ie7 .i-button-small { + background-image: url(button/img/small-left.png); /** sprite-ref: buttons */ + height: 20px; +} +div > .i-button-small span, +.i-ie7 .i-button-small span { + background-image: url(button/img/small-right.png); /** sprite-ref: buttons; sprite-alignment: right */ + height: 19px; + padding: 1px 11px 0 5px; + font-weight: normal; +} +.i-sa .i-button-small span { + height: 18px; + padding-top: 2px; +} +.i-button-small:focus { + background-image: url(button/img/small-left-focus.png); /** sprite-ref: buttons */ +} +.i-button-small:focus span { + background-image: url(button/img/small-right-focus.png); /** sprite-ref: buttons; sprite-alignment: right */ +} +.i-button-small:active, +.i-ie7 .i-button-small.i-pressed { + background-image: url(button/img/small-left-pressed.png); /** sprite-ref: buttons */ +} +.i-button-small:active span, +.i-ie7 .i-button-small.i-pressed span { + background-image: url(button/img/small-right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ +} + +/** + * IE6 buttons -------------------------- + */ +.i-ie6 .i-button { + border: 1px solid #b3b3b3; + border-bottom-color: #9a9a9a; + background: transparent url(button/img/right.png) no-repeat 0 -1px; + padding: 3px 15px 2px 15px; + font-weight: bold; + font-size: 11px; + line-height: 16px; + height: 16px; + outline: none; +} +.i-ie6 .i-button-primary { + background-image: url(button/img/primary-right.png); +} +.i-ie6 .i-button-small { + font-weight: normal; + padding: 1px 11px 0 11px; + height: 12px; + line-height: normal; + background-image: url(button/img/small-right.png); +} +.i-ie6 .i-button.i-pressed { + background: transparent url(button/img/right-pressed.png) no-repeat 0 -1px; +} /* ./WebContent/ITMILL/themes/reindeer/common/common.css */ .i-generated-body, @@ -1732,3 +1825,120 @@ div > .i-button .i-icon, .i-sa .i-popupview-popup textarea { font-family: Helvetica, Arial, "Lucida Grande", Geneva, Tahoma, Verdana, sans-serif; } + +/* ./WebContent/ITMILL/themes/reindeer/label/label.css */ +.i-label { + line-height: 18px; +} +.i-label-h1, +.i-label-h2, +.i-caption-h1, +.i-caption-h2 { + font-size: 24px; + line-height: 30px; + font-weight: bold; + color: #44698b; +} +.i-ie6 .i-label-h1 { + font-size: 1px; + line-height: normal; +} +.i-label-h2, +.i-caption-h2 { + font-size: 16px; + line-height: 22px; +} +.i-label-light { + font-size: 11px; + line-height: 13px; + color: #707070; +} + +/* ./WebContent/ITMILL/themes/reindeer/layouts/layouts.css */ +.i-orderedlayout-margin-top, +.i-horizontallayout-margin-top, +.i-verticallayout-margin-top { + padding-top: 18px; +} +.i-orderedlayout-margin-right, +.i-horizontallayout-margin-right, +.i-verticallayout-margin-right { + padding-right: 18px; +} +.i-orderedlayout-margin-bottom, +.i-horizontallayout-margin-bottom, +.i-verticallayout-margin-bottom { + padding-bottom: 18px; +} +.i-orderedlayout-margin-left, +.i-horizontallayout-margin-left, +.i-verticallayout-margin-left { + padding-left: 18px; +} +.i-orderedlayout-spacing-on, +.i-horizontallayout-spacing-on, +.i-verticallayout-spacing-on { + padding-top: 7px; + padding-left: 6px; +} + +/* ./WebContent/ITMILL/themes/reindeer/panel/panel.css */ +.i-panel-caption, +.i-panel-nocaption { + border-bottom: 1px solid #dcdcdc; + line-height: 16px; /* accommodate minimum icon size */ +} +.i-sa .i-panel-caption, +.i-sa .i-panel-nocaption, +.i-ff3 .i-panel-caption, +.i-ff3 .i-panel-nocaption { + border-bottom-color: rgba(0,0,0,.1); +} +.i-panel-caption { + padding-bottom: 2px; +} +.i-panel-content { + border: 1px solid #dcdcdc; + border-bottom: none; + border-top: none; + background: #fff; +} +.i-sa .i-panel-content, +.i-ff3 .i-panel-content { + border-color: rgba(0,0,0,.1); +} +.i-panel-deco { + height: 1px; + border-top: 1px solid #bebebe; + background: #e2e2e2; + overflow: hidden; +} +.i-sa .i-panel-deco, +.i-ff3 .i-panel-deco { + border-top-color: rgba(0,0,0,.1); + background: rgba(0,0,0,.08); +} + +/* ./WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css */ +.i-tabsheet-spacertd div { + border-color: #bfbfbf; + border-left: none; +} +.i-tabsheet-tabitem { + border: none; + border-bottom: 1px solid #bfbfbf; + padding: 5px 16px; + color: #4d748f; +} +.i-tabsheet-tabitem-selected { + border: 1px solid #bfbfbf; + border-bottom: none; + color: #222; + padding: 4px 15px 6px 15px; +} +.i-tabsheet-content { + border: none; +} +.i-tabsheet-deco { + height: 0; +} diff --git a/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css b/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css new file mode 100644 index 0000000000..c067d275f3 --- /dev/null +++ b/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css @@ -0,0 +1,22 @@ +.i-tabsheet-spacertd div { + border-color: #bfbfbf; + border-left: none; +} +.i-tabsheet-tabitem { + border: none; + border-bottom: 1px solid #bfbfbf; + padding: 5px 16px; + color: #4d748f; +} +.i-tabsheet-tabitem-selected { + border: 1px solid #bfbfbf; + border-bottom: none; + color: #222; + padding: 4px 15px 6px 15px; +} +.i-tabsheet-content { + border: none; +} +.i-tabsheet-deco { + height: 0; +} \ No newline at end of file -- cgit v1.2.3 From a19709a9b2c9a5597d4455b6e7eeaeb74f1f0821 Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Fri, 8 May 2009 10:23:31 +0000 Subject: "Poro" theme update: button enhancements, initial panel, splitpanel and tabsheet styles + SmartSprites definitions. svn changeset:7668/svn branch:theme_2009_03 --- .../a-sprite-definitions/a-sprite-definitions.css | 5 + .../ITMILL/themes/reindeer/button/button.css | 8 +- .../reindeer/button/img/button-sprites-ie6.png | Bin 0 -> 2842 bytes .../themes/reindeer/button/img/button-sprites.png | Bin 0 -> 9245 bytes .../reindeer/common/img/horizontal-sprites.png | Bin 0 -> 218 bytes .../reindeer/common/img/vertical-sprites.png | Bin 0 -> 228 bytes .../themes/reindeer/splitpanel/img/hor-bg.png | Bin 0 -> 145 bytes .../themes/reindeer/splitpanel/img/hor-handle.png | Bin 0 -> 186 bytes .../themes/reindeer/splitpanel/img/ver-bg.png | Bin 0 -> 151 bytes .../themes/reindeer/splitpanel/img/ver-handle.png | Bin 0 -> 199 bytes .../themes/reindeer/splitpanel/splitpanel.css | 24 ++++ WebContent/ITMILL/themes/reindeer/styles.css | 144 ++++++++++++++++++--- .../ITMILL/themes/reindeer/tabsheet/tabsheet.css | 30 +++++ 13 files changed, 189 insertions(+), 22 deletions(-) create mode 100644 WebContent/ITMILL/themes/reindeer/a-sprite-definitions/a-sprite-definitions.css create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/button-sprites-ie6.png create mode 100644 WebContent/ITMILL/themes/reindeer/button/img/button-sprites.png create mode 100644 WebContent/ITMILL/themes/reindeer/common/img/horizontal-sprites.png create mode 100644 WebContent/ITMILL/themes/reindeer/common/img/vertical-sprites.png create mode 100644 WebContent/ITMILL/themes/reindeer/splitpanel/img/hor-bg.png create mode 100644 WebContent/ITMILL/themes/reindeer/splitpanel/img/hor-handle.png create mode 100644 WebContent/ITMILL/themes/reindeer/splitpanel/img/ver-bg.png create mode 100644 WebContent/ITMILL/themes/reindeer/splitpanel/img/ver-handle.png create mode 100644 WebContent/ITMILL/themes/reindeer/splitpanel/splitpanel.css (limited to 'WebContent') diff --git a/WebContent/ITMILL/themes/reindeer/a-sprite-definitions/a-sprite-definitions.css b/WebContent/ITMILL/themes/reindeer/a-sprite-definitions/a-sprite-definitions.css new file mode 100644 index 0000000000..a54d8d83fd --- /dev/null +++ b/WebContent/ITMILL/themes/reindeer/a-sprite-definitions/a-sprite-definitions.css @@ -0,0 +1,5 @@ +/** sprite: verticals; sprite-image: url(../common/img/vertical-sprites.png); sprite-layout: vertical */ + +/** sprite: horizontals; sprite-image: url(../common/img/horizontal-sprites.png); sprite-layout: horizontal */ + +/** sprite: buttons; sprite-image: url(../button/img/button-sprites.png); sprite-layout: vertical */ \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/button/button.css b/WebContent/ITMILL/themes/reindeer/button/button.css index b0156f0aae..3023690de5 100644 --- a/WebContent/ITMILL/themes/reindeer/button/button.css +++ b/WebContent/ITMILL/themes/reindeer/button/button.css @@ -1,5 +1,3 @@ -/** sprite: buttons; sprite-image: url(img/buttons.png); sprite-layout: vertical */ - /* We serve simpler buttons for IE6, since it doesn't support the adjacent * sibling selector (+) that is needed to position .i-icon properly. */ @@ -60,6 +58,8 @@ div > .i-button span, } .i-ff2 .i-button span { display: -moz-inline-box; + padding-top: 6px; + height: 20px; } /* IE7 */ .i-ie7 .i-button.i-pressed .i-icon { @@ -181,6 +181,10 @@ div > .i-button-small span, padding: 1px 11px 0 5px; font-weight: normal; } +.i-ff2 .i-button-small span { + height: 17px; + padding-top: 3px; +} .i-sa .i-button-small span { height: 18px; padding-top: 2px; diff --git a/WebContent/ITMILL/themes/reindeer/button/img/button-sprites-ie6.png b/WebContent/ITMILL/themes/reindeer/button/img/button-sprites-ie6.png new file mode 100644 index 0000000000..6ba8bc2864 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/button-sprites-ie6.png differ diff --git a/WebContent/ITMILL/themes/reindeer/button/img/button-sprites.png b/WebContent/ITMILL/themes/reindeer/button/img/button-sprites.png new file mode 100644 index 0000000000..c14b6864ae Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/button/img/button-sprites.png differ diff --git a/WebContent/ITMILL/themes/reindeer/common/img/horizontal-sprites.png b/WebContent/ITMILL/themes/reindeer/common/img/horizontal-sprites.png new file mode 100644 index 0000000000..7980a5aa18 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/common/img/horizontal-sprites.png differ diff --git a/WebContent/ITMILL/themes/reindeer/common/img/vertical-sprites.png b/WebContent/ITMILL/themes/reindeer/common/img/vertical-sprites.png new file mode 100644 index 0000000000..07ebba5e3d Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/common/img/vertical-sprites.png differ diff --git a/WebContent/ITMILL/themes/reindeer/splitpanel/img/hor-bg.png b/WebContent/ITMILL/themes/reindeer/splitpanel/img/hor-bg.png new file mode 100644 index 0000000000..4ce1cabffc Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/splitpanel/img/hor-bg.png differ diff --git a/WebContent/ITMILL/themes/reindeer/splitpanel/img/hor-handle.png b/WebContent/ITMILL/themes/reindeer/splitpanel/img/hor-handle.png new file mode 100644 index 0000000000..50645f41f1 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/splitpanel/img/hor-handle.png differ diff --git a/WebContent/ITMILL/themes/reindeer/splitpanel/img/ver-bg.png b/WebContent/ITMILL/themes/reindeer/splitpanel/img/ver-bg.png new file mode 100644 index 0000000000..1e6968dd1c Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/splitpanel/img/ver-bg.png differ diff --git a/WebContent/ITMILL/themes/reindeer/splitpanel/img/ver-handle.png b/WebContent/ITMILL/themes/reindeer/splitpanel/img/ver-handle.png new file mode 100644 index 0000000000..bf5ca89ca5 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/splitpanel/img/ver-handle.png differ diff --git a/WebContent/ITMILL/themes/reindeer/splitpanel/splitpanel.css b/WebContent/ITMILL/themes/reindeer/splitpanel/splitpanel.css new file mode 100644 index 0000000000..00689373cd --- /dev/null +++ b/WebContent/ITMILL/themes/reindeer/splitpanel/splitpanel.css @@ -0,0 +1,24 @@ +.i-splitpanel-horizontal .i-splitpanel-hsplitter { + width: 7px; + background-repeat: repeat-y; + background-image: url(img/hor-bg.png); /** sprite-ref: horizontals; sprite-alignment: repeat */ +} +.i-splitpanel-horizontal .i-splitpanel-hsplitter div { + width: 7px; + background: transparent; + background-repeat: no-repeat; + background-position: 50%; + background-image: url(img/hor-handle.png); /** sprite-ref: horizontals; sprite-alignment: middle */ +} +.i-splitpanel-vertical .i-splitpanel-vsplitter { + height: 7px; + background-repeat: repeat-x; + background-image: url(img/ver-bg.png); /** sprite-ref: verticals; sprite-alignment: repeat */ +} +.i-splitpanel-vertical .i-splitpanel-vsplitter div { + height: 7px; + background: transparent; + background-repeat: no-repeat; + background-position: 50%; + background-image: url(img/ver-handle.png); /** sprite-ref: verticals; sprite-alignment: center */ +} \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/styles.css b/WebContent/ITMILL/themes/reindeer/styles.css index 8ddeee8a65..36f0998768 100644 --- a/WebContent/ITMILL/themes/reindeer/styles.css +++ b/WebContent/ITMILL/themes/reindeer/styles.css @@ -1548,9 +1548,11 @@ div.i-window-header { } /* Automatically compiled css file from subdirectories. */ -/* ./WebContent/ITMILL/themes/reindeer/button/button.css */ -/** sprite: buttons; sprite-image: url(button/img/buttons.png); sprite-layout: vertical */ +/* ./WebContent/ITMILL/themes/reindeer/a-sprite-definitions/a-sprite-definitions.css */ + + +/* ./WebContent/ITMILL/themes/reindeer/button/button.css */ /* We serve simpler buttons for IE6, since it doesn't support the adjacent * sibling selector (+) that is needed to position .i-icon properly. */ @@ -1560,7 +1562,9 @@ div > .i-button, padding: 0 0 0 6px; background-color: transparent; background-repeat: no-repeat; - background-image: url(button/img/left.png); /** sprite-ref: buttons */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: left -0px; border: none; cursor: default; } @@ -1572,7 +1576,9 @@ div > .i-button span, background-color: transparent; background-repeat: no-repeat; background-position: right top; - background-image: url(button/img/right.png); /** sprite-ref: buttons; sprite-alignment: right */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: right -26px; text-shadow: #fff 0 1px 0; font-weight: bold; font-size: 11px; @@ -1584,21 +1590,29 @@ div > .i-button span, padding-top: 5px; } .i-button:focus { - background-image: url(button/img/left-focus.png); /** sprite-ref: buttons */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: left -52px; outline: none; } .i-button:focus span { - background-image: url(button/img/right-focus.png); /** sprite-ref: buttons; sprite-alignment: right */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: right -78px; outline: none; } .i-button:active, .i-ie7 .i-button.i-pressed { - background-image: url(button/img/left-pressed.png); /** sprite-ref: buttons */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: left -104px; outline: none; } .i-button:active span, .i-ie7 .i-button.i-pressed span { - background-image: url(button/img/right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: right -130px; outline: none; } .i-ie7 .i-button.i-pressed span { @@ -1611,6 +1625,8 @@ div > .i-button span, } .i-ff2 .i-button span { display: -moz-inline-box; + padding-top: 6px; + height: 20px; } /* IE7 */ .i-ie7 .i-button.i-pressed .i-icon { @@ -1697,58 +1713,86 @@ div > .i-button .i-errorindicator, */ div > .i-button-primary, .i-ie7 .i-button-primary { - background-image: url(button/img/primary-left.png); /** sprite-ref: buttons */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: left -156px; } div > .i-button-primary span, .i-ie7 .i-button-primary span { - background-image: url(button/img/primary-right.png); /** sprite-ref: buttons; sprite-alignment: right */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: right -182px; } .i-button-primary:focus { - background-image: url(button/img/primary-left-focus.png); /** sprite-ref: buttons */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: left -208px; } .i-button-primary:focus span { - background-image: url(button/img/primary-right-focus.png); /** sprite-ref: buttons; sprite-alignment: right */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: right -234px; } .i-button-primary:active, .i-ie7 .i-button-primary.i-pressed { - background-image: url(button/img/primary-left-pressed.png); /** sprite-ref: buttons */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: left -260px; } .i-button-primary:active span, .i-ie7 .i-button-primary.i-pressed span { - background-image: url(button/img/primary-right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: right -286px; } /* * Small-style -------------------------- */ div > .i-button-small, .i-ie7 .i-button-small { - background-image: url(button/img/small-left.png); /** sprite-ref: buttons */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: left -312px; height: 20px; } div > .i-button-small span, .i-ie7 .i-button-small span { - background-image: url(button/img/small-right.png); /** sprite-ref: buttons; sprite-alignment: right */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: right -332px; height: 19px; padding: 1px 11px 0 5px; font-weight: normal; } +.i-ff2 .i-button-small span { + height: 17px; + padding-top: 3px; +} .i-sa .i-button-small span { height: 18px; padding-top: 2px; } .i-button-small:focus { - background-image: url(button/img/small-left-focus.png); /** sprite-ref: buttons */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: left -352px; } .i-button-small:focus span { - background-image: url(button/img/small-right-focus.png); /** sprite-ref: buttons; sprite-alignment: right */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: right -372px; } .i-button-small:active, .i-ie7 .i-button-small.i-pressed { - background-image: url(button/img/small-left-pressed.png); /** sprite-ref: buttons */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: left -392px; } .i-button-small:active span, .i-ie7 .i-button-small.i-pressed span { - background-image: url(button/img/small-right-pressed.png); /** sprite-ref: buttons; sprite-alignment: right */ + background-image: url(button/img/button-sprites.png); + -background-image: url(button/img/button-sprites-ie6.png); + background-position: right -412px; } /** @@ -1919,6 +1963,36 @@ div > .i-button-small span, background: rgba(0,0,0,.08); } +/* ./WebContent/ITMILL/themes/reindeer/splitpanel/splitpanel.css */ +.i-splitpanel-horizontal .i-splitpanel-hsplitter { + width: 7px; + background-repeat: repeat-y; + background-image: url(common/img/horizontal-sprites.png); + background-position: -0px top; +} +.i-splitpanel-horizontal .i-splitpanel-hsplitter div { + width: 7px; + background: transparent; + background-repeat: no-repeat; + background-position: 50%; + background-image: url(common/img/horizontal-sprites.png); + background-position: -7px center; +} +.i-splitpanel-vertical .i-splitpanel-vsplitter { + height: 7px; + background-repeat: repeat-x; + background-image: url(common/img/vertical-sprites.png); + background-position: left -0px; +} +.i-splitpanel-vertical .i-splitpanel-vsplitter div { + height: 7px; + background: transparent; + background-repeat: no-repeat; + background-position: 50%; + background-image: url(common/img/vertical-sprites.png); + background-position: center -7px; +} + /* ./WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css */ .i-tabsheet-spacertd div { border-color: #bfbfbf; @@ -1942,3 +2016,33 @@ div > .i-button-small span, .i-tabsheet-deco { height: 0; } +.i-tabsheet-tabs .i-icon, +.i-tabsheet-tabs .i-captiontext, +.i-tabsheet-tabs .i-errorindicator { + display: inline; + float: none; +} +.i-sa .i-tabsheet-tabs .i-captiontext { + display: inline-block; +} +.i-tabsheet-tabs .i-icon { + width: 16px !important; + height: 16px !important; +} +.i-tabsheet-tabs .i-errorindicator { + display: inline-block; + width: 5px; + height: 16px; + background: transparent url(../default/icons/16/error.png) no-repeat -1px 50%; +} +.i-ff2 .i-tabsheet-tabs .i-icon, +.i-ff2 .i-tabsheet-tabs .i-errorindicator { + display: -moz-inline-stack; +} +.i-ie6 .i-tabsheet-tabs .i-errorindicator { + background-image: url(../default/icons/16/error.gif); +} +.i-ie .i-tabsheet-tabs .i-errorindicator { + zoom:1; + display:inline; +} diff --git a/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css b/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css index c067d275f3..8341e0fac0 100644 --- a/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css +++ b/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css @@ -19,4 +19,34 @@ } .i-tabsheet-deco { height: 0; +} +.i-tabsheet-tabs .i-icon, +.i-tabsheet-tabs .i-captiontext, +.i-tabsheet-tabs .i-errorindicator { + display: inline; + float: none; +} +.i-sa .i-tabsheet-tabs .i-captiontext { + display: inline-block; +} +.i-tabsheet-tabs .i-icon { + width: 16px !important; + height: 16px !important; +} +.i-tabsheet-tabs .i-errorindicator { + display: inline-block; + width: 5px; + height: 16px; + background: transparent url(../../default/icons/16/error.png) no-repeat -1px 50%; +} +.i-ff2 .i-tabsheet-tabs .i-icon, +.i-ff2 .i-tabsheet-tabs .i-errorindicator { + display: -moz-inline-stack; +} +.i-ie6 .i-tabsheet-tabs .i-errorindicator { + background-image: url(../../default/icons/16/error.gif); +} +.i-ie .i-tabsheet-tabs .i-errorindicator { + zoom:1; + display:inline; } \ No newline at end of file -- cgit v1.2.3 From bd46d5a0db8273834a4e9af2ae3b649ba1ce273f Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Fri, 8 May 2009 12:39:49 +0000 Subject: "Poro" theme updates: textfield styles. svn changeset:7681/svn branch:theme_2009_03 --- .../ITMILL/themes/reindeer/button/button.css | 8 ++- .../reindeer/common/img/vertical-sprites.png | Bin 228 -> 236 bytes .../ITMILL/themes/reindeer/layouts/layouts.css | 6 +++ WebContent/ITMILL/themes/reindeer/styles.css | 59 ++++++++++++++++++++- .../ITMILL/themes/reindeer/tabsheet/tabsheet.css | 6 +++ .../reindeer/textfield/img/bg-border-image.png | Bin 0 -> 243 bytes .../ITMILL/themes/reindeer/textfield/img/bg.png | Bin 0 -> 124 bytes .../ITMILL/themes/reindeer/textfield/textfield.css | 36 +++++++++++++ 8 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 WebContent/ITMILL/themes/reindeer/textfield/img/bg-border-image.png create mode 100644 WebContent/ITMILL/themes/reindeer/textfield/img/bg.png create mode 100644 WebContent/ITMILL/themes/reindeer/textfield/textfield.css (limited to 'WebContent') diff --git a/WebContent/ITMILL/themes/reindeer/button/button.css b/WebContent/ITMILL/themes/reindeer/button/button.css index 3023690de5..1be0acead1 100644 --- a/WebContent/ITMILL/themes/reindeer/button/button.css +++ b/WebContent/ITMILL/themes/reindeer/button/button.css @@ -210,7 +210,7 @@ div > .i-button-small span, .i-ie6 .i-button { border: 1px solid #b3b3b3; border-bottom-color: #9a9a9a; - background: transparent url(img/right.png) no-repeat 0 -1px; + background: #d8d8d8 url(img/right.png) no-repeat 0 -1px; padding: 3px 15px 2px 15px; font-weight: bold; font-size: 11px; @@ -230,4 +230,10 @@ div > .i-button-small span, } .i-ie6 .i-button.i-pressed { background: transparent url(img/right-pressed.png) no-repeat 0 -1px; +} +/* Buttons on blue background */ +.i-ie6 .blue .i-button { + border-color: #84949c; + border-top-color: #83939b; + border-bottom-color: #888d91; } \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/common/img/vertical-sprites.png b/WebContent/ITMILL/themes/reindeer/common/img/vertical-sprites.png index 07ebba5e3d..99652769d4 100644 Binary files a/WebContent/ITMILL/themes/reindeer/common/img/vertical-sprites.png and b/WebContent/ITMILL/themes/reindeer/common/img/vertical-sprites.png differ diff --git a/WebContent/ITMILL/themes/reindeer/layouts/layouts.css b/WebContent/ITMILL/themes/reindeer/layouts/layouts.css index 631754b50d..b53ce5bf3c 100644 --- a/WebContent/ITMILL/themes/reindeer/layouts/layouts.css +++ b/WebContent/ITMILL/themes/reindeer/layouts/layouts.css @@ -23,4 +23,10 @@ .i-verticallayout-spacing-on { padding-top: 7px; padding-left: 6px; +} +/* Blue background */ +.i-verticallayout-blue, +.i-horizontallayout-blue, +.i-orderedlayout-blue { + background-color: #bcd3de; } \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/styles.css b/WebContent/ITMILL/themes/reindeer/styles.css index 36f0998768..7c37d5d5ec 100644 --- a/WebContent/ITMILL/themes/reindeer/styles.css +++ b/WebContent/ITMILL/themes/reindeer/styles.css @@ -1801,7 +1801,7 @@ div > .i-button-small span, .i-ie6 .i-button { border: 1px solid #b3b3b3; border-bottom-color: #9a9a9a; - background: transparent url(button/img/right.png) no-repeat 0 -1px; + background: #d8d8d8 url(button/img/right.png) no-repeat 0 -1px; padding: 3px 15px 2px 15px; font-weight: bold; font-size: 11px; @@ -1822,6 +1822,12 @@ div > .i-button-small span, .i-ie6 .i-button.i-pressed { background: transparent url(button/img/right-pressed.png) no-repeat 0 -1px; } +/* Buttons on blue background */ +.i-ie6 .blue .i-button { + border-color: #84949c; + border-top-color: #83939b; + border-bottom-color: #888d91; +} /* ./WebContent/ITMILL/themes/reindeer/common/common.css */ .i-generated-body, @@ -1925,6 +1931,12 @@ div > .i-button-small span, padding-top: 7px; padding-left: 6px; } +/* Blue background */ +.i-verticallayout-blue, +.i-horizontallayout-blue, +.i-orderedlayout-blue { + background-color: #bcd3de; +} /* ./WebContent/ITMILL/themes/reindeer/panel/panel.css */ .i-panel-caption, @@ -2046,3 +2058,48 @@ div > .i-button-small span, zoom:1; display:inline; } +/* Tabsheet on blue background */ +.blue .i-tabsheet-spacertd div, +.blue .i-tabsheet-tabitem, +.blue .i-tabsheet-tabitem-selected { + border-color: #7c8a91; +} + +/* ./WebContent/ITMILL/themes/reindeer/textfield/textfield.css */ +.i-textfield { + line-height: normal; + height: 19px; + border: 1px solid #bcbdbe; + border-top-color: #a2a3a4; + border-bottom-color: #d2d3d4; + background: #fff; + background-repeat: repeat-x; + background-image: url(common/img/vertical-sprites.png); + background-position: left -14px; + -moz-border-radius: 3px; +} +/* Need more specific selector because of #2384 fixes in base/common/common.css */ +.i-app input.i-textfield { + padding: 3px 3px 0 3px; +} +/* Textfield on blue background */ +.blue .i-textfield { + border-color: #92a2aa; + border-top-color: #7c8a90; + border-bottom-color: #a1b3bc; +} +/* Capable browsers get fancier border images */ +.i-sa input.i-textfield, +.i-ff35 input.i-textfield, +.i-op input.i-textfield { + -moz-border-radius: 0; + border: none; + background: transparent; + border-width: 0 3px 0 3px; + padding: 4px 0 0 0; + height: 20px; + -webkit-border-image: url(textfield/img/bg-border-image.png) 0 3 0 3 stretch stretch; + -moz-border-image: url(textfield/img/bg-border-image.png) 0 3 0 3 stretch stretch; + -o-border-image: url(textfield/img/bg-border-image.png) 0 3 0 3 stretch stretch; + +} diff --git a/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css b/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css index 8341e0fac0..0b4c425a71 100644 --- a/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css +++ b/WebContent/ITMILL/themes/reindeer/tabsheet/tabsheet.css @@ -49,4 +49,10 @@ .i-ie .i-tabsheet-tabs .i-errorindicator { zoom:1; display:inline; +} +/* Tabsheet on blue background */ +.blue .i-tabsheet-spacertd div, +.blue .i-tabsheet-tabitem, +.blue .i-tabsheet-tabitem-selected { + border-color: #7c8a91; } \ No newline at end of file diff --git a/WebContent/ITMILL/themes/reindeer/textfield/img/bg-border-image.png b/WebContent/ITMILL/themes/reindeer/textfield/img/bg-border-image.png new file mode 100644 index 0000000000..38fe3e6d7b Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/textfield/img/bg-border-image.png differ diff --git a/WebContent/ITMILL/themes/reindeer/textfield/img/bg.png b/WebContent/ITMILL/themes/reindeer/textfield/img/bg.png new file mode 100644 index 0000000000..4096e9d524 Binary files /dev/null and b/WebContent/ITMILL/themes/reindeer/textfield/img/bg.png differ diff --git a/WebContent/ITMILL/themes/reindeer/textfield/textfield.css b/WebContent/ITMILL/themes/reindeer/textfield/textfield.css new file mode 100644 index 0000000000..6943cb53eb --- /dev/null +++ b/WebContent/ITMILL/themes/reindeer/textfield/textfield.css @@ -0,0 +1,36 @@ +.i-textfield { + line-height: normal; + height: 19px; + border: 1px solid #bcbdbe; + border-top-color: #a2a3a4; + border-bottom-color: #d2d3d4; + background: #fff; + background-repeat: repeat-x; + background-image: url(img/bg.png); /** sprite-ref: verticals; sprite-alignment: repeat */ + -moz-border-radius: 3px; +} +/* Need more specific selector because of #2384 fixes in base/common/common.css */ +.i-app input.i-textfield { + padding: 3px 3px 0 3px; +} +/* Textfield on blue background */ +.blue .i-textfield { + border-color: #92a2aa; + border-top-color: #7c8a90; + border-bottom-color: #a1b3bc; +} +/* Capable browsers get fancier border images */ +.i-sa input.i-textfield, +.i-ff35 input.i-textfield, +.i-op input.i-textfield { + -moz-border-radius: 0; + border: none; + background: transparent; + border-width: 0 3px 0 3px; + padding: 4px 0 0 0; + height: 20px; + -webkit-border-image: url(img/bg-border-image.png) 0 3 0 3 stretch stretch; + -moz-border-image: url(img/bg-border-image.png) 0 3 0 3 stretch stretch; + -o-border-image: url(img/bg-border-image.png) 0 3 0 3 stretch stretch; + +} \ No newline at end of file -- cgit v1.2.3 From f03b6c391124875a141180acce2d86f3544ecfe6 Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Fri, 8 May 2009 12:50:26 +0000 Subject: Merges from 6.0 branch. svn changeset:7685/svn branch:theme_2009_03 --- WebContent/WEB-INF/web.xml | 6 +- tests/sampler/smoketest.html | 177 +++++++++++++++++++++++++++++++++++++++++++ tests/test.html | 177 +++++++++++++++++++++++++++++++++++++++++++ tests/test.xml | 130 +++++++++++++++++++++++++++++++ 4 files changed, 485 insertions(+), 5 deletions(-) create mode 100644 tests/sampler/smoketest.html create mode 100644 tests/test.html create mode 100644 tests/test.xml (limited to 'WebContent') diff --git a/WebContent/WEB-INF/web.xml b/WebContent/WEB-INF/web.xml index f702c484b6..636295d26b 100644 --- a/WebContent/WEB-INF/web.xml +++ b/WebContent/WEB-INF/web.xml @@ -34,11 +34,7 @@ ITMillToolkitApplicationRunner - com.itmill.toolkit.terminal.gwt.server.ApplicationServlet - - applicationRunner - true - + com.itmill.toolkit.terminal.gwt.server.ApplicationRunnerServlet diff --git a/tests/sampler/smoketest.html b/tests/sampler/smoketest.html new file mode 100644 index 0000000000..8f1c5f224d --- /dev/null +++ b/tests/sampler/smoketest.html @@ -0,0 +1,177 @@ + + + + + + +test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
test
open/sampler?restartApplication
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IPanel[0]/IGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[0]/IHorizontalLayout[0]/ChildComponentContainer[6]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[0]/IHorizontalLayout[0]/ChildComponentContainer[6]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[0]/IHorizontalLayout[0]/ChildComponentContainer[6]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
typevaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/ITextField[0]test
waitForVaadin
typevaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/ITextField[1]last name
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
verifyTextPresentFirst name:
Last name:
Country:
Birthdate: null
Shoe size: 42
waitForVaadin
typevaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/IPasswordField[0]pwd
waitForVaadin
assertTextvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/domChild[0]/domChild[3]/domChild[0]Please enter a password
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
assertTextvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/domChild[0]/domChild[3]/domChild[0]Password must be 6-20 characters
typevaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/IPasswordField[0]pwd1111
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
verifyTextPresentFirst name: test
Last name: last name
+ + diff --git a/tests/test.html b/tests/test.html new file mode 100644 index 0000000000..8f1c5f224d --- /dev/null +++ b/tests/test.html @@ -0,0 +1,177 @@ + + + + + + +test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
test
open/sampler?restartApplication
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IPanel[0]/IGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[0]/IHorizontalLayout[0]/ChildComponentContainer[6]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[0]/IHorizontalLayout[0]/ChildComponentContainer[6]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[0]/IHorizontalLayout[0]/ChildComponentContainer[6]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
typevaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/ITextField[0]test
waitForVaadin
typevaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/ITextField[1]last name
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
verifyTextPresentFirst name:
Last name:
Country:
Birthdate: null
Shoe size: 42
waitForVaadin
typevaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/IPasswordField[0]pwd
waitForVaadin
assertTextvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/domChild[0]/domChild[3]/domChild[0]Please enter a password
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
assertTextvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/domChild[0]/domChild[3]/domChild[0]Password must be 6-20 characters
typevaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/IPasswordField[0]pwd1111
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[0]/IForm[0]/IFormLayout[0]/IFormLayout$IFormLayoutTable[0]/IHorizontalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
clickvaadin=sampler::/IVerticalLayout[0]/ChildComponentContainer[1]/ISplitPanelHorizontal[0]/IHorizontalLayout[0]/ChildComponentContainer[0]/IVerticalLayout[0]/ChildComponentContainer[1]/IVerticalLayout[0]/ChildComponentContainer[1]/IButton[0]
waitForVaadin
verifyTextPresentFirst name: test
Last name: last name
+ + diff --git a/tests/test.xml b/tests/test.xml new file mode 100644 index 0000000000..7c5f8ac250 --- /dev/null +++ b/tests/test.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Package name: ${package.name} + Package filename: ${package.filename} + Testing area: ${testing.testarea} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3