Пример #1
0
        private void fillByRegExToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (var input = new TextInputPrompt("Fill Column by Regular Expression on Group Name", false, "")
            {
                InputFormat = null
            })
                using (var replace = new TextInputPrompt("Enter Replacement Expression", false, "$1")
                {
                    InputFormat = null
                })
                {
                    Regex regex;
                    while (true)
                    {
                        if (input.ShowDialog(this) == DialogResult.Cancel)
                        {
                            return;
                        }

                        try
                        {
                            regex = new Regex(input.GetText());
                        }
                        catch (Exception ex)
                        {
                            Program.HandleUserError(ex);
                            continue;
                        }

                        if (replace.ShowDialog(this) == DialogResult.Cancel)
                        {
                            return;
                        }

                        break;
                    }

                    int columnIndex = (int)columnContextMenu.Tag;
                    foreach (DataGridViewRow row in dataGridView.Rows)
                    {
                        string inputString = (string)row.Cells[0].Value;
                        string value       = regex.Replace(inputString, replace.GetText());
                        if (value != inputString)
                        {
                            row.Cells[columnIndex].Value = value;
                        }
                    }
                }
        }
Пример #2
0
        private void RenameButton_Click(object sender, EventArgs e)
        {
            if (listView.SelectedItems.Count != 1)
            {
                MessageBox.Show("Please select an item to rename");
                return;
            }

            var textBox = new TextInputPrompt("Setting Name", false, listView.SelectedItems[0].Text);

            if (textBox.ShowDialog() == DialogResult.OK)
            {
                listView.SelectedItems[0].Text = textBox.GetText();
            }
        }
Пример #3
0
        private void renameToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (var input = new TextInputPrompt("Rename Attribute", false, ""))
            {
                if (input.ShowDialog(this) == DialogResult.Cancel)
                {
                    return;
                }

                int columnIndex = (int)columnContextMenu.Tag;
                var column      = dataGridView.Columns[columnIndex];
                column.HeaderText = input.GetText();
                column.Name       = input.GetText().Replace(" ", "").Trim() + "Attribute";
                dataGridView.Refresh();
            }
        }
        private void addColumnButton_Click(object sender, EventArgs e)
        {
            using (var input = new TextInputPrompt("Attribute Name", false, ""))
            {
                if (input.ShowDialog(this) == DialogResult.Cancel)
                    return;

                var column = new DataGridViewTextBoxColumn
                {
                    HeaderText = input.GetText(),
                    Name = input.GetText().Replace(" ", "").Trim() + "Attribute"
                };
                dataGridView.Columns.Add(column);
                dataGridView.Refresh();
            }
        }
Пример #5
0
        private void addColumnButton_Click(object sender, EventArgs e)
        {
            using (var input = new TextInputPrompt("Attribute Name", false, ""))
            {
                if (input.ShowDialog(this) == DialogResult.Cancel)
                {
                    return;
                }

                var column = new DataGridViewTextBoxColumn
                {
                    HeaderText = input.GetText(),
                    Name       = input.GetText().Replace(" ", "").Trim() + "Attribute"
                };
                dataGridView.Columns.Add(column);
                dataGridView.Refresh();
            }
        }
Пример #6
0
        private void AddButton_Click(object sender, EventArgs e)
        {
            var textBox = new TextInputPrompt("Setting Name", false, string.Empty);

            if (textBox.ShowDialog() == DialogResult.OK)
            {
                var newSettings = new QonverterSettings()
                {
                    QonverterMethod = Qonverter.QonverterMethod.StaticWeighted,
                    RerankMatches   = false,
                    ScoreInfoByName = new Dictionary <string, Qonverter.Settings.ScoreInfo>()
                };
                listView.Items.Add(new ListViewItem(textBox.GetText())
                {
                    Tag = newSettings
                });
                listView.Items[listView.Items.Count - 1].Selected = true;
            }
        }
Пример #7
0
        internal void toHTML(bool selected,
                             IDictionary<string, TableExporter.ITable> enumerableTables,
                             IDictionary<string, List<TableExporter.TableTreeNode>> treeTables,
                             DataFilter viewFilter, DataFilter basicFilter, ISession session)
        {
            string progressTitle = "Generating HTML Report";
            Text = progressTitle;

            if (session == null)
            {
                MessageBox.Show("No Report Loaded");
                return;
            }

            string outFolder;
            var fbd = new FolderBrowserDialog() { Description = "Select destination folder" };
            if (fbd.ShowDialog() != DialogResult.OK)
            {
                Close();
                return;
            }

            outFolder = fbd.SelectedPath;

            var textDialog = new TextInputPrompt("Report folder name", false, Path.GetFileNameWithoutExtension(session.Connection.GetDataSource()));
            while (true)
            {
                if (textDialog.ShowDialog() != DialogResult.OK)
                {
                    Close();
                    return;
                }

                var result = textDialog.GetText();
                if (Directory.Exists(Path.Combine(outFolder, result)))
                {
                    var response = MessageBox.Show("Report folder path already exists, overwrite?",
                                                    "Overwrite path?", MessageBoxButtons.YesNoCancel);
                    if (response == DialogResult.Yes)
                    {
                        outFolder = Path.Combine(outFolder, result);
                        var di = new DirectoryInfo(outFolder);
                        try
                        {
                            foreach (var file in di.GetFiles())
                                File.Delete(file.FullName);
                        }
                        catch
                        {
                            MessageBox.Show("Could not overwrite. Please enter a new name" +
                                            " or make sure the report is closed and try again.");
                            continue;
                        }

                        break;
                    }
                    if (response == DialogResult.Cancel) return;
                }
                else
                {
                    outFolder = Path.Combine(outFolder, result);
                    break;
                }
            }

            var bg = new BackgroundWorker { WorkerReportsProgress = true };
            bg.DoWork += delegate
            {
                var textTables = new Dictionary<string, List<List<string>>> { { "Summary", getSummaryList(viewFilter, basicFilter) } };
                CreateHtmlReport(bg, outFolder, enumerableTables, textTables, treeTables, viewFilter, basicFilter, session);
            };

            bg.ProgressChanged += (x, y) =>
            {
                if (y.ProgressPercentage == 100)
                    Close();
                else
                {
                    progressBar.Value = y.ProgressPercentage;
                    string message = y.UserState as string;
                    if (message != null)
                        Text = progressTitle + " - " + message;
                }
            };

            bg.RunWorkerCompleted += (x, y) => { if (y.Error != null) Program.HandleException(y.Error); };
            bg.RunWorkerAsync();
        }
        private void renameToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (var input = new TextInputPrompt("Rename Attribute", false, ""))
            {
                if (input.ShowDialog(this) == DialogResult.Cancel)
                    return;

                int columnIndex = (int)columnContextMenu.Tag;
                var column = dataGridView.Columns[columnIndex];
                column.HeaderText = input.GetText();
                column.Name = input.GetText().Replace(" ", "").Trim() + "Attribute";
                dataGridView.Refresh();
            }
        }
        private void fillByRegExToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (var input = new TextInputPrompt("Fill Column by Regular Expression on Group Name", false, "") { InputFormat = null })
            using (var replace = new TextInputPrompt("Enter Replacement Expression", false, "$1") { InputFormat = null })
            {
                Regex regex;
                while (true)
                {
                    if (input.ShowDialog(this) == DialogResult.Cancel)
                        return;

                    try
                    {
                        regex = new Regex(input.GetText());
                    }
                    catch (Exception ex)
                    {
                        Program.HandleUserError(ex);
                        continue;
                    }

                    if (replace.ShowDialog(this) == DialogResult.Cancel)
                        return;

                    break;
                }

                int columnIndex = (int)columnContextMenu.Tag;
                foreach (DataGridViewRow row in dataGridView.Rows)
                {
                    string inputString = (string) row.Cells[0].Value;
                    string value = regex.Replace(inputString, replace.GetText());
                    if (value != inputString)
                        row.Cells[columnIndex].Value = value;
                }
            }
        }
Пример #10
0
        public List<ToolStripItem> LoadLayoutMenu ()
        {
            var noDatabase = _session == null;
            var currentMenuLevel = new List<ToolStripItem>();
            ToolStripMenuItem saveMenu;
            ToolStripMenuItem loadMenu;
            ToolStripMenuItem deleteMenu = null;
            var menuList = new List<ToolStripItem>();

            #region Load Options
            //set up user load options
            foreach (var item in _userLayoutList)
            {
                var tempItem = item;
                var newOption = new ToolStripMenuItem { Text = item.Name + (CurrentLayout.Name == item.Name ? " (current)" : "") };
                newOption.Click += (s, e) => CurrentLayout = tempItem;
                currentMenuLevel.Add(newOption);
            }

            //check if more needs to be done
            if (noDatabase)
                loadMenu = new ToolStripMenuItem("Load", null, currentMenuLevel.ToArray());
            else
            {
                currentMenuLevel.Add(new ToolStripSeparator());
                IList<LayoutProperty> databaseLayouts;
                lock (_session)
                    databaseLayouts = _session.QueryOver<LayoutProperty>().List();

                foreach (var item in databaseLayouts)
                {
                    var tempItem = item;
                    var newOption = new ToolStripMenuItem { Text = item.Name + (CurrentLayout.Name == item.Name ? " (current)" : "") };
                    newOption.Click += (s, e) => CurrentLayout = tempItem;
                    currentMenuLevel.Add(newOption);
                }


                loadMenu = new ToolStripMenuItem("Load", null, currentMenuLevel.ToArray());
            }
            #endregion

            #region Save Options

            //create user save list
            currentMenuLevel = new List<ToolStripItem>();
            foreach (var item in _userLayoutList)
            {
                var tempItem = item;
                var newOption = new ToolStripMenuItem { Text = item.Name + (CurrentLayout.Name == item.Name ? " (current)" : "") };
                newOption.Click += (s, e) =>
                {
                    var saveColumns = false;
                    var formProperties = new Dictionary<string, FormProperty>();
                    if (MessageBox.Show("Save column settings as well?", "Save", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        saveColumns = true;
                        foreach (var form in _persistentForms)
                            formProperties[form.Name] = form.GetCurrentProperties(false);
                    }
                    updateLayout(tempItem, saveColumns, false, formProperties);
                };
                currentMenuLevel.Add(newOption);
            }

            //replace system default (not editable) with new layout option
            {
                var newLayout = new ToolStripMenuItem("New Local Layout");
                newLayout.Click +=
                    (s, e) =>
                    {
                        var textInput = new TextInputPrompt("Layout Name", true, string.Empty);
                        if (textInput.ShowDialog() == DialogResult.OK)
                        {
                            var formProperties = new Dictionary<string, FormProperty>();
                            if (textInput.GetCheckState())
                                foreach (var form in _persistentForms)
                                    formProperties[form.Name] = form.GetCurrentProperties(false);
                            saveNewLayout(textInput.GetText(), textInput.GetCheckState(), false, formProperties);
                        }
                    };
                currentMenuLevel.RemoveAt(0);
                currentMenuLevel.Insert(0, newLayout);
            }

            //check if more needs to be done
            if (noDatabase)
                saveMenu = new ToolStripMenuItem("Save", null, currentMenuLevel.ToArray());
            else
            {
                var currentDatabaseMenuLevel = new List<ToolStripItem>();
                currentMenuLevel.Add(new ToolStripSeparator());

                IList<LayoutProperty> databaseLayouts;
                lock (_session)
                    databaseLayouts = _session.QueryOver<LayoutProperty>().List();

                foreach (var item in databaseLayouts)
                {
                    var newOption = new ToolStripMenuItem { Text = item.Name + (CurrentLayout.Name == item.Name ? " (current)" : "") };
                    LayoutProperty tempItem = item;
                    newOption.Click += (s, e) =>
                    {
                        var saveColumns = false;
                        var formProperties = new Dictionary<string, FormProperty>();
                        if (MessageBox.Show("Save column settings as well?", "Save", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            saveColumns = true;
                            foreach (var form in _persistentForms)
                                formProperties[form.Name] = form.GetCurrentProperties(false);
                        }
                        updateLayout(tempItem, saveColumns, true, formProperties);
                    };
                    currentDatabaseMenuLevel.Add(newOption);
                }

                //Add new layout option
                {
                    var newLayout = new ToolStripMenuItem("New Database Layout");
                    newLayout.Click +=
                        (s, e) =>
                        {
                            var textInput = new TextInputPrompt("Layout Name", true, string.Empty);
                            if (textInput.ShowDialog() == DialogResult.OK)
                            {
                                var formProperties = new Dictionary<string, FormProperty>();
                                if (textInput.GetCheckState())
                                    foreach (var form in _persistentForms)
                                        formProperties[form.Name] = form.GetCurrentProperties(false);
                                saveNewLayout(textInput.GetText(), textInput.GetCheckState(), true, formProperties);
                            }
                        };
                    currentDatabaseMenuLevel.Insert(0, newLayout);
                }
                currentMenuLevel.AddRange(currentDatabaseMenuLevel);

                saveMenu = new ToolStripMenuItem("Save", null, currentMenuLevel.ToArray());
            }

            #endregion

            #region Delete Options
            //set up user delete options
            currentMenuLevel = new List<ToolStripItem>();
            foreach (var item in _userLayoutList)
            {
                var tempItem = item;
                var newOption = new ToolStripMenuItem { Text = item.Name };
                newOption.Click += (s, e) =>
                {
                    if (MessageBox.Show(string.Format("Are you sure you want to delete '{0}'?", tempItem.Name), "Delete", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        _userLayoutList.Remove(tempItem);
                        SaveUserLayoutList();
                    }
                };
                currentMenuLevel.Add(newOption);
            }
            //Dont allow user to delete defaults
            currentMenuLevel.RemoveRange(0, 2);
            //dont delete if nothing to delete, but check for database first
            if (noDatabase)
                deleteMenu = currentMenuLevel.Count > 0 ?
                    new ToolStripMenuItem("Delete", null, currentMenuLevel.ToArray()) :
                    null;
            else
            {
                var currentDatabaseMenuLevel = new List<ToolStripItem>();
                if (currentMenuLevel.Count > 0)
                    currentMenuLevel.Add(new ToolStripSeparator());

                IList<LayoutProperty> databaseLayouts;
                lock (_session)
                    databaseLayouts = _session.QueryOver<LayoutProperty>().List();

                foreach (var item in databaseLayouts)
                {
                    var tempItem = item;
                    var newOption = new ToolStripMenuItem { Text = item.Name };
                    newOption.Click += (s, e) =>
                    {
                        if (MessageBox.Show(string.Format("Are you sure you want to delete '{0}'?", tempItem.Name), "Delete", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            _session.Delete(tempItem);
                            _session.Flush();
                        }
                    };
                    currentDatabaseMenuLevel.Add(newOption);
                }
                currentDatabaseMenuLevel.RemoveAt(0);

                currentMenuLevel.AddRange(currentDatabaseMenuLevel);

                if (currentMenuLevel.Count > 0)
                    deleteMenu = new ToolStripMenuItem("Delete", null, currentMenuLevel.ToArray());

            }

            #endregion

            menuList.Add(saveMenu);
            menuList.Add(loadMenu);
            if (deleteMenu != null)
                menuList.Add(deleteMenu);

            return menuList;
        }
        private void RenameButton_Click(object sender, EventArgs e)
        {
            if (listView.SelectedItems.Count != 1)
            {
                MessageBox.Show("Please select an item to rename");
                return;
            }

            var textBox = new TextInputPrompt("Setting Name", false, listView.SelectedItems[0].Text);
            if (textBox.ShowDialog() == DialogResult.OK)
                listView.SelectedItems[0].Text = textBox.GetText();
        }
 private void AddButton_Click(object sender, EventArgs e)
 {
     var textBox = new TextInputPrompt("Setting Name", false, string.Empty);
     if (textBox.ShowDialog() == DialogResult.OK)
     {
         var newSettings = new QonverterSettings()
                               {
                                   QonverterMethod = Qonverter.QonverterMethod.StaticWeighted,
                                   RerankMatches = false,
                                   ScoreInfoByName = new Dictionary<string, Qonverter.Settings.ScoreInfo>()
                               };
         listView.Items.Add(new ListViewItem(textBox.GetText()) {Tag = newSettings});
         listView.Items[listView.Items.Count - 1].Selected = true;
     }
 }