/*
* Copyright (C) 2006 Eskil Bylund
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
using Gtk;
using Glade;
namespace DCSharp.GUI{
public class GladeWindow
{
private Glade.XML xml;
[Glade.Widget]
private Window window;
#region Constructors
public GladeWindow(string resource) : this(resource, null)
{
}
public GladeWindow(string resource, Window parent)
{
xml = new Glade.XML(null, resource, "window", null);
xml.BindFields(this);
window.TransientFor = parent;
window.DeleteEvent += OnDeleteEvent;
}
#endregion
#region Properties
public Window Window
{
get
{
return window;
}
}
#endregion
#region Methods
public void Show()
{
window.Present();
}
public virtual void Destroy()
{
window.Destroy();
xml.Dispose();
}
private void OnDeleteEvent(object obj, DeleteEventArgs args)
{
Destroy();
}
#endregion
}
}
|