示例#1
0
 protected override void Dispose(bool disposing)
 {
     base.Dispose(disposing);
     if (!FDisposed)
     {
         for (int i = 0; i < FPlugins.Count; i++)
         {
             IDesignerPlugin plugin = FPlugins[i];
             if (plugin is IDisposable)
             {
                 (plugin as IDisposable).Dispose();
             }
         }
         if (FDesigner.MdiMode && FReport != null)
         {
             FReport.Dispose();
         }
         FUndoRedo.Dispose();
         if (FBlobStore != null)
         {
             FBlobStore.Dispose();
         }
         FDisposed = true;
     }
 }
示例#2
0
 internal void Remove(IDesignerPlugin plugin)
 {
     List.Remove(plugin);
     plugin.SaveState();
     if (plugin is IDisposable)
     {
         (plugin as IDisposable).Dispose();
     }
 }
示例#3
0
        internal void Add(IDesignerPlugin plugin)
        {
            int i = List.IndexOf(plugin);

            if (i == -1)
            {
                List.Add(plugin);
            }
        }
示例#4
0
 private void Edit_TextChanged(object sender, EventArgs e)
 {
   IDesignerPlugin stdToolbar = Designer.Plugins.Find("StandardToolbar");
   if (stdToolbar != null)
     stdToolbar.UpdateContent();
   IDesignerPlugin menu = Designer.Plugins.Find("MainMenu");
   if (menu != null)
     menu.UpdateContent();
 }
示例#5
0
 internal void Remove(Type plugin)
 {
     for (int i = 0; i < Count; i++)
     {
         IDesignerPlugin p = this[i];
         if (p.GetType() == plugin)
         {
             Remove(p);
             return;
         }
     }
 }
示例#6
0
        internal IDesignerPlugin Add(Type plugin)
        {
            foreach (IDesignerPlugin p in this)
            {
                if (p.GetType() == plugin)
                {
                    return(p);
                }
            }
            IDesignerPlugin newPlugin = Activator.CreateInstance(plugin, new object[] { FDesigner }) as IDesignerPlugin;

            Add(newPlugin);
            return(newPlugin);
        }