Exemple #1
0
 public Timeline(Panel panel)
 {
     RootWidget  = new Widget();
     Panel       = panel;
     PanelWidget = panel.ContentWidget;
     Toolbar     = new Toolbar();
     Ruler       = new Rulerbar();
     Overview    = new OverviewPane();
     Grid        = new GridPane(this);
     CurveEditor = new CurveEditorPane(this);
     Roll        = new RollPane();
     CreateProcessors();
     InitializeWidgets();
     WaveformCache = new WaveformCache(Project.Current.FileSystemWatcher);
     RootWidget.AddChangeWatcher(() => Document.Current.Container, container => {
         Offset = container.Components.GetOrAdd <TimelineOffset>().Offset;
     });
     RootWidget.AddChangeWatcher(() => Offset, (value) => {
         var offset = Document.Current.Container.Components.Get <TimelineOffset>();
         if (offset != null)
         {
             offset.Offset = value;
         }
     });
     RootWidget.Gestures.Add(DropFilesGesture = new DropFilesGesture());
     CreateFilesDropHandlers();
     OnCreate?.Invoke(this);
 }
Exemple #2
0
 public Timeline(Panel panel)
 {
     RootWidget                 = new Widget();
     FilesDropHandler           = new FilesDropHandler(RootWidget);
     FilesDropHandler.Handling += FilesDropOnHandling;
     Panel       = panel;
     PanelWidget = panel.ContentWidget;
     Toolbar     = new Toolbar();
     Ruler       = new Rulerbar();
     Overview    = new OverviewPane();
     Grid        = new GridPane(this);
     CurveEditor = new CurveEditorPane(this);
     Roll        = new RollPane();
     CreateProcessors();
     InitializeWidgets();
     RootWidget.AddChangeWatcher(() => Document.Current.Container, (container) => {
         Offset = container.Components.GetOrAdd <TimelineOffset>().Offset;
     });
     RootWidget.AddChangeWatcher(() => Offset, (value) => {
         var offset = Document.Current.Container.Components.Get <TimelineOffset>();
         if (offset != null)
         {
             offset.Offset = value;
         }
     });
 }
Exemple #3
0
 public Timeline(DockPanel panel)
 {
     Panel       = panel;
     PanelWidget = panel.ContentWidget;
     Toolbar     = new Toolbar();
     Ruler       = new Rulerbar();
     Overview    = new OverviewPane();
     Grid        = new GridPane(this);
     CurveEditor = new CurveEditorPane(this);
     Roll        = new RollPane();
     RootWidget  = new Widget();
     CreateProcessors();
     InitializeWidgets();
 }
Exemple #4
0
        IConsumer ShowCurveEditorTask()
        {
            var editCurvesProp = new Property <bool>(() => TimelineUserPreferences.Instance.EditCurves);

            return(new Property <Row>(FirstSelectedRow).Coalesce(editCurvesProp).WhenChanged(t => {
                var row = t.Item1;
                var showCurves =
                    TimelineUserPreferences.Instance.EditCurves &&
                    row != null && CurveEditorPane.CanEditRow(row);
                CurveEditor.RootWidget.Visible = showCurves;
                Grid.RootWidget.Visible = !showCurves;
                if (showCurves)
                {
                    CurveEditor.EditRow(row);
                }
            }));
        }
Exemple #5
0
 public CurveEditorSelectAndDragKeysProcessor(CurveEditorPane curveEditor)
 {
     this.curveEditor = curveEditor;
 }
Exemple #6
0
 public CurveEditorVerticalZoomProcessor(CurveEditorPane curveEditor)
 {
     this.curveEditor = curveEditor;
 }