summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core/Toolbar.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core/Toolbar.cs')
-rw-r--r--Xamarin.Forms.Core/Toolbar.cs46
1 files changed, 46 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core/Toolbar.cs b/Xamarin.Forms.Core/Toolbar.cs
new file mode 100644
index 00000000..4405d1f6
--- /dev/null
+++ b/Xamarin.Forms.Core/Toolbar.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using Xamarin.Forms.Platform;
+
+namespace Xamarin.Forms
+{
+ // Marked as internal for 1.0 release until we are ready to release this
+ [RenderWith(typeof(_ToolbarRenderer))]
+ internal class Toolbar : View
+ {
+ readonly List<ToolbarItem> _items = new List<ToolbarItem>();
+
+ public ReadOnlyCollection<ToolbarItem> Items
+ {
+ get { return new ReadOnlyCollection<ToolbarItem>(_items); }
+ }
+
+ public void Add(ToolbarItem item)
+ {
+ if (_items.Contains(item))
+ return;
+ _items.Add(item);
+ if (ItemAdded != null)
+ ItemAdded(this, new ToolbarItemEventArgs(item));
+ }
+
+ public void Clear()
+ {
+ _items.Clear();
+ }
+
+ public event EventHandler<ToolbarItemEventArgs> ItemAdded;
+
+ public event EventHandler<ToolbarItemEventArgs> ItemRemoved;
+
+ public void Remove(ToolbarItem item)
+ {
+ if (_items.Remove(item))
+ {
+ if (ItemRemoved != null)
+ ItemRemoved(this, new ToolbarItemEventArgs(item));
+ }
+ }
+ }
+} \ No newline at end of file