no more submodule
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
using Gtk;
|
||||
using System;
|
||||
namespace Samples
|
||||
{
|
||||
|
||||
[Section (ContentType = typeof(CustomCellRenderer), Category = Category.Widgets)]
|
||||
class CellRendererSection : ListSection
|
||||
{
|
||||
public CellRendererSection ()
|
||||
{
|
||||
AddItem (CreateCellRenderer ());
|
||||
|
||||
}
|
||||
ListStore liststore;
|
||||
|
||||
public (string, Widget) CreateCellRenderer ()
|
||||
{
|
||||
liststore = new ListStore (typeof (float), typeof (string));
|
||||
liststore.AppendValues (0.5f, "50%");
|
||||
|
||||
TreeView view = new TreeView (liststore);
|
||||
|
||||
view.AppendColumn ("Progress", new CellRendererText (), "text", 1);
|
||||
view.AppendColumn ("Progress", new CustomCellRenderer (), "percent", 0);
|
||||
GLib.Timeout.Add (50, new GLib.TimeoutHandler (update_percent));
|
||||
|
||||
return (nameof(CustomCellRenderer), view);
|
||||
}
|
||||
|
||||
bool increasing = true;
|
||||
bool update_percent ()
|
||||
{
|
||||
TreeIter iter;
|
||||
liststore.GetIterFirst (out iter);
|
||||
float perc = (float) liststore.GetValue (iter, 0);
|
||||
|
||||
if ((perc > 0.99) || (perc < 0.01 && perc > 0)) {
|
||||
increasing = !increasing;
|
||||
}
|
||||
|
||||
if (increasing)
|
||||
perc += 0.01f;
|
||||
else
|
||||
perc -= 0.01f;
|
||||
|
||||
liststore.SetValue (iter, 0, perc);
|
||||
liststore.SetValue (iter, 1, Convert.ToInt32 (perc * 100) + "%");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user