Package ru.kai.assistantschedule.ui.forms

Source Code of ru.kai.assistantschedule.ui.forms.AbstractProfessorsLoadTable

package ru.kai.assistantschedule.ui.forms;

import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ColumnViewerEditor;
import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
import org.eclipse.jface.viewers.IBaseLabelProvider;
import org.eclipse.jface.viewers.ICellModifier;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.nebula.jface.gridviewer.GridTableViewer;
import org.eclipse.nebula.jface.gridviewer.GridViewerEditor;
import org.eclipse.nebula.widgets.grid.GridColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;

import ru.kai.assistantschedule.core.calendar.Class;

public abstract class AbstractProfessorsLoadTable {

    private GridTableViewer v;

    private Composite composite;

    public AbstractProfessorsLoadTable(Composite parent) {
  parent.setLayout(new FillLayout());
  composite = new Composite(parent, SWT.NONE);
  composite.setLayout(new FillLayout());
  v = new GridTableViewer(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
  v.setLabelProvider(getLabelProvider());
  v.setContentProvider(getContentProvider());
  v.getGrid().setCellSelectionEnabled(true);
     
  v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getGrid()), new TextCellEditor(v.getGrid()) });
  v.setCellModifier(new ICellModifier() {

    public boolean canModify(Object element, String property) {
      return true;
    }

    public Object getValue(Object element, String property) {
      return "Column " + property + " => " + element.toString();
    }

    public void modify(Object element, String property, Object value) {
     
    }
   
  });
 
  v.setColumnProperties(new String[] {"1","2"});
//  v.setColumnProperties(new String[] {"Группа","Время","Дисциплина","Вид занятий","Преподователь","Кафедра"});
 
  ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
    protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
      return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
          || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
          || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR);
    }
  };
 
  GridViewerEditor.create(v, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
      | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
      | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
 
  GridColumn column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("NN");
 
  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("Дисциплина");
 
  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("Факультет");
 
  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("Форма обучения");
 
  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("Специальность");
 
  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("Курс");
 
  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("чис. пот.");
 
  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("чис. гр.");
 
  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("чис. подгр.");
 
  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("кол-во студ.");
 
  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("кол-во нед.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("лекции");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("практ. зан.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("лаб. раб.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("конс.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("курс. раб.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("курс. пр.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("дом. зад.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("контр. раб.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("колл.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("зачёты");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("экзамен");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("итого за весенн.\\семестр без учёт\\дом. задан.,\\контр.и коллок..");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("итого за весенн.\\семестр c учёт.\\дом. задан., .\\контри коллок..");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("итого за год без\\учёт.дом. зад.,\\контр. и коллок.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("итого за год с\\учёт. дом. зад.,\\контр. и коллок..");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("лекции");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("практика");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("лаб.раб.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("конс.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("курс.раб.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("курс.пр.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("зачет");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("экзамен");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("итого");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("Дом.з.");

  column = new GridColumn(v.getGrid(), SWT.NONE);
  column.setWidth(100);
  column.setText("Контр.раб.");
 
  v.getGrid().setLinesVisible(true);
  v.getGrid().setHeaderVisible(true);
  v.getGrid().setRowHeaderVisible(true);
 
  listeners();
    }
   
    protected abstract void listeners();
   
    protected abstract Class[] getInput();

    protected abstract IBaseLabelProvider getLabelProvider();

    protected abstract IContentProvider getContentProvider();
   
    public void setFocus() {
  composite.setFocus();
    }

    public void dispose() {
  composite.dispose();
    }
   
}
TOP

Related Classes of ru.kai.assistantschedule.ui.forms.AbstractProfessorsLoadTable

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.