Hi Jeremy,
I can't speak for Arthur, but I also interject occasionally on the Ext
issue (usually with the rider that I tried MyGWT for only a short
while and walked away from it after I realized what was going on). The
reason is simply this: many people just post links on this group to
Ext family demos, and for the unwary one look at those beautifully
designed desktop emulation widgets will turn their heads before they
have an inclination of what the consequences are, or the alternatives
approaches.
So the issue is one of balance. No one argues Ext widgets don't look
very pretty or that you don't get this look out of the box lickerty
spit compared with straight GWT - the point is there is a price to pay
(and I don't mean license $'s), and people need to know about that.
For some the price maybe worth worth paying, for others maybe not, but
everyone should understand the nature of the trade off so they can
make informed decisions for their own situations.
I certainly don't want to criticize you for choosing to use Ext, I
only have one bugbear with you post: the use of the word "rich". What
do you mean by "rich and highly dynamic widgets"? Are you suggesting,
for example, that there is something you can do with the Ext family's
data grid that you cannot do with PagingScrollTable?
regards
gregor
On Dec 9, 5:10 pm, "Jeremy Cohen" <[EMAIL PROTECTED]> wrote:
> Arthur,I see that you jump into all threads involving third party libraries
> and tell users how bad they are. I'm not even sure you've used them enough
> to make an informed decision. There is after all a learning curve involved
> in learning any third party library and their API's.
>
> You do realize that these third party libraries provide rich any highly
> dynamic widgets that are required by many real world applications. With
> increased functionality comes increased size. Are you saying that your
> application only uses the widgets available in GWT core and the incubator
> project? If so, I doubt it will come anywhere close to the functionality
> delivered to users by any of these third party libraries. Remember, what
> ultimately counts functionality delivered to the end user and not whether
> the developer of the application used only widgets in GWT, or third party
> libraries. Or whether they use Spring / ORM library, or core JDK / JDBC
> API's. Does your application provide a rich grid widget? Or are you building
> inhouse custom components? (if so, please do share). From an end users
> perspective what makes it any better than the ones already available.
>
> I'm sure you're a real smart guy, but it would be great if you put your
> money where your mouth is and allow users to see the application you have
> been working on, the complexity of the application, along with detail on
> number of developers, and duration of project. We can then draw a comparison
> between the two approaches.
>
> Cheers,
> -Jeremy
>
> On Tue, Dec 9, 2008 at 9:31 AM, Arthur Kalmenson <[EMAIL PROTECTED]>wrote:
>
>
>
> > Hello David and tomato,
>
> > I highly recommend you stay as far away from Ext-GWT, SmartGWT and
> > GWT-ext as you can. Gregor said it best, while they might look shiny,
> > they are as slow as molasses and a huge PITA to work with. Once you
> > start using them, you fall into their overly complex and inconsistent
> > event models, you completely forgo most of GWT since these libraries
> > can't work with GWT widgets, and give up the simplicity and high
> > quality you come to expect from GWT. I say this from experience.
>
> > --
> > Arthur Kalmenson
>
> > On Mon, Dec 8, 2008 at 9:38 AM, Miles T. <[EMAIL PROTECTED]> wrote:
>
> > > Hi David and tomato,
>
> > > We also didn't (and still don't) want to write HTML or CSS for our
> > > application (it aims to be an internal application, not a public
> > > website). Consider using Ext GWT, SmartGWT or GWT-Ext, I guess this is
> > > what you're looking for. These libraries provide a set of widgets and
> > > look and feels and let you define your own. They also allow you to
> > > devlop in a Swing-style by using standard layouts (BorderLayout,
> > > CenterLayout,...).
>
> > > We choose Ext GWT because it is a full GWT library (others are
> > > wrapping a JS library), it provides a simple MVC layer and has more
> > > documentation.
>
> > > Regards
>
> > > On 8 déc, 14:34, "David Hoffer" <[EMAIL PROTECTED]> wrote:
> > >> Hi Gregor,
>
> > >> Thanks for the detailed response I will give this a try today.
>
> > >> As I read this I thought of a couple questions.
>
> > >> 1. Does my CSS file have to have a particular name? You say it goes
> > >> next to the HTML file. Do I just name it the same but with css
> > >> extension and it will be found or do I have to reference it somehow in
> > >> my HTML/XML?
>
> > >> 2. You mentioned to look at the showcase examples to get CSS to use.
> > >> I looked at all these yesterday and found that most do not show the
> > >> CSS used (I think most of the widgets did but most containers did
> > >> not). I then looked at the source code for showcase given in the GWT
> > >> examples and it seems they are using annotations to bring in styling
> > >> information. What's up with this? It seems there is more than one
> > >> way to apply CSS in GWT. This makes it harder to learn how one is to
> > >> do this.
>
> > >> As an example of what currently looks really bad...DialogBox and
> > >> VerticalSplitPanel. The former has no border so it doesn't even look
> > >> remotely like a DialogBox and VerticalSplitPanel only has a splitter
> > >> bar...no border. So unless you really know there is a split panel you
> > >> have no idea what you are looking at. For these examples the showcase
> > >> shows no CSS so apparently it is using annotations to bring in
> > >> styling. BTW, for these cases I am using the standard theme.
>
> > >> Thanks much, I will look at your example.
> > >> -Dave
>
> > >> On Sun, Dec 7, 2008 at 7:57 PM, gregor <[EMAIL PROTECTED]>
> > wrote:
>
> > >> > Hi Dave,
>
> > >> > 1) I think this might have something to do with debugging client
> > >> > javascript at run time using Firebug or something - I've never used it
> > >> > to be honest.
>
> > >> > 2) I happen to have a simple CSS example to hand, so this might help -
> > >> > apologies if its too simplistic....
>
> > >> > Your module will have its own CSS file next to its HTML file in the
> > >> > public folder.
>
> > >> > If you check the standard theme GWT CSS for DisclosurePanel it looks
> > >> > like this:
>
> > >> > .gwt-DisclosurePanel {
> > >> > }
> > >> > .gwt-DisclosurePanel-open {
> > >> > }
> > >> > .gwt-DisclosurePanel-closed {
> > >> > }
> > >> > .gwt-DisclosurePanel .header,
> > >> > .gwt-DisclosurePanel .header a,
> > >> > .gwt-DisclosurePanel .header td {
> > >> > text-decoration: none; /* Remove underline from header */
> > >> > color: black;
> > >> > cursor: pointer;
> > >> > cursor: hand;
> > >> > }
> > >> > .gwt-DisclosurePanel .content {
> > >> > border-left: 3px solid #e8eef7;
> > >> > padding: 4px 0px 4px 8px;
> > >> > margin-left: 6px;
> > >> > }
>
> > >> > Notice that it starts with gwt-DisclosurePanel - this is the primary
> > >> > style name given to this widget. In the DisclosurePanel source
> > >> > somewhere you will find setStylePrimaryStyleName("gwt-
> > >> > DisclosurePanel"). Elsewhere in the code you will find they assign the
> > >> > various sub-styles to individual components of DisplosurePanel using
> > >> > add/removeStyleName(styleName) or add/removeStyleDependentName
> > >> > (styleSuffix) corresponding to e.g.gwt-DisclosurePanel-open and e.g.
> > >> > gwt-DisclosurePanel .header respectively (or is it the other way
> > >> > round, it's late). So the java code switches between the -open and -
> > >> > closed styles in response to user clicks etc, but the primary style is
> > >> > always the same.
>
> > >> > (This is how to go about using CSS when you design your own composite
> > >> > widgets - follow what they do)
>
> > >> > Now you have two choices how to proceed to start with.
>
> > >> > 1) don't use a standard theme, but keep a copy of one of them (i.e.
> > >> > the CSS files) handy so you can cut and paste the CSS format for each
> > >> > widget into your own module CSS file where you can edit it how you
> > >> > like - you just need to do each one as you need it.
> > >> > 2) Put <inherits name='com.google.gwt.user.theme.standard.Standard'/>
> > >> > (or chrome/dark) in your module gwt.xml file which will activate the
> > >> > theme. Now however you are stuck with what they give you - well, no,
> > >> > you are not......
>
> > >> > Notice that the .gwt-DisclosurePanel .content style has got borders
> > >> > and padding etc. Now I was happy with most of the standard theme for
> > >> > what I was doing, but I did not want the contents of the disclosure
> > >> > panel to be so indented - I wanted it flush with the outer border of
> > >> > the panel. So I stuck this in my own module CSS file:
>
> > >> > .my-DisclosurePanel {
> > >> > }
> > >> > .my-DisclosurePanel-open {
>
> > >> > width: 100%;
> > >> > height: 100%
> > >> > }
> > >> > .my-DisclosurePanel-closed {
>
> > >> > }
> > >> > .my-DisclosurePanel .header,
> > >> > .my-DisclosurePanel .header a,
> > >> > .my-DisclosurePanel .header td {
> > >> > text-decoration: none; /* Remove underline from header */
> > >> > color: black;
> > >> > cursor: pointer;
> > >> > cursor: hand;
> > >> > }
> > >> > .my-DisclosurePanel .content {
> > >> > width: 100%;
> > >> > height: 100%
> > >> > /*border-left: 3px solid #e8eef7;
> > >> > padding: 4px 0px 4px 8px;
> > >> > margin-left: 6px;*/
>
> > >> > }
>
> > >> > Then in my Java class code:
>
> > >> > private DisclosurePanel myDiscPanel = new DisclosurePanel();
> > >> > ...
> > >> > myDiscPanel .setStylePrimaryName("my-DisclosurePanel");
>
> > >> > et viola the annoying indents have gone for this particular
> > >> > DisclosurePanel, but I still have the main GWT theme running for all
> > >> > other widgets (including any other DisclosurePanels I don't choose to
> > >> > doctor like this) which is useful otherwise everything really does
> > >> > look awful to start with. Notice how just changing the primary style
> > >> > name achieves this (which is why you should design your own widgets
> > >> > like this: it enables wholesale alterations to L&F with minimal effort
> > >> > and it is truly amazing what you can do CSS styling when you get the
> > >> > hang of it. It makes Swing look stupid in some respects).
>
> > >> > It may drive you mad for a bit but I assure you there is method in
> > >> > this madness. A good tip when you get a bit lost is to fire up the
> > >> > showcase demo, choose an example widget that vaguely resembles what
> > >> > you need to do and look up it's source code and CSS.
>
> > >> > regards
> > >> > gregor
>
> > >> > On Dec 7, 11:05 pm, "David Hoffer" <[EMAIL PROTECTED]> wrote:
> > >> >> Thanks for stating the obvious, I hadn't seen that web site yet.
> > >> >> Okay, I have a couple of CSS newbie questions.
>
> > >> >> 1. What are calls like
> > >> >> disabledButton.ensureDebugId("cwBasicButton-disabled") for? This
> > >> >> isn't a Java like thing.
> > >> >> 2. Where do I paste the CSS Style code?
>
> > >> >> Thanks!
> > >> >> -Dave
>
> > >> >> On Sun, Dec 7, 2008 at 10:45 AM, tomato
>
> ...
>
> 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
-~----------~----~----~----~------~----~------~--~---