protected final void refreshInnerWidgetList(List data) {
   panel.clear();
   items.clear();
   view = newMasterView();
   view.setItems(data != null ? data : new ArrayList());
   panel.add(view);
 }
 @SuppressWarnings("unchecked")
 protected <C extends Bloc> List<C> getListData(Class<C> wishedClass) {
   List<C> result = new ArrayList<C>();
   // Log.debug("get list data first: " + view.getGrid().getFirstRowWithDataNumber() + ", count: "
   // + view.getGrid().getRowDataCount());
   for (int row = view.getGrid().getFirstRowWithDataNumber();
       row < view.getGrid().getRowDataCount();
       row++) {
     Widget w = view.getGrid().getWidget(row, 1);
     if (w instanceof ItemWidget) {
       ItemWidget itemWidget = (ItemWidget) w;
       result.add((C) itemWidget.getValue());
     }
   }
   return result;
 }
 private MasterView newMasterView() {
   MasterView mv;
   mv = new MasterView();
   mv.setPropertyMapper(new BlocPropertyMapper());
   Column column = new Column("draganddrop", "", false, "10px", true);
   HTML html = new HTML("[drop]");
   if (controller != null) {
     controller.clearRegistration(GROUPNAME);
     controller.registerDrop(html, new BlocClipboard(null), GROUPNAME);
   }
   //      column.setWidget(html);
   if (!isReadOnly()) {
     mv.append(column);
   }
   mv.append(new Column("content", contentColumnName, true));
   if (!isReadOnly()) {
     mv.append(new Column("action", "Supprimer", false, "15px", true));
   }
   mv.setFilteringEnabled(false);
   mv.setWidth("100%");
   return mv;
 }