Merge pull request #8 from pedrohex/samples1

[Samples] Some other button type sections
This commit is contained in:
Harry 2018-01-27 21:28:00 +01:00 committed by GitHub
commit c5ff4f2acb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 153 additions and 0 deletions

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}