[wave-protocol] push by patcole...@google.com - Cleanup: refactors out static references to the CSS class name interfa... on 2011-09-13 00:02 GMT

1 view
Skip to first unread message

wave-p...@googlecode.com

unread,
Sep 12, 2011, 8:03:28 PM9/12/11
to wave-protocol...@googlegroups.com
Revision: 963dfe24c2e2
Author: Pat Coleman <patco...@google.com>
Date: Mon Sep 12 17:01:18 2011
Log: Cleanup: refactors out static references to the CSS class name
interfaces.
http://code.google.com/p/wave-protocol/source/detail?r=963dfe24c2e2

Added:
/src/org/waveprotocol/wave/client/wavepanel/view/dom/CssProvider.java
Modified:
/src/org/waveprotocol/wave/client/StageOne.java

/src/org/waveprotocol/wave/client/wavepanel/view/dom/BlipMenuItemDomImpl.java
/src/org/waveprotocol/wave/client/wavepanel/view/dom/BlipMetaDomImpl.java

/src/org/waveprotocol/wave/client/wavepanel/view/dom/CollapsibleDomImpl.java
/src/org/waveprotocol/wave/client/wavepanel/view/dom/FullStructure.java

/src/org/waveprotocol/wave/client/wavepanel/view/dom/InlineConversationDomImpl.java

/src/org/waveprotocol/wave/client/wavepanel/view/dom/InlineThreadDomImpl.java

/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/ParticipantsViewBuilder.java

/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/WavePanelResourceLoader.java

=======================================
--- /dev/null
+++ /src/org/waveprotocol/wave/client/wavepanel/view/dom/CssProvider.java
Mon Sep 12 17:01:18 2011
@@ -0,0 +1,83 @@
+/**
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you
may not
+ * use this file except in compliance with the License. You may obtain a
copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
under
+ * the License.
+ */
+package org.waveprotocol.wave.client.wavepanel.view.dom;
+
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.BlipViewBuilder;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.CollapsibleBuilder;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.ContinuationIndicatorViewBuilder;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.ParticipantsViewBuilder;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.ReplyBoxViewBuilder;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.RootThreadViewBuilder;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.TopConversationViewBuilder;
+
+/**
+ * Provides access to the CSS class names for all supported view sections,
+ * an immutable tuple storing the custom version of each collection of
classes.
+ */
+public final class CssProvider {
+ private final BlipViewBuilder.Css blipCss;
+ private final CollapsibleBuilder.Css collapsibleCss;
+ private final RootThreadViewBuilder.Css rootThreadCss;
+ private final ReplyBoxViewBuilder.Css replyBoxCss;
+ private final ContinuationIndicatorViewBuilder.Css
continuationIndicatorCss;
+ private final TopConversationViewBuilder.Css conversationCss;
+ private final ParticipantsViewBuilder.Css participantCss;
+
+ /** Inject all members of the tuple, split by view section. */
+ public CssProvider(BlipViewBuilder.Css blipCss,
+ CollapsibleBuilder.Css collapsibleCss,
+ ContinuationIndicatorViewBuilder.Css continuationIndicatorCss,
+ TopConversationViewBuilder.Css conversationCss,
+ ParticipantsViewBuilder.Css participantCss,
+ ReplyBoxViewBuilder.Css replyBoxCss,
+ RootThreadViewBuilder.Css rootThreadCss) {
+ this.blipCss = blipCss;
+ this.collapsibleCss = collapsibleCss;
+ this.continuationIndicatorCss = continuationIndicatorCss;
+ this.conversationCss = conversationCss;
+ this.participantCss = participantCss;
+ this.replyBoxCss = replyBoxCss;
+ this.rootThreadCss = rootThreadCss;
+ }
+
+ public BlipViewBuilder.Css getBlipCss() {
+ return blipCss;
+ }
+
+ public CollapsibleBuilder.Css getCollapsibleCss() {
+ return collapsibleCss;
+ }
+
+ public ContinuationIndicatorViewBuilder.Css
getContinuationIndicatorCss() {
+ return continuationIndicatorCss;
+ }
+
+ public TopConversationViewBuilder.Css getConversationCss() {
+ return conversationCss;
+ }
+
+ public ParticipantsViewBuilder.Css getParticipantsCss() {
+ return participantCss;
+ }
+
+ public ReplyBoxViewBuilder.Css getReplyBoxCss() {
+ return replyBoxCss;
+ }
+
+ public RootThreadViewBuilder.Css getRootThreadCss() {
+ return rootThreadCss;
+ }
+}
=======================================
--- /src/org/waveprotocol/wave/client/StageOne.java Mon Aug 8 00:09:59 2011
+++ /src/org/waveprotocol/wave/client/StageOne.java Mon Sep 12 17:01:18 2011
@@ -23,6 +23,7 @@
import org.waveprotocol.wave.client.common.util.LogicalPanel;
import org.waveprotocol.wave.client.scroll.ScrollBuilder;
import org.waveprotocol.wave.client.scroll.SmartScroller;
+import org.waveprotocol.wave.client.wavepanel.WavePanel;
import org.waveprotocol.wave.client.wavepanel.event.FocusManager;
import org.waveprotocol.wave.client.wavepanel.impl.WavePanelImpl;
import
org.waveprotocol.wave.client.wavepanel.impl.collapse.CollapseBuilder;
@@ -30,8 +31,11 @@
import org.waveprotocol.wave.client.wavepanel.impl.focus.FocusFrameBuilder;
import
org.waveprotocol.wave.client.wavepanel.impl.focus.FocusFramePresenter;
import org.waveprotocol.wave.client.wavepanel.view.BlipView;
+import org.waveprotocol.wave.client.wavepanel.view.dom.CssProvider;
import org.waveprotocol.wave.client.wavepanel.view.dom.FullStructure;
import
org.waveprotocol.wave.client.wavepanel.view.dom.UpgradeableDomAsViewProvider;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.WavePanelCssProvider;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.WavePanelResourceLoader;

/**
* The first stage of Undercurrent code.
@@ -127,7 +131,7 @@

/** @return the interpreter of DOM elements as semantic views. */
protected UpgradeableDomAsViewProvider createViewProvider() {
- return new FullStructure();
+ return new FullStructure(createCssProvider());
}

/** @return the wave panel. Subclasses may override. */
@@ -146,6 +150,11 @@
protected CollapsePresenter createCollapsePresenter() {
return CollapseBuilder.createAndInstallIn(getWavePanel());
}
+
+ /** @return the source of CSS rules to apply in views. */
+ protected CssProvider createCssProvider() {
+ return WavePanelResourceLoader.createCssProvider();
+ }

/**
* Installs parts of stage one that have dependencies.
=======================================
---
/src/org/waveprotocol/wave/client/wavepanel/view/dom/BlipMenuItemDomImpl.java
Sun Nov 21 13:56:01 2010
+++
/src/org/waveprotocol/wave/client/wavepanel/view/dom/BlipMenuItemDomImpl.java
Mon Sep 12 17:01:18 2011
@@ -25,24 +25,25 @@
import
org.waveprotocol.wave.client.wavepanel.view.IntrinsicBlipMetaView.MenuOption;
import
org.waveprotocol.wave.client.wavepanel.view.dom.full.BlipMetaViewBuilder;
import
org.waveprotocol.wave.client.wavepanel.view.dom.full.BlipViewBuilder;
-import
org.waveprotocol.wave.client.wavepanel.view.dom.full.WavePanelResourceLoader;

/**
* A blip menu item.
*
*/
public final class BlipMenuItemDomImpl implements DomView,
IntrinsicBlipMenuItemView {
- private final static BlipViewBuilder.Css CSS =
WavePanelResourceLoader.getBlip().css();
-
/** The DOM element of this view. */
private final Element self;

- BlipMenuItemDomImpl(Element self) {
+ /** The CSS classes used to manipulate style based on state changes. */
+ private final BlipViewBuilder.Css css;
+
+ BlipMenuItemDomImpl(Element self, BlipViewBuilder.Css css) {
this.self = self;
+ this.css = css;
}

- public static BlipMenuItemDomImpl of(Element e) {
- return new BlipMenuItemDomImpl(e);
+ public static BlipMenuItemDomImpl of(Element e, BlipViewBuilder.Css css)
{
+ return new BlipMenuItemDomImpl(e, css);
}

@Override
@@ -62,13 +63,13 @@
@Override
public void select() {
self.setAttribute(OPTION_SELECTED_ATTRIBUTE, "s");
- self.setClassName(CSS.menuOption() + " " + CSS.menuOptionSelected());
+ self.setClassName(css.menuOption() + " " + css.menuOptionSelected());
}

@Override
public void deselect() {
self.removeAttribute(OPTION_SELECTED_ATTRIBUTE);
- self.setClassName(CSS.menuOption());
+ self.setClassName(css.menuOption());
}

@Override
=======================================
---
/src/org/waveprotocol/wave/client/wavepanel/view/dom/BlipMetaDomImpl.java
Sun Nov 21 13:56:01 2010
+++
/src/org/waveprotocol/wave/client/wavepanel/view/dom/BlipMetaDomImpl.java
Mon Sep 12 17:01:18 2011
@@ -31,6 +31,7 @@
import
org.waveprotocol.wave.client.wavepanel.view.dom.full.BlipMetaViewBuilder;
import
org.waveprotocol.wave.client.wavepanel.view.dom.full.BlipMetaViewBuilder.Components;
import
org.waveprotocol.wave.client.wavepanel.view.dom.full.BlipViewBuilder;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.CollapsibleBuilder;
import org.waveprotocol.wave.client.wavepanel.view.dom.full.TypeCodes;
import
org.waveprotocol.wave.client.wavepanel.view.dom.full.WavePanelResourceLoader;
import org.waveprotocol.wave.model.util.Pair;
@@ -55,13 +56,14 @@
private static final String INLINE_LOCATOR_PROPERTY = "inlineSequence";
public static final String INLINE_LOCATOR_ATTRIBUTE = "inline";

- private final static BlipViewBuilder.Css CSS =
WavePanelResourceLoader.getBlip().css();
-
/** The DOM element of this view. */
private final Element self;

/** The HTML id of {@code self}. */
private final String id;
+
+ /** The CSS classes used to manipulate style based on state changes. */
+ private final BlipViewBuilder.Css css;

//
// UI fields for both intrinsic and structural elements.
@@ -77,13 +79,14 @@

private StringSequence inlineLocators;

- BlipMetaDomImpl(Element self, String id) {
+ BlipMetaDomImpl(Element self, String id, BlipViewBuilder.Css css) {
this.self = self;
this.id = id;
+ this.css = css;
}

- public static BlipMetaDomImpl of(Element e) {
- return new BlipMetaDomImpl(e, e.getId());
+ public static BlipMetaDomImpl of(Element e, BlipViewBuilder.Css css) {
+ return new BlipMetaDomImpl(e, e.getId(), css);
}

@Override
@@ -106,9 +109,9 @@
// The entire set of class names is always replaced, because
// server-generated and client-generated classes do not mix.
if (read) {
- getMetabar().setClassName(CSS.metabar() + " " + CSS.read());
+ getMetabar().setClassName(css.metabar() + " " + css.read());
} else {
- getMetabar().setClassName(CSS.metabar() + " " + CSS.unread());
+ getMetabar().setClassName(css.metabar() + " " + css.unread());
}
}

@@ -162,7 +165,7 @@
while (e != null) {
if (e.hasAttribute(KIND_ATTRIBUTE)
&&
e.getAttribute(KIND_ATTRIBUTE).equals(TypeCodes.kind(Type.MENU_ITEM))) {
- BlipMenuItemDomImpl item = BlipMenuItemDomImpl.of(e);
+ BlipMenuItemDomImpl item = BlipMenuItemDomImpl.of(e, css);
MenuOption option = item.getOption();
options.put(option, item);
if (item.isSelected()) {
@@ -181,7 +184,7 @@
* @param selected which options, if any, are to be selected.
*/
private void setMenuState(Set<MenuOption> options, Set<MenuOption>
selected) {
- UiBuilder builder = BlipMetaViewBuilder.menuBuilder(options, selected,
CSS);
+ UiBuilder builder = BlipMetaViewBuilder.menuBuilder(options, selected,
css);
SafeHtmlBuilder out = new SafeHtmlBuilder();
builder.outputHtml(out);
getMenu().setInnerHTML(out.toSafeHtml().asString());
=======================================
---
/src/org/waveprotocol/wave/client/wavepanel/view/dom/CollapsibleDomImpl.java
Wed Mar 30 18:07:32 2011
+++
/src/org/waveprotocol/wave/client/wavepanel/view/dom/CollapsibleDomImpl.java
Mon Sep 12 17:01:18 2011
@@ -32,21 +32,20 @@
import org.waveprotocol.wave.client.common.util.UserAgent;
import
org.waveprotocol.wave.client.wavepanel.view.dom.full.CollapsibleBuilder;
import
org.waveprotocol.wave.client.wavepanel.view.dom.full.CollapsibleBuilder.Components;
-import
org.waveprotocol.wave.client.wavepanel.view.dom.full.WavePanelResourceLoader;

/**
* DOM implementation of an inline thread.
*
*/
final class CollapsibleDomImpl implements DomView {
- /** Shorthand. */
- private final static CollapsibleBuilder.Css CSS =
WavePanelResourceLoader.getCollapsible().css();
-
/** The DOM element of this view. */
private final Element self;

/** The HTML id of {@code self}. */
private final String id;
+
+ /** The CSS classes used to manipulate style based on state changes. */
+ private final CollapsibleBuilder.Css css;

//
// UI fields for both intrinsic and structural elements.
@@ -67,17 +66,18 @@
*/
private boolean isRepaired;

- CollapsibleDomImpl(Element e, String id) {
+ CollapsibleDomImpl(Element e, String id, CollapsibleBuilder.Css css) {
this.self = e;
this.id = id;
+ this.css = css;
}

- public static CollapsibleDomImpl of(Element e) {
- return new CollapsibleDomImpl(e, e.getId());
+ public static CollapsibleDomImpl of(Element e, CollapsibleBuilder.Css
css) {
+ return new CollapsibleDomImpl(e, e.getId(), css);
}

- public static CollapsibleDomImpl ofToggle(Element e) {
- return
of(Document.get().getElementById(Components.TOGGLE.getBaseId(e.getId())));
+ public static CollapsibleDomImpl ofToggle(Element e,
CollapsibleBuilder.Css css) {
+ return
of(Document.get().getElementById(Components.TOGGLE.getBaseId(e.getId())),
css);
}

public boolean isCollapsed() {
@@ -120,12 +120,12 @@
* chrome elements after a state change.
*/
private void updatedCssClassNames() {
- String readStateClass = " " + (isRead() ? CSS.read() : CSS.unread());
- String collapsedStateClass = " " + (isCollapsed() ? CSS.collapsed() :
CSS.expanded());
-
- getToggle().setClassName(CSS.toggle() + collapsedStateClass +
readStateClass);
- getChrome().setClassName(CSS.chrome() + collapsedStateClass);
- getDropContainer().setClassName(CSS.dropContainer() +
collapsedStateClass);
+ String readStateClass = " " + (isRead() ? css.read() : css.unread());
+ String collapsedStateClass = " " + (isCollapsed() ? css.collapsed() :
css.expanded());
+
+ getToggle().setClassName(css.toggle() + collapsedStateClass +
readStateClass);
+ getChrome().setClassName(css.chrome() + collapsedStateClass);
+ getDropContainer().setClassName(css.dropContainer() +
collapsedStateClass);
}


=======================================
--- /src/org/waveprotocol/wave/client/wavepanel/view/dom/FullStructure.java
Tue May 3 01:47:52 2011
+++ /src/org/waveprotocol/wave/client/wavepanel/view/dom/FullStructure.java
Mon Sep 12 17:01:18 2011
@@ -525,6 +525,9 @@
}
};

+ /** Injected Css resources providing access to style names to apply. */
+ private final CssProvider cssProvider;
+
/**
* Renderer for creating new parts of the DOM. Initially unset, then set
once
* in {@link #setRenderer(DomRenderer)}.
@@ -534,7 +537,8 @@
/**
* Creates a view provider/manager/handler/oracle.
*/
- public FullStructure() {
+ public FullStructure(CssProvider cssProvider) {
+ this.cssProvider = cssProvider;
}

@Override
@@ -635,62 +639,65 @@
}

private RootThreadViewImpl<RootThreadDomImpl>
asRootThreadUnchecked(Element e) {
- return e != null ? new RootThreadViewImpl<RootThreadDomImpl>(
- rootThreadHelper, RootThreadDomImpl.of(e)) : null;
+ return e == null ? null : new RootThreadViewImpl<RootThreadDomImpl>(
+ rootThreadHelper, RootThreadDomImpl.of(e));
}

private ReplyBoxViewImpl<ReplyBoxDomImpl>
asRootThreadIndicatorUnchecked(Element e) {
- return e != null ? new ReplyBoxViewImpl<ReplyBoxDomImpl>(
- rootThreadIndicatorHelper, ReplyBoxDomImpl.of(e)) : null;
+ return e == null ? null : new ReplyBoxViewImpl<ReplyBoxDomImpl>(
+ rootThreadIndicatorHelper, ReplyBoxDomImpl.of(e));
}

private InlineThreadViewImpl<InlineThreadDomImpl>
asInlineThreadUnchecked(Element e) {
- return e != null ? new InlineThreadViewImpl<InlineThreadDomImpl>(
- inlineThreadHelper, InlineThreadDomImpl.of(e)) : null;
+ return e == null ? null : new
InlineThreadViewImpl<InlineThreadDomImpl>(
+ inlineThreadHelper, InlineThreadDomImpl.of(e,
cssProvider.getCollapsibleCss()));
}

private ContinuationIndicatorViewImpl<ContinuationIndicatorDomImpl>
asContinuationIndicatorUnchecked(Element e) {
- return e != null ? new
ContinuationIndicatorViewImpl<ContinuationIndicatorDomImpl>(
- inlineThreadIndicatorHelper, ContinuationIndicatorDomImpl.of(e)) :
null;
+ return e == null ? null : new
ContinuationIndicatorViewImpl<ContinuationIndicatorDomImpl>(
+ inlineThreadIndicatorHelper, ContinuationIndicatorDomImpl.of(e));
}

private AnchorViewImpl<AnchorDomImpl> asAnchorUnchecked(Element e) {
- return e != null ? new AnchorViewImpl<AnchorDomImpl>(anchorHelper,
AnchorDomImpl.of(e)) : null;
+ return e == null ? null : new AnchorViewImpl<AnchorDomImpl>(
+ anchorHelper, AnchorDomImpl.of(e));
}

private BlipViewImpl<BlipViewDomImpl> asBlipUnchecked(Element e) {
- return e != null ? new BlipViewImpl<BlipViewDomImpl>(blipHelper,
BlipViewDomImpl.of(e)) : null;
+ return e == null ? null : new BlipViewImpl<BlipViewDomImpl>(
+ blipHelper, BlipViewDomImpl.of(e));
}

private ParticipantViewImpl<ParticipantNameDomImpl>
asParticipantUnchecked(Element e) {
- return e != null ? new ParticipantViewImpl<ParticipantNameDomImpl>(
- participantHelper, ParticipantNameDomImpl.of(e)) : null;
+ return e == null ? null : new
ParticipantViewImpl<ParticipantNameDomImpl>(
+ participantHelper, ParticipantNameDomImpl.of(e));
}

private ParticipantsViewImpl<ParticipantsDomImpl>
asParticipantsUnchecked(Element e) {
- return e != null ? new ParticipantsViewImpl<ParticipantsDomImpl>(
- participantsHelper, ParticipantsDomImpl.of(e)) : null;
+ return e == null ? null : new
ParticipantsViewImpl<ParticipantsDomImpl>(
+ participantsHelper, ParticipantsDomImpl.of(e));
}

private BlipMetaViewImpl<BlipMetaDomImpl> asBlipMetaUnchecked(Element e)
{
- return e != null
- ? new BlipMetaViewImpl<BlipMetaDomImpl>(metaHelper,
BlipMetaDomImpl.of(e)) : null;
+ return e == null ? null : new BlipMetaViewImpl<BlipMetaDomImpl>(
+ metaHelper, BlipMetaDomImpl.of(e, cssProvider.getBlipCss()));
}

private BlipMenuItemViewImpl<BlipMenuItemDomImpl>
asBlipMenuItemUnchecked(Element e) {
- return e != null ? BlipMenuItemViewImpl.create(menuHelper,
BlipMenuItemDomImpl.of(e)) : null;
+ return e == null ? null : BlipMenuItemViewImpl.create(
+ menuHelper, BlipMenuItemDomImpl.of(e, cssProvider.getBlipCss()));
}

private TopConversationViewImpl<TopConversationDomImpl>
asTopConversationUnchecked(Element e) {
- return e != null ? new TopConversationViewImpl<TopConversationDomImpl>(
- convHelper, TopConversationDomImpl.of(e)) : null;
+ return e == null ? null : new
TopConversationViewImpl<TopConversationDomImpl>(
+ convHelper, TopConversationDomImpl.of(e));
}

private InlineConversationViewImpl<InlineConversationDomImpl>
asInlineConversationUnchecked(
Element e) {
- return e != null ? new
InlineConversationViewImpl<InlineConversationDomImpl>(
- inlineConvHelper, InlineConversationDomImpl.of(e)) : null;
+ return e == null ? null : new
InlineConversationViewImpl<InlineConversationDomImpl>(
+ inlineConvHelper, InlineConversationDomImpl.of(e,
cssProvider.getCollapsibleCss()));
}

@Override
@@ -785,8 +792,8 @@
@Override
public InlineThreadView fromToggle(Element e) {
Preconditions.checkArgument(e == null || typeOf(e) == Type.TOGGLE);
- return e != null ? new InlineThreadViewImpl<InlineThreadDomImpl>(
- inlineThreadHelper, InlineThreadDomImpl.ofToggle(e)) : null;
+ return e == null ? null : new
InlineThreadViewImpl<InlineThreadDomImpl>(
+ inlineThreadHelper, InlineThreadDomImpl.ofToggle(e,
cssProvider.getCollapsibleCss()));
}

@Override
=======================================
---
/src/org/waveprotocol/wave/client/wavepanel/view/dom/InlineConversationDomImpl.java
Sun Nov 21 13:56:01 2010
+++
/src/org/waveprotocol/wave/client/wavepanel/view/dom/InlineConversationDomImpl.java
Mon Sep 12 17:01:18 2011
@@ -22,6 +22,7 @@
import com.google.gwt.dom.client.Element;

import
org.waveprotocol.wave.client.wavepanel.view.IntrinsicInlineConversationView;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.CollapsibleBuilder;

/**
* DOM implementation of an inline thread.
@@ -35,8 +36,8 @@
this.c = c;
}

- public static InlineConversationDomImpl of(Element e) {
- return new InlineConversationDomImpl(CollapsibleDomImpl.of(e));
+ public static InlineConversationDomImpl of(Element e,
CollapsibleBuilder.Css css) {
+ return new InlineConversationDomImpl(CollapsibleDomImpl.of(e, css));
}


=======================================
---
/src/org/waveprotocol/wave/client/wavepanel/view/dom/InlineThreadDomImpl.java
Tue Nov 30 11:51:38 2010
+++
/src/org/waveprotocol/wave/client/wavepanel/view/dom/InlineThreadDomImpl.java
Mon Sep 12 17:01:18 2011
@@ -20,6 +20,7 @@
import com.google.gwt.dom.client.Element;

import
org.waveprotocol.wave.client.wavepanel.view.IntrinsicInlineThreadView;
+import
org.waveprotocol.wave.client.wavepanel.view.dom.full.CollapsibleBuilder;

/**
* DOM implementation of an inline thread.
@@ -33,12 +34,12 @@
this.c = c;
}

- public static InlineThreadDomImpl of(Element e) {
- return new InlineThreadDomImpl(CollapsibleDomImpl.of(e));
+ public static InlineThreadDomImpl of(Element e, CollapsibleBuilder.Css
css) {
+ return new InlineThreadDomImpl(CollapsibleDomImpl.of(e, css));
}

- public static InlineThreadDomImpl ofToggle(Element e) {
- return new InlineThreadDomImpl(CollapsibleDomImpl.ofToggle(e));
+ public static InlineThreadDomImpl ofToggle(Element e,
CollapsibleBuilder.Css css) {
+ return new InlineThreadDomImpl(CollapsibleDomImpl.ofToggle(e, css));
}

@Override
=======================================
---
/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/ParticipantsViewBuilder.java
Sun Nov 21 13:56:01 2010
+++
/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/ParticipantsViewBuilder.java
Mon Sep 12 17:01:18 2011
@@ -43,7 +43,7 @@
final static int COLLAPSED_HEIGHT_PX = 51;

/** Resources used by this widget. */
- interface Resources extends ClientBundle {
+ public interface Resources extends ClientBundle {
/** CSS */
@Source("Participants.css")
Css css();
@@ -58,7 +58,7 @@
}

/** CSS for this widget. */
- interface Css extends CssResource {
+ public interface Css extends CssResource {
String participant();
String panel();
String flow();
=======================================
---
/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/WavePanelResourceLoader.java
Thu Mar 10 19:23:54 2011
+++
/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/WavePanelResourceLoader.java
Mon Sep 12 17:01:18 2011
@@ -19,6 +19,7 @@
import com.google.gwt.dom.client.StyleInjector;

import org.waveprotocol.wave.client.editor.EditorImpl;
+import org.waveprotocol.wave.client.wavepanel.view.dom.CssProvider;

/**
* This class is responsible for loading all the Css resources needed by
the
@@ -27,7 +28,8 @@
*/
public final class WavePanelResourceLoader {

- private final static BlipViewBuilder.Resources blip =
GWT.create(BlipViewBuilder.Resources.class);
+ private final static BlipViewBuilder.Resources blip =
+ GWT.create(BlipViewBuilder.Resources.class);
private final static CollapsibleBuilder.Resources collapsible =
GWT.create(CollapsibleBuilder.Resources.class);
private final static RootThreadViewBuilder.Resources rootThread =
@@ -35,11 +37,11 @@
private final static ReplyBoxViewBuilder.Resources replyBox =
GWT.create(ReplyBoxViewBuilder.Resources.class);
private final static ContinuationIndicatorViewBuilder.Resources
inlineContinuation =
- GWT.create(ContinuationIndicatorViewBuilder.Resources.class);
+ GWT.create(ContinuationIndicatorViewBuilder.Resources.class);
private final static TopConversationViewBuilder.Resources conversation =
GWT.create(TopConversationViewBuilder.Resources.class);
private final static ParticipantsViewBuilder.Resources participants =
- GWT.create(ParticipantsViewBuilder.Resources.class);
+ GWT.create(ParticipantsViewBuilder.Resources.class);

static {
// Inject all CSS synchronously. CSS must be injected synchronously,
so that
@@ -97,4 +99,15 @@
// Need a few more:
EditorImpl.init();
}
-}
+
+ /** @return The provider of just the CSS layer of styles. */
+ public static CssProvider createCssProvider() {
+ return new CssProvider(getBlip().css(),
+ getCollapsible().css(),
+ getContinuationIndicator().css(),
+ getConversation().css(),
+ getParticipants().css(),
+ getReplyBox().css(),
+ getRootThread().css());
+ }
+}

Reply all
Reply to author
Forward
0 new messages