Beispiel #1
0
        private void addFilter_Click(object sender, EventArgs e)
        {
            if (view_ == null)
            {
                Debug.Assert(false);
                return;
            }

            ui_filter new_ui = new ui_filter {
                enabled = true, dimmed = false, text = "", apply_to_existing_lines = false
            };
            filter_item new_ = new filter_item(new_ui);

            view_.filters.Add(new_ui);

            ++ignore_change_;
            filterCtrl.AddObject(new_);
            filterCtrl.SelectedIndices.Clear();
            filterCtrl.SelectObject(new_);
            curFilterCtrl.Text = "";
            --ignore_change_;

            on_save();

            util.postpone(() => {
                curFilterCtrl.Focus();
                curFilterCtrl.SelectionStart = curFilterCtrl.TextLength;
            }, 10);
        }
Beispiel #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_);
        }
Beispiel #3
0
        private void filterCtrl_SelectedIndexChanged(object sender, EventArgs e)
        {
            int  sel_filter = filterCtrl.SelectedIndex;
            bool has_sel    = sel_filter >= 0;

            if (!has_sel)
            {
                ++ignore_change_;
                curFilterCtrl.Text           = "";
                applyToExistingLines.Checked = false;
                --ignore_change_;
                mark_match(-1);
                return;
            }

            filter_item i = filterCtrl.GetItem(sel_filter).RowObject as filter_item;

            ++ignore_change_;
            applyToExistingLines.Checked = i.apply_to_existing_lines;
            --ignore_change_;

            raw_filter_row filt = new raw_filter_row(i.text, i.apply_to_existing_lines);

            if (filt.is_valid)
            {
                /*
                 * var lv = ensure_we_have_log_view_for_tab(sel_view);
                 * Color fg = util.str_to_color(sett.get("filter_fg", "transparent"));
                 * Color bg = util.str_to_color(sett.get("filter_bg", "#faebd7"));
                 * lv.mark_match(sel_filter, fg, bg);
                 */
                mark_match(sel_filter);
            }
        }
Beispiel #4
0
        public void update_filter_row(string id, string filter_str, bool apply_to_existing_lines)
        {
            bool   updated      = false;
            bool   was_selected = false;
            string unique_id    = new raw_filter_row(filter_str, apply_to_existing_lines).unique_id;

            for (int idx = 0; idx < filterCtrl.GetItemCount(); ++idx)
            {
                var  i       = filterCtrl.GetItem(idx).RowObject as filter_item;
                bool is_same = i.filter_id == id;
                if (!is_same)
                {
                    // in this case, check if we have an existing filter exactly the same, but with a different color
                    is_same = unique_id == i.unique_id;
                }
                if (is_same)
                {
                    i.text       = raw_filter_row.merge_lines(i.text, filter_str);
                    was_selected = idx == filterCtrl.SelectedIndex;
                    filterCtrl.RefreshObject(i);
                    updated = true;
                    break;
                }
            }

            if (!updated)
            {
                // new filter
                ui_filter new_ui = new ui_filter {
                    enabled = true, dimmed = false, text = filter_str, apply_to_existing_lines = apply_to_existing_lines
                };
                filter_item new_ = new filter_item(new_ui);

                view_.filters.Add(new_ui);

                ++ignore_change_;
                filterCtrl.AddObject(new_);
                --ignore_change_;
            }

            // if editing, need to set_aliases that as well
            if (was_selected)
            {
                ++ignore_change_;
                curFilterCtrl.Text = filter_str;
                --ignore_change_;
            }

            on_save();
            ui_to_view(view_idx_);
            if (updated)
            {
                do_refresh();
            }
            else
            {
                on_rerun_view(view_idx_);
            }
        }
Beispiel #5
0
        private void update_color(OLVListItem olv_row)
        {
            Color bg, fg;

            if (!app.inst.show_filter_row_in_filter_color)
            {
                fg = app.inst.fg;
                bg = app.inst.bg;
            }
            else
            {
                filter_item i   = olv_row.RowObject as filter_item;
                var         row = new raw_filter_row(i.text, i.apply_to_existing_lines);
                fg = row.fg;
                bg = row.bg;

                if (fg == util.transparent)
                {
                    fg = row.match_fg;
                }
                if (bg == util.transparent)
                {
                    bg = row.match_bg;
                }

                if (fg == util.transparent)
                {
                    fg = app.inst.fg;
                }
                if (bg == util.transparent)
                {
                    bg = app.inst.bg;
                }
            }

            if (olv_row.BackColor.ToArgb() != bg.ToArgb())
            {
                olv_row.BackColor = bg;
            }

            if (olv_row.ForeColor.ToArgb() != fg.ToArgb())
            {
                olv_row.ForeColor = fg;
            }
        }
Beispiel #6
0
        public List <raw_filter_row> to_filter_row_list()
        {
            List <raw_filter_row> lvf = new List <raw_filter_row>();
            int count = filterCtrl.GetItemCount();

            for (int idx = 0; idx < count; ++idx)
            {
                filter_item    i    = filterCtrl.GetItem(idx).RowObject as filter_item;
                raw_filter_row filt = new raw_filter_row(i.text, i.apply_to_existing_lines);
                filt.enabled = i.enabled;
                filt.dimmed  = i.dimmed;

                if (filt.is_valid)
                {
                    lvf.Add(filt);
                }
            }
            return(lvf);
        }
Beispiel #7
0
        public void update_filter_row(string id, string filter_str, bool apply_to_existing_lines) {
            bool updated = false;
            bool was_selected = false;
            string unique_id = new raw_filter_row(filter_str, apply_to_existing_lines).unique_id;
            for (int idx = 0; idx < filterCtrl.GetItemCount(); ++idx) {
                var i = filterCtrl.GetItem(idx).RowObject as filter_item;
                bool is_same = i.filter_id == id;
                if ( !is_same)
                    // in this case, check if we have an existing filter exactly the same, but with a different color
                    is_same = unique_id == i.unique_id;
                if (is_same) {
                    i.text = raw_filter_row.merge_lines(i.text, filter_str);
                    was_selected = idx == filterCtrl.SelectedIndex;
                    filterCtrl.RefreshObject(i);
                    updated = true;
                    break;
                }
            }

            if (!updated) {
                // new filter
                ui_filter new_ui = new ui_filter {enabled = true, dimmed = false, text = filter_str, apply_to_existing_lines = apply_to_existing_lines};
                filter_item new_ = new filter_item( new_ui);

                view_.filters.Add( new_ui );

                ++ignore_change_;
                filterCtrl.AddObject(new_);
                --ignore_change_;
            }

            // if editing, need to update that as well
            if (was_selected) {
                ++ignore_change_;
                curFilterCtrl.Text = filter_str;
                --ignore_change_;                
            }

            on_save();
            ui_to_view(view_idx_);
            if (updated)
                do_refresh();
            else
                on_rerun_view(view_idx_);

        }
Beispiel #8
0
        private void addFilter_Click(object sender, EventArgs e) {
            if (view_ == null) {
                Debug.Assert(false);
                return;
            }

            ui_filter new_ui = new ui_filter {enabled = true, dimmed = false, text = "", apply_to_existing_lines = false};
            filter_item new_ = new filter_item( new_ui);

            view_.filters.Add( new_ui );

            ++ignore_change_;
            filterCtrl.AddObject(new_);
            filterCtrl.SelectedIndices.Clear();
            filterCtrl.SelectObject(new_);
            curFilterCtrl.Text = "";
            --ignore_change_;

            on_save();

            util.postpone(() => {
                curFilterCtrl.Focus();
                curFilterCtrl.SelectionStart = curFilterCtrl.TextLength;                    
            }, 10);
        }
Beispiel #9
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_);
        }