public NetworkTimeLineDetailView(
      Container parent, NetworkVisualization viz, NetworkTimeLineDetailView.Resources resources) {
    super(parent, viz);
    this.resources = resources;
    NetworkTimeLineDetailView.Css css = resources.networkTimeLineDetailViewCss();
    Element elem = getElement();
    elem.setClassName(css.resourcePanel());
    elem.getStyle().setProperty("backgroundPosition", Constants.GRAPH_PIXEL_OFFSET + "px 0");
    displayed = new ArrayList<ResourceRow>();
    DocumentExt document = elem.getOwnerDocument().cast();
    Element contentWrapper = document.createDivWithClassName(css.contentWrapper());
    Element contentElement = document.createDivWithClassName(css.content());
    contentWrapper.appendChild(contentElement);
    contentContainer = new DefaultContainerImpl(contentElement);

    // nice border going the height of the element
    Element filler = document.createDivWithClassName(css.heightFiller());
    filler.getStyle().setPropertyPx("width", Constants.GRAPH_PIXEL_OFFSET);

    elem.appendChild(filler);
    elem.appendChild(contentWrapper);

    ResizeEvent.addResizeListener(this, Window.get(), this);
  }
 public void onResize(ResizeEvent event) {
   for (int i = 0, n = displayed.size(); i < n; i++) {
     displayed.get(i).onResize(Window.getInnerWidth() - Constants.GRAPH_HEADER_WIDTH);
   }
 }