Dispose() protected method

protected Dispose ( bool disposing ) : void
disposing bool
return void
Esempio n. 1
0
        public override void CloseTabPage()
        {
            if (Dirty)
            {
                if (DialogResult.Yes == MessageBox.Show("Do you want to save?", "Save", MessageBoxButtons.YesNoCancel))
                {
                    SaveTabPage();
                }
            }

            dataGridView1.DataSource = null;
            dataGridView1.Rows.Clear();
            GC.Collect();

            panelTabPage.Dispose();
            //components.Dispose();
            //dataGridView1.Dispose();
            foreach (Control control in this.Controls)
            {
                control.Dispose();
            }

            contextMenuStrip1.Dispose();
            deleteToolStripMenuItem.Dispose();
            addToolStripMenuItem.Dispose();
            copyToolStripMenuItem.Dispose();
            pasteToolStripMenuItem.Dispose();
            dataGridView1.Dispose();
            this.Controls.Clear();
        }
        public override void CloseTabPage()
        {
            base.CloseTabPage();

            dataGridView1.DataSource = null;
            dataGridView1.Rows.Clear();
            GC.Collect();

            panelTabPage.Dispose();
            //components.Dispose();
            //dataGridView1.Dispose();
            foreach (Control control in this.Controls)
            {
                control.Dispose();
            }

            contextMenuStrip1.Dispose();
            deleteToolStripMenuItem.Dispose();
            addToolStripMenuItem.Dispose();
            copyToolStripMenuItem.Dispose();
            pasteToolStripMenuItem.Dispose();
            dataGridView1.Dispose();
            this.Controls.Clear();
        }
Esempio n. 3
0
        public override void AddPluginAction(PluginAction pa)
        {
            AddPluginActionForToolbar(pa);

            ToolStripItem mi = new ToolStripMenuItem();
            mi.Text = Utils.LanguageSupport.Instance.GetTranslation(pa.action);
            mi.Tag = pa;
            pa.Tag = mi;
            mi.Click += new EventHandler(mi_Click);

            var p = (from s in Core.ShortcutInfo where s.PluginType == pa.plugin.GetType().ToString() && s.PluginAction == pa.action && (s.PluginSubAction ?? "") == (pa.subaction ?? "") select s).FirstOrDefault();
            if (p != null)
            {
                (mi as ToolStripMenuItem).ShortcutKeyDisplayString = p.ShortcutKeyString;
                (mi as ToolStripMenuItem).ShortcutKeys = p.ShortcutKeys;
            }
            var tsp = (from t in _toolbarActionProperties where t.PluginType == pa.plugin.PluginType && t.Action == (pa.action ?? "") && t.SubAction == (pa.subaction ?? "") select t).FirstOrDefault();
            if (tsp != null)
            {
                (mi as ToolStripMenuItem).Image = tsp.ButtonImage;
                (mi as ToolStripMenuItem).ImageScaling = ToolStripItemImageScaling.None;
            }

            ToolStripMenuItem misub = null;
            if (!string.IsNullOrEmpty(pa.subaction))
            {
                mi.Text = Utils.LanguageSupport.Instance.GetTranslation(pa.subaction);

                misub = (from m in _pluginActionList
                         where m.action == pa.action && m.plugin == pa.plugin && string.IsNullOrEmpty(m.subaction)
                         select m.Tag as ToolStripMenuItem).FirstOrDefault();

                if (misub == null)
                {
                    //ok, parent does not exist, create
                    PluginAction parentPa = new PluginAction();
                    parentPa.action = pa.action;
                    parentPa.subaction = null;
                    parentPa.plugin = pa.plugin;
                    _pluginActionList.Add(parentPa);

                    misub = new ToolStripMenuItem();
                    misub.Text = Utils.LanguageSupport.Instance.GetTranslation(pa.action);
                    misub.Tag = pa;
                    parentPa.Tag = misub;
                    misub.DropDownItems.Add(mi);

                    mi = misub;
                }
                else
                {
                    if (mi.Text == "-")
                    {
                        misub.DropDownItems.Add(new ToolStripSeparator());
                        mi.Dispose();
                    }
                    else
                    {
                        misub.DropDownItems.Add(mi);
                    }
                    return;
                }
            }

            if (mi.Text == "-")
            {
                mi.Dispose();
                mi = new ToolStripSeparator();
            }
            switch (pa.plugin.PluginType)
            {
                case Framework.PluginType.InternalStorage:
                    fileToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.LanguageSupport:
                    languageToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.ImportData:
                    importToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.ExportData:
                    exportToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.UIChildWindow:
                    windowToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.GeocacheSelectFilter:
                    searchToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.Action:
                    actionToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.Script:
                    scriptsToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.PluginManager:
                    pluginsToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.Debug:
                    windowToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.LiveAPI:
                    liveAPIToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.OKAPI:
                    oKAPIToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.ImageResource:
                    actionToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.GenericWindow:
                    windowToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.Map:
                    mapToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.Account:
                    fileToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                case Framework.PluginType.GeocacheCollection:
                    windowToolStripMenuItem.DropDownItems.Add(mi);
                    break;
                default:
                    pluginsToolStripMenuItem.DropDownItems.Add(mi);
                    break;
            }
        }
        private void PopulateProfileMenu()
        {
            var pm = new ToolStripMenuItem("Profile");

            foreach (var trackingMode in (PXCMFaceConfiguration.TrackingModeType[])Enum.GetValues(typeof(PXCMFaceConfiguration.TrackingModeType)))
            {
                var pm1 = new ToolStripMenuItem(FaceMode2String(trackingMode), null, Profile_Item_Click);
                pm.DropDownItems.Add(pm1);

                if (trackingMode == PXCMFaceConfiguration.TrackingModeType.FACE_MODE_COLOR_PLUS_DEPTH) //3d = default
                {
                    pm1.Checked = true;
                }
            }
            try
            {
                MainMenu.Items.RemoveAt(3);
            }
            catch (NotSupportedException)
            {
                pm.Dispose();
                throw;
            }
            MainMenu.Items.Insert(3, pm);
        }
        public void PopulateColorResolutionMenu(string deviceName)
        {
            bool foundDefaultResolution = false;
            var sm = new ToolStripMenuItem("Color");
            foreach (var resolution in ColorResolutions[deviceName])
            {
                var resText = PixelFormat2String(resolution.Item1.format) + " " + resolution.Item1.width + "x"
                                 + resolution.Item1.height + " " + resolution.Item2.max + " fps";
                var sm1 = new ToolStripMenuItem(resText, null);
                var selectedResolution = resolution;
                sm1.Click += (sender, eventArgs) =>
                {
                    m_selectedColorResolution = selectedResolution;
                    ColorResolution_Item_Click(sender);
                };
            
                sm.DropDownItems.Add(sm1);

                if (selectedResolution.Item1.format == PXCMImage.PixelFormat.PIXEL_FORMAT_YUY2 && 
                    selectedResolution.Item1.width == 640 && selectedResolution.Item1.height == 360 && selectedResolution.Item2.min == 30)
                {
                    foundDefaultResolution = true;
                    sm1.Checked = true;
                    sm1.PerformClick();
                }
            }

	        if (!foundDefaultResolution && sm.DropDownItems.Count > 0)
	        {
	            ((ToolStripMenuItem)sm.DropDownItems[0]).Checked = true;
	            ((ToolStripMenuItem)sm.DropDownItems[0]).PerformClick();
	        }

            try
            {
                MainMenu.Items.RemoveAt(1);
            }
            catch (NotSupportedException)
            {
                sm.Dispose();
                throw;
            }
            MainMenu.Items.Insert(1, sm);
        }
Esempio n. 6
0
        /// <summary>
        /// Function to create context menu
        /// </summary>
        private void CreateContextMenu()
        {
            this.contextMenuStrip = new ContextMenuStrip();
            ToolStripMenuItem exitMenuItem = null;

            try
            {
                exitMenuItem = new ToolStripMenuItem();
                exitMenuItem.Text = Properties.Resources.ExitText;
                exitMenuItem.Click += this.ExitMenuItem_Click;
                this.contextMenuStrip.Items.Add(exitMenuItem);

                exitMenuItem = null;
            }
            finally
            {
                if (exitMenuItem != null)
                {
                    exitMenuItem.Dispose();
                }
            }
        }
Esempio n. 7
0
        static private void LoadPlugin(Assembly assembly)
        {
            try
            {
                foreach (Type type in assembly.GetTypes())
                {
                    if (!type.IsSubclassOf(typeof(ModToolPlugin)))
                        continue;
                    var plugin = type.GetConstructor(Type.EmptyTypes).Invoke(null) as ModToolPlugin;
                    if (type.IsSubclassOf(typeof(FileTypePlugin)))
                    {
                        var ftp = plugin as FileTypePlugin;
                        string[] exts = ftp.FileExtensions;
                        foreach (string ext in exts)
                        {
                            if (!FileTypePlugins.ContainsKey(ext.ToLower()))
                                FileTypePlugins.Add(ext.ToLower(), new List<FileTypePlugin>());
                            FileTypePlugins[ext.ToLower()].Add(ftp);
                        }
                    }

                    var pluginMenu = new ToolStripMenuItem(plugin.PluginName) { Name = type.FullName };
                    plugin.Init(new PluginEnvironment(pluginMenu.DropDownItems,
                                ModToolEnvironment.CombinedFileTreeContext,
                                ModToolEnvironment.VirtualFileTreeContext));
                    if (pluginMenu.DropDownItems.Count > 0)
                        ModToolEnvironment.PluginMenu.Add(pluginMenu);
                    else
                        pluginMenu.Dispose();
                }
            }
            catch (ReflectionTypeLoadException e)
            {
                LoggingManager.SendMessage("PluginManager - Could not load plugin!");
                LoggingManager.SendMessage("LoaderExceptions: ");
                foreach (Exception exc in e.LoaderExceptions)
                    LoggingManager.HandleException(exc);
                LoggingManager.HandleException(e);
                 UIHelper.ShowError("Could not load plugin " + assembly.FullName + ": " +  e.Message);

            }
            catch (Exception e)
            {
                LoggingManager.SendMessage("PluginManager - Could not load plugin!");
                LoggingManager.HandleException(e);
                 UIHelper.ShowError("Could not load plugin " + assembly.FullName + ": " + e.Message);
            }
        }
Esempio n. 8
0
        public static void Main()
        {
            var iconPath = Path.Combine(Application.StartupPath, "csFiler.ico");
            using (var icon = new Icon(iconPath))
            using (var commandMenu = new ToolStripMenuItem("コマンド入力"))
            using (var exitMenuItem = new ToolStripMenuItem("終了"))
            using (var contextMenu = new ContextMenuStrip())
            using (var taskTray = new NotifyIcon())
            using (var hotKeyLoop = new HotKeyMessageLoop())
            {
                taskTray.Icon = icon;
                taskTray.Text = "csFiler";
                taskTray.ContextMenuStrip = contextMenu;

                var openCommand = new HotKey(
                    new Action(() =>
                        {
                            var window = new FilerWindow();
                            window.WindowStartupLocation = Wpf.WindowStartupLocation.CenterScreen;
                            window.Show();
                        }),
                    Key.V, ModifierKeys.Windows);

                hotKeyLoop.Add(openCommand);

                contextMenu.Items.AddRange(
                    new ToolStripItem []
                    {
                        commandMenu,
                        exitMenuItem,
                    });
                contextMenu.Click += (sender, e) => openCommand.Action.Invoke();
                exitMenuItem.Click += (sender, e) => Wpf.Application.Current.Shutdown();

                var application = new Wpf.Application()
                {
                    ShutdownMode = Wpf.ShutdownMode.OnExplicitShutdown,
                };

                application.DispatcherUnhandledException += (sender, e) =>
                {
                    MessageBox.Show(
                        string.Concat("想定外のエラーが発生しました。",
                        Environment.NewLine, e.Exception.Message), "csFiler");
                    e.Handled = true;
                };

                application.Exit += (sender, e) =>
                {
                    hotKeyLoop.Dispose();
                    taskTray.Dispose();
                    contextMenu.Dispose();
                    exitMenuItem.Dispose();
                    commandMenu.Dispose();
                    icon.Dispose();
                };

                taskTray.Visible = true;
                application.Run();
            }
        }
Esempio n. 9
0
 private void PopulateModuleMenu()
 {
     PXCMSession.ImplDesc desc = new PXCMSession.ImplDesc();
     desc.cuids[0] = PXCMEmotion.CUID;
     ToolStripMenuItem mm = new ToolStripMenuItem("Module");
     for (int i = 0; ; i++)
     {
         PXCMSession.ImplDesc desc1;
         if (session.QueryImpl(desc, i, out desc1) < pxcmStatus.PXCM_STATUS_NO_ERROR) break;
         ToolStripMenuItem mm1 = new ToolStripMenuItem(desc1.friendlyName, null, new EventHandler(Module_Item_Click));
         mm.DropDownItems.Add(mm1);
     }
     if (mm.DropDownItems.Count > 0)
         (mm.DropDownItems[0] as ToolStripMenuItem).Checked = true;
     try
     {
         MainMenu.Items.RemoveAt(1);
     }
     catch
     {
         mm.Dispose();
     }
     MainMenu.Items.Insert(1, mm);
 }