svn changeset:5612/svn branch:trunktags/6.7.0.beta1
import java.util.Map; | import java.util.Map; | ||||
import java.util.Set; | import java.util.Set; | ||||
import com.google.gwt.user.client.Command; | |||||
import com.google.gwt.user.client.DOM; | import com.google.gwt.user.client.DOM; | ||||
import com.google.gwt.user.client.DeferredCommand; | |||||
import com.google.gwt.user.client.Element; | import com.google.gwt.user.client.Element; | ||||
import com.google.gwt.user.client.Timer; | |||||
import com.google.gwt.user.client.ui.RootPanel; | import com.google.gwt.user.client.ui.RootPanel; | ||||
import com.google.gwt.user.client.ui.Widget; | import com.google.gwt.user.client.ui.Widget; | ||||
return detectedScrollbarSize; | return detectedScrollbarSize; | ||||
} | } | ||||
/** | |||||
* Run workaround for webkits overflow auto issue. | |||||
* | |||||
* See: our buh #2138 and https://bugs.webkit.org/show_bug.cgi?id=21462 | |||||
* | |||||
* @param elem | |||||
* with overflow auto | |||||
*/ | |||||
public static void runWebkitOverflowAutoFix(final Element elem) { | |||||
// add max version if fix landes sometime to webkit | |||||
if (BrowserInfo.get().getWebkitVersion() > 0) { | |||||
DeferredCommand.addCommand(new Command() { | |||||
public void execute() { | |||||
// Dough, safari scoll auto means actually just a moped | |||||
elem.getStyle().setProperty("overflow", "hidden"); | |||||
(new Timer() { | |||||
@Override | |||||
public void run() { | |||||
elem.getStyle().setProperty("overflow", "auto"); | |||||
} | |||||
}).schedule(1); | |||||
} | |||||
}); | |||||
} | |||||
} | |||||
} | } |
import com.google.gwt.user.client.DOM; | import com.google.gwt.user.client.DOM; | ||||
import com.google.gwt.user.client.DeferredCommand; | import com.google.gwt.user.client.DeferredCommand; | ||||
import com.google.gwt.user.client.Element; | import com.google.gwt.user.client.Element; | ||||
import com.google.gwt.user.client.Timer; | |||||
import com.google.gwt.user.client.ui.ClickListener; | import com.google.gwt.user.client.ui.ClickListener; | ||||
import com.google.gwt.user.client.ui.ComplexPanel; | import com.google.gwt.user.client.ui.ComplexPanel; | ||||
import com.google.gwt.user.client.ui.Widget; | import com.google.gwt.user.client.ui.Widget; | ||||
import com.itmill.toolkit.terminal.gwt.client.Paintable; | import com.itmill.toolkit.terminal.gwt.client.Paintable; | ||||
import com.itmill.toolkit.terminal.gwt.client.RenderSpace; | import com.itmill.toolkit.terminal.gwt.client.RenderSpace; | ||||
import com.itmill.toolkit.terminal.gwt.client.UIDL; | import com.itmill.toolkit.terminal.gwt.client.UIDL; | ||||
import com.itmill.toolkit.terminal.gwt.client.Util; | |||||
public class IAccordion extends ITabsheetBase implements | public class IAccordion extends ITabsheetBase implements | ||||
ContainerResizedListener { | ContainerResizedListener { | ||||
client.runDescendentsLayout(item); | client.runDescendentsLayout(item); | ||||
if (BrowserInfo.get().getWebkitVersion() > 0) { | |||||
final Element selectedTabContent = getSelectedStack() | |||||
.getContainerElement(); | |||||
DeferredCommand.addCommand(new Command() { | |||||
public void execute() { | |||||
// Dough, safari scoll auto means actually just a moped | |||||
selectedTabContent.getStyle().setProperty("overflow", | |||||
"hidden"); | |||||
(new Timer() { | |||||
@Override | |||||
public void run() { | |||||
selectedTabContent.getStyle().setProperty( | |||||
"overflow", "auto"); | |||||
} | |||||
}).schedule(1); | |||||
} | |||||
}); | |||||
} | |||||
Util.runWebkitOverflowAutoFix(getSelectedStack().getContainerElement()); | |||||
} | } | ||||
/** | /** |
import java.util.Set; | import java.util.Set; | ||||
import com.google.gwt.user.client.Command; | |||||
import com.google.gwt.user.client.DOM; | import com.google.gwt.user.client.DOM; | ||||
import com.google.gwt.user.client.DeferredCommand; | |||||
import com.google.gwt.user.client.Element; | import com.google.gwt.user.client.Element; | ||||
import com.google.gwt.user.client.Event; | import com.google.gwt.user.client.Event; | ||||
import com.google.gwt.user.client.Timer; | |||||
import com.google.gwt.user.client.ui.SimplePanel; | import com.google.gwt.user.client.ui.SimplePanel; | ||||
import com.google.gwt.user.client.ui.Widget; | import com.google.gwt.user.client.ui.Widget; | ||||
import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; | import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; | ||||
} | } | ||||
} | } | ||||
if (BrowserInfo.get().getWebkitVersion() > 0) { | |||||
DeferredCommand.addCommand(new Command() { | |||||
public void execute() { | |||||
// Dough, safari scoll auto means actually just a moped | |||||
contentNode.getStyle().setProperty("overflow", "hidden"); | |||||
(new Timer() { | |||||
@Override | |||||
public void run() { | |||||
contentNode.getStyle().setProperty("overflow", | |||||
"auto"); | |||||
} | |||||
}).schedule(1); | |||||
} | |||||
}); | |||||
} | |||||
client.runDescendentsLayout(this); | client.runDescendentsLayout(this); | ||||
Util.runWebkitOverflowAutoFix(contentNode); | |||||
} | } | ||||
@Override | @Override |
renderInformation.updateSize(getElement()); | renderInformation.updateSize(getElement()); | ||||
// fixes scrollbars sometimes seen on webkit 528.5, but not in Safari | |||||
// 3.1 | |||||
Util.runWebkitOverflowAutoFix(secondContainer); | |||||
} | } | ||||
private void setFirstWidget(Widget w) { | private void setFirstWidget(Widget w) { |
import com.google.gwt.user.client.DeferredCommand; | import com.google.gwt.user.client.DeferredCommand; | ||||
import com.google.gwt.user.client.Element; | import com.google.gwt.user.client.Element; | ||||
import com.google.gwt.user.client.Event; | import com.google.gwt.user.client.Event; | ||||
import com.google.gwt.user.client.Timer; | |||||
import com.google.gwt.user.client.ui.ClickListener; | import com.google.gwt.user.client.ui.ClickListener; | ||||
import com.google.gwt.user.client.ui.ComplexPanel; | import com.google.gwt.user.client.ui.ComplexPanel; | ||||
import com.google.gwt.user.client.ui.Label; | import com.google.gwt.user.client.ui.Label; | ||||
import com.google.gwt.user.client.ui.Widget; | import com.google.gwt.user.client.ui.Widget; | ||||
import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; | import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; | ||||
import com.itmill.toolkit.terminal.gwt.client.BrowserInfo; | |||||
import com.itmill.toolkit.terminal.gwt.client.ContainerResizedListener; | import com.itmill.toolkit.terminal.gwt.client.ContainerResizedListener; | ||||
import com.itmill.toolkit.terminal.gwt.client.ICaption; | import com.itmill.toolkit.terminal.gwt.client.ICaption; | ||||
import com.itmill.toolkit.terminal.gwt.client.Paintable; | import com.itmill.toolkit.terminal.gwt.client.Paintable; | ||||
import com.itmill.toolkit.terminal.gwt.client.RenderInformation; | import com.itmill.toolkit.terminal.gwt.client.RenderInformation; | ||||
import com.itmill.toolkit.terminal.gwt.client.RenderSpace; | import com.itmill.toolkit.terminal.gwt.client.RenderSpace; | ||||
import com.itmill.toolkit.terminal.gwt.client.UIDL; | import com.itmill.toolkit.terminal.gwt.client.UIDL; | ||||
import com.itmill.toolkit.terminal.gwt.client.Util; | |||||
public class ITabsheet extends ITabsheetBase implements | public class ITabsheet extends ITabsheetBase implements | ||||
ContainerResizedListener { | ContainerResizedListener { | ||||
updateTabScroller(); | updateTabScroller(); | ||||
if (BrowserInfo.get().getWebkitVersion() > 0) { | |||||
DeferredCommand.addCommand(new Command() { | |||||
public void execute() { | |||||
// Dough, safari scoll auto means actually just a moped | |||||
contentNode.getStyle().setProperty("overflow", "hidden"); | |||||
(new Timer() { | |||||
@Override | |||||
public void run() { | |||||
contentNode.getStyle().setProperty("overflow", | |||||
"auto"); | |||||
} | |||||
}).schedule(100); | |||||
} | |||||
}); | |||||
} | |||||
Util.runWebkitOverflowAutoFix(contentNode); | |||||
} | } | ||||