Skip to content

Commit 34c497c

Browse files
authored
Merge pull request #51 from CyanCoding/cyancoding-resize-window-branch
Add resizability to window
2 parents b629490 + ee50a6e commit 34c497c

2 files changed

Lines changed: 80 additions & 36 deletions

File tree

app/Project Tracker/Project Tracker/MainWindow.xaml

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
mc:Ignorable="d"
99
ShowTitlebar="True"
1010
Theme="Dark"
11-
Title="Project Tracker" Height="800" Width="1200" Icon="icon.ico" PreviewKeyDown="KeyPress" Closing="Window_Closing" SizeChanged="Window_SizeChanged" MouseDown="Window_MouseDown" WindowState="Normal" ResizeMode="NoResize">
11+
Title="Project Tracker" Height="800" Width="1200" Icon="icon.ico" PreviewKeyDown="KeyPress" Closing="Window_Closing" SizeChanged="Window_SizeChanged" MouseDown="Window_MouseDown" WindowState="Normal" MinHeight="700" MinWidth="1175">
1212
<!-- If you ever change the logo, it must be 16x, 32x, 48x, 64x, 128x, and 256x. Pack it all into an ico file look up how to do it if you forgot -->
1313

1414
<uwp:Window.Resources>
@@ -69,7 +69,7 @@
6969

7070

7171
<Grid Background="White">
72-
<Rectangle Fill="#FF212121" HorizontalAlignment="Left" Height="776" VerticalAlignment="Top" Width="350" Margin="-5,-5,-5,-5"/>
72+
<Rectangle x:Name="blackRectangle" Fill="#FF212121" HorizontalAlignment="Left" Height="776" VerticalAlignment="Top" Width="350" Margin="-5,-5,-5,-5"/>
7373
<Canvas VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,43,0,0" Height="45" Width="45">
7474
<Image Source="{StaticResource checked_checkedboxDrawingImage}" Height="45" Width="45"/>
7575
</Canvas>
@@ -263,34 +263,36 @@
263263
</Grid>
264264

265265
<!-- The view if there is projects made -->
266-
<Canvas HorizontalAlignment="Left" VerticalAlignment="Top" Height="45" Width="45" Margin="400,31,0,0">
267-
<Image x:Name="displayingImage" Source="{StaticResource noIcon}" Height="45" Width="45" Visibility="Hidden" PreviewMouseDown="displayingImage_PreviewMouseDown" Cursor="Hand"/>
268-
</Canvas>
269-
<Canvas HorizontalAlignment="Right" VerticalAlignment="Top" Height="40" Width="40" Margin="0,45,45,0">
270-
<Image x:Name="settingsImage" Source="{StaticResource settingsDrawingImage}" Height="40" Width="40" Visibility="Hidden" PreviewMouseDown="settingsImage_PreviewMouseDown" Cursor="Hand"/>
271-
</Canvas>
266+
<Grid Margin="345,0,0,0">
267+
<Canvas HorizontalAlignment="Left" VerticalAlignment="Top" Height="45" Width="45" Margin="75,31,0,0" >
268+
<Image x:Name="displayingImage" Source="{StaticResource noIcon}" Height="45" Width="45" Visibility="Hidden" PreviewMouseDown="displayingImage_PreviewMouseDown" Cursor="Hand"/>
269+
</Canvas>
270+
<Canvas HorizontalAlignment="Right" VerticalAlignment="Top" Height="40" Width="40" Margin="0,45,45,0">
271+
<Image x:Name="settingsImage" Source="{StaticResource settingsDrawingImage}" Height="40" Width="40" Visibility="Hidden" PreviewMouseDown="settingsImage_PreviewMouseDown" Cursor="Hand"/>
272+
</Canvas>
272273

273274

274-
<Label x:Name="displayingTitle" VerticalContentAlignment="Top" HorizontalAlignment="Left" Content="" FontSize="40" Margin="450,21,0,7" FontWeight="Medium" Visibility="Hidden"/>
275-
<!-- Make sure this has equal padding on all sides -->
276-
<Border x:Name="addItemBorder" BorderBrush="Black" CornerRadius="10" BorderThickness="3" HorizontalAlignment="Left" Height="73" Margin="391,0,0,15" VerticalAlignment="Bottom" Width="750" Visibility="Hidden">
277-
<Grid>
278-
<Grid.ColumnDefinitions>
279-
<ColumnDefinition/>
280-
<ColumnDefinition Width="60"/>
281-
</Grid.ColumnDefinitions>
282-
<TextBox x:Name="addItemTextBox" HorizontalAlignment="Left" TextWrapping="Wrap" Text="Add something to the project" VerticalContentAlignment="Center" VerticalAlignment="Center" Margin="10,0,0,0" Height="67" Width="675" FontSize="28" SelectionBrush="#FF0D759C" Grid.ColumnSpan="2" BorderBrush="{x:Null}" PreviewMouseDown="AddNewItemTextBoxClick" LostFocus="addItemTextBox_LostFocus"/>
283-
284-
<Canvas x:Name="newItemTypeCanvas" HorizontalAlignment="Center" VerticalAlignment="Center" Height="45" Width="45" Grid.Column="1">
285-
<Image x:Name="addingTypeImage" Source="{StaticResource errorDrawingImage}" Height="45" Width="45" PreviewMouseDown="TypeImagePressed" Cursor="Hand"/>
286-
</Canvas>
287-
</Grid>
288-
</Border>
275+
<Label x:Name="displayingTitle" VerticalContentAlignment="Top" HorizontalAlignment="Left" Content="" FontSize="40" Margin="135,21,0,7" FontWeight="Medium" Visibility="Hidden"/>
276+
<!-- Make sure this has equal padding on all sides -->
277+
<Border x:Name="addItemBorder" BorderBrush="Black" CornerRadius="10" BorderThickness="3" HorizontalAlignment="Center" Height="73" Margin="0,0,0,10" VerticalAlignment="Bottom" Width="750" Visibility="Hidden">
278+
<Grid x:Name="addItemGrid" HorizontalAlignment="Stretch">
279+
<Grid.ColumnDefinitions>
280+
<ColumnDefinition/>
281+
<ColumnDefinition Width="60"/>
282+
</Grid.ColumnDefinitions>
283+
<TextBox x:Name="addItemTextBox" Grid.Column="0" HorizontalAlignment="Stretch" TextWrapping="Wrap" Text="Add something to the project" VerticalContentAlignment="Center" VerticalAlignment="Center" Margin="10,0,0,0" Height="67" FontSize="28" SelectionBrush="#FF0D759C" BorderBrush="{x:Null}" PreviewMouseDown="AddNewItemTextBoxClick" LostFocus="addItemTextBox_LostFocus"/>
289284

290-
<ScrollViewer Margin="350,198,0,105" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Hidden">
291-
<Grid x:Name="scrollviewerGrid" Visibility="Hidden">
292-
</Grid>
293-
</ScrollViewer>
285+
<Canvas x:Name="newItemTypeCanvas" HorizontalAlignment="Center" VerticalAlignment="Center" Height="45" Width="45" Grid.Column="1">
286+
<Image x:Name="addingTypeImage" Source="{StaticResource errorDrawingImage}" Height="45" Width="45" PreviewMouseDown="TypeImagePressed" Cursor="Hand"/>
287+
</Canvas>
288+
</Grid>
289+
</Border>
290+
291+
<ScrollViewer Margin="0,198,0,105" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Hidden">
292+
<Grid x:Name="scrollviewerGrid" Visibility="Visible" Width="750">
293+
</Grid>
294+
</ScrollViewer>
295+
</Grid>
294296

295297
<!-- Incomplete vs complete grid -->
296298
<Grid x:Name="completeGrid" Margin="391,136,0,0" Visibility="Hidden">
@@ -453,7 +455,7 @@
453455

454456
<!-- The settings border -->
455457
<!-- NOTE: If you add another floating border, you need to set the ROW DEFINITION for it to hide and show properly -->
456-
<Border x:Name="settingsBorder" CornerRadius="10" HorizontalAlignment="Right" Height="0" VerticalAlignment="Top" Width="255" Background="White" Visibility="Hidden" LostFocus="settingsBorder_LostFocus" Margin="00,95,10,0" Cursor="Hand">
458+
<Border x:Name="settingsBorder" CornerRadius="10" HorizontalAlignment="Right" Height="0" VerticalAlignment="Top" Width="235" Background="White" Visibility="Hidden" LostFocus="settingsBorder_LostFocus" Margin="00,95,10,0" Cursor="Hand">
457459
<Border.Effect>
458460
<DropShadowEffect ShadowDepth="1"/>
459461
</Border.Effect>
@@ -465,12 +467,12 @@
465467
</Grid.RowDefinitions>
466468
<Grid.ColumnDefinitions>
467469
<ColumnDefinition Width="50"/>
468-
<ColumnDefinition Width="205"/>
470+
<ColumnDefinition Width="180"/>
469471
</Grid.ColumnDefinitions>
470472
<Canvas HorizontalAlignment="Left" VerticalAlignment="Top" Height="45" Width="45" Margin="10,10,0,0" Cursor="Hand" Grid.Column="0" Grid.ColumnSpan="2">
471473
<Image Source="{StaticResource trashcanDrawingImage}" Height="45" Width="45" Grid.Column="0"/>
472474
</Canvas>
473-
<Label Content="Delete project" Grid.Column="1" HorizontalAlignment="Left" Margin="10,-5,0,0" VerticalAlignment="Center" FontSize="24" Width="173" Height="70" VerticalContentAlignment="Center"/>
475+
<Label Content="Delete project" Grid.Column="1" HorizontalAlignment="Left" Margin="10,-5,0,0" VerticalAlignment="Center" FontSize="24" Width="180" Height="70" VerticalContentAlignment="Center"/>
474476
</Grid>
475477
</Border>
476478
</Border>

app/Project Tracker/Project Tracker/MainWindow.xaml.cs

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
using System.Collections.Generic;
55
using System.ComponentModel;
66
using System.IO;
7+
using System.Linq;
78
using System.Net;
89
using System.Text;
910
using System.Threading;
1011
using System.Windows;
1112
using System.Windows.Controls;
13+
using System.Windows.Data;
1214
using System.Windows.Documents;
1315
using System.Windows.Input;
1416
using System.Windows.Media;
@@ -77,6 +79,8 @@ private void LoadValues(string text, int type) {
7779
grid.VerticalAlignment = VerticalAlignment.Top;
7880
grid.HorizontalAlignment = HorizontalAlignment.Center;
7981

82+
grid.Name = "g" + itemsAdded;
83+
8084
ColumnDefinition column1 = new ColumnDefinition();
8185
column1.Width = new GridLength(50, GridUnitType.Pixel);
8286
ColumnDefinition column2 = new ColumnDefinition();
@@ -90,12 +94,11 @@ private void LoadValues(string text, int type) {
9094

9195
// The border is a curved rectangle behind all the other objects
9296
Border border = new Border();
93-
border.Width = 725;
9497
border.Height = 60;
9598
border.CornerRadius = new CornerRadius(10);
9699
border.Background = new SolidColorBrush(itemColor);
97100
border.BorderThickness = new Thickness(2);
98-
border.HorizontalAlignment = HorizontalAlignment.Left;
101+
border.HorizontalAlignment = HorizontalAlignment.Stretch;
99102
border.VerticalAlignment = VerticalAlignment.Top;
100103
border.Margin = new Thickness(0, 0, -5, 0);
101104
border.SetValue(Grid.ColumnSpanProperty, 4);
@@ -163,7 +166,7 @@ private void LoadValues(string text, int type) {
163166
Label label = new Label();
164167
label.Content = text;
165168
label.Foreground = new SolidColorBrush(labelTextColor);
166-
label.Margin = new Thickness(80, 6, 20, 0);
169+
label.Margin = new Thickness(70, 6, 70, 0);
167170
label.FontSize = 24;
168171

169172
border.Child = label;
@@ -489,6 +492,25 @@ private void SetSelectedProject() {
489492
}
490493
}
491494

495+
scrollviewerGrid.Width = this.Width - 450;
496+
497+
for (int i = 0; i < scrollviewerGrid.Children.Count; i++) {
498+
Grid grid = (Grid)scrollviewerGrid.Children[i];
499+
500+
grid.ColumnDefinitions.RemoveRange(0, 3);
501+
502+
ColumnDefinition column1 = new ColumnDefinition();
503+
column1.Width = new GridLength(50, GridUnitType.Pixel);
504+
ColumnDefinition column2 = new ColumnDefinition();
505+
column2.Width = new GridLength(this.Width - 580, GridUnitType.Pixel);
506+
ColumnDefinition column3 = new ColumnDefinition();
507+
column3.Width = new GridLength(50, GridUnitType.Pixel);
508+
509+
grid.ColumnDefinitions.Add(column1);
510+
grid.ColumnDefinitions.Add(column2);
511+
grid.ColumnDefinitions.Add(column3);
512+
}
513+
492514
if (itemsAdded == 0 && !isCompletedTasksShown) {
493515
errorCanvas.Margin = new Thickness(0, 0, 120, 20);
494516
featureCanvas.Margin = new Thickness(0, 0, 0, 20);
@@ -555,8 +577,6 @@ private void SetSelectedProject() {
555577
/// Startup function that runs when code execution starts.
556578
/// </summary>
557579
private void Startup() {
558-
this.Height = 815;
559-
this.Width = 1200;
560580
// Item positioning
561581

562582
if (!Directory.Exists(APPDATA_DIRECTORY)) { // Create AppData directory
@@ -932,7 +952,29 @@ private void Window_MouseDown(object sender, MouseButtonEventArgs e) {
932952
/// When the user resizes the window.
933953
/// </summary>
934954
private void Window_SizeChanged(object sender, SizeChangedEventArgs e) {
935-
955+
blackRectangle.Height = this.Height + 5;
956+
addItemBorder.Width = this.Width - 450;
957+
958+
scrollviewerGrid.Width = this.Width - 450;
959+
960+
for (int i = 0; i < scrollviewerGrid.Children.Count; i++) {
961+
Grid grid = (Grid)scrollviewerGrid.Children[i];
962+
963+
grid.ColumnDefinitions.RemoveRange(0, 3);
964+
965+
ColumnDefinition column1 = new ColumnDefinition();
966+
column1.Width = new GridLength(50, GridUnitType.Pixel);
967+
ColumnDefinition column2 = new ColumnDefinition();
968+
column2.Width = new GridLength(this.Width - 580, GridUnitType.Pixel);
969+
ColumnDefinition column3 = new ColumnDefinition();
970+
column3.Width = new GridLength(50, GridUnitType.Pixel);
971+
972+
grid.ColumnDefinitions.Add(column1);
973+
grid.ColumnDefinitions.Add(column2);
974+
grid.ColumnDefinitions.Add(column3);
975+
}
976+
977+
Console.WriteLine("Height: " + this.Height + " Width: " + this.Width);
936978
}
937979

938980
#region Border onclicks

0 commit comments

Comments
 (0)