コード例 #1
0
        void lblDownloadData_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            var lbl = sender as LinkLabel;

            if (lbl == null)
            {
                return;
            }
            var infoGroup = lbl.Tag as ServiceInfoGroup;

            if (infoGroup == null)
            {
                return;
            }

            if (Popup != null)
            {
                Popup.Close();
            }

            var seriesList = new List <OneSeriesDownloadInfo>(infoGroup.ItemsCount);

            seriesList.AddRange(infoGroup.GetItems().Select(ClassConvertor.ServiceInfoToOneSeriesDownloadInfo));
            var layer = infoGroup.GetItems().First().Layer; // we have at least one element

            var dataThemeName = layer.LegendText;
            var startArgs     = new StartDownloadArg(seriesList, dataThemeName);

            _parentPlugin.StartDownloading(startArgs, layer);
        }
コード例 #2
0
        public void UpdateContextMenu()
        {
            var searchLayer   = _layer;
            var dataGroupMenu = searchLayer.ContextMenuItems.FirstOrDefault(item => item.Name == "Data");

            if (dataGroupMenu == null)
            {
                return;
            }

            if (LayerHaveDownlodedData(searchLayer))
            {
                var exportPlugin = _downloadPlugin.App.Extensions.OfType <IDataExportPlugin>().FirstOrDefault();
                if (exportPlugin != null)
                {
                    dataGroupMenu.AddMenuItem("Export Time Series Data", delegate { exportPlugin.Export(searchLayer); });
                }
                dataGroupMenu.AddMenuItem("Update Values from Server",
                                          delegate { _downloadPlugin.StartDownloading(searchLayer); });
            }
        }