using System;
using Gtk;
namespace zero
{
namespace netboot
{
public partial class MainWindow : Gtk.Window
{
public zero.netboot.Core core;
public string mode;
public Widget current;
public MainWindow () : base(Gtk.WindowType.Toplevel)
{
Build ();
core=zero.netboot.Core.getCore();
core.isomanwidget=new zero.netboot.IsoManagerWidget();
core.isomanwidget.ShowAll();
current=core.isomanwidget;
frameVBox.PackStart(current);
mode="ISO";
if(core.confman.options.ContainsKey("version"))
label1.LabelProp="" + core.confman.options["version"] + "";
core.downwidget=new zero.netboot.DownloadsWidget();
core.downwidget.ShowAll();
core.prefwidget=new zero.netboot.PreferencesWidget();
core.prefwidget.ShowAll();
core.tcoswidget=new zero.netboot.TcosWidget();
core.tcoswidget.ShowAll();
core.isoopswidget=new zero.netboot.IsoOptionsWidget();
core.isoopswidget.ShowAll();
}
public string helpMSG
{
set
{
Gtk.Application.Invoke(delegate {msgLabel.Text=value;});
}
}
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
if ((zero.netboot.Core.getCore().editIsoThread==null || !zero.netboot.Core.getCore().editIsoThread.IsAlive)
&& !zero.netboot.Core.getCore().iso_options_running) {
Application.Quit ();
//Console.WriteLine("Editing iso, please wait.");
if(zero.netboot.Core.getCore().downloadThread!=null && zero.netboot.Core.getCore().downloadThread.IsAlive)
zero.netboot.Core.getCore().downloadThread.Abort();
System.IO.File.Delete("/etc/zero-net-boot/lock");
a.RetVal = true;
}
}
protected virtual void OnIsoManButtonClicked (object sender, System.EventArgs e)
{
//Console.WriteLine("ISO Click Click");
frameLabel.Markup=Mono.Unix.Catalog.GetString("ISOs Manager");
frameVBox.Remove(current);
// core.isomanwidget=new zero.netboot.IsoManagerWidget();
// core.isomanwidget.ShowAll();
current=core.isomanwidget;
frameVBox.PackStart(current);
helpMSG="";
}
protected virtual void OnDownManButtonClicked (object sender, System.EventArgs e)
{
//Console.WriteLine("DL Click Click");
frameLabel.Markup=Mono.Unix.Catalog.GetString("Download Manager");
frameVBox.Remove(current);
// core.downwidget=new zero.netboot.DownloadsWidget();
// core.downwidget.ShowAll();
current=core.downwidget;
frameVBox.PackStart(current);
helpMSG="";
}
protected virtual void OnPrefButtonClicked (object sender, System.EventArgs e)
{
//Console.WriteLine("Pref Click Click");
frameLabel.Markup=Mono.Unix.Catalog.GetString("Preferences");
frameVBox.Remove(current);
// core.prefwidget=new zero.netboot.PreferencesWidget();
// core.prefwidget.ShowAll();
current=core.prefwidget;
frameVBox.PackStart(current);
helpMSG="";
}
protected virtual void OnTcosButtonClicked (object sender, System.EventArgs e)
{
frameLabel.Markup=Mono.Unix.Catalog.GetString("Network Options");
frameVBox.Remove(current);
// core.tcoswidget=new zero.netboot.TcosWidget();
// core.tcoswidget.ShowAll();
current=core.tcoswidget;
frameVBox.PackStart(current);
helpMSG="";
}
protected virtual void OnIsoOptionsButtonClicked (object sender, System.EventArgs e)
{
frameLabel.Markup=Mono.Unix.Catalog.GetString("ISOs Options");
frameVBox.Remove(current);
// core.isoopswidget=new zero.netboot.IsoOptionsWidget();
// core.isoopswidget.ShowAll();
current=core.isoopswidget;
frameVBox.PackStart(current);
helpMSG="";
}
}
}
}