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); }
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_); }
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(); }
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(); }
// 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; }