Revision: 6800
Author: [email protected]
Date: Tue Nov 10 10:17:06 2009
Log: Various tweaks to the Mail sample:
- Fixed stretchy tasks on IE6.
- Changed tasks and contacts to no longer use VerticalPanel.
- Moved global css into a CssResource.
Review by: bobv (desk check)
http://code.google.com/p/google-web-toolkit/source/detail?r=6800
Added:
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/Tasks.ui.xml
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/global.css
Deleted:
/trunk/samples/mail/war/Mail.css
Modified:
/trunk/samples/mail/src/com/google/gwt/sample/mail/Mail.gwt.xml
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/Contacts.java
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/Contacts.ui.xml
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/Mail.java
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/MailList.ui.xml
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/Tasks.java
/trunk/samples/mail/war/Mail.html
=======================================
--- /dev/null
+++ /trunk/samples/mail/src/com/google/gwt/sample/mail/client/Tasks.ui.xml
Tue Nov 10 10:17:06 2009
@@ -0,0 +1,24 @@
+<ui:UiBinder
+ xmlns:ui='urn:ui:com.google.gwt.uibinder'
+ xmlns:g='urn:import:com.google.gwt.user.client.ui'
+ xmlns:mail='urn:import:com.google.gwt.sample.mail.client'>
+
+ <ui:style>
+ .tasks {
+ padding: 0.5em;
+ }
+
+ .item {
+ display: block;
+ }
+ </ui:style>
+
+ <g:FlowPanel styleName='{style.tasks}'>
+ <g:CheckBox styleName='{style.item}'>Get groceries</g:CheckBox>
+ <g:CheckBox styleName='{style.item}'>Walk the dog</g:CheckBox>
+ <g:CheckBox styleName='{style.item}'>Start Web 2.0 company</g:CheckBox>
+ <g:CheckBox styleName='{style.item}'>Write cool app in GWT</g:CheckBox>
+ <g:CheckBox styleName='{style.item}'>Get funding</g:CheckBox>
+ <g:CheckBox styleName='{style.item}'>Take a vacation</g:CheckBox>
+ </g:FlowPanel>
+</ui:UiBinder>
=======================================
--- /dev/null
+++ /trunk/samples/mail/src/com/google/gwt/sample/mail/client/global.css
Tue Nov 10 10:17:06 2009
@@ -0,0 +1,54 @@
+body, table {
+ font-size: small;
+}
+body {
+ font-family: Helvetica, Arial, sans-serif;
+ color: #000;
+ background: #fff;
+}
+a:link, a:visited, a:hover, a:active {
+ color: #000;
+ text-decoration: none;
+}
+
+/* Dialog boxes */
+.dialogTopLeftInner, .dialogMiddleLeftInner, .dialogBottomLeftInner,
+.dialogTopRightInner, .dialogMiddleRightInner, .dialogBottomRightInner {
+ display: none;
+}
+.gwt-DialogBox {
+ background-color: white;
+ border: 1px solid #666;
+}
+.gwt-DialogBox .Caption {
+ background: #d3d6dd url(gradient_bg_th.png) repeat-x bottom left;
+ font-weight: bold;
+ text-shadow: #fff 0 2px 2px;
+ cursor: default;
+ padding: 5px 10px;
+ border-bottom: 1px solid #999;
+ text-align: left;
+}
+.gwt-DialogBox .dialogContent {
+}
+.gwt-DialogBox .gwt-Button {
+ margin: 10px;
+}
+.gwt-PopupGlass {
+ background-color: #000;
+ opacity: 0.3;
+ filter: literal("alpha(opacity=30)");
+}
+
+/* GWT Tree */
+.gwt-Tree {
+}
+.gwt-Tree .gwt-TreeItem {
+ padding: 0;
+ cursor: hand;
+ cursor: pointer;
+ display: block !important;
+}
+.gwt-Tree .gwt-TreeItem-selected {
+ background: #ccc;
+}
=======================================
--- /trunk/samples/mail/war/Mail.css Mon Nov 9 10:52:41 2009
+++ /dev/null
@@ -1,54 +0,0 @@
-body, table {
- font-size: small;
-}
-body {
- font-family: Helvetica, Arial, sans-serif;
- color: #000;
- background: #fff;
-}
-a:link, a:visited, a:hover, a:active {
- color: #000;
- text-decoration: none;
-}
-
-/* Dialog boxes */
-.dialogTopLeftInner, .dialogMiddleLeftInner, .dialogBottomLeftInner,
-.dialogTopRightInner, .dialogMiddleRightInner, .dialogBottomRightInner {
- display: none;
-}
-.gwt-DialogBox {
- background-color: white;
- border: 1px solid #666;
-}
-.gwt-DialogBox .Caption {
- background: #d3d6dd url(gradient_bg_th.png) repeat-x bottom left;
- font-weight: bold;
- text-shadow: #fff 0 2px 2px;
- cursor: default;
- padding: 5px 10px;
- border-bottom: 1px solid #999;
- text-align: left;
-}
-.gwt-DialogBox .dialogContent {
-}
-.gwt-DialogBox .gwt-Button {
- margin: 10px;
-}
-.gwt-PopupGlass {
- background-color: #000;
- opacity: 0.3;
- filter: alpha(opacity=30);
-}
-
-/* GWT Tree */
-.gwt-Tree {
-}
-.gwt-Tree .gwt-TreeItem {
- padding: 0;
- cursor: hand;
- cursor: pointer;
- display: block !important;
-}
-.gwt-Tree .gwt-TreeItem-selected {
- background: #ccc;
-}
=======================================
--- /trunk/samples/mail/src/com/google/gwt/sample/mail/Mail.gwt.xml Mon
Nov 9 10:52:41 2009
+++ /trunk/samples/mail/src/com/google/gwt/sample/mail/Mail.gwt.xml Tue Nov
10 10:17:06 2009
@@ -13,6 +13,11 @@
<!-- limitations under the
License. -->
<module rename-to="mail">
- <inherits name='com.google.gwt.user.User'/>
- <entry-point class='com.google.gwt.sample.mail.client.Mail'/>
+ <inherits name='com.google.gwt.user.User' />
+
+ <!-- This will give us shorter obfuscated CSS class names. We guarantee
+ that there will be no class names that will conflict with /M.+/ -->
+ <set-configuration-property name="CssResource.obfuscationPrefix"
value="M" />
+
+ <entry-point class='com.google.gwt.sample.mail.client.Mail' />
</module>
=======================================
--- /trunk/samples/mail/src/com/google/gwt/sample/mail/client/Contacts.java
Tue Oct 6 14:10:56 2009
+++ /trunk/samples/mail/src/com/google/gwt/sample/mail/client/Contacts.java
Tue Nov 10 10:17:06 2009
@@ -19,6 +19,7 @@
import com.google.gwt.dom.client.Element;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.resources.client.CssResource;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiTemplate;
@@ -69,6 +70,10 @@
}
interface Binder extends UiBinder<Widget, Contacts> { }
+ interface Style extends CssResource {
+ String item();
+ }
+
private static final Binder binder = GWT.create(Binder.class);
private Contact[] contacts = new Contact[] {
@@ -82,6 +87,7 @@
new Contact("John von Neumann", "[email protected]")};
@UiField ComplexPanel panel;
+ @UiField Style style;
public Contacts() {
initWidget(binder.createAndBindUi(this));
@@ -94,6 +100,7 @@
private void addContact(final Contact contact) {
final Anchor link = new Anchor(contact.name);
+ link.setStyleName(style.item());
panel.add(link);
// Add a click handler that displays a ContactPopup when it is clicked.
=======================================
---
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/Contacts.ui.xml
Tue Oct 6 14:10:56 2009
+++
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/Contacts.ui.xml
Tue Nov 10 10:17:06 2009
@@ -3,15 +3,17 @@
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:mail='urn:import:com.google.gwt.sample.mail.client'>
- <ui:style>
+ <ui:style field='style'
+ type='com.google.gwt.sample.mail.client.Contacts.Style'>
+
.contacts {
padding: 0.5em;
}
+
+ .item {
+ display: block;
+ }
</ui:style>
- <!-- We need to apply padding to an outer panel because VerticalPanel is
a
- table, and applying padding to a table behaves strangely on IE6/7.
-->
- <g:FlowPanel styleName='{style.contacts}'>
- <g:VerticalPanel ui:field='panel'/>
- </g:FlowPanel>
+ <g:FlowPanel styleName='{style.contacts}' ui:field='panel'/>
</ui:UiBinder>
=======================================
--- /trunk/samples/mail/src/com/google/gwt/sample/mail/client/Mail.java Tue
Nov 3 14:14:13 2009
+++ /trunk/samples/mail/src/com/google/gwt/sample/mail/client/Mail.java Tue
Nov 10 10:17:06 2009
@@ -19,6 +19,9 @@
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.Style.Overflow;
+import com.google.gwt.resources.client.ClientBundle;
+import com.google.gwt.resources.client.CssResource;
+import com.google.gwt.resources.client.CssResource.NotStrict;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.Window;
@@ -33,6 +36,13 @@
public class Mail implements EntryPoint {
interface Binder extends UiBinder<DockLayoutPanel, Mail> { }
+
+ interface GlobalResources extends ClientBundle {
+ @NotStrict
+ @Source("global.css")
+ CssResource css();
+ }
+
private static final Binder binder = GWT.create(Binder.class);
@UiField TopPanel topPanel;
@@ -45,6 +55,10 @@
* controls and hooking up event handler.
*/
public void onModuleLoad() {
+ // Inject global styles.
+
GWT.<GlobalResources>create(GlobalResources.class).css().ensureInjected();
+
+ // Create the UI defined in Mail.ui.xml.
DockLayoutPanel outer = binder.createAndBindUi(this);
// Get rid of scrollbars, and clear out the window's built-in margin,
=======================================
---
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/MailList.ui.xml
Mon Nov 9 10:52:41 2009
+++
/trunk/samples/mail/src/com/google/gwt/sample/mail/client/MailList.ui.xml
Tue Nov 10 10:17:06 2009
@@ -13,8 +13,9 @@
cursor: hand;
}
- .header {
- background: #d3d6dd url(gradient_bg_dark.png) repeat-x bottom left;
+ @sprite .header {
+ gwt-image: 'gradient';
+ background-color: #d3d6dd;
table-layout: fixed;
width: 100%;
height: 100%;
=======================================
--- /trunk/samples/mail/src/com/google/gwt/sample/mail/client/Tasks.java
Tue Sep 22 14:34:43 2009
+++ /trunk/samples/mail/src/com/google/gwt/sample/mail/client/Tasks.java
Tue Nov 10 10:17:06 2009
@@ -15,24 +15,20 @@
*/
package com.google.gwt.sample.mail.client;
-import com.google.gwt.user.client.ui.CheckBox;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
/**
* Composite that represents a collection of <code>Task</code> items.
*/
public class Tasks extends Composite {
+ interface Binder extends UiBinder<Widget, Tasks> { }
+ private static final Binder binder = GWT.create(Binder.class);
+
public Tasks() {
- VerticalPanel list = new VerticalPanel();
- list.add(new CheckBox("Get groceries"));
- list.add(new CheckBox("Walk the dog"));
- list.add(new CheckBox("Start Web 2.0 company"));
- list.add(new CheckBox("Write cool app in GWT"));
- list.add(new CheckBox("Get funding"));
- list.add(new CheckBox("Take a vacation"));
- initWidget(list);
- setStyleName("mail-Tasks");
+ initWidget(binder.createAndBindUi(this));
}
}
=======================================
--- /trunk/samples/mail/war/Mail.html Tue Oct 13 16:57:19 2009
+++ /trunk/samples/mail/war/Mail.html Tue Nov 10 10:17:06 2009
@@ -17,7 +17,6 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <link type="text/css" rel='stylesheet' href='Mail.css'>
<title>Mail App</title>
<script type="text/javascript" language='javascript'
src='mail/mail.nocache.js'></script>
</head>
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---