source: trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/UserContentWrapper.xaml.cs @ 1892

Last change on this file since 1892 was 1892, checked in by matkovic, 11 years ago

-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 size: 4.6 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.Windows;
6using System.Windows.Controls;
7using System.Windows.Data;
8using System.Windows.Documents;
9using System.Windows.Input;
10using System.Windows.Media;
11using System.Windows.Media.Imaging;
12using System.Windows.Navigation;
13using System.Windows.Shapes;
14using WorkspaceManager.Model;
15using WorkspaceManager.View.Interface;
16
17namespace WorkspaceManager.View.VisualComponents
18{
19
20    /// <summary>
21    /// Interaction logic for UserContentWrapper.xaml
22    /// </summary>
23    public partial class UserContentWrapper : UserControl
24    {
25        public WorkspaceModel Model;
26        public List<ImageWrapper> ImageList { get; set; }
27        public List<TextInputWrapper> TextInputList { get; set; }
28
29        private UserControl selectedItem;
30        public UserControl SelectedItem
31        { 
32            get
33            {
34                return selectedItem;
35            }
36            set
37            {
38                selectedItem = value;
39                foreach (ImageWrapper img in ImageList)
40                {
41                    if (img == selectedItem)
42                        continue;
43
44                    img.IsSelected = false;
45                }
46
47                foreach (TextInputWrapper txt in TextInputList)
48                {
49                    if (txt == selectedItem)
50                        continue;
51
52                    txt.IsSelected = false;
53                }
54            } 
55        }
56
57        public UserContentWrapper(WorkspaceModel WorkspaceModel, BottomBox Box)
58        {
59            InitializeComponent();
60            Box.ImageSelected += new EventHandler<ImageSelectedEventArgs>(UserContentWrapper_ImageSelected);
61            Box.AddText += new EventHandler<AddTextEventArgs>(UserContentWrapper_AddText);
62            ImageList = new List<ImageWrapper>();
63            TextInputList = new List<TextInputWrapper>();
64            Model = WorkspaceModel;
65            foreach (ImageModel ImageModel in WorkspaceModel.AllImageModels)
66            {
67                AddImage(ImageModel);
68            }
69
70            foreach (TextModel TextModel in WorkspaceModel.AllTextModels)
71            {
72                AddText(TextModel);
73            }
74        }
75
76        void UserContentWrapper_AddText(object sender, AddTextEventArgs e)
77        {
78            AddText(new Point(50, 50));
79        }
80
81        void UserContentWrapper_ImageSelected(object sender, ImageSelectedEventArgs e)
82        {
83            AddImage(e.uri, new Point(0, 0));
84        }
85
86        public void AddImage(Uri imgUri, Point point)
87        {
88            try
89            {
90                ImageModel model = Model.newImageModel(imgUri);
91                ImageWrapper imgWrap = new ImageWrapper(model, point, this);
92                imgWrap.Delete += new EventHandler<ImageDeleteEventArgs>(imgWrap_Delete);
93                ImageList.Add(imgWrap);
94                ContentRoot.Children.Add(imgWrap);
95            }
96            catch (Exception e)
97            {
98                Console.Out.WriteLine(e.ToString());
99            }
100        }
101
102        public void AddImage(ImageModel model)
103        {
104            ImageWrapper imgWrap = new ImageWrapper(model, model.Position, this);
105            imgWrap.Delete += new EventHandler<ImageDeleteEventArgs>(imgWrap_Delete);
106            ImageList.Add(imgWrap);
107            ContentRoot.Children.Add(imgWrap);
108        }
109
110        public void AddText(Point point)
111        {
112            TextModel model = Model.newTextModel(String.Empty);
113            TextInputWrapper txtWrap = new TextInputWrapper(model, point, this);
114            txtWrap.Delete += new EventHandler<TextInputDeleteEventArgs>(txtWrap_Delete);
115            TextInputList.Add(txtWrap);
116            ContentRoot.Children.Add(txtWrap);
117        }
118
119        public void AddText(TextModel model)
120        {
121            TextInputWrapper txtWrap = new TextInputWrapper(model, model.Position, this);
122            txtWrap.Delete += new EventHandler<TextInputDeleteEventArgs>(txtWrap_Delete);
123            TextInputList.Add(txtWrap);
124            ContentRoot.Children.Add(txtWrap);
125        }
126
127        void imgWrap_Delete(object sender, ImageDeleteEventArgs e)
128        {
129            ContentRoot.Children.Remove(e.img);
130            ImageList.Remove(e.img);
131            Model.deleteImageModel(e.img.Model);
132        }
133
134        void txtWrap_Delete(object sender, TextInputDeleteEventArgs e)
135        {
136            ContentRoot.Children.Remove(e.txt);
137            TextInputList.Remove(e.txt);
138            Model.deleteTextModel(e.txt.Model);
139        }
140    }
141}
Note: See TracBrowser for help on using the repository browser.