void RemoveEntry(ResourceEntry entry)
 {
     bool yes = MessageService.AskQuestion (GettextCatalog.GetString ("Do you really want to remove the resource {0}?", entry.Name),
                                                                 AlertButton.Cancel, AlertButton.Remove) == AlertButton.Remove;
     if (yes) {
         Catalog.RemoveEntry (entry);
         UpdateFromCatalog ();
     }
 }
 public static EntryProvider GetProvider(ResourceEntry entry)
 {
     if (entry is BinaryOrStringEntry)
         return new BinaryOrStringProvider ((BinaryOrStringEntry) entry);
     else if (entry is OtherFileEntry)
         return new OtherFileProvider ((OtherFileEntry) entry);
     else if (entry is PersistenceChangingEntry)
         return new PersistenceChangingProvider ((PersistenceChangingEntry) entry);
     else //OtherEmbeddedEntry, StringEntry
         return new EntryProvider (entry);
 }
        public static Gtk.Menu CreateContextMenu(RemoveEntryFunc removeEntryFunc, ResourceEntry entry)
        {
            Gtk.Menu result = new Gtk.Menu ();
            Gtk.MenuItem item = new Gtk.MenuItem (GettextCatalog.GetString ("Delete"));
            item.Sensitive = true;
            item.Activated += delegate {
                removeEntryFunc (entry);
            };
            item.Show();
            result.Append (item);

            return result;
        }
 protected EntryProvider(ResourceEntry entry)
 {
     Entry = entry;
 }