PDA

View Full Version : Vixen 2.x SetupDialog help needed



Aurbo99
01-21-2012, 08:24 PM
Hey Folks

I want to take 2 Buttons in my SetupDialog form

Button1;


private void (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Void) button1_Click (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://Renard:2.1.0.0/Renard.SetupDialog/buttonSerialSetup_Click(Object,System.EventArgs))( object (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Object) sender, EventArgs (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.EventArgs) e)
{
SerialSetupDialog (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://Vixen:2.0.7.0/Vixen.Dialogs.SerialSetupDialog) dialog = new SerialSetupDialog (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://Vixen:2.0.7.0/Vixen.Dialogs.SerialSetupDialog/.ctor(System.IO.Ports.SerialPort))(this.m_selected Port (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://Renard:2.1.0.0/Renard.SetupDialog/m_selectedPort:System.IO.Ports.SerialPort));
if (dialog.ShowDialog (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://System.Windows.Forms:2.0.0.0:b77a5c561934e089/System.Windows.Forms.Form/ShowDialog():System.Windows.Forms.DialogResult)() == DialogResult (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://System.Windows.Forms:2.0.0.0:b77a5c561934e089/System.Windows.Forms.DialogResult).OK (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://System.Windows.Forms:2.0.0.0:b77a5c561934e089/System.Windows.Forms.DialogResult/OK))
{
this.m_portAddress (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://8_Line595:2.1.0.0/__Line595.SetupDialog/m_portAddress:Int32) = null;
this.m_selectedPort (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://Renard:2.1.0.0/Renard.SetupDialog/m_selectedPort:System.IO.Ports.SerialPort) = dialog.SelectedPort (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://Vixen:2.1.1.0/Vixen.Dialogs.SerialSetupDialog/property:SelectedPort:System.IO.Ports.SerialPort);
}
}



Button2;


private void (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Void) button2_Click (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://8_Line595:2.1.0.0/__Line595.SetupDialog/buttonPortSetup_Click(Object,System.EventArgs))(ob ject (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Object) sender, EventArgs (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.EventArgs) e)
{
ParallelSetupDialog (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://Vixen:2.0.7.0/Vixen.Dialogs.ParallelSetupDialog) dialog = new ParallelSetupDialog (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://Vixen:2.0.7.0/Vixen.Dialogs.ParallelSetupDialog/.ctor(Int32))(this.m_portAddress (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://8_Line595:2.1.0.0/__Line595.SetupDialog/m_portAddress:Int32));
if (dialog.ShowDialog (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://System.Windows.Forms:2.0.0.0:b77a5c561934e089/System.Windows.Forms.Form/ShowDialog():System.Windows.Forms.DialogResult)() == DialogResult (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://System.Windows.Forms:2.0.0.0:b77a5c561934e089/System.Windows.Forms.DialogResult).OK (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://System.Windows.Forms:2.0.0.0:b77a5c561934e089/System.Windows.Forms.DialogResult/OK))
{
this.m_selectedPort (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://Renard:2.1.0.0/Renard.SetupDialog/m_selectedPort:System.IO.Ports.SerialPort) = null;
this.m_portAddress (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://8_Line595:2.1.0.0/__Line595.SetupDialog/m_portAddress:Int32) = dialog.PortAddress (http://127.0.0.1/roeder/dotnet/Default.aspx?Target=code://Vixen:2.1.1.0/Vixen.Dialogs.ParallelSetupDialog/property:PortAddress:UInt16);
}
}


Now how would I identify which button was selected and properly return the HardwareMap?




//for Button1
public HardwareMap[] HardwareMap
{
get
{
return new HardwareMap[] { new HardwareMap("Serial", int.Parse(this.m_selectedPort.PortName.Substring(3 ))) };
}
}

//for Button2
public HardwareMap[] HardwareMap
{
get
{
return new HardwareMap[] { new HardwareMap("Parallel", this.m_portBase, "X") };
}
}


//combined?
public HardwareMap[] HardwareMap
{
if (this.m_portBase =null)
get
{
return new HardwareMap[] { new HardwareMap("Serial", int.Parse(this.m_selectedPort.PortName.Substring(3 ))) };
}
else if (this.m_selectedPort = null)
get
{
return new HardwareMap[] { new HardwareMap("Parallel", this.m_portBase, "X") };
}

ctmal
01-21-2012, 08:34 PM
Since you are doing an either or situation what I would do is in your setup dialog also have a bool member such as bool m_serialSelected. In each of your buttons you would set that accordingly. The you would also set up a property:
public CheckIfSerialPort
{
get {return m_serialSelected}
}

Then in your main program you would have a global bool _serialSelected. In the Setup() routine you can set this member using your property(_serialSelected = CheckIfSerialPort)

You could then set up an if_then_else statement using that to return the desired HardwareMap.

Aurbo99
01-21-2012, 08:44 PM
Thanks Chris

I'll give it a try.. This is one of the snags I have with my miniRDS plugin, I need to give it the choice between LPT and Com

Once I get it to post properly in the Vixen Attach Plugin window, I need to pass either the m_selectedPort or the m_portBase over to the miniRDS.cs module