//
// System.Windows.Forms.StatusBar.cs
//
// Author:
// stubbed out by Daniel Carrera (dcarrera@math.toronto.edu)
// stubbed out by Richard Baumann (biochem333@nyc.rr.com)
//
// (C) 2002 Ximian, Inc
//
using System;
using System.Collections;
namespace System.Windows.Forms
{
//
// This is only a template. Nothing is implemented yet.
// Represents a Windows status bar control.
//
public class StatusBar : Control
{
//
// --- Private Fields
//
//private bool showPanels;
//private bool sizingGrip;
//
// --- Constructors/Destructors
//
//[MonoTODO]
//public StatusBar() : base()
//{
// Dock = DockStyle.bottom;
// showPanels = false;
// sizingGrip = true;
// throw new NotImplementedException ();
//}
//
// --- Public Methods
//
//[MonoTODO]
//public override string ToString()
//{
// throw new NotImplementedException ();
//}
//
// --- Protected Methods
//
//[MonoTODO]
//protected override void CreateHandle()
//{
// throw new NotImplementedException ();
//}
//[MonoTODO]
//protected override void Dispose(bool disposing)
//{
// throw new NotImplementedException ();
//}
//[MonoTODO]
//protected virtual void OnDrawItem(StatusBarDrawItemEventArgs e)
//{
// throw new NotImplementedException ();
//}
//[MonoTODO]
//protected override void OnHandleCreated(EventArgs e)
//{
// throw new NotImplementedException ();
//}
//[MonoTODO]
//protected override void OnHandleDestroyed(EventArgs e)
//{
// throw new NotImplementedException ();
//}
//[MonoTODO]
//protected override void OnLayout(LayoutEventArgs e)
//{
// throw new NotImplementedException ();
//}
//[MonoTODO]
//protected override void OnMouseDown(MouseEventArgs e)
//{
// throw new NotImplementedException ();
//}
//[MonoTODO]
//protected virtual void OnPanelClick(StatusBarPanelClickEventArgs e)
//{
// throw new NotImplementedException ();
//}
//[MonoTODO]
//protected override void OnResize(EventArgs e)
//{
// throw new NotImplementedException ();
//}
//[MonoTODO]
//protected override void WndProc(ref Message m)
//{
// throw new NotImplementedException ();
//}
//
// --- Public Events
//
//public event StatusBarDrawItmeEventHandler DrawItem;
//public event StatusBarPanelClickEventHandler PanelClick;
//
// --- Public Properties
//
//[MonoTODO]
//public override Color BackColor
//{
// get { throw new NotImplementedException (); }
// set { throw new NotImplementedException (); }
//}
//[MonoTODO]
//public override Image BackgroundImage
//{
// get { throw new NotImplementedException (); }
// set { throw new NotImplementedException (); }
//}
//[MonoTODO]
//public override DockStyle Dock
//{
// get { throw new NotImplementedException (); }
// set { throw new NotImplementedException (); }
//}
//[MonoTODO]
//public override Font Font
//{
// get { throw new NotImplementedException (); }
// set { throw new NotImplementedException (); }
//}
//[MonoTODO]
//public override Color ForeColor
//{
// get { throw new NotImplementedException (); }
// set { throw new NotImplementedException (); }
//}
//[MonoTODO]
//public new ImeMode ImeMode
//{
// get { throw new NotImplementedException (); }
// set { throw new NotImplementedException (); }
//}
//[MonoTODO]
//public StatusBar.StatusBarPanelCollection Panels
//{
// get { throw new NotImplementedException (); }
//}
//[MonoTODO]
//public bool ShowPanels // default false
//{
// get { throw new NotImplementedException (); }
// set { throw new NotImplementedException (); }
//}
//[MonoTODO]
//public bool SizingGrip // default true
//{
// get { throw new NotImplementedException (); }
// set { throw new NotImplementedException (); }
//}
//[MonoTODO]
//public new bool TabStop
//{
// get { throw new NotImplementedException (); }
// set { throw new NotImplementedException (); }
//}
//[MonoTODO]
//public override string Text
//{
// get { throw new NotImplementedException (); }
// set { throw new NotImplementedException (); }
//}
//
// --- Protected Properties
//
//[MonoTODO]
//protected override CreateParams CreateParams
//{
// get { throw new NotImplementedException (); }
//}
//[MonoTODO]
//protected override ImeMode DefaultImeMode
//{
// get { throw new NotImplementedException (); }
//}
//[MonoTODO]
//protected override Size DefaultSize
//{
// get { throw new NotImplementedException (); }
//}
//
// System.Windows.Forms.StatusBar.StatusBarPanelCollection
//
// Author:
// stubbed out by Richard Baumann (biochem333@nyc.rr.com)
// Implemented by Richard Baumann
// (C) Ximian, Inc., 2002
//
//
// Represents the collection of panels in a StatusBar control.
//
public class StatusBarPanelCollection : IList, ICollection, IEnumerable
{
//
// --- Private Fields
//
//private ArrayList list;
//private StatusBar owner;
//private static string class_string = "System.Windows.Forms.StatusBar.StatusBarPanelCollection::";
//
// --- Constructors/Destructors
//
//StatusBarPanelCollection(StatusBar owner) : base()
//{
// list = new ArrayList();
// this.owner = owner;
//}
//
// --- Public Methods
//
//public virtual int Add(StatusBarPanel panel)
//{
// string method_string = "Add(StatusBarPanel) ";
// if (panel == null)
// {
// throw new ArgumentNullException(class_string + method_string + "panel == null");
// }
// if (panel.Parent == null)
// {
// throw new ArgumentException(class_string + method_string + "panel.Parent != null");
// }
// panel.Parent = owner;
// return list.Add(panel);
//}
//public virtual StatusBarPanel Add(string s)
//{
// StatusBarPanel tmp = new StatusBarPanel();
// tmp.Text = s;
// tmp.Parent = owner;
// list.Add(tmp);
// return tmp;
//}
//public virtual void AddRange(StatusBarPanel[] panels)
//{
// string method_string = "AddRange(StatusBarPanel[]) ";
// if (panels == null)
// {
// throw new ArgumentNullException(class_string + method_string + "panels == null");
// }
// for (int i = 0; i < panels.Length; i++)
// {
// panels[i].Parent = owner;
// }
// list.AddRange(panels);
//}
//public virtual void Clear()
//{
// list.Clear();
//}
//public bool Contains(StatusBarPanel panel)
//{
// return list.Contains(panel);
//}
//public IEnumerator GetEnumerator()
//{
// return list.GetEnumerator();
//}
//public int IndexOf(StatusBarPanel panel)
//{
// return list.IndexOf(panel);
//}
//public virtual void Insert(int index, StatusBarPanel panel)
//{
// string method_string = "Insert(int,StatusBarPanel) ";
// if (panel == null)
// {
// throw new ArgumentNullException(class_string + method_string + "panel == null");
// }
// if (panel.Parent == null)
// {
// throw new ArgumentException(class_string + method_string + "panel.Parent != null");
// }
// if (panel.AutoSize != StatusBarPanelAutoSize.None &&
// panel.AutoSize != StatusBarPanelAutoSize.Contents &&
// panel.AutoSize != StatusBarPanelAutoSize.Spring)
// {
// throw new InvalidEnumArgumentException(class_string + method_string + "panel.AutoSize is not a valid StatusBarPanelAutoSize value");
// }
// list.Insert(index,panel);
//
// // do this after insert because insert does the range checking and might throw an exception
// panel.Parent = owner; // a rethrow for a better exception message, or an extra range check, would incur an unnecessary performance cost
//}
//public virtual void Remove(StatusBarPanel panel)
//{
// string method_string = "Remove(StatusBarPanel) ";
// if (panel == null)
// {
// throw new ArgumentNullException(class_string + method_string + "panel == null");
// }
// list.Remove(panel);
//}
//public virtual void RemoveAt(int index)
//{
// list.RemoveAt(index);
//}
//void ICollection.CopyTo(Array dest, int index)
//{
// string method_string = "ICollection.CopyTo(Array,int) ";
// if (dest == null)
// {
// throw new ArgumentNullException(class_string + method_string + "array == null");
// }
// if (index < 0)
// {
// throw new ArgumentOutOfRangeException(class_string + method_string + "index < 0");
// }
// if (dest.Rank != 1)
// {
// throw new ArgumentException(class_string + method_string + "array is multidimensional");
// }
// if (index >= dest.Length)
// {
// throw new ArgumentException(class_string + method_string + "index >= array.Length");
// }
// if (Count+index >= dest.Length)
// {
// throw new ArgumentException(class_string + method_string + "insufficient array capacity");
// }
// // easier/quicker to let the runtime throw the invalid cast exception if necessary
// for (int i = 0; index < dest.Length; i++, index++)
// {
// dest.SetValue(list[i], index);
// }
//}
//int IList.Add(object panel)
//{
// string method_string = "IList.Add(object) ";
// if (!(panel is StatusBarPanel))
// {
// throw new ArgumentException(class_string + method_string + "panel is not a StatusBarPanel");
// }
// return Add((StatusBarPanel) panel);
//}
//bool IList.Contains(object panel)
//{
// if (!(panel is StatusBarPanel))
// {
// return false;
// }
// return Contains((StatusBarPanel) panel);
//}
//int IList.IndexOf(object panel)
//{
// if (!(panel is StatusBarPanel))
// {
// return -1;
// }
// return IndexOf((StatusBarPanel) panel);
//}
//void IList.Insert(int index, object panel)
//{
// string method_string = "IList.Insert(int,object) ";
// if (!(panel is StatusBarPanel))
// {
// throw new ArgumentException(class_string + method_string + "panel is not a StatusBarPanel");
// }
// Insert(index, (StatusBarPanel) panel);
//}
//void IList.Remove(object panel)
//{
// string method_string = "IList.Remove(object) ";
// if (!(panel is StatusBarPanel))
// {
// throw new ArgumentException(class_string + method_string + "panel is not a StatusBarPanel");
// }
// Remove((StatusBarPanel) panel);
//}
//
// --- Public Properties
//
//public int Count
//{
// get { return list.Count; }
//}
//public bool IsReadOnly
//{
// get { return false; }
//}
//public virtual StatusBarPanel this[int index]
//{
// get
// {
// // The same checks are done by the list, so this is redundant
// // This is left here in case you prefer better exception messages over performance
// //string method_string = "get_Item(int) ";
// //if (index < 0)
// //{
// // throw new ArgumentOutOfRangeException(class_string + method_string + "index < 0");
// //}
// //if (index >= Count)
// //{
// // throw new ArgumentOutOfRangeException(class_string + method_string + "index >= Count");
// //}
// return list[index];
// }
// set
// {
// // The same checks are done by the list, so this is redundant
// // This is left here in case you prefer better exception messages over performance
// string method_string = "set_Item(int,StatusBarPanel) ";
// //if (index < 0)
// //{
// // throw new ArgumentOutOfRangeException(class_string + method_string + "index < 0");
// //}
// //if (index >= Count)
// //{
// // throw new ArgumentOutOfRangeException(class_string + method_string + "index >= Count");
// //}
// if (value == null)
// {
// throw new ArgumentNullException(class_string + method_string + "panel == null");
// }
// list[index] = value;
// }
//}
//
// --- Private Properties
//
//private bool IsFixedSize { get { return false; } }
//private bool IsSynchronized { get { return false; } }
//private object SyncRoot { get { return null; } }
//private object ILList.this[int index]
//{
// get { return (StatusBarPanel) this[index]; }
// set
// {
// string method_string = "IList.set_Item(int,object) ";
// if (!(value is StatusBarPanel))
// {
// throw new ArgumentException(class_string + method_string + "panel is not a StatusBarPanel");
// }
// this[index] = (StatusBarPanel) value;
// }
//}
}
}
}