UnityMol  0.9.6-875
UnityMol viewer / In developement
HiRERNAContestOldGUI.cs
Go to the documentation of this file.
1 using UnityEngine;
2 using System.Collections;
3 using System.Text;
4 using System;
5 using System.Collections.Generic;
6 using System.Linq;
7 using UI;
8 
9 public class HiRERNAContestOldGUI {
10 
11  static public string host = "localhost";
12 
13  static public string username = "Utilisateur";
14  static public string password = "Mot de Passe";
15 
16  static private string status;
17  static private string submitStatus;
18 
19  static private bool showSelectedSession = false;
20  static private Session currentSession;
21 
22  static private GameObject go;
23  static private BackendManager backend;
24 
25  private static void OnLoggedIn() {
26  status = "";
27  submitStatus = "";
28  backend.RetrieveSessions();
29  }
30 
31  private static void OnLoginFailed(string error) {
32  status = "Login error: " + error;
33  }
34 
35  private static void OnConnection() {
36  status = "Connecting to Web App";
37  }
38 
39  private static void OnSubmissionSuccess() {
40  submitStatus = "Submitted";
41  }
42 
43  private static void OnSubmissionFailed(string error) {
44  submitStatus = "Error: " + error;
45  }
46 
47  private static void OnSubmission() {
48  submitStatus = "Submitting snapshot";
49  }
50 
51  static public void HiRERNAContestMenu(int a)
52  {
54 
56 
57  GUILayout.BeginHorizontal();
58  GUILayout.Label("HiRE-RNA Web App", GUIDisplay.headerStyle);
59  GUILayout.EndHorizontal();
60 
61  GUILayout.BeginHorizontal();
62  GUILayout.Label("hirerna.galaxy.ibpc.fr");
63  GUILayout.EndHorizontal();
64 
65  if (backend && backend.logged())
66  {
67  GUILayout.BeginHorizontal();
68  GUILayout.Label("Connected");
69  GUILayout.EndHorizontal();
70 
71  GUILayout.Space(10);
72 
73  GUILayout.Label(BackendManager.progress);
74 
75  GUILayout.Space(10);
76 
77  if (showSelectedSession)
78  {
79  GUILayout.BeginHorizontal();
80  GUILayout.Label(currentSession.name);
81  GUILayout.EndHorizontal();
82 
83  #if !DISABLE_HIRERNACONTEST_UPLOAD
84  GUILayout.BeginHorizontal();
85  if (GUILayout.Button (new GUIContent("Submit", "Submit to the HiRE-RNA Web App")))
86  {
87  backend.SubmitPDB(currentSession.slug);
88  }
89  GUILayout.EndHorizontal();
90 
91  if (submitStatus != "")
92  {
93  GUILayout.BeginHorizontal();
94  GUILayout.Label(submitStatus);
95  GUILayout.EndHorizontal();
96  }
97  else
98  {
99  GUILayout.Space(23);
100  }
101  #endif
102 
103  GUILayout.BeginHorizontal();
104  if (GUILayout.Button (new GUIContent("< Back", "Back to session list")))
105  {
106  showSelectedSession = false;
107  backend.RetrieveSessions();
108  }
109  GUILayout.EndHorizontal();
110  }
111  else
112  {
113  GUILayout.BeginHorizontal();
114  GUILayout.Label("Select a molecule to download:");
115  GUILayout.EndHorizontal();
116  Session[] sessions = backend.getSessions();
117  Session s;
118  for (int i = 0; i < sessions.Length; i++)
119  {
120  s = sessions[i];
121  GUILayout.BeginHorizontal();
122  if (GUILayout.Button (new GUIContent(s.name, "Retrieve PDB for session" + s.name)))
123  {
125  backend.StartCoroutine(backend.downloadSessionFile(s.slug));
126  showSelectedSession = true;
127  currentSession = s;
128  }
129  GUILayout.EndHorizontal();
130  }
131  }
132 
133  GUILayout.Space(10);
134 
135  GUILayout.BeginHorizontal();
136  if (GUILayout.Button (new GUIContent("Disconnect", "Logout from Web App")))
137  {
138  backend.Logout();
139  GameObject.DestroyImmediate(go);
141  showSelectedSession = false;
142  }
143  GUILayout.EndHorizontal();
144  }
145  else
146  {
147  if (status != "")
148  {
149  GUILayout.BeginHorizontal();
150  GUILayout.Label(status);
151  GUILayout.EndHorizontal();
152  }
153 
154  GUILayout.BeginHorizontal();
155  username = GUILayout.TextField(username, 30);
156  GUILayout.EndHorizontal();
157 
158  GUILayout.BeginHorizontal();
159  password = GUILayout.PasswordField(password, '*', 30);
160  GUILayout.EndHorizontal();
161 
162  GUILayout.BeginHorizontal();
163  if (GUILayout.Button (new GUIContent("Connect", "Connect to the Web App")))
164  {
165  if (!backend && !go)
166  {
167  go = new GameObject();
168  backend = go.AddComponent<BackendManager>();
171 
172  backend.OnLoggedIn += OnLoggedIn;
173  backend.OnConnection += OnConnection;
174  backend.OnLoginFailed += OnLoginFailed;
175 
177  backend.OnSubmission += OnSubmission;
179 
180  }
181 
182  backend.Login(username, password);
183  }
184  GUILayout.EndHorizontal();
185  }
186 
187  GUI.enabled = true;
188  GUI.DragWindow();
189  }
190 }
string name
IEnumerator downloadSessionFile(string sessionSlug)
Submitting OnSubmission
LoginFailed OnLoginFailed
Connecting OnConnection
static void OnLoginFailed(string error)
void SubmitPDB(string sessionSlug)
static void setBackendManager(BackendManager backend)
Definition: UnityMolMain.cs:78
static Session currentSession
Session[] getSessions()
string slug
SubmissionSuccess OnSubmissionSuccess
static void HiRERNAContestMenu(int a)
static bool SetTitleExit(string s)
This is a somewhat odd but very convenient function.
Definition: LoadTypeGUI.cs:153
LoggedIn OnLoggedIn
!WiP manage GUI, and provide static strings for the GUI.
Definition: GUIDisplay.cs:94
static string progress
static BackendManager getBackendManager()
Definition: UnityMolMain.cs:73
static void OnSubmissionSuccess()
static GUIStyle headerStyle
Definition: GUIDisplay.cs:208
void Login(string username, string password)
void RetrieveSessions()
SubmissionFailed OnSubmissionFailed
static BackendManager backend
Definition: GUIDisplay.cs:66
static void OnSubmissionFailed(string error)