no more submodule
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
// This is free and unencumbered software released into the public domain.
|
||||
// Happy coding!!! - GtkSharp Team
|
||||
|
||||
using Gtk;
|
||||
using System;
|
||||
using System.Timers;
|
||||
|
||||
namespace Samples
|
||||
{
|
||||
[Section(ContentType = typeof(ProgressBar), Category = Category.Widgets)]
|
||||
class ProgressBarSection : ListSection
|
||||
{
|
||||
public ProgressBarSection()
|
||||
{
|
||||
AddItem(CreateSimpleProgressBar());
|
||||
AddItem(CreateFractionProgressBar());
|
||||
AddItem(CreatePulseProgressBar());
|
||||
}
|
||||
|
||||
public (string, Widget) CreateSimpleProgressBar()
|
||||
{
|
||||
var pb = new ProgressBar();
|
||||
|
||||
// lets add a visible request size in our example
|
||||
pb.WidthRequest = 100;
|
||||
|
||||
// add a text
|
||||
pb.Text = "Some progress...";
|
||||
|
||||
// to show text it must be set to true
|
||||
pb.ShowText = true;
|
||||
|
||||
// progressbar is used in percentage mode values between 0.0 and 1.0
|
||||
pb.Fraction = 0.60d;
|
||||
|
||||
return ("Progress Bar:", pb);
|
||||
}
|
||||
|
||||
public (string, Widget) CreateFractionProgressBar()
|
||||
{
|
||||
// this is used when application can report progress
|
||||
|
||||
var pb = new ProgressBar();
|
||||
|
||||
pb.WidthRequest = 200;
|
||||
|
||||
pb.Text = "0%";
|
||||
pb.ShowText = true;
|
||||
pb.Fraction = 0d;
|
||||
|
||||
// lets add a timer to demo it
|
||||
var timer = new Timer();
|
||||
timer.Interval = 1000;
|
||||
|
||||
timer.Elapsed += (sender, e) =>
|
||||
{
|
||||
pb.Fraction += 0.1d;
|
||||
if (pb.Fraction >= 1d)
|
||||
pb.Fraction = 0d;
|
||||
|
||||
pb.Text = $"{Math.Truncate(pb.Fraction * 100)}%";
|
||||
};
|
||||
|
||||
timer.Start();
|
||||
|
||||
return ("Progress Bar with fraction:", pb);
|
||||
}
|
||||
|
||||
public (string, Widget) CreatePulseProgressBar()
|
||||
{
|
||||
// this is used when application can't report progress
|
||||
|
||||
var pb = new ProgressBar();
|
||||
|
||||
pb.WidthRequest = 200;
|
||||
|
||||
pb.Text = "Task time is unknown";
|
||||
pb.ShowText = true;
|
||||
|
||||
// define how much is the pulse step
|
||||
pb.PulseStep = 0.1d;
|
||||
|
||||
// lets add a timer to demo it
|
||||
var timer = new Timer();
|
||||
timer.Interval = 200;
|
||||
|
||||
timer.Elapsed += (sender, e) => pb.Pulse();
|
||||
|
||||
timer.Start();
|
||||
|
||||
return ("Progress Bar with pulse:", pb);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user