Hi Deepak, This looks good to me. What style are you using for the vertical scrollbar?
And thanks for the repost. -Seth On Sunday, April 1, 2012 3:50:12 PM UTC-4, Deepak Singh wrote: > > Hi Seth, > > I am posting my code here: > > myScrollPanel.css > @CHARSET "ISO-8859-1"; > > .customScrollPanel{ > } > .customScrollPanelCorner{ > opacity: 0.0; > } > > MyScrollPanel.java > > public class MyScrollPanel extends CustomScrollPanel { > /** > * Extends the CustomScrollPanel Resources interface so that we can add > our own css file and still reuse the Resources and Style interfaces from > CustomScrollPanel > * @author SL > * > */ > public interface MyScrollResources extends Resources{ > > @Source("com/pdstechi/client/myScrollPanel.css") > Style customScrollPanelStyle(); > } > public MyScrollPanel(){ > super((MyScrollResources)GWT.create(MyScrollResources.class)); > this.setVerticalScrollbar(new MyVerticalScrollBar(), > MyVerticalScrollBar.getScrollBarWidth()); > // this.setHorizontalScrollbar(new MyHorizontalScrollBar(), > MyHorizontalScrollBar.getScrollBarHeight()); > } > > } > > > MyVerticalScrollBar.java > > public class MyVerticalScrollBar extends Widget implements > VerticalScrollbar { > private double scrollBarHeight = 0.0; > private double scrollBarPosition = 0.0; > private double scrollWindowPercentage = 1.0; > private double scrollWindowHeight = 0; > private int totalScrollContentHeight = 0; > private static final int SCROLL_BAR_WIDTH = 10; > private Element elem; > public MyVerticalScrollBar(){ > this.elem = Document.get().createDivElement(); > setElement(this.elem); > this.setStyleName("verticalScrollBar"); > } > public static int getScrollBarWidth(){ > return SCROLL_BAR_WIDTH; > } > > @Override > public int getMaximumVerticalScrollPosition() { > return (int)(this.scrollWindowHeight-this.scrollBarHeight); > } > > @Override > public int getMinimumVerticalScrollPosition() { > return 0; > } > > @Override > public int getVerticalScrollPosition() { > return (int)this.scrollBarPosition; > } > @Override > public void setVerticalScrollPosition(int position) { > this.scrollBarPosition = Math.floor(position*this.scrollWindowPercentage); > //make sure we don't go out of bounds with the scrollbar > if(this.scrollBarPosition > this.getMaximumVerticalScrollPosition()){ > this.scrollBarPosition = this.getMaximumVerticalScrollPosition(); > } > this.elem.getStyle().setTop(this.scrollBarPosition, Unit.PX); > } > > @Override > public HandlerRegistration addScrollHandler(ScrollHandler handler) { > Event.sinkEvents(this.getElement(), Event.ONSCROLL); > return this.addHandler(handler, ScrollEvent.getType()); > } > > @Override > public Widget asWidget() { > return this; > } > > @Override > public int getScrollHeight() { > return this.totalScrollContentHeight; > } > @Override > public void setScrollHeight(int height) { > //TODO: HAVE TO FIND A WAY TO GET THE SIZE OF THE CORNER BOX, OR BETTER > YET, IF THE CORNER BOX IS ENABLED BECAUSE THE HORIZONTAL SCROLL BAR IS ALSO > VISIBLE > this.totalScrollContentHeight = height; > this.scrollWindowHeight = this.elem.getParentElement().getOffsetHeight(); > this.scrollWindowPercentage = (height > 0) ? > Math.min(1.0,this.scrollWindowHeight/height):1.0; > this.scrollBarHeight = > Math.max(SCROLL_BAR_WIDTH,Math.floor(this.scrollWindowHeight*this.scrollWindowPercentage)); > this.elem.getStyle().setHeight(this.scrollBarHeight, Unit.PX); > } > } > > > All these classes are in my client package. > > I just want that browser default varticalscrollbar should change its look. > > > Also, I am reposting the original msg with attached code again to the > group. > > Thanks > Deepak > > > > > > On Sun, Apr 1, 2012 at 11:01 PM, GWTter <seth....@gmail.com> wrote: > >> Hi Deepak, >> >> You would have to post your code. Did you make sure to style your >> vertical scrollbar, create the MyScrollPanel and set its verticalScrollbar >> with the one you created? In the code I sent you the vertical scrollbar has >> a width of 10px, you should style the vertical scrollbar to be within that >> width. >> >> Also, I can't seem to find the repost of the original message with the >> attached code I sent you anywhere in this thread, am I looking in the wrong >> place. Thanks. >> >> -Seth >> >> >> On Saturday, March 31, 2012 4:27:42 PM UTC-4, Deepak Singh wrote: >>> >>> Hi Seth, >>> >>> I copied your classes and css in my client package. It compiled fine. >>> When i run the applicatio in dev mode, the browser default scrollbar is >>> not overridden. >>> >>> It is same as default. >>> >>> What can i do to override the native one ? >>> >>> On Sun, Apr 1, 2012 at 1:05 AM, Deepak Singh >>> <deepaksingh...@gmail.com>wrote: >>> >>>> Thank you Seth. I would give it a try. >>>> >>>> Thats already reposted and is in the thread. >>>> >>>> Thanks >>>> Deepak >>>> >>>> >>>> On Sat, Mar 31, 2012 at 10:59 PM, GWTter <seth....@gmail.com> wrote: >>>> >>>>> Hi Deepak, >>>>> >>>>> This is all that's in the css file as the only important class is the >>>>> corner that I've set to be transparent: >>>>> >>>>> .customScrollPanel{ >>>>> } >>>>> >>>>> .customScrollPanelCorner{ >>>>> opacity: 0.0; >>>>> } >>>>> >>>>> As for how to use the vertical scroll bar to override the native (or >>>>> the transparent one CustomScrollPanel uses by default) if you look at the >>>>> line >>>>> >>>>> "this.setVerticalScrollbar(new MyVerticalScrollBar(),** >>>>> MyVerticalScrollBar.**getScrollBarWidth());" >>>>> >>>>> in MyScrollPanel class in the code I sent, this is what actually does >>>>> the overriding. This method is available on the CustomScrollPanel class >>>>> which MyScrollPanel extends. >>>>> >>>>> Hope that answers your question. Also can you please repost my initial >>>>> reply with the code to this thread, it would save me the time of having >>>>> to >>>>> rewrite it :) Thanks. >>>>> >>>>> >>>>> -Seth >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Google Web Toolkit" group. >>>>> To view this discussion on the web visit https://groups.google.com/d/* >>>>> *msg/google-web-toolkit/-/g-**x4PrKzgjoJ<https://groups.google.com/d/msg/google-web-toolkit/-/g-x4PrKzgjoJ> >>>>> . >>>>> >>>>> To post to this group, send email to google-web-toolkit@** >>>>> googlegroups.com <google-web-toolkit@googlegroups.com>. >>>>> To unsubscribe from this group, send email to google-web-toolkit+** >>>>> unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> >>>>> . >>>>> For more options, visit this group at http://groups.google.com/** >>>>> group/google-web-toolkit?hl=en<http://groups.google.com/group/google-web-toolkit?hl=en> >>>>> **. >>>>> >>>> >>>> >>>> >>>> -- >>>> Deepak Singh >>>> >>> >>> >>> >>> -- >>> Deepak Singh >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google Web Toolkit" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/google-web-toolkit/-/ukY2df0M7DsJ. >> >> To post to this group, send email to google-web-toolkit@googlegroups.com. >> To unsubscribe from this group, send email to >> google-web-toolkit+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/google-web-toolkit?hl=en. >> > > > > -- > Deepak Singh > -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/K8QQ8IQD184J. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.