public MainViewModel( IDataApiClient dataApiClient, DataVisualizer dataVisualizer, IReadonlyObjectDatabase <UserProfile> userDatabase, IReadonlyObjectDatabase <DataSet> dataSetDatabase, IReadonlyObjectDatabase <DataProject> dataProjectDatabase, IClipboard clipboard, IClosable mainWindow) { this.dataApiClient = dataApiClient; this.userDatabase = userDatabase; this.mainWindow = mainWindow; DataSetMainViewModel = new DataSetMainViewModel(dataApiClient, dataSetDatabase, dataProjectDatabase, clipboard); CollectionsMainViewModel = new CollectionsMainViewModel(dataApiClient, dataVisualizer, userDatabase, clipboard); var passwordBoxSpawner = new WpfPasswordBoxSpawner(); var loginViewSpawner = new WpfWindowSpawner <LoginViewModel>(vm => new LoginWindow { ViewModel = vm }); var changePasswordViewSpawner = new WpfWindowSpawner <ChangePasswordViewModel>(vm => new ChangePasswordWindow { ViewModel = vm }); UserSwitchViewModel = new UserSwitchViewModel( dataApiClient, LoginSuccessful, LoginFailed, passwordBoxSpawner, loginViewSpawner, changePasswordViewSpawner); OpenUserManagementWindowCommand = new RelayCommand(OpenUserManagementWindow); OpenAboutWindowCommand = new RelayCommand(OpenAboutWindow); }
// Start is called before the first frame update void Start() { path = $"Assets/Resources/{filename}.txt"; reader = new StreamReader(path); stockList = ParseFile(); stockList.Reverse(); DataVisualizer visualizer = FindObjectOfType <DataVisualizer>(); visualizer.Visualize(); }
public CollectionExplorationViewModel( IDataApiClient dataApiClient, CollectionInformation collectionInformation, DataVisualizer dataVisualizer, IClipboard clipboard, ICollectionSwitcher collectionSwitcher) { CollectionInformation = collectionInformation; DataObjectListViewModel = new DataObjectListViewModel(collectionInformation, dataApiClient, dataVisualizer, clipboard, collectionSwitcher); QueryEditorViewModel = new QueryEditorViewModel(dataApiClient, collectionInformation.CollectionName); QueryEditorViewModel.JsonSearchFinished += QueryEditorViewModel_JsonSearchFinished; }
public CollectionsMainViewModel( IDataApiClient dataApiClient, DataVisualizer dataVisualizer, IReadonlyObjectDatabase <UserProfile> userDatabase, IClipboard clipboard) { this.dataApiClient = dataApiClient; this.dataVisualizer = dataVisualizer; this.clipboard = clipboard; collectionSwitcher = new CollectionSwitcher(SwitchToCollection, Constants.DefaultQuery); CollectionListViewModel = new CollectionListViewModel(dataApiClient, userDatabase); CollectionListViewModel.PropertyChanged += CollectionListViewModel_PropertyChanged; }
public DataObjectListViewModel( CollectionInformation collectionInformation, IDataApiClient dataApiClient, DataVisualizer dataVisualizer, IClipboard clipboard, ICollectionSwitcher collectionSwitcher) { this.dataApiClient = dataApiClient; this.dataVisualizer = dataVisualizer; this.clipboard = clipboard; this.collectionSwitcher = collectionSwitcher; CollectionInformation = collectionInformation; CanVisualize = dataVisualizer.CanVisualize(CollectionInformation.CollectionName); ExportCommand = new RelayCommand(Export, CanExport); VisualizeCommand = new RelayCommand(Visualize, () => CanVisualize); }
/// <summary> /// Closes the data visualizer. /// </summary> private void CloseDataVisualizer() { if (!_dataVisualizerOpened) { return; } _dataVisualizerOpened = false; ThumbnailViewHeight = Constants.TimeLineScrollViewHeight; _timeLineScrollView.Frame = new CGRect(Constants.Origin, View.Frame.Height - Constants.TimeLineScrollViewHeight - Constants.ResultsToolBarHeight, View.Frame.Width, Constants.TimeLineScrollViewHeight); CalculateScaledDimensions(InputImageEntry.Image); ImageView.Frame = new CGRect(0, 0, ImgWidth, ImgHeight); UpdateScrollViewDimensions(); UpdateBoundingBoxes(); _thumbnailStackView.Frame = new CGRect(Constants.Origin, Constants.Origin, Constants.TotalThumbnailWidth * InputImageEntries.Count, Constants.ThumbnailHeight); _subHeadingStackView.Frame = new CGRect(Constants.Origin, Constants.Origin, Constants.TotalThumbnailWidth * InputImageEntries.Count, Constants.SubheadingViewHeight); _dataVisualizer.Chart.RemoveFromSuperview(); _legendView.RemoveFromSuperview(); _dataVisualizer.Dispose(); _legendView.Dispose(); _legendScrollView.Dispose(); _dataVisualizerCloseButton.Dispose(); _dataVisualizer = null; _legendView = null; _legendScrollView = null; _dataVisualizerCloseButton = null; }
public ActionResult GetImage(string testId, GestureType type, DataSource source = DataSource.Old) { List <Attempt> attempts = new List <Attempt>(); if (testId != "average") { attempts = AttemptRepository.GetTest(testId, source).Attempts[type]; } else { var tests = AttemptRepository.GetTests(source); foreach (var test in tests) { attempts.AddRange(test.Attempts[type]); } } MemoryStream ms; DataVisualizer.DrawHitBox(attempts, out ms); return(File(ms, "image/png")); }
// Invoked when the value of the slider changes. public void ValueChange() { if (SliderInstance.value == 0) { // select TimeStamp 1 in index from ActivateSeries ChangeData = FindObjectOfType <DataVisualizer>(); ChangeData.ActivateSeries(0); //Debug.Log(SliderInstance.value); } else if (SliderInstance.value == 1) { // select TimeStamp 1 in index from ActivateSeries ChangeData = FindObjectOfType <DataVisualizer>(); ChangeData.ActivateSeries(1); //Debug.Log(SliderInstance.value); } else if (SliderInstance.value == 2) { // select TimeStamp 1 in index from ActivateSeries ChangeData = FindObjectOfType <DataVisualizer>(); ChangeData.ActivateSeries(2); //Debug.Log(SliderInstance.value); } else if (SliderInstance.value == 3) { // select TimeStamp 1 in index from ActivateSeries ChangeData = FindObjectOfType <DataVisualizer>(); ChangeData.ActivateSeries(3); //Debug.Log(SliderInstance.value); } else if (SliderInstance.value == 4) { // select TimeStamp 1 in index from ActivateSeries ChangeData = FindObjectOfType <DataVisualizer>(); ChangeData.ActivateSeries(4); //Debug.Log(SliderInstance.value); } else if (SliderInstance.value == 5) { // select TimeStamp 1 in index from ActivateSeries ChangeData = FindObjectOfType <DataVisualizer>(); ChangeData.ActivateSeries(5); //Debug.Log(SliderInstance.value); } else if (SliderInstance.value == 6) { // select TimeStamp 1 in index from ActivateSeries ChangeData = FindObjectOfType <DataVisualizer>(); ChangeData.ActivateSeries(6); //Debug.Log(SliderInstance.value); } else if (SliderInstance.value == 7) { // select TimeStamp 1 in index from ActivateSeries ChangeData = FindObjectOfType <DataVisualizer>(); ChangeData.ActivateSeries(7); //Debug.Log(SliderInstance.value); } else if (SliderInstance.value == 8) { // select TimeStamp 1 in index from ActivateSeries ChangeData = FindObjectOfType <DataVisualizer>(); ChangeData.ActivateSeries(8); //Debug.Log(SliderInstance.value); } else if (SliderInstance.value == 9) { // select TimeStamp 1 in index from ActivateSeries ChangeData = FindObjectOfType <DataVisualizer>(); ChangeData.ActivateSeries(9); // Debug.Log(SliderInstance.value); } }
private void Awake() { thisDV = this; }
void Awake() { GenerateGraphBounds(); dataVisualizer = FindObjectOfType <DataVisualizer>(); }
void OnEnable() { dv = (DataVisualizer)target; }
/// <summary> /// Opens data visualizer with the detected <see cref="Observation"/>s. /// </summary> private void OpenDataVisualizer() { if (_dataVisualizerOpened) { return; } _dataVisualizerOpened = true; var allDataPoints = new List <Dictionary <Category, int> >(); var allCategories = new HashSet <Category>(); foreach (var imageEntry in InputImageEntries) { UpdateCategoryColors(imageEntry); var dataPoints = new Dictionary <Category, int>(); foreach (var observation in imageEntry.Observations) { if (dataPoints.ContainsKey(observation.Category)) { dataPoints[observation.Category]++; } else { dataPoints.Add(observation.Category, 1); } allCategories.Add(observation.Category); } allDataPoints.Add(dataPoints); } _dataVisualizer = new BarChartSeries(allDataPoints, allCategories); _dataVisualizer.Update(allCategories.Where(category => SidebarController.CheckboxState[category]), new Category[] { }, View); ThumbnailViewHeight = Constants.TimeLineScrollViewHeight + Constants.BarChartSeriesStackViewHeight + Constants.LegendHeight; _timeLineScrollView.Frame = new CGRect(Constants.Origin, View.Frame.Height - Constants.ResultsToolBarHeight - ThumbnailViewHeight + Constants.LegendHeight, View.Frame.Width, ThumbnailViewHeight); CalculateScaledDimensions(InputImageEntry.Image); ImageView.Frame = new CGRect(0, 0, ImgWidth, ImgHeight); UpdateScrollViewDimensions(); UpdateBoundingBoxes(); var barChartsTopConstraint = NSLayoutConstraint.Create(_dataVisualizer.Chart, NSLayoutAttribute.Top, NSLayoutRelation.Equal, _timeLineScrollView, NSLayoutAttribute.Top, 1f, 0f); var barChartsLeadingConstraint = NSLayoutConstraint.Create(_dataVisualizer.Chart, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, _timeLineScrollView, NSLayoutAttribute.Leading, 1f, 0f); _timeLineScrollView.AddSubview(_dataVisualizer.Chart); _timeLineScrollView.AddConstraints(new[] { barChartsTopConstraint, barChartsLeadingConstraint }); _thumbnailStackView.Frame = new CGRect(Constants.Origin, Constants.BarChartSeriesStackViewHeight, Constants.TotalThumbnailWidth * InputImageEntries.Count, Constants.ThumbnailHeight); _subHeadingStackView.Frame = new CGRect(Constants.Origin, Constants.BarChartSeriesStackViewHeight, Constants.TotalThumbnailWidth * InputImageEntries.Count, Constants.SubheadingViewHeight); _legendScrollView = new UIScrollView(new CGRect(0, 0, View.Frame.Width, Constants.LegendHeight)) { ContentSize = new CGSize(_dataVisualizer.Legend.Frame.Width, Constants.LegendHeight), BackgroundColor = Constants.LegendViewColour, UserInteractionEnabled = true, ScrollEnabled = true }; _legendView = new UIView(new CGRect(Constants.Origin, View.Frame.Height - Constants.ResultsToolBarHeight - ThumbnailViewHeight, View.Frame.Width, Constants.LegendHeight)) { BackgroundColor = Constants.LegendViewColour, UserInteractionEnabled = true }; View.AddSubview(_legendView); var legendLeadingConstraint = NSLayoutConstraint.Create(_dataVisualizer.Legend, NSLayoutAttribute.LeadingMargin, NSLayoutRelation.Equal, _legendScrollView, NSLayoutAttribute.LeadingMargin, 1f, 0f); var legendCenterYConstraint = NSLayoutConstraint.Create(_dataVisualizer.Legend, NSLayoutAttribute.CenterY, NSLayoutRelation.Equal, _legendScrollView, NSLayoutAttribute.CenterY, 1f, 0f); _legendScrollView.AddSubview(_dataVisualizer.Legend); _legendScrollView.AddConstraints(new[] { legendLeadingConstraint, legendCenterYConstraint }); _dataVisualizerCloseButton = new UIButton(UIButtonType.System) { TintColor = Constants.CloseBtnColor }; _dataVisualizerCloseButton.SetImage(new UIImage(Constants.CloseBtnImage), UIControlState.Normal); _dataVisualizerCloseButton.SizeToFit(); _dataVisualizerCloseButton.Frame = new CGRect( View.Frame.Width - _dataVisualizerCloseButton.Frame.Width - Constants.CloseButtonMargin, (Constants.LegendHeight - _dataVisualizerCloseButton.Frame.Height) / 2, _dataVisualizerCloseButton.Frame.Width, _dataVisualizerCloseButton.Frame.Height); ConfigureDataVisualizeCloseButtonAccessibilityAttribute(_dataVisualizerCloseButton); _legendScrollView.Frame = new CGRect(0, 0, View.Frame.Width - _dataVisualizerCloseButton.Frame.Width - Constants.CloseButtonMargin * 2, Constants.LegendHeight); _legendView.AddSubview(_legendScrollView); _legendView.AddSubview(_dataVisualizerCloseButton); _dataVisualizerCloseButton.TouchUpInside += DataVisualizerCloseButton_TouchUpInside; _legendScrollView.BringSubviewToFront(_dataVisualizerCloseButton); }