Package com.cxy.redisclient.presentation.list

Source Code of com.cxy.redisclient.presentation.list.NewListContent

package com.cxy.redisclient.presentation.list;

import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;

import com.cxy.redisclient.integration.I18nFile;
import com.cxy.redisclient.presentation.RedisClient;
import com.cxy.redisclient.presentation.component.EditListener;
import com.cxy.redisclient.presentation.component.NewDataContent;

public class NewListContent extends NewDataContent {
  private Table table;
  private Button btnDelete;
  private Button btnUp;
  private Button btnDown;
  private boolean headTail = true;
  private boolean exist = true;
  private Group grpWhenListNot;
  private Group grpValues;
  private TableColumn tblclmnNewColumn;
 
  public NewListContent(int id, String server, int db, String key,
      String dataTitle) {
    super(id, server, db, key, dataTitle);
  }

  /**
   * @wbp.parser.entryPoint
   */
  @Override
  protected void initData(Composite dataComposite) {
    grpValues = new Group(dataComposite, SWT.NONE);
    grpValues.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4,
        1));
    grpValues.setText(RedisClient.i18nFile.getText(I18nFile.VALUES));
    grpValues.setLayout(new GridLayout(4, false));

    table =  new Table(grpValues, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    table.setHeaderVisible(true);;
   
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 4));
    table.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        tableItemSelected();
      }
    });
    table.setLinesVisible(true);
    table.addListener(SWT.MouseDown, new EditListener(table, true));

    tblclmnNewColumn = new TableColumn(table, SWT.NONE);
    tblclmnNewColumn.setText(RedisClient.i18nFile.getText(I18nFile.VALUE));
    tblclmnNewColumn.setWidth(200);

    Button btnAdd = new Button(grpValues, SWT.NONE);
    btnAdd.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    btnAdd.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        InputDialog inputDialog = new InputDialog((Shell) shell,
            RedisClient.i18nFile.getText(I18nFile.INPUTVALUES),
            RedisClient.i18nFile.getText(I18nFile.LISTINPUTFORMAT), "", null);
        if (inputDialog.open() == InputDialog.OK) {
          String values = inputDialog.getValue();
          String[] listValues = values.split(";");
          TableItem item = null;
         
          for (String value : listValues) {
            item = new TableItem(table, SWT.NONE);
            item.setText(value);
          }
         
          if(item != null)
            table.setSelection(item);
        }
      }
    });
    btnAdd.setText(RedisClient.i18nFile.getText(I18nFile.ADD));

    btnDelete = new Button(grpValues, SWT.NONE);
    btnDelete.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false,
        1, 1));
    btnDelete.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        TableItem[] items = table.getSelection();
        for (TableItem item : items) {
          item.dispose();
        }
        tableItemSelected();
      }
    });
    btnDelete.setEnabled(false);
    btnDelete.setText(RedisClient.i18nFile.getText(I18nFile.DELETE));

    btnUp = new Button(grpValues, SWT.NONE);
    btnUp.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    btnUp.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        TableItem[] items = table.getItems();
        TableItem[] selectedItems = table.getSelection();
        String selectedText = selectedItems[0].getText();

        int selected = table.getSelectionIndex();
        String upText = items[selected - 1].getText();

        items[selected].setText(upText);
        items[selected - 1].setText(selectedText);

        table.setSelection(selected - 1);
        if (selected == 1)
          tableItemSelected();
      }
    });
    btnUp.setEnabled(false);
    btnUp.setText(RedisClient.i18nFile.getText(I18nFile.UP));

    btnDown = new Button(grpValues, SWT.NONE);
    btnDown.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1,
        1));
    btnDown.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        TableItem[] items = table.getItems();
        TableItem[] selectedItems = table.getSelection();
        String selectedText = selectedItems[0].getText();

        int selected = table.getSelectionIndex();
        String downText = items[selected + 1].getText();

        items[selected].setText(downText);
        items[selected + 1].setText(selectedText);

        table.setSelection(selected + 1);
        if (selected == table.getItemCount() - 2)
          tableItemSelected();
      }
    });
    btnDown.setEnabled(false);
    btnDown.setText(RedisClient.i18nFile.getText(I18nFile.DOWN));

    Group grpOrderToAdd = new Group(dataComposite, SWT.NONE);
    grpOrderToAdd.setLayout(new GridLayout(2, false));
    grpOrderToAdd.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false,
        false, 4, 1));
    grpOrderToAdd.setText(RedisClient.i18nFile.getText(I18nFile.LISTORDER));

    Button button_1 = new Button(grpOrderToAdd, SWT.RADIO);
    button_1.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false,
        1, 1));
    button_1.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        headTail = true;
      }
    });
    button_1.setSelection(true);
    button_1.setText(RedisClient.i18nFile.getText(I18nFile.HEADTAIL));

    Button btnFromTailTo = new Button(grpOrderToAdd, SWT.RADIO);
    btnFromTailTo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true,
        false, 1, 1));
    btnFromTailTo.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        headTail = false;
      }
    });
    btnFromTailTo.setText(RedisClient.i18nFile.getText(I18nFile.TAILHEAD));

    grpWhenListNot = new Group(dataComposite, SWT.NONE);
    grpWhenListNot.setLayout(new GridLayout(2, true));
    grpWhenListNot.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
        false, 4, 1));
    grpWhenListNot.setText(RedisClient.i18nFile.getText(I18nFile.LISTNOTEXIST));

    Button btnCreateList = new Button(grpWhenListNot, SWT.RADIO);
    btnCreateList.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true,
        false, 1, 1));
    btnCreateList.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        exist = true;
      }
    });
    btnCreateList.setSelection(true);
    btnCreateList.setText(RedisClient.i18nFile.getText(I18nFile.CREATELIST));

    Button btnNothingToDo = new Button(grpWhenListNot, SWT.RADIO);
    btnNothingToDo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true,
        false, 1, 1));
    btnNothingToDo.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        exist = false;
      }
    });
    btnNothingToDo.setText(RedisClient.i18nFile.getText(I18nFile.DONOTHING));
   
  }
  public boolean isHeadTail() {
    return headTail;
  }

  public boolean isExist() {
    return exist;
  }

  protected Table getTable() {
    return table;
  }
  protected void tableItemSelected() {
    TableItem[] items = table.getSelection();
    if (items.length == 1) {
      btnDelete.setEnabled(true);
      if (table.getSelectionIndex() != 0)
        btnUp.setEnabled(true);
      else
        btnUp.setEnabled(false);
      if (table.getSelectionIndex() != table.getItemCount() - 1)
        btnDown.setEnabled(true);
      else
        btnDown.setEnabled(false);
    } else if (items.length > 1) {
      btnDelete.setEnabled(true);
      btnUp.setEnabled(false);
      btnDown.setEnabled(false);
    } else {
      btnDelete.setEnabled(false);
      btnUp.setEnabled(false);
      btnDown.setEnabled(false);
    }
  }

}
TOP

Related Classes of com.cxy.redisclient.presentation.list.NewListContent

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.