Changed items text to include "(row.column)"
diff --git a/bundles/org.eclipse.rap.nebula.widgets.grid.snippets/src/org/eclipse/rap/nebula/widgets/grid/snippets/GridSnippet.java b/bundles/org.eclipse.rap.nebula.widgets.grid.snippets/src/org/eclipse/rap/nebula/widgets/grid/snippets/GridSnippet.java
index 70578fc..aad36ab 100644
--- a/bundles/org.eclipse.rap.nebula.widgets.grid.snippets/src/org/eclipse/rap/nebula/widgets/grid/snippets/GridSnippet.java
+++ b/bundles/org.eclipse.rap.nebula.widgets.grid.snippets/src/org/eclipse/rap/nebula/widgets/grid/snippets/GridSnippet.java
@@ -26,7 +26,7 @@
 
   private static int COLUMN_COUNT = 3;
   private static int ROOT_ITEM_COUNT = 20;
-  private static int SUB_ITEM_COUNT = 20;
+  private static int SUB_ITEM_COUNT = 10;
 
   private Image image;
   private Grid grid;
@@ -126,14 +126,14 @@
       item.setImage( image );
       int gridItemIndex = grid.indexOf( item );
       for( int k = 0; k < COLUMN_COUNT; k++ ) {
-        item.setText( k, "Item " + i + "." + k + " (" + gridItemIndex + ")" );
+        item.setText( k, "Item (" + gridItemIndex + "." + k + ")" );
       }
       for( int j = 0; j < SUB_ITEM_COUNT; j++ ) {
         GridItem subitem = new GridItem( item, SWT.NONE );
         gridItemIndex = grid.indexOf( subitem );
         subitem.setImage( 1, image );
         for( int k = 0; k < COLUMN_COUNT; k++ ) {
-          subitem.setText( k, "Subitem " + i + "." + j + "." + k + " (" + gridItemIndex + ")" );
+          subitem.setText( k, "Subitem (" + gridItemIndex + "." + k + ")" );
         }
       }
     }
@@ -148,26 +148,24 @@
       @Override
       public void widgetSelected( SelectionEvent event ) {
         GridItem selectedItem = grid.getSelectionCount() > 0 ? grid.getSelection()[ 0 ] : null;
+        GridItem item;
+        int gridItemIndex;
         if( selectedItem == null ) {
-          GridItem item = new GridItem( grid, SWT.NONE );
+          item = new GridItem( grid, SWT.NONE );
           item.setImage( image );
-          int gridItemIndex = grid.indexOf( item );
-          int itemIndex = getItemIndex( item );
+          gridItemIndex = grid.indexOf( item );
           for( int k = 0; k < COLUMN_COUNT; k++ ) {
-            item.setText( k, "Item " + itemIndex + "." + k + " (" + gridItemIndex + ")" );
+            item.setText( k, "Item (" + gridItemIndex + "." + k + ")" );
           }
         } else {
-          GridItem item = new GridItem( selectedItem, SWT.NONE );
+          item = new GridItem( selectedItem, SWT.NONE );
           item.setImage( 1, image );
-          int gridItemIndex = grid.indexOf( item );
-          int itemIndex = getItemIndex( item );
-          int parentItemIndex = getItemIndex( selectedItem );
+          gridItemIndex = grid.indexOf( item );
           for( int k = 0; k < COLUMN_COUNT; k++ ) {
-            String text = "Subitem " + parentItemIndex + "." + itemIndex + "." + k
-                        + " (" + gridItemIndex + ")";
-            item.setText( k, text );
+            item.setText( k, "Subitem (" + gridItemIndex + "." + k + ")" );
           }
         }
+        updateItemsText( gridItemIndex + 1 );
       }
     } );
     Button removeButton = new Button( composite, SWT.PUSH );
@@ -177,7 +175,9 @@
       public void widgetSelected( SelectionEvent event ) {
         GridItem selectedItem = grid.getSelectionCount() > 0 ? grid.getSelection()[ 0 ] : null;
         if( selectedItem != null ) {
+          int selectedItemIndex = grid.indexOf( selectedItem );
           selectedItem.dispose();
+          updateItemsText( selectedItemIndex );
         }
       }
     } );
@@ -205,14 +205,14 @@
     } );
   }
 
-  private int getItemIndex( GridItem item ) {
-    int result = -1;
-    GridItem parentItem = item.getParentItem();
-    if( parentItem == null ) {
-      result = Arrays.asList( grid.getRootItems() ).indexOf( item );
-    } else {
-      result = parentItem.indexOf( item );
+  private void updateItemsText( int startIndex ) {
+    for( int index = startIndex; index < grid.getItemCount(); index++ ) {
+      GridItem item = grid.getItem( index );
+      String text = item.getText();
+      text = text.substring( 0, text.indexOf( "(" ) + 1 );
+      for( int k = 0; k < COLUMN_COUNT; k++ ) {
+        item.setText( k, text + grid.indexOf( item ) + "." + k + ")" );
+      }
     }
-    return result;
   }
 }