The issue is not having a separate page or a pop up dialog box - it's
having an actual separate browser window or browser tab within the
same application that causes the trouble. There are a number of ways
to achieve the same objective that are more "web" style, e.g.

1) Use a DialogBox. There are a number of implementations of this
around that look like windows (but they are popups basically).
2) Use a hidden panel that becomes visible when some button/hyperlink
is clicked. For example see http://www.bbc.co.uk/ customize your
homepage button.
3) Use GWT history support, i.e. throw a new "page", add a back link
from it back to the main application "page", but also enable the user
to use the browser back/forward buttons to switch between the two. I
think most people expect web applications to behave like that.

regards
gregor

On Nov 18, 10:28 am, francescoNemesi <[EMAIL PROTECTED]> wrote:
> You use GWTxhttp://code.google.com/p/gwtxto use
> PropertyChangeSupport events. If used cleverly this allows event
> handling among various modules, i.e. a module could send a
> PropertyChangeEvent of a given named property and another module could
> listen for it and execute accordingly. Just an idea...
>
> On Nov 18, 3:24 am, gregor <[EMAIL PROTECTED]> wrote:
>
> > That's a "Windows" way of looking at things. Check the link I gave,
> > and there are others both on this group and around the net, that
> > explain better than I can why you should maybe reconsider that idea.
>
> > On Nov 18, 1:51 am, mives29 <[EMAIL PROTECTED]> wrote:
>
> > > Well, the reason for the two entrypoints is that me and my colleagues
> > > are looking for a way to implement a sort of "pop-up" dialog box, but,
> > > something that resides on a separate window, so it wouldn't overlay
> > > with the main page.  (so the user can alt+tab between the two
> > > windows).
>
> > > If there's another way to do this other than creating another
> > > entrypoint, please let me know. Thanks.
>
> > > On Nov 17, 7:54 pm, gregor <[EMAIL PROTECTED]> wrote:
>
> > > > Clearly if a module is using a class declared in another module it
> > > > must explicitly inherit the other module in it's module.get.xml file
> > > > otherwise the GWT compiler  won't have access to the class's source
> > > > which it needs. Frankly I'm not sure how this would work in the
> > > > situation as you describe since I have always followed the canonical
> > > > GWT approach which is using a single HTML page and EntryPoint for each
> > > > separate application. I'm not sure what your motivation is in having
> > > > two EntryPoints. I think this results in two separate javascript .js
> > > > files loaded into your HTML page, therefore there will be a "wall"
> > > > between them that accounts for your difficulties. I think it is
> > > > possible to communicate between separate javascript files using JSNI
> > > > but that would make your life much more difficult.
>
> > > > On the other hand there is no reason not to have your
> > > > com.try.popup.client.PopUp.java in a separate module (i.e. having it's
> > > > own module.gwt.xml file) and have this inherited by the
> > > > com.try.client.Page1.java module. That way it would be compiled as
> > > > part of your main application (making your problem go away) but still
> > > > be usable in other applications as well. As I say, what is your
> > > > motivation for having two EnrtyPoints?
>
> > > > regards
> > > > gregor
>
> > > > On Nov 17, 9:42 am, mives29 <[EMAIL PROTECTED]> wrote:
>
> > > > > The problem is im using two entrypoints, running on two windows, where
> > > > > the 2nd composite is shown thru Window.open(). I need the first
> > > > > entrypoint's composite to listen to the second entrypoint's composite,
> > > > > but I cant do that since the second entrypoint's composite is
> > > > > instantiated on the second composite, not the first one, so I cant add
> > > > > the first entrypoint's composite as a listener of the second
> > > > > entrypoint's composite.
>
> > > > > Anyone knows a work around/alternative method of implementing observer
> > > > > pattern on my problem?
>
> > > > > On Nov 17, 4:00 pm, mives29 <[EMAIL PROTECTED]> wrote:
>
> > > > > > I tested it on same module, this implementation of the observer
> > > > > > pattern works. however, when using this on two modules it doesn't. 
> > > > > > Do
> > > > > > I need to do deferred binding here? I hope not coz I dont know how 
> > > > > > to.
> > > > > > =)
>
> > > > > > On Nov 17, 1:29 pm, mives29 <[EMAIL PROTECTED]> wrote:
>
> > > > > > > oops CnP mistake. on this line:
> > > > > > > buttons.addChangeListener(this);  //where "this" pertains to
> > > > > > > Page1Compo1
>
> > > > > > > i meant
> > > > > > > xx.addChangeListener(this);    //where "this" pertains to 
> > > > > > > Page1Compo1
>
> > > > > > > On Nov 17, 1:22 pm, mives29 <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > Hi. I tried your recommendations but there are some errors that 
> > > > > > > > I
> > > > > > > > encounter that I think is related to my project's structure
> > > > > > > > compatibility with your code. As I said above, my project has 
> > > > > > > > two
> > > > > > > > entrypoints. First entrypoint(com.try.client.Page1.java) 
> > > > > > > > contains a
> > > > > > > > vertical panel that contains three composites. Second entrypoint
> > > > > > > > (com.try.popup.client.PopUp.java) contains a vertical panel than
> > > > > > > > contains two composites. (Note: they(entrypoints) are from 
> > > > > > > > different
> > > > > > > > modules, same app.)
>
> > > > > > > > Now I need Page1.java's panel's contained composites to become
> > > > > > > > listeners of PopUp.java's horizontal panel's contained 
> > > > > > > > composites. For
> > > > > > > > example, I click something on PopUp.java, Page1.java would show 
> > > > > > > > a
> > > > > > > > reaction thru its composites that are listeners of PopUp.java's
> > > > > > > > composite # 2. However, as I followed your instruction, I got 
> > > > > > > > this
> > > > > > > > errror:
>
> > > > > > > > First, my CODE:
> > > > > > > > //On Page1.java's first composite: Page1Compo1.java, I included 
> > > > > > > > the
> > > > > > > > following
> > > > > > > > //declaration of composite # 2
> > > > > > > > XXXX xx;
>
> > > > > > > > //somewhere on the code
> > > > > > > > buttons.addChangeListener(this);    //where "this" pertains to
> > > > > > > > Page1Compo1
>
> > > > > > > > THE ERROR:
> > > > > > > > No source code is available for type 
> > > > > > > > com.xxxzzz.client.XXXX.java; did
> > > > > > > > you forget to inherit a required module?
>
> > > > > > > > note: XXXX.java above is composite # 2 of PopUp.java vertical 
> > > > > > > > panel.
>
> > > > > > > > It seems I cannot use XXXX.java on Page1Compo1.java.. What am I
> > > > > > > > missing?
>
> > > > > > > > On Nov 14, 8:50 pm, gregor <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > > Oh, as to why, well as you see ConfigPanel has no real 
> > > > > > > > > knowledge of
> > > > > > > > > the other panels that are listening to it and does need to 
> > > > > > > > > call any
> > > > > > > > > methods on them. As a result any number of panels can be 
> > > > > > > > > registered as
> > > > > > > > > a listener with it, and subsequently swapped out for new ones 
> > > > > > > > > if
> > > > > > > > > required, without affecting ConfigPanel's code at all. It is 
> > > > > > > > > up to the
> > > > > > > > > listeners to decide for themselves, individually, what they 
> > > > > > > > > need to do
> > > > > > > > > when they receive a change event. So there is a very weak 
> > > > > > > > > association
> > > > > > > > > between ConfigPanel and it's listeners and none at all 
> > > > > > > > > between the
> > > > > > > > > listeners == low coupling == application components easy to 
> > > > > > > > > change and
> > > > > > > > > maintain.
>
> > > > > > > > > On Nov 14, 12:40 pm, gregor <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > > > GWT has a range of Observer/Observable gadgets off the 
> > > > > > > > > > shelf:
> > > > > > > > > > SourcesxxxxEvents &  xxxxListener and xxxListenerCollection 
> > > > > > > > > > utility
> > > > > > > > > > classes. If they don't work quite right for you, it's easy 
> > > > > > > > > > to copy the
> > > > > > > > > > principle and design your own event handling interfaces.
>
> > > > > > > > > > You could have your config Composite implement 
> > > > > > > > > > SourcesChangeEvents,
> > > > > > > > > > for example. Then Comps 1 & 2 can implement ChangeListener 
> > > > > > > > > > and are
> > > > > > > > > > registered with the config Comp. It might work like so:
>
> > > > > > > > > > public class ConfigPanel extends Composite implements
> > > > > > > > > > SourcesChangeEvents {
>
> > > > > > > > > >   private ChangeListenerCollection listeners = new
> > > > > > > > > > ChangeListenerCollection();
> > > > > > > > > >   private Button saveBtn = new Button("Save",new 
> > > > > > > > > > ClickListener() {
> > > > > > > > > >             public void onClick(Widget widget) {
> > > > > > > > > >                   // you want to send the ConfigPanel 
> > > > > > > > > > itself, not the
> > > > > > > > > > Button!
> > > > > > > > > >                   // if you just used this it would send 
> > > > > > > > > > the button
> > > > > > > > > >                   listeners.fireChange(ConfigPanel.this).;
> > > > > > > > > >                 }
> > > > > > > > > >             });
>
> > > > > > > > > > }
>
> > > > > > > > > > public class Comp1 extends Composite implements 
> > > > > > > > > > changeListener {
>
> > > > > > > > > >      public void onChange(Widget sender) {
> > > > > > > > > >          is (sender instanceof ConfigPanel) {
> > > > > > > > > >              ConfigPanel configPanel = (ConfigPanel) sender;
> > > > > > > > > >              // call whatever methods you need
> > > > > > > > > >          }
>
> > > > > > > > > > }
>
> > > > > > > > > > Don't forget you have to register Comp1 as a lister with 
> > > > > > > > > > ConfigPanel
> > > > > > > > > > somewhere or it won't work, e.g.:
>
> > > > > > > > > >     confPanel.addChangeListener(comp1);
>
> > > > > > > > > > And that's about it - goodbye to your static method calls.
>
> > > > > > > > > > regards
> > > > > > > > > > gregor
>
> > > > > > > > > > On Nov 14, 8:45 am, mives29 <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > > > > i meant static methods, not static classes (2nd paragraph 
> > > > > > > > > > > 2nd line)
>
> > > > > > > > > > > On Nov 14, 4:43 pm, mives29 <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > > > > > I'd go straight to what I want to do.
>
> > > > > > > > > > > > I have 3 composites in 1 panel, in 1 entrypoint. I have 
> > > > > > > > > > > > another
> > > > > > > > > > > > entrypoint that pops up when you click a link on the 
> > > > > > > > > > > > 2nd composite on
> > > > > > > > > > > > the 1st entrypoint. on that second entrypoint you can 
> > > > > > > > > > > > configure stuff,
> > > > > > > > > > > > that will affect the displayed data on the first 
> > > > > > > > > > > > entrypoint's
> > > > > > > > > > > > composites. now, im thinking (actually, a friend 
> > > > > > > > > > > > thought of it, not
> > > > > > > > > > > > me) that the observer pattern is great to use in here, 
> > > > > > > > > > > > as the 3
> > > > > > > > > > > > composites of the 1st entrypoint will listen to 
> > > > > > > > > > > > whatever the second
> > > > > > > > > > > > entrypoint configures, then change themselves according 
> > > > > > > > > > > > to the
> > > > > > > > > > > > specified configurations on the second entrypoint.
>
> > > > > > > > > > > > Currently, I
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to