00001
00002
00003
00004
00005 #ifdef HAVE_CONFIG_H
00006 # include <config.h>
00007 #endif
00008
00009 #include <sys/types.h>
00010 #include <sys/stat.h>
00011 #include <unistd.h>
00012 #include <string.h>
00013
00014 #include <gdk/gdkkeysyms.h>
00015 #include <gtk/gtk.h>
00016
00017 #include "callbacks.h"
00018 #include "interface.h"
00019 #include "support.h"
00020
00021 GtkWidget*
00022 create_SimCtrlWindow (void)
00023 {
00024 GtkWidget *SimCtrlWindow;
00025 GtkWidget *vbox1;
00026 GtkWidget *toolbar1;
00027 GtkWidget *SetButton;
00028 GtkWidget *OpenButton;
00029 GtkWidget *SaveButton;
00030 GtkWidget *hbox1;
00031 GtkWidget *AxisLabel;
00032 GtkObject *AxisSpinbutton_adj;
00033 GtkWidget *AxisSpinbutton;
00034 GtkWidget *EditRadiobutton;
00035 GtkWidget *WatchRadiobutton;
00036 GtkWidget *CmdNumEchoLabel;
00037 GtkWidget *notebook2;
00038 GtkWidget *table4;
00039 GtkWidget *AmpGainLabel;
00040 GtkWidget *MaxOutputCurrentLabel;
00041 GtkWidget *AmpLoadResistanceLabel;
00042 GtkObject *AmpGainSpinbutton_adj;
00043 GtkWidget *AmpGainSpinbutton;
00044 GtkObject *AmpMaxOutSpinbutton_adj;
00045 GtkWidget *AmpMaxOutSpinbutton;
00046 GtkObject *AmpLoadResistanceSpinbutton_adj;
00047 GtkWidget *AmpLoadResistanceSpinbutton;
00048 GtkWidget *hseparator1;
00049 GtkWidget *hseparator2;
00050 GtkWidget *TrippedCheckbutton;
00051 GtkWidget *EnabledCheckbutton;
00052 GtkWidget *OutputCurrentLabel;
00053 GtkObject *OutputCurrentSpinbutton_adj;
00054 GtkWidget *OutputCurrentSpinbutton;
00055 GtkWidget *OutputVoltageLabel;
00056 GtkObject *OutputVoltageSpinbutton_adj;
00057 GtkWidget *OutputVoltageSpinbutton;
00058 GtkWidget *CurrentPercentMaxLabel;
00059 GtkWidget *PercentMaxCurrentProgressbar;
00060 GtkWidget *AmplifierTabLabel;
00061 GtkWidget *table5;
00062 GtkWidget *RaLabel;
00063 GtkWidget *LaLabel;
00064 GtkWidget *KbLabel;
00065 GtkWidget *JmLabel;
00066 GtkWidget *BmLabel;
00067 GtkObject *RaSpinbutton_adj;
00068 GtkWidget *RaSpinbutton;
00069 GtkObject *LaSpinbutton_adj;
00070 GtkWidget *LaSpinbutton;
00071 GtkObject *KbSpinbutton_adj;
00072 GtkWidget *KbSpinbutton;
00073 GtkObject *JmSpinbutton_adj;
00074 GtkWidget *JmSpinbutton;
00075 GtkObject *BmSpinbutton_adj;
00076 GtkWidget *BmSpinbutton;
00077 GtkWidget *TorqueUnitsLabel;
00078 GtkWidget *TorqueUnitsOptionMenu;
00079 GtkWidget *TorqueUnitsOptionMenu_menu;
00080 GtkWidget *glade_menuitem;
00081 GtkWidget *hseparator3;
00082 GtkWidget *hseparator4;
00083 GtkWidget *ia_label;
00084 GtkWidget *dia_label;
00085 GtkWidget *wm_label;
00086 GtkWidget *thm_label;
00087 GtkWidget *revsPerUnitLabel;
00088 GtkObject *revsPerUnitSpinbutton_adj;
00089 GtkWidget *revsPerUnitSpinbutton;
00090 GtkWidget *ShaftOffsetLabel;
00091 GtkObject *ShaftOffsetSpinbutton_adj;
00092 GtkWidget *ShaftOffsetSpinbutton;
00093 GtkObject *iaSpinbutton_adj;
00094 GtkWidget *iaSpinbutton;
00095 GtkObject *diaSpinbutton_adj;
00096 GtkWidget *diaSpinbutton;
00097 GtkObject *wmSpinbutton_adj;
00098 GtkWidget *wmSpinbutton;
00099 GtkObject *thmSpinbutton_adj;
00100 GtkWidget *thmSpinbutton;
00101 GtkWidget *MotorTabLabel;
00102 GtkWidget *vbox3;
00103 GtkWidget *table6;
00104 GtkWidget *countsPerRevLabel;
00105 GtkObject *countsPerRevSpinbutton_adj;
00106 GtkWidget *countsPerRevSpinbutton;
00107 GtkWidget *hseparator5;
00108 GtkWidget *hseparator6;
00109 GtkWidget *EncoderCountLabel;
00110 GtkObject *EncoderCountSpinbutton_adj;
00111 GtkWidget *EncoderCountSpinbutton;
00112 GtkWidget *EncoderOffsetLabel;
00113 GtkObject *EncoderOffsetSpinbutton_adj;
00114 GtkWidget *EncoderOffsetSpinbutton;
00115 GtkWidget *EncoderIndexLabel;
00116 GtkObject *EncoderIndexSpinbutton_adj;
00117 GtkWidget *EncoderIndexSpinbutton;
00118 GtkWidget *EncoderCalibratingCheckbox;
00119 GtkWidget *PlaceHolderLabel1;
00120 GtkWidget *EncoderTabLabel;
00121
00122 SimCtrlWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
00123 gtk_object_set_data (GTK_OBJECT (SimCtrlWindow), "SimCtrlWindow", SimCtrlWindow);
00124 gtk_window_set_title (GTK_WINDOW (SimCtrlWindow), "EMC Simulation Control");
00125
00126 vbox1 = gtk_vbox_new (FALSE, 0);
00127 gtk_widget_ref (vbox1);
00128 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "vbox1", vbox1,
00129 (GtkDestroyNotify) gtk_widget_unref);
00130 gtk_widget_show (vbox1);
00131 gtk_container_add (GTK_CONTAINER (SimCtrlWindow), vbox1);
00132
00133 toolbar1 = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
00134 gtk_widget_ref (toolbar1);
00135 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "toolbar1", toolbar1,
00136 (GtkDestroyNotify) gtk_widget_unref);
00137 gtk_widget_show (toolbar1);
00138 gtk_box_pack_start (GTK_BOX (vbox1), toolbar1, FALSE, FALSE, 0);
00139
00140 SetButton = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
00141 GTK_TOOLBAR_CHILD_BUTTON,
00142 NULL,
00143 "Set",
00144 NULL, NULL,
00145 NULL, NULL, NULL);
00146 gtk_widget_ref (SetButton);
00147 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "SetButton", SetButton,
00148 (GtkDestroyNotify) gtk_widget_unref);
00149 gtk_widget_show (SetButton);
00150
00151 OpenButton = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
00152 GTK_TOOLBAR_CHILD_BUTTON,
00153 NULL,
00154 "Open",
00155 NULL, NULL,
00156 NULL, NULL, NULL);
00157 gtk_widget_ref (OpenButton);
00158 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "OpenButton", OpenButton,
00159 (GtkDestroyNotify) gtk_widget_unref);
00160 gtk_widget_show (OpenButton);
00161
00162 SaveButton = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
00163 GTK_TOOLBAR_CHILD_BUTTON,
00164 NULL,
00165 "Save",
00166 NULL, NULL,
00167 NULL, NULL, NULL);
00168 gtk_widget_ref (SaveButton);
00169 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "SaveButton", SaveButton,
00170 (GtkDestroyNotify) gtk_widget_unref);
00171 gtk_widget_show (SaveButton);
00172
00173 hbox1 = gtk_hbox_new (FALSE, 0);
00174 gtk_widget_ref (hbox1);
00175 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "hbox1", hbox1,
00176 (GtkDestroyNotify) gtk_widget_unref);
00177 gtk_widget_show (hbox1);
00178 gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), hbox1, NULL, NULL);
00179
00180 AxisLabel = gtk_label_new ("Axis");
00181 gtk_widget_ref (AxisLabel);
00182 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "AxisLabel", AxisLabel,
00183 (GtkDestroyNotify) gtk_widget_unref);
00184 gtk_widget_show (AxisLabel);
00185 gtk_box_pack_start (GTK_BOX (hbox1), AxisLabel, FALSE, FALSE, 0);
00186
00187 AxisSpinbutton_adj = gtk_adjustment_new (0, 0, 7, 1, 10, 10);
00188 AxisSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (AxisSpinbutton_adj), 1, 0);
00189 gtk_widget_ref (AxisSpinbutton);
00190 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "AxisSpinbutton", AxisSpinbutton,
00191 (GtkDestroyNotify) gtk_widget_unref);
00192 gtk_widget_show (AxisSpinbutton);
00193 gtk_box_pack_start (GTK_BOX (hbox1), AxisSpinbutton, TRUE, TRUE, 0);
00194
00195 EditRadiobutton = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
00196 GTK_TOOLBAR_CHILD_RADIOBUTTON,
00197 NULL,
00198 "Edit",
00199 NULL, NULL,
00200 NULL, NULL, NULL);
00201 gtk_widget_ref (EditRadiobutton);
00202 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "EditRadiobutton", EditRadiobutton,
00203 (GtkDestroyNotify) gtk_widget_unref);
00204 gtk_widget_show (EditRadiobutton);
00205 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (EditRadiobutton), TRUE);
00206 gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (EditRadiobutton), FALSE);
00207
00208 WatchRadiobutton = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
00209 GTK_TOOLBAR_CHILD_RADIOBUTTON,
00210 EditRadiobutton,
00211 "Watch",
00212 NULL, NULL,
00213 NULL, NULL, NULL);
00214 gtk_widget_ref (WatchRadiobutton);
00215 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "WatchRadiobutton", WatchRadiobutton,
00216 (GtkDestroyNotify) gtk_widget_unref);
00217 gtk_widget_show (WatchRadiobutton);
00218 gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (WatchRadiobutton), FALSE);
00219
00220 CmdNumEchoLabel = gtk_label_new ("Cmd #000 Time 00:00.00 ");
00221 gtk_widget_ref (CmdNumEchoLabel);
00222 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "CmdNumEchoLabel", CmdNumEchoLabel,
00223 (GtkDestroyNotify) gtk_widget_unref);
00224 gtk_widget_show (CmdNumEchoLabel);
00225 gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), CmdNumEchoLabel, NULL, NULL);
00226
00227 notebook2 = gtk_notebook_new ();
00228 gtk_widget_ref (notebook2);
00229 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "notebook2", notebook2,
00230 (GtkDestroyNotify) gtk_widget_unref);
00231 gtk_widget_show (notebook2);
00232 gtk_box_pack_start (GTK_BOX (vbox1), notebook2, TRUE, TRUE, 0);
00233
00234 table4 = gtk_table_new (8, 2, FALSE);
00235 gtk_widget_ref (table4);
00236 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "table4", table4,
00237 (GtkDestroyNotify) gtk_widget_unref);
00238 gtk_widget_show (table4);
00239 gtk_container_add (GTK_CONTAINER (notebook2), table4);
00240
00241 AmpGainLabel = gtk_label_new ("Gain");
00242 gtk_widget_ref (AmpGainLabel);
00243 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "AmpGainLabel", AmpGainLabel,
00244 (GtkDestroyNotify) gtk_widget_unref);
00245 gtk_widget_show (AmpGainLabel);
00246 gtk_table_attach (GTK_TABLE (table4), AmpGainLabel, 0, 1, 0, 1,
00247 (GtkAttachOptions) (0),
00248 (GtkAttachOptions) (0), 0, 0);
00249
00250 MaxOutputCurrentLabel = gtk_label_new ("Maximum Output Current ");
00251 gtk_widget_ref (MaxOutputCurrentLabel);
00252 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "MaxOutputCurrentLabel", MaxOutputCurrentLabel,
00253 (GtkDestroyNotify) gtk_widget_unref);
00254 gtk_widget_show (MaxOutputCurrentLabel);
00255 gtk_table_attach (GTK_TABLE (table4), MaxOutputCurrentLabel, 0, 1, 1, 2,
00256 (GtkAttachOptions) (0),
00257 (GtkAttachOptions) (0), 0, 0);
00258
00259 AmpLoadResistanceLabel = gtk_label_new ("Load Resistance ");
00260 gtk_widget_ref (AmpLoadResistanceLabel);
00261 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "AmpLoadResistanceLabel", AmpLoadResistanceLabel,
00262 (GtkDestroyNotify) gtk_widget_unref);
00263 gtk_widget_show (AmpLoadResistanceLabel);
00264 gtk_table_attach (GTK_TABLE (table4), AmpLoadResistanceLabel, 0, 1, 2, 3,
00265 (GtkAttachOptions) (0),
00266 (GtkAttachOptions) (0), 0, 0);
00267
00268 AmpGainSpinbutton_adj = gtk_adjustment_new (1, 0, 100, 0.1, 1, 1);
00269 AmpGainSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (AmpGainSpinbutton_adj), 0.1, 5);
00270 gtk_widget_ref (AmpGainSpinbutton);
00271 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "AmpGainSpinbutton", AmpGainSpinbutton,
00272 (GtkDestroyNotify) gtk_widget_unref);
00273 gtk_widget_show (AmpGainSpinbutton);
00274 gtk_table_attach (GTK_TABLE (table4), AmpGainSpinbutton, 1, 2, 0, 1,
00275 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00276 (GtkAttachOptions) (0), 0, 0);
00277
00278 AmpMaxOutSpinbutton_adj = gtk_adjustment_new (1, 0, 100, 0.1, 1, 1);
00279 AmpMaxOutSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (AmpMaxOutSpinbutton_adj), 0.1, 5);
00280 gtk_widget_ref (AmpMaxOutSpinbutton);
00281 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "AmpMaxOutSpinbutton", AmpMaxOutSpinbutton,
00282 (GtkDestroyNotify) gtk_widget_unref);
00283 gtk_widget_show (AmpMaxOutSpinbutton);
00284 gtk_table_attach (GTK_TABLE (table4), AmpMaxOutSpinbutton, 1, 2, 1, 2,
00285 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00286 (GtkAttachOptions) (0), 0, 0);
00287
00288 AmpLoadResistanceSpinbutton_adj = gtk_adjustment_new (1, 0, 10000, 0.1, 1, 1);
00289 AmpLoadResistanceSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (AmpLoadResistanceSpinbutton_adj), 0.1, 5);
00290 gtk_widget_ref (AmpLoadResistanceSpinbutton);
00291 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "AmpLoadResistanceSpinbutton", AmpLoadResistanceSpinbutton,
00292 (GtkDestroyNotify) gtk_widget_unref);
00293 gtk_widget_show (AmpLoadResistanceSpinbutton);
00294 gtk_table_attach (GTK_TABLE (table4), AmpLoadResistanceSpinbutton, 1, 2, 2, 3,
00295 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00296 (GtkAttachOptions) (0), 0, 0);
00297
00298 hseparator1 = gtk_hseparator_new ();
00299 gtk_widget_ref (hseparator1);
00300 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "hseparator1", hseparator1,
00301 (GtkDestroyNotify) gtk_widget_unref);
00302 gtk_widget_show (hseparator1);
00303 gtk_table_attach (GTK_TABLE (table4), hseparator1, 0, 1, 3, 4,
00304 (GtkAttachOptions) (GTK_FILL),
00305 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
00306
00307 hseparator2 = gtk_hseparator_new ();
00308 gtk_widget_ref (hseparator2);
00309 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "hseparator2", hseparator2,
00310 (GtkDestroyNotify) gtk_widget_unref);
00311 gtk_widget_show (hseparator2);
00312 gtk_table_attach (GTK_TABLE (table4), hseparator2, 1, 2, 3, 4,
00313 (GtkAttachOptions) (GTK_FILL),
00314 (GtkAttachOptions) (GTK_FILL), 0, 0);
00315
00316 TrippedCheckbutton = gtk_check_button_new_with_label ("Tripped");
00317 gtk_widget_ref (TrippedCheckbutton);
00318 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "TrippedCheckbutton", TrippedCheckbutton,
00319 (GtkDestroyNotify) gtk_widget_unref);
00320 gtk_widget_show (TrippedCheckbutton);
00321 gtk_table_attach (GTK_TABLE (table4), TrippedCheckbutton, 0, 1, 4, 5,
00322 (GtkAttachOptions) (0),
00323 (GtkAttachOptions) (0), 0, 0);
00324
00325 EnabledCheckbutton = gtk_check_button_new_with_label ("Enabled");
00326 gtk_widget_ref (EnabledCheckbutton);
00327 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "EnabledCheckbutton", EnabledCheckbutton,
00328 (GtkDestroyNotify) gtk_widget_unref);
00329 gtk_widget_show (EnabledCheckbutton);
00330 gtk_table_attach (GTK_TABLE (table4), EnabledCheckbutton, 1, 2, 4, 5,
00331 (GtkAttachOptions) (0),
00332 (GtkAttachOptions) (0), 0, 0);
00333
00334 OutputCurrentLabel = gtk_label_new ("Output Current");
00335 gtk_widget_ref (OutputCurrentLabel);
00336 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "OutputCurrentLabel", OutputCurrentLabel,
00337 (GtkDestroyNotify) gtk_widget_unref);
00338 gtk_widget_show (OutputCurrentLabel);
00339 gtk_table_attach (GTK_TABLE (table4), OutputCurrentLabel, 0, 1, 5, 6,
00340 (GtkAttachOptions) (0),
00341 (GtkAttachOptions) (0), 0, 0);
00342
00343 OutputCurrentSpinbutton_adj = gtk_adjustment_new (1, -1000, 1000, 1, 10, 10);
00344 OutputCurrentSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (OutputCurrentSpinbutton_adj), 1, 3);
00345 gtk_widget_ref (OutputCurrentSpinbutton);
00346 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "OutputCurrentSpinbutton", OutputCurrentSpinbutton,
00347 (GtkDestroyNotify) gtk_widget_unref);
00348 gtk_widget_show (OutputCurrentSpinbutton);
00349 gtk_table_attach (GTK_TABLE (table4), OutputCurrentSpinbutton, 1, 2, 5, 6,
00350 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00351 (GtkAttachOptions) (0), 0, 0);
00352
00353 OutputVoltageLabel = gtk_label_new ("Output Voltage");
00354 gtk_widget_ref (OutputVoltageLabel);
00355 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "OutputVoltageLabel", OutputVoltageLabel,
00356 (GtkDestroyNotify) gtk_widget_unref);
00357 gtk_widget_show (OutputVoltageLabel);
00358 gtk_table_attach (GTK_TABLE (table4), OutputVoltageLabel, 0, 1, 6, 7,
00359 (GtkAttachOptions) (0),
00360 (GtkAttachOptions) (0), 0, 0);
00361
00362 OutputVoltageSpinbutton_adj = gtk_adjustment_new (1, -1000, 1000, 1, 10, 10);
00363 OutputVoltageSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (OutputVoltageSpinbutton_adj), 1, 3);
00364 gtk_widget_ref (OutputVoltageSpinbutton);
00365 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "OutputVoltageSpinbutton", OutputVoltageSpinbutton,
00366 (GtkDestroyNotify) gtk_widget_unref);
00367 gtk_widget_show (OutputVoltageSpinbutton);
00368 gtk_table_attach (GTK_TABLE (table4), OutputVoltageSpinbutton, 1, 2, 6, 7,
00369 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00370 (GtkAttachOptions) (0), 0, 0);
00371
00372 CurrentPercentMaxLabel = gtk_label_new ("Percent of Max Output Current");
00373 gtk_widget_ref (CurrentPercentMaxLabel);
00374 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "CurrentPercentMaxLabel", CurrentPercentMaxLabel,
00375 (GtkDestroyNotify) gtk_widget_unref);
00376 gtk_widget_show (CurrentPercentMaxLabel);
00377 gtk_table_attach (GTK_TABLE (table4), CurrentPercentMaxLabel, 0, 1, 7, 8,
00378 (GtkAttachOptions) (0),
00379 (GtkAttachOptions) (0), 0, 0);
00380
00381 PercentMaxCurrentProgressbar = gtk_progress_bar_new ();
00382 gtk_widget_ref (PercentMaxCurrentProgressbar);
00383 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "PercentMaxCurrentProgressbar", PercentMaxCurrentProgressbar,
00384 (GtkDestroyNotify) gtk_widget_unref);
00385 gtk_widget_show (PercentMaxCurrentProgressbar);
00386 gtk_table_attach (GTK_TABLE (table4), PercentMaxCurrentProgressbar, 1, 2, 7, 8,
00387 (GtkAttachOptions) (0),
00388 (GtkAttachOptions) (0), 0, 0);
00389
00390 AmplifierTabLabel = gtk_label_new ("Amplifier");
00391 gtk_widget_ref (AmplifierTabLabel);
00392 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "AmplifierTabLabel", AmplifierTabLabel,
00393 (GtkDestroyNotify) gtk_widget_unref);
00394 gtk_widget_show (AmplifierTabLabel);
00395 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 0), AmplifierTabLabel);
00396
00397 table5 = gtk_table_new (13, 2, FALSE);
00398 gtk_widget_ref (table5);
00399 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "table5", table5,
00400 (GtkDestroyNotify) gtk_widget_unref);
00401 gtk_widget_show (table5);
00402 gtk_container_add (GTK_CONTAINER (notebook2), table5);
00403
00404 RaLabel = gtk_label_new ("Armature resistance, ohms (Ra) ");
00405 gtk_widget_ref (RaLabel);
00406 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "RaLabel", RaLabel,
00407 (GtkDestroyNotify) gtk_widget_unref);
00408 gtk_widget_show (RaLabel);
00409 gtk_table_attach (GTK_TABLE (table5), RaLabel, 0, 1, 0, 1,
00410 (GtkAttachOptions) (0),
00411 (GtkAttachOptions) (0), 0, 0);
00412
00413 LaLabel = gtk_label_new ("Armature inductance, henries (La) ");
00414 gtk_widget_ref (LaLabel);
00415 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "LaLabel", LaLabel,
00416 (GtkDestroyNotify) gtk_widget_unref);
00417 gtk_widget_show (LaLabel);
00418 gtk_table_attach (GTK_TABLE (table5), LaLabel, 0, 1, 1, 2,
00419 (GtkAttachOptions) (0),
00420 (GtkAttachOptions) (0), 0, 0);
00421
00422 KbLabel = gtk_label_new ("Back emf constant, V/rad/s, N-m/amp (Kb) ");
00423 gtk_widget_ref (KbLabel);
00424 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "KbLabel", KbLabel,
00425 (GtkDestroyNotify) gtk_widget_unref);
00426 gtk_widget_show (KbLabel);
00427 gtk_table_attach (GTK_TABLE (table5), KbLabel, 0, 1, 2, 3,
00428 (GtkAttachOptions) (0),
00429 (GtkAttachOptions) (0), 0, 0);
00430
00431 JmLabel = gtk_label_new ("Motor rotor inertia, N-m-s^2 (Jm) ");
00432 gtk_widget_ref (JmLabel);
00433 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "JmLabel", JmLabel,
00434 (GtkDestroyNotify) gtk_widget_unref);
00435 gtk_widget_show (JmLabel);
00436 gtk_table_attach (GTK_TABLE (table5), JmLabel, 0, 1, 3, 4,
00437 (GtkAttachOptions) (0),
00438 (GtkAttachOptions) (0), 0, 0);
00439
00440 BmLabel = gtk_label_new ("Viscous friction coefficient, N-m/rad/sec (Bm) ");
00441 gtk_widget_ref (BmLabel);
00442 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "BmLabel", BmLabel,
00443 (GtkDestroyNotify) gtk_widget_unref);
00444 gtk_widget_show (BmLabel);
00445 gtk_table_attach (GTK_TABLE (table5), BmLabel, 0, 1, 4, 5,
00446 (GtkAttachOptions) (0),
00447 (GtkAttachOptions) (0), 0, 0);
00448
00449 RaSpinbutton_adj = gtk_adjustment_new (1, 0, 1000, 1, 10, 10);
00450 RaSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (RaSpinbutton_adj), 1, 5);
00451 gtk_widget_ref (RaSpinbutton);
00452 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "RaSpinbutton", RaSpinbutton,
00453 (GtkDestroyNotify) gtk_widget_unref);
00454 gtk_widget_show (RaSpinbutton);
00455 gtk_table_attach (GTK_TABLE (table5), RaSpinbutton, 1, 2, 0, 1,
00456 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00457 (GtkAttachOptions) (0), 0, 0);
00458
00459 LaSpinbutton_adj = gtk_adjustment_new (1, 0, 1000, 1, 10, 10);
00460 LaSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (LaSpinbutton_adj), 1, 5);
00461 gtk_widget_ref (LaSpinbutton);
00462 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "LaSpinbutton", LaSpinbutton,
00463 (GtkDestroyNotify) gtk_widget_unref);
00464 gtk_widget_show (LaSpinbutton);
00465 gtk_table_attach (GTK_TABLE (table5), LaSpinbutton, 1, 2, 1, 2,
00466 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00467 (GtkAttachOptions) (0), 0, 0);
00468
00469 KbSpinbutton_adj = gtk_adjustment_new (1, -1000, 1000, 1, 10, 10);
00470 KbSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (KbSpinbutton_adj), 1, 5);
00471 gtk_widget_ref (KbSpinbutton);
00472 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "KbSpinbutton", KbSpinbutton,
00473 (GtkDestroyNotify) gtk_widget_unref);
00474 gtk_widget_show (KbSpinbutton);
00475 gtk_table_attach (GTK_TABLE (table5), KbSpinbutton, 1, 2, 2, 3,
00476 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00477 (GtkAttachOptions) (0), 0, 0);
00478
00479 JmSpinbutton_adj = gtk_adjustment_new (1, 0, 1000, 1, 10, 10);
00480 JmSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (JmSpinbutton_adj), 1, 5);
00481 gtk_widget_ref (JmSpinbutton);
00482 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "JmSpinbutton", JmSpinbutton,
00483 (GtkDestroyNotify) gtk_widget_unref);
00484 gtk_widget_show (JmSpinbutton);
00485 gtk_table_attach (GTK_TABLE (table5), JmSpinbutton, 1, 2, 3, 4,
00486 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00487 (GtkAttachOptions) (0), 0, 0);
00488
00489 BmSpinbutton_adj = gtk_adjustment_new (1, 0, 1000, 1, 10, 10);
00490 BmSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (BmSpinbutton_adj), 1, 5);
00491 gtk_widget_ref (BmSpinbutton);
00492 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "BmSpinbutton", BmSpinbutton,
00493 (GtkDestroyNotify) gtk_widget_unref);
00494 gtk_widget_show (BmSpinbutton);
00495 gtk_table_attach (GTK_TABLE (table5), BmSpinbutton, 1, 2, 4, 5,
00496 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00497 (GtkAttachOptions) (0), 0, 0);
00498
00499 TorqueUnitsLabel = gtk_label_new ("Torque Units ");
00500 gtk_widget_ref (TorqueUnitsLabel);
00501 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "TorqueUnitsLabel", TorqueUnitsLabel,
00502 (GtkDestroyNotify) gtk_widget_unref);
00503 gtk_widget_show (TorqueUnitsLabel);
00504 gtk_table_attach (GTK_TABLE (table5), TorqueUnitsLabel, 0, 1, 5, 6,
00505 (GtkAttachOptions) (0),
00506 (GtkAttachOptions) (0), 0, 0);
00507
00508 TorqueUnitsOptionMenu = gtk_option_menu_new ();
00509 gtk_widget_ref (TorqueUnitsOptionMenu);
00510 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "TorqueUnitsOptionMenu", TorqueUnitsOptionMenu,
00511 (GtkDestroyNotify) gtk_widget_unref);
00512 gtk_widget_show (TorqueUnitsOptionMenu);
00513 gtk_table_attach (GTK_TABLE (table5), TorqueUnitsOptionMenu, 1, 2, 5, 6,
00514 (GtkAttachOptions) (0),
00515 (GtkAttachOptions) (0), 0, 0);
00516 TorqueUnitsOptionMenu_menu = gtk_menu_new ();
00517 glade_menuitem = gtk_menu_item_new_with_label (" --------- ");
00518 gtk_widget_show (glade_menuitem);
00519 gtk_menu_append (GTK_MENU (TorqueUnitsOptionMenu_menu), glade_menuitem);
00520 gtk_option_menu_set_menu (GTK_OPTION_MENU (TorqueUnitsOptionMenu), TorqueUnitsOptionMenu_menu);
00521
00522 hseparator3 = gtk_hseparator_new ();
00523 gtk_widget_ref (hseparator3);
00524 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "hseparator3", hseparator3,
00525 (GtkDestroyNotify) gtk_widget_unref);
00526 gtk_widget_show (hseparator3);
00527 gtk_table_attach (GTK_TABLE (table5), hseparator3, 0, 1, 8, 9,
00528 (GtkAttachOptions) (GTK_FILL),
00529 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
00530
00531 hseparator4 = gtk_hseparator_new ();
00532 gtk_widget_ref (hseparator4);
00533 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "hseparator4", hseparator4,
00534 (GtkDestroyNotify) gtk_widget_unref);
00535 gtk_widget_show (hseparator4);
00536 gtk_table_attach (GTK_TABLE (table5), hseparator4, 1, 2, 8, 9,
00537 (GtkAttachOptions) (GTK_FILL),
00538 (GtkAttachOptions) (GTK_FILL), 0, 0);
00539
00540 ia_label = gtk_label_new ("Armature Current (ia) ");
00541 gtk_widget_ref (ia_label);
00542 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "ia_label", ia_label,
00543 (GtkDestroyNotify) gtk_widget_unref);
00544 gtk_widget_show (ia_label);
00545 gtk_table_attach (GTK_TABLE (table5), ia_label, 0, 1, 9, 10,
00546 (GtkAttachOptions) (0),
00547 (GtkAttachOptions) (0), 0, 0);
00548
00549 dia_label = gtk_label_new ("Derivative of Armature Current d(ia)/dt");
00550 gtk_widget_ref (dia_label);
00551 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "dia_label", dia_label,
00552 (GtkDestroyNotify) gtk_widget_unref);
00553 gtk_widget_show (dia_label);
00554 gtk_table_attach (GTK_TABLE (table5), dia_label, 0, 1, 10, 11,
00555 (GtkAttachOptions) (0),
00556 (GtkAttachOptions) (0), 0, 0);
00557
00558 wm_label = gtk_label_new ("Angular Velocity of Motor, rad/s (wm) ");
00559 gtk_widget_ref (wm_label);
00560 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "wm_label", wm_label,
00561 (GtkDestroyNotify) gtk_widget_unref);
00562 gtk_widget_show (wm_label);
00563 gtk_table_attach (GTK_TABLE (table5), wm_label, 0, 1, 11, 12,
00564 (GtkAttachOptions) (0),
00565 (GtkAttachOptions) (0), 0, 0);
00566
00567 thm_label = gtk_label_new ("Angular Position of Motor (thm)");
00568 gtk_widget_ref (thm_label);
00569 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "thm_label", thm_label,
00570 (GtkDestroyNotify) gtk_widget_unref);
00571 gtk_widget_show (thm_label);
00572 gtk_table_attach (GTK_TABLE (table5), thm_label, 0, 1, 12, 13,
00573 (GtkAttachOptions) (0),
00574 (GtkAttachOptions) (0), 0, 0);
00575
00576 revsPerUnitLabel = gtk_label_new ("Revolutions Per Unit ");
00577 gtk_widget_ref (revsPerUnitLabel);
00578 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "revsPerUnitLabel", revsPerUnitLabel,
00579 (GtkDestroyNotify) gtk_widget_unref);
00580 gtk_widget_show (revsPerUnitLabel);
00581 gtk_table_attach (GTK_TABLE (table5), revsPerUnitLabel, 0, 1, 6, 7,
00582 (GtkAttachOptions) (0),
00583 (GtkAttachOptions) (0), 0, 0);
00584
00585 revsPerUnitSpinbutton_adj = gtk_adjustment_new (1, 0, 10000, 1, 10, 10);
00586 revsPerUnitSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (revsPerUnitSpinbutton_adj), 1, 5);
00587 gtk_widget_ref (revsPerUnitSpinbutton);
00588 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "revsPerUnitSpinbutton", revsPerUnitSpinbutton,
00589 (GtkDestroyNotify) gtk_widget_unref);
00590 gtk_widget_show (revsPerUnitSpinbutton);
00591 gtk_table_attach (GTK_TABLE (table5), revsPerUnitSpinbutton, 1, 2, 6, 7,
00592 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00593 (GtkAttachOptions) (0), 0, 0);
00594
00595 ShaftOffsetLabel = gtk_label_new ("Shaft Offset");
00596 gtk_widget_ref (ShaftOffsetLabel);
00597 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "ShaftOffsetLabel", ShaftOffsetLabel,
00598 (GtkDestroyNotify) gtk_widget_unref);
00599 gtk_widget_show (ShaftOffsetLabel);
00600 gtk_table_attach (GTK_TABLE (table5), ShaftOffsetLabel, 0, 1, 7, 8,
00601 (GtkAttachOptions) (0),
00602 (GtkAttachOptions) (0), 0, 0);
00603
00604 ShaftOffsetSpinbutton_adj = gtk_adjustment_new (1, -10000, 10000, 1, 10, 10);
00605 ShaftOffsetSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (ShaftOffsetSpinbutton_adj), 1, 5);
00606 gtk_widget_ref (ShaftOffsetSpinbutton);
00607 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "ShaftOffsetSpinbutton", ShaftOffsetSpinbutton,
00608 (GtkDestroyNotify) gtk_widget_unref);
00609 gtk_widget_show (ShaftOffsetSpinbutton);
00610 gtk_table_attach (GTK_TABLE (table5), ShaftOffsetSpinbutton, 1, 2, 7, 8,
00611 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00612 (GtkAttachOptions) (0), 0, 0);
00613
00614 iaSpinbutton_adj = gtk_adjustment_new (1, -1000, 1000, 1, 10, 10);
00615 iaSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (iaSpinbutton_adj), 1, 5);
00616 gtk_widget_ref (iaSpinbutton);
00617 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "iaSpinbutton", iaSpinbutton,
00618 (GtkDestroyNotify) gtk_widget_unref);
00619 gtk_widget_show (iaSpinbutton);
00620 gtk_table_attach (GTK_TABLE (table5), iaSpinbutton, 1, 2, 9, 10,
00621 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00622 (GtkAttachOptions) (0), 0, 0);
00623
00624 diaSpinbutton_adj = gtk_adjustment_new (1, -1000, 1000, 1, 10, 10);
00625 diaSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (diaSpinbutton_adj), 1, 5);
00626 gtk_widget_ref (diaSpinbutton);
00627 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "diaSpinbutton", diaSpinbutton,
00628 (GtkDestroyNotify) gtk_widget_unref);
00629 gtk_widget_show (diaSpinbutton);
00630 gtk_table_attach (GTK_TABLE (table5), diaSpinbutton, 1, 2, 10, 11,
00631 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00632 (GtkAttachOptions) (0), 0, 0);
00633
00634 wmSpinbutton_adj = gtk_adjustment_new (1, -1000, 1000, 1, 10, 10);
00635 wmSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (wmSpinbutton_adj), 1, 5);
00636 gtk_widget_ref (wmSpinbutton);
00637 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "wmSpinbutton", wmSpinbutton,
00638 (GtkDestroyNotify) gtk_widget_unref);
00639 gtk_widget_show (wmSpinbutton);
00640 gtk_table_attach (GTK_TABLE (table5), wmSpinbutton, 1, 2, 11, 12,
00641 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00642 (GtkAttachOptions) (0), 0, 0);
00643
00644 thmSpinbutton_adj = gtk_adjustment_new (1, -10000, 10000, 1, 10, 10);
00645 thmSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (thmSpinbutton_adj), 1, 5);
00646 gtk_widget_ref (thmSpinbutton);
00647 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "thmSpinbutton", thmSpinbutton,
00648 (GtkDestroyNotify) gtk_widget_unref);
00649 gtk_widget_show (thmSpinbutton);
00650 gtk_table_attach (GTK_TABLE (table5), thmSpinbutton, 1, 2, 12, 13,
00651 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00652 (GtkAttachOptions) (0), 0, 0);
00653
00654 MotorTabLabel = gtk_label_new ("DC Motor");
00655 gtk_widget_ref (MotorTabLabel);
00656 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "MotorTabLabel", MotorTabLabel,
00657 (GtkDestroyNotify) gtk_widget_unref);
00658 gtk_widget_show (MotorTabLabel);
00659 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 1), MotorTabLabel);
00660
00661 vbox3 = gtk_vbox_new (FALSE, 0);
00662 gtk_widget_ref (vbox3);
00663 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "vbox3", vbox3,
00664 (GtkDestroyNotify) gtk_widget_unref);
00665 gtk_widget_show (vbox3);
00666 gtk_container_add (GTK_CONTAINER (notebook2), vbox3);
00667
00668 table6 = gtk_table_new (6, 2, FALSE);
00669 gtk_widget_ref (table6);
00670 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "table6", table6,
00671 (GtkDestroyNotify) gtk_widget_unref);
00672 gtk_widget_show (table6);
00673 gtk_box_pack_start (GTK_BOX (vbox3), table6, TRUE, TRUE, 0);
00674
00675 countsPerRevLabel = gtk_label_new ("Counts Per Revolution ");
00676 gtk_widget_ref (countsPerRevLabel);
00677 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "countsPerRevLabel", countsPerRevLabel,
00678 (GtkDestroyNotify) gtk_widget_unref);
00679 gtk_widget_show (countsPerRevLabel);
00680 gtk_table_attach (GTK_TABLE (table6), countsPerRevLabel, 0, 1, 0, 1,
00681 (GtkAttachOptions) (0),
00682 (GtkAttachOptions) (0), 0, 0);
00683
00684 countsPerRevSpinbutton_adj = gtk_adjustment_new (1, 0, 4.29497e+09, 256, 1024, 1024);
00685 countsPerRevSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (countsPerRevSpinbutton_adj), 1, 0);
00686 gtk_widget_ref (countsPerRevSpinbutton);
00687 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "countsPerRevSpinbutton", countsPerRevSpinbutton,
00688 (GtkDestroyNotify) gtk_widget_unref);
00689 gtk_widget_show (countsPerRevSpinbutton);
00690 gtk_table_attach (GTK_TABLE (table6), countsPerRevSpinbutton, 1, 2, 0, 1,
00691 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00692 (GtkAttachOptions) (0), 0, 0);
00693
00694 hseparator5 = gtk_hseparator_new ();
00695 gtk_widget_ref (hseparator5);
00696 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "hseparator5", hseparator5,
00697 (GtkDestroyNotify) gtk_widget_unref);
00698 gtk_widget_show (hseparator5);
00699 gtk_table_attach (GTK_TABLE (table6), hseparator5, 0, 1, 1, 2,
00700 (GtkAttachOptions) (GTK_FILL),
00701 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
00702
00703 hseparator6 = gtk_hseparator_new ();
00704 gtk_widget_ref (hseparator6);
00705 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "hseparator6", hseparator6,
00706 (GtkDestroyNotify) gtk_widget_unref);
00707 gtk_widget_show (hseparator6);
00708 gtk_table_attach (GTK_TABLE (table6), hseparator6, 1, 2, 1, 2,
00709 (GtkAttachOptions) (GTK_FILL),
00710 (GtkAttachOptions) (GTK_FILL), 0, 0);
00711
00712 EncoderCountLabel = gtk_label_new ("Count");
00713 gtk_widget_ref (EncoderCountLabel);
00714 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "EncoderCountLabel", EncoderCountLabel,
00715 (GtkDestroyNotify) gtk_widget_unref);
00716 gtk_widget_show (EncoderCountLabel);
00717 gtk_table_attach (GTK_TABLE (table6), EncoderCountLabel, 0, 1, 2, 3,
00718 (GtkAttachOptions) (0),
00719 (GtkAttachOptions) (0), 0, 0);
00720
00721 EncoderCountSpinbutton_adj = gtk_adjustment_new (1, -1e+06, 1e+06, 1, 10, 10);
00722 EncoderCountSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (EncoderCountSpinbutton_adj), 1, 3);
00723 gtk_widget_ref (EncoderCountSpinbutton);
00724 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "EncoderCountSpinbutton", EncoderCountSpinbutton,
00725 (GtkDestroyNotify) gtk_widget_unref);
00726 gtk_widget_show (EncoderCountSpinbutton);
00727 gtk_table_attach (GTK_TABLE (table6), EncoderCountSpinbutton, 1, 2, 2, 3,
00728 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00729 (GtkAttachOptions) (0), 0, 0);
00730
00731 EncoderOffsetLabel = gtk_label_new ("Offset");
00732 gtk_widget_ref (EncoderOffsetLabel);
00733 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "EncoderOffsetLabel", EncoderOffsetLabel,
00734 (GtkDestroyNotify) gtk_widget_unref);
00735 gtk_widget_show (EncoderOffsetLabel);
00736 gtk_table_attach (GTK_TABLE (table6), EncoderOffsetLabel, 0, 1, 3, 4,
00737 (GtkAttachOptions) (0),
00738 (GtkAttachOptions) (0), 0, 0);
00739
00740 EncoderOffsetSpinbutton_adj = gtk_adjustment_new (1, -1e+06, 1e+06, 1, 10, 10);
00741 EncoderOffsetSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (EncoderOffsetSpinbutton_adj), 1, 3);
00742 gtk_widget_ref (EncoderOffsetSpinbutton);
00743 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "EncoderOffsetSpinbutton", EncoderOffsetSpinbutton,
00744 (GtkDestroyNotify) gtk_widget_unref);
00745 gtk_widget_show (EncoderOffsetSpinbutton);
00746 gtk_table_attach (GTK_TABLE (table6), EncoderOffsetSpinbutton, 1, 2, 3, 4,
00747 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00748 (GtkAttachOptions) (0), 0, 0);
00749
00750 EncoderIndexLabel = gtk_label_new ("Index");
00751 gtk_widget_ref (EncoderIndexLabel);
00752 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "EncoderIndexLabel", EncoderIndexLabel,
00753 (GtkDestroyNotify) gtk_widget_unref);
00754 gtk_widget_show (EncoderIndexLabel);
00755 gtk_table_attach (GTK_TABLE (table6), EncoderIndexLabel, 0, 1, 4, 5,
00756 (GtkAttachOptions) (0),
00757 (GtkAttachOptions) (0), 0, 0);
00758
00759 EncoderIndexSpinbutton_adj = gtk_adjustment_new (1, -1e+06, 1e+06, 1, 10, 10);
00760 EncoderIndexSpinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (EncoderIndexSpinbutton_adj), 1, 3);
00761 gtk_widget_ref (EncoderIndexSpinbutton);
00762 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "EncoderIndexSpinbutton", EncoderIndexSpinbutton,
00763 (GtkDestroyNotify) gtk_widget_unref);
00764 gtk_widget_show (EncoderIndexSpinbutton);
00765 gtk_table_attach (GTK_TABLE (table6), EncoderIndexSpinbutton, 1, 2, 4, 5,
00766 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00767 (GtkAttachOptions) (0), 0, 0);
00768
00769 EncoderCalibratingCheckbox = gtk_check_button_new_with_label ("Calibrating");
00770 gtk_widget_ref (EncoderCalibratingCheckbox);
00771 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "EncoderCalibratingCheckbox", EncoderCalibratingCheckbox,
00772 (GtkDestroyNotify) gtk_widget_unref);
00773 gtk_widget_show (EncoderCalibratingCheckbox);
00774 gtk_table_attach (GTK_TABLE (table6), EncoderCalibratingCheckbox, 0, 1, 5, 6,
00775 (GtkAttachOptions) (0),
00776 (GtkAttachOptions) (0), 0, 0);
00777
00778 PlaceHolderLabel1 = gtk_label_new ("");
00779 gtk_widget_ref (PlaceHolderLabel1);
00780 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "PlaceHolderLabel1", PlaceHolderLabel1,
00781 (GtkDestroyNotify) gtk_widget_unref);
00782 gtk_widget_show (PlaceHolderLabel1);
00783 gtk_table_attach (GTK_TABLE (table6), PlaceHolderLabel1, 1, 2, 5, 6,
00784 (GtkAttachOptions) (0),
00785 (GtkAttachOptions) (0), 0, 0);
00786
00787 EncoderTabLabel = gtk_label_new ("Encoder");
00788 gtk_widget_ref (EncoderTabLabel);
00789 gtk_object_set_data_full (GTK_OBJECT (SimCtrlWindow), "EncoderTabLabel", EncoderTabLabel,
00790 (GtkDestroyNotify) gtk_widget_unref);
00791 gtk_widget_show (EncoderTabLabel);
00792 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 2), EncoderTabLabel);
00793
00794 gtk_signal_connect (GTK_OBJECT (SimCtrlWindow), "destroy_event",
00795 GTK_SIGNAL_FUNC (on_SimCtrlWindow_destroy_event),
00796 NULL);
00797 gtk_signal_connect (GTK_OBJECT (SimCtrlWindow), "delete_event",
00798 GTK_SIGNAL_FUNC (on_SimCtrlWindow_delete_event),
00799 NULL);
00800 gtk_signal_connect (GTK_OBJECT (SetButton), "clicked",
00801 GTK_SIGNAL_FUNC (on_SetButton_clicked),
00802 NULL);
00803 gtk_signal_connect (GTK_OBJECT (OpenButton), "clicked",
00804 GTK_SIGNAL_FUNC (on_OpenButton_clicked),
00805 NULL);
00806 gtk_signal_connect (GTK_OBJECT (SaveButton), "clicked",
00807 GTK_SIGNAL_FUNC (on_SaveButton_clicked),
00808 NULL);
00809 gtk_signal_connect (GTK_OBJECT (AxisSpinbutton), "changed",
00810 GTK_SIGNAL_FUNC (on_AxisSpinbutton_changed),
00811 NULL);
00812 gtk_signal_connect (GTK_OBJECT (EditRadiobutton), "toggled",
00813 GTK_SIGNAL_FUNC (on_EditRadiobutton_toggled),
00814 NULL);
00815 gtk_signal_connect (GTK_OBJECT (WatchRadiobutton), "toggled",
00816 GTK_SIGNAL_FUNC (on_WatchRadiobutton_toggled),
00817 NULL);
00818 gtk_signal_connect (GTK_OBJECT (TrippedCheckbutton), "toggled",
00819 GTK_SIGNAL_FUNC (on_TrippedCheckbutton_toggled),
00820 NULL);
00821
00822 return SimCtrlWindow;
00823 }
00824
00825 GtkWidget*
00826 create_fileselection1 (void)
00827 {
00828 GtkWidget *fileselection1;
00829 GtkWidget *ok_button1;
00830 GtkWidget *cancel_button1;
00831
00832 fileselection1 = gtk_file_selection_new ("Select File");
00833 gtk_object_set_data (GTK_OBJECT (fileselection1), "fileselection1", fileselection1);
00834 gtk_container_set_border_width (GTK_CONTAINER (fileselection1), 10);
00835 gtk_window_set_modal (GTK_WINDOW (fileselection1), TRUE);
00836
00837 ok_button1 = GTK_FILE_SELECTION (fileselection1)->ok_button;
00838 gtk_object_set_data (GTK_OBJECT (fileselection1), "ok_button1", ok_button1);
00839 gtk_widget_show (ok_button1);
00840 GTK_WIDGET_SET_FLAGS (ok_button1, GTK_CAN_DEFAULT);
00841
00842 cancel_button1 = GTK_FILE_SELECTION (fileselection1)->cancel_button;
00843 gtk_object_set_data (GTK_OBJECT (fileselection1), "cancel_button1", cancel_button1);
00844 gtk_widget_show (cancel_button1);
00845 GTK_WIDGET_SET_FLAGS (cancel_button1, GTK_CAN_DEFAULT);
00846
00847 gtk_signal_connect (GTK_OBJECT (fileselection1), "delete_event",
00848 GTK_SIGNAL_FUNC (on_fileselection1_delete_event),
00849 NULL);
00850 gtk_signal_connect (GTK_OBJECT (fileselection1), "destroy_event",
00851 GTK_SIGNAL_FUNC (on_fileselection1_destroy_event),
00852 NULL);
00853 gtk_signal_connect (GTK_OBJECT (ok_button1), "clicked",
00854 GTK_SIGNAL_FUNC (on_ok_button1_clicked),
00855 NULL);
00856 gtk_signal_connect (GTK_OBJECT (cancel_button1), "clicked",
00857 GTK_SIGNAL_FUNC (on_cancel_button1_clicked),
00858 NULL);
00859
00860 return fileselection1;
00861 }