void HandlePainterRequest(object o, PainterRequestEventArgs args)
 {
     // just propagate the event up
     if (args.Type == ShowHideType.Show)
     {
         ShowPainter(args.Painter);
     }
     else
     {
         HidePainter(args.Painter);
     }
 }
		void HandlePainterRequest (object o, PainterRequestEventArgs args)
		{
			// just propagate the event up
			if (args.Type == ShowHideType.Show)
				ShowPainter (args.Painter);
			else
				HidePainter (args.Painter);
		}
		void ItemPainterRequest (object sender, PainterRequestEventArgs e)
		{
			AbstractDockItem owner = sender as AbstractDockItem;
			
			if (!Items.Contains (owner) || e.Painter == null)
				return;
			
			if (e.Type == ShowHideType.Show) {
				ShowPainter (owner, e.Painter);
			} else if (e.Type == ShowHideType.Hide && Painter == e.Painter) {
				HidePainter ();
			}
		}