static public EncoderConfigurationWindow View( Constants.EncoderGI encoderGI, EncoderConfigurationSQLObject econfSO, string anchorage_str, int extraWeightN) { if (EncoderConfigurationWindowBox == null) { EncoderConfigurationWindowBox = new EncoderConfigurationWindow(); } EncoderConfigurationWindowBox.encoderGI = encoderGI; EncoderConfigurationWindowBox.updateGUIFromEncoderConfiguration(econfSO.encoderConfiguration); EncoderConfigurationWindowBox.main_gui_anchorage_str = anchorage_str; EncoderConfigurationWindowBox.main_gui_extraWeightN = extraWeightN; EncoderConfigurationWindowBox.createTreeView(); EncoderConfigurationWindowBox.fillTreeView( SqliteEncoderConfiguration.Select(false, encoderGI, ""), //all econfSO); //A) side is hidden at start to ensure scr_treeview_select is scrolled and displays correctly the last row EncoderConfigurationWindowBox.notebook_side.Visible = false; EncoderConfigurationWindowBox.encoder_configuration.Show(); //B) side is shown now, after showing the window in order to be displayed correctly (see A) EncoderConfigurationWindowBox.notebook_side.Visible = (EncoderConfigurationWindowBox.sideMode != sideModes.HIDDEN); return(EncoderConfigurationWindowBox); }
protected void on_delete_event(object o, DeleteEventArgs args) { args.RetVal = true; if (capturing) { button_encoder_capture_inertial_cancel.Click(); } EncoderConfigurationWindowBox.encoder_configuration.Hide(); EncoderConfigurationWindowBox = null; }
static public EncoderConfigurationWindow View(bool gravitatory, EncoderConfiguration ec, bool definedInConfig) { /* * if we are on gravitatory but ec is inertial, then put definedInConfig as false * and create a new ec that suits */ if (ec.has_inertia == gravitatory) { definedInConfig = false; if (gravitatory) { ec = new EncoderConfiguration(); //LINEAR, not inertial } else { ec = new EncoderConfiguration(Constants.EncoderConfigurationNames.ROTARYAXISINERTIAL); ec.SetInertialDefaultOptions(); } } if (EncoderConfigurationWindowBox == null) { EncoderConfigurationWindowBox = new EncoderConfigurationWindow(definedInConfig); } //activate default radiobutton if (ec.type == Constants.EncoderType.ROTARYFRICTION) { EncoderConfigurationWindowBox.radio_rotary_friction.Active = true; } else if (ec.type == Constants.EncoderType.ROTARYAXIS) { EncoderConfigurationWindowBox.radio_rotary_axis.Active = true; } else //linear { EncoderConfigurationWindowBox.radio_linear.Active = true; } if (!ec.has_inertia) { EncoderConfigurationWindowBox.radio_gravity.Active = true; } else { EncoderConfigurationWindowBox.radio_inertia.Active = true; } EncoderConfigurationWindowBox.check_rotary_friction_inertia_on_axis.Active = ec.rotaryFrictionOnAxis; EncoderConfigurationWindowBox.initializeList(ec.type, ec.has_inertia, ec.rotaryFrictionOnAxis, ec.position); EncoderConfigurationWindowBox.create_list_d_spinbutton(); EncoderConfigurationWindowBox.putValuesStoredPreviously( ec.d, ec.list_d, ec.D, ec.anglePush, ec.angleWeight, ec.inertiaMachine, ec.extraWeightGrams, ec.extraWeightLength, ec.has_gearedDown, ec.GearedUpDisplay()); //id definedInConfig then only few things can change if (definedInConfig) { EncoderConfigurationWindowBox.hbox_encoder_types.Visible = false; EncoderConfigurationWindowBox.check_rotary_friction_inertia_on_axis.Visible = false; EncoderConfigurationWindowBox.alignment_options.Visible = false; EncoderConfigurationWindowBox.vbox_inertia_calcule.Visible = false; } EncoderConfigurationWindowBox.encoder_configuration.Show(); return(EncoderConfigurationWindowBox); }
/* * void on_button_encoder_capture_inertial_finish_clicked (object o, EventArgs args) { * //signal is raised and managed in gui/encoder.cs * } */ private void on_button_cancel_clicked(object o, EventArgs args) { EncoderConfigurationWindowBox.encoder_configuration.Hide(); EncoderConfigurationWindowBox = null; }
void on_button_encoder_select_clicked(object o, EventArgs args) { encoder_configuration_win = EncoderConfigurationWindow.View( radio_menuitem_mode_power_gravitatory.Active, //false if inertial encoderConfigurationCurrent, encoderConfigurationDefinedFromFile //defined at chronojump_config.txt and only few changes can be done ); encoder_configuration_win.Button_accept.Clicked += new EventHandler(on_encoder_configuration_win_accepted); //unregister eventHandler first, then register. This avoids to have registered twice try { encoder_configuration_win.Button_encoder_capture_inertial_do.Clicked -= new EventHandler(on_encoder_configuration_win_capture_inertial_do); } catch { } encoder_configuration_win.Button_encoder_capture_inertial_do.Clicked += new EventHandler(on_encoder_configuration_win_capture_inertial_do); encoder_configuration_win.Button_encoder_capture_inertial_cancel.Clicked += new EventHandler(on_button_encoder_cancel_clicked); }