src/FingersDance.Views/TimelineAnnotationView.xaml.cs
author ARIAS Santiago
Sun, 25 Oct 2009 12:38:45 +0100
changeset 168 d70ee2002f75
parent 160 e940ca798fe3
child 167 206f07a8d887
permissions -rw-r--r--
Thumb Timeline Rotation and Debug Closing Panels
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
     1
using System;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
     2
using System.Collections.Generic;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
     3
using System.Linq;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
     4
using System.Text;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
     5
using System.Windows;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
     6
using System.Windows.Controls;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
     7
using System.Windows.Data;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
     8
using System.Windows.Documents;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
     9
using System.Windows.Input;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    10
using System.Windows.Media;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    11
using System.Windows.Media.Imaging;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    12
using System.Windows.Navigation;
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    13
using System.Windows.Shapes;
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    14
using Microsoft.Surface.Presentation;
55
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    15
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    16
namespace FingersDance.Views
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    17
{
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    18
    /// <summary>
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    19
    /// Interaction logic for TimelineAnnotationView.xaml
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    20
    /// </summary>
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    21
    public partial class TimelineAnnotationView : UserControl
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    22
    {
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    23
        public TimelineAnnotationView()
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    24
        {
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    25
            InitializeComponent();
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    26
        }
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    27
    }
71
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    28
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    29
    public class ThicknessSingleValueConverter : IValueConverter
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    30
    {
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    31
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    32
        {
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    33
            ThicknessConverter myThicknessConverter = new ThicknessConverter();
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    34
            Thickness th1 = (Thickness)myThicknessConverter.ConvertFrom(value);
74
7ce946833eae First step of data binding where we can add an annotation by clicking on the timeline
cavaliet
parents: 71
diff changeset
    35
            th1.Top = 0;
7ce946833eae First step of data binding where we can add an annotation by clicking on the timeline
cavaliet
parents: 71
diff changeset
    36
            th1.Bottom = th1.Right = 0;
71
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    37
            return th1;
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    38
        }
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    39
        public object ConvertBack(object value, Type targetTypes, object parameter, System.Globalization.CultureInfo culture)
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    40
        {
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    41
            Thickness thickness = (Thickness)value;
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    42
            return thickness.Left;
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    43
        }
31900a35e162 We can set a margin to an annotation.
cavaliet
parents: 55
diff changeset
    44
    }
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    45
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    46
    public class VisibilityConverter : IValueConverter
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    47
    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    48
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    49
        {
150
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    50
            Visibility v = ((float)value > 0) ? Visibility.Visible : Visibility.Hidden;
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    51
            return v;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    52
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    53
        public object ConvertBack(object value, Type targetTypes, object parameter, System.Globalization.CultureInfo culture)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    54
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    55
            return 1.0;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    56
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 74
diff changeset
    57
    }
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 150
diff changeset
    58
    
150
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    59
    public class ColorConverter : IValueConverter
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    60
    {
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    61
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    62
        {
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 150
diff changeset
    63
            //UInt32 argb = (UInt32)value;
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 150
diff changeset
    64
            //Color c = Color.FromArgb((Byte)((argb >> 24) & 0xFF), (Byte)((argb >> 16) & 0xFF), (Byte)((argb >> 8) & 0xFF), (Byte)(argb & 0xFF));
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 150
diff changeset
    65
            SolidColorBrush scb = new SolidColorBrush((Color)value);
150
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    66
            return scb;
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    67
        }
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    68
        public object ConvertBack(object value, Type targetTypes, object parameter, System.Globalization.CultureInfo culture)
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    69
        {
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    70
            return 1.0;
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    71
        }
569925b65604 Annotations are now colored with the same color as the pivot's button
cavaliet
parents: 146
diff changeset
    72
    }
55
1ec0ef228158 data, viewmodel and view added
cavaliet
parents:
diff changeset
    73
}