Package org.eclipse.swt.widgets

Examples of org.eclipse.swt.widgets.TableItem


      addColumn(SWT.LEFT, SWTConstants.NEW_DOWNLOAD_LIST_FILE_ID_COLUMN_ID,   _._("newwindow.column.file_id"), _._("newwindow.column.file_id.desc"),      SWTPreferences.getInstance().getColumnWidth(SWTConstants.NEW_DOWNLOAD_LIST_FILE_ID_COLUMN_ID));
      setSorting(false);
     
      addListener(SWT.SetData, new Listener() {
        public void handleEvent(Event arg0) {
          TableItem item = (TableItem) arg0.item;
          int index = indexOf(item);
          if (to_set_list.contains(index))
            to_set_list.remove((Integer)index);
          item.setChecked(true);
        }
      });
     
      popup_menu = new Menu(this);
      MenuItem paste_ed2k = new MenuItem(popup_menu,SWT.PUSH);
View Full Code Here


     
      setSorting(false);
     
      addListener(SWT.SetData, new Listener() {
        public void handleEvent(Event arg0) {
          TableItem item = (TableItem) arg0.item;
          int index = indexOf(item);
          if (to_set_list.contains(index))
            to_set_list.remove((Integer)index);
          item.setChecked(true);
        }
      });
     
      popup_menu = new Menu(this);
      MenuItem paste_ed2k = new MenuItem(popup_menu,SWT.PUSH);
View Full Code Here

    table.addListener(SWT.Selection,new Listener() {
      public void handleEvent(Event e) {
        if (e.detail != SWT.CHECK)
          return;
        mousePressed = false;
    TableItem item = (TableItem) e.item;
    int index = item.getParent().indexOf(item);
    TableColumn tableColumn = tableColumns.get(index);
    newEnabledState.put(tableColumn, new Boolean(item.getChecked()));
      }
    });
   
    table.addListener(SWT.SetData, new Listener() {
      public void handleEvent(Event event) {
        final TableItem item = (TableItem) event.item;
        if (item == null)
          return;
        Table table = item.getParent();
        int index = table.indexOf(item);
        if (index < 0) {
          // Trigger a Table._getItem, which assigns the item to the array
          // in Table, so indexOf(..) can find it.  This is a workaround for
          // a WinXP bug.
          Rectangle r = item.getBounds(0);
          table.getItem(new Point(r.x, r.y));
          index = table.indexOf(item);
          if (index < 0)
            return;
        }
       
      if (index % 2 == 0)
        item.setBackground(ROW_ALTERNATE_COLOR_2);
      else
        item.setBackground(ROW_ALTERNATE_COLOR_1);
       
      TableColumn tableColumn = tableColumns.get(index);
        //String sTitleLanguageKey = tableColumn.getTitleLanguageKey();
        item.setText(0, tableColumn.getText());
        item.setText(1, (String)tableColumn.getData(SWTConstants.COLUMN_DESC_KEY));
       
        //Causes SetData listener to be triggered again, which messes up SWT
          //table.getColumn(1).pack();

        final boolean bChecked = ((Boolean) newEnabledState.get(tableColumn));
        item.setChecked(bChecked);

      }
    });
    table.setItemCount(tableColumns.size());
   
    table.addMouseListener(new MouseAdapter() {
     
      public void mouseDown(MouseEvent arg0) {
        mousePressed = true;
        selectedItem = table.getItem(new Point(arg0.x,arg0.y));
      }
     
      public void mouseUp(MouseEvent e) {
        mousePressed = false;
        //1. Restore old image
        if(oldPoint != null) {
          table.redraw(oldPoint.x, oldPoint.y, shell.getSize().x,
              oldPoint.y + 2, false);
          oldPoint = null;
        }
        Point p = new Point(e.x,e.y);
        TableItem item = table.getItem(p);
        if(item != null && selectedItem != null) {
          int index = table.indexOf(item);
          int oldIndex = table.indexOf(selectedItem);
          if(index == oldIndex)
            return;

          TableColumn tableColumn =
                           (TableColumn)tableColumns.get(oldIndex);
         
          tableColumns.remove(tableColumn);
          tableColumns.add(index, tableColumn);
          table.clearAll();
        }
      }
    });
   
    table.addMouseMoveListener(new MouseMoveListener(){
      public void mouseMove(MouseEvent e) {
        if (!mousePressed || selectedItem == null)
          return;

        Point p = new Point(e.x,e.y);
        TableItem item = table.getItem(p);
        if (item == null)
          return;

        Rectangle bounds = item.getBounds(0);
        int selectedPosition = table.indexOf(selectedItem);
        int newPosition = table.indexOf(item);

        //1. Restore old area
        if(oldPoint != null) {
          table.redraw(oldPoint.x, oldPoint.y, bounds.width, oldPoint.y + 2, false);
          oldPoint = null;
        }           
        bounds.y += VerticalAligner.getTableAdjustVerticalBy(table);
        if(newPosition <= selectedPosition)
          oldPoint = new Point(bounds.x,bounds.y);
        else
          oldPoint = new Point(bounds.x,bounds.y+bounds.height);

        //3. Draw a thick line
        table.redraw(oldPoint.x, oldPoint.y, bounds.width, oldPoint.y + 2, false);
      }
    });
   
    table.addPaintListener(new PaintListener() {
      public void paintControl(PaintEvent e) {
        if (!mousePressed || selectedItem == null || oldPoint == null) {
          return;
        }
       
        Point p = new Point(e.x,e.y);
        TableItem item = table.getItem(p);
        if (item == null)
          return;
   
        Rectangle bounds = item.getBounds(0);
        GC gc = new GC(table);
        gc.setBackground(blue);
        gc.fillRectangle(oldPoint.x,oldPoint.y,bounds.width,2);
        gc.dispose();
      }
View Full Code Here

  /**
   * Create a row in the SWT table
   *
   */
  public void createSWTRow() {
    item = new TableItem(table, SWT.NULL);
    //setAlternatingBGColor(false);
  }
View Full Code Here

    this.item = item;
    //setAlternatingBGColor(false);
  }

  public void createSWTRow(int index) {
    new TableItem(table, SWT.NULL);
    setTableItem(index, false);
  }
View Full Code Here

        // No assigned spot yet, or not our spot:
        // find a row with no TableRow data

        TableItem[] items = table.getItems();
        for (int i = items.length - 1; i >= 0; i--) {
          TableItem item = items[i];
          if (!item.isDisposed()) {
            Object itemRow = item.getData("TableRow");
            if (itemRow == null || itemRow == this) {
              this.item = item;
              break;
            }
          }
        }
      }
     
      if (item != null && !item.isDisposed())
        item.dispose();
      else if (table.getItemCount() > 0)
        System.err.println("No table row was found to dispose");
    } else {
     
    }
View Full Code Here

   * @param bCopyFromOld True: Copy the visuals from the old TableItem to
   *                            the new TableItem
   * @return success level
   */
  public boolean setTableItem(int newIndex, boolean bCopyFromOld) {
    TableItem newRow;
    try {
      newRow = table.getItem(newIndex);
    } catch (IllegalArgumentException er) {
      if (item == null || item.isDisposed()) {
        return false;
      }
      item = null;
      return true;
    } catch (Throwable e) {
      System.out.println("setTableItem(" + newIndex + ", " + bCopyFromOld + ")");
      e.printStackTrace();
      return false;
    }

    if (newRow == item) {
      if (newRow == null || newRow.getData("TableRow") == this) {
         //setAlternatingBGColor(false);
        return false;
      }
    }

    if (newRow != null) {
      if (newRow.getParent() != table)
        return false;

      if (bCopyFromOld) {
        copyToItem(newRow);
      } else if (newRow.getData("SD") != null) {
        // clear causes too much flicker
        //table.clear(table.indexOf(newRow));
        newRow.setForeground(null);
        //newRow.setBackground(null);

        int numColumns = table.getColumnCount();
        for (int i = 0; i < numColumns; i++) {
          try {
            newRow.setForeground(i, null);
          } catch (NoSuchMethodError e) {
            /* Ignore for Pre 3.0 SWT.. */
          }
        }
       } else {
         newRow.setData("SD", "1");
       }

       setAlternatingBGColor(false);

      try {
        newRow.setData("TableRow", this);
      } catch (Exception e) {
        e.printStackTrace();
        System.out.println("Disposed? " + newRow.isDisposed());
        if (!newRow.isDisposed()) {
          System.out.println("TR? " + newRow.getData("TableRow"));
          System.out.println("SD? " + newRow.getData("SD"));
        }
      }
    }
    image_values  = new Image[0];
    foreground_colors  = new Color[0];
View Full Code Here

    int areaHeight = table.getClientArea().height;
    if (areaHeight <= table.getHeaderHeight())
      return -1;

    // 2 offset to be on the safe side
    TableItem bottomItem = table.getItem(new Point(2,
        table.getClientArea().height - 1));
    int iBottomIndex = (bottomItem != null) ? table.indexOf(bottomItem) :
      itemCount - 1;
    return iBottomIndex;
  }
View Full Code Here

        tree.setSelection(new TreeItem[] { item });

      selEvent.item = item;
    } else if (w instanceof Table) {
      Table table = (Table) w;
      TableItem item = table.getItem(new Point(e.x, e.y));
      if (item != null)
        table.setSelection(new TableItem[] { item });

      selEvent.item = item;
    } else
View Full Code Here

    });
  }

  private void onMouseDown(Event event) {
    Point p = new Point(event.x, event.y);
    TableItem item = fResultViewer.getTable().getItem(p);

    /* Problem - return */
    if (item == null || item.isDisposed())
      return;

    /* Mouse-Up over Read-State-Column */
    if (event.button == 1 && item.getImageBounds(COL_TITLE).contains(p)) {
      Object data = item.getData();

      /* Toggle State between Read / Unread */
      if (data instanceof ScoredNews) {
        INews news = ((ScoredNews) data).getNews();
        INews.State newState = (news.getState() == INews.State.READ) ? INews.State.UNREAD : INews.State.READ;
        setNewsState(new ArrayList<INews>(Arrays.asList(new INews[] { news })), newState);
      }
    }

    /* Mouse-Up over Sticky-State-Column */
    else if (event.button == 1 && item.getImageBounds(COL_STICKY).contains(p)) {
      Object data = item.getData();

      /* Toggle State between Sticky / Not Sticky */
      if (data instanceof ScoredNews) {
        new MakeNewsStickyAction(new StructuredSelection(((ScoredNews) data).getNews())).run();
      }
View Full Code Here

TOP

Related Classes of org.eclipse.swt.widgets.TableItem

Copyright © 2018 www.massapicom. 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.