protected void updateFilter() {
   pattern = null;
   filterString = null;
   if (searchText != null && !searchText.isDisposed() && !Const.isEmpty(searchText.getText())) {
     if (wbRegex.getSelection()) {
       pattern = Pattern.compile(searchText.getText());
     } else {
       filterString = searchText.getText().toUpperCase();
     }
   }
   refresh();
 }
  protected void addDataSource() {
    Spoon theSpoon = Spoon.getInstance();
    SpoonDBDelegate theDelegate = new SpoonDBDelegate(theSpoon);
    theDelegate.newConnection(this.databasesInterface);

    ArrayList<DatabaseMeta> theDatabases = new ArrayList<DatabaseMeta>();
    theDatabases.addAll(this.databasesInterface.getDatabases());

    String[] theNames = new String[theDatabases.size()];
    for (int i = 0; i < theDatabases.size(); i++) {
      theNames[i] = theDatabases.get(i).getName();
    }
    this.choices = theNames;
    refresh();
  }