Package net.sf.redmine_mylyn.internal.ui.query

Source Code of net.sf.redmine_mylyn.internal.ui.query.LayoutHelper

package net.sf.redmine_mylyn.internal.ui.query;

import java.util.Map;

import net.sf.redmine_mylyn.api.query.IQueryField;

import org.eclipse.jface.viewers.ComboViewer;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;

class LayoutHelper {


  public static void placeListElements(final Composite parent, int columns, final Map<? extends IQueryField, StructuredViewer> lstSearchValues, final Map<? extends IQueryField, ComboViewer> lstSearchOperators) {
   
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(columns * 2, true);
    composite.setLayout(layout);

    GridData commonGridData = new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false);
    commonGridData.horizontalAlignment = SWT.FILL;

    GridData listGridData = new GridData();
    listGridData.verticalSpan = 2;
    listGridData.heightHint = 100;
    listGridData.widthHint = 85;
   
    IQueryField[] fields = lstSearchValues.keySet().toArray(new IQueryField[lstSearchValues.size()]);
   
    for(int i=1; i<=fields.length; i++) {
      IQueryField queryField = fields[i-1];

      Label label = new Label(composite, SWT.NONE);
      label.setText(queryField.getLabel());
      label.setLayoutData(commonGridData);
     
      Control control = lstSearchValues.get(queryField).getControl();
      control.setParent(composite);
      control.setLayoutData(listGridData);

      if (i % columns == 0 || i == lstSearchValues.size()) {
        int sv = (i % columns == 0) ? i - columns : i - i % columns;
        if (i % columns != 0) {
          listGridData = new GridData();
          listGridData.verticalSpan = 2;
          listGridData.heightHint = 100;
          listGridData.horizontalSpan = (columns-(i % columns)) * 2 +1;
          listGridData.widthHint = 85;
          control.setLayoutData(listGridData);
        }
        for (int j = sv; j < i; j++) {
          IQueryField tmpSearchField = fields[j];
         
          ComboViewer combo = lstSearchOperators.get(tmpSearchField);
          combo.getControl().setParent(composite);
          combo.getControl().setLayoutData(commonGridData);
        }
      }
    }
  }
 
  public static void placeTextElements(final Composite parent, final Map<? extends IQueryField, Text> txtSearchValues, final Map<? extends IQueryField, ComboViewer> txtSearchOperators) {
   
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(3, false);
    composite.setLayout(layout);
   
    GridData commonGridData = new GridData();
    GridData textGridData = new GridData(SWT.FILL, SWT.CENTER, true, true);
    textGridData.minimumWidth=300;

    for (IQueryField queryField : txtSearchValues.keySet()) {
      Label label = new Label(composite, SWT.NONE);
      label.setText(queryField.getLabel());
      label.setLayoutData(commonGridData);

      ComboViewer combo = txtSearchOperators.get(queryField);
      combo.getControl().setParent(composite);
      combo.getControl().setLayoutData(commonGridData);

      Control text = txtSearchValues.get(queryField);
      text.setParent(composite);
      text.setLayoutData(textGridData);
    }
  }
 
}
TOP

Related Classes of net.sf.redmine_mylyn.internal.ui.query.LayoutHelper

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.