Sha256: 63e0e7d516e2e3488ea8f7f2754dc0ef5e31a1bbf4be434ed7e57b6d94fabb9e

Contents?: true

Size: 1.45 KB

Versions: 1

Compression:

Stored size: 1.45 KB

Contents

/**
 * Sencha GXT 3.1.1 - Sencha for GWT
 * Copyright(c) 2007-2014, Sencha, Inc.
 * licensing@sencha.com
 *
 * http://www.sencha.com/products/gxt/license/
 */
package com.dldinternet.aws.cfn.stacker.desktop.client.layout;

import com.google.gwt.dom.client.Element;
import com.sencha.gxt.widget.core.client.Window;

public class CascadeDesktopLayout extends LimitedDesktopLayout implements DesktopLayout {

  protected int left;
  protected int top;
  protected int offsetIndex;

  @Override
  public DesktopLayoutType getDesktopLayoutType() {
    return DesktopLayoutType.CASCADE;
  }

  @Override
  public void layoutDesktop(Window requestWindow, RequestType requestType, Element element, Iterable<Window> windows,
      int containerWidth, int containerHeight) {

    if (requestType == RequestType.LAYOUT) {
      left = 0;
      top = 0;
      offsetIndex = 0;
    }

    super.layoutDesktop(requestWindow, requestType, element, windows, containerWidth, containerHeight);
  }

  @Override
  protected void layoutWindow(Window window, int containerWidth, int containerHeight, int width, int height) {

    int offset = window.getHeader().getOffsetHeight();

    window.setPixelSize(width, height);

    if (top + height > containerHeight) {
      left = ++offsetIndex * offset;
      top = 0;
    }

    if (left + width > containerWidth) {
      left = 0;
      top = 0;
      offsetIndex = 0;
    }

    window.setPosition(left, top);

    left += offset;
    top += offset;
  }

}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aws-cfn-stacker-0.0.6 ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/layout/CascadeDesktopLayout.java