Beispiel #1
0
        private void filterCtrl_SelectionChanged(object sender, EventArgs e)
        {
            ++ignore_change_;
            var sel = filterCtrl.SelectedObject as filter_item;

            curFilterCtrl.Text    = sel != null ? sel.text : "";
            curFilterCtrl.Enabled = sel != null;
            if (filterCtrl.SelectedIndices.Count > 1)
            {
                // in this case, it's multi-sel
                curFilterCtrl.Enabled = false;
            }
            if (sel != null)
            {
                var row = new raw_filter_row(sel.text, sel.apply_to_existing_lines);
                filterLabel.BackColor = row.bg;
                filterLabel.ForeColor = row.fg;
            }
            else
            {
                filterLabel.BackColor = DefaultBackColor;
                filterLabel.ForeColor = Color.White;
            }
            --ignore_change_;
        }
Beispiel #2
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 #3
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 #4
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 #5
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 #6
0
        private void curFilterCtrl_TextChanged(object sender, EventArgs e)
        {
            if (before_ctrl_enter_ != null)
            {
                ++ignore_change_;
                string before = before_ctrl_enter_;
                before_ctrl_enter_           = null;
                curFilterCtrl.Text           = before;
                curFilterCtrl.SelectionStart = curFilterCtrl.TextLength;
                --ignore_change_;
                return;
            }

            if (ignore_change_ > 0)
            {
                return;
            }

            if (filterCtrl.GetItemCount() == 0)
            {
                // this will in turn call us again
                addFilter_Click(null, null);
                return;
            }
            var sel = filterCtrl.SelectedObject as filter_item;

            // we must be editing a filter row!
            Debug.Assert(sel != null);
            if (sel == null)
            {
                return;
            }

            if (sel.text != curFilterCtrl.Text)
            {
                sel.text = curFilterCtrl.Text;
                filterCtrl.RefreshObject(sel);

                needs_save_ = true;
            }

            var   row      = new raw_filter_row(curFilterCtrl.Text, applyToExistingLines.Checked);
            bool  is_valid = row.is_valid;
            Color bg       = is_valid ? Color.White : Color.LightPink;

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

            if (row.is_valid)
            {
                if (filterLabel.BackColor.ToArgb() != row.bg.ToArgb())
                {
                    filterLabel.BackColor = row.bg;
                }
                if (filterLabel.ForeColor.ToArgb() != row.fg.ToArgb())
                {
                    filterLabel.ForeColor = row.fg;
                }
            }
        }
Beispiel #7
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 #8
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 #9
0
        private void curFilterCtrl_TextChanged(object sender, EventArgs e) {
            if (before_ctrl_enter_ != null) {
                ++ignore_change_;
                string before = before_ctrl_enter_;
                before_ctrl_enter_ = null;
                curFilterCtrl.Text = before;
                curFilterCtrl.SelectionStart = curFilterCtrl.TextLength;
                --ignore_change_;
                return;
            }

            if (ignore_change_ > 0)
                return;

            if ( filterCtrl.GetItemCount() == 0) {
                // this will in turn call us again
                addFilter_Click(null,null);
                return;
            }
            var sel = filterCtrl.SelectedObject as filter_item;
            // we must be editing a filter row!
            Debug.Assert(sel != null);
            if (sel == null) 
                return;

            if (sel.text != curFilterCtrl.Text) {
                sel.text = curFilterCtrl.Text;
                filterCtrl.RefreshObject(sel);

                needs_save_ = true;
            }

            var row = new raw_filter_row(curFilterCtrl.Text, applyToExistingLines.Checked);
            bool is_valid = row.is_valid;
            Color bg = is_valid ? Color.White : Color.LightPink;
            if (curFilterCtrl.BackColor.ToArgb() != bg.ToArgb())
                curFilterCtrl.BackColor = bg;

            if (row.is_valid) {
                if (filterLabel.BackColor.ToArgb() != row.bg.ToArgb())
                    filterLabel.BackColor = row.bg;
                if (filterLabel.ForeColor.ToArgb() != row.fg.ToArgb())
                    filterLabel.ForeColor = row.fg;
            }
        }
Beispiel #10
0
 private void filterCtrl_SelectionChanged(object sender, EventArgs e) {
     ++ignore_change_;
     var sel = filterCtrl.SelectedObject as filter_item;
     curFilterCtrl.Text = sel != null ? sel.text : "";
     curFilterCtrl.Enabled = sel != null ;
     if (filterCtrl.SelectedIndices.Count > 1)
         // in this case, it's multi-sel
         curFilterCtrl.Enabled = false;
     if (sel != null) {
         var row = new raw_filter_row(sel.text, sel.apply_to_existing_lines);
         filterLabel.BackColor = row.bg;
         filterLabel.ForeColor = row.fg;
     } else {
         filterLabel.BackColor = DefaultBackColor;
         filterLabel.ForeColor = Color.White;
     }
     --ignore_change_;
 }
Beispiel #11
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 #12
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;
        }