-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProject.xaml.cs
More file actions
129 lines (102 loc) · 4.02 KB
/
Project.xaml.cs
File metadata and controls
129 lines (102 loc) · 4.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
using System.Collections.Specialized;
using System.Windows;
using System.Windows.Controls;
using Forms = System.Windows.Forms;
using System.Windows.Input;
namespace Pin
{
/// <summary>
/// Interaction logic for Project.xaml
/// </summary>
public partial class Project : UserControl
{
public Project()
{
InitializeComponent();
// load projects in form
ProjectViewModelList.Instance.OnLoad += new System.EventHandler(delegate (object sender, System.EventArgs e)
{
foreach (ProjectViewModel item in ProjectViewModelList.Instance.Projects)
{
projectPanel.Children.Add(newProject(item));
}
});
ProjectViewModelList.Instance.OnAdd += new ProjectViewModelList.ProjectEventHandler(delegate (object sender, ProjectViewModel project)
{
projectPanel.Children.Add(newProject(project));
});
ProjectViewModelList.Instance.OnUpdate += new ProjectViewModelList.ProjectEventHandler(delegate (object sender, ProjectViewModel project)
{
});
ProjectViewModelList.Instance.OnDelete += new ProjectViewModelList.ProjectEventHandler(delegate (object sender, ProjectViewModel project)
{
projectPanel.Children.Remove((sender as UserControl).Parent as UIElement);
});
}
private RadioButton newProject(ProjectViewModel ViewModel)
{
ProjectItem projectItem = new ProjectItem(ViewModel);
RadioButton RButton = new RadioButton();
RButton.Template = (ControlTemplate)FindResource("StyledRadioButton");
RButton.GroupName = "Projects";
RButton.Checked += RButton_Checked;
RButton.Content = projectItem;
if (ProjectViewModelList.Instance.isPrimaryProject(ViewModel.Project))
{
RButton.IsChecked = true;
}
return RButton;
}
private void RButton_Checked(object sender, RoutedEventArgs e)
{
if(sender is RadioButton)
{
var RButtion = sender as RadioButton;
if(RButtion.IsChecked == true)
{
var id = (RButtion.Content as ProjectItem);
ProjectViewModelList.Instance.PrimaryProject = id.DataModel;
}
}
}
private void projects_Click(object sender, RoutedEventArgs e)
{
if(projects.IsChecked == true)
{
addP.Text = "x";
popupToggle.IsOpen = true;
MouseOverController.isProjectOpen = true;
}
else
{
addP.Text = "+";
popupToggle.IsOpen = false;
MouseOverController.isProjectOpen = false;
}
}
private void popupToggle_MouseEnter(object sender, MouseEventArgs e)
{
}
private void UI_Btn_AddProject_Click(object sender, RoutedEventArgs e)
{
var ProjectModel = new Model.Project(
UI_TxtBox_ProjectName.Text,
UI_TxtBox_ProjectPath.Text.Replace('/', '\\'),
UI_ColorPicker_ColorSelectionBox.FillColor);
ProjectViewModelList.Instance.Add(this,ProjectModel);
popupToggle.IsOpen = false;
addP.Text = "+";
projects.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
UI_TxtBox_ProjectName.Text = "";
UI_TxtBox_ProjectPath.Text = "";
MouseOverController.isProjectOpen = false;
}
private void UI_Btn_FolderBrowse_Click(object sender, RoutedEventArgs e)
{
Forms.FolderBrowserDialog path = new Forms.FolderBrowserDialog();
path.ShowDialog();
// change current version
UI_TxtBox_ProjectPath.Text = path.SelectedPath;
}
}
}