LocalRelay.jsl 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. package DokeosAppShare;
  2. import System.Collections.Generic.*;
  3. import System.ComponentModel.*;
  4. import System.Data.*;
  5. import System.Drawing.*;
  6. import System.Windows.Forms.*;
  7. import java.io.*;
  8. /**
  9. * Summary description for LocalRelay.
  10. */
  11. public class LocalRelay extends System.Windows.Forms.Form implements DownloadProgressEventListener
  12. {
  13. private Thread thread;
  14. private DownloadThread download;
  15. private Button button1;
  16. private PictureBox pictureBox1;
  17. private ProgressBar prgDownload;
  18. private Label serverID;
  19. /**
  20. * Required designer variable.
  21. */
  22. private System.ComponentModel.IContainer components;
  23. public LocalRelay(DownloadThread download)
  24. {
  25. //
  26. // Required for Windows Form Designer support
  27. //
  28. InitializeComponent();
  29. this.thread = Thread.currentThread();
  30. this.download = download;
  31. this.download.addDownloadProgressEventListener(this);
  32. }
  33. #region Windows Form Designer generated code
  34. /**
  35. * Clean up any resources being used.
  36. */
  37. protected void Dispose(boolean disposing)
  38. {
  39. if (disposing)
  40. {
  41. if (components != null)
  42. {
  43. components.Dispose();
  44. }
  45. }
  46. super.Dispose(disposing);
  47. }
  48. /**
  49. * Required method for Designer support - do not modify
  50. * the contents of this method with the code editor.
  51. */
  52. private void InitializeComponent()
  53. {
  54. System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(LocalRelay.class.ToType());
  55. this.button1 = new System.Windows.Forms.Button();
  56. this.pictureBox1 = new System.Windows.Forms.PictureBox();
  57. this.prgDownload = new System.Windows.Forms.ProgressBar();
  58. this.serverID = new System.Windows.Forms.Label();
  59. ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
  60. this.SuspendLayout();
  61. //
  62. // button1
  63. //
  64. this.button1.set_Image(((System.Drawing.Image)(resources.GetObject("button1.Image"))));
  65. this.button1.set_Location(new System.Drawing.Point(170, 231));
  66. this.button1.set_Name("button1");
  67. this.button1.set_Size(new System.Drawing.Size(49, 42));
  68. this.button1.set_TabIndex(2);
  69. this.button1.set_UseVisualStyleBackColor(true);
  70. this.button1.add_Click(new System.EventHandler(this.button1_Click));
  71. //
  72. // pictureBox1
  73. //
  74. this.pictureBox1.set_Image(((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))));
  75. this.pictureBox1.set_Location(new System.Drawing.Point(20, 11));
  76. this.pictureBox1.set_Name("pictureBox1");
  77. this.pictureBox1.set_Size(new System.Drawing.Size(199, 182));
  78. this.pictureBox1.set_TabIndex(4);
  79. this.pictureBox1.set_TabStop(false);
  80. //
  81. // prgDownload
  82. //
  83. this.prgDownload.set_Location(new System.Drawing.Point(20, 199));
  84. this.prgDownload.set_Name("prgDownload");
  85. this.prgDownload.set_Size(new System.Drawing.Size(199, 26));
  86. this.prgDownload.set_Style(System.Windows.Forms.ProgressBarStyle.Marquee);
  87. this.prgDownload.set_TabIndex(6);
  88. this.prgDownload.set_Value(50);
  89. //
  90. // serverID
  91. //
  92. this.serverID.set_AutoSize(true);
  93. this.serverID.set_Location(new System.Drawing.Point(17, 239));
  94. this.serverID.set_Name("serverID");
  95. this.serverID.set_Size(new System.Drawing.Size(10, 13));
  96. this.serverID.set_TabIndex(7);
  97. this.serverID.set_Text(".");
  98. //
  99. // LocalRelay
  100. //
  101. this.set_AutoScaleDimensions(new System.Drawing.SizeF(6F, 13F));
  102. this.set_AutoScaleMode(System.Windows.Forms.AutoScaleMode.Font);
  103. this.set_ClientSize(new System.Drawing.Size(237, 287));
  104. this.get_Controls().Add(this.serverID);
  105. this.get_Controls().Add(this.prgDownload);
  106. this.get_Controls().Add(this.pictureBox1);
  107. this.get_Controls().Add(this.button1);
  108. this.set_FormBorderStyle(System.Windows.Forms.FormBorderStyle.FixedSingle);
  109. this.set_Icon(((System.Drawing.Icon)(resources.GetObject("$this.Icon"))));
  110. this.set_MaximizeBox(false);
  111. this.set_Name("LocalRelay");
  112. this.set_Text("LocalRelay");
  113. this.add_FormClosed(new System.Windows.Forms.FormClosedEventHandler(this.LocalRelay_FormClosed));
  114. ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
  115. this.ResumeLayout(false);
  116. this.PerformLayout();
  117. }
  118. #endregion
  119. /** @delegate */
  120. private delegate void connectingDelegate();
  121. public void connecting()
  122. {
  123. if (!Thread.currentThread().equals(thread))
  124. {
  125. this.BeginInvoke(new connectingDelegate(this.connecting));
  126. return;
  127. }
  128. prgDownload.set_Style(ProgressBarStyle.Marquee);
  129. prgDownload.set_Value(prgDownload.get_Maximum());
  130. }
  131. /** @delegate */
  132. private delegate void startedDelegate();
  133. public void started()
  134. {
  135. if (!Thread.currentThread().equals(thread))
  136. {
  137. this.BeginInvoke(new startedDelegate(this.started));
  138. return;
  139. }
  140. prgDownload.set_Style(ProgressBarStyle.Blocks);
  141. prgDownload.set_Value(prgDownload.get_Minimum());
  142. }
  143. /** @delegate */
  144. private delegate void progressChangeIntegerDelegate(Integer progress, Integer max);
  145. private void progressChangeInteger(Integer progress, Integer max) { progressChange(progress.intValue(), max.intValue()); }
  146. public void progressChange(int progress, int max)
  147. {
  148. if (!Thread.currentThread().equals(thread))
  149. {
  150. this.BeginInvoke(new progressChangeIntegerDelegate(this.progressChangeInteger), new Object[] { new Integer(progress), new Integer(max) });
  151. return;
  152. }
  153. if (max <= 0)
  154. {
  155. max = 364544;
  156. }
  157. if (progress > max)
  158. {
  159. progress = max;
  160. }
  161. prgDownload.set_Value(progress);
  162. prgDownload.set_Maximum(max);
  163. }
  164. /** @delegate */
  165. private delegate void doneDelegate(File fileDest);
  166. public void done(File fileDest)
  167. {
  168. if (!Thread.currentThread().equals(thread))
  169. {
  170. if (download != null)
  171. {
  172. download.removeDownloadProgressEventListener(this);
  173. download = null;
  174. }
  175. this.BeginInvoke(new doneDelegate(this.done), new Object[] { fileDest });
  176. return;
  177. }
  178. //this.set_Text("done");
  179. //prgDownload.set_Value(0);
  180. }
  181. /** @delegate */
  182. private delegate void exceptionDelegate(Exception ex);
  183. public void exception(Exception ex)
  184. {
  185. ex.printStackTrace(System.out);
  186. if (!Thread.currentThread().equals(thread))
  187. {
  188. this.BeginInvoke(new exceptionDelegate(this.exception), new Object[] { ex });
  189. return;
  190. }
  191. //this.set_Text("Exception: " + ex.getMessage());
  192. String errorMsg = "Connection error.";
  193. if (ex.getMessage() != null)
  194. {
  195. errorMsg = ex.getMessage();
  196. }
  197. MessageBox.Show(errorMsg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  198. Application.Exit();
  199. }
  200. private void button1_Click(Object sender, System.EventArgs e)
  201. {
  202. this.Close();
  203. }
  204. private void LocalRelay_FormClosed(Object sender, FormClosedEventArgs e)
  205. {
  206. if (download != null)
  207. {
  208. download.removeDownloadProgressEventListener(this);
  209. download.cancel();
  210. download = null;
  211. }
  212. }
  213. public void setServerID(String inServerID)
  214. {
  215. serverID.set_Text(inServerID);
  216. }
  217. }