Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [nebula-dev] Pressing Arrow Down Key right after focusing and selection of some cell in Grid programmatically leads to NullPointerException.

Hi Christopher,

 

Thanks a lot! This bug is not present in a nightly build now indeed. Sorry for disturbing you.

 

Best regards,

 

Vadym

 

 

From: nebula-dev-bounces@xxxxxxxxxxx [mailto:nebula-dev-bounces@xxxxxxxxxxx] On Behalf Of Christopher J Gross
Sent: Wednesday, January 02, 2008 6:44 PM
To: Nebula Dev
Subject: Re: [nebula-dev] Pressing Arrow Down Key right after focusing and selection of some cell in Grid programmatically leads to NullPointerException.

 


Hi Vadym,

I just tried your snippet and I can't reproduce the problem.  Your description does sounds familar though.  Perhaps its a bug that was recently fixed.  Could you try downloading a recent nightly build and see if that fixes the problem?

Thanks,
-Chris

From:

"Vadym Yepishov" <vye@xxxxxxxxxxx>

To:

<nebula-dev@xxxxxxxxxxx>

Date:

12/26/2007 12:14 PM

Subject:

[nebula-dev] Pressing Arrow Down Key right after focusing and        selection of some cell in Grid programmatically leads to        NullPointerException.

 




Hi guys,
 
When I try to focus and select some cell in a grid and right after this to press “Arrow Down” key, I have got NullPointerException.
 
I have used the first snippet of grid (and changed it a little bit J) to reproduce the problem. Here is the snippet:
 
package com.maconomy.widgets.snippets;
 
import org.eclipse.nebula.widgets.grid.Grid;
import org.eclipse.nebula.widgets.grid.GridColumn;
import org.eclipse.nebula.widgets.grid.GridItem;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
 
/**
 * Creates a simple grid and a button for focusing and selection of the first cell
 * of the grid.
 */
public class MxSnippet001GridCellFocusingAndSelection {
 
  /**
   * Main entry.
   * @param args command line arguments
   */
  public static void main(final String [] args) {
      final Display display = new Display ();
      final Shell shell = new Shell (display);
//      shell.setLayout(new FillLayout());
      // The following code line was inserted instead of the line commented out above in
      // order to be able to add a button below the grid.
      shell.setLayout(new GridLayout(1, false));
 
      final Grid grid = new Grid(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
      grid.setHeaderVisible(true);
      final GridColumn column = new GridColumn(grid, SWT.NONE);
      column.setTree(true);
      column.setText("Column 1");
      column.setWidth(100);
      final GridItem item1 = new GridItem(grid, SWT.NONE);
      item1.setText("Root Item");
//      final GridItem item2 = new GridItem(item1, SWT.NONE);
      // The following line was inserted instead of the line commented out above.
      final GridItem item2 = new GridItem(grid, SWT.NONE);
      item2.setText("Second item");
//      final GridItem item3 = new GridItem(item2, SWT.NONE);
      // The following line was inserted instead of the line commented out above.
      final GridItem item3 = new GridItem(grid, SWT.NONE);
      item3.setText("Third Item");
     
      // The following code is added to demonstrate the defect with the grid cell
      // focusing and selection.
      grid.setCellSelectionEnabled(true);
      // The following button is used to focus and select the first cell of the grid.
      // Try to press "Arrow Down" key right after clicking on this button.
      final Button button = new Button(shell, SWT.BORDER);
      button.addSelectionListener(new SelectionAdapter() {
        /** {@inheritDoc} */
        @Override
        public void widgetSelected(final SelectionEvent e) {
          grid.forceFocus();
          // We tried to use the following three code lines in order to both focus and
          // select some cell of the grid, but as it was found, the third code line leads
          // to the NullPointerException. If we do not use the third line, the cell is in
          // fact selected, but NOT FOCUSED (and focusing is what we need).
          grid.setCellSelection(new Point(0, 0));
          grid.setFocusItem(grid.getItem(0));
          // When you comment out the following code line the first cell will be selected
          // but NOT FOCUSED. You will see that the first cell of the grid being not
          // focused is indicated by the fact that the border of the cell is not present.
          // If you do not comment the line the first cell will be both focused and selected,
          // but pressing "Arrow Down" key leads to NullPointerException.
          grid.setFocusColumn(grid.getColumn(0));
        }
      });
      button.setText("Click this button to select and focus the first cell of the grid. " +
                               "Right after clicking this button press \"Arrow Down\" key.");
     
      //shell.setSize(200,200);
      // The following line was inserted instead of the line commented out above.
      shell.pack();
      shell.open ();
      while (!shell.isDisposed()) {
          if (!display.readAndDispatch ()) display.sleep ();
      }
      display.dispose ();
  }
}
 
Do you know why it might be a problem?
 
Best regards,
 
Vadym Yepishov
 _______________________________________________
nebula-dev mailing list
nebula-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/nebula-dev


Back to the top