예제 #1
0
        private void OnDataArrivalBegin(DataArrivalConfig config)
        {
            if (config == DataArrivalConfig.TimeRange)
            {
                if (!this.realTime)
                {
                    // Clear
                    foreach (string key in dataSources.Keys)
                    {
                        CurveDataContext dataContext = dataSources[key];
                        i = 0;
                        dataContext.Clear();
                        dataContext.UpdateCurves();
                    }

                    // Reset the Base time.
                    this.baseTimeSet = false;

                    /*
                     * foreach (string key in dataSources.Keys)
                     * {
                     *  CurveDataContext dataContext = dataSources[key];
                     *  //dataContext.UpdateCurves();
                     * }
                     */
                }
            }
            else if (config == DataArrivalConfig.TimeNew)
            {
                if (this.realTime)
                {
                    // Do nothing with dataContext
                }
            }
        }
예제 #2
0
        // ARRIVAL
        private void OnDataArrival(DataArrivalConfig config, Dictionary <string, object> entry)
        {
            if (config == DataArrivalConfig.TimeRecent)
            {
                // Debug.Assert(false, "Time Recent should not be here.");
                this.dataSource.Add(entry);
            }
            else if (config == DataArrivalConfig.TimeRange)
            {
                this.searchDataSource.Add(entry);
            }
            else if (config == DataArrivalConfig.TimeNew)
            {
                const string Time = "time";
                if (!entry.ContainsKey(Time))
                {
                    return;
                }

                if (this.dataSource.Count > 0)
                {
                    Dictionary <string, object> latest = this.dataSource[0];
                    DateTime latestDateTime            = DateTime.Parse((string)latest[Time]);

                    DateTime dt = DateTime.Parse((string)entry[Time]);
                    if (dt > latestDateTime)
                    {
                        this.dataSource.Insert(0, entry);
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    this.dataSource.Add(entry);
                }

                ListView listView = (ListView)this.ListView;
                int      selected = listView.SelectedIndex;
                listView.ItemsSource   = null;
                listView.ItemsSource   = this.dataSource;
                listView.SelectedIndex = selected;

                if (this.dataSource.Count > MaxListCount)
                {
                    int p = MaxListCount;
                    int l = this.dataSource.Count - p;
                    this.dataSource.RemoveRange(p, l);
                }
            }
        }
예제 #3
0
        private void OnDataArrival(DataArrivalConfig config, Dictionary <string, object> entry)
        {
            if (!entry.ContainsKey(TimeKey.ToLower()))
            {
                return;
            }

            string dataTime = (string)entry[TimeKey.ToLower()];

            if (config == DataArrivalConfig.TimeNew)
            {
                if (this.realTime)
                {
                    if (this.lastEntry != null)
                    {
                        string a = (string)this.lastEntry["time"];
                        if (a == dataTime)
                        {
                            return;
                        }
                    }

                    if (!this.baseTimeSet)
                    {
                        DateTime baseTime = DateTime.Parse(dataTime);
                        this.ChartView.UpdateTimeAxis(baseTime);
                        this.baseTimeSet = true;
                    }

                    this.AddTimePoint(i, entry);
                    this.lastEntry = entry;
                    i++;
                }
            }
            else if (config == DataArrivalConfig.TimeRange)
            {
                if (!this.realTime)
                {
                    if (!this.baseTimeSet)
                    {
                        DateTime baseTime = DateTime.Parse(dataTime);
                        this.ChartView.UpdateTimeAxis(baseTime);
                        this.baseTimeSet = true;
                    }

                    this.AddTimePoint(i, entry);
                    i++;
                }
            }
        }
예제 #4
0
 // BEGIN
 private void OnDataArrivalBegin(DataArrivalConfig config)
 {
     if (config == DataArrivalConfig.TimeNew)
     {
         // DO nothing for the realtime data-source
     }
     else if (config == DataArrivalConfig.TimeRange)
     {
         // For show new data source, so clear the old data source.
         this.searchDataSource.Clear();
     }
     else if (config == DataArrivalConfig.TimeRecent)
     {
     }
 }
예제 #5
0
        // END
        private void OnDataArrivalEnd(DataArrivalConfig config)
        {
            if (config == DataArrivalConfig.TimeRecent)
            {
                if (this.ListView == null || !(this.ListView is ListView))
                {
                    return;
                }

                this.dataSource.Sort(DBDataProvider.DateTimeCompare);

                ListView listView = (ListView)this.ListView;
                // Remember the Selected item.
                int selected = listView.SelectedIndex;
                listView.ItemsSource = null;
                // List can only hold 100 items.
                if (this.dataSource.Count > MaxListCount)
                {
                    int p = MaxListCount;
                    int l = this.dataSource.Count - p;
                    this.dataSource.RemoveRange(p, l);
                }
                listView.ItemsSource   = this.dataSource;
                listView.SelectedIndex = selected;
            }
            else if (config == DataArrivalConfig.TimeRange)
            {
                if (this.SearchView == null || !(this.SearchView is ListView))
                {
                    return;
                }

                this.searchDataSource.Sort(DBDataProvider.DateTimeCompare);

                ListView searchListView = (ListView)this.SearchView;
                searchListView.ItemsSource = null;
                searchListView.ItemsSource = this.searchDataSource;
            }
        }
예제 #6
0
 private void OnDataArrivalEnd(DataArrivalConfig config)
 {
     if (config == DataArrivalConfig.TimeRange)
     {
     }
 }
예제 #7
0
        private void OnDataArrival(DataArrivalConfig config, Dictionary<string, object> entry)
        {
            if (!entry.ContainsKey(TimeKey.ToLower()))
            {
                return;
            }

            string dataTime = (string)entry[TimeKey.ToLower()];
            if (config == DataArrivalConfig.TimeNew)
            {
                if (this.realTime)
                {
                    if (this.lastEntry != null)
                    {
                        string a = (string)this.lastEntry["time"];
                        if (a == dataTime)
                        {
                            return;
                        }
                    }

                    if (!this.baseTimeSet)
                    {
                        DateTime baseTime = DateTime.Parse(dataTime);
                        this.ChartView.UpdateTimeAxis(baseTime);
                        this.baseTimeSet = true;
                    }

                    this.AddTimePoint(i, entry);
                    this.lastEntry = entry;
                    i++;
                }
            }
            else if (config == DataArrivalConfig.TimeRange)
            {
                if (!this.realTime)
                {
                    if (!this.baseTimeSet)
                    {
                        DateTime baseTime = DateTime.Parse(dataTime);
                        this.ChartView.UpdateTimeAxis(baseTime);
                        this.baseTimeSet = true;
                    }

                    this.AddTimePoint(i, entry);
                    i++;
                }
            }

        }
예제 #8
0
        private void OnDataArrivalBegin(DataArrivalConfig config)
        {
            if (config == DataArrivalConfig.TimeRange)
            {
                if (!this.realTime)
                {
                    // Clear
                    foreach (string key in dataSources.Keys)
                    {
                        CurveDataContext dataContext = dataSources[key];
                        i = 0;
                        dataContext.Clear();
                        dataContext.UpdateCurves();
                    }

                    // Reset the Base time.
                    this.baseTimeSet = false;

                    /*
                    foreach (string key in dataSources.Keys)
                    {
                        CurveDataContext dataContext = dataSources[key];
                        //dataContext.UpdateCurves();
                    }
                    */
                    
                }
            }
            else if (config == DataArrivalConfig.TimeNew)
            {
                if (this.realTime)
                {
                    // Do nothing with dataContext
                }
            }
        }
예제 #9
0
 private void OnDataArrivalEnd(DataArrivalConfig config)
 {
     if (config == DataArrivalConfig.TimeRange)
     {
     }
 }
예제 #10
0
        // END
        private void OnDataArrivalEnd(DataArrivalConfig config)
		{
            if (config == DataArrivalConfig.TimeRecent)
            {

                if (this.ListView == null || !(this.ListView is ListView))
                    return;

                this.dataSource.Sort(DBDataProvider.DateTimeCompare);

                ListView listView = (ListView)this.ListView;
                // Remember the Selected item.
                int selected = listView.SelectedIndex;
                listView.ItemsSource = null;
                // List can only hold 100 items.
                if (this.dataSource.Count > MaxListCount)
                {
                    int p = 100;
                    int l = this.dataSource.Count - p;
                    this.dataSource.RemoveRange(p, l);
                }
                listView.ItemsSource = this.dataSource;
                listView.SelectedIndex = selected;

            }
            else if (config == DataArrivalConfig.TimeRange)
            {
                if (this.SearchView == null || !(this.SearchView is ListView))
                    return;

                this.searchDataSource.Sort(DBDataProvider.DateTimeCompare);

                ListView searchListView = (ListView)this.SearchView;
                searchListView.ItemsSource = null;
                searchListView.ItemsSource = this.searchDataSource;

            }
			
		}
예제 #11
0
        // ARRIVAL
		private void OnDataArrival(DataArrivalConfig config, Dictionary<string, object> entry)
		{
            if (config == DataArrivalConfig.TimeRecent)
            {
                // Debug.Assert(false, "Time Recent should not be here.");
                this.dataSource.Add(entry); 
            }
            else if (config == DataArrivalConfig.TimeRange)
            {
                this.searchDataSource.Add(entry);
            }
            else if (config == DataArrivalConfig.TimeNew)
            {
                const string Time = "time";
                if (!entry.ContainsKey(Time))
                {
                    return;
                }
                
                if (this.dataSource.Count > 0)
                {
                    Dictionary<string, object> latest = this.dataSource[0];
                    DateTime latestDateTime = DateTime.Parse((string)latest[Time]);

                    DateTime dt = DateTime.Parse((string)entry[Time]);
                    if (dt > latestDateTime)
                    {
                        this.dataSource.Insert(0, entry);
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    this.dataSource.Add(entry);
                }

                ListView listView = (ListView)this.ListView;
                int selected = listView.SelectedIndex;
                listView.ItemsSource = null;
                listView.ItemsSource = this.dataSource;
                listView.SelectedIndex = selected;

                if (this.dataSource.Count > MaxListCount)
                {
                    int p = MaxListCount;
                    int l = this.dataSource.Count - p;
                    this.dataSource.RemoveRange(p, l);
                }
            }
		}
예제 #12
0
        // BEGIN
        private void OnDataArrivalBegin(DataArrivalConfig config)
		{
            if (config == DataArrivalConfig.TimeNew)
            {
                // DO nothing for the realtime data-source
            }
            else if (config == DataArrivalConfig.TimeRange)
            {
                // For show new data source, so clear the old data source.
                this.searchDataSource.Clear();
            }
            else if (config == DataArrivalConfig.TimeRecent)
            {

            }
		}