/// <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;
        }
Ejemplo n.º 2
0
            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);
            }
Ejemplo n.º 3
0
            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);
        }
Ejemplo n.º 5
0
            private Object GetDataFromDataStoreEntry(DataStoreEntry dataStoreEntry, string format)
            {
                Object data;

                data = null;
                if (dataStoreEntry != null)
                {
                    data = dataStoreEntry.Data;
                }

                return data;
            }
Ejemplo n.º 6
0
            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);
 }