chronojump r475 - in trunk: . build/data glade src/execute src/gui



Author: xaviblas
Date: Thu Mar 26 16:47:19 2009
New Revision: 475
URL: http://svn.gnome.org/viewvc/chronojump?rev=475&view=rev

Log:
multiChronopic:
-connection of 4 chronopics now is done with the same gui as one
chronopic (on gui/chronojump.cs)
-improvements on gui


Modified:
   trunk/build/data/chronojump.prg
   trunk/build/data/chronojump_mini.prg
   trunk/changelog.txt
   trunk/glade/chronojump.glade
   trunk/src/execute/multiChronopic.cs
   trunk/src/gui/chronojump.cs

Modified: trunk/build/data/chronojump.prg
==============================================================================
Binary files. No diff available.

Modified: trunk/build/data/chronojump_mini.prg
==============================================================================
Binary files. No diff available.

Modified: trunk/changelog.txt
==============================================================================
--- trunk/changelog.txt	(original)
+++ trunk/changelog.txt	Thu Mar 26 16:47:19 2009
@@ -72,6 +72,11 @@
 7          65       IN           40           50
 8          70           IN           40           50
 
+26 mar 2009 (2)
+	multiChronopic:
+	-connection of 4 chronopics now is done with the same gui as one
+	chronopic (on gui/chronojump.cs)
+	-improvements on gui
 
 26 mar 2009
 	improvements on gui of multiChronopic

Modified: trunk/glade/chronojump.glade
==============================================================================
--- trunk/glade/chronojump.glade	(original)
+++ trunk/glade/chronojump.glade	Thu Mar 26 16:47:19 2009
@@ -13200,7 +13200,7 @@
 					  <property name="spacing">5</property>
 
 					  <child>
-					    <widget class="GtkVBox" id="vbox175">
+					    <widget class="GtkVBox" id="vbox_multi_chronopic_selectors">
 					      <property name="visible">True</property>
 					      <property name="homogeneous">False</property>
 					      <property name="spacing">2</property>
@@ -13237,7 +13237,7 @@
 						  <property name="spacing">0</property>
 
 						  <child>
-						    <widget class="GtkRadioButton" id="radiobutton_chronopics_2">
+						    <widget class="GtkRadioButton" id="radio_chronopics2">
 						      <property name="visible">True</property>
 						      <property name="can_focus">True</property>
 						      <property name="label" translatable="yes">2</property>
@@ -13247,6 +13247,7 @@
 						      <property name="active">False</property>
 						      <property name="inconsistent">False</property>
 						      <property name="draw_indicator">True</property>
+						      <signal name="toggled" handler="on_radio_multi_chronopics_toggled" last_modification_time="Thu, 26 Mar 2009 15:56:00 GMT"/>
 						    </widget>
 						    <packing>
 						      <property name="padding">0</property>
@@ -13256,7 +13257,7 @@
 						  </child>
 
 						  <child>
-						    <widget class="GtkRadioButton" id="radiobutton4">
+						    <widget class="GtkRadioButton" id="radio_chronopics3">
 						      <property name="visible">True</property>
 						      <property name="can_focus">True</property>
 						      <property name="label" translatable="yes">3</property>
@@ -13266,7 +13267,8 @@
 						      <property name="active">False</property>
 						      <property name="inconsistent">False</property>
 						      <property name="draw_indicator">True</property>
-						      <property name="group">radiobutton_chronopics_2</property>
+						      <property name="group">radio_chronopics2</property>
+						      <signal name="toggled" handler="on_radio_multi_chronopics_toggled" last_modification_time="Thu, 26 Mar 2009 15:56:14 GMT"/>
 						    </widget>
 						    <packing>
 						      <property name="padding">0</property>
@@ -13276,7 +13278,7 @@
 						  </child>
 
 						  <child>
-						    <widget class="GtkRadioButton" id="radiobutton5">
+						    <widget class="GtkRadioButton" id="radio_chronopics4">
 						      <property name="visible">True</property>
 						      <property name="can_focus">True</property>
 						      <property name="label" translatable="yes">4</property>
@@ -13286,7 +13288,8 @@
 						      <property name="active">False</property>
 						      <property name="inconsistent">False</property>
 						      <property name="draw_indicator">True</property>
-						      <property name="group">radiobutton_chronopics_2</property>
+						      <property name="group">radio_chronopics2</property>
+						      <signal name="toggled" handler="on_radio_multi_chronopics_toggled" last_modification_time="Thu, 26 Mar 2009 15:56:30 GMT"/>
 						    </widget>
 						    <packing>
 						      <property name="padding">0</property>
@@ -13393,26 +13396,39 @@
 							      <property name="spacing">0</property>
 
 							      <child>
-								<widget class="GtkComboBox" id="combo_port_linux2">
+								<widget class="GtkVBox" id="vbox179">
 								  <property name="visible">True</property>
-								  <property name="items">/dev/ttyUSB?
-</property>
-								  <property name="add_tearoffs">False</property>
-								  <property name="focus_on_click">True</property>
-								</widget>
-								<packing>
-								  <property name="padding">0</property>
-								  <property name="expand">True</property>
-								  <property name="fill">True</property>
-								</packing>
-							      </child>
+								  <property name="homogeneous">False</property>
+								  <property name="spacing">0</property>
 
-							      <child>
-								<widget class="GtkComboBox" id="combo_port_windows2">
-								  <property name="visible">True</property>
-								  <property name="items">COM?</property>
-								  <property name="add_tearoffs">False</property>
-								  <property name="focus_on_click">True</property>
+								  <child>
+								    <widget class="GtkComboBox" id="combo_port_linux2">
+								      <property name="visible">True</property>
+								      <property name="items">/dev/ttyUSB?
+</property>
+								      <property name="add_tearoffs">False</property>
+								      <property name="focus_on_click">True</property>
+								    </widget>
+								    <packing>
+								      <property name="padding">0</property>
+								      <property name="expand">True</property>
+								      <property name="fill">True</property>
+								    </packing>
+								  </child>
+
+								  <child>
+								    <widget class="GtkComboBox" id="combo_port_windows2">
+								      <property name="visible">True</property>
+								      <property name="items">COM?</property>
+								      <property name="add_tearoffs">False</property>
+								      <property name="focus_on_click">True</property>
+								    </widget>
+								    <packing>
+								      <property name="padding">0</property>
+								      <property name="expand">True</property>
+								      <property name="fill">True</property>
+								    </packing>
+								  </child>
 								</widget>
 								<packing>
 								  <property name="padding">0</property>
@@ -13434,6 +13450,7 @@
 							      <property name="can_focus">True</property>
 							      <property name="relief">GTK_RELIEF_NORMAL</property>
 							      <property name="focus_on_click">True</property>
+							      <signal name="clicked" handler="on_button_connect_cp_clicked" last_modification_time="Thu, 26 Mar 2009 15:06:25 GMT"/>
 
 							      <child>
 								<widget class="GtkImage" id="image4221">
@@ -13579,31 +13596,44 @@
 							  <property name="spacing">0</property>
 
 							  <child>
-							    <widget class="GtkComboBox" id="combo_port_linux3">
+							    <widget class="GtkVBox" id="vbox180">
 							      <property name="visible">True</property>
-							      <property name="items">/dev/ttyUSB?
+							      <property name="homogeneous">False</property>
+							      <property name="spacing">0</property>
+
+							      <child>
+								<widget class="GtkComboBox" id="combo_port_linux3">
+								  <property name="visible">True</property>
+								  <property name="items">/dev/ttyUSB?
 </property>
-							      <property name="add_tearoffs">False</property>
-							      <property name="focus_on_click">True</property>
-							    </widget>
-							    <packing>
-							      <property name="padding">0</property>
-							      <property name="expand">False</property>
-							      <property name="fill">False</property>
-							    </packing>
-							  </child>
+								  <property name="add_tearoffs">False</property>
+								  <property name="focus_on_click">True</property>
+								</widget>
+								<packing>
+								  <property name="padding">0</property>
+								  <property name="expand">True</property>
+								  <property name="fill">True</property>
+								</packing>
+							      </child>
 
-							  <child>
-							    <widget class="GtkComboBox" id="combo_port_windows3">
-							      <property name="visible">True</property>
-							      <property name="items">COM?</property>
-							      <property name="add_tearoffs">False</property>
-							      <property name="focus_on_click">True</property>
+							      <child>
+								<widget class="GtkComboBox" id="combo_port_windows3">
+								  <property name="visible">True</property>
+								  <property name="items">COM?</property>
+								  <property name="add_tearoffs">False</property>
+								  <property name="focus_on_click">True</property>
+								</widget>
+								<packing>
+								  <property name="padding">0</property>
+								  <property name="expand">True</property>
+								  <property name="fill">True</property>
+								</packing>
+							      </child>
 							    </widget>
 							    <packing>
 							      <property name="padding">0</property>
-							      <property name="expand">False</property>
-							      <property name="fill">False</property>
+							      <property name="expand">True</property>
+							      <property name="fill">True</property>
 							    </packing>
 							  </child>
 
@@ -13613,6 +13643,7 @@
 							      <property name="can_focus">True</property>
 							      <property name="relief">GTK_RELIEF_NORMAL</property>
 							      <property name="focus_on_click">True</property>
+							      <signal name="clicked" handler="on_button_connect_cp_clicked" last_modification_time="Thu, 26 Mar 2009 15:06:42 GMT"/>
 
 							      <child>
 								<widget class="GtkImage" id="image4222">
@@ -13758,31 +13789,44 @@
 							  <property name="spacing">0</property>
 
 							  <child>
-							    <widget class="GtkComboBox" id="combo_port_linux4">
+							    <widget class="GtkVBox" id="vbox181">
 							      <property name="visible">True</property>
-							      <property name="items">/dev/ttyUSB?
+							      <property name="homogeneous">False</property>
+							      <property name="spacing">0</property>
+
+							      <child>
+								<widget class="GtkComboBox" id="combo_port_linux4">
+								  <property name="visible">True</property>
+								  <property name="items">/dev/ttyUSB?
 </property>
-							      <property name="add_tearoffs">False</property>
-							      <property name="focus_on_click">True</property>
-							    </widget>
-							    <packing>
-							      <property name="padding">0</property>
-							      <property name="expand">False</property>
-							      <property name="fill">False</property>
-							    </packing>
-							  </child>
+								  <property name="add_tearoffs">False</property>
+								  <property name="focus_on_click">True</property>
+								</widget>
+								<packing>
+								  <property name="padding">0</property>
+								  <property name="expand">True</property>
+								  <property name="fill">True</property>
+								</packing>
+							      </child>
 
-							  <child>
-							    <widget class="GtkComboBox" id="combo_port_windows4">
-							      <property name="visible">True</property>
-							      <property name="items">COM?</property>
-							      <property name="add_tearoffs">False</property>
-							      <property name="focus_on_click">True</property>
+							      <child>
+								<widget class="GtkComboBox" id="combo_port_windows4">
+								  <property name="visible">True</property>
+								  <property name="items">COM?</property>
+								  <property name="add_tearoffs">False</property>
+								  <property name="focus_on_click">True</property>
+								</widget>
+								<packing>
+								  <property name="padding">0</property>
+								  <property name="expand">True</property>
+								  <property name="fill">True</property>
+								</packing>
+							      </child>
 							    </widget>
 							    <packing>
 							      <property name="padding">0</property>
-							      <property name="expand">False</property>
-							      <property name="fill">False</property>
+							      <property name="expand">True</property>
+							      <property name="fill">True</property>
 							    </packing>
 							  </child>
 
@@ -13792,6 +13836,7 @@
 							      <property name="can_focus">True</property>
 							      <property name="relief">GTK_RELIEF_NORMAL</property>
 							      <property name="focus_on_click">True</property>
+							      <signal name="clicked" handler="on_button_connect_cp_clicked" last_modification_time="Thu, 26 Mar 2009 15:06:52 GMT"/>
 
 							      <child>
 								<widget class="GtkImage" id="image4223">
@@ -13905,7 +13950,7 @@
 					<packing>
 					  <property name="padding">0</property>
 					  <property name="expand">False</property>
-					  <property name="fill">True</property>
+					  <property name="fill">False</property>
 					  <property name="pack_type">GTK_PACK_END</property>
 					</packing>
 				      </child>

Modified: trunk/src/execute/multiChronopic.cs
==============================================================================
--- trunk/src/execute/multiChronopic.cs	(original)
+++ trunk/src/execute/multiChronopic.cs	Thu Mar 26 16:47:19 2009
@@ -34,27 +34,27 @@
 
 	//2nd Chronopic stuff
 	protected Thread thread2;
-	SerialPort sp2;
+	//SerialPort sp2;
 	private Chronopic cp2;
 	private Chronopic.Plataforma platformState2;
 	protected States loggedState2;
-	private string port2;
+	//private string port2;
 	
 	//3rd Chronopic stuff
 	protected Thread thread3;
-	SerialPort sp3;
+	//SerialPort sp3;
 	private Chronopic cp3;
 	private Chronopic.Plataforma platformState3;
 	protected States loggedState3;
-	private string port3;
+	//private string port3;
 	
 	//4th Chronopic stuff
 	protected Thread thread4;
-	SerialPort sp4;
+	//SerialPort sp4;
 	private Chronopic cp4;
 	private Chronopic.Plataforma platformState4;
 	protected States loggedState4;
-	private string port4;
+	//private string port4;
 	
 
 	static bool firstValue = true;
@@ -64,13 +64,14 @@
 	public MultiChronopicExecute() {
 	}
 
-	//jump execution
-	public MultiChronopicExecute(Chronopic cp, Gtk.Statusbar appbar, Gtk.Window app, string port2)
+	//execution
+	//public MultiChronopicExecute(Chronopic cp, Gtk.Statusbar appbar, Gtk.Window app, string port2)
+	public MultiChronopicExecute(Chronopic cp, Gtk.Statusbar appbar, Gtk.Window app)
 	{
 		this.cp = cp;
 		this.appbar = appbar;
 		this.app = app;
-		this.port2 = port2;
+		//this.port2 = port2;
 		
 		fakeButtonFinished = new Gtk.Button();
 		
@@ -138,7 +139,7 @@
 		*/
 	}
 			
-
+/*
 	//private bool connectChronopic2(string myPort) 
 	private bool connectOtherChronopics(Chronopic myCp, SerialPort mySp, Chronopic.Plataforma myPS, string myPort) 
 	{
@@ -165,12 +166,15 @@
 		}
 		return success;
 	}
+*/
 
 	public override void Manage()
 	{
+		/*
 		connectOtherChronopics(cp2, sp2, platformState2, port2);
 		//connectOtherChronopics(cp3, sp3, platformState3, port3);
 		//connectOtherChronopics(cp4, sp4, platformState4, port4);
+		*/
 
 		platformState = chronopicInitialValue(cp);
 		platformState2 = chronopicInitialValue(cp2);

Modified: trunk/src/gui/chronojump.cs
==============================================================================
--- trunk/src/gui/chronojump.cs	(original)
+++ trunk/src/gui/chronojump.cs	Thu Mar 26 16:47:19 2009
@@ -133,6 +133,10 @@
 	//[Widget] Gtk.Button button_pulse_more;
 
 	//multiChronopic	
+	[Widget] Gtk.Box vbox_multi_chronopic_selectors;
+	[Widget] Gtk.RadioButton radio_chronopics2;
+	[Widget] Gtk.RadioButton radio_chronopics3;
+	[Widget] Gtk.RadioButton radio_chronopics4;
 	[Widget] Gtk.Frame frame_chronopic2;
 	[Widget] Gtk.Frame frame_chronopic3;
 	[Widget] Gtk.Frame frame_chronopic4;
@@ -142,6 +146,9 @@
 	[Widget] Gtk.ComboBox combo_port_windows3;
 	[Widget] Gtk.ComboBox combo_port_linux4;
 	[Widget] Gtk.ComboBox combo_port_windows4;
+	[Widget] Gtk.Button button_connect_cp2;
+	[Widget] Gtk.Button button_connect_cp3;
+	[Widget] Gtk.Button button_connect_cp4;
 	[Widget] Gtk.Image image_cp2_yes;
 	[Widget] Gtk.Image image_cp2_no;
 	[Widget] Gtk.Image image_cp3_yes;
@@ -362,12 +369,32 @@
 		ON,
 		OFF
 	}
-	Chronopic.Plataforma platformState;	//on (in platform), off (jumping), or unknow
-	//Chronopic.Respuesta respuesta;		//ok, error, or timeout in calling the platform
-	SerialPort sp;
-	Chronopic cp;
 	bool cpRunning;
+	int currentCp; //1 to 4
+
+	//cp1	
+	Chronopic cp;
+	SerialPort sp;
+	Chronopic.Plataforma platformState;	//on (in platform), off (jumping), or unknow
+	
+	//cp2	
+	Chronopic cp2;
+	SerialPort sp2;
+	Chronopic.Plataforma platformState2;
+
+	//cp3	
+	Chronopic cp3;
+	SerialPort sp3;
+	Chronopic.Plataforma platformState3;
+
+	//cp4	
+	Chronopic cp4;
+	SerialPort sp4;
+	Chronopic.Plataforma platformState4;
+
 	States loggedState;		//log of last state
+
+
 	private bool firstRjValue;
 	private double rjTcCount;
 	private double rjTvCount;
@@ -582,10 +609,10 @@
 	}
 
 	//chronopic init should not touch  gtk, for the threads
-	private bool chronopicInit (string myPort, out string returnString)
+	//private bool chronopicInit (string myPort, out string returnString)
+	private bool chronopicInit (Chronopic myCp, SerialPort mySp, Chronopic.Plataforma myPS, string myPort, out string returnString) 
 	{
 		Log.WriteLine ( Catalog.GetString ("starting connection with chronopic") );
-		Log.WriteLine ( Catalog.GetString ("if program crashes, write to xaviblas gmail com") );
 		if(!Util.IsWindows())
 			Log.WriteLine ( Catalog.GetString ("If you have previously used the modem via a serial port (in a GNU/Linux session, and you selected serial port), Chronojump will crash.") );
 
@@ -594,11 +621,11 @@
 		try {
 Log.WriteLine("+++++++++++++++++ 1 ++++++++++++++++");		
 			Log.WriteLine(string.Format("chronopic port: {0}", myPort));
-			sp = new SerialPort(myPort);
-			sp.Open();
+			mySp = new SerialPort(myPort);
+			mySp.Open();
 Log.WriteLine("+++++++++++++++++ 2 ++++++++++++++++");		
 			//-- Create chronopic object, for accessing chronopic
-			cp = new Chronopic(sp);
+			myCp = new Chronopic(mySp);
 
 Log.WriteLine("+++++++++++++++++ 3 ++++++++++++++++");		
 			//on windows, this check make a crash 
@@ -613,13 +640,13 @@
 Log.WriteLine("+++++++++++++++++ 4 ++++++++++++++++");		
 				do {
 Log.WriteLine("+++++++++++++++++ 5 ++++++++++++++++");		
-					ok=cp.Read_platform(out platformState);
+					ok=myCp.Read_platform(out myPS);
 Log.WriteLine("+++++++++++++++++ 6 ++++++++++++++++");		
 				} while(!ok);
 Log.WriteLine("+++++++++++++++++ 7 ++++++++++++++++");		
 				if (!ok) {
 					//-- Si hay error terminar
-					Log.WriteLine(string.Format("Error: {0}",cp.Error));
+					Log.WriteLine(string.Format("Error: {0}", myCp.Error));
 					success = false;
 				}
 			//}
@@ -629,12 +656,15 @@
 			
 		returnString = "";
 		if(success) {
-			cpRunning = true;
+			if(currentCp == 1)
+				cpRunning = true;
 			returnString = string.Format(Catalog.GetString("<b>Connected</b> to Chronopic on port: {0}"), myPort);
 			//appbar2.Push( 1, returnString);
 		}
 		if(! success) {
-			returnString = Catalog.GetString("Problems communicating to chronopic, changed platform to 'Simulated'");
+			returnString = Catalog.GetString("Problems communicating to chronopic.");
+			if(currentCp == 1) 
+				returnString += " " + Catalog.GetString("Changed platform to 'Simulated'");
 			if(Util.IsWindows()) {
 				returnString += Catalog.GetString("\n\nOn Windows we recommend to remove and connect USB or serial cable from the computer after every unsuccessful port test.");
 				returnString += Catalog.GetString("\n... And after cancelling Chronopic detection.");
@@ -643,8 +673,10 @@
 
 			//this will raise on_radiobutton_simulated_ativate and 
 			//will put cpRunning to false, and simulated to true and cp.Close()
-			menuitem_simulated.Active = true;
-			cpRunning = false;
+			if(currentCp == 1) {
+				menuitem_simulated.Active = true;
+				cpRunning = false;
+			}
 		}
 		return success;
 	}
@@ -1550,12 +1582,33 @@
 		//the glade cursor_changed does not work on mono 1.2.5 windows
 //		tv.CursorChanged += on_treeview_multi_chronopic_cursor_changed; 
 	}
+	
+	private void on_button_connect_cp_clicked (object o, EventArgs args) {
+		if(o == (object) button_connect_cp2) {
+			currentCp = 2;
+		} else if(o == (object) button_connect_cp3) {
+			currentCp = 3;
+		} else if(o == (object) button_connect_cp4) {
+			currentCp = 4;
+		} else
+			return; //error
+		
+		prepareChronopicConnection();
+	}
+
 
 	private void on_button_multi_chronopic_start_clicked (object o, EventArgs args) {
 				
 		//TODO: check this is ok: entry_multi_chronopic_cp2);
-		currentEventExecute = new MultiChronopicExecute(cp, appbar2, app1, 
-				"/dev/tty" + entry_multi_chronopic_cp2.Text);
+		//
+		//
+		//if there are n chronopics, call next function n times
+		//or 
+		//call one time with different parameters (will have 4 different constructors)
+		//
+		//
+		//
+		currentEventExecute = new MultiChronopicExecute(cp, appbar2, app1);
 
 		currentEventExecute.Manage();
 
@@ -1634,7 +1687,21 @@
 		combo_pulses.Sensitive = false;
 	}
 
-	private void createComboMultiChronopic() {
+	private void createComboMultiChronopic() 
+	{
+		vbox_multi_chronopic_selectors.Sensitive = false;
+
+		radio_chronopics3.Sensitive = false;
+		radio_chronopics4.Sensitive = false;
+
+		frame_chronopic2.Sensitive = false;
+		frame_chronopic3.Sensitive = false;
+		frame_chronopic4.Sensitive = false;
+		
+		image_cp2_yes.Hide();
+		image_cp3_yes.Hide();
+		image_cp4_yes.Hide();
+
 		if(Util.IsWindows()) {
 			combo_port_linux2.Hide();
 			combo_port_linux3.Hide();
@@ -1659,7 +1726,6 @@
 			UtilGtk.ComboUpdate(combo_port_linux4, Constants.ComboPortLinuxOptions, Constants.ComboPortLinuxOptions[0]);
 			combo_port_linux4.Active = 0; //first option
 		}
-
 	}
 
 	private void on_combo_jumps_changed(object o, EventArgs args) {
@@ -1724,6 +1790,25 @@
 		fillTreeView_pulses(myText);
 	}
 
+	void on_radio_multi_chronopics_toggled (object o, EventArgs args) {
+		//if there's no first chronopic working, don't allow others to be connected
+		if(!cpRunning) {
+			frame_chronopic3.Sensitive = false;
+			frame_chronopic4.Sensitive = false;
+			return;
+		} else {
+			if(radio_chronopics2.Active) {
+				frame_chronopic3.Sensitive = false;
+				frame_chronopic4.Sensitive = false;
+			} else if(radio_chronopics3.Active) {
+				frame_chronopic3.Sensitive = true;
+				frame_chronopic4.Sensitive = false;
+			} else if(radio_chronopics4.Active) {
+				frame_chronopic3.Sensitive = true;
+				frame_chronopic4.Sensitive = true;
+			}
+		}
+	}
 
 	/* ---------------------------------------------------------
 	 * ----------------  DELETE EVENT, QUIT  -----------------------
@@ -2203,6 +2288,26 @@
 		//done also in linux because mono-1.2.3 throws an exception when there's a timeout
 		//http://bugzilla.gnome.org/show_bug.cgi?id=420520
 
+		/*
+		ChronopicConnection chronopicWin = ChronopicConnection.Show();
+		chronopicWin.LabelFeedBackReset();
+
+		chronopicWin.Button_cancel.Clicked += new EventHandler(on_chronopic_cancelled);
+		
+		fakeChronopicButton = new Gtk.Button();
+		fakeChronopicButton.Clicked += new EventHandler(on_chronopic_detection_ended);
+
+		thread = new Thread(new ThreadStart(waitChronopicStart));
+		GLib.Idle.Add (new GLib.IdleHandler (PulseGTK));
+		thread.Start(); 
+		*/
+
+		currentCp = 1;
+		prepareChronopicConnection();
+	}
+
+
+	void prepareChronopicConnection() {
 		ChronopicConnection chronopicWin = ChronopicConnection.Show();
 		chronopicWin.LabelFeedBackReset();
 
@@ -2218,26 +2323,83 @@
 	
 	protected void waitChronopicStart () 
 	{
-		//TODO
-		//change also in preferences!!!!
-		simulated = false;
-		SqlitePreferences.Update("simulated", simulated.ToString(), false);
-		
-		//init connecting with chronopic	
-		if(cpRunning == false) {
-			string message = "";
-			bool success = chronopicInit(chronopicPort, out message);
-			Log.WriteLine(string.Format("wait_chronopic_start {0}", message));
-			
+		if(currentCp == 1) {
+			simulated = false;
+			SqlitePreferences.Update("simulated", simulated.ToString(), false);
+		
+			if(cpRunning)
+				return;
+		}
+
+		string message = "";
+		string myPort = "";
+		bool success = false;
+
+		if(currentCp == 1) {
+			success	= chronopicInit(cp, sp, platformState, chronopicPort, out message);
 			if(success) {
-				updateChronopicWinValuesState= true; //connected
-				updateChronopicWinValuesMessage= message;
+				vbox_multi_chronopic_selectors.Sensitive = true;
+				frame_chronopic2.Sensitive = true;
 			} else {
-				updateChronopicWinValuesState= false; //disconnected
-				updateChronopicWinValuesMessage= message;
+				vbox_multi_chronopic_selectors.Sensitive = false;
+				frame_chronopic2.Sensitive = false;
 			}
-			needUpdateChronopicWin = true;
 		}
+		else if(currentCp == 2) {
+			if(Util.IsWindows()) 
+				myPort = UtilGtk.ComboGetActive(combo_port_windows2);
+			else
+				myPort = UtilGtk.ComboGetActive(combo_port_linux2);
+			success	= chronopicInit(cp2, sp2, platformState2, myPort, out message);
+			if(success) {
+				image_cp2_no.Hide();
+				image_cp2_yes.Show();
+				combo_port_linux2.Sensitive = false;
+				combo_port_windows2.Sensitive = false;
+				button_connect_cp2.Sensitive = false;
+				radio_chronopics3.Sensitive = true;
+			} 
+		}
+		else if(currentCp == 3) {
+			if(Util.IsWindows()) 
+				myPort = UtilGtk.ComboGetActive(combo_port_windows3);
+			else
+				myPort = UtilGtk.ComboGetActive(combo_port_linux3);
+			success	= chronopicInit(cp3, sp3, platformState3, myPort, out message);
+			if(success) {
+				image_cp3_no.Hide();
+				image_cp3_yes.Show();
+				combo_port_linux3.Sensitive = false;
+				combo_port_windows3.Sensitive = false;
+				button_connect_cp3.Sensitive = false;
+				radio_chronopics4.Sensitive = true;
+			} 
+		}
+		else if(currentCp == 4) {
+			if(Util.IsWindows()) 
+				myPort = UtilGtk.ComboGetActive(combo_port_windows4);
+			else
+				myPort = UtilGtk.ComboGetActive(combo_port_linux4);
+			success	= chronopicInit(cp4, sp4, platformState4, myPort, out message);
+			if(success) {
+				image_cp4_no.Hide();
+				image_cp4_yes.Show();
+				combo_port_linux4.Sensitive = false;
+				combo_port_windows4.Sensitive = false;
+				button_connect_cp4.Sensitive = false;
+			} 
+		}
+
+		Log.WriteLine(string.Format("wait_chronopic_start {0}", message));
+			
+		if(success) {
+			updateChronopicWinValuesState= true; //connected
+			updateChronopicWinValuesMessage= message;
+		} else {
+			updateChronopicWinValuesState= false; //disconnected
+			updateChronopicWinValuesMessage= message;
+		}
+		needUpdateChronopicWin = true;
 	}
 
 	private void on_chronopic_detection_ended(object o, EventArgs args) {
@@ -4394,11 +4556,6 @@
 	
 	private void sensitiveGuiNoSession () 
 	{
-	image_cp2_yes.Hide();
-	image_cp3_yes.Hide();
-	image_cp4_yes.Hide();
-
-
 		//menuitems
 		menuitem_preferences.Sensitive = true;
 		menuitem_export_csv.Sensitive = false;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]