[gwt-contrib] Re: Code Review Request - Porting Tree fixes to GWT 1.5 branch

2008-10-09 Thread Emily Crutcher
Did you run the tests in the museum project to make sure the patches worked
as expected?
If so, LGTM



On Thu, Oct 9, 2008 at 11:28 AM, John LaBanca [EMAIL PROTECTED] wrote:

 Emily -

 Can you review the attached patch that has two Tree fixes for the 1.5
 branch?

 Please verify that this patch captures both of the fixes in, which have
 already been committed to trunk:
 http://code.google.com/p/google-web-toolkit/issues/detail?id=2853
 http://code.google.com/p/google-web-toolkit/issues/detail?id=2491

 Thanks,
 John LaBanca
 [EMAIL PROTECTED]




-- 
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
-~--~~~~--~~--~--~---



[gwt-contrib] [google-web-toolkit commit] r3729 - releases/1.5/user/src/com/google/gwt/user/client/ui

2008-10-09 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Thu Oct  9 08:44:15 2008
New Revision: 3729

Modified:
releases/1.5/user/src/com/google/gwt/user/client/ui/Tree.java
releases/1.5/user/src/com/google/gwt/user/client/ui/TreeItem.java

Log:
Fixes a couple of alignment bugs in the Tree.  One occurs when you remove  
all of the TreeItems in a parent, the other occurs because leaf TreeItems  
do not line up with their non-leaf siblings.

Patch by: jlabanca
Review by: ecc
Issue: 2853, 2491



Modified: releases/1.5/user/src/com/google/gwt/user/client/ui/Tree.java
==
--- releases/1.5/user/src/com/google/gwt/user/client/ui/Tree.java   
(original)
+++ releases/1.5/user/src/com/google/gwt/user/client/ui/Tree.java   Thu Oct 
  
9 08:44:15 2008
@@ -777,7 +777,7 @@
 * @param treeItem the tree item
 */
void showLeafImage(TreeItem treeItem) {
-if (useLeafImages) {
+if (useLeafImages || treeItem.isFullNode()) {
showImage(treeItem, images.treeLeaf());
  } else {
DOM.setStyleAttribute(treeItem.getElement(), paddingLeft,  
indentValue);

Modified: releases/1.5/user/src/com/google/gwt/user/client/ui/TreeItem.java
==
--- releases/1.5/user/src/com/google/gwt/user/client/ui/TreeItem.java
(original)
+++ releases/1.5/user/src/com/google/gwt/user/client/ui/TreeItem.java   Thu  
Oct  9 08:44:15 2008
@@ -107,11 +107,6 @@
  void initializeClonableElements() {
super.initializeClonableElements();
if (GWT.isClient()) {
-// Remove the padding from the cells and re-add it to the table  
element
-DOM.setElementPropertyInt(BASE_INTERNAL_ELEM, cellPadding, 0);
-DOM.setElementPropertyInt(BASE_INTERNAL_ELEM, cellSpacing, 0);
-BASE_INTERNAL_ELEM.getStyle().setPropertyPx(paddingBottom, 3);
-
  // We can't use a 3px padding all around because IE will wrap the
  // childSpan to the next line, so we need to add a 3px margin on  
the top
  // and bottom instead. However, margins overlap, so we need a 6px  
bottom
@@ -688,7 +683,7 @@
}

Element getImageHolderElement() {
-if (imageHolder == null) {
+if (!isFullNode()) {
convertToFullNode();
  }
  return imageHolder;
@@ -700,6 +695,10 @@
  DOM.appendChild(getElement(), childSpanElem);
  DOM.setStyleAttribute(childSpanElem, whiteSpace, nowrap);
  children = new ArrayListTreeItem();
+  }
+
+  boolean isFullNode() {
+return imageHolder != null;
}

void setParentItem(TreeItem parent) {

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



[gwt-contrib] [google-web-toolkit commit] r3730 - in changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev: . util/log

2008-10-09 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Thu Oct  9 11:45:15 2008
New Revision: 3730

Modified:
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/ModulePanel.java
 
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/util/log/SwingLoggerPanel.java

Log:
Changes from review.

Review by: bobv


Modified:  
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/ModulePanel.java
==
---  
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/ModulePanel.java   
 
(original)
+++  
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/ModulePanel.java   
 
Thu Oct  9 11:45:15 2008
@@ -84,7 +84,8 @@
  this.tabs = tabs;
  JPanel topPanel = new JPanel();
  topPanel.add(new JLabel(moduleName));
-JButton compileButton = new JButton(Compile);
+JButton compileButton = new JButton(Compile (not yet implemented));
+compileButton.setEnabled(false);
  compileButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
  JOptionPane.showMessageDialog(null, Compiling not implemented  
yet,

Modified:  
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/util/log/SwingLoggerPanel.java
==
---  
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/util/log/SwingLoggerPanel.java
  
(original)
+++  
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/util/log/SwingLoggerPanel.java
  
Thu Oct  9 11:45:15 2008
@@ -203,8 +203,6 @@
hasFocus);
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
Object userObject = node.getUserObject();
-  // TODO(jat): doesn't seem to work once disconnected
-  setBackground(tree.getBackground());
if (userObject instanceof LogEvent) {
  LogEvent event = (LogEvent) userObject;
  event.setDisplayProperties(this);
@@ -383,8 +381,6 @@
}

public void disconnected() {
-// TODO(jat): better way to do this, as this doesn't change all the
-// background colors.
  tree.setBackground(DISCONNECTED_COLOR);
  tree.repaint();
}

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



[gwt-contrib] Re: Flurry of Data binding threads

2008-10-09 Thread Arthur Kalmenson

Sounds good to me, a solution that fits seamlessly with GWT would be
very nice.

Will you be posting a design document about it? Will this all tie into
some form component for GWT? Will you include other useful features
like visibility logic?

Best regards,
Arthur Kalmenson

On Oct 8, 10:15 am, Ray Ryan [EMAIL PROTECTED] wrote:
 We all seem to be talking about data binding and validation a lot, and some
 of us are even implementing code about it. We on the GWT team hear the need
 and feel it ourselves.

 We have some notions of how we'd like to tackle this in a way that blends
 seamlessly with the rest of GWT, and are looking to start design and
 implementation in earnest before the year is out. This makes it unlikely
 that we'll accept core or incubator patches that implement such a system.

 That said, we don't want to shoot down the excellent work that's being done!
 If you have a system that's shaping up to meet your needs and that you want
 to share with the GWT community, please do!  Set up a Google Code project,
 announce it here, embarrass us by shipping first and attracting a user
 base. We'll probably steal from you shamelessly and ask for your help as our
 own system takes shape.

 I hope this doesn't ruffle any feathers, and that you'll understand why we
 haven't been as responsive on some of these threads as we should have been.

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



[gwt-contrib] Re: Flurry of Data binding threads

2008-10-09 Thread Ray Cromwell

There appears to be the following overlapping/complimentary items
being worked on by various people:

1) compile time UI Template markup language proposal (status?)
2) JSR 303 Bean validation annotation stuff
3) HasData/HasValue consistent interface proposal for GWT widgets
4) Data Binding (various) to hook up bean properties with two-way
synchronization to GWT widgets
5) Emily's new event handling system in incubator
6) MVC designs in GWT community

to that, I would add, look at the XForms model spec.

It seems to me that the elements of any solution be based on the
following principles:

1) Emphasis on compile-time resolution of bindings as
default/Leverages GWT compiler
2) Lightweight (shouldn't add too much to API)
3) Choice of use programmatically (from Java) or in UI templates.
(i.e. don't make it require UI templates, but make UI templates work
really well, with nice, terse idioms)
4) Extensible. If new types of per-field value metadata are added in
future (units, XForms stuff, security principals, etc) it shouldn't
mean a huge refactoring
5) Require minimal effort on the part of Widget authors (but perhaps
not zero effort)

That is, most of the work should be shouldered by people writing new
kinds of binding expressions, validators, etc and Widgets should
gracefully degrade or simply not respond to new types of per-field
metadata that they don't understand.

I think key is to remember that validation, calculation, visibility,
etc can be generalized to arbitrary per-field metadata (ala XForms)
and don't have to be hardcoded first-class, so many of the current
proposals floating around can be in fact, combined under one umbrella.

-Ray



On Wed, Oct 8, 2008 at 7:15 AM, Ray Ryan [EMAIL PROTECTED] wrote:
 We all seem to be talking about data binding and validation a lot, and some
 of us are even implementing code about it. We on the GWT team hear the need
 and feel it ourselves.

 We have some notions of how we'd like to tackle this in a way that blends
 seamlessly with the rest of GWT, and are looking to start design and
 implementation in earnest before the year is out. This makes it unlikely
 that we'll accept core or incubator patches that implement such a system.
 That said, we don't want to shoot down the excellent work that's being done!
 If you have a system that's shaping up to meet your needs and that you want
 to share with the GWT community, please do!  Set up a Google Code project,
 announce it here, embarrass us by shipping first and attracting a user
 base. We'll probably steal from you shamelessly and ask for your help as our
 own system takes shape.
 I hope this doesn't ruffle any feathers, and that you'll understand why we
 haven't been as responsive on some of these threads as we should have been.
 Thanks,
 rjrjr


 


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



[gwt-contrib] Re: Flurry of Data binding threads

2008-10-09 Thread Emily Crutcher
To give you an idea of where I am coming from, here is my understanding of
the world:

*Metadata Systems, comprising Models and Controllers*
xforms, Ian's databinding system, Arthur's validation system, gwt team's
upcoming proposal for data management:

All part of the larger metadata, binding, code generation class of systems.
Hopefully all of these can eventually use the same basic concepts and it
going to be a huge undertaking to get it right. In fact, so huge of one that
the gwt team has decided to duck for now and are trying very hard not to get
involved in these discusions at the current time.


*Widget bridge classes, part of the application's view.*
Classes used to expose the application's view to the meta data systems.

*HasValue*:  Provides the bridge between the metadata model and the world of
widgets. From the meta data system's point of view it has some way of
creating/linking with instances of HasValueString, HasValueBoolean,
HasValueDate, etc..

From the widgets point of view, we have a whole bunch of text boxes, text
areas, date pickers, etc. on the page.

Accordingly, HasValue should only ever be used for simple leaf types on leaf
widgets.

*EventHandlers*: Provides a way for the meta data system controllers to add
callbacks to react to widget changes.




 -Ray



 On Wed, Oct 8, 2008 at 7:15 AM, Ray Ryan [EMAIL PROTECTED] wrote:
  We all seem to be talking about data binding and validation a lot, and
 some
  of us are even implementing code about it. We on the GWT team hear the
 need
  and feel it ourselves.
 
  We have some notions of how we'd like to tackle this in a way that blends
  seamlessly with the rest of GWT, and are looking to start design and
  implementation in earnest before the year is out. This makes it unlikely
  that we'll accept core or incubator patches that implement such a system.
  That said, we don't want to shoot down the excellent work that's being
 done!
  If you have a system that's shaping up to meet your needs and that you
 want
  to share with the GWT community, please do!  Set up a Google Code
 project,
  announce it here, embarrass us by shipping first and attracting a user
  base. We'll probably steal from you shamelessly and ask for your help as
 our
  own system takes shape.
  I hope this doesn't ruffle any feathers, and that you'll understand why
 we
  haven't been as responsive on some of these threads as we should have
 been.
  Thanks,
  rjrjr
 
 
  
 

 



-- 
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
-~--~~~~--~~--~--~---



[gwt-contrib] Re: Flurry of Data binding threads

2008-10-09 Thread chris.ruffalo

Going to stick my nose in here a bit:

I certainly believe that this is all one ball of wax.  I /know/ that
the system that I've been working on can be used to modify the data.
I know it breaks the JSR-303 paradigm so I've left it alone.  The
fundamental difference is that I'm expecting some output from the
process.  A lack of output signifies that everything worked.  Also I'm
not sure how much other metadata frameworks are putting in to pure JVM
mode operation.

I'm currently investigating mechanisms for cutting down on code
overhead because creating a validator for each class has proven to be
large.  Maybe what I need to do (and will investigate) is creating a
gimpy version of the annotations and other metadata on each method and
then packaging that to be consumed by a validator.  Or maybe not,
still working on that.

In any case I'd desperately like to merge functionality with someone
else and build a larger user base and feature set.  I'm not married to
the JSR-303 or anything but it seemed like a good place to start.

I agree with Emily's view of the world and I agree mostly with Ray.
I'm a little fuzzy on the work being done on UI templates and I'm not
sure about the compile-time emphasis.  As I've mentioned before I need
things to work on both sides of the divide.  I'd love to see some
work put in to code templates that work through dynamic generation at
compile time and at run time.  I'm sure that most people don't want me
relying on constant introspection to get the job done just for
performance reasons.

Also the HasValue (or HasData) is a must.  I thought I came up with
that in the shower this morning.  I must have read it somewhere here
first right?  Anyway  I'm looking forward to what is coming in the
days ahead.

Shameless plug:  http://code.google.com/p/gwt-validation/

Chris Ruffalo

On Oct 9, 4:15 pm, Emily Crutcher [EMAIL PROTECTED] wrote:
 To give you an idea of where I am coming from, here is my understanding of
 the world:

 *Metadata Systems, comprising Models and Controllers*
 xforms, Ian's databinding system, Arthur's validation system, gwt team's
 upcoming proposal for data management:

 All part of the larger metadata, binding, code generation class of systems.
 Hopefully all of these can eventually use the same basic concepts and it
 going to be a huge undertaking to get it right. In fact, so huge of one that
 the gwt team has decided to duck for now and are trying very hard not to get
 involved in these discusions at the current time.

 *Widget bridge classes, part of the application's view.*
 Classes used to expose the application's view to the meta data systems.

 *HasValue*:  Provides the bridge between the metadata model and the world of
 widgets. From the meta data system's point of view it has some way of
 creating/linking with instances of HasValueString, HasValueBoolean,
 HasValueDate, etc..

 From the widgets point of view, we have a whole bunch of text boxes, text
 areas, date pickers, etc. on the page.

 Accordingly, HasValue should only ever be used for simple leaf types on leaf
 widgets.

 *EventHandlers*: Provides a way for the meta data system controllers to add
 callbacks to react to widget changes.





  -Ray

  On Wed, Oct 8, 2008 at 7:15 AM, Ray Ryan [EMAIL PROTECTED] wrote:
   We all seem to be talking about data binding and validation a lot, and
  some
   of us are even implementing code about it. We on the GWT team hear the
  need
   and feel it ourselves.

   We have some notions of how we'd like to tackle this in a way that blends
   seamlessly with the rest of GWT, and are looking to start design and
   implementation in earnest before the year is out. This makes it unlikely
   that we'll accept core or incubator patches that implement such a system.
   That said, we don't want to shoot down the excellent work that's being
  done!
   If you have a system that's shaping up to meet your needs and that you
  want
   to share with the GWT community, please do!  Set up a Google Code
  project,
   announce it here, embarrass us by shipping first and attracting a user
   base. We'll probably steal from you shamelessly and ask for your help as
  our
   own system takes shape.
   I hope this doesn't ruffle any feathers, and that you'll understand why
  we
   haven't been as responsive on some of these threads as we should have
  been.
   Thanks,
   rjrjr

 --
 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
-~--~~~~--~~--~--~---



[gwt-contrib] Flurry of Data binding threads

2008-10-09 Thread Isaac Truett
[+gwt-c]

-- Forwarded message --

 Accordingly, HasValue should only ever be used for simple leaf types on
leaf widgets.

I think I object to issue with this statement, but first I'd like to see a
definition of leaf types and widgets. By leaf type, I assume you mean
primitive wrapper classes and String, but why is Date thrown in there? Why
would DatePicker implements HasValueDate be acceptable but not
PersonPicker implements HasValuePerson? What's to be gained by
discouraging HasValue for complex data types?




On Thu, Oct 9, 2008 at 4:15 PM, Emily Crutcher [EMAIL PROTECTED] wrote:

 To give you an idea of where I am coming from, here is my understanding of
 the world:

 *Metadata Systems, comprising Models and Controllers*
 xforms, Ian's databinding system, Arthur's validation system, gwt team's
 upcoming proposal for data management:

 All part of the larger metadata, binding, code generation class of systems.
 Hopefully all of these can eventually use the same basic concepts and it
 going to be a huge undertaking to get it right. In fact, so huge of one that
 the gwt team has decided to duck for now and are trying very hard not to get
 involved in these discusions at the current time.


 *Widget bridge classes, part of the application's view.*
 Classes used to expose the application's view to the meta data systems.

 *HasValue*:  Provides the bridge between the metadata model and the world
 of widgets. From the meta data system's point of view it has some way of
 creating/linking with instances of HasValueString, HasValueBoolean,
 HasValueDate, etc..

 From the widgets point of view, we have a whole bunch of text boxes, text
 areas, date pickers, etc. on the page.

 Accordingly, HasValue should only ever be used for simple leaf types on
 leaf widgets.

 *EventHandlers*: Provides a way for the meta data system controllers to
 add callbacks to react to widget changes.




 -Ray



 On Wed, Oct 8, 2008 at 7:15 AM, Ray Ryan [EMAIL PROTECTED] wrote:
  We all seem to be talking about data binding and validation a lot, and
 some
  of us are even implementing code about it. We on the GWT team hear the
 need
  and feel it ourselves.
 
  We have some notions of how we'd like to tackle this in a way that
 blends
  seamlessly with the rest of GWT, and are looking to start design and
  implementation in earnest before the year is out. This makes it unlikely
  that we'll accept core or incubator patches that implement such a
 system.
  That said, we don't want to shoot down the excellent work that's being
 done!
  If you have a system that's shaping up to meet your needs and that you
 want
  to share with the GWT community, please do!  Set up a Google Code
 project,
  announce it here, embarrass us by shipping first and attracting a user
  base. We'll probably steal from you shamelessly and ask for your help as
 our
  own system takes shape.
  I hope this doesn't ruffle any feathers, and that you'll understand why
 we
  haven't been as responsive on some of these threads as we should have
 been.
  Thanks,
  rjrjr
 
 
  
 

 



 --
 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
-~--~~~~--~~--~--~---



[gwt-contrib] Re: Flurry of Data binding threads

2008-10-09 Thread Emily Crutcher
Would you normally have a UI widget as specific as a person picker?  That
seems like the model (a person) and the widget displaying the person might
be a bit too closely bound, and we'd rather that binding took place using
some sort of data binding solution.

The reason for this distinction is to make it clear that the HasValue
interface is not designed to be a data-binding solution, it is designed to
enable* other* people to create data binding solutions.





On Thu, Oct 9, 2008 at 4:55 PM, Isaac Truett [EMAIL PROTECTED] wrote:

 [+gwt-c]

 -- Forwarded message --

  Accordingly, HasValue should only ever be used for simple leaf types on
 leaf widgets.

 I think I object to issue with this statement, but first I'd like to see a
 definition of leaf types and widgets. By leaf type, I assume you mean
 primitive wrapper classes and String, but why is Date thrown in there? Why
 would DatePicker implements HasValueDate be acceptable but not
 PersonPicker implements HasValuePerson? What's to be gained by
 discouraging HasValue for complex data types?




 On Thu, Oct 9, 2008 at 4:15 PM, Emily Crutcher [EMAIL PROTECTED] wrote:

 To give you an idea of where I am coming from, here is my understanding of
 the world:

 *Metadata Systems, comprising Models and Controllers*
 xforms, Ian's databinding system, Arthur's validation system, gwt team's
 upcoming proposal for data management:

 All part of the larger metadata, binding, code generation class of
 systems. Hopefully all of these can eventually use the same basic concepts
 and it going to be a huge undertaking to get it right. In fact, so huge of
 one that the gwt team has decided to duck for now and are trying very hard
 not to get involved in these discusions at the current time.


 *Widget bridge classes, part of the application's view.*
 Classes used to expose the application's view to the meta data systems.

 *HasValue*:  Provides the bridge between the metadata model and the world
 of widgets. From the meta data system's point of view it has some way of
 creating/linking with instances of HasValueString, HasValueBoolean,
 HasValueDate, etc..

 From the widgets point of view, we have a whole bunch of text boxes, text
 areas, date pickers, etc. on the page.

 Accordingly, HasValue should only ever be used for simple leaf types on
 leaf widgets.

 *EventHandlers*: Provides a way for the meta data system controllers to
 add callbacks to react to widget changes.




 -Ray



 On Wed, Oct 8, 2008 at 7:15 AM, Ray Ryan [EMAIL PROTECTED] wrote:
  We all seem to be talking about data binding and validation a lot, and
 some
  of us are even implementing code about it. We on the GWT team hear the
 need
  and feel it ourselves.
 
  We have some notions of how we'd like to tackle this in a way that
 blends
  seamlessly with the rest of GWT, and are looking to start design and
  implementation in earnest before the year is out. This makes it
 unlikely
  that we'll accept core or incubator patches that implement such a
 system.
  That said, we don't want to shoot down the excellent work that's being
 done!
  If you have a system that's shaping up to meet your needs and that you
 want
  to share with the GWT community, please do!  Set up a Google Code
 project,
  announce it here, embarrass us by shipping first and attracting a user
  base. We'll probably steal from you shamelessly and ask for your help
 as our
  own system takes shape.
  I hope this doesn't ruffle any feathers, and that you'll understand why
 we
  haven't been as responsive on some of these threads as we should have
 been.
  Thanks,
  rjrjr
 
 
  
 





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




 



-- 
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
-~--~~~~--~~--~--~---



[gwt-contrib] Re: Flurry of Data binding threads

2008-10-09 Thread Emily Crutcher
That is true, as the answer never is certainly too simplistic.

The  point is that the primary use case of HasValue is not to bind data
objects to widgets, but to allow widgets to provide an easy to use interface
for other systems.  As the data binder should not have to care what the
physical widget type is as long as it knows what type of value the widget
can set and get.





On Thu, Oct 9, 2008 at 5:32 PM, Ray Cromwell [EMAIL PROTECTED] wrote:


 There may be cases where this is permissible. For example, a MapWidget
 might return LatLng objects, rather than having a Long and Lat field
 which are separately bound.  In the context of OpenSocial or GData, I
 could see a common reusable widget for picking from your network that
 would naturally return something like a Person. The reason it might do
 this, is because the binding itself might be overly complex. The
 widget might present friends in a tree of groups, allow search, pull
 from multiple networks. In general, the internal state of the widget
 might be too complex to expose for binding to via getter methods.

 -Ray


 On Thu, Oct 9, 2008 at 2:23 PM, Emily Crutcher [EMAIL PROTECTED] wrote:
  Would you normally have a UI widget as specific as a person picker?  That
  seems like the model (a person) and the widget displaying the person
 might
  be a bit too closely bound, and we'd rather that binding took place using
  some sort of data binding solution.
 
  The reason for this distinction is to make it clear that the HasValue
  interface is not designed to be a data-binding solution, it is designed
 to
  enable other people to create data binding solutions.
 
 
 
 
 
  On Thu, Oct 9, 2008 at 4:55 PM, Isaac Truett [EMAIL PROTECTED] wrote:
 
  [+gwt-c]
 
  -- Forwarded message --
 
   Accordingly, HasValue should only ever be used for simple leaf types
 on
   leaf widgets.
 
  I think I object to issue with this statement, but first I'd like to see
 a
  definition of leaf types and widgets. By leaf type, I assume you mean
  primitive wrapper classes and String, but why is Date thrown in there?
 Why
  would DatePicker implements HasValueDate be acceptable but not
  PersonPicker implements HasValuePerson? What's to be gained by
  discouraging HasValue for complex data types?
 
 
 
  On Thu, Oct 9, 2008 at 4:15 PM, Emily Crutcher [EMAIL PROTECTED] wrote:
 
  To give you an idea of where I am coming from, here is my understanding
  of the world:
 
  Metadata Systems, comprising Models and Controllers
  xforms, Ian's databinding system, Arthur's validation system, gwt
 team's
  upcoming proposal for data management:
 
  All part of the larger metadata, binding, code generation class of
  systems. Hopefully all of these can eventually use the same basic
 concepts
  and it going to be a huge undertaking to get it right. In fact, so huge
 of
  one that the gwt team has decided to duck for now and are trying very
 hard
  not to get involved in these discusions at the current time.
 
 
  Widget bridge classes, part of the application's view.
  Classes used to expose the application's view to the meta data systems.
 
  HasValue:  Provides the bridge between the metadata model and the world
  of widgets. From the meta data system's point of view it has some way
 of
  creating/linking with instances of HasValueString, HasValueBoolean,
  HasValueDate, etc..
 
  From the widgets point of view, we have a whole bunch of text boxes,
 text
  areas, date pickers, etc. on the page.
 
  Accordingly, HasValue should only ever be used for simple leaf types on
  leaf widgets.
 
  EventHandlers: Provides a way for the meta data system controllers to
 add
  callbacks to react to widget changes.
 
 
 
  -Ray
 
 
 
  On Wed, Oct 8, 2008 at 7:15 AM, Ray Ryan [EMAIL PROTECTED] wrote:
   We all seem to be talking about data binding and validation a lot,
 and
   some
   of us are even implementing code about it. We on the GWT team hear
 the
   need
   and feel it ourselves.
  
   We have some notions of how we'd like to tackle this in a way that
   blends
   seamlessly with the rest of GWT, and are looking to start design and
   implementation in earnest before the year is out. This makes it
   unlikely
   that we'll accept core or incubator patches that implement such a
   system.
   That said, we don't want to shoot down the excellent work that's
 being
   done!
   If you have a system that's shaping up to meet your needs and that
 you
   want
   to share with the GWT community, please do!  Set up a Google Code
   project,
   announce it here, embarrass us by shipping first and attracting a
 user
   base. We'll probably steal from you shamelessly and ask for your
 help
   as our
   own system takes shape.
   I hope this doesn't ruffle any feathers, and that you'll understand
   why we
   haven't been as responsive on some of these threads as we should
 have
   been.
   Thanks,
   rjrjr
  
  
   
  
 
 
 
 
 
  --
  There are only 10 types of people in the world: 

[gwt-contrib] [google-web-toolkit commit] r3732 - releases/1.6

2008-10-09 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Thu Oct  9 14:46:38 2008
New Revision: 3732

Added:
releases/1.6/
   - copied from r3683, /trunk/

Log:
Creating 1.6 release branch based on [EMAIL PROTECTED]



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



[gwt-contrib] [google-web-toolkit commit] r3733 - releases/1.6

2008-10-09 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Thu Oct  9 14:59:31 2008
New Revision: 3733

Added:
releases/1.6/branch-info.txt   (contents, props changed)

Log:
Creating branch info for releases/1.6.

Added: releases/1.6/branch-info.txt
==
--- (empty file)
+++ releases/1.6/branch-info.txtThu Oct  9 14:59:31 2008
@@ -0,0 +1,9 @@
+branch-info.txt for GWT 1.6 release:
+Tracks interactions between this branch and other branches.
+See: http://code.google.com/p/google-web-toolkit/wiki/ManagingMerges
+
+Copies:
+/releases/1.6/ was created (r3732) as a straight copy from /trunk/@r3683
+
+Merges:
+--- The next merge into trunk is not yet determined, we will need to skip  
a few revisions to first back-port changes from trunk.

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



[gwt-contrib] code review requested for 1.5 branch, RPC quoting, issues 1137, 1906, and more

2008-10-09 Thread John Tamplin
The attached patch, relative to releases/1.5 r3731, fixes a number of RPC
quoting issues and adds more robust tests.  In addition to the listed
issues, this fixes problems with RPC working at all in the Android WebKit
browser, or for sending serialized responses via IE form post (which mangles
the U+ separator character).  Also, some plugins for OOPHM run into
problems using the U+ character.

-- 
John A. Tamplin
Software Engineer (GWT), Google

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

Index: user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java
===
--- user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java	(revision 3731)
+++ user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java	(working copy)
@@ -16,6 +16,7 @@
 package com.google.gwt.user.server.rpc;
 
 import com.google.gwt.user.client.rpc.UnicodeEscapingService;
+import com.google.gwt.user.client.rpc.UnicodeEscapingTest;
 
 /**
  * Implementation of the [EMAIL PROTECTED] UnicodeEscapingService} interface. 
@@ -24,18 +25,18 @@
 UnicodeEscapingService {
 
   /**
-   * @see com.google.gwt.user.client.rpc.UnicodeEscapingService#getStringContainingCharacterRange(int,
-   *  int)
+   * @see UnicodeEscapingService#getStringContainingCharacterRange(int, int)
*/
   public String getStringContainingCharacterRange(int start, int end) {
-int nChars = end - start;
-  
-char[] chars = new char[nChars];
-for (int i = 0; i  nChars; ++i) {
-  char ch = (char) (start + i);
-  chars[i] = ch;
-}
+return UnicodeEscapingTest.getStringContainingCharacterRange(start, end);
+  }
 
-return new String(chars);
+  /**
+   * @see UnicodeEscapingService#verifyStringContainingCharacterRange(int, int, String)
+   */
+  public boolean verifyStringContainingCharacterRange(int start, int end,
+  String str) throws InvalidCharacterException {
+UnicodeEscapingTest.verifyStringContainingCharacterRange(start, end, str);
+return true;
   }
 }
Index: user/test/com/google/gwt/user/server/rpc/RPCTest.java
===
--- user/test/com/google/gwt/user/server/rpc/RPCTest.java	(revision 3731)
+++ user/test/com/google/gwt/user/server/rpc/RPCTest.java	(working copy)
@@ -15,10 +15,14 @@
  */
 package com.google.gwt.user.server.rpc;
 
+import static com.google.gwt.user.client.rpc.impl.AbstractSerializationStream.RPC_SEPARATOR_CHAR;
+
 import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException;
 import com.google.gwt.user.client.rpc.RemoteService;
 import com.google.gwt.user.client.rpc.SerializableException;
 import com.google.gwt.user.client.rpc.SerializationException;
+import com.google.gwt.user.client.rpc.impl.AbstractSerializationStream;
+import com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader;
 
 import junit.framework.TestCase;
 
@@ -27,6 +31,7 @@
 /**
  * Tests for the [EMAIL PROTECTED] com.google.gwt.user.server.rpc.RPC RPC} class.
  */
[EMAIL PROTECTED](deprecation)
 public class RPCTest extends TestCase {
 
   private static interface A extends RemoteService {
@@ -41,60 +46,97 @@
 void method1();
   }
 
-  private static final String VALID_ENCODED_REQUEST = 4\u + // version
-  0\u + // flags
-  4\u + // string table entry count
-  A.class.getName() + \u + // string table entry #0
-  method2 + \u + // string table entry #1
-  moduleBaseURL + \u + // string table entry #2
-  whitelistHashcode + \u + // string table entry #4
-  3\u + // module base URL
-  4\u + // whitelist hashcode
-  1\u + // interface name
-  2\u + // method name
-  0\u; // param count
+  private static final String VALID_ENCODED_REQUEST =  +
+  AbstractSerializationStream.SERIALIZATION_STREAM_VERSION +
+  RPC_SEPARATOR_CHAR + // version
+  0 + RPC_SEPARATOR_CHAR + // flags
+  4 + RPC_SEPARATOR_CHAR + // string table entry count
+  A.class.getName() + RPC_SEPARATOR_CHAR + // string table entry #1
+  method2 + RPC_SEPARATOR_CHAR + // string table entry #2
+  moduleBaseURL + RPC_SEPARATOR_CHAR + // string table entry #3
+  whitelistHashcode + RPC_SEPARATOR_CHAR + // string table entry #4
+  3 + RPC_SEPARATOR_CHAR + // module base URL
+  4 + RPC_SEPARATOR_CHAR + // whitelist hashcode
+  1 + RPC_SEPARATOR_CHAR + // interface name
+  2 + RPC_SEPARATOR_CHAR + // method name
+  0 + RPC_SEPARATOR_CHAR; // param count
 
-  private static final String INVALID_METHOD_REQUEST = 4\u + // version
+  private static final String INVALID_METHOD_REQUEST =  +
+  AbstractSerializationStream.SERIALIZATION_STREAM_VERSION +
+  RPC_SEPARATOR_CHAR + // version
+  0 + RPC_SEPARATOR_CHAR + 

[gwt-contrib] Re: [google-web-toolkit commit] r3716 - changes/spoon/runAsync/dev/core/src/com/google/gwt/dev/jjs/impl

2008-10-09 Thread Scott Blum
LGTM.

Minor: In Pruner, it strikes me that you shouldn't have to do this.  Perhaps
most of the code in visit(JMethodCall) should be moved into visit(JMethod)

BTW: your patch name is teh lolz. :)

Scott

On Thu, Oct 9, 2008 at 6:25 PM, Lex Spoon [EMAIL PROTECTED] wrote:

 Thanks, Scott.
 The patch should apply to trunk.  Would you mind it going into trunk if it
 looks good?  I'll merge it over to the runAsync branch the next time I sync
 it with trunk.

 The linear search you point at does not look so good on closer inspection.
  For each method in the program, there is a linear search through all the
 *entry* methods of the program. That's okay right now, but if there are ever
 a lot of entry methods, it could get expensive.

 Attached is an update that is just like the previous one, but it replaces
 the linear scan by a lookup in an IdentityHashMap.

 -Lex



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