//private Security[] Securities //{ // get // { // var entityRegistry = ConfigManager.GetService<IStudioEntityRegistry>(); // return _securityIds // .Select(id => entityRegistry.Securities.ReadById(id)) // .Where(s => s != null) // .ToArray(); // } //} public SecuritiesPanel() { InitializeComponent(); _defaultColumns.ForEach(c => SecurityPicker.SetColumnVisibility(c, Visibility.Visible)); SecurityPicker.GridChanged += RaiseChangedCommand; GotFocus += (s, e) => RaiseSelectedCommand(); var cmdSvc = ConfigManager.GetService <IStudioCommandService>(); //cmdSvc.Register<ResetedCommand>(this, false, cmd => //{ // var selectedSecurities = Securities; // selectedSecurities.ForEach(RaiseRefuseMarketData); // selectedSecurities.ForEach(RaiseRequestMarketData); //}); cmdSvc.Register <BindConnectorCommand>(this, true, cmd => { if (!cmd.CheckControl(this)) { return; } SecurityPicker.SecurityProvider = ConfigManager.GetService <ISecurityProvider>(); }); WhenLoaded(() => new RequestBindSource(this).SyncProcess(this)); }
/// <summary> /// Получить инструмент "Все инструменты". /// </summary> /// <param name="picker">Визуальный компонент для поиска и выбора инструмента.</param> public static void ExcludeAllSecurity(this SecurityPicker picker) { if (picker == null) { throw new ArgumentNullException(nameof(picker)); } picker.ExcludeSecurities.Add(GetAllSecurity()); }
void IPersistable.Load(SettingsStorage storage) { if (storage.ContainsKey("Drive")) DrivePanel.SelectedDrive = DriveCache.Instance.GetDrive(storage.GetValue<string>("Drive")); DrivePanel.StorageFormat = storage.GetValue<StorageFormats>("StorageFormat"); MarketData.Load(storage.GetValue<SettingsStorage>("MarketData")); SecurityPicker.Load(storage.GetValue<SettingsStorage>("SecurityPicker")); LookupPanel.Load(storage.GetValue<SettingsStorage>("LookupPanel")); }
void IPersistable.Save(SettingsStorage storage) { if (DrivePanel.SelectedDrive != null) storage.SetValue("Drive", DrivePanel.SelectedDrive.Path); storage.SetValue("StorageFormat", DrivePanel.StorageFormat.To<string>()); storage.SetValue("MarketData", MarketData.Save()); storage.SetValue("SecurityPicker", SecurityPicker.Save()); storage.SetValue("LookupPanel", LookupPanel.Save()); }
public GluingDataPane() { InitializeComponent(); _entityRegistry = ConfigManager.GetService <IEntityRegistry>(); SecurityPicker.SecurityProvider = ConfigManager.GetService <ISecurityProvider>(); SecurityPicker.ExcludeAllSecurity(); MarketData.DataLoading += () => MarketDataBusyIndicator.IsBusy = true; MarketData.DataLoaded += () => MarketDataBusyIndicator.IsBusy = false; }
void IPersistable.Save(SettingsStorage storage) { if (DrivePanel.SelectedDrive != null) { storage.SetValue("Drive", DrivePanel.SelectedDrive.Path); } storage.SetValue("StorageFormat", DrivePanel.StorageFormat.To <string>()); storage.SetValue("MarketData", MarketData.Save()); storage.SetValue("SecurityPicker", SecurityPicker.Save()); storage.SetValue("DataTypeComboBox", DataTypeComboBox.SelectedIndex); }
void IPersistable.Load(SettingsStorage storage) { if (storage.ContainsKey("Drive")) { DrivePanel.SelectedDrive = DriveCache.Instance.GetDrive(storage.GetValue <string>("Drive")); } DrivePanel.StorageFormat = storage.GetValue <StorageFormats>("StorageFormat"); MarketData.Load(storage.GetValue <SettingsStorage>("MarketData")); SecurityPicker.Load(storage.GetValue <SettingsStorage>("SecurityPicker")); DataTypeComboBox.SelectedIndex = storage.GetValue <int>("DataTypeComboBox"); }
public AllSecuritiesPane() { InitializeComponent(); Progress.Init(ExportBtn, MainGrid); SecurityPicker.SecurityProvider = ConfigManager.GetService <ISecurityProvider>(); SecurityPicker.ExcludeAllSecurity(); ExportBtn.EnableType(ExportTypes.Bin, false); MarketData.DataLoading += () => MarketDataBusyIndicator.IsBusy = true; MarketData.DataLoaded += () => MarketDataBusyIndicator.IsBusy = false; }
public override void Save(SettingsStorage storage) { //storage.SetValue("Expression", Expression); storage.SetValue("DateFrom", DateFrom); storage.SetValue("DateTo", DateTo); if (MarketDataSettings != null) { storage.SetValue("MarketDataSettings", MarketDataSettings.Id.To <string>()); } storage.SetValue("ChartPanel", ChartPanel.Save()); storage.SetValue("SecurityPicker", SecurityPicker.Save()); storage.SetValue("Layout", DockSite.SaveLayout()); }
public override void Load(SettingsStorage storage) { //_suspendChangedEvent = true; //Expression = storage.GetValue("Expression", Expression); DateFrom = storage.GetValue("DateFrom", DateFrom); DateTo = storage.GetValue("DateTo", DateTo); var marketDataSettings = storage.GetValue <string>("MarketDataSettings"); if (marketDataSettings != null) { var id = marketDataSettings.To <Guid>(); var settings = ConfigManager.GetService <MarketDataSettingsCache>().Settings.FirstOrDefault(s => s.Id == id); if (settings != null) { MarketDataSettings = settings; } } var chart = storage.GetValue <SettingsStorage>("ChartPanel"); if (chart != null) { ChartPanel.Load(chart); } var securityPicker = storage.GetValue <SettingsStorage>("SecurityPicker"); if (securityPicker != null) { SecurityPicker.Load(securityPicker); } var layout = storage.GetValue <string>("Layout"); if (layout != null) { DockSite.LoadLayout(layout); } //_suspendChangedEvent = false; }
public CompositeSecurityPanel() { InitializeComponent(); InputBorder.SetBindings(IsEnabledProperty, this, "IsStarted", BindingMode.OneWay, new InverseBooleanConverter()); MarketDataSettings = ConfigManager.GetService <MarketDataSettingsCache>().Settings.First(s => s.Id != Guid.Empty); DateFrom = DateTime.Today.AddDays(-180); DateTo = DateTime.Today; _timer = new ResettableTimer(TimeSpan.FromSeconds(30)); _timer.Elapsed += () => { GuiDispatcher.GlobalDispatcher.AddAction(() => IsStarted = false); _bufferedChart.IsAutoRange = false; }; _drawTimer = new ResettableTimer(TimeSpan.FromSeconds(2)); _drawTimer.Elapsed += DrawTimerOnElapsed; ChartPanel.SubscribeCandleElement += OnChartPanelSubscribeCandleElement; ChartPanel.SubscribeIndicatorElement += OnChartPanelSubscribeIndicatorElement; ChartPanel.UnSubscribeElement += OnChartPanelUnSubscribeElement; var indicatorTypes = ConfigManager .GetService <IAlgoService>() .IndicatorTypes; ChartPanel.IsInteracted = true; ChartPanel.MinimumRange = 200; ChartPanel.IndicatorTypes.AddRange(indicatorTypes); SecurityPicker.SetColumnVisibility("Id", Visibility.Visible); SecurityPicker.SetColumnVisibility("Code", Visibility.Collapsed); _candleManager.Container.CandlesKeepTime = TimeSpan.FromDays(5000); _candleManager.Processing += ProcessCandle; WhenLoaded(OnLoaded); _bufferedChart = new BufferedChart(ChartPanel); }
public override void Load(SettingsStorage storage) { var gridSettings = storage.GetValue <SettingsStorage>("SecurityPicker"); if (gridSettings != null) { SecurityPicker.Load(gridSettings); } var alertSettings = storage.GetValue <SettingsStorage>("AlertSettings"); if (alertSettings != null) { AlertBtn.Load(alertSettings); } _securityIds.SyncDo(list => { list.Clear(); list.AddRange(storage.GetValue("Securities", ArrayHelper <string> .EmptyArray)); }); }
//TODO: дописать логику загрузки состояния для DockSite public override void Load(SettingsStorage storage) { var gridSettings = storage.GetValue <SettingsStorage>("SecurityPicker"); if (gridSettings != null) { SecurityPicker.Load(gridSettings); } var layout = storage.GetValue <string>("Layout"); //if (layout != null) // DockSite.LoadLayout(layout); _securityIds.SyncDo(list => { list.Clear(); list.AddRange(storage.GetValue("Securities", ArrayHelper.Empty <string>())); }); SecurityPicker.SecurityProvider = ConfigManager.GetService <ISecurityProvider>(); }
public override void Load(SettingsStorage storage) { var gridSettings = storage.GetValue <SettingsStorage>("SecurityPicker"); if (gridSettings != null) { SecurityPicker.Load(gridSettings); } var layout = storage.GetValue <string>("Layout"); if (layout != null) { DockSite.LoadLayout(layout); } _securityIds.SyncDo(list => { list.Clear(); list.AddRange(storage.GetValue("Securities", ArrayHelper <string> .EmptyArray)); }); }
public StrategySecuritiesPanel() { InitializeComponent(); SecurityPicker.GridChanged += RaiseChangedCommand; AlertBtn.SchemaChanged += RaiseChangedCommand; GotFocus += (s, e) => RaiseSelectedCommand(); _newSecuritiesTooltip = (ToolTip)AddSecurity.ToolTip; _defaultStorageBrush = ((TextBlock)_newSecuritiesTooltip.Content).Foreground; _defaultToolTipText = ((TextBlock)_newSecuritiesTooltip.Content).Text; var cmdSvc = ConfigManager.GetService <IStudioCommandService>(); cmdSvc.Register <ResetedCommand>(this, false, cmd => { var selectedSecurities = Securities; selectedSecurities.ForEach(RaiseRefuseMarketData); selectedSecurities.ForEach(RaiseRequestMarketData); }); cmdSvc.Register <NewSecuritiesCommand>(this, false, cmd => { if (_isTooltipVisible) { return; } _isTooltipVisible = true; GuiDispatcher.GlobalDispatcher.AddAction(() => { ((TextBlock)_newSecuritiesTooltip.Content).Text = LocalizedStrings.Str3276; ((TextBlock)_newSecuritiesTooltip.Content).Foreground = Brushes.Red; _newSecuritiesTooltip.Placement = PlacementMode.Bottom; _newSecuritiesTooltip.PlacementTarget = AddSecurity; _newSecuritiesTooltip.IsOpen = true; }); }); cmdSvc.Register <BindStrategyCommand>(this, false, cmd => { if (!cmd.CheckControl(this)) { return; } if (_securityIds.Count == 0) { _securityIds.Add(cmd.Source.Security.Id); AddDefaultSecurities("RI"); AddDefaultSecurities("Si"); AddDefaultSecurities("GZ"); } var selectedSecurities = Securities; SecurityPicker.Securities.AddRange(selectedSecurities); selectedSecurities.ForEach(RaiseRequestMarketData); GuiDispatcher.GlobalDispatcher.AddAction(() => { SecurityPicker.AddContextMenuItem(new Separator()); SecurityPicker.AddContextMenuItem(new MenuItem { Header = LocalizedStrings.Str3277, Command = OpenMarketDepthCommand, CommandTarget = this }); }); }); WhenLoaded(() => new RequestBindSource(this).SyncProcess(this)); }
public override void Save(SettingsStorage storage) { storage.SetValue("SecurityPicker", SecurityPicker.Save()); storage.SetValue("AlertSettings", AlertBtn.Save()); storage.SetValue("Securities", _securityIds.ToArray()); }
public override void Save(SettingsStorage storage) { storage.SetValue("SecurityPicker", SecurityPicker.Save()); storage.SetValue("Layout", DockSite.SaveLayout()); storage.SetValue("Securities", _securityIds.ToArray()); }