示例#1
0
        public void SystemLogUpdateEventHandler(object sender, SystemLogUpdateEventArgs e)
        {
            if (e.Log != null)
            {
                _m.SystemLogs.Add(e.Log);
            }
            else if (e.Logs != null)
            {
                // e.Logs
                foreach (LogModel.SystemLog dbLog in e.Logs)
                {
                    _m.SystemLogs.Add(dbLog);
                }
            }
            else
            {
                Debug.Assert(false, $"Invalid {nameof(SystemLogUpdateEventArgs)}");
            }

            Application.Current.Dispatcher.Invoke(() =>
            {
                _m.SystemLogsSelectedIndex = SystemLogListView.Items.Count - 1;
                SystemLogListView.UpdateLayout();
                SystemLogListView.ScrollIntoView(SystemLogListView.Items[_m.SystemLogsSelectedIndex]);
            });
        }
示例#2
0
        public LogWindow(int selectedTabIndex = 0)
        {
            Interlocked.Increment(ref LogWindow.Count);

            DataContext = _m;
            InitializeComponent();

            _m.SelectedTabIndex         = selectedTabIndex;
            _m.Logger.SystemLogUpdated += SystemLogUpdateEventHandler;
            _m.Logger.BuildInfoUpdated += BuildInfoUpdateEventHandler;
            _m.Logger.ScriptUpdated    += ScriptUpdateEventHandler;
            _m.Logger.BuildLogUpdated  += BuildLogUpdateEventHandler;
            _m.Logger.VariableUpdated  += VariableUpdateEventHandler;
            _m.Logger.FullRefresh      += FullRefreshEventHandler;

            // Read Build-Full log column layout
            ReadLayoutFromSetting();

            SystemLogListView.UpdateLayout();
            if (1 < SystemLogListView.Items.Count)
            {
                int idx = SystemLogListView.Items.Count - 1;
                SystemLogListView.ScrollIntoView(SystemLogListView.Items[idx]);
            }
        }
示例#3
0
 public void SystemLogUpdateEventHandler(object sender, SystemLogUpdateEventArgs e)
 {
     Application.Current.Dispatcher.Invoke(() =>
     {
         m.SystemLogListModel.Add(e.Log);
         m.SystemLogListSelectedIndex = m.SystemLogListModel.Count - 1;
         SystemLogListView.UpdateLayout();
         SystemLogListView.ScrollIntoView(SystemLogListView.Items[m.SystemLogListSelectedIndex]);
     });
     m.OnPropertyUpdate("SystemLogListModel");
 }
示例#4
0
        public LogWindow(int selectedTabIndex = 0)
        {
            Interlocked.Increment(ref LogWindow.Count);

            InitializeComponent();
            DataContext = m;

            m.SelectedTabIndex         = selectedTabIndex;
            m.Logger.SystemLogUpdated += SystemLogUpdateEventHandler;
            m.Logger.BuildInfoUpdated += BuildInfoUpdateEventHandler;
            m.Logger.PluginUpdated    += PluginUpdateEventHandler;
            m.Logger.BuildLogUpdated  += BuildLogUpdateEventHandler;
            m.Logger.VariableUpdated  += VariableUpdateEventHandler;

            SystemLogListView.UpdateLayout();
            if (1 < SystemLogListView.Items.Count)
            {
                SystemLogListView.ScrollIntoView(SystemLogListView.Items[SystemLogListView.Items.Count - 1]);
            }
        }