diff --git a/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.Designer.cs b/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.Designer.cs
deleted file mode 100644
index f878d6c..0000000
--- a/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.Designer.cs
+++ /dev/null
@@ -1,136 +0,0 @@
-namespace Pilz.UI.Telerik.Dialogs
-{
- partial class RadFlyoutBase
- {
- ///
- /// Erforderliche Designervariable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Verwendete Ressourcen bereinigen.
- ///
- /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Vom Komponenten-Designer generierter Code
-
- ///
- /// Erforderliche Methode für die Designerunterstützung.
- /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
- ///
- private void InitializeComponent()
- {
- radButton_Cancel = new global::Telerik.WinControls.UI.RadButton();
- radButton_Confirm = new global::Telerik.WinControls.UI.RadButton();
- tableLayoutPanel_ActionPanel = new TableLayoutPanel();
- tableLayoutPanel_TitlePanel = new TableLayoutPanel();
- radLabel_Title = new global::Telerik.WinControls.UI.RadLabel();
- ((System.ComponentModel.ISupportInitialize)radButton_Cancel).BeginInit();
- ((System.ComponentModel.ISupportInitialize)radButton_Confirm).BeginInit();
- tableLayoutPanel_ActionPanel.SuspendLayout();
- tableLayoutPanel_TitlePanel.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)radLabel_Title).BeginInit();
- SuspendLayout();
- //
- // radButton_Cancel
- //
- radButton_Cancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
- radButton_Cancel.ImageAlignment = ContentAlignment.MiddleRight;
- radButton_Cancel.Location = new Point(187, 3);
- radButton_Cancel.Name = "radButton_Cancel";
- radButton_Cancel.Size = new Size(110, 24);
- radButton_Cancel.TabIndex = 1;
- radButton_Cancel.Text = "Cancel";
- radButton_Cancel.TextAlignment = ContentAlignment.MiddleLeft;
- radButton_Cancel.TextImageRelation = TextImageRelation.ImageBeforeText;
- radButton_Cancel.Click += RadButton_Cancel_Click;
- //
- // radButton_Confirm
- //
- radButton_Confirm.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
- radButton_Confirm.ImageAlignment = ContentAlignment.MiddleRight;
- radButton_Confirm.Location = new Point(71, 3);
- radButton_Confirm.Name = "radButton_Confirm";
- radButton_Confirm.Size = new Size(110, 24);
- radButton_Confirm.TabIndex = 0;
- radButton_Confirm.Text = "Okay";
- radButton_Confirm.TextAlignment = ContentAlignment.MiddleLeft;
- radButton_Confirm.TextImageRelation = TextImageRelation.ImageBeforeText;
- radButton_Confirm.Click += RadButton_Confirm_Click;
- //
- // tableLayoutPanel_ActionPanel
- //
- tableLayoutPanel_ActionPanel.ColumnCount = 3;
- tableLayoutPanel_ActionPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
- tableLayoutPanel_ActionPanel.ColumnStyles.Add(new ColumnStyle());
- tableLayoutPanel_ActionPanel.ColumnStyles.Add(new ColumnStyle());
- tableLayoutPanel_ActionPanel.Controls.Add(radButton_Confirm, 1, 0);
- tableLayoutPanel_ActionPanel.Controls.Add(radButton_Cancel, 2, 0);
- tableLayoutPanel_ActionPanel.Dock = DockStyle.Bottom;
- tableLayoutPanel_ActionPanel.Location = new Point(0, 120);
- tableLayoutPanel_ActionPanel.Name = "tableLayoutPanel_ActionPanel";
- tableLayoutPanel_ActionPanel.RowCount = 1;
- tableLayoutPanel_ActionPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
- tableLayoutPanel_ActionPanel.Size = new Size(300, 30);
- tableLayoutPanel_ActionPanel.TabIndex = 3;
- tableLayoutPanel_ActionPanel.TabStop = false;
- //
- // tableLayoutPanel_TitlePanel
- //
- tableLayoutPanel_TitlePanel.ColumnCount = 1;
- tableLayoutPanel_TitlePanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
- tableLayoutPanel_TitlePanel.Controls.Add(radLabel_Title, 0, 0);
- tableLayoutPanel_TitlePanel.Dock = DockStyle.Top;
- tableLayoutPanel_TitlePanel.Location = new Point(0, 0);
- tableLayoutPanel_TitlePanel.Name = "tableLayoutPanel_TitlePanel";
- tableLayoutPanel_TitlePanel.RowCount = 1;
- tableLayoutPanel_TitlePanel.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
- tableLayoutPanel_TitlePanel.Size = new Size(300, 30);
- tableLayoutPanel_TitlePanel.TabIndex = 2;
- tableLayoutPanel_TitlePanel.TabStop = false;
- tableLayoutPanel_TitlePanel.Visible = false;
- //
- // radLabel_Title
- //
- radLabel_Title.AutoSize = false;
- radLabel_Title.Dock = DockStyle.Fill;
- radLabel_Title.Location = new Point(3, 3);
- radLabel_Title.Name = "radLabel_Title";
- radLabel_Title.Size = new Size(294, 24);
- radLabel_Title.TabIndex = 20;
- radLabel_Title.TabStop = false;
- radLabel_Title.TextImageRelation = TextImageRelation.ImageBeforeText;
- //
- // RadFlyoutBase
- //
- AutoScaleDimensions = new SizeF(7F, 15F);
- AutoScaleMode = AutoScaleMode.Font;
- Controls.Add(tableLayoutPanel_TitlePanel);
- Controls.Add(tableLayoutPanel_ActionPanel);
- Name = "RadFlyoutBase";
- Size = new Size(300, 150);
- ((System.ComponentModel.ISupportInitialize)radButton_Cancel).EndInit();
- ((System.ComponentModel.ISupportInitialize)radButton_Confirm).EndInit();
- tableLayoutPanel_ActionPanel.ResumeLayout(false);
- tableLayoutPanel_TitlePanel.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)radLabel_Title).EndInit();
- ResumeLayout(false);
- }
-
- #endregion
-
- private global::Telerik.WinControls.UI.RadButton radButton_Cancel;
- private global::Telerik.WinControls.UI.RadButton radButton_Confirm;
- private TableLayoutPanel tableLayoutPanel_ActionPanel;
- private TableLayoutPanel tableLayoutPanel_TitlePanel;
- private global::Telerik.WinControls.UI.RadLabel radLabel_Title;
- }
-}
diff --git a/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.cs b/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.cs
index cfd4061..5ac2e19 100644
--- a/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.cs
+++ b/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.cs
@@ -1,9 +1,18 @@
-using Telerik.WinControls;
+using System.ComponentModel;
+using System.Diagnostics.CodeAnalysis;
+using Telerik.WinControls;
+using Telerik.WinControls.UI;
namespace Pilz.UI.Telerik.Dialogs;
public partial class RadFlyoutBase : UserControl
{
+ private RadButton radButton_Cancel;
+ private RadButton radButton_Confirm;
+ private TableLayoutPanel tableLayoutPanel_ActionPanel;
+ private TableLayoutPanel tableLayoutPanel_TitlePanel;
+ private RadLabel radLabel_Title;
+
public static RadSvgImage? CancelSvg { get; set; } = null;
public static RadSvgImage? ConfirmSvg { get; set; } = null;
@@ -11,30 +20,52 @@ public partial class RadFlyoutBase : UserControl
public bool RegisterDialogAccept { get; set; } = true;
public bool RegisterDialogCancel { get; set; } = false;
- protected bool ActionPanelVisible
+ [DefaultValue(true)]
+ public bool ActionPanelVisible
{
get => tableLayoutPanel_ActionPanel.Visible;
set => tableLayoutPanel_ActionPanel.Visible = value;
}
+ [DefaultValue(true)]
protected bool CancelButtonVisible
{
get => radButton_Cancel.Visible;
set => radButton_Cancel.Visible = value;
}
+ [DefaultValue(true)]
protected bool CancelButtonEnable
{
get => radButton_Cancel.Enabled;
set => radButton_Cancel.Enabled = value;
}
+ [DefaultValue(true)]
protected bool ConfirmButtonEnable
{
get => radButton_Confirm.Enabled;
set => radButton_Confirm.Enabled = value;
}
+ [Localizable(true)]
+ [DefaultValue("Okay")]
+ public string ConfirmButtonText
+ {
+ get => radButton_Confirm.Text;
+ set => radButton_Confirm.Text = value;
+ }
+
+ [Localizable(true)]
+ [DefaultValue("Cancel")]
+ public string CancelButtonText
+ {
+ get => radButton_Cancel.Text;
+ set => radButton_Cancel.Text = value;
+ }
+
+ [Localizable(true)]
+ [DefaultValue("")]
public string Title
{
get => radLabel_Title.Text;
@@ -45,6 +76,7 @@ public partial class RadFlyoutBase : UserControl
}
}
+ [DefaultValue(null)]
public RadSvgImage TitleIcon
{
get => radLabel_Title.SvgImage;
@@ -59,22 +91,95 @@ public partial class RadFlyoutBase : UserControl
{
InitializeComponent();
ParentChanged += FlyoutDialogBase_ParentChanged;
+ }
- // Change TabIndex to a very high value
- // -> prevent conflicts with controls based on this class
- radButton_Cancel.TabIndex = int.MaxValue - 1;
+ [MemberNotNull(nameof(radButton_Cancel))]
+ [MemberNotNull(nameof(radButton_Confirm))]
+ [MemberNotNull(nameof(tableLayoutPanel_ActionPanel))]
+ [MemberNotNull(nameof(tableLayoutPanel_TitlePanel))]
+ [MemberNotNull(nameof(radLabel_Title))]
+ private void InitializeComponent()
+ {
+ // radButton_Cancel
+ radButton_Cancel = new()
+ {
+ Name = "radButton_Cancel",
+ Anchor = AnchorStyles.Bottom | AnchorStyles.Right,
+ ImageAlignment = ContentAlignment.MiddleRight,
+ Size = new Size(110, 24),
+ TabIndex = 1,
+ Text = "Cancel",
+ TextAlignment = ContentAlignment.MiddleLeft,
+ TextImageRelation = TextImageRelation.ImageBeforeText,
+ SvgImage = CancelSvg
+ };
radButton_Cancel.TabIndex = int.MaxValue;
+ radButton_Cancel.Click += RadButton_Cancel_Click;
- // SVG Symbols
- radButton_Cancel.SvgImage = CancelSvg;
- radButton_Confirm.SvgImage = ConfirmSvg;
+ // radButton_Confirm
+ radButton_Confirm = new()
+ {
+ Name = "radButton_Confirm",
+ Anchor = AnchorStyles.Bottom | AnchorStyles.Right,
+ ImageAlignment = ContentAlignment.MiddleRight,
+ Size = new Size(110, 24),
+ TabIndex = 0,
+ Text = "Okay",
+ TextAlignment = ContentAlignment.MiddleLeft,
+ TextImageRelation = TextImageRelation.ImageBeforeText,
+ SvgImage = ConfirmSvg
+ };
+ radButton_Confirm.TabIndex = int.MaxValue - 1;
+ radButton_Confirm.Click += RadButton_Confirm_Click;
- // Hide bars in Designer
- //if (DesignMode)
- //{
- // tableLayoutPanel_ActionPanel.Visible = false;
- // tableLayoutPanel_TitlePanel.Visible = false;
- //}
+ // radLabel_Title
+ radLabel_Title = new()
+ {
+ Name = "radLabel_Title",
+ AutoSize = false,
+ Dock = DockStyle.Fill,
+ TabStop = false,
+ TextImageRelation = TextImageRelation.ImageBeforeText
+ };
+
+ // tableLayoutPanel_ActionPanel
+ tableLayoutPanel_ActionPanel = new()
+ {
+ Name = "tableLayoutPanel_ActionPanel",
+ Dock = DockStyle.Bottom,
+ Size = new Size(ClientSize.Width, 30),
+ TabStop = false,
+ ColumnCount = 3,
+ RowCount = 1,
+ };
+ tableLayoutPanel_ActionPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel_ActionPanel.ColumnStyles.Add(new ColumnStyle());
+ tableLayoutPanel_ActionPanel.ColumnStyles.Add(new ColumnStyle());
+ tableLayoutPanel_ActionPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
+ tableLayoutPanel_ActionPanel.Controls.Add(radButton_Confirm, 1, 0);
+ tableLayoutPanel_ActionPanel.Controls.Add(radButton_Cancel, 2, 0);
+
+ // tableLayoutPanel_TitlePanel
+ tableLayoutPanel_TitlePanel = new()
+ {
+ Name = "tableLayoutPanel_TitlePanel",
+ Dock = DockStyle.Top,
+ TabStop = false,
+ Visible = false,
+ ColumnCount = 1,
+ RowCount = 1
+ };
+ tableLayoutPanel_TitlePanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
+ tableLayoutPanel_TitlePanel.Controls.Add(radLabel_Title, 0, 0);
+ tableLayoutPanel_TitlePanel.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
+ tableLayoutPanel_TitlePanel.Size = new Size(300, 30);
+
+ // RadFlyoutBase
+ AutoScaleDimensions = new SizeF(7F, 15F);
+ AutoScaleMode = AutoScaleMode.Font;
+ Controls.Add(tableLayoutPanel_TitlePanel);
+ Controls.Add(tableLayoutPanel_ActionPanel);
+ Size = new Size(300, 150);
}
protected virtual void FlyoutDialogBase_ParentChanged(object? sender, EventArgs e)
@@ -117,13 +222,13 @@ public partial class RadFlyoutBase : UserControl
tableLayoutPanel_TitlePanel.Visible = !string.IsNullOrWhiteSpace(radLabel_Title.Text) || radLabel_Title.SvgImage != null;
}
- protected virtual void RadButton_Confirm_Click(object sender, EventArgs e)
+ protected virtual void RadButton_Confirm_Click(object? sender, EventArgs e)
{
if (ValidateOK())
Close(DialogResult.OK);
}
- protected virtual void RadButton_Cancel_Click(object sender, EventArgs e)
+ protected virtual void RadButton_Cancel_Click(object? sender, EventArgs e)
{
Close(DialogResult.Cancel);
}
diff --git a/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.resx b/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.resx
deleted file mode 100644
index 8b2ff64..0000000
--- a/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/Pilz.UI/Dialogs/FlyoutBase.Designer.cs b/Pilz.UI/Dialogs/FlyoutBase.Designer.cs
deleted file mode 100644
index 9d828b4..0000000
--- a/Pilz.UI/Dialogs/FlyoutBase.Designer.cs
+++ /dev/null
@@ -1,122 +0,0 @@
-namespace Pilz.UI.Dialogs;
-
-partial class FlyoutBase
-{
- ///
- /// Erforderliche Designervariable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Verwendete Ressourcen bereinigen.
- ///
- /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Vom Komponenten-Designer generierter Code
-
- ///
- /// Erforderliche Methode für die Designerunterstützung.
- /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
- ///
- private void InitializeComponent()
- {
- tableLayoutPanel_TitlePanel = new System.Windows.Forms.TableLayoutPanel();
- label_Title = new System.Windows.Forms.Label();
- tableLayoutPanel_ActionPanel = new System.Windows.Forms.TableLayoutPanel();
- button_Accept = new System.Windows.Forms.Button();
- button_Cancel = new System.Windows.Forms.Button();
- tableLayoutPanel_TitlePanel.SuspendLayout();
- tableLayoutPanel_ActionPanel.SuspendLayout();
- SuspendLayout();
- //
- // tableLayoutPanel_TitlePanel
- //
- tableLayoutPanel_TitlePanel.ColumnCount = 1;
- tableLayoutPanel_TitlePanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
- tableLayoutPanel_TitlePanel.Controls.Add(label_Title, 0, 0);
- tableLayoutPanel_TitlePanel.Dock = System.Windows.Forms.DockStyle.Top;
- tableLayoutPanel_TitlePanel.Location = new System.Drawing.Point(0, 0);
- tableLayoutPanel_TitlePanel.Name = "tableLayoutPanel_TitlePanel";
- tableLayoutPanel_TitlePanel.RowCount = 1;
- tableLayoutPanel_TitlePanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
- tableLayoutPanel_TitlePanel.Size = new System.Drawing.Size(300, 29);
- tableLayoutPanel_TitlePanel.TabIndex = 2147483647;
- //
- // label_Title
- //
- label_Title.Dock = System.Windows.Forms.DockStyle.Fill;
- label_Title.Location = new System.Drawing.Point(3, 0);
- label_Title.Name = "label_Title";
- label_Title.Size = new System.Drawing.Size(294, 29);
- label_Title.TabIndex = 2147483646;
- label_Title.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // tableLayoutPanel_ActionPanel
- //
- tableLayoutPanel_ActionPanel.AutoSize = true;
- tableLayoutPanel_ActionPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
- tableLayoutPanel_ActionPanel.ColumnCount = 3;
- tableLayoutPanel_ActionPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
- tableLayoutPanel_ActionPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
- tableLayoutPanel_ActionPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
- tableLayoutPanel_ActionPanel.Controls.Add(button_Cancel, 2, 0);
- tableLayoutPanel_ActionPanel.Controls.Add(button_Accept, 1, 0);
- tableLayoutPanel_ActionPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
- tableLayoutPanel_ActionPanel.Location = new System.Drawing.Point(0, 121);
- tableLayoutPanel_ActionPanel.Name = "tableLayoutPanel_ActionPanel";
- tableLayoutPanel_ActionPanel.RowCount = 1;
- tableLayoutPanel_ActionPanel.RowStyles.Add(new System.Windows.Forms.RowStyle());
- tableLayoutPanel_ActionPanel.Size = new System.Drawing.Size(300, 29);
- tableLayoutPanel_ActionPanel.TabIndex = 2147483645;
- tableLayoutPanel_ActionPanel.Visible = false;
- //
- // button_Accept
- //
- button_Accept.Location = new System.Drawing.Point(141, 3);
- button_Accept.Name = "button_Accept";
- button_Accept.Size = new System.Drawing.Size(75, 23);
- button_Accept.TabIndex = 2147483640;
- button_Accept.Text = "Accept";
- button_Accept.UseVisualStyleBackColor = true;
- button_Accept.Click += Button_Accept_Click;
- //
- // button_Cancel
- //
- button_Cancel.Location = new System.Drawing.Point(222, 3);
- button_Cancel.Name = "button_Cancel";
- button_Cancel.Size = new System.Drawing.Size(75, 23);
- button_Cancel.TabIndex = 2147483641;
- button_Cancel.Text = "Cancel";
- button_Cancel.UseVisualStyleBackColor = true;
- button_Cancel.Click += Button_Cancel_Click;
- //
- // FlyoutBase
- //
- AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
- AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- Controls.Add(tableLayoutPanel_ActionPanel);
- Controls.Add(tableLayoutPanel_TitlePanel);
- Name = "FlyoutBase";
- Size = new System.Drawing.Size(300, 150);
- tableLayoutPanel_TitlePanel.ResumeLayout(false);
- tableLayoutPanel_ActionPanel.ResumeLayout(false);
- ResumeLayout(false);
- PerformLayout();
- }
-
- #endregion
-
- private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_TitlePanel;
- private System.Windows.Forms.Label label_Title;
- private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_ActionPanel;
- private System.Windows.Forms.Button button_Cancel;
- private System.Windows.Forms.Button button_Accept;
-}
diff --git a/Pilz.UI/Dialogs/FlyoutBase.cs b/Pilz.UI/Dialogs/FlyoutBase.cs
index 23d5a7a..a91687d 100644
--- a/Pilz.UI/Dialogs/FlyoutBase.cs
+++ b/Pilz.UI/Dialogs/FlyoutBase.cs
@@ -1,35 +1,66 @@
-namespace Pilz.UI.Dialogs;
+using System.ComponentModel;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Pilz.UI.Dialogs;
public partial class FlyoutBase : UserControl
{
+ private TableLayoutPanel tableLayoutPanel_TitlePanel;
+ private Label label_Title;
+ private TableLayoutPanel tableLayoutPanel_ActionPanel;
+ private Button button_Cancel;
+ private Button button_Accept;
+
public DialogResult Result { get; protected set; }
public bool RegisterDialogAccept { get; set; } = true;
public bool RegisterDialogCancel { get; set; } = false;
+ [DefaultValue(true)]
protected bool ActionPanelVisible
{
get => tableLayoutPanel_ActionPanel.Visible;
set => tableLayoutPanel_ActionPanel.Visible = value;
}
+ [DefaultValue(true)]
protected bool CancelButtonVisible
{
get => button_Cancel.Visible;
set => button_Cancel.Visible = value;
}
+ [DefaultValue(true)]
protected bool CancelButtonEnable
{
get => button_Cancel.Enabled;
set => button_Cancel.Enabled = value;
}
+ [DefaultValue(true)]
protected bool ConfirmButtonEnable
{
get => button_Accept.Enabled;
set => button_Accept.Enabled = value;
}
+ [Localizable(true)]
+ [DefaultValue("Okay")]
+ public string ConfirmButtonText
+ {
+ get => button_Accept.Text;
+ set => button_Accept.Text = value;
+ }
+
+ [Localizable(true)]
+ [DefaultValue("Cancel")]
+ public string CancelButtonText
+ {
+ get => button_Cancel.Text;
+ set => button_Cancel.Text = value;
+ }
+
+ [Localizable(true)]
+ [DefaultValue("")]
public string Title
{
get => label_Title.Text;
@@ -44,11 +75,92 @@ public partial class FlyoutBase : UserControl
{
InitializeComponent();
ParentChanged += FlyoutBase_ParentChanged;
+ }
- // Change TabIndex to a very high value
- // -> prevent conflicts with controls based on this class
- button_Cancel.TabIndex = int.MaxValue - 1;
- button_Cancel.TabIndex = int.MaxValue;
+ [MemberNotNull(nameof(tableLayoutPanel_TitlePanel))]
+ [MemberNotNull(nameof(label_Title))]
+ [MemberNotNull(nameof(tableLayoutPanel_ActionPanel))]
+ [MemberNotNull(nameof(button_Cancel))]
+ [MemberNotNull(nameof(button_Accept))]
+ private void InitializeComponent()
+ {
+ SuspendLayout();
+
+ // button_Accept
+ button_Accept = new Button
+ {
+ Name = "button_Accept",
+ Size = new Size(75, 23),
+ TabIndex = int.MaxValue - 1,
+ Text = "Accept",
+ UseVisualStyleBackColor = true
+ };
+ button_Accept.Click += Button_Accept_Click;
+
+ // button_Cancel
+ button_Cancel = new Button
+ {
+ Name = "button_Cancel",
+ Size = new Size(75, 23),
+ TabIndex = int.MaxValue,
+ Text = "Cancel",
+ UseVisualStyleBackColor = true
+ };
+ button_Cancel.Click += Button_Cancel_Click;
+
+ // label_Title
+ label_Title = new Label
+ {
+ Name = "label_Title",
+ Dock = DockStyle.Fill,
+ TextAlign = ContentAlignment.MiddleLeft
+ };
+
+ // tableLayoutPanel_TitlePanel
+ tableLayoutPanel_TitlePanel = new TableLayoutPanel
+ {
+ Name = "tableLayoutPanel_TitlePanel",
+ Dock = DockStyle.Top,
+ Size = new Size(ClientSize.Width, 29),
+ Visible = false,
+ ColumnCount = 1,
+ RowCount = 1
+ };
+ tableLayoutPanel_TitlePanel.SuspendLayout();
+ tableLayoutPanel_TitlePanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
+ tableLayoutPanel_TitlePanel.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
+ tableLayoutPanel_TitlePanel.Controls.Add(label_Title, 0, 0);
+
+ // tableLayoutPanel_ActionPanel
+ tableLayoutPanel_ActionPanel = new TableLayoutPanel
+ {
+ Name = "tableLayoutPanel_ActionPanel",
+ AutoSize = true,
+ AutoSizeMode = AutoSizeMode.GrowAndShrink,
+ Dock = DockStyle.Bottom,
+ Size = new Size(ClientSize.Width, 29),
+ ColumnCount = 3,
+ RowCount = 1
+ };
+ tableLayoutPanel_ActionPanel.SuspendLayout();
+ tableLayoutPanel_ActionPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel_ActionPanel.ColumnStyles.Add(new ColumnStyle());
+ tableLayoutPanel_ActionPanel.ColumnStyles.Add(new ColumnStyle());
+ tableLayoutPanel_ActionPanel.RowStyles.Add(new RowStyle());
+ tableLayoutPanel_ActionPanel.Controls.Add(button_Cancel, 2, 0);
+ tableLayoutPanel_ActionPanel.Controls.Add(button_Accept, 1, 0);
+
+ // FlyoutBase
+ AutoScaleDimensions = new SizeF(7F, 15F);
+ AutoScaleMode = AutoScaleMode.Font;
+ Controls.Add(tableLayoutPanel_ActionPanel);
+ Controls.Add(tableLayoutPanel_TitlePanel);
+ Size = new Size(300, 150);
+
+ tableLayoutPanel_TitlePanel.ResumeLayout(false);
+ tableLayoutPanel_ActionPanel.ResumeLayout(false);
+ ResumeLayout(false);
+ PerformLayout();
}
private void FlyoutBase_ParentChanged(object? sender, EventArgs e)
@@ -81,13 +193,13 @@ public partial class FlyoutBase : UserControl
tableLayoutPanel_TitlePanel.Visible = !string.IsNullOrWhiteSpace(label_Title.Text);
}
- protected virtual void Button_Accept_Click(object sender, System.EventArgs e)
+ protected virtual void Button_Accept_Click(object? sender, EventArgs e)
{
if (ValidateOK())
Close(DialogResult.OK);
}
- protected virtual void Button_Cancel_Click(object sender, System.EventArgs e)
+ protected virtual void Button_Cancel_Click(object? sender, EventArgs e)
{
Close(DialogResult.Cancel);
}
diff --git a/Pilz.UI/Dialogs/FlyoutBase.resx b/Pilz.UI/Dialogs/FlyoutBase.resx
deleted file mode 100644
index af32865..0000000
--- a/Pilz.UI/Dialogs/FlyoutBase.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file