aboutsummaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/com')
-rw-r--r--src/com/itmill/toolkit/demo/sampler/ModeSwitch.java6
-rw-r--r--src/com/itmill/toolkit/demo/sampler/SamplerApplication.java27
-rw-r--r--src/com/itmill/toolkit/demo/sampler/WebAnalytics.java50
-rw-r--r--src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.pngbin4276 -> 8933 bytes
-rw-r--r--src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryActionExample.java3
-rw-r--r--src/com/itmill/toolkit/demo/sampler/gwt/SamplerWidgetSet.gwt.xml14
-rw-r--r--src/com/itmill/toolkit/demo/sampler/gwt/client/SamplerWidgetSet.java28
-rw-r--r--src/com/itmill/toolkit/demo/sampler/gwt/client/ui/IWebAnalytics.java55
8 files changed, 173 insertions, 10 deletions
diff --git a/src/com/itmill/toolkit/demo/sampler/ModeSwitch.java b/src/com/itmill/toolkit/demo/sampler/ModeSwitch.java
index a42ca62064..d662d421c9 100644
--- a/src/com/itmill/toolkit/demo/sampler/ModeSwitch.java
+++ b/src/com/itmill/toolkit/demo/sampler/ModeSwitch.java
@@ -13,10 +13,12 @@ public class ModeSwitch extends CustomComponent {
GridLayout layout = new GridLayout(3, 1);
- HashMap idToButton = new HashMap();
+ HashMap<Object, Button> idToButton = new HashMap<Object, Button>();
Object mode = null;
public ModeSwitch() {
+ setSizeUndefined();
+ layout.setSizeUndefined();
setCompositionRoot(layout);
setStyleName("ModeSwitch");
}
@@ -64,7 +66,7 @@ public class ModeSwitch extends CustomComponent {
}
public void removeMode(Object id) {
- Button b = (Button) idToButton.remove(id);
+ Button b = idToButton.remove(id);
layout.removeComponent(b);
updateStyles();
}
diff --git a/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java b/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java
index 34bc8ca932..9792a6524f 100644
--- a/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java
+++ b/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java
@@ -43,6 +43,7 @@ import com.itmill.toolkit.ui.Embedded;
import com.itmill.toolkit.ui.ExpandLayout;
import com.itmill.toolkit.ui.GridLayout;
import com.itmill.toolkit.ui.Label;
+import com.itmill.toolkit.ui.OrderedLayout;
import com.itmill.toolkit.ui.Panel;
import com.itmill.toolkit.ui.SplitPanel;
import com.itmill.toolkit.ui.Table;
@@ -207,16 +208,20 @@ public class SamplerApplication extends Application {
private SplitPanel mainSplit;
private Tree navigationTree;
+ // itmill: UA-658457-6
+ private WebAnalytics webAnalytics = new WebAnalytics("UA-658457-6",
+ "none");
SamplerWindow() {
// Main top/expanded-bottom layout
- ExpandLayout mainExpand = new ExpandLayout();
+ OrderedLayout mainExpand = new OrderedLayout();
setLayout(mainExpand);
+ setSizeFull();
mainExpand.setSizeFull();
// topbar (navigation)
- ExpandLayout nav = new ExpandLayout(
- ExpandLayout.ORIENTATION_HORIZONTAL);
+ OrderedLayout nav = new OrderedLayout(
+ OrderedLayout.ORIENTATION_HORIZONTAL);
mainExpand.addComponent(nav);
nav.setHeight("40px");
nav.setWidth("100%");
@@ -229,7 +234,10 @@ public class SamplerApplication extends Application {
nav.addComponent(logo);
nav.setComponentAlignment(logo, ExpandLayout.ALIGNMENT_LEFT,
ExpandLayout.ALIGNMENT_VERTICAL_CENTER);
- nav.expand(logo);
+ nav.setExpandRatio(logo, 1);
+
+ // invisible analytics -component
+ nav.addComponent(webAnalytics);
// Previous sample
Button b = createPrevButton();
@@ -242,6 +250,8 @@ public class SamplerApplication extends Application {
nav.setComponentAlignment(b, ExpandLayout.ALIGNMENT_LEFT,
ExpandLayout.ALIGNMENT_VERTICAL_CENTER);
+ // "Search" combobox
+ // TODO add input prompt
Component search = createSearch();
nav.addComponent(search);
nav.setComponentAlignment(search, ExpandLayout.ALIGNMENT_LEFT,
@@ -263,14 +273,14 @@ public class SamplerApplication extends Application {
// Show / hide tree
Component treeSwitch = createTreeSwitch();
nav.addComponent(treeSwitch);
- nav.setComponentAlignment(treeSwitch, ExpandLayout.ALIGNMENT_LEFT,
- ExpandLayout.ALIGNMENT_VERTICAL_CENTER);
+ nav.setComponentAlignment(treeSwitch, OrderedLayout.ALIGNMENT_LEFT,
+ OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
// List/grid/coverflow
Component mode = createModeSwitch();
nav.addComponent(mode);
- nav.setComponentAlignment(mode, ExpandLayout.ALIGNMENT_RIGHT,
- ExpandLayout.ALIGNMENT_VERTICAL_CENTER);
+ nav.setComponentAlignment(mode, OrderedLayout.ALIGNMENT_RIGHT,
+ OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
}
@@ -282,6 +292,7 @@ public class SamplerApplication extends Application {
*/
public void setFeature(Feature f) {
currentFeature.setValue(f);
+ webAnalytics.trackPageview(getPathFor(f));
}
/**
diff --git a/src/com/itmill/toolkit/demo/sampler/WebAnalytics.java b/src/com/itmill/toolkit/demo/sampler/WebAnalytics.java
new file mode 100644
index 0000000000..e4ba752ade
--- /dev/null
+++ b/src/com/itmill/toolkit/demo/sampler/WebAnalytics.java
@@ -0,0 +1,50 @@
+package com.itmill.toolkit.demo.sampler;
+
+import com.itmill.toolkit.terminal.PaintException;
+import com.itmill.toolkit.terminal.PaintTarget;
+import com.itmill.toolkit.ui.AbstractComponent;
+
+public class WebAnalytics extends AbstractComponent {
+
+ private String trackerId;
+ private String pageId;
+ private String domainName;
+
+ public WebAnalytics(String trackerId) {
+ this.trackerId = trackerId;
+ }
+
+ public WebAnalytics(String trackerId, String domainName) {
+ this(trackerId);
+ this.domainName = domainName;
+ }
+
+ public String getTag() {
+ return "webanalytics";
+ }
+
+ public String getTrackerId() {
+ return trackerId;
+ }
+
+ public String getDomainName() {
+ return domainName;
+ }
+
+ public void trackPageview(String pageId) {
+ this.pageId = pageId;
+ requestRepaint();
+ }
+
+ public void paintContent(PaintTarget target) throws PaintException {
+ super.paintContent(target);
+ target.addAttribute("trackerid", trackerId);
+ if (pageId != null) {
+ target.addAttribute("pageid", pageId);
+ }
+ if (domainName != null) {
+ target.addAttribute("domain", domainName);
+ }
+ }
+
+}
diff --git a/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.png b/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.png
index aacf950aa0..e575afd5e9 100644
--- a/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.png
+++ b/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.png
Binary files differ
diff --git a/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryActionExample.java b/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryActionExample.java
index fb03daaa4d..87a47f33a9 100644
--- a/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryActionExample.java
+++ b/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryActionExample.java
@@ -49,6 +49,9 @@ public class ProminentPrimaryActionExample extends OrderedLayout implements
Button secondary = new Button("Forgot your password?", this);
secondary.setStyleName(Button.STYLE_LINK);
vert.addComponent(secondary);
+ vert.setComponentAlignment(secondary,
+ OrderedLayout.ALIGNMENT_RIGHT,
+ OrderedLayout.ALIGNMENT_BOTTOM);
}
}
diff --git a/src/com/itmill/toolkit/demo/sampler/gwt/SamplerWidgetSet.gwt.xml b/src/com/itmill/toolkit/demo/sampler/gwt/SamplerWidgetSet.gwt.xml
new file mode 100644
index 0000000000..2f1e02eae5
--- /dev/null
+++ b/src/com/itmill/toolkit/demo/sampler/gwt/SamplerWidgetSet.gwt.xml
@@ -0,0 +1,14 @@
+<module>
+ <!-- Inherit the NoEntry version to avoid multiple entrypoints -->
+ <inherits name="com.itmill.toolkit.terminal.gwt.DefaultWidgetSetNoEntry" />
+
+ <!-- WidgetSet default theme -->
+ <stylesheet src="sampler/styles.css"/>
+
+ <!-- Tracker -->
+ <script src="http://www.google-analytics.com/ga.js" />
+
+ <!-- Entry point -->
+ <entry-point class="com.itmill.toolkit.demo.sampler.gwt.client.SamplerWidgetSet"/>
+
+</module>
diff --git a/src/com/itmill/toolkit/demo/sampler/gwt/client/SamplerWidgetSet.java b/src/com/itmill/toolkit/demo/sampler/gwt/client/SamplerWidgetSet.java
new file mode 100644
index 0000000000..0810f0d868
--- /dev/null
+++ b/src/com/itmill/toolkit/demo/sampler/gwt/client/SamplerWidgetSet.java
@@ -0,0 +1,28 @@
+package com.itmill.toolkit.demo.sampler.gwt.client;
+
+import com.itmill.toolkit.demo.sampler.gwt.client.ui.IWebAnalytics;
+import com.itmill.toolkit.terminal.gwt.client.DefaultWidgetSet;
+import com.itmill.toolkit.terminal.gwt.client.Paintable;
+import com.itmill.toolkit.terminal.gwt.client.UIDL;
+
+public class SamplerWidgetSet extends DefaultWidgetSet {
+
+ public Paintable createWidget(UIDL uidl) {
+ final Class classType = resolveWidgetType(uidl);
+ if (IWebAnalytics.class == classType) {
+ return new IWebAnalytics();
+ } else {
+ return super.createWidget(uidl);
+ }
+ }
+
+ protected Class resolveWidgetType(UIDL uidl) {
+ final String tag = uidl.getTag();
+ if ("webanalytics".equals(tag)) {
+ return IWebAnalytics.class;
+ } else {
+ return super.resolveWidgetType(uidl);
+ }
+ }
+
+}
diff --git a/src/com/itmill/toolkit/demo/sampler/gwt/client/ui/IWebAnalytics.java b/src/com/itmill/toolkit/demo/sampler/gwt/client/ui/IWebAnalytics.java
new file mode 100644
index 0000000000..aaa9b06759
--- /dev/null
+++ b/src/com/itmill/toolkit/demo/sampler/gwt/client/ui/IWebAnalytics.java
@@ -0,0 +1,55 @@
+package com.itmill.toolkit.demo.sampler.gwt.client.ui;
+
+import com.google.gwt.dom.client.Document;
+import com.google.gwt.user.client.ui.Widget;
+import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
+import com.itmill.toolkit.terminal.gwt.client.BrowserInfo;
+import com.itmill.toolkit.terminal.gwt.client.Paintable;
+import com.itmill.toolkit.terminal.gwt.client.UIDL;
+
+public class IWebAnalytics extends Widget implements Paintable {
+
+ public IWebAnalytics() {
+ setElement(Document.get().createDivElement());
+ if (BrowserInfo.get().isIE6()) {
+ getElement().getStyle().setProperty("overflow", "hidden");
+ getElement().getStyle().setProperty("height", "0");
+ }
+ }
+
+ public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
+ String trackerId = uidl.getStringAttribute("trackerid");
+ String pageId = uidl.getStringAttribute("pageid");
+ String domainName = uidl.getStringAttribute("domain");
+
+ String res = trackPageview(trackerId, pageId, domainName);
+ if (null != res) {
+ ApplicationConnection.getConsole().log(
+ "WebAnalytics.trackPageview(" + trackerId + "," + pageId
+ + "," + domainName + ") FAILED: " + res);
+ } else {
+ ApplicationConnection.getConsole().log(
+ "WebAnalytics.trackPageview(" + trackerId + "," + pageId
+ + "," + domainName + ") SUCCESS.");
+ }
+ }
+
+ private native String trackPageview(String trackerId, String pageId,
+ String domainName)
+ /*-{
+ try {
+ var pageTracker = $wnd._gat._getTracker(trackerId);
+ if (domainName) {
+ pageTracker._setDomainName(domainName);
+ }
+ if (pageId) {
+ pageTracker._trackPageview(pageId);
+ } else {
+ pageTracker._trackPageview();
+ }
+ return null;
+ } catch(err) {
+ return ""+err;
+ }
+ }-*/;
+}