コード例 #1
0
        private parts_layout_template set_defaults()
        {
            // default: 2 rows
            // - on first row, I have everything but level, time, date, line, thread, msg
            // - on second row I have msg, multi-line, auto-resize
            parts_layout_template def_ = new parts_layout_template();

            def_.rows_.Add(new row {
                row_width_ = 250
            });
            def_.rows_.Add(new row());
            foreach (info_type type in Enum.GetValues(typeof(info_type)))
            {
                switch (type)
                {
                case info_type.max:
                    break;

                // 1.6.9+ by default, hide them - in other words, normally they are shown in the view. But the user can choose to show them here
                case info_type.level:
                case info_type.date:
                case info_type.time:
                case info_type.view:
                case info_type.line:
                case info_type.thread:
                    def_.rows_[0].parts_.Add(new part {
                        type = type, visible = false
                    });
                    break;

                case info_type.msg:
                    def_.rows_[1].parts_.Add(new part {
                        type = type, auto_resize = true, multi_line = true, line_count = 0
                    });
                    break;

                default:
                    def_.rows_[0].parts_.Add(new part {
                        type = type
                    });
                    break;
                }
            }
            return(def_);
        }
コード例 #2
0
ファイル: description_ctrl.cs プロジェクト: noelhx/logwizard
        private static string to_string(parts_layout_template layout)
        {
            string rows  = util.concatenate(layout.rows_.Select(x => "" + x.label_width_ + "," + x.row_width_ + "," + x.parts_.Count), ";");
            string parts = "";

            for (int i = 0; i < layout.rows_.Count; ++i)
            {
                var r = layout.rows_[i];
                if (parts != "")
                {
                    parts += ";";
                }
                parts += util.concatenate(r.parts_.Select(x => "" + i + "," + (int)x.type
                                                          + "," + (x.visible ? "1" : "0") + "," + (x.multi_line ? "1" : "0") + "," + (x.auto_resize ? "1" : "0") + "," + x.line_count), ";");
            }
            settings_as_string sett = new settings_as_string("");

            sett.set("rows", rows);
            sett.set("parts", parts);
            sett.set("name", layout.name_);
            return(sett.ToString());
        }
コード例 #3
0
ファイル: description_ctrl.cs プロジェクト: noelhx/logwizard
        private parts_layout_template set_defaults()
        {
            // default: 2 rows
            // - on first row, I have everything but level, time, date, line, thread, msg
            // - on second row I have msg, multi-line, auto-resize
            parts_layout_template def_ = new parts_layout_template();

            def_.rows_.Add(new row {
                row_width_ = 250
            });
            def_.rows_.Add(new row());
            foreach (info_type type in Enum.GetValues(typeof(info_type)))
            {
                switch (type)
                {
                case info_type.max:
                case info_type.level:
                case info_type.date:
                case info_type.time:
                case info_type.view:
                case info_type.line:
                case info_type.thread:
                    break;

                case info_type.msg:
                    def_.rows_[1].parts_.Add(new part {
                        type = type, auto_resize = true, multi_line = true, line_count = 0
                    });
                    break;

                default:
                    def_.rows_[0].parts_.Add(new part {
                        type = type
                    });
                    break;
                }
            }
            return(def_);
        }
コード例 #4
0
        private static string to_string(parts_layout_template layout)
        {
            string rows  = util.concatenate(layout.rows_.Select(x => "" + x.label_width_ + "," + x.row_width_ + "," + x.parts_.Count), ";");
            string parts = "";

            for (int i = 0; i < layout.rows_.Count; ++i)
            {
                var r = layout.rows_[i];
                if (parts != "")
                {
                    parts += ";";
                }
                parts += util.concatenate(r.parts_.Select(x => "" + i + "," + (int)x.type
                                                          + "," + (x.visible ? "1" : "0") + "," + (x.multi_line ? "1" : "0") + "," + (x.auto_resize ? "1" : "0") + "," + x.line_count), ";");
            }
            // note: when too many settings here, I should use a log_settings_string-like or something - at this point, it's manageable, but perhaps later
            settings_as_string sett = new settings_as_string("");

            sett.set("rows", rows);
            sett.set("parts", parts);
            sett.set("name", layout.name_);
            return(sett.ToString());
        }
コード例 #5
0
        private static parts_layout_template from_string(string s)
        {
            settings_as_string    sett = new settings_as_string(s);
            string                rows = sett.get("rows"), parts = sett.get("parts");
            parts_layout_template layout = new parts_layout_template();

            foreach (var row_data in rows.Split(';'))
            {
                var cur_row = row_data.Split(',');
                Debug.Assert(cur_row.Length == 3);
                row r = new row();
                r.label_width_ = int.Parse(cur_row[0]);
                r.row_width_   = int.Parse(cur_row[1]);
                int count = int.Parse(cur_row[2]);
                layout.rows_.Add(r);
            }

            foreach (var part_data in parts.Split(';'))
            {
                if (part_data == "")
                {
                    continue;
                }
                var cur_part = part_data.Split(',');
                Debug.Assert(cur_part.Length == 6);
                row  r = layout.rows_[int.Parse(cur_part[0])];
                part p = new part();
                p.type        = (info_type)int.Parse(cur_part[1]);
                p.visible     = cur_part[2] == "1";
                p.multi_line  = cur_part[3] == "1";
                p.auto_resize = cur_part[4] == "1";
                p.line_count  = int.Parse(cur_part[5]);
                r.parts_.Add(p);
            }
            layout.name_ = sett.get("name");
            return(layout);
        }
コード例 #6
0
        private void copy_Click(object sender, EventArgs e)
        {
            Debug.Assert(layouts_.Count > 0);
            var layout = layouts_[cur_layout_idx_];
            var copy   = new parts_layout_template {
                name_ = layout.name_ + "_Copy"
            };

            foreach (var r in layout.rows_)
            {
                copy.rows_.Add(new row {
                    label_width_ = r.label_width_, row_width_ = r.row_width_
                });
                foreach (var p in r.parts_)
                {
                    copy.rows_.Last().parts_.Add(new part {
                        auto_resize = p.auto_resize, type = p.type, visible = p.visible, multi_line = p.multi_line, line_count = p.line_count
                    });
                }
            }
            layouts_.Add(copy);
            cur_layout_idx_ = layouts_.Count - 1;
            update_ui();
        }
コード例 #7
0
 private void copy_Click(object sender, EventArgs e) {
     Debug.Assert(layouts_.Count > 0);
     var layout = layouts_[cur_layout_idx_];
     var copy = new parts_layout_template { name_ = layout.name_ + "_Copy" };
     foreach (var r in layout.rows_) {
         copy.rows_.Add(new row { label_width_ = r.label_width_, row_width_ = r.row_width_ });
         foreach ( var p in r.parts_)
             copy.rows_.Last().parts_.Add( new part { auto_resize = p.auto_resize, type = p.type, visible = p.visible, multi_line = p.multi_line, line_count = p.line_count } );
     } 
     layouts_.Add(copy);
     cur_layout_idx_ = layouts_.Count - 1;
     update_ui();
 }
コード例 #8
0
        private parts_layout_template set_defaults() {
            // default: 2 rows 
            // - on first row, I have everything but level, time, date, line, thread, msg
            // - on second row I have msg, multi-line, auto-resize
            parts_layout_template def_ = new parts_layout_template();
            def_.rows_.Add( new row { row_width_ = 250});
            def_.rows_.Add( new row());
            foreach ( info_type type in Enum.GetValues(typeof(info_type)))
                switch (type) {
                case info_type.max:
                    break;

                    // 1.6.9+ by default, hide them - in other words, normally they are shown in the view. But the user can choose to show them here
                case info_type.level:
                case info_type.date:
                case info_type.time:
                case info_type.view:
                case info_type.line:
                case info_type.thread:
                    def_.rows_[0].parts_.Add( new part { type = type, visible = false } );
                    break;

                case info_type.msg:
                    def_.rows_[1].parts_.Add( new part { type = type, auto_resize = true, multi_line = true, line_count = 0 } );
                    break;
                default:
                    def_.rows_[0].parts_.Add( new part { type = type } );
                    break;
                }
            return def_;
        }
コード例 #9
0
        private static parts_layout_template from_string(string s) {
            settings_as_string sett = new settings_as_string(s);
            string rows = sett.get("rows"), parts = sett.get("parts");
            parts_layout_template layout = new parts_layout_template();
            foreach (var row_data in rows.Split(';')) {
                var cur_row = row_data.Split(',');
                Debug.Assert(cur_row.Length == 3);
                row r = new row();
                r.label_width_ = int.Parse(cur_row[0]);
                r.row_width_ = int.Parse(cur_row[1]);
                int count = int.Parse(cur_row[2]);
                layout.rows_.Add(r);
            }

            foreach (var part_data in parts.Split(';')) {
                if (part_data == "")
                    continue;
                var cur_part = part_data.Split(',');
                Debug.Assert(cur_part.Length == 6);
                row r = layout.rows_[int.Parse(cur_part[0]) ];
                part p = new part();
                p.type = (info_type) int.Parse(cur_part[1]);
                p.visible = cur_part[2] == "1";
                p.multi_line = cur_part[3] == "1";
                p.auto_resize = cur_part[4] == "1";
                p.line_count = int.Parse(cur_part[5]);
                r.parts_.Add(p);
            }
            layout.name_ = sett.get("name");
            return layout;
        }
コード例 #10
0
 private static string to_string(parts_layout_template layout) {
     string rows = util.concatenate( layout.rows_.Select(x => "" + x.label_width_ + "," + x.row_width_ + "," + x.parts_.Count), ";");
     string parts = "";
     for (int i = 0; i < layout.rows_.Count; ++i) {
         var r = layout.rows_[i];
         if (parts != "")
             parts += ";";
         parts += util.concatenate(r.parts_.Select(x => "" + i + "," + (int)x.type 
             + "," + (x.visible ? "1" : "0") + "," + (x.multi_line ? "1" : "0") + "," + (x.auto_resize ? "1" : "0") + "," + x.line_count), ";");
     }
     // note: when too many settings here, I should use a log_settings_string-like or something - at this point, it's manageable, but perhaps later
     settings_as_string sett = new settings_as_string("");
     sett.set("rows", rows);
     sett.set("parts", parts);
     sett.set("name", layout.name_);
     return sett.ToString();
 }
コード例 #11
0
ファイル: description_ctrl.cs プロジェクト: noelhx/logwizard
 private static string to_string(parts_layout_template layout) {
     string rows = util.concatenate( layout.rows_.Select(x => "" + x.label_width_ + "," + x.row_width_ + "," + x.parts_.Count), ";");
     string parts = "";
     for (int i = 0; i < layout.rows_.Count; ++i) {
         var r = layout.rows_[i];
         if (parts != "")
             parts += ";";
         parts += util.concatenate(r.parts_.Select(x => "" + i + "," + (int)x.type 
             + "," + (x.visible ? "1" : "0") + "," + (x.multi_line ? "1" : "0") + "," + (x.auto_resize ? "1" : "0") + "," + x.line_count), ";");
     }
     settings_as_string sett = new settings_as_string("");
     sett.set("rows", rows);
     sett.set("parts", parts);
     sett.set("name", layout.name_);
     return sett.ToString();
 }
コード例 #12
0
ファイル: description_ctrl.cs プロジェクト: noelhx/logwizard
        private parts_layout_template set_defaults() {
            // default: 2 rows 
            // - on first row, I have everything but level, time, date, line, thread, msg
            // - on second row I have msg, multi-line, auto-resize
            parts_layout_template def_ = new parts_layout_template();
            def_.rows_.Add( new row { row_width_ = 250});
            def_.rows_.Add( new row());
            foreach ( info_type type in Enum.GetValues(typeof(info_type)))
                switch (type) {
                case info_type.max:
                case info_type.level:
                case info_type.date:
                case info_type.time:
                case info_type.view:
                case info_type.line:
                case info_type.thread:
                    break;

                case info_type.msg:
                    def_.rows_[1].parts_.Add( new part { type = type, auto_resize = true, multi_line = true, line_count = 0 } );
                    break;
                default:
                    def_.rows_[0].parts_.Add( new part { type = type } );
                    break;
                }
            return def_;
        }