Skip to content

Commit 97deee3

Browse files
authored
[#49] Implement HasWidth(int width)
1 parent 5fbccfb commit 97deee3

12 files changed

Lines changed: 75 additions & 28 deletions

src/EasyDialog.MaterialSkin/EasyDialog.MaterialSkin.csproj

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4+
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
5+
46
<LangVersion>9.0</LangVersion>
57
<TargetFramework>net5.0-windows</TargetFramework>
68
<UseWindowsForms>true</UseWindowsForms>
@@ -14,13 +16,20 @@
1416
<PackageProjectUrl>https://github.com/bubuntoid/EasyDialog</PackageProjectUrl>
1517
<RepositoryUrl>https://github.com/bubuntoid/EasyDialog</RepositoryUrl>
1618
<PackageTags>dialog, builder, ui, framework</PackageTags>
17-
<Version>6.0.0</Version>
19+
<Version>6.0.1</Version>
1820
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
21+
<PackageReleaseNotes>Remove redundant property from IFormProvider (SecondColumnLeftPadding)</PackageReleaseNotes>
1922
</PropertyGroup>
2023

24+
<ItemGroup Condition=" '$(Configuration)' == 'Release' ">
25+
<PackageReference Include="bubuntoid.EasyDialog" Version="6.0.1" />
26+
</ItemGroup>
27+
28+
<ItemGroup Condition=" '$(Configuration)' != 'Release' ">
29+
<ProjectReference Include="..\EasyDialog\EasyDialog.csproj" />
30+
</ItemGroup>
31+
2132
<ItemGroup>
22-
<PackageReference Include="bubuntoid.EasyDialog" Version="6.0.0" />
2333
<PackageReference Include="MaterialSkin.NET5" Version="1.0.0" />
2434
</ItemGroup>
25-
2635
</Project>

src/EasyDialog.MaterialSkin/MaterialFormProvider.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ namespace bubuntoid.EasyDialog.Internal.Providers
1010
internal class MaterialFormProvider : IFormProvider
1111
{
1212
public int InitialTopPadding { get; set; } = 80;
13-
public int SecondColumnLeftPadding { get; set; } = 150;
1413
public int BottomSpace { get; set; } = -60;
1514
public int ButtonRightPadding { get; set; } = 15;
1615
public int ButtonBottomPadding { get; set; } = 10;

src/EasyDialog.MaterialSkin/MaterialSkinExtensions.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ public static class MaterialSkinExtensions
88
/// Uses material style
99
/// </summary>
1010
/// <returns></returns>
11-
public static DialogContextConfigureOptionsBuilder<TContext> UseMaterialStyle<TContext>(this DialogContextConfigureOptionsBuilder<TContext> builder)
11+
public static DialogContextConfigureOptionsBuilder<TContext> UseMaterialStyle<TContext>(
12+
this DialogContextConfigureOptionsBuilder<TContext> builder)
1213
{
1314
return UseMaterialStyle(builder, MaterialTheme.Light);
1415
}
@@ -18,7 +19,9 @@ public static DialogContextConfigureOptionsBuilder<TContext> UseMaterialStyle<TC
1819
/// </summary>
1920
/// <param name="theme"></param>
2021
/// <returns></returns>
21-
public static DialogContextConfigureOptionsBuilder<TContext> UseMaterialStyle<TContext>(this DialogContextConfigureOptionsBuilder<TContext> builder, MaterialTheme theme)
22+
public static DialogContextConfigureOptionsBuilder<TContext> UseMaterialStyle<TContext>(
23+
this DialogContextConfigureOptionsBuilder<TContext> builder,
24+
MaterialTheme theme)
2225
{
2326
return UseMaterialStyle(builder, theme, MaterialColorScheme.Default);
2427
}
@@ -29,7 +32,8 @@ public static DialogContextConfigureOptionsBuilder<TContext> UseMaterialStyle<TC
2932
/// <param name="theme"></param>
3033
/// <param name="scheme"></param>
3134
/// <returns></returns>
32-
public static DialogContextConfigureOptionsBuilder<TContext> UseMaterialStyle<TContext>(this DialogContextConfigureOptionsBuilder<TContext> builder,
35+
public static DialogContextConfigureOptionsBuilder<TContext> UseMaterialStyle<TContext>(
36+
this DialogContextConfigureOptionsBuilder<TContext> builder,
3337
MaterialTheme theme,
3438
MaterialColorScheme scheme)
3539
{

src/EasyDialog.MetroFramework/EasyDialog.MetroFramework.csproj

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4+
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
5+
46
<LangVersion>9.0</LangVersion>
57
<TargetFramework>net5.0-windows</TargetFramework>
68
<UseWindowsForms>true</UseWindowsForms>
@@ -14,12 +16,20 @@
1416
<PackageProjectUrl>https://github.com/bubuntoid/EasyDialog</PackageProjectUrl>
1517
<RepositoryUrl>https://github.com/bubuntoid/EasyDialog</RepositoryUrl>
1618
<PackageTags>dialog, builder, ui, framework</PackageTags>
17-
<Version>6.0.0</Version>
19+
<Version>6.0.1</Version>
1820
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
21+
<PackageReleaseNotes>Remove redundant property from IFormProvider (SecondColumnLeftPadding)</PackageReleaseNotes>
1922
</PropertyGroup>
2023

21-
<ItemGroup>
22-
<PackageReference Include="bubuntoid.EasyDialog" Version="6.0.0" />
24+
<ItemGroup Condition=" '$(Configuration)' == 'Release' ">
25+
<PackageReference Include="bubuntoid.EasyDialog" Version="6.0.1" />
26+
</ItemGroup>
27+
28+
<ItemGroup Condition=" '$(Configuration)' != 'Release' ">
29+
<ProjectReference Include="..\EasyDialog\EasyDialog.csproj" />
30+
</ItemGroup>
31+
32+
<ItemGroup>
2333
<PackageReference Include="MetroFramework" Version="1.2.0.3" />
2434
</ItemGroup>
2535

src/EasyDialog.MetroFramework/MetroFormProvider.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ namespace bubuntoid.EasyDialog.Internal.Providers
1010
internal class MetroFormProvider : IFormProvider
1111
{
1212
public int InitialTopPadding { get; set; } = 80;
13-
public int SecondColumnLeftPadding { get; set; } = 165;
1413
public int BottomSpace { get; set; } = -40;
1514
public int ButtonRightPadding { get; set; } = 15;
1615
public int ButtonBottomPadding { get; set; } = 10;

src/EasyDialog.Samples/Authorization/AuthDialogContext.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ protected override void OnConfiguring(DialogContextConfigureOptionsBuilder<AuthD
1313
{
1414
builder.UseMetroStyle()
1515
.HasTitle("Authentification")
16-
.HasButton("Sign in");
16+
.HasButton("Sign in")
17+
.HasWidth(400);
1718

1819
builder.Item(x => x.Password)
1920
.AsTextBox()

src/EasyDialog/Builders/DialogContextConfigureOptionsBuilder.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,17 @@ public DialogContextConfigureOptionsBuilder<TContext> HasButton(string buttonTex
5252
return this;
5353
}
5454

55+
/// <summary>
56+
/// Sets width of form
57+
/// </summary>
58+
/// <param name="width">width in pixels</param>
59+
/// <returns></returns>
60+
public DialogContextConfigureOptionsBuilder<TContext> HasWidth(int width)
61+
{
62+
Base.Data.Width = width;
63+
return this;
64+
}
65+
5566
/// <summary>
5667
/// Sets button text and align
5768
/// </summary>

src/EasyDialog/EasyDialog.csproj

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,18 @@
88
<PackageId>bubuntoid.EasyDialog</PackageId>
99
<Authors>bubuntoid</Authors>
1010
<Company>bubuntoid</Company>
11-
<Description>🌈 Create UI dialogs automatically with metro, material and windows style for desktop applications by using EasyDialog (.NET Framework).
11+
<Description>Create UI dialogs automatically with metro, material and windows style for desktop applications by using EasyDialog (.NET 5).
1212
Docs: https://github.com/bubuntoid/EasyDialog</Description>
1313
<Copyright>Copyright © 2021</Copyright>
1414
<PackageLicenseExpression></PackageLicenseExpression>
1515
<PackageProjectUrl>https://github.com/bubuntoid/EasyDialog</PackageProjectUrl>
1616
<RepositoryUrl>https://github.com/bubuntoid/EasyDialog</RepositoryUrl>
1717
<PackageTags>dialog, builder, ui, framework</PackageTags>
18-
<Version>6.0.0</Version>
18+
<Version>6.0.1</Version>
1919
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
20-
<PackageReleaseNotes>Move MaterialSkin theme to https://www.nuget.org/packages/bubuntoid.EasyDialog.MaterialSkin;
21-
Move MetroFramework theme to https://www.nuget.org/packages/bubuntoid.EasyDialog.MetroFramework;
22-
Add UseFormProvider to DialogContextConfigureOptionsBuilder;
23-
Implement AsLabel extension;
24-
Implement PlaceSeparatorBefore, PlaceSeparatorAfter extensions;
25-
IFormProvider from now is public;</PackageReleaseNotes>
20+
<PackageReleaseNotes>
21+
Add HasWidth(int width) method;
22+
Remove redundant property from IFormProvider (SecondColumnLeftPadding);
23+
</PackageReleaseNotes>
2624
</PropertyGroup>
2725
</Project>

src/EasyDialog/Internal/EasyDialogForm.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ namespace bubuntoid.EasyDialog.Internal
1313
internal class EasyDialogForm : IEasyDialogForm
1414
{
1515
private const int DEFAULT_VALUE_CONTROL_HEIGHT = 20;
16-
private const int DEFAULT_VALUE_CONTROL_WIDTH = 150;
1716
private const int DEFAULT_BUTTON_HEIGHT = 40;
1817
private const int DEFAULT_BUTTON_WIDTH = 120;
1918
private const int PADDING = 25;
@@ -34,8 +33,10 @@ public void Initialize(IDialogContextConfigureOptionsBuilder optionsBuilder)
3433
{
3534
var options = optionsBuilder.Data;
3635
formProvider = options.FormProvider;
36+
formProvider.Width = options.Width ?? formProvider.Width;
3737
formProvider.Form.Text = options.Title ?? context.GetType().Name;
3838
formProvider.SetStartPosition(options.StartPosition);
39+
3940
onShownEvent = options.OnShownEvent;
4041

4142
var currentHeight = formProvider.InitialTopPadding;
@@ -46,7 +47,7 @@ public void Initialize(IDialogContextConfigureOptionsBuilder optionsBuilder)
4647
var currentItem = options.Items.ElementAt(i);
4748
var currentItemData = currentItem.Data;
4849
var control = currentItemData.Control;
49-
var fullRowValueControlWidth = formProvider.Width + formProvider.ExtraPaddingForFullRow - 45;
50+
var fullRowValueControlWidth = formProvider.Width + formProvider.ExtraPaddingForFullRow - 55;
5051

5152
if (currentItemData.Ignore == true)
5253
continue;
@@ -95,12 +96,12 @@ public void Initialize(IDialogContextConfigureOptionsBuilder optionsBuilder)
9596

9697
control.Size = new Size
9798
{
98-
Width = currentItemData.FullRow ? fullRowValueControlWidth : DEFAULT_VALUE_CONTROL_WIDTH,
99+
Width = currentItemData.FullRow ? fullRowValueControlWidth : formProvider.Width / 2 - 30,
99100
Height = currentItemData.ControlHeight ?? DEFAULT_VALUE_CONTROL_HEIGHT
100101
};
101102
control.Location = new Point
102103
{
103-
X = currentItemData.FullRow ? PADDING : formProvider.SecondColumnLeftPadding,
104+
X = currentItemData.FullRow ? PADDING : formProvider.Width / 2,
104105
Y = currentHeight,
105106
};
106107

@@ -118,7 +119,7 @@ public void Initialize(IDialogContextConfigureOptionsBuilder optionsBuilder)
118119

119120
formProvider.Height = formProvider.InitialTopPadding + currentHeight + DEFAULT_BUTTON_HEIGHT +
120121
formProvider.BottomSpace;
121-
122+
122123
var buttonControl = ResolveButton(options);
123124
formProvider.AddControl(buttonControl);
124125
buttonControl.Select();

src/EasyDialog/Internal/Models/InternalDialogContextConfigureOptionsBuilderData.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ internal class InternalDialogContextConfigureOptionsBuilderData
1818
public Action OnShownEvent { get; set; }
1919

2020
public IFormProvider FormProvider { get; set; }
21+
public int? Width { get; set; }
2122

2223
internal InternalDialogContextConfigureOptionsBuilderData()
2324
{

0 commit comments

Comments
 (0)