public void SetColumnizer(ILogLineColumnizer columnizer)
        {
            this.logWindow.SetColumnizer(columnizer, this.patternHitsDataGridView);
            this.logWindow.SetColumnizer(columnizer, this.contentDataGridView);
            this.patternHitsDataGridView.Columns[0].Width = 20;
            this.contentDataGridView.Columns[0].Width     = 20;

            DataGridViewTextBoxColumn blockInfoColumn = new DataGridViewTextBoxColumn();

            blockInfoColumn.HeaderText   = "Weight";
            blockInfoColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
            blockInfoColumn.Resizable    = DataGridViewTriState.False;
            blockInfoColumn.DividerWidth = 1;
            blockInfoColumn.ReadOnly     = true;
            blockInfoColumn.Width        = 50;

            DataGridViewTextBoxColumn contentInfoColumn = new DataGridViewTextBoxColumn();

            contentInfoColumn.HeaderText   = "Diff";
            contentInfoColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
            contentInfoColumn.Resizable    = DataGridViewTriState.False;
            contentInfoColumn.DividerWidth = 1;
            contentInfoColumn.ReadOnly     = true;
            contentInfoColumn.Width        = 50;

            this.patternHitsDataGridView.Columns.Insert(1, blockInfoColumn);
            this.contentDataGridView.Columns.Insert(1, contentInfoColumn);
        }
    public void Execute(string keyword, string param, ILogExpertCallback callback, ILogLineColumnizer columnizer)
    {
      int start = 0;
      int end = 0;
      if (param.StartsWith("\""))
      {
        start = 1;
        end = param.IndexOf("\"", start);
      }
      else
      {
        end = param.IndexOf(" ");

      }
      if (end == -1)
        end = param.Length;
      string procName = param.Substring(start, end - start);
      string parameters = param.Substring(end).Trim();
      parameters = parameters.Replace("%F", callback.GetFileName());
      parameters = parameters.Replace("%K", keyword);
      parameters = parameters.Replace("%L", "" + callback.GetLineNum());
      parameters = parameters.Replace("%T", callback.GetTabTitle());
      parameters = parameters.Replace("%C", callback.GetLogLine(callback.GetLineNum()));
      Process explorer = new Process();
      explorer.StartInfo.FileName = procName;
      explorer.StartInfo.Arguments = parameters;
      explorer.StartInfo.UseShellExecute = false;
      explorer.Start();
    }
 public LogWindow AddFileTab(string givenFileName, bool isTempFile, string title,
                             bool forcePersistenceLoading,
                             ILogLineColumnizer preProcessColumnizer)
 {
     return(AddFileTab(givenFileName, isTempFile, title, forcePersistenceLoading,
                       preProcessColumnizer, false));
 }
Exemple #4
0
        public static void SetColumnizer(ILogLineColumnizer columnizer, DataGridView gridView)
        {
            int rowCount      = gridView.RowCount;
            int currLine      = gridView.CurrentCellAddress.Y;
            int currFirstLine = gridView.FirstDisplayedScrollingRowIndex;

            try
            {
                gridView.Columns.Clear();
            }
            catch (ArgumentOutOfRangeException ae)
            {
                // Occures sometimes on empty gridViews (no lines) if bookmark window was closed and re-opened in floating mode.
                // Don't know why.
                Logger.logError(ae.Message);
            }

            DataGridViewTextBoxColumn markerColumn = new DataGridViewTextBoxColumn();

            markerColumn.HeaderText   = "";
            markerColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
            markerColumn.Resizable    = DataGridViewTriState.False;
            markerColumn.DividerWidth = 1;
            markerColumn.ReadOnly     = true;
            // markerColumn.HeaderCell.ContextMenuStrip = this.columnContextMenuStrip;
            gridView.Columns.Add(markerColumn);

            DataGridViewTextBoxColumn lineNumberColumn = new DataGridViewTextBoxColumn();

            lineNumberColumn.HeaderText   = "Line";
            lineNumberColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
            lineNumberColumn.Resizable    = DataGridViewTriState.NotSet;
            lineNumberColumn.DividerWidth = 1;
            lineNumberColumn.ReadOnly     = true;
            // lineNumberColumn.HeaderCell.ContextMenuStrip = this.columnContextMenuStrip;
            gridView.Columns.Add(lineNumberColumn);

            foreach (string colName in columnizer.GetColumnNames())
            {
                DataGridViewColumn titleColumn = new LogTextColumn();
                titleColumn.HeaderText   = colName;
                titleColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
                titleColumn.Resizable    = DataGridViewTriState.NotSet;
                titleColumn.DividerWidth = 1;
                //titleColumn.HeaderCell.ContextMenuStrip = this.columnContextMenuStrip;
                gridView.Columns.Add(titleColumn);
            }

            gridView.RowCount = rowCount;
            if (currLine != -1)
            {
                gridView.CurrentCell = gridView.Rows[currLine].Cells[0];
            }
            if (currFirstLine != -1)
            {
                gridView.FirstDisplayedScrollingRowIndex = currFirstLine;
            }
            //gridView.Refresh();
            //AutoResizeColumns(gridView);
        }
 public ContextMenuPluginEventArgs(IContextMenuEntry entry, IList <int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback)
 {
     this.entry      = entry;
     this.logLines   = logLines;
     this.columnizer = columnizer;
     this.callback   = callback;
 }
Exemple #6
0
        public ILogLineColumnizer FindColumnizerByFileMask(string fileName)
        {
            foreach (ColumnizerMaskEntry entry in ConfigManager.Settings.preferences.columnizerMaskList)
            {
                if (entry.mask != null)
                {
                    try
                    {
                        if (Regex.IsMatch(fileName, entry.mask))
                        {
                            ILogLineColumnizer columnizer = ColumnizerPicker.FindColumnizerByName(entry.columnizerName,
                                                                                                  PluginRegistry.GetInstance().RegisteredColumnizers);
                            return(columnizer);
                        }
                    }
                    catch (ArgumentException e)
                    {
                        _logger.Error(e, "RegEx-error while finding columnizer: ");
                        // occurs on invalid regex patterns
                    }
                }
            }

            return(null);
        }
		public ContextMenuPluginEventArgs(IContextMenuEntry entry, IList<int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback)
		{
			this.Entry = entry;
			this.LogLines = logLines;
			this.Columnizer = columnizer;
			this.Callback = callback;
		}
Exemple #8
0
    public void MenuSelected(IList<int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback)
    {
      if (logLines.Count != 1)
        return;

      XmlDocument doc = BuildParam(callback.GetLogLine(logLines[0]));
      if (doc == null)
      {
        MessageBox.Show("Cannot parse Java stack trace line", "LogExpert");
      }
      else
      {
        try
        {
          TcpClient client = new TcpClient(this.config.host, this.config.port);
          NetworkStream stream = client.GetStream();
          StreamWriter writer = new StreamWriter(stream);
          doc.Save(writer);
          writer.Flush();
          stream.Flush();
          writer.Close();
          stream.Close(500);
          client.Close();
        }
        catch (Exception e)
        {
          MessageBox.Show(e.Message, "LogExpert");
        }
      }
    }
Exemple #9
0
        public void MenuSelected(IList <int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback)
        {
            if (logLines.Count != 1)
            {
                return;
            }

            XmlDocument doc = BuildParam(callback.GetLogLine(logLines[0]));

            if (doc == null)
            {
                MessageBox.Show("Cannot parse Java stack trace line", "LogExpert");
            }
            else
            {
                try
                {
                    TcpClient     client = new TcpClient(this.config.host, this.config.port);
                    NetworkStream stream = client.GetStream();
                    StreamWriter  writer = new StreamWriter(stream);
                    doc.Save(writer);
                    writer.Flush();
                    stream.Flush();
                    writer.Close();
                    stream.Close(500);
                    client.Close();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message, "LogExpert");
                }
            }
        }
Exemple #10
0
        public FilterSelectorForm(IList <ILogLineColumnizer> existingColumnizerList, ILogLineColumnizer currentColumnizer, ILogLineColumnizerCallback callback)
        {
            SelectedColumnizer = currentColumnizer;
            _callback          = callback;
            InitializeComponent();
            filterComboBox.SelectedIndexChanged += OnFilterComboBoxSelectedIndexChanged;

            // for the currently selected columnizer use the current instance and not the template instance from
            // columnizer registry. This ensures that changes made in columnizer config dialogs
            // will apply to the current instance
            _columnizerList = new List <ILogLineColumnizer>();
            foreach (ILogLineColumnizer col in existingColumnizerList)
            {
                _columnizerList.Add(col.GetType() == SelectedColumnizer.GetType() ? SelectedColumnizer : col);
            }

            foreach (ILogLineColumnizer col in _columnizerList)
            {
                filterComboBox.Items.Add(col);
            }

            foreach (ILogLineColumnizer columnizer in _columnizerList)
            {
                if (columnizer.GetType() == SelectedColumnizer.GetType())
                {
                    filterComboBox.SelectedItem = columnizer;
                    break;
                }
            }
        }
Exemple #11
0
        public ILogLineColumnizer FindColumnizer(string fileName, LogfileReader logFileReader)
        {
            if (logFileReader == null || string.IsNullOrEmpty(fileName))
            {
                return(new DefaultLogfileColumnizer());
            }

            ILogLineColumnizer lineColumnizer = null;
            var             timeDeterminer    = new TimeFormatDeterminer();
            List <ILogLine> loglines          = new List <ILogLine>
            {
                // Sampling a few lines to select the correct columnizer
                logFileReader.GetLogLine(0),
                logFileReader.GetLogLine(1),
                logFileReader.GetLogLine(2),
                logFileReader.GetLogLine(3),
                logFileReader.GetLogLine(4),
                logFileReader.GetLogLine(5),
                logFileReader.GetLogLine(25),
                logFileReader.GetLogLine(100),
                logFileReader.GetLogLine(200),
                logFileReader.GetLogLine(400)
            };

            lineColumnizer = PluginRegistry.GetInstance().RegisteredColumnizers.OrderByDescending(x => x.GetPriority(fileName, loglines)).First();

            return(lineColumnizer);
        }
		public FilterColumnChooser(FilterParams filterParams)
		{
			InitializeComponent();

			this.columnizer = filterParams.currentColumnizer;
			this.filterParams = filterParams;
			Init();
		}
        public FilterColumnChooser(FilterParams filterParams)
        {
            InitializeComponent();

            this.columnizer   = filterParams.currentColumnizer;
            this.filterParams = filterParams;
            Init();
        }
Exemple #14
0
        private string GetMsgForLine(int i, ILogWindowSearch logWindow)
        {
            string             line       = logWindow.GetLogLine(i);
            ILogLineColumnizer columnizer = logWindow.CurrentColumnizer;
            ColumnizerCallback callback   = new ColumnizerCallback(logWindow.CurrentLogWindows);

            string[] cols = columnizer.SplitLine(callback, line);
            return(cols[columnizer.GetColumnCount() - 1]);
        }
		void filterComboBox_SelectedIndexChanged(object sender, EventArgs e)
		{
			ILogLineColumnizer col = columnizerList[this.filterComboBox.SelectedIndex];
			this.selectedColumnizer = col;
			string description = col.GetDescription();
			description += "\r\nSupports timeshift: " + (this.selectedColumnizer.IsTimeshiftImplemented() ? "Yes" : "No");
			this.commentTextBox.Text = description;
			this.configButton.Enabled = (this.selectedColumnizer is IColumnizerConfigurator);
		}
 /// <summary>
 /// This method implemented the "auto columnizer" feature.
 /// This method should be called after each columnizer is changed to update the columizer.
 /// </summary>
 /// <param name="fileName"></param>
 /// <param name="logFileReader"></param>
 /// <param name="logLineColumnizer"></param>
 /// <returns></returns>
 public static ILogLineColumnizer FindReplacementForAutoColumnizer(string fileName,
                                                                   IAutoLogLineColumnizerCallback logFileReader,
                                                                   ILogLineColumnizer logLineColumnizer)
 {
     if (logLineColumnizer == null || logLineColumnizer.GetName() == "Auto Columnizer")
     {
         return(FindColumnizer(fileName, logFileReader));
     }
     return(logLineColumnizer);
 }
Exemple #17
0
 public string GetMenuText(IList<int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback)
 {
   if (logLines.Count == 1 && BuildParam(callback.GetLogLine(logLines[0])) != null)
   {
     return "Load class in Eclipse";
   }
   else
   {
     return "_Load class in Eclipse";
   }
 }
        void filterComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            ILogLineColumnizer col = columnizerList[this.filterComboBox.SelectedIndex];

            this.selectedColumnizer = col;
            string description = col.GetDescription();

            description += "\r\nSupports timeshift: " + (this.selectedColumnizer.IsTimeshiftImplemented() ? "Yes" : "No");
            this.commentTextBox.Text  = description;
            this.configButton.Enabled = (this.selectedColumnizer is IColumnizerConfigurator);
        }
Exemple #19
0
 public string GetMenuText(IList <int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback)
 {
     if (logLines.Count == 1 && BuildParam(callback.GetLogLine(logLines[0])) != null)
     {
         return("Load class in Eclipse");
     }
     else
     {
         return("_Load class in Eclipse");
     }
 }
Exemple #20
0
        private void OnFilterComboBoxSelectedIndexChanged(object sender, EventArgs e)
        {
            ILogLineColumnizer col = _columnizerList[filterComboBox.SelectedIndex];

            SelectedColumnizer = col;
            string description = col.GetDescription();

            description         += "\r\nSupports timeshift: " + (SelectedColumnizer.IsTimeshiftImplemented() ? "Yes" : "No");
            commentTextBox.Text  = description;
            configButton.Enabled = SelectedColumnizer is IColumnizerConfigurator;
        }
        public static ILogLineColumnizer FindBetterColumnizer(string fileName,
                                                              IAutoLogLineColumnizerCallback logFileReader,
                                                              ILogLineColumnizer logLineColumnizer)
        {
            var newColumnizer = FindColumnizer(fileName, logFileReader);

            if (newColumnizer.GetType().Equals(logLineColumnizer.GetType()))
            {
                return(null);
            }
            return(newColumnizer);
        }
Exemple #22
0
        private void FillColumnizerList()
        {
            columnizerDataGridView.Rows.Clear();

            DataGridViewComboBoxColumn
                comboColumn = (DataGridViewComboBoxColumn)columnizerDataGridView.Columns[1];

            comboColumn.Items.Clear();

            DataGridViewTextBoxColumn textColumn = (DataGridViewTextBoxColumn)columnizerDataGridView.Columns[0];

            IList <ILogLineColumnizer> columnizers = PluginRegistry.GetInstance().RegisteredColumnizers;

            foreach (ILogLineColumnizer columnizer in columnizers)
            {
                int index = comboColumn.Items.Add(columnizer.GetName());
            }
            //comboColumn.DisplayMember = "Name";
            //comboColumn.ValueMember = "Columnizer";

            foreach (ColumnizerMaskEntry maskEntry in Preferences.columnizerMaskList)
            {
                DataGridViewRow row = new DataGridViewRow();
                row.Cells.Add(new DataGridViewTextBoxCell());
                DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell();

                foreach (ILogLineColumnizer logColumnizer in columnizers)
                {
                    int index = cell.Items.Add(logColumnizer.GetName());
                }

                row.Cells.Add(cell);
                row.Cells[0].Value = maskEntry.mask;
                ILogLineColumnizer columnizer = Util.FindColumnizerByName(maskEntry.columnizerName,
                                                                          PluginRegistry.GetInstance().RegisteredColumnizers);
                if (columnizer == null)
                {
                    columnizer = PluginRegistry.GetInstance().RegisteredColumnizers[0];
                }

                row.Cells[1].Value = columnizer.GetName();
                columnizerDataGridView.Rows.Add(row);
            }

            int count = columnizerDataGridView.RowCount;

            if (count > 0 && !columnizerDataGridView.Rows[count - 1].IsNewRow)
            {
                DataGridViewComboBoxCell comboCell =
                    (DataGridViewComboBoxCell)columnizerDataGridView.Rows[count - 1].Cells[1];
                comboCell.Value = comboCell.Items[0];
            }
        }
Exemple #23
0
 /// <summary>
 /// The worker function which is called when the entry is choosen by the user.
 /// What we do here: Take all lines, uppercase the content, keep track of original line numbers, 
 /// write it to a new tab.
 /// </summary>
 public void MenuSelected(IList<int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback)
 {
   List<LineEntry> lineEntryList = new List<LineEntry>();
   foreach(int lineNum in logLines)
   {
     LineEntry newEntry = new LineEntry();
     newEntry.logLine = callback.GetLogLine(lineNum).ToUpper();
     newEntry.lineNum = lineNum;
     lineEntryList.Add(newEntry);
   }
   callback.AddPipedTab(lineEntryList, callback.GetTabTitle() + " (uppercased)");
 }
Exemple #24
0
 public void Execute(string keyword, string param, ILogExpertCallback callback, ILogLineColumnizer columnizer)
 {
   FormCollection openForms = Application.OpenForms;
   foreach (Form form in openForms)
   {
     if (form.TopLevel && form.Name.Equals("LogTabWindow") && form.Text.Contains(callback.GetFileName()))
     {
       FlashWindowFx fx = FlashWindow;
       form.BeginInvoke(fx, new object[] {form});
     }
   }
 }
Exemple #25
0
        /// <summary>
        /// The worker function which is called when the entry is choosen by the user.
        /// What we do here: Take all lines, uppercase the content, keep track of original line numbers,
        /// write it to a new tab.
        /// </summary>
        public void MenuSelected(IList <int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback)
        {
            List <LineEntry> lineEntryList = new List <LineEntry>();

            foreach (int lineNum in logLines)
            {
                LineEntry newEntry = new LineEntry();
                newEntry.logLine = callback.GetLogLine(lineNum).ToUpper();
                newEntry.lineNum = lineNum;
                lineEntryList.Add(newEntry);
            }
            callback.AddPipedTab(lineEntryList, callback.GetTabTitle() + " (uppercased)");
        }
Exemple #26
0
        private void setColumnizerHistoryEntry(string fileName, ILogLineColumnizer columnizer)
        {
            ColumnizerHistoryEntry entry = findColumnizerHistoryEntry(fileName);

            if (entry != null)
            {
                ConfigManager.Settings.columnizerHistoryList.Remove(entry);
            }
            ConfigManager.Settings.columnizerHistoryList.Add(new ColumnizerHistoryEntry(fileName,
                                                                                        columnizer.GetName()));
            if (ConfigManager.Settings.columnizerHistoryList.Count > MAX_COLUMNIZER_HISTORY)
            {
                ConfigManager.Settings.columnizerHistoryList.RemoveAt(0);
            }
        }
        /// <summary>
        /// This method will search all registered columnizer and return one according to the priority that returned
        /// by the each columnizer.
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="logFileReader"></param>
        /// <returns></returns>
        public static ILogLineColumnizer FindColumnizer(string fileName, IAutoLogLineColumnizerCallback logFileReader)
        {
            if (string.IsNullOrEmpty(fileName))
            {
                return(new DefaultLogfileColumnizer());
            }

            List <ILogLine> loglines = new List <ILogLine>();

            if (logFileReader != null)
            {
                loglines = new List <ILogLine>()
                {
                    // Sampling a few lines to select the correct columnizer
                    logFileReader.GetLogLine(0),
                    logFileReader.GetLogLine(1),
                    logFileReader.GetLogLine(2),
                    logFileReader.GetLogLine(3),
                    logFileReader.GetLogLine(4),
                    logFileReader.GetLogLine(5),
                    logFileReader.GetLogLine(25),
                    logFileReader.GetLogLine(100),
                    logFileReader.GetLogLine(200),
                    logFileReader.GetLogLine(400)
                };
            }

            var registeredColumnizer = PluginRegistry.GetInstance().RegisteredColumnizers;

            List <Tuple <Priority, ILogLineColumnizer> > priorityListOfColumnizers = new List <Tuple <Priority, ILogLineColumnizer> >();

            foreach (ILogLineColumnizer logLineColumnizer in registeredColumnizer)
            {
                Priority priority = default(Priority);
                if (logLineColumnizer is IColumnizerPriority columnizerPriority)
                {
                    priority = columnizerPriority.GetPriority(fileName, loglines);
                }

                priorityListOfColumnizers.Add(new Tuple <Priority, ILogLineColumnizer>(priority, logLineColumnizer));
            }

            ILogLineColumnizer lineColumnizer = priorityListOfColumnizers.OrderByDescending(a => a.Item1).Select(a => a.Item2).First();

            return(lineColumnizer);
        }
Exemple #28
0
		public static ILogLineColumnizer CloneColumnizer(ILogLineColumnizer columnizer)
		{
			if (columnizer == null)
			{
				return null;
			}
			ConstructorInfo cti = columnizer.GetType().GetConstructor(Type.EmptyTypes);
			if (cti != null)
			{
				object o = cti.Invoke(new object[] { });
				if (o is IColumnizerConfigurator)
				{
					((IColumnizerConfigurator)o).LoadConfig(ConfigManager.ConfigDir);
				}
				return (ILogLineColumnizer)o;
			}
			return null;
		}
        public LogWindow AddFilterTab(FilterPipe pipe, string title, ILogLineColumnizer preProcessColumnizer)
        {
            LogWindow logWin = AddFileTab(pipe.FileName, true, title, false, preProcessColumnizer);

            if (pipe.FilterParams.searchText.Length > 0)
            {
                ToolTip tip = new ToolTip(this.components);
                tip.SetToolTip(logWin,
                               "Filter: \"" + pipe.FilterParams.searchText + "\"" +
                               (pipe.FilterParams.isInvert ? " (Invert match)" : "") +
                               (pipe.FilterParams.columnRestrict ? "\nColumn restrict" : "")
                               );
                tip.AutomaticDelay = 10;
                tip.AutoPopDelay   = 5000;
                LogWindowData data = logWin.Tag as LogWindowData;
                data.toolTip = tip;
            }
            return(logWin);
        }
Exemple #30
0
        public static ILogLineColumnizer CloneColumnizer(ILogLineColumnizer columnizer)
        {
            if (columnizer == null)
            {
                return(null);
            }
            ConstructorInfo cti = columnizer.GetType().GetConstructor(Type.EmptyTypes);

            if (cti != null)
            {
                object o = cti.Invoke(new object[] { });
                if (o is IColumnizerConfigurator)
                {
                    ((IColumnizerConfigurator)o).LoadConfig(ConfigManager.ConfigDir);
                }
                return((ILogLineColumnizer)o);
            }
            return(null);
        }
Exemple #31
0
 internal string[] GetColumnsForLine(LogfileReader logFileReader, int lineNumber, ILogLineColumnizer columnizer, LogExpert.LogWindow.ColumnizerCallback columnizerCallback)
 {
     if (this.lastColumnizer != columnizer || this.lastLineNumber != lineNumber && this.cachedColumns != null || columnizerCallback.LineNum != lineNumber)
     {
         this.lastColumnizer = columnizer;
         this.lastLineNumber = lineNumber;
         string line = logFileReader.GetLogLineWithWait(lineNumber);
         if (line != null)
         {
             columnizerCallback.LineNum = lineNumber;
             this.cachedColumns         = columnizer.SplitLine(columnizerCallback, line);
         }
         else
         {
             this.cachedColumns = null;
         }
     }
     return(this.cachedColumns);
 }
Exemple #32
0
 internal IColumnizedLogLine GetColumnsForLine(LogfileReader logFileReader, int lineNumber, ILogLineColumnizer columnizer, ColumnizerCallback columnizerCallback)
 {
     if (_lastColumnizer != columnizer || _lastLineNumber != lineNumber && _cachedColumns != null || columnizerCallback.LineNum != lineNumber)
     {
         _lastColumnizer = columnizer;
         _lastLineNumber = lineNumber;
         ILogLine line = logFileReader.GetLogLineWithWait(lineNumber);
         if (line != null)
         {
             columnizerCallback.LineNum = lineNumber;
             _cachedColumns             = columnizer.SplitLine(columnizerCallback, line);
         }
         else
         {
             _cachedColumns = null;
         }
     }
     return(_cachedColumns);
 }
Exemple #33
0
        public static ILogLineColumnizer CloneColumnizer(ILogLineColumnizer columnizer)
        {
            if (columnizer == null)
            {
                return(null);
            }
            ConstructorInfo cti = columnizer.GetType().GetConstructor(Type.EmptyTypes);

            if (cti != null)
            {
                object o = cti.Invoke(new object[] { });
                if (o is IColumnizerConfigurator configurator)
                {
                    configurator.LoadConfig(ConfigManager.Settings.preferences.PortableMode ? ConfigManager.PortableModeDir : ConfigManager.ConfigDir);
                }
                return((ILogLineColumnizer)o);
            }
            return(null);
        }
Exemple #34
0
		internal string[] GetColumnsForLine(LogfileReader logFileReader, int lineNumber, ILogLineColumnizer columnizer, LogExpert.ColumnizerCallback columnizerCallback)
		{
			if (_lastColumnizer != columnizer || _lastLineNumber != lineNumber || _cachedColumns == null || columnizerCallback.LineNum != lineNumber)
			{
				_lastColumnizer = columnizer;
				_lastLineNumber = lineNumber;
				string line = logFileReader.GetLogLineWithWait(lineNumber);
				if (line != null)
				{
					columnizerCallback.LineNum = lineNumber;
					_cachedColumns = columnizer.SplitLine(columnizerCallback, line);
				}
				else
				{
					_cachedColumns = null;
				}
			}

			return _cachedColumns;
		}
Exemple #35
0
		public void SetColumnizer(ILogLineColumnizer columnizer)
		{
			PaintHelper.SetColumnizer(columnizer, this.bookmarkDataGridView);
			if (this.bookmarkDataGridView.ColumnCount > 0)
			{
				this.bookmarkDataGridView.Columns[0].Width = 20;
			}

			DataGridViewTextBoxColumn commentColumn = new DataGridViewTextBoxColumn();
			commentColumn.HeaderText = "Bookmark Comment";
			commentColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
			commentColumn.Resizable = DataGridViewTriState.NotSet;
			commentColumn.DividerWidth = 1;
			commentColumn.ReadOnly = true;
			commentColumn.Width = 250;
			commentColumn.MinimumWidth = 130;
			this.bookmarkDataGridView.Columns.Insert(1, commentColumn);
			ShowCommentColumn(this.commentColumnCheckBox.Checked);
			ResizeColumns();
		}
Exemple #36
0
        public void SetColumnizer(ILogLineColumnizer columnizer)
        {
            PaintHelper.SetColumnizer(columnizer, this.bookmarkDataGridView);
            if (this.bookmarkDataGridView.ColumnCount > 0)
            {
                this.bookmarkDataGridView.Columns[0].Width = 20;
            }

            DataGridViewTextBoxColumn commentColumn = new DataGridViewTextBoxColumn();

            commentColumn.HeaderText   = "Bookmark Comment";
            commentColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
            commentColumn.Resizable    = DataGridViewTriState.NotSet;
            commentColumn.DividerWidth = 1;
            commentColumn.ReadOnly     = true;
            commentColumn.Width        = 250;
            commentColumn.MinimumWidth = 130;
            this.bookmarkDataGridView.Columns.Insert(1, commentColumn);
            ShowCommentColumn(this.commentColumnCheckBox.Checked);
            ResizeColumns();
        }
Exemple #37
0
        public static void SetColumnizer(ILogLineColumnizer columnizer, DataGridView gridView)
        {
            int rowCount      = gridView.RowCount;
            int currLine      = gridView.CurrentCellAddress.Y;
            int currFirstLine = gridView.FirstDisplayedScrollingRowIndex;

            try
            {
                gridView.Columns.Clear();
            }
            catch (ArgumentOutOfRangeException ae)
            {
                // Occures sometimes on empty gridViews (no lines) if bookmark window was closed and re-opened in floating mode.
                // Don't know why.
                _logger.Error(ae);
            }

            gridView.Columns.Add(CreateMarkerColumn());

            gridView.Columns.Add(CreateLineNumberColumn());

            foreach (string colName in columnizer.GetColumnNames())
            {
                gridView.Columns.Add(CreateTitleColumn(colName));
            }

            gridView.RowCount = rowCount;
            if (currLine != -1)
            {
                gridView.CurrentCell = gridView.Rows[currLine].Cells[0];
            }
            if (currFirstLine != -1)
            {
                gridView.FirstDisplayedScrollingRowIndex = currFirstLine;
            }
            //gridView.Refresh();
            //AutoResizeColumns(gridView);
        }
        public FilterSelectorForm(IList <ILogLineColumnizer> existingColumnizerList,
                                  ILogLineColumnizer currentColumnizer, ILogLineColumnizerCallback callback)
        {
            this.SelectedColumnizer = currentColumnizer;
            this.callback           = callback;
            InitializeComponent();
            this.filterComboBox.SelectedIndexChanged += new EventHandler(filterComboBox_SelectedIndexChanged);

            // for the currently selected columnizer use the current instance and not the template instance from
            // columnizer registry. This ensures that changes made in columnizer config dialogs
            // will apply to the current instance
            this.columnizerList = new List <ILogLineColumnizer>();
            foreach (ILogLineColumnizer col in existingColumnizerList)
            {
                if (col.GetType().Equals(this.SelectedColumnizer.GetType()))
                {
                    this.columnizerList.Add(this.SelectedColumnizer);
                }
                else
                {
                    this.columnizerList.Add(col);
                }
            }
            this.columnizerList = this.columnizerList.ToList().OrderBy(x => x.Text).ToList();
            foreach (ILogLineColumnizer col in this.columnizerList)
            {
                this.filterComboBox.Items.Add(col);
            }

            foreach (ILogLineColumnizer columnizer in this.columnizerList)
            {
                if (columnizer.GetType().Equals(this.SelectedColumnizer.GetType()))
                {
                    this.filterComboBox.SelectedItem = columnizer;
                    break;
                }
            }
        }
Exemple #39
0
        internal string[] GetColumnsForLine(
            LogfileReader logFileReader, int line,
            ILogLineColumnizer columnizer,
            LogExpert.LogWindow.ColumnizerCallback callback)
        {
            if (this.last_columnizer == columnizer && this.last_line == line &&
                this.cached_columns != null)
            {
                return(this.cached_columns);
            }

            string line_data = logFileReader.GetLogLineWithWait(line);

            if (line_data != null)
            {
                callback.LineNum     = line;
                this.cached_columns  = columnizer.SplitLine(callback, line_data);
                this.last_columnizer = columnizer;
                this.last_line       = line;
            }

            return(this.cached_columns);
        }
		public FilterSelectorForm(IList<ILogLineColumnizer> existingColumnizerList, ILogLineColumnizer currentColumnizer, ILogLineColumnizerCallback callback)
		{
			this.selectedColumnizer = currentColumnizer;
			this.callback = callback;
			InitializeComponent();
			this.filterComboBox.SelectedIndexChanged += new EventHandler(filterComboBox_SelectedIndexChanged);

			// for the currently selected columnizer use the current instance and not the template instance from
			// columnizer registry. This ensures that changes made in columnizer config dialogs
			// will apply to the current instance
			this.columnizerList = new List<ILogLineColumnizer>();
			foreach (ILogLineColumnizer col in existingColumnizerList)
			{
				if (col.GetType().Equals(this.selectedColumnizer.GetType()))
				{
					this.columnizerList.Add(this.selectedColumnizer);
				}
				else
				{
					this.columnizerList.Add(col);
				}
			}
			foreach (ILogLineColumnizer col in this.columnizerList)
			{
				this.filterComboBox.Items.Add(col);
			}

			foreach (ILogLineColumnizer columnizer in this.columnizerList)
			{
				if (columnizer.GetType().Equals(this.selectedColumnizer.GetType()))
				{
					this.filterComboBox.SelectedItem = columnizer;
					break;
				}
			}
		}
Exemple #41
0
 protected void PreSelectColumnizer(ILogLineColumnizer columnizer)
 {
     if (columnizer != null)
     {
         CurrentColumnizer = _forcedColumnizerForLoading = columnizer;
     }
     else
     {
         CurrentColumnizer = _forcedColumnizerForLoading = PluginRegistry.GetInstance().RegisteredColumnizers[0];
     }
 }
Exemple #42
0
        private void LoadFileInternal(string fileName, EncodingOptions encodingOptions)
        {
            EnterLoadFileStatus();

            if (fileName != null)
            {
                FileName = fileName;
                EncodingOptions = encodingOptions;

                if (CurrentLogFileReader != null)
                {
                    CurrentLogFileReader.StopMonitoringAsync();
                    UnRegisterLogFileReaderEvents();
                }
                if (!LoadPersistenceOptions())
                {
                    if (!IsTempFile)
                    {
                        ILogLineColumnizer columnizer = FindColumnizer();
                        if (columnizer != null)
                        {
                            if (_reloadMemento == null)
                            {
                                columnizer = Util.CloneColumnizer(columnizer);
                            }
                        }
                        PreSelectColumnizer(columnizer);
                    }
                    SetDefaultHighlightGroup();
                }

                // this may be set after loading persistence data
                if (_fileNames != null && IsMultiFile)
                {
                    LoadFilesAsMulti(_fileNames, EncodingOptions);
                    return;
                }
                _columnCache = new ColumnCache();
                try
                {
                    CurrentLogFileReader = new LogfileReader(
                        fileName,
                        EncodingOptions,
                        IsMultiFile,
                        Preferences.bufferCount,
                        Preferences.linesPerBuffer,
                        _multifileOptions);
                    CurrentLogFileReader.UseNewReader = !Preferences.useLegacyReader;
                }
                catch (LogFileException lfe)
                {
                    MessageBox.Show("Cannot load file\n" + lfe.Message, "LogExpert");
                    BeginInvoke(new Action<bool>(Close), new object[] { true });
                    _isLoadError = true;
                    return;
                }

                ILogLineXmlColumnizer xmlColumnizer = CurrentColumnizer as ILogLineXmlColumnizer;

                if (xmlColumnizer != null)
                {
                    CurrentLogFileReader.IsXmlMode = true;
                    CurrentLogFileReader.XmlLogConfig = xmlColumnizer.GetXmlLogConfiguration();
                }

                if (_forcedColumnizerForLoading != null)
                {
                    CurrentColumnizer = _forcedColumnizerForLoading;
                }

                IPreProcessColumnizer preProcessColumnizer = CurrentColumnizer as IPreProcessColumnizer;

                if (CurrentColumnizer is IPreProcessColumnizer)
                {
                    CurrentLogFileReader.PreProcessColumnizer = preProcessColumnizer;
                }
                else
                {
                    CurrentLogFileReader.PreProcessColumnizer = null;
                }

                RegisterLogFileReaderEvents();
                Logger.logInfo("Loading logfile: " + fileName);
                CurrentLogFileReader.startMonitoring();
            }
        }
Exemple #43
0
 void OnColumnizerChanged(ILogLineColumnizer columnizer)
 {
     if (ColumnizerChanged != null)
     {
         ColumnizerChanged(this, new ColumnizerEventArgs(columnizer));
     }
 }
Exemple #44
0
        public void SetColumnizer(ILogLineColumnizer columnizer, DataGridView gridView)
        {
            int rowCount = gridView.RowCount;
            int currLine = gridView.CurrentCellAddress.Y;
            int currFirstLine = gridView.FirstDisplayedScrollingRowIndex;

            gridView.Columns.Clear();

            DataGridViewTextBoxColumn markerColumn = new DataGridViewTextBoxColumn();
            markerColumn.HeaderText = "";
            markerColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
            markerColumn.Resizable = DataGridViewTriState.False;
            markerColumn.DividerWidth = 1;
            markerColumn.ReadOnly = true;
            markerColumn.HeaderCell.ContextMenuStrip = columnContextMenuStrip;
            gridView.Columns.Add(markerColumn);

            DataGridViewTextBoxColumn lineNumberColumn = new DataGridViewTextBoxColumn();
            lineNumberColumn.HeaderText = "Line";
            lineNumberColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
            lineNumberColumn.Resizable = DataGridViewTriState.NotSet;
            lineNumberColumn.DividerWidth = 1;
            lineNumberColumn.ReadOnly = true;
            lineNumberColumn.HeaderCell.ContextMenuStrip = columnContextMenuStrip;
            gridView.Columns.Add(lineNumberColumn);

            foreach (string colName in columnizer.GetColumnNames())
            {
                DataGridViewColumn titleColumn = new LogTextColumn();
                titleColumn.HeaderText = colName;
                titleColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
                titleColumn.Resizable = DataGridViewTriState.NotSet;
                titleColumn.DividerWidth = 1;
                titleColumn.HeaderCell.ContextMenuStrip = columnContextMenuStrip;
                gridView.Columns.Add(titleColumn);
            }

            columnNamesLabel.Text = CalculateColumnNames(_filterParams);

            gridView.RowCount = rowCount;
            if (currLine != -1)
            {
                gridView.CurrentCell = gridView.Rows[currLine].Cells[0];
            }
            if (currFirstLine != -1)
            {
                gridView.FirstDisplayedScrollingRowIndex = currFirstLine;
            }
            gridView.Refresh();
            AutoResizeColumns(gridView);
            ApplyFrozenState(gridView);
        }
Exemple #45
0
 public void ForceColumnizerForLoading(ILogLineColumnizer columnizer)
 {
     _forcedColumnizerForLoading = Util.CloneColumnizer(columnizer);
 }
Exemple #46
0
		public void SetColumnizer(ILogLineColumnizer columnizer)
		{
			this.logWindow.SetColumnizer(columnizer, this.patternHitsDataGridView);
			this.logWindow.SetColumnizer(columnizer, this.contentDataGridView);
			this.patternHitsDataGridView.Columns[0].Width = 20;
			this.contentDataGridView.Columns[0].Width = 20;

			DataGridViewTextBoxColumn blockInfoColumn = new DataGridViewTextBoxColumn();
			blockInfoColumn.HeaderText = "Weight";
			blockInfoColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
			blockInfoColumn.Resizable = DataGridViewTriState.False;
			blockInfoColumn.DividerWidth = 1;
			blockInfoColumn.ReadOnly = true;
			blockInfoColumn.Width = 50;

			DataGridViewTextBoxColumn contentInfoColumn = new DataGridViewTextBoxColumn();
			contentInfoColumn.HeaderText = "Diff";
			contentInfoColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
			contentInfoColumn.Resizable = DataGridViewTriState.False;
			contentInfoColumn.DividerWidth = 1;
			contentInfoColumn.ReadOnly = true;
			contentInfoColumn.Width = 50;

			this.patternHitsDataGridView.Columns.Insert(1, blockInfoColumn);
			this.contentDataGridView.Columns.Insert(1, contentInfoColumn);
		}
Exemple #47
0
        void SetColumnizerInternal(ILogLineColumnizer columnizer)
        {
            Logger.logInfo("SetColumnizerInternal(): " + columnizer.GetName());

            ILogLineColumnizer oldColumnizer = CurrentColumnizer;
            bool oldColumnizerIsXmlType = CurrentColumnizer is ILogLineXmlColumnizer;
            bool oldColumnizerIsPreProcess = CurrentColumnizer is IPreProcessColumnizer;
            bool mustReload = false;

            // Check if the filtered columns disappeared, if so must refresh the UI
            if (_filterParams.columnRestrict)
            {
                string[] newColumns = columnizer != null ? columnizer.GetColumnNames() : new string[0];
                bool colChanged = false;
                if (dataGridView.ColumnCount - 2 == newColumns.Length) // two first columns are 'marker' and 'line number'
                {
                    for (int i = 0; i < newColumns.Length; i++)
                    {
                        if (dataGridView.Columns[i].HeaderText != newColumns[i])
                        {
                            colChanged = true;
                            break; // one change is sufficient
                        }
                    }
                }
                else
                {
                    colChanged = true;
                }

                if (colChanged)
                {
                    // Update UI
                    columnNamesLabel.Text = CalculateColumnNames(_filterParams);
                }
            }

            Type oldColType = _filterParams.currentColumnizer != null ? _filterParams.currentColumnizer.GetType() : null;
            Type newColType = columnizer != null ? columnizer.GetType() : null;
            if (oldColType != newColType && _filterParams.columnRestrict && _filterParams.isFilterTail)
            {
                _filterParams.columnList.Clear();
            }
            if (CurrentColumnizer == null || !CurrentColumnizer.GetType().Equals(columnizer.GetType()))
            {
                CurrentColumnizer = columnizer;
                _freezeStateMap.Clear();
                if (CurrentLogFileReader != null)
                {
                    IPreProcessColumnizer preprocessColumnizer = CurrentColumnizer as IPreProcessColumnizer;
                    if (preprocessColumnizer != null)
                    {
                        CurrentLogFileReader.PreProcessColumnizer = preprocessColumnizer;
                    }
                    else
                    {
                        CurrentLogFileReader.PreProcessColumnizer = null;
                    }
                }
                // always reload when choosing XML columnizers
                if (CurrentLogFileReader != null && CurrentColumnizer is ILogLineXmlColumnizer)
                {
                    //forcedColumnizer = currentColumnizer; // prevent Columnizer selection on SetGuiAfterReload()
                    mustReload = true;
                }
                // Reload when choosing no XML columnizer but previous columnizer was XML
                if (CurrentLogFileReader != null && !(CurrentColumnizer is ILogLineXmlColumnizer) && oldColumnizerIsXmlType)
                {
                    CurrentLogFileReader.IsXmlMode = false;
                    //forcedColumnizer = currentColumnizer; // prevent Columnizer selection on SetGuiAfterReload()
                    mustReload = true;
                }
                // Reload when previous columnizer was PreProcess and current is not, and vice versa.
                // When the current columnizer is a preProcess columnizer, reload in every case.
                bool isCurrentColumnizerIPreProcessColumnizer = CurrentColumnizer is IPreProcessColumnizer;
                if ((isCurrentColumnizerIPreProcessColumnizer != oldColumnizerIsPreProcess) ||
                    isCurrentColumnizerIPreProcessColumnizer)
                {
                    //forcedColumnizer = currentColumnizer; // prevent Columnizer selection on SetGuiAfterReload()
                    mustReload = true;
                }
            }
            else
            {
                CurrentColumnizer = columnizer;
            }

            IInitColumnizer initColumnizer = oldColumnizer as IInitColumnizer;

            if (initColumnizer != null)
            {
                initColumnizer.DeSelected(new ColumnizerCallback(this));
            }
            initColumnizer = columnizer as IInitColumnizer;
            if (initColumnizer != null)
            {
                initColumnizer.Selected(new ColumnizerCallback(this));
            }

            SetColumnizer(columnizer, dataGridView);
            SetColumnizer(columnizer, filterGridView);
            if (_patternWindow != null)
            {
                _patternWindow.SetColumnizer(columnizer);
            }

            _guiStateArgs.TimeshiftPossible = columnizer.IsTimeshiftImplemented();
            SendGuiStateUpdate();

            if (CurrentLogFileReader != null)
            {
                dataGridView.RowCount = CurrentLogFileReader.LineCount;
            }
            if (_filterResultList != null)
            {
                filterGridView.RowCount = _filterResultList.Count;
            }
            if (mustReload)
            {
                Reload();
            }
            else
            {
                if (CurrentColumnizer.IsTimeshiftImplemented())
                {
                    SetTimestampLimits();
                    SyncTimestampDisplay();
                }
                Settings settings = ConfigManager.Settings;
                ShowLineColumn(!settings.hideLineColumn);
                ShowTimeSpread(Preferences.showTimeSpread && columnizer.IsTimeshiftImplemented());
            }

            if (!columnizer.IsTimeshiftImplemented() && IsTimeSynced)
            {
                FreeFromTimeSync();
            }

            columnComboBox.Items.Clear();
            foreach (String columnName in columnizer.GetColumnNames())
            {
                columnComboBox.Items.Add(columnName);
            }
            columnComboBox.SelectedIndex = 0;

            OnColumnizerChanged(CurrentColumnizer);
        }
Exemple #48
0
        void SetColumnizer(ILogLineColumnizer columnizer)
        {
            int timeDiff = 0;
            if (CurrentColumnizer != null && CurrentColumnizer.IsTimeshiftImplemented())
            {
                timeDiff = CurrentColumnizer.GetTimeOffset();
            }

            SetColumnizerInternal(columnizer);

            if (CurrentColumnizer.IsTimeshiftImplemented())
            {
                CurrentColumnizer.SetTimeOffset(timeDiff);
            }
        }
Exemple #49
0
 /// <summary>
 /// The function which gets called to give us a chance to decide whether to show a context menu entry.
 /// </summary>
 public string GetMenuText(IList<int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback)
 {
   // no additional checks. always show the menu entry
   return "(Example) Write lines to tab";
 }
Exemple #50
0
 public ColumnizerEventArgs(ILogLineColumnizer columnizer)
 {
     this.Columnizer = columnizer;
 }
		public ColumnizerEventArgs(ILogLineColumnizer columnizer)
		{
			this.Columnizer = columnizer;
		}
Exemple #52
0
        public void Execute(string keyword, string param, ILogExpertCallback callback, ILogLineColumnizer columnizer)
        {
            int start = 0;
            int end   = 0;

            if (param.StartsWith("\""))
            {
                start = 1;
                end   = param.IndexOf("\"", start);
            }
            else
            {
                end = param.IndexOf(" ");
            }
            if (end == -1)
            {
                end = param.Length;
            }
            string procName   = param.Substring(start, end - start);
            string parameters = param.Substring(end).Trim();

            parameters = parameters.Replace("%F", callback.GetFileName());
            parameters = parameters.Replace("%K", keyword);
            parameters = parameters.Replace("%L", "" + callback.GetLineNum());
            parameters = parameters.Replace("%T", callback.GetTabTitle());
            parameters = parameters.Replace("%C", callback.GetLogLine(callback.GetLineNum()).FullLine);
            Process explorer = new Process();

            explorer.StartInfo.FileName        = procName;
            explorer.StartInfo.Arguments       = parameters;
            explorer.StartInfo.UseShellExecute = false;
            explorer.Start();
        }
Exemple #53
0
        void SetGuiAfterLoading()
        {
            if (Text.Length == 0)
            {
                if (IsTempFile)
                {
                    Text = TempTitleName;
                }
                else
                {
                    Text = Util.GetNameFromPath(FileName);
                }
            }
            ShowBookmarkBubbles = Preferences.showBubbles;

            ILogLineColumnizer columnizer;
            if (_forcedColumnizerForLoading != null)
            {
                columnizer = _forcedColumnizerForLoading;
                _forcedColumnizerForLoading = null;
            }
            else
            {
                columnizer = FindColumnizer();
                if (columnizer != null)
                {
                    if (_reloadMemento == null)
                    {
                        columnizer = Util.CloneColumnizer(columnizer);
                    }
                }
                else
                {
                    // Default Columnizers
                    columnizer = Util.CloneColumnizer(PluginRegistry.GetInstance().RegisteredColumnizers[0]);
                }
            }

            Invoke(new Action<ILogLineColumnizer>(SetColumnizer), new object[] { columnizer });
            dataGridView.Enabled = true;
            DisplayCurrentFileOnStatusline();
            _guiStateArgs.MultiFileEnabled = !IsTempFile;
            _guiStateArgs.MenuEnabled = true;
            _guiStateArgs.CurrentEncoding = CurrentLogFileReader.CurrentEncoding;
            SendGuiStateUpdate();

            if (CurrentColumnizer.IsTimeshiftImplemented())
            {
                if (Preferences.timestampControl)
                {
                    SetTimestampLimits();
                    SyncTimestampDisplay();
                }
                Settings settings = ConfigManager.Settings;
                ShowLineColumn(!settings.hideLineColumn);
            }
            ShowTimeSpread(Preferences.showTimeSpread && CurrentColumnizer.IsTimeshiftImplemented());
            locateLineInOriginalFileToolStripMenuItem.Enabled = FilterPipe != null;
        }
Exemple #54
0
			public ColumnizerEntry(ILogLineColumnizer columnizer)
			{
				this.Columnizer = columnizer;
			}
Exemple #55
0
 public void ForceColumnizer(ILogLineColumnizer columnizer)
 {
     _forcedColumnizer = Util.CloneColumnizer(columnizer);
     SetColumnizer(_forcedColumnizer);
 }
Exemple #56
0
        public void Reload()
        {
            SavePersistenceData(false);

            _reloadMemento = new ReloadMemento();
            _reloadMemento.currentLine = dataGridView.CurrentCellAddress.Y;
            _reloadMemento.firstDisplayedLine = dataGridView.FirstDisplayedScrollingRowIndex;
            _forcedColumnizerForLoading = CurrentColumnizer;

            if (_fileNames == null || !IsMultiFile)
            {
                LoadFile(FileName, EncodingOptions);
            }
            else
            {
                LoadFilesAsMulti(_fileNames, EncodingOptions);
            }
        }
Exemple #57
0
        public static void SetColumnizer(ILogLineColumnizer columnizer, DataGridView gridView)
        {
            int rowCount = gridView.RowCount;
            int currLine = gridView.CurrentCellAddress.Y;
            int currFirstLine = gridView.FirstDisplayedScrollingRowIndex;

            try
            {
                gridView.Columns.Clear();
            }
            catch (ArgumentOutOfRangeException ae)
            {
                // Occures sometimes on empty gridViews (no lines) if bookmark window was closed and re-opened in floating mode.
                // Don't know why.
                Logger.logError(ae.Message);
            }

            DataGridViewTextBoxColumn markerColumn = new DataGridViewTextBoxColumn();
            markerColumn.HeaderText = "";
            markerColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
            markerColumn.Resizable = DataGridViewTriState.False;
            markerColumn.DividerWidth = 1;
            markerColumn.ReadOnly = true;
            // markerColumn.HeaderCell.ContextMenuStrip = this.columnContextMenuStrip;
            gridView.Columns.Add(markerColumn);

            DataGridViewTextBoxColumn lineNumberColumn = new DataGridViewTextBoxColumn();
            lineNumberColumn.HeaderText = "Line";
            lineNumberColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
            lineNumberColumn.Resizable = DataGridViewTriState.NotSet;
            lineNumberColumn.DividerWidth = 1;
            lineNumberColumn.ReadOnly = true;
            // lineNumberColumn.HeaderCell.ContextMenuStrip = this.columnContextMenuStrip;
            gridView.Columns.Add(lineNumberColumn);

            foreach (string colName in columnizer.GetColumnNames())
            {
                DataGridViewColumn titleColumn = new LogTextColumn();
                titleColumn.HeaderText = colName;
                titleColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
                titleColumn.Resizable = DataGridViewTriState.NotSet;
                titleColumn.DividerWidth = 1;
                //titleColumn.HeaderCell.ContextMenuStrip = this.columnContextMenuStrip;
                gridView.Columns.Add(titleColumn);
            }

            gridView.RowCount = rowCount;
            if (currLine != -1)
                gridView.CurrentCell = gridView.Rows[currLine].Cells[0];
            if (currFirstLine != -1)
                gridView.FirstDisplayedScrollingRowIndex = currFirstLine;
            //gridView.Refresh();
            //AutoResizeColumns(gridView);
        }