summaryrefslogtreecommitdiff
path: root/quellcode/demo1/Controller/MainWindow.cs
blob: 3aae87beecb99148dde9bcec86813b078a6d5088 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using System;
using Gtk;
public class MainWindow: Gtk.Window {
  // NameService (falls nichts in Feld eingetragen wird)
  private string currentHost = "192.168.0.253";
  // selected Mode
  private string selected    = "uninitialized";
  // CORBAHandle <module>.<Interface>.CorbaHandler
  private manut.Executor.CorbaHandler corba;
  private int counter = 0; //0 =IP NS, sonst IP CORBA Server
  public MainWindow (): base ("") {
    Stetic.Gui.Build (this, typeof(MainWindow));
  }
  // set info text
  public void display(string txt) {
    labelCurrent.Text = txt;
  }
  // window closed
  protected void OnDeleteEvent (object sender, DeleteEventArgs a) {
    Application.Quit ();
    a.RetVal = true;
  }
  // submit new mode to executor
  protected virtual void OnButtonSubmitClicked(object sender, System.EventArgs e){
    if(selected =="Move") corba.setMode(1);
    else if (selected == "Blink") corba.setMode(2);
    else if (selected == "Flash") corba.setMode(3);
    else Console.WriteLine("unallowed selection");
    Console.WriteLine("Sent: "+selected);
  }

  protected virtual void OnButtonConnectClicked(object sender, System.EventArgs e){
  if(counter == 0){ // Register Display Object at NS
      Console.Write("connecting to: "+currentHost);
      corba = new manut.Executor.CorbaHandler(currentHost, 2809, this);
      // host display object
      corba.serve();
      counter++;
    } else { // Connect to ExecCmd Interface
      Console.WriteLine("connecting to: "+currentHost);
      corba.connect();
    }
  }
  // new mode selected
  protected virtual void OnComboboxModeChanged(object sender, System.EventArgs e) {
    selected = ((ComboBox)sender).ActiveText;
    Console.WriteLine("Selected: "+ selected);
    labelCurrent.Text = selected;	
  }
  // new host entered
  protected virtual void OnEntryHostChanged(object sender, System.EventArgs e) {
    currentHost = ((Entry)sender).Text;
  }
  [Glade.Widget]
  private Label labelCurrent;
}