/// <summary> /// /// </summary> /// <param name="item"></param> /// <param name="entry"></param> void SetItemAsEntryLocal(ListViewItem item, DataStoreEntry entry) { if (listViewProviderEntries.Groups[entry.Symbol.Source] == null) { listViewProviderEntries.Groups.Add(entry.Symbol.Source, entry.Symbol.Source); } listViewProviderEntries.Groups[entry.Symbol.Source].Items.Add(item); while (item.SubItems.Count < 6) { item.SubItems.Add(""); } item.Text = entry.Symbol.Name; item.Tag = entry; if (entry.Period.HasValue) { item.SubItems[1].Text = entry.Period.Value.ToString(); } else { item.SubItems[1].Text = "-"; } item.SubItems[2].Text = entry.StartTime.ToString(); item.SubItems[3].Text = entry.EndTime.ToString(); // Quote count. item.SubItems[4].Text = entry.QuoteCount.ToString(); item.SubItems[5].Text = entry.Description; }
public virtual void SetData(string format, bool autoConvert, object?data) { Debug.WriteLineIf(CompModSwitches.DataObject.TraceVerbose, "DataStore: SetData: " + format + ", " + autoConvert.ToString() + ", " + data?.ToString() ?? "(null)"); if (string.IsNullOrWhiteSpace(format)) { ArgumentNullException.ThrowIfNull(format); throw new ArgumentException(SR.DataObjectWhitespaceEmptyFormatNotAllowed, nameof(format)); } // We do not have proper support for Dibs, so if the user explicitly asked // for Dib and provided a Bitmap object we can't convert. Instead, publish as an HBITMAP // and let the system provide the conversion for us. if (data is Bitmap && format.Equals(DataFormats.Dib)) { if (autoConvert) { format = DataFormats.Bitmap; } else { throw new NotSupportedException(SR.DataObjectDibNotSupported); } } _data[format] = new DataStoreEntry(data, autoConvert); }
public virtual object GetData(string format, bool autoConvert) { Debug.WriteLineIf(CompModSwitches.DataObject.TraceVerbose, "DataStore: GetData: " + format + ", " + autoConvert.ToString()); if (string.IsNullOrWhiteSpace(format)) { return(null); } DataStoreEntry dse = (DataStoreEntry)data[format]; object baseVar = null; if (dse is not null) { baseVar = dse.data; } object original = baseVar; if (autoConvert && (dse is null || dse.autoConvert) && (baseVar is null || baseVar is MemoryStream)) { string[] mappedFormats = GetMappedFormats(format); if (mappedFormats is not null) { for (int i = 0; i < mappedFormats.Length; i++) { if (!format.Equals(mappedFormats[i])) { DataStoreEntry found = (DataStoreEntry)data[mappedFormats[i]]; if (found is not null) { baseVar = found.data; } if (baseVar is not null && !(baseVar is MemoryStream)) { original = null; break; } } } } } if (original is not null) { return(original); } else { return(baseVar); } }
private void toolStripButtonShowEntryData_Click(object sender, EventArgs e) { if (listViewProviderEntries.SelectedItems.Count == 0) { return; } if (listViewProviderEntries.SelectedItems.Count > 1) { MessageBox.Show("Select only one entry to show its data.", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } DataStoreEntry entry = (DataStoreEntry)listViewProviderEntries.SelectedItems[0].Tag; if (entry.Period.HasValue == false || entry.DataType != DataStoreEntry.EntryDataTypeEnum.DataBar) { return; } DataReaderWriter <DataBar> readerWriter = entry.GetDataBarReaderWriter(); if (readerWriter == null) { MessageBox.Show("Failed to read entry file.", "Open Forex Platform", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } List <DataBar> barData = readerWriter.Read(); RawDataTradeChartSeries series = new RawDataTradeChartSeries(entry.Symbol.Name); series.Initialize(barData, entry.Period.Value); ChartForm form = new ChartForm("Entry [" + entry.Symbol.Name + "," + entry.Period.ToString() + "] Data"); form.Chart.MasterPane.Add(series); form.Chart.MasterPane.FitDrawingSpaceToScreen(true, true); form.Show(this.ParentForm); }
private Object GetDataFromDataStoreEntry(DataStoreEntry dataStoreEntry, string format) { Object data; data = null; if (dataStoreEntry != null) { data = dataStoreEntry.Data; } return data; }
private void SetData(string format, Object data, bool autoConvert, DVASPECT aspect, int index) { DataStoreEntry dse; DataStoreEntry[] datalist; dse = new DataStoreEntry(data, autoConvert, aspect, index); datalist = (DataStoreEntry[])this._data[format]; if (datalist == null) { datalist = (DataStoreEntry[])Array.CreateInstance(typeof(DataStoreEntry), 1); } else { DataStoreEntry[] newlist; newlist = (DataStoreEntry[])Array.CreateInstance(typeof(DataStoreEntry), datalist.Length + 1); datalist.CopyTo(newlist, 1); datalist = newlist; } datalist[0] = dse; this._data[format] = datalist; }
void Manager_EntryRemovedEvent(DataStore manager, DataStoreEntry entry) { WinFormsHelper.BeginFilteredManagedInvoke(this, UpdateUI); }