Re: Poor performance for simple query - seems to be in the deserialisation mostly

2008-12-30 Thread fin

Hi John,

then have a look at the table stuff in the incubator project. That
contains sortable, pageable, scrollable table solutions which can have
bulk renderers.
It's also worth seeing the gwt mosaic project. It's table solutions
are based on the tables of the incubator project (and seems to be easy
to use but it is still under development).

Best regards,
Tibor

On Dec 29, 9:58 pm, John Lonergan john.loner...@gmail.com wrote:
 Hi - I've taken a look at the grids in the incubator and they are
 definitely much faster (200ms in IE7).

 But those grids are very basic.

 I need a grid that's a bit more functional ..
 - sorting
 - scrolling
 - fixed non-scrolling header row (i.e.header doesn't scroll with rest
 of grid)

 Are such features available in a fast grid and are there any examples?

 Thanks

 John

 On Dec 29, 1:18 pm, gregor greg.power...@googlemail.com wrote:

  Hi John,

  1) I concur with your timings on that incubator scroll table demo for
  FF at 3s, but not on IE at 15s: mine does it in 5s. Suggest something
  strange about your IE set up??

  2) The DHTMLX  example lazily loads rows on demand using what looks
  like a scroll listener. Overall table size probably calculated from
  secondary DB query for num rows and overall height of scroll panel set
  accordingly. So user gets an impression of the overall size of table
  and can use scroll bar and/or page ip/down  up/down arrows to
  navigate it. It only ever fills in the visible portion. Impressive
  trickery, but IMO the only advantage this has over the more
  traditional -prev : next- button navigation format is user can
  scroll right down table quickly using the scroll bar handle. But how
  could user know which records they might hit by doing this? Clever
  programming maybe but is it good UI design? IMO that is questionable.
  There are other ways to make sense of large data sets in the UI.

  3) Although it takes 3s for FF and 5s for IE to render the incubator
  scroll table example for 100 rows, my little test does this in both
  browsers 0.5s for 200 records, about 0.5s for 500, and about 3s for
  2000 in FF, slightly longer for the 2000 in IE. OK, mine is running
  local and the examples are running over the net, but that doesn't
  account for all of the massive difference. This should be telling you
  something: tabular data grids can be complicated things, and people
  have wide variations in requirements for them, so ready made
  generalized grid components need shed loads of code to make them
  configurable for everybody's needs. In most cases if you roll your own
  component from base GWT widgets you will get blisteringperformance
  for your own use cases by comparison because you can build it to do
  exactly what you need it to do, and only what you need it to do.

  4) If I wanted to use a ready made component for this I would head
  straight for the new PagingScrollTable in the incubator. Reason being
  that nothing makes into official GWT code unless it works as fast as
  is reasonably possible. GWT makes no compromise on this. What does a
  user care most about: a) how quickly and easily they can get at the
  information they need, or b) how pretty it looks in the screen?

  5) If you are using an Ext family grid widget it will definitely run
  slow because there is heaps of Ext framework javascript running as
  well as actual widget code. Ext looks great, but does not compete with
  base GWT forperformanceor reconfigurability.

  6) Paging *is* the answer to this problem: As you can see from your
  DHTMLX example above, what they do is paging but in a hidden way, i.e.
  they try to give the impression that the whole 50,000 rows are loaded,
  but of course in reality they are not, and this is obvious when you
  play with it because it simply isn't fast enough to deceive the eye.

  regards
  gregor

  On Dec 29, 9:30 am, fin tibor.fi...@freemail.hu wrote:

   Hi John,

   have a look at the bulk renderer feature of the GWT incubator 
   project:http://code.google.com/p/google-web-toolkit-incubator/wiki/BulkTableR...
   andhttp://code.google.com/docreader/#p=google-web-toolkit-incubators=go...

   Best regards,
   Tibor

   On Dec 29, 5:32 am, John Lonergan john.loner...@gmail.com wrote:

Hi - yep there was a problem in my test program but now that that's
ironed out I'm getting ok'ishperformancein FF3 and Chrome however in
IE the perf is poor.

All the time is spent populating the grid / rendering.

IE is the target deployment platform - they only have IE installed.

Have been looking for online samples that are useful for demonstrating
a sort of problem I'm seeing.

I found this useful demo that allowed me to verify that what I'm
seeing re rendering times is not just a result of my dodgy program.

   http://google-web-toolkit-incubator.googlecode.com/svn/trunk/demo/Scr...

I tested by clicking Add 100 rows on the Data Manipulation tab.

The relative timings are ...
IE     

Re: how to print the Window

2008-12-30 Thread kiran raj

give child.window.print


On Tue, Dec 30, 2008 at 2:16 PM, rajasekhar raja...@gmail.com wrote:

 Hi All,

 how to print content of a Window.After clicking on print
 image one new Window is opening(like print preview),but When I call
 Window.print() it is printing the Parent page and Window page, I need
 to print the Window data only.Please let me know how to do this.



 Regards,
 Rajasekhar
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Re: how to print the Window

2008-12-30 Thread rajasekhar

Hi Kiran,

   Can you explain me litter more about this.I am getting one
panel from another class and adding to the window. Here is my code.

EditRequestPrint
editRequestPrint=new EditRequestPrint();
Panel p=editRequestPrint.getSongPanel
(licenseRequestVO); //getting SongPanel
p.setAutoScroll(true);
licenseDetaisPrintWindow.add(p);
licenseDetaisPrintWindow.show();

I added printImage to the SongPanel
 printImage.addClickListener(new ClickListener(){
public void onClick(Widget sender) {
  Window.alert(EditRequestPrint print .);

 -

}
});

Please let me know what statement can I place in dotted lines.

Regards,
Rajasekhar
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Re: Is there a way to hide root item in GWT Tree?

2008-12-30 Thread Arthur Kalmenson

Every Widget has a setVisibile(boolean) method (it comes from
UIObject). You should be able to just call this method on the root
widget and have it made invisible.

--
Arthur Kalmenson



On Fri, Dec 26, 2008 at 8:05 AM, anglers sserdyu...@gmail.com wrote:

 Hi all!

 How to hide root item in tree (standart gwt widget)?
 I want to hide tree root item and show just first level of child tree
 items.

 Help me please
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Re: Undo/Redo Event Handlings

2008-12-30 Thread Anurag Tripathi

I'm still in thirst for solution,I am not able to handle in Button ;-)

_Anurag

On Dec 24, 11:40 am, Anurag Tripathi anurag...@gmail.com wrote:
 Yeah, Thats true , simply my objective is to add undo(Ctrl+Z)
 functionality in Button.

 _Anurag

 On Dec 23, 6:18 pm, todd.sei...@gmail.com todd.sei...@gmail.com
 wrote:

  You will probably not find this in RichTextArea source since this
  functionality is provided by the web browser and not GWT.

  I believe that you may want to try looking at event previews. This
  would allow you to capture keyboard input regardless of the widget
  which has focus because I suspect that you really are not looking to
  have focus on the button to handle this.

  On Dec 23, 7:10 am, Anurag Tripathi anurag...@gmail.com wrote:

   If anybody has any idea on this please let me know -

   How to catch Keyboard Undo(ctrl+z) and Redo(Ctrl+y) events in a
   Button ? Its already supported in Rich Text Area as an action of ctrl
   +z keyPress but need to encapsulate in a Button. The Implementation
   I'm not finding in RichTextArea.class

   _Anurag
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Re: Error's , PLEASE HELP ME :)

2008-12-30 Thread King


 This looks like the problem-tab in Eclipse. More interesting would
 be the log-window of the server when you start your project in
 hosted mode.

I get the same error message like before in hosted mode:

[ERROR] Unable to load module entry point class
se1.gwt.client.StringCounterClient (see associated exception for
details)
com.google.gwt.core.client.JavaScriptException: (TypeError):
'$wnd.Ext.StatusBar' ist Null oder kein Objekt
 number: -2146823281
 description: '$wnd.Ext.StatusBar' ist Null oder kein Objekt
at com.gwtext.client.widgets.Component.checkExtVer(Native Method)
at com.gwtext.client.widgets.Component.clinit(Component.java:108)
at se1.gwt.client.StringCounterClient.onModuleLoad
(StringCounterClient.java:22)

But i dont understand, why i get the error symbol on the public folder
in the gwt projekt... I included the file system of gwt-ext after that
i have a red, x on the icon of the public folder!


 If you're not using GWT 1.5 you should change your JDK to 1.4 BTW.

I use GWT 1.5.3 ...


 If nothing works you might consider changing the list to the
 mailing-list of GWT-Ext. They also reside at Google Groups but
 the people should be different.

how can i change it ?


thanks
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Re: Error's , PLEASE HELP ME :)

2008-12-30 Thread King


 This looks like the problem-tab in Eclipse. More interesting would
 be the log-window of the server when you start your project in
 hosted mode.

I get the same error message like before in hosted mode:

[ERROR] Unable to load module entry point class
se1.gwt.client.StringCounterClient (see associated exception for
details)
com.google.gwt.core.client.JavaScriptException: (TypeError):
'$wnd.Ext.StatusBar' ist Null oder kein Objekt
 number: -2146823281
 description: '$wnd.Ext.StatusBar' ist Null oder kein Objekt
at com.gwtext.client.widgets.Component.checkExtVer(Native Method)
at com.gwtext.client.widgets.Component.clinit(Component.java:108)
at se1.gwt.client.StringCounterClient.onModuleLoad
(StringCounterClient.java:22)

But i dont understand, why i get the error symbol on the public folder
in the gwt projekt... I included the file system of gwt-ext after that
i have a red, x on the icon of the public folder!


 If you're not using GWT 1.5 you should change your JDK to 1.4 BTW.

I use GWT 1.5.3 ...


 If nothing works you might consider changing the list to the
 mailing-list of GWT-Ext. They also reside at Google Groups but
 the people should be different.

how can i change it ?


thanks
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Re: Undo/Redo Event Handlings

2008-12-30 Thread Anurag Tripathi

Please someone can get back on this ?

On Dec 30, 6:44 pm, Anurag Tripathi anurag...@gmail.com wrote:
 I'm still in thirst for solution,I am not able to handle in Button ;-)

 _Anurag

 On Dec 24, 11:40 am, Anurag Tripathi anurag...@gmail.com wrote:

  Yeah, Thats true , simply my objective is to add undo(Ctrl+Z)
  functionality in Button.

  _Anurag

  On Dec 23, 6:18 pm, todd.sei...@gmail.com todd.sei...@gmail.com
  wrote:

   You will probably not find this in RichTextArea source since this
   functionality is provided by the web browser and not GWT.

   I believe that you may want to try looking at event previews. This
   would allow you to capture keyboard input regardless of the widget
   which has focus because I suspect that you really are not looking to
   have focus on the button to handle this.

   On Dec 23, 7:10 am, Anurag Tripathi anurag...@gmail.com wrote:

If anybody has any idea on this please let me know -

How to catch Keyboard Undo(ctrl+z) and Redo(Ctrl+y) events in a
Button ? Its already supported in Rich Text Area as an action of ctrl
+z keyPress but need to encapsulate in a Button. The Implementation
I'm not finding in RichTextArea.class

_Anurag
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Re: Login security question

2008-12-30 Thread akutz

FYI - I figured out how to elegantly handle this requirement. I
overrode the onBeforeRequestDeserialized method and verify the verifID
(what I call it) in there. I ignore the login method and invoke
doUnexpectedFailure for any method that does not pass the correct
verifID.

// Find the name of the method being invoked.
Pattern p = Pattern.compile
(^.*com.lostcreations.vmm.client.ServerService\\|([^\\|]*?)\\|.*$);
Matcher m = p.matcher(serializedRequest);

if (!m.matches())
{
this.doUnexpectedFailure(new Exception(unabled to match
rpc request for method name));
}

// We don't need to verify the login method.
String method = m.group(1);
if (method.equals(login))
{
return;
}

p = Pattern.compile
(^.*com.lostcreations.vmm.client.ServerService\\|([^\\|]*?)\\|
java.lang.String\\|([^\\|]*?)\\|.*$);
m = p.matcher(serializedRequest);

if (!m.matches())
{
this.doUnexpectedFailure(new Exception(unabled to match
rpc request for verifid));
}

// Verify the verifID.
Log.debug(getLogString(verifying method  + m.group(1)));
Log.debug(getLogString(verifID= + m.group(2)));

// TODO: Verify the verifID

Thank you everyone for your help.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



just a basic idea

2008-12-30 Thread ANGEL DEBORAL
i dont know xactl wt u want but i undrstand the applet y cant run again 
again..
initialise 1 button( b ) only set caption as Run 
b.setActionCommand(Run);
in
public action prerformed(ActionEvent e)
{
   JButton b1=new (JButton)e.getSource();
  if(b.getActionCommand().quals(run);
 {
   // b1.(cod to run)
   b1.setActionCommand(Cancel);
  }
els
{
 // b1.(cod to cancel)b1.setActionCommand(Run);
  }
}

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



How to JSONize the object and array in gwt

2008-12-30 Thread derock

i want convert String array and Object array into JSON directly.

is there any wrapper to do it

i need


class ClassName
{

public String name;
public String address;
public Integer phone;

}

public class Index implements EntryPoint {

ClassName obj = new ClassName();

// now i want to jsonize obj

// how can it be done.

// and also

ArrayList a = new ArrayList();

a.add(roc);
a.add(monday);

// now i again want to jsonize this arraylist

}

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



how to use Ajax in jsp

2008-12-30 Thread Angel

plz i hv said to use jsp in my T.Y.IT projectso
helpme..by giving eg: for simple textbox/
comboboxwaitg for reply

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Deploy GWT application with hibernate config xml files

2008-12-30 Thread ganesh

 I have hibernate.cfg.xml and *.hbm.xml files in a package /com/test/
server/config folder.

/com/test/client/Example.java
/com/test/server/

How do i deploy these cfg.xml and hbm.xml files to the tomcat.



--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Defect: Menu Items stay hovered, even though mouse isn't over them

2008-12-30 Thread John Fowler

Does anyone know if this is a defect to be corrected, or if there is a
work-around for this?

For clarity, I'll describe the scenario fully according to two cases:

1)  When a menu bar is set to automatically open its sub-menus,
MenuBar.setAutoOpen(true), and the user does not select a menu item,
the menus do not close until the user clicks outside of the menu bar
area.  That functionality is _correct_.  HOWEVER, once the sub-menu
does close in response to a click, the header text/icon on the menu
bar for that sub-menu stays highlighted with its hover style.  That is
_not_ correct.

2)  When the menu bar is not set to automatically open it's sub-menus
(default operation), and the user merely moves their mouse over the
menu bar, the menu items hovered over will highlight.  However, if the
user does not click any menu item, but moves the mouse off the menu
bar, the last hovered item will remain highlighted.  That is not
correct GUI behavior.

I know of no application which functions in this manner, so I believe
this should rightly be called a defect.

Can anyone tell me if this has already been identified, or how I can
work around it?

john...
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Re: Using JavaScript 'var s in obj' on a GWT object

2008-12-30 Thread Richard Kennard

Reinier,

Thanks for your quick response.

I'm a bit confused, though. If...

 GWT compresses the java identifier of any method or field down to a very 
 short random collection of symbols

...then how come I can still do...

o...@org.foo.foo::myMethod()();

...and even...

alert( obj[ '@org.foo.Foo::myMethod()' ] );

...is there some kind of one-way mapping going on?

Regards,

Richard.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Re: Defect: Menu Items stay hovered, even though mouse isn't over them

2008-12-30 Thread John Fowler

In searching through the source code, I decided on the following work-
around when instantiating a MenuBar.  Unfortunately, it doesn't handle
every scenario, but it gets most of them right.

MenuBar bar = new MenuBar() {
@Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
if (DOM.eventGetType(event) == Event.ONMOUSEOUT) {
Element barEle = getElement();
Element outEle = DOM.eventGetFromElement(event);
Element toEle = DOM.eventGetToElement(event);
if (DOM.isOrHasChild(barEle, outEle)  
!DOM.isOrHasChild(barEle,
toEle)) {
//  Focus has shifted off of the MenuBar.  
But is it now on a sub-
menu?
boolean onSubMenu = false;
for (MenuItem mi : this.getItems()) {
MenuBar subMenu = mi.getSubMenu();
Widget parent = subMenu == null ? null 
: subMenu.getParent();
Element parEle = parent == null ? null 
: parent.getElement();
if ((parEle != null)  
(DOM.isOrHasChild(parEle, toEle))) {
onSubMenu = true;
break;
}
}
if (!onSubMenu) {
MenuItem mi = getSelectedItem();
if (mi != null) {

mi.removeStyleDependentName(selected);
}
}
}
}
}
@Override
public void onPopupClosed(PopupPanel sender, boolean autoClosed) {
MenuItem mi = getSelectedItem();
if (mi != null) {
//  Is the closed Popup the currently selected menu 
item?
if (mi.getSubMenu() == sender.getWidget()) {
mi.removeStyleDependentName(selected);
}
}
super.onPopupClosed(sender, autoClosed);
}
};


Hope this helps someone else,

john...

PS.  Please let me know if this is going to be fixed in a future
release, or let me know what I can do to get it on that list.


On Dec 30, 10:54 am, John Fowler john_c_fow...@yahoo.com wrote:
 Does anyone know if this is a defect to be corrected, or if there is a
 work-around for this?

 For clarity, I'll describe the scenario fully according to two cases:

 1)  When a menu bar is set to automatically open its sub-menus,
 MenuBar.setAutoOpen(true), and the user does not select a menu item,
 the menus do not close until the user clicks outside of the menu bar
 area.  That functionality is _correct_.  HOWEVER, once the sub-menu
 does close in response to a click, the header text/icon on the menu
 bar for that sub-menu stays highlighted with its hover style.  That is
 _not_ correct.

 2)  When the menu bar is not set to automatically open it's sub-menus
 (default operation), and the user merely moves their mouse over the
 menu bar, the menu items hovered over will highlight.  However, if the
 user does not click any menu item, but moves the mouse off the menu
 bar, the last hovered item will remain highlighted.  That is not
 correct GUI behavior.

 I know of no application which functions in this manner, so I believe
 this should rightly be called a defect.

 Can anyone tell me if this has already been identified, or how I can
 work around it?

 john...
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



Re: Defect: Menu Items stay hovered, even though mouse isn't over them

2008-12-30 Thread John Fowler

Slight revision to my code:  Removing the selected style directly
from the MenuItem was causing too many bad side-effects.  What really
needs to happen, is a call to void selectItem(MenuItem item) { ... }
on MenuBar.  Unfortunately, that method's visibility doesn't allow
such a call.  Unless, of course, you're willing to bend a few
rules.  ;)

Menu bar = new MenuBar() {
@Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
if (DOM.eventGetType(event) == Event.ONMOUSEOUT) {
Element barEle = getElement();
Element outEle = DOM.eventGetFromElement(event);
Element toEle = DOM.eventGetToElement(event);
if (DOM.isOrHasChild(barEle, outEle)  
!DOM.isOrHasChild(barEle,
toEle)) {
//  Focus has shifted off of the MenuBar.  
But is it now on a sub-
menu?
boolean onSubMenu = false;
for (MenuItem mi : this.getItems()) {
MenuBar subMenu = mi.getSubMenu();
Widget parent = subMenu == null ? null 
: subMenu.getParent();
Element parEle = parent == null ? null 
: parent.getElement();
if ((parEle != null)  
(DOM.isOrHasChild(parEle, toEle))) {
onSubMenu = true;
break;
}
}
if (!onSubMenu) {
MenuItem mi = getSelectedItem();
if (mi != null) {
unselectItem();
}
}
}
}
}
@Override
public void onPopupClosed(PopupPanel sender, boolean autoClosed) {
MenuItem mi = getSelectedItem();
if (mi != null) {
//  Is the closed Popup the currently selected menu 
item?
if (mi.getSubMenu() == sender.getWidget()) {
unselectItem();
}
}
super.onPopupClosed(sender, autoClosed);
}
private native String unselectItem() /*-{
   th...@com.google.gwt.user.client.ui.menubar::selectItem(Lcom/
google/gwt/user/client/ui/MenuItem;)(null);
}-*/;
};

Hope this helps someone else,

john...

PS.  The only scenario I have found where the above does not work is
when the user repeatedly clicks a menu item to open it's sub-menu over
and over again.


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
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
-~--~~~~--~~--~--~---



[gwt-contrib] [google-web-toolkit commit] r4374 - trunk/tools/soyc-vis/src/com/google/gwt/soyc

2008-12-30 Thread codesite-noreply

Author: kpro...@google.com
Date: Mon Dec 29 07:09:32 2008
New Revision: 4374

Modified:
trunk/tools/soyc-vis/src/com/google/gwt/soyc/GlobalInformation.java
trunk/tools/soyc-vis/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java
trunk/tools/soyc-vis/src/com/google/gwt/soyc/SoycDashboard.java

Log:
Updated dashboard to include method-level control-flow dependencies



Modified:  
trunk/tools/soyc-vis/src/com/google/gwt/soyc/GlobalInformation.java
==
--- trunk/tools/soyc-vis/src/com/google/gwt/soyc/GlobalInformation.java  
(original)
+++ trunk/tools/soyc-vis/src/com/google/gwt/soyc/GlobalInformation.java Mon  
Dec 29 07:09:32 2008
@@ -53,6 +53,7 @@
public static HashMapString, HashSetString  
storiesToCorrClassesAndMethods = new HashMapString, HashSetString();

public static HashMapString, String storiesToLitType = new  
HashMapString, String();
+
public static void computePackageSizes(){
  cumSizeFromPackages = 0;
  packageToSize.clear();

Modified:  
trunk/tools/soyc-vis/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java
==
---  
trunk/tools/soyc-vis/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java   
 
(original)
+++  
trunk/tools/soyc-vis/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java   
 
Mon Dec 29 07:09:32 2008
@@ -23,11 +23,16 @@
  import java.io.InputStream;
  import java.io.OutputStream;
  import java.io.PrintWriter;
+import java.util.ArrayList;
  import java.util.Collections;
  import java.util.HashMap;
  import java.util.HashSet;
+import java.util.Map;
  import java.util.TreeMap;
  import java.util.TreeSet;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import java.util.jar.JarInputStream;

  public class MakeTopLevelHtmlForPerm {

@@ -416,20 +421,55 @@
  outFile.close();
}

-  public static void copyFileOrDirectory(File srcPath, File dstPath)  
throws IOException{
+
+  public static void copyFileOrDirectoryFromJar(String jarFileName, String  
inputFileName, File dstPath, boolean isDirectory) throws IOException{
+
+JarFile jarFile = new JarFile(jarFileName);
+if (isDirectory){
+  dstPath.mkdir();
+
+  JarInputStream jarFileIS = new JarInputStream(new  
FileInputStream(jarFileName));
+  JarEntry jarEntry = jarFileIS.getNextJarEntry();
+  while(jarEntry != null){
+if (! inputFileName.endsWith(/)){
+  inputFileName += /;
+}
+if ((jarEntry.getName().compareTo(inputFileName) !=  
0)(jarEntry.getName().startsWith(inputFileName))){
+  File newDstPath = new File(jarEntry.getName());
+  copyFileOrDirectoryFromJar(jarFileName, jarEntry.getName(),  
newDstPath, false);
+}
+jarEntry = jarFileIS.getNextJarEntry();
+  }
+  jarFileIS.close();
+}
+
+else{
+  InputStream in =  
jarFile.getInputStream(jarFile.getEntry(inputFileName));
+  OutputStream out = new FileOutputStream(dstPath);
+
+  int c;
+  while ((c = in.read()) != -1){
+out.write(c);
+  }
+  in.close();
+  out.close();
+  jarFile.close();
+}
+  }
+
+  public static void copyFileOrDirectory(File srcPath, File dstPath,  
String classPath, String inputFileName, boolean isDirectory) throws  
IOException{
  if (srcPath.isDirectory()){
if (!dstPath.exists()){
  dstPath.mkdir();
   }
   String files[] = srcPath.list();
   for(int i = 0; i  files.length; i++){
-copyFileOrDirectory(new File(srcPath, files[i]), new File(dstPath,  
files[i]));
+copyFileOrDirectory(new File(srcPath, files[i]), new File(dstPath,  
files[i]), classPath, inputFileName, isDirectory);
}
  }
 else{
if(!srcPath.exists()){
-System.out.println(File or directory does not exist.);
-   System.exit(0);
+copyFileOrDirectoryFromJar(classPath, inputFileName, dstPath,  
isDirectory);
}
else{
  InputStream in = new FileInputStream(srcPath);
@@ -631,11 +671,11 @@
outFile.println(width:100%;);
outFile.println(background-color:#eee;);
outFile.println(border:1px solid  #66;);
-  outFile.println(border-spacing:5px;/*cellspacing:poor IE support  
for  this*/);
+  outFile.println(border-spacing:5px;);
outFile.println(border-collapse:separate;);
outFile.println(});
outFile.println(.celldiv {);
-  outFile.println(float:left;/*fix for  buggy browsers*/);
+  outFile.println(float:left;);
outFile.println(display:  table-cell;);
outFile.println(width:49.5%;);
outFile.println(font-size: 14px;);
@@ -679,22 +719,26 @@
public static void makeHTMLShell(HashMapString, CodeCollection  
nameToCodeColl, TreeMapString, LiteralsCollection nameToLitColl) throws  
IOException{
  //this will contain the place holder iframes where the 

[gwt-contrib] [google-web-toolkit commit] r4371 - in trunk: dev/core/src/com/google/gwt/core/ext/linker/impl dev/core/src/com/google/gwt/co...

2008-12-30 Thread codesite-noreply

Author: j...@google.com
Date: Tue Dec 23 22:38:21 2008
New Revision: 4371

Modified:
 
trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationAnalysis.java
trunk/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java
trunk/dev/core/src/com/google/gwt/dev/jjs/impl/ReplaceRunAsyncs.java
trunk/user/test/com/google/gwt/dev/jjs/test/RunAsyncTest.java

Log:
Sort/format/remove checkstyle warnings.

Patch by: jat
Review by: kprobst (TBR)



Modified:  
trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationAnalysis.java
==
---  
trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationAnalysis.java
  
(original)
+++  
trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationAnalysis.java
  
Tue Dec 23 22:38:21 2008
@@ -116,7 +116,7 @@
private transient MapCorrelation, Member membersByCorrelation = new  
IdentityHashMapCorrelation, Member();

/**
-   * Map from split point numbers to the method where they were set
+   * Map from split point numbers to the method where they were set.
 */
private MapInteger, String splitPointMap = new TreeMapInteger,  
String();

@@ -200,14 +200,13 @@

  return new IterableSnippet() {
public IteratorSnippet iterator() {
-assert stories != null;
  return new SnippetIterator(stories);
}
  };
}

@Override
-  public MapInteger, String getSplitPointMap(){
+  public MapInteger, String getSplitPointMap() {
  return splitPointMap;
}


Modified:  
trunk/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java
==
---  
trunk/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java
 
(original)
+++  
trunk/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java
 
Tue Dec 23 22:38:21 2008
@@ -65,7 +65,6 @@
  @LinkerOrder(Order.PRE)
  public class SoycReportLinker extends AbstractLinker {

-
public String escapeXml(String unescaped) {
  String escaped = unescaped.replaceAll(\\, amp;);
  escaped = escaped.replaceAll(\\, lt;);
@@ -176,13 +175,12 @@
  if (methodAliases.size()  0) {
htmlOut.indentOut();
htmlOut.indentOut();
-
+
curLine = /aliases;
htmlOut.printRaw(curLine);
htmlOut.newline();
htmlOut.indentOut();
htmlOut.indentOut();
-
  }
}

@@ -234,7 +232,6 @@
htmlOut.newline();
htmlOut.indentIn();
htmlOut.indentIn();
-
  }
  for (Member dependency : dependencies) {
curLine = on idref=\ + dependency.getSourceName() + \/;
@@ -244,14 +241,12 @@
  if (dependencies.size()  0) {
htmlOut.indentOut();
htmlOut.indentOut();
-

curLine = /depends;
htmlOut.printRaw(curLine);
htmlOut.newline();
htmlOut.indentOut();
htmlOut.indentOut();
-
  }
}

@@ -261,7 +256,6 @@
  if (fields.size()  0) {
htmlOut.indentIn();
htmlOut.indentIn();
-
  }
  for (FieldMember field : fields) {
curLine = field id=\ + field.getSourceName() + \ jsName=\
@@ -276,7 +270,6 @@
  if (fields.size()  0) {
htmlOut.indentOut();
htmlOut.indentOut();
-
  }
}

@@ -313,7 +306,6 @@
  htmlOut.newline();
  htmlOut.indentIn();
  htmlOut.indentIn();
-
}
for (Member dependency : dependencies) {
  curLine = on idref=\ + dependency.getSourceName() + \/;
@@ -323,13 +315,12 @@
if (dependencies.size()  0) {
  htmlOut.indentOut();
  htmlOut.indentOut();
-
+
  curLine = /depends;
  htmlOut.printRaw(curLine);
  htmlOut.newline();
  htmlOut.indentOut();
  htmlOut.indentOut();
-

  curLine = /function;
  htmlOut.printRaw(curLine);
@@ -349,7 +340,6 @@
htmlOut.newline();
htmlOut.indentIn();
htmlOut.indentIn();
-

for (Snippet snippet : report.getSnippets(fragment)) {
  Range range = snippet.getRange();
@@ -372,7 +362,6 @@

htmlOut.indentOut();
htmlOut.indentOut();
-

curLine = /js;
htmlOut.printRaw(curLine);
@@ -406,7 +395,6 @@
  htmlOut.newline();
  htmlOut.indentIn();
  htmlOut.indentIn();
-

  for (Map.EntryCompilationResult, String entry :  
partialPathsByResult.entrySet()) {
curLine = report href=\ + entry.getValue() + \;
@@ -414,7 +402,6 @@
htmlOut.newline();
htmlOut.indentIn();
htmlOut.indentIn();
-

for (MapSelectionProperty, String map :  
entry.getKey().getPropertyMap()) {

@@ -424,7 +411,6 @@
htmlOut.newline();
htmlOut.indentIn();
htmlOut.indentIn();
-

  } else {
curLine = permutation/;
@@ -440,7 +426,6 @@
  if (map.size()  0) 

[gwt-contrib] Code review request, Creating gen2 versions of Time and Date Spinner to use the new 1.6 datepicker and event system

2008-12-30 Thread Emily Crutcher
Dear Daniel,
I hope you are having a great holiday. I've added a gen2 version of
TimePicker and DatePickerPicker in a new com.google.gwt.gen2.picker package.
 It now depends upon the gwt 1.6 date picker and event system.  If you could
review my changes and make any more you deem appropriate, that would be
great!
Thanks,

Emily

Change link:
http://code.google.com/p/google-web-toolkit-incubator/source/detail?r=1379


There are only 10 types of people in the world: Those who understand
binary, and those who don't

--~--~-~--~~~---~--~~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~--~~~~--~~--~--~---