Package com.gwesm.ui

Source Code of com.gwesm.ui.CharacterProfessionsView

package com.gwesm.ui;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.ExpandBar;
import org.eclipse.swt.widgets.ExpandItem;

import com.gwesm.presenters.CharacterPresenter;
import com.gwesm.presenters.ProfessionPresenter;

public class CharacterProfessionsView extends SWTView {

  ExpandBar professionsExpandBar;

  CharacterPresenter presenter;

  public CharacterProfessionsView(Composite parent,
      CharacterPresenter presenter) {
    super(parent, presenter);
    this.presenter = presenter;
    FillLayout layout = new FillLayout();
    // layout.marginHeight = 10;
    // layout.marginWidth = 10;
    this.setLayout(layout);

    final ScrolledComposite scrolledComposite = new ScrolledComposite(this,
        SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    scrolledComposite.setExpandHorizontal(true);
    scrolledComposite.setExpandVertical(true);

    scrolledComposite.addControlListener(new ControlAdapter() {
      @Override
      public void controlResized(ControlEvent e) {
        Rectangle r = scrolledComposite.getClientArea();
        scrolledComposite.setMinSize(CharacterProfessionsView.this
            .computeSize(r.width, SWT.DEFAULT));
      }
    });

    this.professionsExpandBar = new ExpandBar(scrolledComposite, SWT.NONE);
    this.professionsExpandBar.setSpacing(5);
    scrolledComposite.setContent(this.professionsExpandBar);
    refresh();
  }

  @Override
  public void refresh() {
    int itemOrder = 0;
    for (ProfessionPresenter professionPresenter : this.presenter
        .getProfessionPresenters()) {
      ExpandItem professionItem = new ExpandItem(
          this.professionsExpandBar, SWT.NONE, itemOrder);
      professionItem.setText(professionPresenter.getProfessionName());
      ProfessionView professionView = new ProfessionView(
          this.professionsExpandBar, professionPresenter);
      professionItem.setHeight(professionView.computeSize(SWT.DEFAULT,
          SWT.DEFAULT).y);
      professionItem.setControl(professionView);
      itemOrder = itemOrder + 1;
    }

  }
}
TOP

Related Classes of com.gwesm.ui.CharacterProfessionsView

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.