private void addNewAnnotationDatabase() { if (Time.TotalDuration > 0) { string annoScheme = DatabaseHandler.SelectScheme(); if (annoScheme == null) { return; } string role = DatabaseHandler.SelectRole(); if (role == null) { return; } AnnoScheme scheme = DatabaseHandler.GetAnnotationScheme(annoScheme); if (scheme == null) { return; } scheme.Labels.Add(new AnnoScheme.Label("GARBAGE", Colors.Black)); ObjectId annotatid = DatabaseHandler.GetObjectID(DatabaseDefinitionCollections.Annotators, "name", Properties.Settings.Default.MongoDBUser); string annotator = Properties.Settings.Default.MongoDBUser; // DatabaseHandler.FetchDBRef(DatabaseDefinitionCollections.Annotators, "fullname", annotatid); AnnoList annoList; if (DatabaseHandler.AnnotationExists(annotator, DatabaseHandler.SessionName, role, scheme.Name)) { DatabaseAnnotation annotation = new DatabaseAnnotation() { Annotator = annotator, Session = DatabaseHandler.SessionName, Role = role, Scheme = scheme.Name }; annoList = DatabaseHandler.LoadAnnoList(annotation, false); annoList.HasChanged = false; } else { annoList = new AnnoList(); annoList.Meta.Role = role; annoList.Meta.Annotator = annotator; string annotatorFullName = DatabaseHandler.GetUserInfo(annotator).Fullname; annoList.Meta.AnnotatorFullName = annotatorFullName; annoList.Scheme = scheme; annoList.Source.StoreToDatabase = true; annoList.Source.Database.Session = DatabaseHandler.SessionName; annoList.HasChanged = true; } addAnnoTier(annoList); control.annoListControl.editComboBox.SelectedIndex = 0; } else { MessageTools.Warning("Nothing to annotate, load some data first."); } }
private void IsLockedCheckBox_Checked(object sender, RoutedEventArgs e) { DatabaseAnnotation anno = (DatabaseAnnotation)((CheckBox)sender).DataContext; ChangeLockedState(anno.Id, true); }
public void ReloadAnnoTierFromDatabase(AnnoTier tier, bool loadBackup) { if (tier == null || tier.AnnoList == null) { return; } if (loadBackup && tier.AnnoList.Source.Database.DataBackupOID == AnnoSource.DatabaseSource.ZERO) { MessageTools.Warning("No backup exists"); return; } Action EmptyDelegate = delegate() { }; control.ShadowBoxText.Text = "Reloading Annotation"; control.ShadowBox.Visibility = Visibility.Visible; control.UpdateLayout(); control.Dispatcher.Invoke(DispatcherPriority.Render, EmptyDelegate); DatabaseAnnotation annotation = new DatabaseAnnotation(); annotation.Role = tier.AnnoList.Meta.Role; annotation.Scheme = tier.AnnoList.Scheme.Name; annotation.AnnotatorFullName = tier.AnnoList.Meta.AnnotatorFullName; annotation.Annotator = tier.AnnoList.Meta.Annotator; annotation.Session = DatabaseHandler.SessionName; AnnoList annoList = DatabaseHandler.LoadAnnoList(annotation, loadBackup); double maxdur = 0; if (annoList != null && annoList.Count > 0 && annoList.Scheme.Type == AnnoScheme.TYPE.DISCRETE || annoList.Scheme.Type == AnnoScheme.TYPE.FREE) { maxdur = annoList[annoList.Count - 1].Stop; setAnnoList(annoList); tier.Children.Clear(); tier.AnnoList.Clear(); tier.segments.Clear(); tier.AnnoList = annoList; foreach (AnnoListItem item in annoList) { tier.AddSegment(item); } tier.TimeRangeChanged(Time); updateTimeRange(maxdur); tier.AnnoList.HasChanged = false; } else if (annoList != null && annoList.Count > 0 && annoList.Scheme.Type == AnnoScheme.TYPE.CONTINUOUS) { maxdur = annoList[annoList.Count - 1].Stop; setAnnoList(annoList); tier.AnnoList.Clear(); tier.AnnoList = annoList; tier.TimeRangeChanged(Time); updateTimeRange(maxdur); AnnoTier.Selected.TimeRangeChanged(MainHandler.Time); tier.AnnoList.HasChanged = false; } control.ShadowBox.Visibility = Visibility.Collapsed; }
private void IsFinishedCheckbox_Unchecked(object sender, RoutedEventArgs e) { DatabaseAnnotation anno = (DatabaseAnnotation)((CheckBox)sender).DataContext; ChangeFinishedState(anno.Id, false); }