Ignore:
Timestamp:
Sep 2, 2010, 10:06:52 AM (11 years ago)
Author:
matkovic
Message:

-Fullscreen enhanced
-TextInput added
-Picture scaling added
-Textinput scaling added
-Textinput format command added
-Several style changes
-Progressbar redesigned
-Last log message now appearing
-IControlContainer commenced
-Several icons added
-Plugin state now stored and loaded
-Plugin height and width now storing and loading
-Several misc changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/ImageWrapper.xaml.cs

    r1847 r1892  
    1313using System.Windows.Shapes;
    1414using WorkspaceManager.Model;
     15using System.Windows.Controls.Primitives;
     16using WorkspaceManager.View.Interface;
     17using WorkspaceManager.View.Container;
    1518
    1619namespace WorkspaceManager.View.VisualComponents
    1720{
     21
    1822    /// <summary>
    1923    /// Interaction logic for ImageWrapper.xaml
     
    2125    public partial class ImageWrapper : UserControl
    2226    {
     27        public event EventHandler<ImageDeleteEventArgs> Delete;
     28
    2329        public Image Image { get; set; }
    2430        public Point Position { get; set; }
    25         private Point previousDragPoint = new Point();
    26         private ImageModel model = null;
     31        public ImageModel Model { get; set; }
    2732
    28         public ImageWrapper(ImageModel model, Point point)
     33        private UserContentWrapper contentParent;
     34
     35        public static readonly DependencyProperty IsSelectedProperty = DependencyProperty.Register("IsSelected", typeof(bool), typeof(ImageWrapper));
     36
     37        //private static void OnTestBoolPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
     38        //{
     39        //    var vm = (ImageWrapper)d;
     40        //    vm.CoerceValue(TestDoubleProperty);
     41        //}
     42
     43
     44        public bool IsSelected
    2945        {
    30             this.Image = model.getImage();
    31             this.Position = point;
    32             model.Position = point;
    33             InitializeComponent();
    34             this.MouseMove += new MouseEventHandler(ImageWrapper_MouseMove);
    35             this.MouseLeftButtonDown +=new MouseButtonEventHandler(ImageWrapper_MouseLeftButtonDown);
    36             this.RenderTransform = new TranslateTransform(Position.X, Position.Y);
    37             this.root.Children.Add(Image);
    38             this.model = model;
    39         }
    40 
    41         void ImageWrapper_MouseMove(object sender, MouseEventArgs e)
    42         {
    43             if (e.LeftButton == MouseButtonState.Pressed)
     46            get
    4447            {
    45                 Point p = new Point(Mouse.GetPosition(this.Parent as Panel).X - previousDragPoint.X, (Mouse.GetPosition(this.Parent as Panel).Y - previousDragPoint.Y));
    46                 (this.RenderTransform as TranslateTransform).X = p.X;
    47                 (this.RenderTransform as TranslateTransform).Y = p.Y;
    48                 this.model.Position = p;
     48                return (bool)base.GetValue(IsSelectedProperty);
     49            }
     50            set
     51            {
     52                base.SetValue(IsSelectedProperty, value);
    4953            }
    5054        }
    5155
    52         void ImageWrapper_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
     56        public ImageWrapper(ImageModel model, Point point, UserContentWrapper parent)
    5357        {
    54             this.previousDragPoint = Mouse.GetPosition(this);
     58            InitializeComponent();
     59            this.ParentPanel.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(ImageWrapper_PreviewMouseLeftButtonDown);
     60            this.Loaded += new RoutedEventHandler(ImageWrapper_Loaded);
     61            this.DataContext = this;
     62            this.Model = model;
     63            this.Image = model.getImage();
     64            this.contentParent = parent;
     65            this.Position = point;
     66            this.Model.Position = point;
     67            this.RenderTransform = new TranslateTransform(Position.X, Position.Y);
     68            this.root.Background = new ImageBrush() {ImageSource = this.Image.Source, Stretch = Stretch.Fill};
    5569        }
    5670
    57         /*private Image makeImage(Uri imgUri)
     71        void ImageWrapper_Loaded(object sender, RoutedEventArgs e)
    5872        {
    59             try
     73            if (Model.Width == 0 || Model.Height == 0)
    6074            {
    61                 Image img = new Image();
    62                 img.Source = new BitmapImage(imgUri);
    63                 return img;
     75                this.Width = Image.Source.Width;
     76                this.Height = Image.Source.Height;
    6477            }
    65             catch (Exception e)
     78            else
    6679            {
    67                 Console.Out.WriteLine(e.ToString());
     80                this.Width = Model.Width;
     81                this.Height = Model.Height;
    6882            }
    69             return null;
    70         }*/
     83
     84            this.ParentPanel.IsEnabled = Model.IsEnabled;
     85        }
     86
     87        void ImageWrapper_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
     88        {
     89            this.contentParent.SelectedItem = this;
     90            this.IsSelected = true;
     91        }
    7192
    7293        public ImageWrapper()
     
    7495            InitializeComponent();
    7596        }
     97
     98        private void Thumb_DragDelta(object sender, DragDeltaEventArgs e)
     99        {
     100            Thumb t = sender as Thumb;
     101
     102            if (t.Name == "BottomRightDelta")
     103            {
     104                if ((this.ActualHeight + e.VerticalChange) > 0)
     105                    this.Height = this.ActualHeight + e.VerticalChange;
     106
     107                if ((this.ActualWidth + e.HorizontalChange) > 0)
     108                    this.Width = this.ActualWidth + e.HorizontalChange;
     109
     110                Model.Height = this.ActualHeight;
     111                Model.Width = this.ActualWidth;
     112            }
     113        }
     114
     115        private void OverLayingControl_DragDelta_Move(object sender, DragDeltaEventArgs e)
     116        {
     117            (this.RenderTransform as TranslateTransform).X += e.HorizontalChange;
     118            (this.RenderTransform as TranslateTransform).Y += e.VerticalChange;
     119            Model.Position.X = (this.RenderTransform as TranslateTransform).X;
     120            Model.Position.Y = (this.RenderTransform as TranslateTransform).Y;
     121        }
     122
     123        private void delete()
     124        {
     125            if (this.Delete != null)
     126                this.Delete.Invoke(this, new ImageDeleteEventArgs { img = this });
     127        }
     128
     129        private void MenuItem_Click(object sender, RoutedEventArgs e)
     130        {
     131            this.delete();
     132        }
     133
     134        private void MenuItem_Click_1(object sender, RoutedEventArgs e)
     135        {
     136            MenuItem item = sender as MenuItem;
     137            if (this.ParentPanel.IsEnabled == true)
     138            {
     139                this.ParentPanel.IsEnabled = false;
     140                this.Model.IsEnabled = false;
     141                this.contentParent.SelectedItem = null;
     142                return;
     143            }
     144
     145            if (this.ParentPanel.IsEnabled == false)
     146            {
     147                this.ParentPanel.IsEnabled = true;
     148                this.Model.IsEnabled = true;
     149                this.contentParent.SelectedItem = this;
     150                return;
     151            }
     152        }
     153
     154        private void IsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
     155        {
     156            Panel panel = sender as Panel;
     157            if (panel.IsEnabled == true)
     158            {
     159                FixUnfixMenuItem.Header = "Fix";
     160                return;
     161            }
     162
     163            if (panel.IsEnabled == false)
     164            {
     165                FixUnfixMenuItem.Header = "Unfix";
     166                return;
     167            }
     168        }
     169
     170    }
     171
     172    public class ImageDeleteEventArgs : EventArgs
     173    {
     174        public ImageWrapper img;
    76175    }
    77176}
Note: See TracChangeset for help on using the changeset viewer.