Package nixonftp.ui

Source Code of nixonftp.ui.NXTable

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/* nixonFTP
* FTP client version 0.1
* Copyright (C) 2010 NIXON Development Corporation.
* All rights reserved.
* http://members.shaw.ca/nixon.com
*/
package nixonftp.ui;

import java.awt.Rectangle;
import nixonftp.*;
import nixonftp.list.NXTableModel;
import nixonftp.list.NXListAdapter;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;

public class NXTable extends JTable implements NXListAdapter {
  private String dir = "";
  public boolean dirty;
  private NXContextMenu menu;
  private TableCellRenderer renderer;
  private boolean local;
  private boolean leftSide;
 
  public NXTable(boolean local) {
    super(new Object[][]{
            {"Mary", "2010 Jan 20", "32 KB"},
            {"Alison", "1995 Dec 31", "1,023 bytes"},}, new String[]{"Name", "Date", "Size"});
    try {
      setAutoCreateRowSorter(true);
    } catch (NoSuchMethodError ex) {
    }
    setModel(new NXTableModel());
    setDragEnabled(true);
    setRowHeight(20);
    renderer = new NXTableRenderer(true);
    menu = new NXContextMenu(local);
    this.local = local;
  }

  public int getSelectedItemCount() {
    return getSelectedRowCount();
  }

  public TableCellRenderer getCellRenderer(int row, int col) {
    return renderer;
  }

  public Rectangle getRealBounds() {
    return ((JScrollPane)this.getParent().getParent()).getBounds();
  }
 
  public NXObjectIndex getSelectedValue() {
    NXTableModel model = (NXTableModel) getModel();
    int row = this.getSelectedRow();
    return (row != -1) ? model.getValueAt(row): null;
  }

  public String getDirectory() {
    return dir;
  }

  public void setDirectory(String s) {
    dir = s;
  }

  public JPopupMenu getMenu() {
    return menu;
  }

  public ListModel getAdapterModel() {
      return null;
  }

  public void setModel(ListModel lsm) {
    throw new UnsupportedOperationException("Not supported yet.");
  }

  public Object[] getSelectedValues() {
    int count = this.getSelectedItemCount();
    NXObjectIndex[] values = new NXObjectIndex[count];
    for (int x = 0; x < count; x++) {
      values[x] = getSelectedValue();
    }
    return values;
  }

  public boolean getType() {
    return true; //table, not list
  }

  public int getIndex() {
    return -1;
  }

  public boolean getLocal() {
    return local;
  }

  public boolean dropLeft() {
    return leftSide;
  }

  public void setDropLeft(boolean b) {
    leftSide = b;
  }

  public void addElement(Object o) {
    ((NXTableModel) getModel()).addRow((NXObjectIndex) o);
  }

  public void removeElement(String name) {
     NXTableModel model = (NXTableModel) getModel();
     NXObjectIndex obj;
     for (int x = 0; x < model.getRowCount(); x++) {
        obj = model.getValueAt(x);
        if (obj.name.equals(name)) {
          model.removeRowAt(x);
          return;
        }
     }
  }
}
TOP

Related Classes of nixonftp.ui.NXTable

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.