cursor: default;\r
}\r
\r
-.v-ie6 .v-button {\r
- display: inline;\r
-}\r
-\r
.v-ie7 .v-button {\r
display: inline;\r
}\r
zoom: 1;\r
float: none;\r
}\r
-/* Fixes streched buttons in IE6 and IE7*/\r
-.v-ie6 .v-nativebutton {\r
- width: 1px;\r
-}\r
+/* Fixes stretched buttons in IE7*/\r
.v-ie .v-nativebutton {\r
overflow: visible;\r
padding-left: 1em;\r
white-space: nowrap;\r
}\r
\r
-/* Fix for IE6/IE7 issue where checkbox moves 1 pixel down after selection (#4636) */\r
-.v-ie6 .v-checkbox,\r
+/* Fix for IE7 issue where checkbox moves 1 pixel down after selection (#4636) */\r
.v-ie7 .v-checkbox {\r
vertical-align: baseline;\r
}\r
overflow: hidden;
}
-/* Fix IE6 "double-float-margin-bug" */
-.v-ie6 .v-errorindicator,
-.v-ie6 .v-icon,
-.v-ie6 .v-captiontext,
-.v-ie6 .v-required-field-indicator {
- display: inline;
-}
-
.v-ie9 .v-gridlayout-margin>div>div>.v-caption,
.v-ie9 .v-verticallayout>div>div>.v-caption,
.v-ie9 .v-horizontallayout>div>div>.v-caption {
outline: 1px dotted black;
}
-.v-ie6 .v-datefield-calendarpanel-day,
.v-ie7 .v-datefield-calendarpanel-day {
margin: 1px;
}
-.v-ie6 .v-datefield-calendarpanel-day-focused,
.v-ie7 .v-datefield-calendarpanel-day-focused {
border: 1px dotted black;
margin: 0px;
}
*/
/* IE somehow loses generic v-disabled alpha. See #1960 */
-.v-ie6 .v-disabled .v-datefield-button,
-.v-ie6 .v-disabled .v-datefield-textfield,
.v-ie7 .v-disabled .v-datefield-button,
.v-ie7 .v-disabled .v-datefield-textfield {
filter: alpha(opacity=30);
overflow: hidden;
}
/* Ensure that resizing gridlayout works in IE */
-.v-ie6 .v-gridlayout,
.v-ie7 .v-gridlayout {
overflow: hidden;
}
\ No newline at end of file
padding-left: 0;
}
/* To make sure IE don't expand elements larger than they should */
-.v-ie6 .v-orderedlayout,
-.v-ie6 .v-horizontallayout,
-.v-ie6 .v-verticallayout,
.v-ie7 .v-orderedlayout,
.v-ie7 .v-horizontallayout,
.v-ie7 .v-verticallayout {
width: 10px; height: 10px;
background: transparent url(img/bottom-right.png);
}
-
-
-
-
-
-/* For IE6 (no transparent png's, we use a blur filter) */
-
-.v-ie6 .v-shadow * {
- display: none;
-}
-
-.v-ie6 .v-shadow {
- background: #000;
- filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2) alpha(opacity=20);
- margin-top: -2px;
- margin-left: -2px;
-}
\ No newline at end of file
background: #FFE0E0;
}
*/
-
-/* IE specific styles */
-.v-ie6 .v-slider,
-.v-ie6 .v-slider-vertical {
- margin: 0;
-}
-.v-ie6 .v-slider .v-slider-handle {
- margin: -1px 0;
-}
-.v-ie6 .v-slider-vertical .v-slider-handle {
- margin: 0 -1px;
-}
\ No newline at end of file
cursor: default;
}
/* IE specific styles */
-.v-ie6 .v-splitpanel-hsplitter div {
- height: 99%;
-}
-.v-ie6 .v-splitpanel-first-container,
-.v-ie6 .v-splitpanel-second-container,
.v-ie7 .v-splitpanel-first-container,
.v-ie7 .v-splitpanel-second-container {
position: relative;
position: relative; /* hide this from IE, it works without it */
cursor: pointer;
}
-.v-ie6 .v-table-column-selector,
.v-ie7 .v-table-column-selector {
position: static;
}
cursor: default;
visibility: hidden;
}
-.v-tabsheet-tabitem:hover .v-tabsheet-caption-close,
-.v-ie6 .v-tabsheet-caption-close {
+.v-tabsheet-tabitem:hover .v-tabsheet-caption-close {
visibility: visible;
}
-.v-ie6 .v-tabsheet-caption-close {
- float: right;
-}
.v-tabsheet-tabitem {
border: 1px solid #aaa;
border-right: none;
border-bottom: none;
position: relative;
}
-.v-ie6 .v-tabsheet-content,
.v-ie7 .v-tabsheet-content {
zoom: 1;
}
.v-tree-connectors .v-tree-node-drag-top.v-tree-node-leaf {
background-position: 2px 50%;
}
-
-/* IE6 */
-.v-ie6 .v-tree-connectors .v-tree-node {
- background: transparent url(img/connector-expand-ie6.png) no-repeat 2px -52px;
-}
-.v-ie6 .v-tree-connectors .v-tree-node-expanded {
- background: transparent url(img/connector-collapse-ie6.png) no-repeat 2px -52px;
-}
-.v-ie6 .v-tree-connectors .v-tree-node-last {
- background: transparent url(img/connector-expand-last-ie6.png) no-repeat 2px -52px;
-}
-.v-ie6 .v-tree-connectors .v-tree-node-last.v-tree-node-expanded {
- background: transparent url(img/connector-collapse-last-ie6.png) no-repeat 2px -52px;
-}
\ No newline at end of file
.v-tree-node-children {
padding-left: 1em;
}
-/* ie6compatnode is hidden from non ie6 browsers, for ie6
- * uses weird hack to sink all events properly
- */
-.v-tree-node-ie6compatnode {
- display: none;
-}
-/* IMPORTANT keep the offsetWidth of this element the same as the margin-left of v-tree-node-caption */
-.v-ie6 .v-tree-node-ie6compatnode {
- display: inline;
- float: left;
- background: orange;
- margin: 0;
- width: 0.8em;
- height: 0.8em;
- padding: 0.1em;
- filter: alpha(opacity=0);
-}
-.v-ie6 .v-tree-node,
-.v-ie6 .v-tree-node-children {
- clear: left;
-}
/***************************************
* Drag'n'drop styles
***************************************/
margin: -2px 2px -2px -2px;
background-color: #bcdcff;
}
-.v-ie6 .v-tree .v-tree-node-caption-drag-center div {
- margin: -2px ;
-}
.v-tree .v-tree-node-caption-drag-center div {
background-color: rgba(169,209,255,.6);
}
background: url(../treetable/img/arrow-right.png) right center no-repeat;
}
-.v-ie6 .v-treetable-node-closed {
- background-image: url(../treetable/img/arrow-right.gif);
-}
-
.v-treetable-node-open {
background: url(../treetable/img/arrow-down.png) right center no-repeat;
}
-.v-ie6 .v-treetable-node-open {
- background-image: url(../treetable/img/arrow-down.gif);
-}
-
.v-treetable .v-checkbox {
display: inline-block;
padding-bottom: 4px;
white-space: nowrap;
}
-.v-ie6 .v-upload,
.v-ie7 .v-upload {
margin:0;
}
overflow: hidden;
padding: 0;
}
-.v-ie6 .v-window-header {
- width: 100%;
-}
.v-window-header .v-icon {
vertical-align: middle; /* This has to be 'middle', not 'bottom', to allow larger icons than 16px */
}
height: 100%;
filter: alpha(opacity=50);
}
-/* IE6 workaround for position:fixed; */
-.v-ie6 .v-window-modalitycurtain {
- position: absolute;
- top: expression(document.documentElement.scrollTop + "px");
-}
-/* min-width for IE6 */
-.v-ie6 .v-window {
- width: 0; /* */
-}
/* Shadow for window */
.v-shadow-window {
position: absolute;
width: 28px; height: 28px;
background: transparent url(img/shadow/bottom-right.png);
}
-/* For IE6 (no transparent png's, we use a blur filter) */
-.v-ie6 .v-shadow-window * {
- display: none;
-}
-.v-ie6 .v-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
overflow: hidden;
}
-.v-ie6 .v-window,
-.v-ie6 .v-popupview-popup,
-.v-ie6 .v-filterselect-suggestpopup,
-.v-ie6 .v-datefield-popup,
-.v-ie6 .v-contextmenu,
-.v-ie6 .v-Notification,
-.v-ie6 .v-menubar-submenu {
- background-image: none;
- }
-
.v-filterselect-suggestpopup,
.v-contextmenu,
.v-menubar-submenu {
border-style: solid none;
}
-.v-ie6 .v-accordion-item-caption {
- background-image: none;
- }
-
div.v-accordion-item-caption,
div.v-accordion-item-open .v-accordion-item-caption:active {
background-color: transparent;
background-image: url(../../img/grad-dark-top2.png);
}
-.v-ie6 div.v-button-down .v-button-wrap {
- background-image: none;
- }
-
.v-button {
overflow: hidden;
}
overflow: hidden;
}
-body.v-ie6 .v-button {
- background-image: none;
- }
-
-body.v-ie6 .v-button .v-button-wrap {
- background-image: none;
- display: inline;
- zoom: 1;
- }
-
.v-button:focus {
outline: none;
}
margin-right: -0.5em;
}
-.v-ie6 .v-button-icon-on-right,
.v-ie7 .v-button-icon-on-right {
position: relative;
}
-.v-ie6 .v-button-icon-on-right .v-button-caption,
.v-ie7 .v-button-icon-on-right .v-button-caption {
padding-right: 14px;
}
-.v-ie6 .v-button-icon-on-right .v-icon,
.v-ie7 .v-button-icon-on-right .v-icon {
position: absolute;
right: 0;
height: 1.2em;
}
-.v-ie6 .v-datefield-button,
.v-ie7 .v-datefield-button {
height: 1.55em;
margin-top: 1px;
text-shadow: 0 1px 0 rgba(255,255,255,.7);
}
-.v-ie6 td.v-datefield-calendarpanel-month {
- background-image: none;
- }
-
span.v-datefield-calendarpanel-month {
display: block;
text-align: center;
background-position: 0 0;
}
-.v-ie6 .v-datefield-calendarpanel-header button {
- background-image: none;
- }
-
.v-datefield-calendarpanel-header button:active {
background-image: url(../../img/grad-dark-top2.png);
}
margin-bottom: 2px;
}
-.v-ie6 .v-datefield-calendarpanel-weekdays strong {
- background-image: none;
- }
-
.v-datefield-calendarpanel .v-first strong {
-webkit-border-bottom-left-radius: 3px;
-moz-border-radius-bottomleft: 3px;
border: 1px solid #c9c9c9;
}
-.v-ie6 .v-datefield-calendarpanel-day-today {
- background-image: none;
- }
-
.v-datefield-calendarpanel-day-selected,
.v-datefield-calendarpanel-day-selected:hover {
margin: 0 0 0 .3em;
border-width: 1px 0;
}
-.v-ie6 .v-menubar {
- background-image: none;
- }
-
.v-menubar .v-menubar-menuitem {
padding: .2em .5em;
line-height: normal;
background-image: url(../../img/grad-light-top2.png);
background-position: 0 -1px;
}
-
-.v-ie6 .v-menubar-submenu .v-menubar-menuitem-selected {
- background-image: none;
- }
\ No newline at end of file
text-shadow: 0 1px 1px rgba(0,0,0,.5);
}
-.v-ie6 .v-Notification-tray {
- background-image: none;
- }
-
.v-Notification-tray h1 {
font-size: 14px;
line-height: 18px;
padding: .3em .6em;
}
-.v-ie6 .v-panel-bubble .v-panel-caption-bubble {
- background-image: none;
- }
-
.v-panel-nocaption-bubble {
padding: 0;
margin: 0;
border: 1px solid #b3b3b3;
}
-.v-ie6 .v-progressindicator-wrapper,
-.v-ie6 .v-progressindicator-indicator {
- background-image: none;
- }
-
/*******************************************************************************
* Small
-ms-user-select: none;
}
-.v-ie6 .v-filterselect-prevpage-off,
-.v-ie6 .v-filterselect-nextpage-off,
-.v-ie6 .v-filterselect-prevpage,
-.v-ie6 .v-filterselect-nextpage {
- background-image: none;
- }
-
.v-filterselect-prevpage:active,
.v-filterselect-nextpage:active {
background-image: (../../img/grad-dark-bottom2.png);
background-position: 0 -1px;
}
-.v-ie6 .v-filterselect-suggestmenu .gwt-menuItem-selected {
- background-image: none;
- }
-
.v-filterselect-suggestpopup-small .v-filterselect-status {
font-size: .8em;
}
padding: .3em .5em;
}
-.v-ie6 .v-filterselect-select-button {
- background-image: none;
- }
-
.v-filterselect-select-button .v-filterselect-input {
display: block;
width: 100% !important;
height: 100%;
background-position: 100% -8px;
}
-
-.v-ie6 .v-filterselect-select-button .v-filterselect-button {
- float: none;
- position: relative;
- margin: -1.8em -.5em -.3em -.5em;
- padding: .3em .5em;
- }
\ No newline at end of file
border-width: 0 1px;
}
-.v-ie6 .v-slider-vertical {
- width: 6px;
- }
-
.v-slider-vertical .v-slider-base {
background-image: none;
width: 4px;
margin: 0;
margin-left: -5px;
}
-
-.v-ie6 .v-slider-base,
-.v-ie6 .v-slider-handle {
- background-image: none;
- }
\ No newline at end of file
width: 9px;
}
-.v-ie6 .v-splitpanel-hsplitter div,
-.v-ie6 .v-splitpanel-vsplitter div {
- background-image: url(../../img/split-handle-ie6.png);
- }
-
.v-splitpanel-vsplitter div {
background-position: 50% 2px;
margin: -1px 0;
background: #b3b3b3 url(../../img/grad-light-top.png) repeat-x;
}
-.v-ie6 .v-splitpanel-hsplitter,
-.v-ie6 .v-splitpanel-hsplitter-locked,
-.v-ie6 .v-splitpanel-vsplitter,
-.v-ie6 .v-splitpanel-vsplitter-locked {
- background-image: none;
- }
-
/*******************************************************************************
* Small
******************************************************************************/
line-height: 1px;
}
-body.v-ie6 .v-splitpanel-vsplitter-small,
-body.v-ie6 .v-splitpanel-vsplitter-small-locked {
- overflow: hidden;
- }
-
.v-splitpanel-hsplitter-small div {
width: 7px;
margin-left: -2px;
background: transparent;
overflow: hidden;
}
-
-.v-ie6 .v-splitpanel-hsplitter-small div,
-.v-ie6 .v-splitpanel-vsplitter-small div {
- background-image: none;
- }
\ No newline at end of file
line-height: normal;
}
-.v-ie6 .v-table-header-wrap,
-.v-ie6 .v-table-header-drag {
- background-image: none;
- }
-
.v-table-caption-container,
.v-table-header-drag {
padding-top: .2em;
background-position: 0 -1px;
}
-.v-ie6 .v-table tr.v-selected {
- background-image: none;
- }
-
div.v-table-focus-slot-right {
background: transparent;
border-right: 2px solid #b3b3b3;
-moz-border-radius-topright: 2px;
}
-.v-ie6 .v-tabsheet-tabitem-selected .v-caption {
- background-image: none;
- }
-
.v-tabsheet-content {
background: #fff;
border-color: #b3b3b3;
margin: .2em 0 0 0;
}
-.v-ie6 .v-tabsheet-caption-close {
- background-image: url(../../img/close-btn-ie6.png);
- }
-
.v-tabsheet-caption-close:hover {
background-position: .5em -25px;
}
-moz-border-radius: 6px;
}
-.v-ie6 .v-tabsheet-scroller {
- background-image: none;
- }
-
.v-tabsheet-scrollerPrev,
.v-tabsheet-scrollerNext,
.v-tabsheet-scrollerPrev-disabled,
filter: alpha(opacity=50);
}
-.v-ie6 .v-tabsheet-scrollerPrev,
-.v-ie6 .v-tabsheet-scrollerNext,
-.v-ie6 .v-tabsheet-scrollerPrev-disabled,
-.v-ie6 .v-tabsheet-scrollerNext-disabled{
- background-image: url(../../img/tab-arrows-ie6.png);
- }
-
.v-tabsheet-scroller button::-moz-focus-inner {
border: none;
padding: 0;
.v-filterselect-search {
padding-left: 17px;
}
-
-.v-ie6 input.v-textfield-search {
- /* Compensate for big style as well, since IE6 doesn't handle the selector */
- padding-left: 21px;
- }
\ No newline at end of file
z-index: 2;
}
-.v-ie6 .v-window-closebox {
- background-image: url(../../img/close-btn-ie6.png);
- }
-
.v-window-closebox:hover {
background-position: 0 -25px;
}
background-repeat: repeat-x;
}
-.v-ie6 .v-window-wrap {
- background: transparent !important;
- }
-
.v-window-outerheader {
padding: .2em 1.7em .5em 1.2em;
height: auto;
color: #fff;
}
-.v-ie6 .sidebar-menu .tab-selected,
-.v-ie6 .sidebar-menu .selected {
- background-image: none;
- }
-
.sidebar-menu .tab-selected:focus,
.sidebar-menu .selected:focus {
outline: none;
border-width: 1px 0;
}
-.v-ie6 .v-csslayout-toolbar {
- background-image: none;
- }
-
.v-csslayout-toolbar .v-csslayout-margin {
margin: 3px .3em 2px;
padding-bottom: 1px;
line-height: 16px;
}
-.v-ie6 .v-button .v-button-wrap {
- display: inline;
- zoom: 1;
-}
-
/* Link style button */
.v-button-link,
.v-disabled.v-button-link,
font-weight: bold;
margin: 1px 0 4px 0;
}
-
-.v-ie6 .v-view {
- border-top: none;
-}
\ No newline at end of file
min-width: 22px;
}
-.v-ie6 .v-datefield-calendarpanel-prevyear button,
-.v-ie6 .v-datefield-calendarpanel-nextyear button,
.v-ie7 .v-datefield-calendarpanel-prevyear button,
.v-ie7 .v-datefield-calendarpanel-nextyear button {
width: 22px;
background-color: #fff;
}
-.v-ie6 select {
- font-size: 1em;
-}
-
.v-filterselect-button {
width: 24px;
height: 24px;
.v-tabsheet-caption-close {
background: transparent url(close.png) no-repeat right top;
- -background-image: url(close-ie6.png);
cursor: default;
float: right;
margin: 3px -1px 0;
.v-tree-node {
background: transparent url(arrows_sprites.png) no-repeat -42px 1px;
- -background: transparent url(arrows_sprites-ie6.png) no-repeat -42px 1px;
}
.v-tree-node span {
background: #fff url(top-left.png) no-repeat;
}
-.v-ie6 .v-window-wrap,
.v-ie7 .v-window-wrap {
background-position: 1px 1px;
}
-.v-ie6 .v-window-wrap {
- border-bottom: none;
-}
-
-.v-ie6 .v-window-footer {
- border-bottom: 1px solid #c8c9ca;
- margin-top: -1px;
- padding-top: 1px;
-}
-
.v-window-outerheader {
height: 16px;
margin-left: 9px;
-.v-ie6 .v-nativebutton-link,
.v-ie7 .v-nativebutton-link,
.v-ie8 .v-nativebutton-link {
padding: 0;
text-align: left;
}
-
-/**
- * IE6 buttons --------------------------
- */
-.v-ie6 .v-button {
- border: 1px solid #b3b3b3;
- border-bottom-color: #9a9a9a;
- background: #d8d8d8 url(img/right.png) no-repeat 0 -1px;
- padding: 0 15px;
- height: 23px;
-}
-.v-ie6 .v-button .v-button-wrap {
- background: transparent;
- height: 20px;
- padding: 3px 0 0;
- display: inline;
- zoom: 1;
-}
-.v-ie6 .v-button-primary {
- background-image: url(img/primary-right.png);
-}
-.v-ie6 .v-button-small {
- background-image: url(img/small-right.png);
- height: 17px;
-}
-.v-ie6 .v-button-small .v-button-wrap {
- height: 17px;
- padding: 0;
-}
-.v-ie6 .v-button.v-pressed {
- background: transparent url(img/right-pressed.png) no-repeat 0 -1px;
-}
-/* Buttons on blue background */
-.v-ie6 .blue .v-button {
- border-color: #84949c;
- border-top-color: #83939b;
- border-bottom-color: #888d91;
-}
-/* Buttons on black background */
-.v-ie6 .black .v-button {
- border: 1px solid #0d0e0f;
- background: #202224 url(img/black/right.png) no-repeat 0 -1px;
- color: #c9ccce;
-}
-.v-ie6 .black .v-button-primary {
- background-image: url(img/black/primary-right.png);
-}
-.v-ie6 .black .v-button-small {
- background-image: url(img/black/small-right.png);
-}
-.v-ie6 .black .v-button.v-pressed {
- background-image: url(img/black/right-pressed.png);
-}
-
-
-/* Link style button */
-.v-ie6 .v-button-link,
-.v-ie6 .black .v-button-link {
- background: transparent;
- border: none;
- height: auto;
- line-height: normal;
- padding: 0;
-}
-.v-ie6 .v-button-link .v-button-wrap,
-.v-ie6 .black .v-button-link .v-button-wrap {
- padding: 0;
- height: auto;
-}
\ No newline at end of file
height: 16px;
background: transparent url(../common/icons/error.png) no-repeat 50%;
}
-.v-ie6 .v-errorindicator {
- background-image: url(../common/icons/error-ie6.png);
-}
.v-tooltip {
background-color: #fffcdd;
border: 1px solid #b8b295;
.v-ie .v-datefield-calendarpanel-nextmonth button {
border: none;
}
-.v-ie6 .v-datefield-calendarpanel-prevmonth button,
-.v-ie6 .v-datefield-calendarpanel-nextmonth button {
- width: 24px;
-}
.v-datefield-calendarpanel-nextmonth button {
background-image: url(img/month-next.png); /** sprite-ref: verticals; sprite-alignment: center */
}
background-image: url(img/popup-btn-black-pressed.png); /** sprite-ref: black-verticals */
}
-/* Small adjustment for IE6 */
-.v-ie6 .v-datefield-popupcalendar .v-datefield-button {
- margin-top: 1px;
-}
-
/*------------
* on black background
height: 16px;
background: transparent url(../common/icons/error.png) no-repeat 50%;
}
-.v-ie6 .v-formlayout-cell .v-errorindicator {
- background-image: url(../common/icons/error-ie6.png);
-}
.v-formlayout-captioncell {
text-align: right;
white-space: nowrap;
margin-top: 5px;
min-height: 20px;
}
-.v-ie6 .v-form-errormessage {
- height: 20px;
- background-image: url(../common/icons/error-ie6.png);
-}
.v-form fieldset {
border: none;
border-top: 1px solid #babfc0;
background: #fff;
min-height: 100%;
}
-.v-ie6 .v-panel-content {
- background: #fff;
-}
.blue .v-panel-deco {
border-color: #92a3ac;
background: #adc2cd;
display: inline-block;
vertical-align: middle;
}
-.v-ie6 .v-panel-caption .v-errorindicator {
- background-image: url(../common/icons/error-ie6.png);
-}
/* Light style */
.v-panel-light .v-panel-caption-light,
.v-panel-content-light > div {
background: transparent;
}
-.v-ie6 .v-panel-content-light {
- background: transparent;
-}
.v-panel-light .v-panel-deco-light {
height: 0;
border: none;
background-image: url(img/left.png); /** sprite-ref: verticals; sprite-margin-bottom: 1px */
padding-left: 2px;
}
-.v-ie6 .v-filterselect {
- background-image: url(img/left-ie6.png); /** sprite-ref: verticals; sprite-margin-bottom: 1px */
-}
.v-app .v-filterselect-input,
.v-window .v-filterselect-input,
.v-popupview-popup .v-filterselect-input {
.v-filterselect-focus {
background-image: url(img/left-focus.png); /** sprite-ref: verticals; sprite-margin-bottom: 1px */
}
-.v-ie6 .v-filterselect-focus {
- background-image: url(img/left-focus-ie6.png); /** sprite-ref: verticals; sprite-margin-bottom: 1px */
-}
.v-filterselect-focus .v-filterselect-input {
background-image: url(img/center-focus.png); /** sprite-ref: verticals; sprite-alignment: repeat */
}
.black .v-filterselect {
background-image: url(img/black/left-black.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
-.v-ie6 .black .v-filterselect {
- background-image: url(img/black/left-black-ie6.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
-}
.v-app .black .v-filterselect-input,
.v-window .black .v-filterselect-input,
.v-window-black .v-filterselect-input,
.black .v-filterselect-focus {
background-image: url(img/black/left-black-focus.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
-.v-ie6 .black .v-filterselect-focus {
- background-image: url(img/black/left-black-focus-ie6.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
-}
.black .v-filterselect-focus .v-filterselect-input {
background-image: url(img/black/center-black-focus.png); /** sprite-ref: black-verticals; sprite-alignment: repeat; sprite-margin-bottom: 1px */
}
background: #151717;
color: #c9ccce;
}
-
-/* Twincolselect needs a little tweak in IE6 */
-.v-ie6 .v-select-twincol-buttons .v-button {
- padding-left: 12px;
- padding-right: 12px;
-}
-
-/* IE6 needs some help identifying when the input is readonly */
-.v-ie6 .v-filterselect.v-readonly,
-.v-ie6 .v-filterselect .v-filterselect-input-readonly {
- background: transparent;
-}
\ No newline at end of file
line-height: normal;
}
-.v-ie6 .v-table,
-.v-ie6 .v-table-header-wrap,
-.v-ie6 .v-table-footer-wrap,
-.v-ie6 .v-table-column-selector {
- /* The header will overflow the Table due to a bug in IE6 after changes in #3003. To fix this (#7314)
- * we need to apply position:relative to the wrappers and selector to make them appear on top of the
- * header. We also need to apply it to the table root div to get rid of a really weird IE6 rendering bug
- * caused by all this relativeness (see attachment in #7314).
- */
- position: relative;
-}
-
-.v-ie6 .v-table.v-disabled,
.v-ie7 .v-table.v-disabled {
/* Fixes ie issue #7324 where disabled shim does not cover table body */
position: relative;
.v-ie7 .v-tabsheet-caption-close {
margin-top: -17px;
}
-.v-ie6 .v-tabsheet-caption-close {
- float: none;
-}
.v-tabsheet-caption-close:hover {
background-image: url(img/close-btn-hover.png); /** sprite-ref: verticals */
}
.v-ff2 .v-tabsheet-tabs .v-errorindicator {
display: -moz-inline-stack;
}
-.v-ie6 .v-tabsheet-tabs .v-errorindicator {
- background-image: url(../common/icons/error-ie6.png);
-}
.v-ie .v-tabsheet-tabs .v-errorindicator {
zoom: 1;
display: inline;
margin-top: -2px;
margin-bottom: -2px;
}
-.v-ie6 .v-table-cell-wrapper input.v-textfield {
- margin-top: -2px;
- margin-bottom: -2px;
-}
-.v-ie6 .v-table-cell-wrapper div input.v-textfield {
- margin-top: 0;
- margin-bottom: 0;
-}
/* Textfield on black background */
.black .v-textfield,
.black .v-textarea {
.v-tree-node {
background: transparent url(img/arrows.png) no-repeat 6px -10px;
}
-.v-ie6 .v-tree-node {
- background-image: url(img/arrows-ie6.png);
- background-repeat: no-repeat;
-}
-.v-ie6 div.v-tree-node-leaf {
- background: transparent;
-}
.v-tree-node-expanded {
background-position: -7px 5px;
}
.v-tree-node-children {
padding-left: 16px;
}
-/* IMPORTANT keep the offsetWidth (width + padding) of this element the same as the margin-left of v-tree-node-caption */
-.v-ie6 .v-tree-node-ie6compatnode {
- width: 14px;
- height: 10px;
- padding: 1px;
-}
.v-tree-node-caption.v-tree-node-focused span{
padding-left: 1px;
padding-top: 0px;
.v-tree-node-focused span{
border: 1px dotted black;
}
-.v-ie6 .v-tree-node-ie6compatnode.v-tree-node-focused{
- padding-left: 0px;
-}
/***************************************
* Drag'n'drop styles
***************************************/
.v-op .v-window-wrap {
border-color: rgba(0,0,0,.2);
}
-.v-ff2 .v-window-wrap,
-.v-ie6 .v-window-wrap {
+.v-ff2 .v-window-wrap {
border: none;
}
-.v-ff2 .v-window-outerheader,
-.v-ie6 .v-window-outerheader {
+.v-ff2 .v-window-outerheader {
border: 1px solid #808386;
border-bottom: none;
}
-.v-ff2 .v-window-contents,
-.v-ie6 .v-window-contents {
+.v-ff2 .v-window-contents {
border: 1px solid #808386;
border-top: none;
border-bottom: none;
}
-.v-ff2 .v-window-footer,
-.v-ie6 .v-window-footer {
+.v-ff2 .v-window-footer {
border: 1px solid #808386;
border-top: none;
}
padding-left: 13px;
background: transparent url(../common/icons/error.png) no-repeat 0 50%;
}
-.v-ie6 .v-window-error .v-window-header {
- background-image: url(../common/icons/error-ie6.png);
-}
.v-window-resizebox {
width: 15px;
height: 15px;
background: #f7f7f8 repeat-x;
background-image: url(img/content-bg-light.png); /** sprite-ref: verticals; sprite-alignment: repeat */
}
-.v-ie6 .v-window-light .v-window-wrap2 {
- background-image: none;
-}
-
-
-
/**
width: 14px;
height: 14px;
}
-.v-ie6 .v-window-black .v-window-resizebox {
- background-image: url(img/black/resize-ie6.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 4px */
-}
-.v-ie6 .v-window-black .v-window-contents {
- background: transparent url(img/black/content-bg-ie6.png) repeat-x;
-}
/* Must be last to make this image last in the sprites */
.v-window-black .v-window-contents {
border: none;
.v-checkbox .v-errorindicator {\r
padding-left: 10px;\r
}
-.v-ie6 .v-checkbox .v-errorindicator {\r
- padding-right: 4px;\r
- }
.v-ie7 .v-checkbox .v-errorindicator {\r
padding-right: 7px;\r
}
-.v-ie6 .v-button .v-errorindicator,\r
.v-ie7 .v-button .v-errorindicator {\r
padding-right: 5px;\r
}
\ No newline at end of file
height: 16px;
background: transparent url(../icons/16/error.png) no-repeat top right;
}
-.v-ie6 .v-errorindicator {
- /* gif for transparency */
- background-image: url(../icons/16/error.gif);
-}
.v-ie7 .v-errorindicator {
margin-left: -3px;
}
\ No newline at end of file
margin-top: 5px;
min-height: 20px;
}
-.v-ie6 .v-form-errormessage {
- height: 20px
-}
.v-form fieldset {
border: none;
border-top: 1px solid #babfc0;
overflow: hidden;
}
/* IE specific rules */
-.v-ie6 .v-panel {
- background: transparent;
-}
-.v-ie6 .v-panel-caption {
- border: 1px solid #babfc0;
- border-bottom: none;
- background: #fff;
- margin: 0;
- padding-left: 18px
-}
-.v-ie6 .v-panel-nocaption {
- border: none;
- background: transparent;
- margin: 0;
- height: 0;
-}
-.v-ie6 .v-panel-caption-light {
- border: none;
- background: transparent;
-}
-.v-ie6 .v-panel-content,
.v-ie7 .v-panel-content,
.v-ie8 .v-panel-content {
border-bottom: 1px solid #babfc0;
}
-.v-ie6 .v-panel-content-light,
.v-ie7 .v-panel-content-light,
.v-ie8 .v-panel-content-light {
border-bottom: none;
}
-.v-ie6 .v-panel-deco,
.v-ie7 .v-panel-deco,
.v-ie8 .v-panel-deco {
height: 0;
border-top: 1px solid #b6bbbc;
}
-/* IE6 needs some help identifying when the input is readonly */
-.v-ie6 .v-filterselect.v-readonly,
-.v-ie6 .v-filterselect .v-filterselect-input-readonly {
- background: transparent;
-}
-
/* Error styles (disabled by default)
----------------------------------
background-color: #FFE0E0;
}
*/
-
-/* IE specific styles */
-
-.v-ie6 .v-slider,
-.v-ie6 .v-slider-vertical {
- margin: 0;
-}
-.v-ie6 .v-slider .v-slider-handle {
- margin: -1px 0;
-}
-.v-ie6 .v-slider-vertical .v-slider-handle {
- margin: 0 -1px;
-}
\ No newline at end of file
margin: -1px 0;
}
-/* IE6 specific styles */
-
-.v-ie6 .v-splitpanel-hsplitter div,
-.v-ie6 .v-splitpanel-hsplitter-locked div {
- height: 99%;
-}
-
-.v-ie6 .v-splitpanel-vsplitter,
-.v-ie6 .v-splitpanel-vsplitter-locked {
- height: 8px;
-}
-
-.v-ie6 .v-splitpanel-vsplitter div,
-.v-ie6 .v-splitpanel-vsplitter-locked div {
- margin: 0;
-}
-
/* Rounded style */
.v-splitpanel-hsplitter-rounded div,
.v-splitpanel-vsplitter-rounded-locked div {
margin: -1px 4px;
}
-.v-ie6 .v-splitpanel-hsplitter-rounded div,
-.v-ie6 .v-splitpanel-hsplitter-rounded-locked div {
- height: 97%;
-}
/* Small style */
.v-table .v-link {
display: inline;
}
-/* IE6 hack */
-.v-ie6 .v-table-scrollposition {
- background: transparent;
- /*
- AlphaImageLoader uses src attribute relative to host page, not CSS
- We need multiple different filters because we cannot be sure how host page is served compared to theme resources
- TODO: This actually does not work as expected, since only the last filter is applied. Can we chain filters together (i.e. contain all versions on one line)?
- */
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../../VAADIN/themes/default/table/img/scroll-position-bg.png", sizingMethod="scale");
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../VAADIN/themes/default/table/img/scroll-position-bg.png", sizingMethod="scale");
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="VAADIN/themes/default/table/img/scroll-position-bg.png", sizingMethod="scale");
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/VAADIN/themes/default/table/img/scroll-position-bg.png", sizingMethod="scale");
-}
-
/* Borderless style */
.v-table-borderless .v-table-header-wrap,
padding-top: 12px;
}*/
/* IE specific styles */
-.v-ie6 .v-tabsheet-tabs {
- height: 46px;
-}
-.v-ie6 .v-tabsheet-tabitem-selected {
- border: 1px solid #babfc0;
- border-bottom: none;
- background: #fff;
- margin-top: 0;
- height: 23px;
- padding: 18px 14px 6px 15px;
- cursor: default;
- color: #ee5311;
-}
-.v-ie6 .v-tabsheet-tabitem-selected .v-caption {
- background: transparent;
- padding: 0;
- margin: 0;
-}
.v-ie .v-tabsheet-content {
border-bottom: none;
}
padding-left: 3px;
}*/
/* IE specific styles */
-.v-ie6 .v-tabsheet-tabs-light,
.v-ie7 .v-tabsheet-tabs-light {
height: 32px;
}
-.v-ie6 .v-tabsheet-tabs-light .v-tabsheet-tabitem-selected,
.v-ie7 .v-tabsheet-tabs-light .v-tabsheet-tabitem-selected {
border: none;
background: #fff url(img/inline-tab-right.png) no-repeat right top;
padding: 0;
height: 32px;
}
-.v-ie6 .v-tabsheet-tabs-light .v-tabsheet-tabitem-selected .v-caption,
.v-ie7 .v-tabsheet-tabs-light .v-tabsheet-tabitem-selected .v-caption {
background: transparent url(img/inline-tab-left.png) no-repeat -7px 0;
padding: 9px 11px 0 11px;
.v-tree-node-children {
padding-left: 16px;
}
-/* IMPORTANT keep the offsetWidth (width + padding) of this element the same as the margin-left of v-tree-node-caption */
-.v-ie6 .v-tree-node-ie6compatnode {
- width: 14px;
- height: 10px;
- padding: 1px;
-}
.v-tree{
outline:none;
}
.v-tree-node-focused span{
border: 1px dotted black;
}
-.v-ie6 .v-tree-node-ie6compatnode.v-tree-node-focused{
- padding-left: 0px;
-}
/***************************************
* Drag'n'drop styles
***************************************/
letter-spacing: -0.03em;
color: #f14c1a;
text-shadow: 0 1px 0 #fff;
- /* This element is 100% wide in IE6 */
}
.v-window-contents {
background: #fff;
private static void createSprites(String themeName)
throws FileNotFoundException, IOException {
String[] parameters = new String[] { "--sprite-png-depth", "AUTO",
- "--sprite-png-ie6", "--css-file-suffix", "-sprite",
- "--css-file-encoding", "UTF-8", "--root-dir-path",
- THEME_DIR + themeName, "--log-level", "WARN" };
+ "--css-file-suffix", "-sprite", "--css-file-encoding", "UTF-8",
+ "--root-dir-path", THEME_DIR + themeName, "--log-level", "WARN" };
org.carrot2.labs.smartsprites.SmartSprites.main(parameters);
<when-type-is class="com.google.gwt.core.client.impl.SchedulerImpl" />
</replace-with>
- <!-- Use our own history impl for IE to workaround #2931. -->
+ <!-- Use our own history impl for IE7 to workaround #2931. -->
<replace-with class="com.vaadin.terminal.gwt.client.HistoryImplIEVaadin">
<when-type-is class="com.google.gwt.user.client.impl.HistoryImpl" />
<when-property-is name="user.agent" value="ie6" />
public void onModuleLoad() {
- // Enable IE6 Background image caching
- if (BrowserInfo.get().isIE6()) {
- enableIE6BackgroundImageCache();
- }
// Prepare VConsole for debugging
if (isDebugMode()) {
VDebugConsole console = GWT.create(VDebugConsole.class);
startNextApplication();
}
- // From ImageSrcIE6
- private static native void enableIE6BackgroundImageCache()
- /*-{
- // Fix IE background image refresh bug, present through IE6
- // see http://www.mister-pixel.com/#Content__state=is_that_simple
- // this only works with IE6 SP1+
- try {
- $doc.execCommand("BackgroundImageCache", false, true);
- } catch (e) {
- // ignore error on other browsers
- }
- }-*/;
-
/**
* Checks if client side is in debug mode. Practically this is invoked by
* adding ?debug parameter to URI.
}
- /**
- * Adds PNG-fix conditionally (only for IE6) to the specified IMG -element.
- *
- * @param el
- * the IMG element to fix
- */
- public void addPngFix(Element el) {
- BrowserInfo b = BrowserInfo.get();
- if (b.isIE6()) {
- Util.addPngFix(el);
- }
- }
-
/*
* Helper to run layout functions triggered by child components with a
* decent interval.
return isSafari() && browserDetails.getBrowserMajorVersion() == 4;
}
- public boolean isIE6() {
- return isIE() && browserDetails.getBrowserMajorVersion() == 6;
- }
-
public boolean isIE7() {
return isIE() && browserDetails.getBrowserMajorVersion() == 7;
}
import java.util.Map;
import java.util.Set;
-import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.DivElement;
return BrowserInfo.get().isIE();
}
- /**
- * Detects if current browser is IE6.
- *
- * @deprecated use BrowserInfo class instead
- *
- * @return true if IE6
- */
- @Deprecated
- public static boolean isIE6() {
- return BrowserInfo.get().isIE6();
- }
-
/**
* @deprecated use BrowserInfo class instead
* @return
DOM.setInnerText(escapeHtmlHelper, html);
String escapedText = DOM.getInnerHTML(escapeHtmlHelper);
if (BrowserInfo.get().isIE() && BrowserInfo.get().getIEVersion() < 9) {
- // #7478 IE6-IE8 "incorrectly" returns "<br>" for newlines set using
+ // #7478 IE7-IE8 "incorrectly" returns "<br>" for newlines set using
// setInnerText. The same for " " which is converted to " "
escapedText = escapedText.replaceAll("<(BR|br)>", "\n");
escapedText = escapedText.replaceAll(" ", " ");
return attribute;
}
- /**
- * Adds transparent PNG fix to image element; only use for IE6.
- *
- * @param el
- * IMG element
- */
- public native static void addPngFix(Element el)
- /*-{
- el.attachEvent("onload", function() {
- @com.vaadin.terminal.gwt.client.Util::doIE6PngFix(Lcom/google/gwt/user/client/Element;)(el);
- },false);
- }-*/;
-
- private native static void doPngFix(Element el, String blankImageUrl)
- /*-{
- var src = el.src;
- if (src.indexOf(".png") < 1) return;
- var w = el.width || 16;
- var h = el.height || 16;
- if(h==30 || w==28) {
- setTimeout(function(){
- el.style.height = el.height + "px";
- el.style.width = el.width + "px";
- el.src = blankImageUrl;
- },10);
- } else {
- el.src = blankImageUrl;
- el.style.height = h + "px";
- el.style.width = w + "px";
- }
- el.style.padding = "0";
- el.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='crop')";
- }-*/;
-
- public static void doIE6PngFix(Element el) {
- String blankImageUrl = GWT.getModuleBaseURL() + "ie6pngfix/blank.gif";
- String src = el.getAttribute("src");
- if (src != null && !src.equals(blankImageUrl)) {
- doPngFix(el, blankImageUrl);
- }
- }
-
/**
* Clones given element as in JavaScript.
*
public static int measureHorizontalPaddingAndBorder(Element element,
int paddingGuess) {
String originalWidth = DOM.getStyleAttribute(element, "width");
- String originalOverflow = "";
- if (BrowserInfo.get().isIE6()) {
- originalOverflow = DOM.getStyleAttribute(element, "overflow");
- DOM.setStyleAttribute(element, "overflow", "hidden");
- }
+
int originalOffsetWidth = element.getOffsetWidth();
int widthGuess = (originalOffsetWidth - paddingGuess);
if (widthGuess < 1) {
int padding = element.getOffsetWidth() - widthGuess;
DOM.setStyleAttribute(element, "width", originalWidth);
- if (BrowserInfo.get().isIE6()) {
- DOM.setStyleAttribute(element, "overflow", originalOverflow);
- }
+
return padding;
}
int offsetWidth = element.getOffsetWidth();
int offsetHeight = element.getOffsetHeight();
- // if (BrowserInfo.get().isIE6()) {
if (offsetHeight < 1) {
offsetHeight = 1;
}
offsetWidth = 10;
}
element.getStyle().setPropertyPx("width", offsetWidth);
- // }
element.getStyle().setPropertyPx("height", offsetHeight);
- element.getPropertyInt("clientHeight");
element.getStyle().setProperty("height", height);
- // if (BrowserInfo.get().isIE6()) {
element.getStyle().setProperty("width", width);
- // }
} else {
borders = element.getOffsetHeight()
- element.getPropertyInt("clientHeight");
private final ApplicationConnection client;
private boolean placedAfterComponent = false;
- private boolean iconOnloadHandled = false;
private int maxWidth = -1;
// Icon forces the caption to be above the component
placedAfterComponent = false;
- iconOnloadHandled = false;
icon.setUri(uidl.getStringAttribute(ATTRIBUTE_ICON));
} else if (icon != null) {
}
if (DOM.eventGetType(event) == Event.ONLOAD
- && icon.getElement() == target && !iconOnloadHandled) {
+ && icon.getElement() == target) {
icon.setWidth("");
icon.setHeight("");
- /*
- * IE6 pngFix causes two onload events to be fired and we want to
- * react only to the first one
- */
- iconOnloadHandled = true;
-
// if max width defined, recalculate
if (maxWidth != -1) {
setMaxWidth(maxWidth);
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.user.client.ui.impl.FocusImpl;
-import com.vaadin.terminal.gwt.client.BrowserInfo;
/**
* A panel that contains an always visible 0x0 size element that holds the focus
- * for all browsers but IE6.
*/
public class FocusElementPanel extends SimpleFocusablePanel {
@Override
public void setWidget(Widget w) {
super.setWidget(w);
- if (!BrowserInfo.get().isIE6()) {
- if (focusElement.getParentElement() == null) {
- Style style = focusElement.getStyle();
- style.setPosition(Position.FIXED);
- style.setTop(0, Unit.PX);
- style.setLeft(0, Unit.PX);
- getElement().appendChild(focusElement);
- /* Sink from focusElement too as focus and blur don't bubble */
- DOM.sinkEvents(
- (com.google.gwt.user.client.Element) focusElement
- .cast(), Event.FOCUSEVENTS);
- // revert to original, not focusable
- getElement().setPropertyObject("tabIndex", null);
- } else {
- moveFocusElementAfterWidget();
- }
+ if (focusElement.getParentElement() == null) {
+ Style style = focusElement.getStyle();
+ style.setPosition(Position.FIXED);
+ style.setTop(0, Unit.PX);
+ style.setLeft(0, Unit.PX);
+ getElement().appendChild(focusElement);
+ /* Sink from focusElement too as focus and blur don't bubble */
+ DOM.sinkEvents(
+ (com.google.gwt.user.client.Element) focusElement.cast(),
+ Event.FOCUSEVENTS);
+ // revert to original, not focusable
+ getElement().setPropertyObject("tabIndex", null);
+ } else {
+ moveFocusElementAfterWidget();
}
}
@Override
public void setFocus(boolean focus) {
- if (BrowserInfo.get().isIE6()) {
- super.setFocus(focus);
+ if (focus) {
+ FocusImpl.getFocusImplForPanel().focus(
+ (Element) focusElement.cast());
} else {
- if (focus) {
- FocusImpl.getFocusImplForPanel().focus(
- (Element) focusElement.cast());
- } else {
- FocusImpl.getFocusImplForPanel().blur(
- (Element) focusElement.cast());
- }
+ FocusImpl.getFocusImplForPanel()
+ .blur((Element) focusElement.cast());
}
}
@Override
public void setTabIndex(int tabIndex) {
- if (BrowserInfo.get().isIE6()) {
- super.setTabIndex(tabIndex);
- } else {
- getElement().setTabIndex(-1);
- if (focusElement != null) {
- focusElement.setTabIndex(tabIndex);
- }
+ getElement().setTabIndex(-1);
+ if (focusElement != null) {
+ focusElement.setTabIndex(tabIndex);
}
}
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.user.client.ui.impl.FocusImpl;
-import com.vaadin.terminal.gwt.client.BrowserInfo;
/**
* A scrollhandlers similar to {@link ScrollPanel}.
if (useFakeFocusElement()) {
if (focusElement.getParentElement() == null) {
Style style = focusElement.getStyle();
- if (BrowserInfo.get().isIE6()) {
- style.setOverflow(Overflow.HIDDEN);
- style.setHeight(0, Unit.PX);
- style.setWidth(0, Unit.PX);
- style.setPosition(Position.ABSOLUTE);
-
- addScrollHandler(this);
- } else {
- style.setPosition(Position.FIXED);
- style.setTop(0, Unit.PX);
- style.setLeft(0, Unit.PX);
- }
+ style.setPosition(Position.FIXED);
+ style.setTop(0, Unit.PX);
+ style.setLeft(0, Unit.PX);
getElement().appendChild(focusElement);
/* Sink from focusElemet too as focusa and blur don't bubble */
DOM.sinkEvents(
DOM.setElementProperty(getElement(), "alt", "");
setStyleName(CLASSNAME);
this.client = client;
- client.addPngFix(getElement());
}
public Icon(ApplicationConnection client, String uidlUri) {
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
import com.vaadin.terminal.gwt.client.ApplicationConnection;
-import com.vaadin.terminal.gwt.client.BrowserInfo;
import com.vaadin.terminal.gwt.client.Container;
import com.vaadin.terminal.gwt.client.EventId;
import com.vaadin.terminal.gwt.client.Paintable;
import com.vaadin.terminal.gwt.client.UIDL;
import com.vaadin.terminal.gwt.client.Util;
import com.vaadin.terminal.gwt.client.VCaption;
-import com.vaadin.terminal.gwt.client.VConsole;
public class VAbsoluteLayout extends ComplexPanel implements Container {
canvas.getStyle().setProperty("width", width);
if (!rendering) {
- if (BrowserInfo.get().isIE6()) {
- relayoutWrappersForIe6();
- }
relayoutRelativeChildren();
}
}
canvas.getStyle().setProperty("height", height);
if (!rendering) {
- if (BrowserInfo.get().isIE6()) {
- relayoutWrappersForIe6();
- }
relayoutRelativeChildren();
}
}
- private void relayoutWrappersForIe6() {
- for (Widget wrapper : getChildren()) {
- if (wrapper instanceof AbsoluteWrapper) {
- ((AbsoluteWrapper) wrapper).ie6Layout();
- }
- }
- }
-
public class AbsoluteWrapper extends SimplePanel {
private String css;
private String left;
style.setProperty("right", right);
style.setProperty("bottom", bottom);
- if (BrowserInfo.get().isIE6()) {
- ie6Layout();
- }
}
updateCaptionPosition();
}
- caption.getHeight());
}
}
-
- 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, true);
- VConsole.log("ALB" + bottompixels);
- int height = canvas.getOffsetHeight() - bottompixels
- - getElement().getOffsetTop();
- VConsole.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, false);
- VConsole.log("ALR" + rightPixels);
- int width = canvas.getOffsetWidth() - rightPixels
- - getElement().getOffsetLeft();
- VConsole.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, boolean vertical) {
- if (measureElement == null) {
- measureElement = DOM.createDiv();
- measureElement.getStyle().setProperty("position", "absolute");
- canvas.appendChild(measureElement);
- }
- if (vertical) {
- measureElement.getStyle().setProperty("height", cssLength);
- return measureElement.getOffsetHeight();
- } else {
- measureElement.getStyle().setProperty("width", cssLength);
- return measureElement.getOffsetWidth();
- }
}
/**
import com.google.gwt.user.client.ui.ComplexPanel;
import com.google.gwt.user.client.ui.Widget;
import com.vaadin.terminal.gwt.client.ApplicationConnection;
-import com.vaadin.terminal.gwt.client.BrowserInfo;
import com.vaadin.terminal.gwt.client.ContainerResizedListener;
import com.vaadin.terminal.gwt.client.Paintable;
import com.vaadin.terminal.gwt.client.RenderInformation;
public VAccordion() {
super(CLASSNAME);
- // IE6 needs this to calculate offsetHeight correctly
- if (BrowserInfo.get().isIE6()) {
- DOM.setStyleAttribute(getElement(), "zoom", "1");
- }
}
@Override
setElement(DOM.createDiv());
caption = new VCaption(null, client);
caption.addClickHandler(this);
- if (BrowserInfo.get().isIE6()) {
- DOM.setEventListener(captionNode, this);
- DOM.sinkEvents(captionNode, Event.BUTTON_LEFT);
- }
super.add(caption, captionNode);
DOM.appendChild(captionNode, caption.getElement());
DOM.appendChild(getElement(), captionNode);
removeStyleDependentName("open");
setHeight(-1);
setWidth("");
- if (BrowserInfo.get().isIE6()) {
- // Work around for IE6 layouting problem #3359
- getElement().getStyle().setProperty("zoom", "1");
- }
open = false;
}
}
wrapper.insertBefore(errorIndicatorElement, captionElement);
- // Fix for IE6, IE7
- if (BrowserInfo.get().isIE6() || BrowserInfo.get().isIE7()) {
+ // Fix for IE7
+ if (BrowserInfo.get().isIE7()) {
errorIndicatorElement.setInnerText(" ");
}
@Override
public void setWidth(String width) {
- if (BrowserInfo.get().isIE6() || BrowserInfo.get().isIE7()) {
+ if (BrowserInfo.get().isIE7()) {
if (width != null && width.length() > 2) {
// Assume pixel values are always sent from
// ApplicationConnection
import com.google.gwt.user.client.ui.MenuItem;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.impl.FocusImpl;
-import com.vaadin.terminal.gwt.client.BrowserInfo;
import com.vaadin.terminal.gwt.client.Focusable;
import com.vaadin.terminal.gwt.client.Util;
public void onLoad(LoadEvent event) {
// Handle icon onload events to ensure shadow is resized correctly
- if (BrowserInfo.get().isIE6()) {
- // Ensure PNG transparency works in IE6
- Util.doIE6PngFix((Element) Element.as(event.getNativeEvent()
- .getEventTarget()));
- }
delayedImageLoadExecutioner.trigger();
}
setHTML("");
el = DOM.createImg();
created = true;
- client.addPngFix(el);
DOM.sinkEvents(el, Event.ONLOAD);
}
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
-import com.google.gwt.dom.client.Style.Overflow;
import com.google.gwt.event.dom.client.BlurEvent;
import com.google.gwt.event.dom.client.BlurHandler;
import com.google.gwt.event.dom.client.ClickEvent;
}
public void onLoad(LoadEvent event) {
- if (BrowserInfo.get().isIE6()) {
- // Ensure PNG transparency works in IE6
- Util.doIE6PngFix((Element) Element.as(event.getNativeEvent()
- .getEventTarget()));
- }
-
// Handle icon onload events to ensure shadow is resized
// correctly
delayedImageLoadExecutioner.trigger();
private void updateSelectedIconPosition() {
// Position icon vertically to middle
int availableHeight = 0;
- if (BrowserInfo.get().isIE6()) {
- getElement().getStyle().setOverflow(Overflow.HIDDEN);
- availableHeight = getOffsetHeight();
- getElement().getStyle().setProperty("overflow", "");
- } else {
- availableHeight = getOffsetHeight();
- }
+ availableHeight = getOffsetHeight();
int iconHeight = Util.getRequiredHeight(selectedItemIcon);
int marginTop = (availableHeight - iconHeight) / 2;
this.width = width;
}
- if (BrowserInfo.get().isIE6()) {
- // Required in IE when textfield is wider than this.width
- getElement().getStyle().setOverflow(Overflow.HIDDEN);
- horizPaddingAndBorder = Util.setWidthExcludingPaddingAndBorder(
- this, width, horizPaddingAndBorder);
- getElement().getStyle().setProperty("overflow", "");
- } else {
- horizPaddingAndBorder = Util.setWidthExcludingPaddingAndBorder(
- this, width, horizPaddingAndBorder);
- }
+ horizPaddingAndBorder = Util.setWidthExcludingPaddingAndBorder(this,
+ width, horizPaddingAndBorder);
if (initDone) {
updateRootWidth();
* @return The width in pixels
*/
private int getMainWidth() {
- int componentWidth;
- if (BrowserInfo.get().isIE6()) {
- // Required in IE when textfield is wider than this.width
- getElement().getStyle().setOverflow(Overflow.HIDDEN);
- componentWidth = getOffsetWidth();
- getElement().getStyle().setProperty("overflow", "");
- } else {
- componentWidth = getOffsetWidth();
- }
- return componentWidth;
+ return getOffsetWidth();
}
/**
import com.google.gwt.user.client.ui.ComplexPanel;\r
import com.google.gwt.user.client.ui.Widget;\r
import com.vaadin.terminal.gwt.client.ApplicationConnection;\r
-import com.vaadin.terminal.gwt.client.BrowserInfo;\r
import com.vaadin.terminal.gwt.client.Container;\r
import com.vaadin.terminal.gwt.client.Paintable;\r
import com.vaadin.terminal.gwt.client.RenderInformation;\r
\r
renderInformation.setContentAreaHeight(renderInformation\r
.getRenderedSize().getHeight() - getSpaceConsumedVertically());\r
- if (BrowserInfo.get().isIE6()) {\r
- getElement().getStyle().setProperty("overflow", "hidden");\r
- }\r
renderInformation.setContentAreaWidth(renderInformation\r
.getRenderedSize().getWidth() - borderPaddingHorizontal);\r
}\r
@Override
public void setText(String text) {
if (BrowserInfo.get().isIE() && BrowserInfo.get().getIEVersion() < 9) {
- // #3983 - IE6-IE8 incorrectly replaces \n with <br> so we do the
+ // #3983 - IE7,IE8 incorrectly replaces \n with <br> so we do the
// escaping manually and set as HTML
super.setHTML(Util.escapeHTML(text));
} else {
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
-import com.google.gwt.dom.client.NodeList;
import com.google.gwt.dom.client.Style;
import com.google.gwt.dom.client.Style.Overflow;
import com.google.gwt.dom.client.Style.Unit;
}
this.width = width;
- if (BrowserInfo.get().isIE6() && width.endsWith("px")) {
- // IE6 sometimes measures wrong using
- // Util.setWidthExcludingPaddingAndBorder so this is extracted to a
- // special case that uses another method. Really should fix the
- // Util.setWidthExcludingPaddingAndBorder method but that will
- // probably break additional cases
- int requestedPixelWidth = Integer.parseInt(width.substring(0,
- width.length() - 2));
- int paddingBorder = Util.measureHorizontalPaddingAndBorder(
- getElement(), 0);
- int w = requestedPixelWidth - paddingBorder;
- if (w < 0) {
- w = 0;
- }
- getElement().getStyle().setWidth(w, Unit.PX);
- } else {
- Util.setWidthExcludingPaddingAndBorder(this, width, 0);
- }
+
+ Util.setWidthExcludingPaddingAndBorder(this, width, 0);
+
if (!subMenu) {
// Only needed for root level menu
hideChildren();
// Handle onload events (icon loaded, size changes)
if (DOM.eventGetType(e) == Event.ONLOAD) {
- if (BrowserInfo.get().isIE6()) {
- Util.doIE6PngFix((Element) Element.as(e.getEventTarget()));
- }
VMenuBar parent = getParentMenu();
if (parent != null) {
// The onload event for an image in a popup should be sent to
style.setHeight(availableHeight, Unit.PX);
style.setOverflowY(Overflow.SCROLL);
- // Make room for the scroll bar
- if (BrowserInfo.get().isIE6()) {
- // IE6 renders the sub menu arrow icons on the scroll bar
- // unless we add some padding
- style.setPaddingRight(Util.getNativeScrollbarSize(),
- Unit.PX);
- } else {
- // For other browsers, adjusting the width of the popup is
- // enough
- style.setWidth(
- contentWidth + Util.getNativeScrollbarSize(),
- Unit.PX);
- }
+ // Make room for the scroll bar by adjusting the width of the
+ // popup
+ style.setWidth(contentWidth + Util.getNativeScrollbarSize(),
+ Unit.PX);
popup.updateShadowSizeAndPosition();
}
}
addStyleDependentName("selected");
// needed for IE6 to have a single style name to match for an
// element
+ // TODO Can be optimized now that IE6 is not supported any more
if (checkable) {
if (checked) {
removeStyleDependentName("selected-unchecked");
paddingWidth = widthBefore - getElement().getClientWidth();
getElement().getStyle().setProperty("padding", "");
}
- String overflow = "";
- if (BrowserInfo.get().isIE6()) {
- // IE6 cannot measure available width correctly without
- // overflow:hidden
- overflow = getElement().getStyle().getProperty("overflow");
- getElement().getStyle().setProperty("overflow", "hidden");
- }
int availableWidth = getElement().getClientWidth() - paddingWidth;
- if (BrowserInfo.get().isIE6()) {
- // IE6 cannot measure available width correctly without
- // overflow:hidden
- getElement().getStyle().setProperty("overflow", overflow);
- }
-
// Used width includes the "more" item if present
int usedWidth = getConsumedWidth();
int diff = availableWidth - usedWidth;
} else {
widthAvailable = diff;
}
-
- if (BrowserInfo.get().isIE6()) {
- /*
- * Handle transparency for IE6 here as we cannot
- * implement it in CustomMenuItem.onAttach because
- * onAttach is never called for CustomMenuItem due to an
- * invalid component hierarchy (#6203)...
- */
- reloadImages(expand.getElement());
- }
}
}
if (collapsedRootItems.getItems().size() > 0) {
return null;
}
- @Override
- protected void onLoad() {
- super.onLoad();
- if (BrowserInfo.get().isIE6()) {
- reloadImages(getElement());
- }
- }
-
- /**
- * Force a new onload event for all images. Used only for IE6 to deal with
- * PNG transparency.
- */
- private void reloadImages(Element root) {
-
- NodeList<com.google.gwt.dom.client.Element> imgElements = root
- .getElementsByTagName("img");
- for (int i = 0; i < imgElements.getLength(); i++) {
- Element e = (Element) imgElements.getItem(i);
-
- // IE6 fires onload events for the icons before the listener
- // is attached (or never). Updating the src force another
- // onload event
- String src = e.getAttribute("src");
- e.setAttribute("src", src);
- }
- }
-
}
}
getElement().insertBefore(errorIndicatorElement, captionElement);
- // Fix for IE6, IE7
+ // Fix for IE
+ // TODO This was originally for IE6 & IE7 and might not be needed
+ // any more
if (BrowserInfo.get().isIE()) {
errorIndicatorElement.setInnerText(" ");
}
import java.util.Iterator;
import com.google.gwt.event.dom.client.ChangeEvent;
-import com.vaadin.terminal.gwt.client.BrowserInfo;
import com.vaadin.terminal.gwt.client.UIDL;
-import com.vaadin.terminal.gwt.client.Util;
public class VNativeSelect extends VOptionGroupBase implements Field {
select.setItemSelected(0, true);
firstValueIsTemporaryNullItem = true;
}
- if (BrowserInfo.get().isIE6()) {
- // lazy size change - IE6 uses naive dropdown that does not have a
- // proper size yet
- Util.notifyParentOfSizeChange(this, true);
- }
}
@Override
import com.google.gwt.event.dom.client.LoadHandler;\r
import com.google.gwt.event.shared.HandlerRegistration;\r
import com.google.gwt.user.client.Command;\r
-import com.google.gwt.user.client.Element;\r
import com.google.gwt.user.client.ui.CheckBox;\r
import com.google.gwt.user.client.ui.FocusWidget;\r
import com.google.gwt.user.client.ui.Focusable;\r
import com.google.gwt.user.client.ui.RadioButton;\r
import com.google.gwt.user.client.ui.Widget;\r
import com.vaadin.terminal.gwt.client.ApplicationConnection;\r
-import com.vaadin.terminal.gwt.client.BrowserInfo;\r
import com.vaadin.terminal.gwt.client.EventId;\r
import com.vaadin.terminal.gwt.client.UIDL;\r
import com.vaadin.terminal.gwt.client.Util;\r
\r
private final LoadHandler iconLoadHandler = new LoadHandler() {\r
public void onLoad(LoadEvent event) {\r
- if (BrowserInfo.get().isIE6()) {\r
- Util.doIE6PngFix((Element) Element.as(event.getNativeEvent()\r
- .getEventTarget()));\r
- }\r
Util.notifyParentOfSizeChange(VOptionGroup.this, true);\r
}\r
};\r
private static int adjustByRelativeTopBodyMargin() {
if (topFix == -1) {
- boolean ie6OrIe7 = BrowserInfo.get().isIE()
- && BrowserInfo.get().getIEVersion() <= 7;
- topFix = detectRelativeBodyFixes("top", ie6OrIe7);
+ topFix = detectRelativeBodyFixes("top", BrowserInfo.get().isIE7());
}
return topFix;
}
if(cstyle && cstyle.position == 'relative') {
var offset = b.getBoundingClientRect()[axis];
if (removeClientLeftOrTop) {
- // IE6 and IE7 include the top left border of the client area into the boundingClientRect
+ // IE7 include the top left border of the client area into the boundingClientRect
var clientTopOrLeft = 0;
if (axis == "top")
clientTopOrLeft = $wnd.document.documentElement.clientTop;
private static int adjustByRelativeLeftBodyMargin() {
if (leftFix == -1) {
- boolean ie6OrIe7 = BrowserInfo.get().isIE()
- && BrowserInfo.get().getIEVersion() <= 7;
- leftFix = detectRelativeBodyFixes("left", ie6OrIe7);
+ leftFix = detectRelativeBodyFixes("left", BrowserInfo.get().isIE7());
}
return leftFix;
}
public void runHacks(boolean runGeckoFix) {
- if (BrowserInfo.get().isIE6() && width != null && !width.equals("")) {
- /*
- * IE6 requires overflow-hidden elements to have a width specified
- * so we calculate the width of the content and caption nodes when
- * no width has been specified.
- */
- /*
- * Fixes #1923 VPanel: Horizontal scrollbar does not appear in IE6
- * with wide content
- */
-
- /*
- * Caption must be shrunk for parent measurements to return correct
- * result in IE6
- */
- DOM.setStyleAttribute(captionNode, "width", "1px");
-
- int parentPadding = Util.measureHorizontalPaddingAndBorder(
- getElement(), 0);
-
- int parentWidthExcludingPadding = getElement().getOffsetWidth()
- - parentPadding;
-
- Util.setWidthExcludingPaddingAndBorder(captionNode,
- parentWidthExcludingPadding - getCaptionMarginLeft(), 26,
- false);
-
- int contentMarginLeft = getContentMarginLeft();
-
- Util.setWidthExcludingPaddingAndBorder(contentNode,
- parentWidthExcludingPadding - contentMarginLeft, 2, false);
-
- }
-
if ((BrowserInfo.get().isIE() || BrowserInfo.get().isFF2())
&& (width == null || width.equals(""))) {
/*
int l = calendarToggle.getAbsoluteLeft();\r
\r
// Add a little extra space to the right to avoid\r
- // problems with IE6/IE7 scrollbars and to make it look\r
+ // problems with IE7 scrollbars and to make it look\r
// nicer.\r
int extraSpace = 30;\r
\r
* of the caption container element by the correct amount
*/
public void resizeCaptionContainer(int rightSpacing) {
- if (BrowserInfo.get().isIE6() || td.getClassName().contains("-asc")
+ if (td.getClassName().contains("-asc")
|| td.getClassName().contains("-desc")) {
/*
* Room for the sort indicator is made by subtracting the styled
}
public void setHorizontalScrollPosition(int scrollLeft) {
- if (BrowserInfo.get().isIE6()) {
- hTableWrapper.getStyle().setPosition(Position.RELATIVE);
- hTableWrapper.getStyle().setLeft(-scrollLeft, Unit.PX);
- } else {
- hTableWrapper.setScrollLeft(scrollLeft);
- }
+ hTableWrapper.setScrollLeft(scrollLeft);
}
public void setColumnCollapsingAllowed(boolean cc) {
* The value of the leftScroll
*/
public void setHorizontalScrollPosition(int scrollLeft) {
- if (BrowserInfo.get().isIE6()) {
- hTableWrapper.getStyle().setProperty("position", "relative");
- hTableWrapper.getStyle().setPropertyPx("left", -scrollLeft);
- } else {
- hTableWrapper.setScrollLeft(scrollLeft);
- }
+ hTableWrapper.setScrollLeft(scrollLeft);
}
/**
*/
private int getContentAreaBorderHeight() {
if (contentAreaBorderHeight < 0) {
- if (BrowserInfo.get().isIE7() || BrowserInfo.get().isIE6()) {
+ if (BrowserInfo.get().isIE7()) {
contentAreaBorderHeight = Util
.measureVerticalBorder(scrollBodyPanel.getElement());
} else {
p = 0;\r
}\r
if (vertical) {\r
- // IE6 rounding behaves a little unstable, reduce one pixel so the\r
- // containing element (base) won't expand without limits\r
- p = range - p - (BrowserInfo.get().isIE6() ? 1 : 0);\r
+ p = range - p;\r
}\r
final double pos = p;\r
\r
setText("");
removeStyleDependentName(CLASSNAME_PROMPT);
setPrompting(false);
- if (BrowserInfo.get().isIE6()) {
- // IE6 does not show the cursor when tabbing into the field
- setCursorPos(0);
- }
}
focusedTextField = this;
if (client.hasEventListeners(this, EventId.FOCUS)) {
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.FocusEvent;
import com.google.gwt.event.dom.client.FocusHandler;
-import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.ui.TextBox;
import com.vaadin.terminal.gwt.client.ApplicationConnection;
@Override
public void setWidth(String newWidth) {
if (!"".equals(newWidth) && (width == null || !newWidth.equals(width))) {
- if (BrowserInfo.get().isIE6()) {
- // in IE6 cols ~ min-width
- DOM.setElementProperty(text.getElement(), "size", "1");
- }
needLayout = true;
width = newWidth;
super.setWidth(width);
}
} else {
if ("".equals(newWidth) && width != null && !"".equals(width)) {
- if (BrowserInfo.get().isIE6()) {
- // revert IE6 hack
- DOM.setElementProperty(text.getElement(), "size", "");
- }
super.setWidth("");
needLayout = true;
iLayout();
continue;
}
childTree = new TreeNode();
- if (childTree.ie6compatnode != null) {
- body.add(childTree);
- }
childTree.updateFromUIDL(childUidl, client);
- if (childTree.ie6compatnode == null) {
- body.add(childTree);
- }
+ body.add(childTree);
childTree.addStyleDependentName("root");
childTree.childNodeContainer.addStyleDependentName("root");
}
private Icon icon;
- private Element ie6compatnode;
-
private Event mouseDownEvent;
private int cachedHeight = -1;
private boolean focused = false;
- /**
- * Track onload events as IE6 sends two
- */
- private boolean onloadHandled = false;
-
public TreeNode() {
constructDom();
sinkEvents(Event.ONCLICK | Event.ONDBLCLICK | Event.MOUSEEVENTS
// always when clicking an item, focus it
setFocusedNode(this, false);
- if (!isIE6OrOpera()) {
+ if (!BrowserInfo.get().isOpera()) {
/*
* Ensure that the tree's focus element also gains focus
* (TreeNodes focus is faked using FocusElementPanel in browsers
- * other than IE6 and Opera).
+ * other than Opera).
*/
focus();
}
final Element target = DOM.eventGetTarget(event);
if (type == Event.ONLOAD && target == icon.getElement()) {
- if (onloadHandled) {
- return;
- }
- if (BrowserInfo.get().isIE6()) {
- fixWidth();
- }
iconLoaded.trigger();
- onloadHandled = true;
}
if (disabled) {
fireClick(event);
}
if (type == Event.ONCLICK) {
- if (getElement() == target || ie6compatnode == target) {
+ if (getElement() == target) {
// state change
toggleState();
} else if (!readonly && inCaption) {
* previously modified field may contain dirty variables.
*/
if (!treeHasFocus) {
- if (isIE6OrOpera()) {
+ if (BrowserInfo.get().isOpera()) {
if (focusedNode == null) {
getNodeByKey(key).setFocused(true);
} else {
protected void constructDom() {
addStyleName(CLASSNAME);
- // workaround for a very weird IE6 issue #1245
- if (BrowserInfo.get().isIE6()) {
- ie6compatnode = DOM.createDiv();
- setStyleName(ie6compatnode, CLASSNAME + "-ie6compatnode");
- DOM.setInnerText(ie6compatnode, " ");
- DOM.appendChild(getElement(), ie6compatnode);
-
- DOM.sinkEvents(ie6compatnode, Event.ONCLICK);
- }
nodeCaptionDiv = DOM.createDiv();
DOM.setElementProperty(nodeCaptionDiv, "className", CLASSNAME
DOM.appendChild(nodeCaptionDiv, wrapper);
DOM.appendChild(wrapper, nodeCaptionSpan);
- if (isIE6OrOpera()) {
+ if (BrowserInfo.get().isOpera()) {
/*
* Focus the caption div of the node to get keyboard navigation
* to work without scrolling up or down when focusing a node.
if (uidl.hasAttribute("icon")) {
if (icon == null) {
- onloadHandled = false;
icon = new Icon(client);
DOM.insertBefore(DOM.getFirstChild(nodeCaptionDiv),
icon.getElement(), nodeCaptionSpan);
icon = null;
}
}
-
- if (BrowserInfo.get().isIE6() && isAttached()) {
- fixWidth();
- }
}
public boolean isLeaf() {
continue;
}
final TreeNode childTree = new TreeNode();
- if (ie6compatnode != null) {
- childNodeContainer.add(childTree);
- }
childTree.updateFromUIDL(childUidl, client);
- if (ie6compatnode == null) {
- childNodeContainer.add(childTree);
- }
+ childNodeContainer.add(childTree);
if (!i.hasNext()) {
childTree
.addStyleDependentName(childTree.isLeaf() ? "leaf-last"
}
}
- /*
- * We need to fix the width of TreeNodes so that the float in
- * ie6compatNode does not wrap (see ticket #1245)
- */
- private void fixWidth() {
- nodeCaptionDiv.getStyle().setProperty("styleFloat", "left");
- nodeCaptionDiv.getStyle().setProperty("display", "inline");
- nodeCaptionDiv.getStyle().setProperty("marginLeft", "0");
- final int captionWidth = ie6compatnode.getOffsetWidth()
- + nodeCaptionDiv.getOffsetWidth();
- setWidth(captionWidth + "px");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.google.gwt.user.client.ui.Widget#onAttach()
- */
- @Override
- public void onAttach() {
- super.onAttach();
- if (ie6compatnode != null) {
- fixWidth();
- }
- }
-
/*
* (non-Javadoc)
*
public void setFocused(boolean focused) {
if (!this.focused && focused) {
nodeCaptionDiv.addClassName(CLASSNAME_FOCUSED);
- if (BrowserInfo.get().isIE6()) {
- ie6compatnode.addClassName(CLASSNAME_FOCUSED);
- }
+
this.focused = focused;
- if (isIE6OrOpera()) {
+ if (BrowserInfo.get().isOpera()) {
nodeCaptionDiv.focus();
}
treeHasFocus = true;
} else if (this.focused && !focused) {
nodeCaptionDiv.removeClassName(CLASSNAME_FOCUSED);
- if (BrowserInfo.get().isIE6()) {
- ie6compatnode.removeClassName(CLASSNAME_FOCUSED);
- }
this.focused = focused;
treeHasFocus = false;
}
*/
public Element getSubPartElement(String subPart) {
if ("fe".equals(subPart)) {
- if (isIE6OrOpera() && focusedNode != null) {
+ if (BrowserInfo.get().isOpera() && focusedNode != null) {
return focusedNode.getElement();
}
return getFocusElement();
}
if (expandCollapse) {
- if (treeNode.ie6compatnode != null) {
- return treeNode.ie6compatnode;
- } else {
- return treeNode.getElement();
- }
+ return treeNode.getElement();
} else {
return treeNode.nodeCaptionSpan;
}
return null;
}
- if (subElement == treeNode.getElement()
- || subElement == treeNode.ie6compatnode) {
+ if (subElement == treeNode.getElement()) {
// Targets expand/collapse arrow
isExpandCollapse = true;
}
event.preventDefault();
}
}
-
- private boolean isIE6OrOpera() {
- return BrowserInfo.get().isIE6() || BrowserInfo.get().isOpera();
- }
}
private boolean browserSupportsAnimation() {
BrowserInfo bi = BrowserInfo.get();
- return !(bi.isIE6() || bi.isIE7() || bi.isSafari4());
+ return !(bi.isIE7() || bi.isSafari4());
}
class VTreeTableScrollBody extends VScrollTable.VScrollTableBody {
import com.google.gwt.user.client.ui.ListBox;\r
import com.google.gwt.user.client.ui.Panel;\r
import com.vaadin.terminal.gwt.client.ApplicationConnection;\r
-import com.vaadin.terminal.gwt.client.BrowserInfo;\r
import com.vaadin.terminal.gwt.client.UIDL;\r
import com.vaadin.terminal.gwt.client.Util;\r
\r
\r
private void setInternalHeights() {\r
int captionHeight = 0;\r
- int totalHeight;\r
- if (BrowserInfo.get().isIE6()) {\r
- String o = getElement().getStyle().getOverflow();\r
-\r
- getElement().getStyle().setOverflow(Overflow.HIDDEN);\r
- totalHeight = getOffsetHeight();\r
- getElement().getStyle().setProperty("overflow", o);\r
- } else {\r
- totalHeight = getOffsetHeight();\r
- }\r
+ int totalHeight = getOffsetHeight();\r
\r
if (optionsCaption != null) {\r
captionHeight = Util.getRequiredHeight(optionsCaption);\r
int bordersAndPaddings = Util.measureHorizontalPaddingAndBorder(\r
buttons.getElement(), 0);\r
\r
- if (BrowserInfo.get().isIE6()) {\r
- // IE6 sets a border on selects by default..\r
- bordersAndPaddings += 4;\r
- }\r
-\r
int buttonWidth = Util.getRequiredWidth(buttons);\r
int totalWidth = getOffsetWidth();\r
\r
private static native void setEncoding(Element form, String encoding)
/*-{
form.enctype = encoding;
- // For IE6
- form.encoding = encoding;
}-*/;
public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.ui.Widget;
import com.vaadin.terminal.gwt.client.ApplicationConnection;
-import com.vaadin.terminal.gwt.client.BrowserInfo;
import com.vaadin.terminal.gwt.client.Paintable;
import com.vaadin.terminal.gwt.client.UIDL;
public VUriFragmentUtility() {
setElement(Document.get().createDivElement());
- if (BrowserInfo.get().isIE6()) {
- getElement().getStyle().setProperty("overflow", "hidden");
- getElement().getStyle().setProperty("height", "0");
- }
}
@Override
DOM.setStyleAttribute(getElement(), "width", "");
- String oldHeaderWidth = ""; // Only for IE6
- if (BrowserInfo.get().isIE6()) {
- /*
- * For some reason IE6 has title DIV set to width 100% which
- * interferes with the header measuring. Also IE6 has width set to
- * the contentPanel.
- */
- oldHeaderWidth = headerText.getStyle().getProperty("width");
- DOM.setStyleAttribute(contentPanel.getElement(), "width", "auto");
- DOM.setStyleAttribute(contentPanel.getElement(), "zoom", "1");
- headerText.getStyle().setProperty("width", "auto");
- }
-
// Content
int contentWidth = contentPanel.getElement().getScrollWidth();
contentWidth += getContentAreaToRootDifference();
int naturalWidth = (contentWidth > windowCaptionWidth ? contentWidth
: windowCaptionWidth);
- if (BrowserInfo.get().isIE6()) {
- headerText.getStyle().setProperty("width", oldHeaderWidth);
- }
-
setWidth(naturalWidth + "px");
}
// "width" now contains the new width in pixels
- if (BrowserInfo.get().isIE6()) {
- getElement().getStyle().setProperty("overflow", "hidden");
- }
-
// Apply the new pixel width
getElement().getStyle().setProperty("width", width);
DOM.setStyleAttribute(getElement(), "width", rootWidth + "px");
}
- // IE6 needs the actual inner content width on the content element,
- // otherwise it won't wrap the content properly (no scrollbars
- // appear, content flows out of window)
- if (BrowserInfo.get().isIE6()) {
- DOM.setStyleAttribute(contentPanel.getElement(), "width",
- contentAreaInnerWidth + "px");
- }
-
renderSpace.setWidth(contentAreaInnerWidth);
updateShadowSizeAndPosition();
public void setReadOnly(boolean readOnly) {
super.setReadOnly(readOnly);
// IE6 cannot support multi-classname selectors properly
+ // TODO Can be optimized now that support for I6 is dropped
if (readOnly) {
addStyleName("v-richtextarea-readonly");
} else {
l.setWidth("100%");
l.setHeight("65px");
- boolean ie6 = (getBrowser().isIE() && getBrowser()
- .getBrowserMajorVersion() == 6);
- if (!ie6 || !nat) {
- // Skip this NativeButton for IE6 as it can't decide how to
- // render it
- addTestComponent(l);
- }
+ addTestComponent(l);
}
}
<td>vaadin=runcomvaadintestslayoutslayouttesterLayoutTesterApplication::/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VButton[0]/domChild[0]</td>
<td></td>
</tr>
-<!-- Only for IE6 so it has time to load images and adjust -->
-<tr>
- <td>pause</td>
- <td>2000</td>
- <td></td>
-</tr>
<tr>
<td>screenCapture</td>
<td></td>