client/src/Iri.Modernisation.Controls/View/ClickMenu/ClickMenuItem.xaml.cs
author Matthieu Totet
Mon, 23 Nov 2009 14:46:38 +0100
changeset 8 2482ddb44cb6
parent 0 249d70e7b32d
child 27 f292db96b050
permissions -rw-r--r--
ClickMenuItem modification : path rotation & image display
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     1
using System;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     2
using System.Windows;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     3
using System.Windows.Controls;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     4
using System.Windows.Documents;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     5
using System.Windows.Ink;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     6
using System.Windows.Input;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     7
using System.Windows.Media;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     8
using System.Windows.Media.Animation;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     9
using System.Windows.Shapes;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    10
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    11
namespace Iri.Modernisation.Controls.View
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    12
{
8
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    13
    public enum ClickMenuItemOrientation { Up = 90, Down = 126 }
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    14
	public partial class ClickMenuItem : UserControl
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    15
	{
8
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    16
        
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    17
         public ImageSource ImageSource {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    18
            get { return imgItem.Source; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    19
            set { imgItem.Source = value; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    20
        }
8
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    21
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    22
        public ClickMenuItemOrientation Orientation
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    23
        {
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    24
            get { return (ClickMenuItemOrientation)GetValue(OrientationProperty); }
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    25
            set { 
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    26
                SetValue(OrientationProperty, value);
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    27
                path78339.RenderTransform = new RotateTransform() {Angle=(double)value };
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    28
            }
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    29
        }
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    30
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    31
        // Using a DependencyProperty as the backing store for Orientation.  This enables animation, styling, binding, etc...
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    32
        public static readonly DependencyProperty OrientationProperty =
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    33
            DependencyProperty.Register("Orientation", typeof(ClickMenuItemOrientation), typeof(ClickMenuItem), new PropertyMetadata(ClickMenuItemOrientation.Up));
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    34
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    35
2482ddb44cb6 ClickMenuItem modification : path rotation & image display
Matthieu Totet
parents: 0
diff changeset
    36
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    37
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    38
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    39
        public String Title { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    40
        
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    41
        public event EventHandler<ClickMenuItemHooverEventArgs> ClickMenuItemHooverSelected;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    42
        public event EventHandler<ClickMenuItemSelectedEventArgs> ClickMenuItemSelected;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    43
		public ClickMenuItem()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    44
		{
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    45
			// Required to initialize variables
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    46
			InitializeComponent();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    47
		}
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    48
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    49
		private void MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    50
		{
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    51
            OnEnter();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    52
         
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    53
		}
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    54
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    55
        private void OnEnter()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    56
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    57
            if (ClickMenuItemHooverSelected != null)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    58
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    59
                this.ClickMenuItemHooverSelected(this, new ClickMenuItemHooverEventArgs());
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    60
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    61
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    62
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    63
       
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    64
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    65
        private void UserControl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    66
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    67
            if (ClickMenuItemSelected != null)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    68
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    69
                this.ClickMenuItemSelected(this, new ClickMenuItemSelectedEventArgs());
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    70
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    71
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    72
		
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    73
	}
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    74
    public class ClickMenuItemSelectedEventArgs : EventArgs
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    75
    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    76
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    77
    public class ClickMenuItemHooverEventArgs : EventArgs
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    78
    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    79
       
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    80
        public ClickMenuItemHooverEventArgs()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    81
		{			
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    82
			
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    83
		}
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    84
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    85
      
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    86
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    87
}