示例#1
0
            public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
            {
                FolderBrowser2 browser = new FolderBrowser2();

                if (value != null)
                {
                    browser.DirectoryPath = string.Format("{0}", value);
                }

                if (browser.ShowDialog(null) == DialogResult.OK)
                {
                    return(browser.DirectoryPath);
                }

                return(value);
            }
示例#2
0
        private void OnBrowseFolderButtonClick(object sender, EventArgs e)
        {
            string folderPath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
            var    browser    = new FolderBrowser2
            {
                DirectoryPath = folderPath
            };

            if (!string.IsNullOrEmpty(nodeLocationText.Text))
            {
                browser.DirectoryPath = nodeLocationText.Text;
            }

            if (browser.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            nodeLocationText.Text = browser.DirectoryPath;
        }
        /// <summary>
        /// Callback called by the UI manager when user clicks a button
        /// Should do something meaningful when corresponding action is called.
        /// </summary>
        public void OnCommand(string commandId)
        {
            try
            {
                var doc = Application.ActiveDocument;

                var settings = SettingsManager.LoadOrCreate(doc);

                switch (commandId)
                {
                case "ExportVBA":
                    if (string.IsNullOrEmpty(settings.TargetFolder))
                    {
                        OnCommand("ExportVBAFolder");
                        return;
                    }

                    VisioVBA.ExportVBA(doc, settings.TargetFolder, settings);
                    MessageBox.Show(
                        string.Format("The VBA code was successfully exported from the document {0} to the folder {1} ", doc.Name, settings.TargetFolder),
                        "VBA Import Export", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    break;

                case "ExportVBAFolder":
                    var exportFolderBrowser = new FolderBrowser2
                    {
                        DirectoryPath = settings.TargetFolder
                    };
                    if (exportFolderBrowser.ShowDialog(null) == DialogResult.OK)
                    {
                        settings.TargetFolder = exportFolderBrowser.DirectoryPath;
                        SettingsManager.Store(doc, settings);

                        OnCommand("ExportVBA");
                    }
                    return;

                case "ImportVBA":
                    if (string.IsNullOrEmpty(settings.TargetFolder))
                    {
                        OnCommand("ImportVBAFolder");
                        return;
                    }

                    VisioVBA.ImportVBA(doc, settings.TargetFolder, settings, false);
                    MessageBox.Show(
                        string.Format("The VBA code was successfully imported from the folder {0} to the document {1}", settings.TargetFolder, doc.Name),
                        "VBA Import Export", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    break;

                case "ImportVBAFolder":
                    var importFolderBrowser = new FolderBrowser2
                    {
                        DirectoryPath = settings.TargetFolder
                    };
                    if (importFolderBrowser.ShowDialog(null) == DialogResult.OK)
                    {
                        settings.TargetFolder = importFolderBrowser.DirectoryPath;
                        SettingsManager.Store(doc, settings);

                        OnCommand("ImportVBA");
                    }
                    return;

                case "ClearBeforeImport":
                {
                    settings.ClearBeforeImport = !settings.ClearBeforeImport;
                    SettingsManager.Store(doc, settings);
                    UpdateUI();
                }
                break;

                case "IncludeStencils":
                {
                    settings.IncludeStencils = !settings.IncludeStencils;
                    SettingsManager.Store(doc, settings);
                    UpdateUI();
                }
                break;
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "VBA Import Export", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }