From 401004ea64adecdc64fdc8e22bc55eb03f8ef639 Mon Sep 17 00:00:00 2001
From: gareth
Date: Sat, 19 May 2007 12:22:26 +0000
Subject: Added some UI niceness (connect/disconnect thing in Grid menu)
---
.../GridServerConnectionManager.cs | 9 +++++++++
.../OpenGridServices.Manager/Main.cs | 7 +++++++
.../OpenGridServices.Manager/MainWindow.cs | 17 ++++++++++++++++-
.../gtk-gui/OpenGridServices.Manager.MainWindow.cs | 1 +
.../OpenGridServices.Manager/gtk-gui/gui.stetic | 1 +
5 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs b/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs
index ad6b97f..668a1b8 100644
--- a/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs
+++ b/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs
@@ -10,6 +10,7 @@ namespace OpenGridServices.Manager
{
private string ServerURL;
public LLUUID SessionID;
+ public bool connected=false;
public bool Connect(string GridServerURL, string username, string password)
{
@@ -23,14 +24,17 @@ namespace OpenGridServices.Manager
XmlRpcRequest GridLoginReq = new XmlRpcRequest("manager_login",LoginParams);
XmlRpcResponse GridResp = GridLoginReq.Send(ServerURL,3000);
if(GridResp.IsFault) {
+ connected=false;
return false;
} else {
Hashtable gridrespData = (Hashtable)GridResp.Value;
this.SessionID = new LLUUID((string)gridrespData["session_id"]);
+ connected=true;
return true;
}
} catch(Exception e) {
Console.WriteLine(e.ToString());
+ connected=false;
return false;
}
}
@@ -52,6 +56,7 @@ namespace OpenGridServices.Manager
if(GridResp.IsFault) {
return false;
} else {
+ connected=false;
return true;
}
} catch(Exception e) {
@@ -60,5 +65,9 @@ namespace OpenGridServices.Manager
}
}
+ public void DisconnectServer()
+ {
+ this.connected=false;
+ }
}
}
diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs b/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs
index f2e4153..c7c0dd7 100644
--- a/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs
+++ b/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs
@@ -41,6 +41,7 @@ namespace OpenGridServices.Manager
win.SetStatus("Connecting to grid server...");
if(gridserverConn.Connect(operation.Split(sep)[1],operation.Split(sep)[2],operation.Split(sep)[3])) {
win.SetStatus("Connected OK with session ID:" + gridserverConn.SessionID);
+ win.SetGridServerConnected(true);
Thread.Sleep(3000);
win.SetStatus("");
} else {
@@ -63,12 +64,18 @@ namespace OpenGridServices.Manager
win.SetStatus("Shutting down grid server...");
if(gridserverConn.ShutdownServer()) {
win.SetStatus("Grid server shutdown");
+ win.SetGridServerConnected(false);
Thread.Sleep(3000);
win.SetStatus("");
} else {
win.SetStatus("Could not shutdown grid server!!!");
}
break;
+
+ case "disconnect_gridserver":
+ gridserverConn.DisconnectServer();
+ win.SetGridServerConnected(false);
+ break;
}
}
}
diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs b/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs
index ba61eed..bc8d251 100644
--- a/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs
+++ b/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs
@@ -15,6 +15,17 @@ namespace OpenGridServices.Manager {
this.statusbar1.Push(0,statustext);
}
+ public void SetGridServerConnected(bool connected)
+ {
+ if(connected) {
+ this.ConnectToGridserver.Visible=false;
+ this.DisconnectFromGridServer.Visible=true;
+ } else {
+ this.ConnectToGridserver.Visible=true;
+ this.DisconnectFromGridServer.Visible=false;
+ }
+ }
+
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
@@ -32,7 +43,6 @@ namespace OpenGridServices.Manager {
{
ConnectToGridServerDialog griddialog = new ConnectToGridServerDialog ();
griddialog.Show();
-
}
protected virtual void RestartGridserverMenu(object sender, System.EventArgs e)
@@ -45,6 +55,11 @@ namespace OpenGridServices.Manager {
MainClass.PendingOperations.Enqueue("shutdown_gridserver");
}
+ protected virtual void DisconnectGridServerMenu(object sender, System.EventArgs e)
+ {
+ MainClass.PendingOperations.Enqueue("disconnect_gridserver");
+ }
+
}
}
diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/gtk-gui/OpenGridServices.Manager.MainWindow.cs b/OpenGridServices.Manager/OpenGridServices.Manager/gtk-gui/OpenGridServices.Manager.MainWindow.cs
index 49b6483..593ee42 100644
--- a/OpenGridServices.Manager/OpenGridServices.Manager/gtk-gui/OpenGridServices.Manager.MainWindow.cs
+++ b/OpenGridServices.Manager/OpenGridServices.Manager/gtk-gui/OpenGridServices.Manager.MainWindow.cs
@@ -355,6 +355,7 @@ namespace OpenGridServices.Manager {
this.ExitGridManager.Activated += new System.EventHandler(this.QuitMenu);
this.ShutdownGridserverOnly.Activated += new System.EventHandler(this.ShutdownGridserverMenu);
this.RestartGridserverOnly.Activated += new System.EventHandler(this.RestartGridserverMenu);
+ this.DisconnectFromGridServer.Activated += new System.EventHandler(this.DisconnectGridServerMenu);
}
}
}
diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/gtk-gui/gui.stetic b/OpenGridServices.Manager/OpenGridServices.Manager/gtk-gui/gui.stetic
index 4c6190f..ac677a2 100644
--- a/OpenGridServices.Manager/OpenGridServices.Manager/gtk-gui/gui.stetic
+++ b/OpenGridServices.Manager/OpenGridServices.Manager/gtk-gui/gui.stetic
@@ -129,6 +129,7 @@
Disconnect from grid server
gtk-disconnect
False
+
Action
--
cgit v1.1