def refresh(flags={}) 
      @root = flags[:root] if flags[:root]
      open_folders = flags[:open_folders] ? flags[:open_folders] : get_open_folders()
      model.clear
      @root_iter = add_file(@root, nil)
      open_folders([@root_iter[:path]])
      open_folders(open_folders)
    end
def refresh(flags={}) 
      @root = flags[:root] if flags[:root]
      open_folders = flags[:open_folders] ? flags[:open_folders] : get_open_folders()
      model.clear
      @root_iter = add_file(@root, nil)
      open_folders([@root_iter[:path]])
      open_folders(open_folders)
    end
FileTreeView creates a TreeView of files with folders and icons.
 Often you should subclass this class for a particular use.
 @param [String] root Root folder of the tree
 @param [String] icon_path Path to a folder where icons are stored.  See VR::IconHash
 @param [String] glob Glob designating the files to be included.  Google: "ruby glob" for more.
 @param [Proc] validate_block Block that limits files and folders to include. When block returns true file is includud. (false = excluded)
 Refresh the file tree, optionally with a new root folder, and optionally opening an array of folders.
 @param [Hash] flags You can change the root and/or  open an array of folders.
 @option flags [String] :root Path to root folder to open
 @option flags [Array] :open_folders A list of folders to open, possibly from #get_open_folders.
    Default: the currently open folders, so the tree doesn't collapse when refreshed.