diff --git a/Source/Samples/Sections/Widgets/ColorButtonSection.cs b/Source/Samples/Sections/Widgets/ColorButtonSection.cs new file mode 100644 index 000000000..89499750c --- /dev/null +++ b/Source/Samples/Sections/Widgets/ColorButtonSection.cs @@ -0,0 +1,38 @@ +// This is free and unencumbered software released into the public domain. +// Happy coding!!! - GtkSharp Team + +using Gtk; + +namespace Samples +{ + [Section(Name = "Color Button", Category = Category.Widgets)] + class ColorButtonSection : ListSection + { + public ColorButtonSection() + { + AddItem(CreateColorButton()); + } + + public (string, Widget) CreateColorButton() + { + var btn = new ColorButton(); + + // Set RGBA color + btn.Rgba = new Gdk.RGBA() + { + Red = 0, + Green = 0, + Blue = 255, + Alpha = 0.2 // 20% translucent + }; + + // Or Parse hex + btn.Rgba.Parse("#729FCF"); + + // UseAlpha default is false + btn.UseAlpha = true; + + return ("Color button:", btn); + } + } +} diff --git a/Source/Samples/Sections/Widgets/LinkButtonSection.cs b/Source/Samples/Sections/Widgets/LinkButtonSection.cs new file mode 100644 index 000000000..ed898361e --- /dev/null +++ b/Source/Samples/Sections/Widgets/LinkButtonSection.cs @@ -0,0 +1,25 @@ + +// This is free and unencumbered software released into the public domain. +// Happy coding!!! - GtkSharp Team + +using Gtk; + +namespace Samples +{ + [Section(Name = "Link Button", Category = Category.Widgets)] + class LinkButtonSection : ListSection + { + public LinkButtonSection() + { + AddItem(CreateLinkButton()); + } + + public (string, Widget) CreateLinkButton() + { + var btn = new LinkButton("A simple link button"); + btn.Clicked += (sender, e) => ApplicationOutput.WriteLine(sender, "Link button Clicked"); + + return ("Link button:", btn); + } + } +} diff --git a/Source/Samples/Sections/Widgets/SpinButtonSection.cs b/Source/Samples/Sections/Widgets/SpinButtonSection.cs new file mode 100644 index 000000000..3b611c065 --- /dev/null +++ b/Source/Samples/Sections/Widgets/SpinButtonSection.cs @@ -0,0 +1,32 @@ +// This is free and unencumbered software released into the public domain. +// Happy coding!!! - GtkSharp Team + +using Gtk; + +namespace Samples +{ + [Section(Name = "Spin Button", Category = Category.Widgets)] + class SpinButtonSection : ListSection + { + public SpinButtonSection() + { + AddItem(CreateSpinButton()); + } + + public (string, Widget) CreateSpinButton() + { + // Spinbutton constructor takes MinValue, MaxValue and StepValue + var btn = new SpinButton(0, 1000, 1); + + // Button constructor also takes the adjustment object + // and it can be redefined any time like CurrentVal, MinVal, MaxVal, Step, PageStep, PageSize + btn.Adjustment.Configure(888, 0, 1000, 1, 100, 0); + + // Default values are double, use ValueAsInt method to get Int + btn.ValueChanged += (sender, e) => + ApplicationOutput.WriteLine(sender, $"Spin button changed: {btn.ValueAsInt}"); + + return ("Spin button:", btn); + } + } +} diff --git a/Source/Samples/Sections/Widgets/SwitchButtonSection.cs b/Source/Samples/Sections/Widgets/SwitchButtonSection.cs new file mode 100644 index 000000000..9d76b6090 --- /dev/null +++ b/Source/Samples/Sections/Widgets/SwitchButtonSection.cs @@ -0,0 +1,26 @@ +// This is free and unencumbered software released into the public domain. +// Happy coding!!! - GtkSharp Team + +using Gtk; + +namespace Samples +{ + [Section(Name = "Switch Button", Category = Category.Widgets)] + class SwitchButtonSection : ListSection + { + public SwitchButtonSection() + { + AddItem(CreateSwitchButton()); + } + + public (string, Widget) CreateSwitchButton() + { + var btn = new Switch(); + + btn.ButtonReleaseEvent += (o, args) => + ApplicationOutput.WriteLine(o, $"Switch is now: {!btn.Active}"); + + return ("Switch:", btn); + } + } +} diff --git a/Source/Samples/Sections/Widgets/ToggleButtonSection.cs b/Source/Samples/Sections/Widgets/ToggleButtonSection.cs new file mode 100644 index 000000000..db2fc52cf --- /dev/null +++ b/Source/Samples/Sections/Widgets/ToggleButtonSection.cs @@ -0,0 +1,32 @@ +// This is free and unencumbered software released into the public domain. +// Happy coding!!! - GtkSharp Team + +using Gtk; + +namespace Samples +{ + [Section(Name = "Toggle Button", Category = Category.Widgets)] + class ToggleButtonSection : ListSection + { + public ToggleButtonSection() + { + AddItem(CreateToggleButton()); + } + + public (string, Widget) CreateToggleButton() + { + var btn = new ToggleButton("Toggle Me"); + btn.Toggled += (sender, e) => + { + if (btn.Active) + btn.Label = "Untoggle Me"; + else + btn.Label = "Toglle Me"; + + ApplicationOutput.WriteLine(sender, "Buton Toggled"); + }; + + return ("Toggle button:", btn); + } + } +}