//============================================================================ // LogMonitor.updateControls //============================================================================ private void updateControls(object sender, EventArgs eArgs) { if (sender == updateTimer) { for (int i = 0; i < mLogChannels.Count; i++) { Control[] ctrl = logTabs.TabPages[mLogChannels[i].mLogNum].Controls.Find("logList", true); if (ctrl.Length != 0) { LogListBox lst = (LogListBox)(ctrl[0]); for (int k = 0; k < mLogChannels[i].mPendingMessages.Count; k++) { lst.addText(mLogChannels[i].mPendingMessages[k]); } } mLogChannels[i].mPendingMessages.Clear(); } //now update our tabs for (int i = 0; i < logTabs.TabCount; i++) { Control[] ctrl = logTabs.TabPages[i].Controls.Find("logList", true); if (ctrl.Length != 0) { LogListBox lst = (LogListBox)(ctrl[0]); lst.updateList(); } } } }
//============================================================================ // LogMonitor.saveLog //============================================================================ public void saveLog() { string workDir = Directory.GetCurrentDirectory(); int k = logTabs.SelectedIndex; Control[] ctrl = logTabs.TabPages[k].Controls.Find("logList", true); LogListBox lst = (LogListBox)(ctrl[0]); //string path = @"xfs_log_" + logTabs.TabPages[k].Text + ".txt"; SaveFileDialog d = new SaveFileDialog(); d.Filter = "TXT (.txt)|.txt"; d.FilterIndex = 0; d.InitialDirectory = Directory.GetCurrentDirectory(); if (d.ShowDialog() == DialogResult.OK) { string path = d.FileName; try { StreamWriter writer = new StreamWriter(path); foreach (string name in lst.Items) { writer.WriteLine(name); } writer.Close(); } catch { } } Directory.SetCurrentDirectory(workDir); }
//============================================================================ // LogMonitor.addChannel //============================================================================ public int addChannel(string ChannelName) { //-- Don't add a channel that already exists string channelIdent = @"<" + ChannelName + @">"; foreach (logChannel channel in mLogChannels) { if (channel.mIdentifier == channelIdent) { return(-1); } } logTabs.TabPages.Add(ChannelName); LogListBox lst0 = new LogListBox(); lst0.Name = "logList"; lst0.FormattingEnabled = true; lst0.HorizontalScrollbar = true; lst0.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; lst0.SelectionMode = SelectionMode.MultiExtended; logTabs.TabPages[logTabs.TabCount - 1].Controls.Add(lst0); lst0.Dock = DockStyle.Fill; mLogChannels.Add(new logChannel(logTabs.TabCount - 1, channelIdent)); return(logTabs.TabCount - 1); }
//============================================================================ // LogMonitor.clearAllLogs //============================================================================ public void clearAllLogs() { for (int i = 0; i < logTabs.TabCount; i++) { Control[] ctrl = logTabs.TabPages[i].Controls.Find("logList", true); LogListBox lst = (LogListBox)(ctrl[0]); lst.Items.Clear(); } }
//============================================================================ // LogMonitor.clearLog //============================================================================ public void clearActiveLog() { int k = logTabs.SelectedIndex; Control[] ctrl = logTabs.TabPages[k].Controls.Find("logList", true); LogListBox lst = (LogListBox)(ctrl[0]); lst.Items.Clear(); }