Пример #1
0
        public test_filter_ctrl()
        {
            InitializeComponent();

            filtCtrl.design_mode     = false;
            filtCtrl.on_save         = save;
            filtCtrl.ui_to_view      = ui_to_view;
            filtCtrl.on_rerun_view   = rerun;
            filtCtrl.on_refresh_view = refresh_view;
            filtCtrl.mark_match      = mark_match;

            ui_view dummy = new ui_view();

            dummy.filters.Add(new ui_filter()
            {
                text = "$msg contains [x]", enabled = true, dimmed = false, apply_to_existing_lines = false
            });
            dummy.filters.Add(new ui_filter()
            {
                text = "$level = ERROR", enabled = true, dimmed = false, apply_to_existing_lines = false
            });
            dummy.filters.Add(new ui_filter()
            {
                text = "$msg contains pot", enabled = true, dimmed = false, apply_to_existing_lines = true
            });
            filtCtrl.view_to_ui(dummy, 0);
        }
Пример #2
0
        public void view_to_ui(ui_view view, int view_idx)
        {
            if (view_ != view && view_ != null)
            {
                if (needs_save_)
                {
                    on_save();
                    ui_to_view(view_idx_);
                }
            }

            view_     = view;
            view_idx_ = view_idx;

            ++ignore_change_;
            List <object> items   = new List <object>();
            var           filters = view_.filters;

            for (int idx = 0; idx < filters.Count; ++idx)
            {
                var i = new filter_item(filters[idx]);
                items.Add(i);
            }
            filterCtrl.SetObjects(items);

            curFilterCtrl.Text           = "";
            applyToExistingLines.Checked = false;
            curFilterCtrl.Enabled        = filterCtrl.SelectedIndex >= 0;
            --ignore_change_;

            ui_to_view(view_idx_);
        }
Пример #3
0
        private void createANewViewFromScratchToolStripMenuItem_Click(object sender, EventArgs e) {
            ui_context cur = cur_context();
            int cur_view = viewsTab.SelectedIndex;
            ui_view new_ = new ui_view() {name = new_view_name(), filters = new List<ui_filter>()};
            cur.views.Insert(cur_view + 1, new_);

            viewsTab.TabPages.Insert(cur_view + 1, new_.name);
            viewsTab.SelectedIndex = cur_view + 1;
            ensure_we_have_log_view_for_tab(cur_view + 1);
            save();
        }
Пример #4
0
        private void createACopyOfTheExistingViewToolStripMenuItem_Click(object sender, EventArgs e) {
            ui_context cur = cur_context();
            int cur_view = viewsTab.SelectedIndex;
            var filters = cur_view >= 0 ? cur.views[cur_view].filters : new List<ui_filter>();

            ui_view new_ = new ui_view() {name = new_view_name(cur.views[cur_view]), filters = filters.ToList()};
            cur.views.Insert(cur_view + 1, new_);

            viewsTab.TabPages.Insert(cur_view + 1, new_.name);
            viewsTab.SelectedIndex = cur_view + 1;
            ensure_we_have_log_view_for_tab(cur_view + 1);
            save();
        }
Пример #5
0
        // if copy_of_view is not null, we're creating a copy of that view
        private string new_view_name(ui_view copy_of_view = null) {
            if (copy_of_view != null)
                return copy_of_view.name + "_Copy";

            // I want to visually show to the user that we're dealing with views
            ui_context cur = cur_context();
            string name = name = "View_" + (cur.views.Count + 1);
            if (history_[logHistory.SelectedIndex].type == history.entry_type.file) {
                name = Path.GetFileNameWithoutExtension(new FileInfo(selected_file_name()).Name) + "_View" + (cur.views.Count + 1);
            }

            return name;
        }