#include "XmEmc.hh"
Include dependency graph for XmEmc.cc:
Go to the source code of this file.
Defines | |
#define | XMEMC |
Functions | |
int | main (int argc, char *argv[]) |
void | closeMainWindow (Widget mw, XtPointer cd, XtPointer cb) |
void | fileMenuCB (Widget mw, XtPointer cd, XtPointer cb) |
void | editMenuCB (Widget mw, XtPointer cd, XtPointer cb) |
void | viewMenuCB (Widget mw, XtPointer cd, XtPointer cb) |
void | helpMenuCB (Widget mw, XtPointer cd, XtPointer cb) |
void | buttonsCB (Widget mw, XtPointer cd, XtPointer cb) |
void | quitPopup (Widget push_button, XtPointer text, XtPointer cbs) |
void | fileOpenPopup (Widget push_button, XtPointer text, XtPointer cbs) |
void | reallyQuit (Widget dialog, XtPointer x, XtPointer y) |
void | canc (Widget dialog, XtPointer cd, XtPointer cb) |
void | fileOk (Widget dialog, XtPointer cd, XtPointer cb) |
void | aboutPopup (Widget push_button, XtPointer text, XtPointer cbs) |
void | updateAxes (void) |
void | showRunMode (void) |
void | hideRunMode (void) |
void | createAxes (void) |
void | createPosition (void) |
void | createRunModes (void) |
void | createScrolledText (void) |
void | restartList () |
void | turnMachineOn (void) |
void | turnMachineOff (void) |
void | do_estop (void) |
void | turnBrakeOn (void) |
void | turnBrakeOff (void) |
void | turnFloodOn (void) |
void | turnFloodOff (void) |
void | turnMistOn (void) |
void | turnMistOff (void) |
void | setCoordRelative (void) |
void | setCoordMachine (void) |
void | setPosActual (void) |
void | setPosCommanded (void) |
void | call_run (void) |
void | run_finished (void) |
void | call_pause (void) |
void | call_resume (void) |
void | call_step (void) |
void | setLimitOverride (void) |
void | unsetLimitOverride (void) |
void | showJogPopup (void) |
void | setModeAuto (void) |
void | setModeMDI (void) |
void | setModeManual (void) |
void | do_home (void) |
void | processAbort (void) |
double | getAxisValue (int i) |
|
|
|
Definition at line 1015 of file XmEmc.cc. Referenced by helpMenuCB().
01016 { 01017 XmString xm_string; 01018 XmString about_string; 01019 Arg args[3]; 01020 01021 xm_string = XmStringCreateLtoR ((char *) text, XmFONTLIST_DEFAULT_TAG); 01022 XtSetArg (args[0], XmNmessageString, xm_string); 01023 about_string = 01024 XmStringCreateLtoR ((char *) ABOUT_OK, XmFONTLIST_DEFAULT_TAG); 01025 XtSetArg (args[1], XmNokLabelString, about_string); 01026 XtSetArg (args[2], XmNtitle, ABOUT_TITLE); 01027 01028 abouthelp = XmCreateInformationDialog (push_button, "about", args, 3); 01029 XmStringFree (xm_string); 01030 XmStringFree (about_string); 01031 01032 XtUnmanageChild (XmMessageBoxGetChild (abouthelp, XmDIALOG_CANCEL_BUTTON)); 01033 XtUnmanageChild (XmMessageBoxGetChild (abouthelp, XmDIALOG_HELP_BUTTON)); 01034 01035 XtVaSetValues (XmMessageBoxGetChild (abouthelp, XmDIALOG_OK_BUTTON), 01036 XmNshadowThickness, 4, NULL); 01037 01038 XtAddCallback (abouthelp, (String) XmNokCallback, (XtCallbackProc) canc, 01039 (XtPointer) cbs); 01040 XtManageChild (abouthelp); 01041 01042 XtPopup (XtParent (abouthelp), XtGrabExclusive); 01043 } |
|
Definition at line 572 of file XmEmc.cc. 00573 { 00574 XmString valueLabel = NULL; 00575 switch ((int) cd) 00576 { 00577 case BT_MACHINE: 00578 TOGGLE (mw); 00579 00580 if (isMachineOn) 00581 turnMachineOff (); 00582 else 00583 turnMachineOn (); 00584 00585 // If the machine was off and now its on, do the following: 00586 if (isMachineOn) 00587 { 00588 UNLOCK (brakebutton); 00589 PRESS (brakebutton); 00590 UNLOCK (mistbutton); 00591 UNLOCK (floodbutton); 00592 HIDE_MANUAL (); 00593 HIDE_AUTO (); 00594 HIDE_MDI (); 00595 do_home (); 00596 } 00597 // If the machine was on and now its off, do the following: 00598 else 00599 { 00600 turnMistOff (); 00601 turnFloodOff (); 00602 turnBrakeOn (); 00603 hideSpindle (); 00604 stopSpindle (); 00605 jogDone (); 00606 00607 switch (runMode) 00608 { 00609 case MANUAL_MODE: 00610 LOCK (brakebutton); 00611 PRESS (brakebutton); 00612 LOCK (mistbutton); 00613 UNPRESS (mistbutton); 00614 LOCK (floodbutton); 00615 UNPRESS (floodbutton); 00616 SHOW_MANUAL (); 00617 break; 00618 case AUTO_MODE: 00619 SHOW_AUTO (); 00620 HIDE (scrolledText); 00621 break; 00622 case MDI_MODE: 00623 SHOW_MDI (); 00624 HIDE (scrolledText); 00625 break; 00626 } 00627 } 00628 00629 break; 00630 00631 case BT_ABORT: 00632 wasAborted = True; 00633 isRunning = False; 00634 00635 turnMachineOff (); 00636 HIDE (abortbutton); 00637 UNLOCK (machinebutton); 00638 UNPRESS (machinebutton); 00639 00640 // Turn off all other that the AUTO might have turned on 00641 turnMistOff (); 00642 turnFloodOff (); 00643 turnBrakeOn (); 00644 stopSpindle (); 00645 hideSpindle (); 00646 00647 LOCK (runModes); // We want to see where it stopped, but not allow to continue 00648 LOCK (scrolledText); 00649 LOCK (pauseButton); 00650 LOCK (stepButton); 00651 valueLabel = 00652 XmStringCreateLtoR ((char *) ABORTED_STR, XmSTRING_DEFAULT_CHARSET); 00653 XtVaSetValues (runButton, XmNlabelString, valueLabel, NULL); 00654 XmStringFree (valueLabel); 00655 00656 processAbort (); 00657 00658 break; 00659 00660 case BT_MIST: 00661 TOGGLE (mw); 00662 00663 if (isMistOn) 00664 turnMistOff (); 00665 else 00666 turnMistOn (); 00667 00668 break; 00669 case BT_FLOOD: 00670 TOGGLE (mw); 00671 00672 if (isFloodOn) 00673 turnFloodOff (); 00674 else 00675 turnFloodOn (); 00676 00677 break; 00678 case BT_BRAKE: 00679 TOGGLE (mw); 00680 00681 if (isBrakeOn) 00682 { 00683 turnBrakeOff (); 00684 showSpindle (); 00685 } 00686 else 00687 { 00688 turnBrakeOn (); 00689 stopSpindle (); 00690 hideSpindle (); 00691 } 00692 00693 break; 00694 case BT_ESTOP: 00695 00696 do_estop (); 00697 00698 turnBrakeOn (); 00699 stopSpindle (); 00700 hideSpindle (); 00701 00702 turnMachineOff (); 00703 turnMistOff (); 00704 turnFloodOff (); 00705 00706 TOGGLE (mw); 00707 00708 XtVaSetValues (mw, XmNlabelInsensitivePixmap, pixmap_off, NULL); 00709 00710 LOCK (mw); 00711 00712 PRESS (brakebutton); 00713 LOCK (brakebutton); 00714 00715 UNPRESS (mistbutton); 00716 LOCK (mistbutton); 00717 00718 UNPRESS (machinebutton); 00719 LOCK (machinebutton); 00720 00721 UNPRESS (floodbutton); 00722 LOCK (floodbutton); 00723 00724 jogDone (); 00725 00726 setSpindleSpeed (INITIAL_SPINDLE_SPEED); 00727 run_finished (); 00728 call_resume (); 00729 unsetLimitOverride (); 00730 00731 HIDE_MANUAL (); 00732 HIDE_AUTO (); 00733 HIDE_MDI (); 00734 SHOW (resetbutton); 00735 00736 break; 00737 case BT_RESET: 00738 00739 HIDE (resetbutton); 00740 TOGGLE (estopbutton); 00741 UNLOCK (estopbutton); 00742 00743 // Act as if one pressed the Machine button if it's turned on 00744 SHOW (machinebutton); 00745 UNLOCK (machinebutton); 00746 if (isMachineOn) 00747 { 00748 buttonsCB (machinebutton, (XtPointer) BT_MACHINE, (XtPointer) NULL); 00749 } 00750 00751 break; 00752 00753 case COORD_RELATIVE: 00754 00755 if (!isCoordRelative) 00756 setCoordRelative (); 00757 break; 00758 00759 case COORD_MACHINE: 00760 00761 if (isCoordRelative) 00762 setCoordMachine (); 00763 break; 00764 00765 case POSITION_ACTUAL: 00766 00767 if (!isPosActual) 00768 setPosActual (); 00769 break; 00770 00771 case POSITION_COMMANDED: 00772 00773 if (isPosActual) 00774 setPosCommanded (); 00775 break; 00776 00777 case DO_RUN: 00778 call_run (); 00779 break; 00780 00781 case PAUSE_RESUME: 00782 if (!isPaused) 00783 call_pause (); 00784 else 00785 call_resume (); 00786 break; 00787 00788 case STEP: 00789 call_step (); 00790 break; 00791 00792 case LIMIT_OVERRIDE: 00793 setLimitOverride (); 00794 break; 00795 00796 case JOG_BUTTON: 00797 showJogPopup (); 00798 break; 00799 00800 case AUTO_MODE: 00801 if (runMode != AUTO_MODE) 00802 setModeAuto (); 00803 break; 00804 00805 case MDI_MODE: 00806 if (runMode != MDI_MODE) 00807 setModeMDI (); 00808 break; 00809 00810 case MANUAL_MODE: 00811 if (runMode != MANUAL_MODE) 00812 setModeManual (); 00813 break; 00814 } 00815 } |
|
Definition at line 1657 of file XmEmc.cc. Referenced by buttonsCB().
01658 { 01659 XmString valueLabel = 01660 XmStringCreateLtoR ((char *) RESUME_STR, XmSTRING_DEFAULT_CHARSET); 01661 XtVaSetValues (pauseButton, XmNlabelString, valueLabel, NULL); 01662 XmStringFree (valueLabel); 01663 valueLabel = 01664 XmStringCreateLtoR ((char *) PAUSED_STR, XmSTRING_DEFAULT_CHARSET); 01665 XtVaSetValues (runButton, XmNlabelString, valueLabel, NULL); 01666 XmStringFree (valueLabel); 01667 isPaused = True; 01668 UNLOCK (stepButton); 01669 SHOW (stepButton); 01670 01671 #ifdef DEBUG 01672 cout << "We are paused" << endl; 01673 #endif 01674 } |
|
Definition at line 1677 of file XmEmc.cc. Referenced by buttonsCB().
01678 { 01679 if ((!isPaused) || (!pauseButton)) 01680 return; 01681 XmString valueLabel = 01682 XmStringCreateLtoR ((char *) PAUSE_STR, XmSTRING_DEFAULT_CHARSET); 01683 XtVaSetValues (pauseButton, XmNlabelString, valueLabel, NULL); 01684 XmStringFree (valueLabel); 01685 01686 if (isRunning) 01687 valueLabel = 01688 XmStringCreateLtoR ((char *) RUNNING_STR, XmSTRING_DEFAULT_CHARSET); 01689 else 01690 valueLabel = 01691 XmStringCreateLtoR ((char *) RUN_STR, XmSTRING_DEFAULT_CHARSET); 01692 01693 XtVaSetValues (runButton, XmNlabelString, valueLabel, NULL); 01694 XmStringFree (valueLabel); 01695 isPaused = False; 01696 HIDE (stepButton); 01697 #ifdef DEBUG 01698 cout << "We are resumed" << endl; 01699 #endif 01700 } |
|
Definition at line 1589 of file XmEmc.cc. Referenced by buttonsCB().
01590 { 01591 isRunning = True; 01592 PRESS (runButton); 01593 LOCK (runButton); 01594 LOCK (runModes); 01595 HIDE (brakebutton); 01596 HIDE (mistbutton); 01597 HIDE (floodbutton); 01598 01599 UNLOCK (pauseButton); 01600 SHOW (pauseButton); 01601 SHOW (abortbutton); 01602 LOCK (machinebutton); 01603 01604 if (!isBrakeOn) 01605 { 01606 turnBrakeOn (); 01607 stopSpindle (); 01608 hideSpindle (); 01609 } 01610 01611 XmString valueLabel = 01612 XmStringCreateLtoR ((char *) RUNNING_STR, XmSTRING_DEFAULT_CHARSET); 01613 XtVaSetValues (runButton, XmNlabelString, valueLabel, NULL); 01614 XmStringFree (valueLabel); 01615 01616 #ifdef DEBUG 01617 cout << "Called Run" << endl; 01618 #endif 01619 } |
|
Definition at line 1703 of file XmEmc.cc. Referenced by buttonsCB().
01704 { 01705 #ifdef DEBUG 01706 cout << "Step" << endl; 01707 #endif 01708 01709 // For fun put stuff into msg area: 01710 XmString valueLabel = 01711 XmStringCreateLtoR ("G100 -- Move", XmSTRING_DEFAULT_CHARSET); 01712 XmListAddItemUnselected (scrolledText, valueLabel, 0); 01713 XmListSetBottomItem (scrolledText, valueLabel); 01714 XmStringFree (valueLabel); 01715 01716 } |
|
Definition at line 940 of file XmEmc.cc. 00941 { 00942 switch ((int) cd) 00943 { 00944 case FM_QUIT: 00945 (void) XtDestroyWidget (quitmenu); 00946 quitmenu = NULL; 00947 break; 00948 case FM_OPEN: 00949 (void) XtDestroyWidget (openfile); 00950 openfile = NULL; 00951 break; 00952 case FM_SAVE_AS: 00953 (void) XtDestroyWidget (savefile); 00954 savefile = NULL; 00955 break; 00956 case ED_EDIT: 00957 (void) XtDestroyWidget (editedit); 00958 editedit = NULL; 00959 break; 00960 case HM_ABOUT: 00961 (void) XtDestroyWidget (abouthelp); 00962 abouthelp = NULL; 00963 break; 00964 } 00965 } |
|
Definition at line 450 of file XmEmc.cc. Referenced by reallyQuit().
00451 { 00452 (void) XtDestroyWidget ((Widget) toplevel); 00453 exit (0); 00454 } |
|
Definition at line 1090 of file XmEmc.cc. Referenced by main().
01091 { 01092 if (axisForm != NULL) // only build one set 01093 return; 01094 01095 axisForm = 01096 XtVaCreateManagedWidget ("axisForm", xmFormWidgetClass, workArea, 01097 XmNtopAttachment, XmATTACH_FORM, 01098 XmNtopOffset, 5, 01099 XmNbottomAttachment, XmATTACH_NONE, 01100 XmNleftAttachment, XmATTACH_FORM, 01101 XmNleftOffset, 5, 01102 XmNrightAttachment, XmATTACH_NONE, 01103 XmNmarginWidth, 5, 01104 XmNmarginWidth, 5, XmNmarginHeight, 5, NULL); 01105 int i = 0; 01106 01107 LABEL_AXIS (axisWidget[i], axisStr[i], axisPos[i], XmATTACH_FORM, NULL); 01108 01109 01110 for (i = 1; i < EMC_NUM_AXES; i++) 01111 { 01112 AXIS_SEPARATOR (); 01113 LABEL_AXIS (axisWidget[i], axisStr[i], axisPos[i], XmATTACH_WIDGET, 01114 axisWidget[i - 1]); 01115 } 01116 01117 AXIS_SEPARATOR (); 01118 } |
|
Definition at line 1121 of file XmEmc.cc. Referenced by main().
01122 { 01123 posForm = 01124 XtVaCreateManagedWidget ("form", xmFormWidgetClass, workArea, 01125 XmNtopAttachment, XmATTACH_FORM, 01126 XmNleftAttachment, XmATTACH_WIDGET, 01127 XmNleftWidget, axisForm, XmNtopOffset, 5, 01128 XmNbottomAttachment, XmATTACH_NONE, 01129 XmNrightAttachment, XmATTACH_NONE, 01130 XmNleftOffset, 5, XmNtraversalOn, False, NULL); 01131 01132 XmString valueLabel = 01133 XmStringCreateLtoR ((char *) POSITION_STR, XmSTRING_DEFAULT_CHARSET); 01134 01135 posLabel = 01136 XtVaCreateManagedWidget ("label", xmLabelWidgetClass, posForm, 01137 XmNtopAttachment, XmATTACH_FORM, 01138 XmNtopOffset, 25, 01139 XmNbottomAttachment, XmATTACH_NONE, 01140 XmNrightAttachment, XmATTACH_NONE, 01141 XmNleftAttachment, XmATTACH_FORM, 01142 XmNleftOffset, 50, 01143 XmNlabelString, valueLabel, NULL); 01144 XmStringFree (valueLabel); 01145 01146 Arg args[12]; // Caution: increment to maximum value of "i" expected 01147 int i; 01148 01149 i = 0; 01150 XtSetArg (args[i], XmNshadowThickness, 4); 01151 i++; 01152 pulldown = XmCreatePulldownMenu (posForm, "pulldown", args, i); 01153 01154 actual = XtVaCreateManagedWidget (ACTUAL_STR, 01155 xmPushButtonWidgetClass, pulldown, 01156 XmNmarginWidth, 12, 01157 XmNmarginHeight, 12, 01158 XmNshadowThickness, 4, NULL); 01159 01160 01161 commanded = XtVaCreateManagedWidget (COMMANDED_STR, 01162 xmPushButtonWidgetClass, pulldown, 01163 XmNmarginWidth, 12, 01164 XmNmarginHeight, 12, 01165 XmNshadowThickness, 4, NULL); 01166 01167 01168 i = 0; 01169 XtSetArg (args[i], XmNleftAttachment, XmATTACH_FORM); 01170 i++; 01171 XtSetArg (args[i], XmNleftOffset, 25); 01172 i++; 01173 XtSetArg (args[i], XmNtopAttachment, XmATTACH_WIDGET); 01174 i++; 01175 XtSetArg (args[i], XmNtopWidget, posLabel); 01176 i++; 01177 XtSetArg (args[i], XmNtopOffset, 5); 01178 i++; 01179 XtSetArg (args[i], XmNorientation, XmVERTICAL); 01180 i++; 01181 XtSetArg (args[i], XmNsubMenuId, pulldown); 01182 i++; 01183 XtSetArg (args[i], XmNshadowThickness, 4); 01184 i++; 01185 01186 position = XmCreateOptionMenu (posForm, POSITION_STR, args, i); 01187 01188 XtManageChild (position); 01189 01190 XtAddCallback (actual, XmNactivateCallback, 01191 buttonsCB, (XtPointer) POSITION_ACTUAL); 01192 01193 XtAddCallback (commanded, XmNactivateCallback, 01194 buttonsCB, (XtPointer) POSITION_COMMANDED); 01195 01196 01197 i = 0; 01198 XtSetArg (args[i], XmNshadowThickness, 4); 01199 i++; 01200 pulldown = XmCreatePulldownMenu (posForm, "pulldown", args, i); 01201 01202 relative = XtVaCreateManagedWidget (RELATIVE_COORD_STR, 01203 xmPushButtonWidgetClass, pulldown, 01204 XmNmarginWidth, 12, 01205 XmNmarginHeight, 12, 01206 XmNshadowThickness, 4, NULL); 01207 01208 machine = XtVaCreateManagedWidget (MACHINE_COORD_STR, 01209 xmPushButtonWidgetClass, pulldown, 01210 XmNmarginWidth, 12, 01211 XmNmarginHeight, 12, 01212 XmNshadowThickness, 4, NULL); 01213 01214 i = 0; 01215 XtSetArg (args[i], XmNleftAttachment, XmATTACH_FORM); 01216 i++; 01217 XtSetArg (args[i], XmNleftOffset, 25); 01218 i++; 01219 XtSetArg (args[i], XmNtopAttachment, XmATTACH_WIDGET); 01220 i++; 01221 XtSetArg (args[i], XmNtopWidget, position); 01222 i++; 01223 XtSetArg (args[i], XmNtopOffset, 5); 01224 i++; 01225 XtSetArg (args[i], XmNorientation, XmVERTICAL); 01226 i++; 01227 XtSetArg (args[i], XmNsubMenuId, pulldown); 01228 i++; 01229 XtSetArg (args[i], XmNshadowThickness, 4); 01230 i++; 01231 01232 coordinates = XmCreateOptionMenu (posForm, "pulldown", args, i); 01233 01234 XtManageChild (coordinates); 01235 01236 XtAddCallback (relative, XmNactivateCallback, 01237 buttonsCB, (XtPointer) COORD_RELATIVE); 01238 01239 XtAddCallback (machine, XmNactivateCallback, 01240 buttonsCB, (XtPointer) COORD_MACHINE); 01241 } |
|
Definition at line 1244 of file XmEmc.cc. Referenced by main().
01245 { 01246 01247 runModeForm = 01248 XtVaCreateManagedWidget ("form", xmFormWidgetClass, workArea, 01249 XmNtopAttachment, XmATTACH_WIDGET, 01250 XmNtopWidget, posForm, XmNtopOffset, 40, 01251 XmNbottomAttachment, XmATTACH_NONE, 01252 XmNrightAttachment, XmATTACH_NONE, 01253 XmNleftAttachment, XmATTACH_FORM, 01254 XmNleftOffset, 5, 01255 XmNtraversalOn, False, 01256 XmNmappedWhenManaged, False, NULL); 01257 01258 XmString valueLabel = 01259 XmStringCreateLtoR ((char *) RUN_MODE_STR, XmSTRING_DEFAULT_CHARSET); 01260 01261 Widget runLabel = 01262 XtVaCreateManagedWidget ("label", xmLabelWidgetClass, runModeForm, 01263 XmNtopAttachment, XmATTACH_FORM, 01264 XmNtopOffset, 25, 01265 XmNbottomAttachment, XmATTACH_NONE, 01266 XmNrightAttachment, XmATTACH_NONE, 01267 XmNleftAttachment, XmATTACH_FORM, 01268 XmNleftOffset, 5, 01269 XmNlabelString, valueLabel, NULL); 01270 XmStringFree (valueLabel); 01271 01272 Arg args[12]; // Caution: increment to maximum value of "i" expected 01273 int i; 01274 01275 i = 0; 01276 XtSetArg (args[i], XmNshadowThickness, 4); 01277 i++; 01278 pulldown = XmCreatePulldownMenu (runModeForm, "pulldown", args, i); 01279 01280 autoMode = XtVaCreateManagedWidget (AUTO_STR, 01281 xmPushButtonWidgetClass, pulldown, 01282 XmNmarginWidth, 12, 01283 XmNmarginHeight, 12, 01284 XmNshadowThickness, 4, NULL); 01285 01286 01287 mdiMode = XtVaCreateManagedWidget (MDI_STR, 01288 xmPushButtonWidgetClass, pulldown, 01289 XmNmarginWidth, 12, 01290 XmNmarginHeight, 12, 01291 XmNshadowThickness, 4, NULL); 01292 01293 manualMode = XtVaCreateManagedWidget (MANUAL_STR, 01294 xmPushButtonWidgetClass, pulldown, 01295 XmNmarginWidth, 12, 01296 XmNmarginHeight, 12, 01297 XmNshadowThickness, 4, NULL); 01298 01299 01300 i = 0; 01301 XtSetArg (args[i], XmNtopAttachment, XmATTACH_FORM); 01302 i++; 01303 XtSetArg (args[i], XmNleftAttachment, XmATTACH_WIDGET); 01304 i++; 01305 XtSetArg (args[i], XmNleftWidget, runLabel); 01306 i++; 01307 XtSetArg (args[i], XmNleftOffset, 5); 01308 i++; 01309 XtSetArg (args[i], XmNorientation, XmVERTICAL); 01310 i++; 01311 XtSetArg (args[i], XmNsubMenuId, pulldown); 01312 i++; 01313 XtSetArg (args[i], XmNshadowThickness, 4); 01314 i++; 01315 XtSetArg (args[i], XmNbuttonSet, 2); 01316 i++; 01317 01318 runModes = XmCreateOptionMenu (runModeForm, "optionMenu", args, i); 01319 01320 XtManageChild (runModes); 01321 01322 XtAddCallback (autoMode, XmNactivateCallback, 01323 buttonsCB, (XtPointer) AUTO_MODE); 01324 01325 XtAddCallback (mdiMode, XmNactivateCallback, 01326 buttonsCB, (XtPointer) MDI_MODE); 01327 01328 XtAddCallback (manualMode, XmNactivateCallback, 01329 buttonsCB, (XtPointer) MANUAL_MODE); 01330 01331 valueLabel = 01332 XmStringCreateLtoR ((char *) RUN_STR, XmSTRING_DEFAULT_CHARSET); 01333 01334 runButton = 01335 XtVaCreateManagedWidget ("button", xmPushButtonWidgetClass, runModeForm, 01336 XmNtopAttachment, XmATTACH_FORM, 01337 XmNtopOffset, 10, 01338 XmNbottomAttachment, XmATTACH_NONE, 01339 XmNrightAttachment, XmATTACH_NONE, 01340 XmNleftAttachment, XmATTACH_WIDGET, 01341 XmNleftWidget, runModes, 01342 XmNleftOffset, 15, 01343 XmNmarginWidth, 15, 01344 XmNmarginHeight, 15, 01345 XmNshadowThickness, 4, 01346 XmNlabelString, valueLabel, NULL); 01347 XmStringFree (valueLabel); 01348 01349 XtAddCallback (runButton, XmNarmCallback, buttonsCB, (XtPointer) DO_RUN); 01350 01351 XmPushButtonWidget pb; 01352 pb = (XmPushButtonWidget) runButton; 01353 pb->pushbutton.armed = false; 01354 01355 valueLabel = 01356 XmStringCreateLtoR ((char *) PAUSE_STR, XmSTRING_DEFAULT_CHARSET); 01357 pauseButton = 01358 XtVaCreateManagedWidget ("button", xmPushButtonWidgetClass, runModeForm, 01359 XmNtopAttachment, XmATTACH_FORM, XmNtopOffset, 01360 10, XmNbottomAttachment, XmATTACH_NONE, 01361 XmNrightAttachment, XmATTACH_NONE, 01362 XmNleftAttachment, XmATTACH_WIDGET, 01363 XmNleftWidget, runButton, XmNleftOffset, 15, 01364 XmNmarginWidth, 15, XmNmarginHeight, 15, 01365 XmNshadowThickness, 4, XmNmappedWhenManaged, 01366 False, XmNlabelString, valueLabel, NULL); 01367 XmStringFree (valueLabel); 01368 01369 XtAddCallback (pauseButton, XmNactivateCallback, 01370 buttonsCB, (XtPointer) PAUSE_RESUME); 01371 01372 valueLabel = 01373 XmStringCreateLtoR ((char *) STEP_STR, XmSTRING_DEFAULT_CHARSET); 01374 stepButton = 01375 XtVaCreateManagedWidget ("button", xmPushButtonWidgetClass, runModeForm, 01376 XmNtopAttachment, XmATTACH_WIDGET, XmNtopWidget, 01377 runButton, XmNtopOffset, 10, XmNbottomAttachment, 01378 XmATTACH_NONE, XmNrightAttachment, XmATTACH_NONE, 01379 XmNleftAttachment, XmATTACH_WIDGET, 01380 XmNleftWidget, runModes, XmNleftOffset, 15, 01381 XmNmarginWidth, 15, XmNmarginHeight, 15, 01382 XmNshadowThickness, 4, XmNmappedWhenManaged, 01383 False, XmNlabelString, valueLabel, NULL); 01384 XmStringFree (valueLabel); 01385 01386 XtAddCallback (stepButton, XmNactivateCallback, 01387 buttonsCB, (XtPointer) STEP); 01388 01389 valueLabel = 01390 XmStringCreateLtoR ((char *) LIMIT_OVERRIDE_STR, 01391 XmSTRING_DEFAULT_CHARSET); 01392 limitOverride = 01393 XtVaCreateManagedWidget ("button", xmPushButtonWidgetClass, runModeForm, 01394 XmNtopAttachment, XmATTACH_FORM, XmNtopOffset, 01395 10, XmNbottomAttachment, XmATTACH_NONE, 01396 XmNrightAttachment, XmATTACH_NONE, 01397 XmNleftAttachment, XmATTACH_WIDGET, 01398 XmNleftWidget, runModes, XmNleftOffset, 15, 01399 XmNmarginWidth, 15, XmNmarginHeight, 15, 01400 XmNshadowThickness, 4, XmNmappedWhenManaged, 01401 False, XmNlabelString, valueLabel, NULL); 01402 XmStringFree (valueLabel); 01403 01404 XtAddCallback (limitOverride, XmNactivateCallback, 01405 buttonsCB, (XtPointer) LIMIT_OVERRIDE); 01406 01407 valueLabel = 01408 XmStringCreateLtoR ((char *) JOG_STR, XmSTRING_DEFAULT_CHARSET); 01409 jogButton = 01410 XtVaCreateManagedWidget ("button", xmPushButtonWidgetClass, runModeForm, 01411 XmNtopAttachment, XmATTACH_FORM, XmNtopOffset, 01412 10, XmNbottomAttachment, XmATTACH_NONE, 01413 XmNrightAttachment, XmATTACH_NONE, 01414 XmNleftAttachment, XmATTACH_WIDGET, 01415 XmNleftWidget, limitOverride, XmNleftOffset, 15, 01416 XmNmarginWidth, 15, XmNmarginHeight, 15, 01417 XmNshadowThickness, 4, XmNmappedWhenManaged, 01418 False, XmNlabelString, valueLabel, NULL); 01419 XmStringFree (valueLabel); 01420 01421 XtAddCallback (jogButton, XmNactivateCallback, 01422 buttonsCB, (XtPointer) JOG_BUTTON); 01423 } |
|
Definition at line 1426 of file XmEmc.cc. Referenced by main().
01427 { 01428 Arg args[16]; // Caution, make sure i doesn't exceed this size 01429 int i = 0; 01430 01431 XtSetArg (args[i], XmNtopAttachment, XmATTACH_WIDGET); 01432 i++; 01433 XtSetArg (args[i], XmNtopWidget, runModes); 01434 i++; 01435 XtSetArg (args[i], XmNtopOffset, 10); 01436 i++; 01437 XtSetArg (args[i], XmNleftAttachment, XmATTACH_FORM); 01438 i++; 01439 XtSetArg (args[i], XmNleftOffset, 5); 01440 i++; 01441 XtSetArg (args[i], XmNrightAttachment, XmATTACH_WIDGET); 01442 i++; 01443 XtSetArg (args[i], XmNrightWidget, buttonform); 01444 i++; 01445 XtSetArg (args[i], XmNrightOffset, 5); 01446 i++; 01447 XtSetArg (args[i], XmNbottomAttachment, XmATTACH_FORM); 01448 i++; 01449 XtSetArg (args[i], XmNbottomOffset, 5); 01450 i++; 01451 XtSetArg (args[i], XmNchildType, XmFRAME_WORKAREA_CHILD); 01452 i++; 01453 XtSetArg (args[i], XmNvisibleItemCount, 6); 01454 i++; 01455 01456 scrolledText = XmCreateScrolledList (workArea, "scrolled_text", args, i); 01457 01458 XtManageChild (scrolledText); 01459 XtVaSetValues (scrolledText, XmNmappedWhenManaged, False, NULL); 01460 01461 } |
|
Definition at line 1495 of file XmEmc.cc. Referenced by buttonsCB().
01496 { 01497 #ifdef DEBUG 01498 cout << endl << "ESTOP PRESSED" << endl << endl; 01499 #endif 01500 } |
|
Definition at line 1785 of file XmEmc.cc. Referenced by buttonsCB().
01786 { 01787 XtVaSetValues (jog_widget, XmNmappedWhenManaged, True, NULL); 01788 #ifdef DEBUG 01789 cout << "Do Home" << endl; 01790 #endif 01791 } |
|
Definition at line 496 of file XmEmc.cc. 00497 { 00498 int which = (int) cd; 00499 00500 switch (which) 00501 { 00502 case ED_EDIT: 00503 if (!editedit) 00504 fileOpenPopup (mw, (void *)EDIT_EDIT_TITLE, (XtPointer) cd); 00505 else 00506 RAISE_WIDGET (editedit); 00507 break; 00508 case ED_TOOLS: 00509 break; 00510 case ED_VARIABLES: 00511 break; 00512 case ED_CALIBRATION_0: 00513 break; 00514 case ED_CALIBRATION_1: 00515 break; 00516 case ED_CALIBRATION_2: 00517 break; 00518 default: 00519 break; 00520 } 00521 } |
|
Definition at line 457 of file XmEmc.cc. 00458 { 00459 int which = (int) cd; 00460 00461 switch (which) 00462 { 00463 case FM_QUIT: 00464 // Avoid multiple popup syndrome 00465 if (!quitmenu) 00466 quitPopup (mw, (void *)QUIT_TITLE, cd); 00467 else 00468 RAISE_WIDGET (quitmenu); 00469 break; 00470 case FM_OPEN: 00471 // Avoid multiple popup syndrome 00472 if (!openfile) 00473 fileOpenPopup (mw, (void *)FILE_OPEN_TITLE, cd); 00474 else 00475 RAISE_WIDGET (openfile); 00476 break; 00477 case FM_NEW: 00478 break; 00479 case FM_SAVE_AS: 00480 // Avoid multiple popup syndrome 00481 if (!savefile) 00482 fileOpenPopup (mw, (void *)FILE_SAVE_TITLE, cd); 00483 else 00484 RAISE_WIDGET (savefile); 00485 break; 00486 case FM_SAVE: 00487 break; 00488 case FM_LOGGING: 00489 break; 00490 default: 00491 break; 00492 } 00493 } |
|
Definition at line 967 of file XmEmc.cc. 00968 { 00969 char *mySelection = NULL; 00970 00971 // DO work here. 00972 switch ((int) cd) 00973 { 00974 case FM_OPEN: 00975 mySelection = 00976 XmTextGetString (XmFileSelectionBoxGetChild 00977 (openfile, XmDIALOG_TEXT)); 00978 #ifdef DEBUG 00979 cout << "Openning " << mySelection << endl; 00980 #endif 00981 (void) XtDestroyWidget (openfile); 00982 openfile = NULL; 00983 break; 00984 case FM_SAVE_AS: 00985 mySelection = 00986 XmTextGetString (XmFileSelectionBoxGetChild 00987 (savefile, XmDIALOG_TEXT)); 00988 #ifdef DEBUG 00989 cout << "Saving as" << mySelection << endl; 00990 #endif 00991 (void) XtDestroyWidget (savefile); 00992 savefile = NULL; 00993 break; 00994 case ED_EDIT: 00995 mySelection = 00996 XmTextGetString (XmFileSelectionBoxGetChild 00997 (editedit, XmDIALOG_TEXT)); 00998 #ifdef DEBUG 00999 cout << "Editing" << mySelection << endl; 01000 #endif 01001 (void) XtDestroyWidget (editedit); 01002 editedit = NULL; 01003 break; 01004 default: 01005 break; 01006 } 01007 01008 if (mySelection) 01009 XtFree (mySelection); 01010 01011 } |
|
Definition at line 865 of file XmEmc.cc. Referenced by editMenuCB(), and fileMenuCB().
00866 { 00867 XmString xm_string = NULL; 00868 XmString open_string = NULL; 00869 XmString dont_open_string = NULL; 00870 XmString filter_string = NULL; 00871 XmString filter_title = NULL; 00872 Arg args[6]; 00873 int i; 00874 00875 00876 xm_string = XmStringCreateSimple ((char *) text); 00877 00878 i = 0; 00879 XtSetArg (args[i], XmNmessageString, xm_string); 00880 i++; 00881 XtSetArg (args[i], XmNtitle, text); 00882 i++; 00883 // The following controls the width of the File Selection Box 00884 filter_title = 00885 XmStringCreateLtoR (FILTER_TITLE_STR, XmFONTLIST_DEFAULT_TAG); 00886 XtSetArg (args[i], XmNfilterLabelString, filter_title); 00887 i++; 00888 // The following is to make all the buttons taller. 00889 filter_string = XmStringCreateLtoR (FILTER_STR, XmFONTLIST_DEFAULT_TAG); 00890 XtSetArg (args[i], XmNapplyLabelString, filter_string); 00891 i++; 00892 00893 switch ((int) cbs) 00894 { 00895 case FM_OPEN: 00896 open_string = XmStringCreateSimple (OPEN_STR); 00897 dont_open_string = 00898 XmStringCreateLtoR (DONT_OPEN_STR, XmFONTLIST_DEFAULT_TAG); 00899 XtSetArg (args[i], XmNokLabelString, open_string); 00900 i++; 00901 XtSetArg (args[i], XmNcancelLabelString, dont_open_string); 00902 i++; 00903 openfile = 00904 XmCreateFileSelectionDialog (push_button, "fileOpen", args, i); 00905 XmStringFree (open_string); 00906 XmStringFree (dont_open_string); 00907 00908 THICKEN_FS_BUTTONS (openfile); 00909 POPUP_FILE_SELECTION_WIDGET (openfile, cbs); 00910 break; 00911 case FM_SAVE_AS: 00912 savefile = 00913 XmCreateFileSelectionDialog (push_button, "fileOpen", args, i); 00914 00915 THICKEN_FS_BUTTONS (savefile); 00916 POPUP_FILE_SELECTION_WIDGET (savefile, cbs); 00917 break; 00918 case ED_EDIT: 00919 editedit = 00920 XmCreateFileSelectionDialog (push_button, "fileOpen", args, i); 00921 00922 THICKEN_FS_BUTTONS (editedit); 00923 POPUP_FILE_SELECTION_WIDGET (editedit, cbs); 00924 break; 00925 } 00926 00927 XmStringFree (filter_string); 00928 XmStringFree (xm_string); 00929 00930 00931 } |
|
Definition at line 1803 of file XmEmc.cc. Referenced by updateAxes().
01804 { 01805 int value = 0; 01806 01807 // TODO: Call emc interface to obtain current value for i-th axis 01808 01809 return value; 01810 } |
|
Definition at line 542 of file XmEmc.cc. 00543 { 00544 int which = (int) cd; 00545 00546 switch (which) 00547 { 00548 case HM_HELP: 00549 break; 00550 case HM_ABOUT: 00551 // Avoid multiple popup syndrome 00552 if (!abouthelp) 00553 aboutPopup (mw, (void *)ABOUT_TEXT, cd); 00554 else 00555 RAISE_WIDGET (abouthelp); 00556 break; 00557 default: 00558 break; 00559 } 00560 } |
|
|
|
Definition at line 18 of file XmEmc.cc. 00019 { 00020 Widget mainwindow = NULL; 00021 Widget menubar = NULL; 00022 Widget pane = NULL; 00023 Widget menu = NULL; 00024 Widget widget = NULL; 00025 00026 XtAppContext app; 00027 00028 XmString str; 00029 00030 int i; 00031 00032 toplevel = XtVaAppInitialize (&app, 00033 "XmEmc", 00034 NULL, 00035 0, &argc, argv, fallbackResources, NULL); 00036 00037 mainwindow = XtVaCreateManagedWidget ("mainwindow", 00038 xmMainWindowWidgetClass, toplevel, 00039 XmNdeleteResponse, XmDESTROY, 00040 XmNtraversalOn, True, NULL); 00041 00042 XtAddCallback (mainwindow, XmNdestroyCallback, 00043 closeMainWindow, (XtPointer) NULL); 00044 00045 menubar = XmCreateMenuBar (mainwindow, "menubar", NULL, 0); 00046 00047 /*********************************/ 00048 /* Create the File pulldown menu */ 00049 /*********************************/ 00050 00051 menu = XmCreatePulldownMenu (menubar, "pulldown", NULL, 0); 00052 00053 for (i = 0; fileMenu[i].label != NULL; i++) 00054 { 00055 widget = XtVaCreateManagedWidget (fileMenu[i].label, 00056 *(fileMenu[i].wClass), 00057 menu, 00058 XmNmarginWidth, 8, 00059 XmNmarginHeight, 8, NULL); 00060 00061 if (fileMenu[i].mnemonic) 00062 XtVaSetValues (widget, XmNmnemonic, fileMenu[i].mnemonic, NULL); 00063 00064 if (fileMenu[i].accelerator) 00065 { 00066 str = XmStringCreateLocalized (fileMenu[i].accel_text); 00067 XtVaSetValues (widget, 00068 XmNaccelerator, fileMenu[i].accelerator, 00069 XmNacceleratorText, str, NULL); 00070 XmStringFree (str); 00071 } 00072 00073 if (fileMenu[i].callback) 00074 { 00075 XtAddCallback (widget, 00076 XmNactivateCallback, 00077 fileMenu[i].callback, fileMenu[i].callback_data); 00078 } 00079 00080 } 00081 00082 str = XmStringCreateLocalized ((char *) FILE_STR); 00083 filemenu = XtVaCreateManagedWidget (FILE_STR, 00084 xmCascadeButtonWidgetClass, menubar, 00085 XmNsubMenuId, menu, 00086 XmNlabelString, str, 00087 XmNmnemonic, FILE_MNEMONIC, NULL); 00088 XmStringFree (str); 00089 00090 /*********************************/ 00091 /* Create the Edit pulldown menu */ 00092 /*********************************/ 00093 00094 menu = XmCreatePulldownMenu (menubar, "_pulldown", NULL, 0); 00095 00096 for (i = 0; editMenu[i].label != NULL; i++) 00097 { 00098 widget = XtVaCreateManagedWidget (editMenu[i].label, 00099 *(editMenu[i].wClass), 00100 menu, 00101 XmNmarginWidth, 8, 00102 XmNmarginHeight, 8, NULL); 00103 00104 if (editMenu[i].mnemonic) 00105 XtVaSetValues (widget, XmNmnemonic, editMenu[i].mnemonic, NULL); 00106 00107 if (editMenu[i].accelerator) 00108 { 00109 str = XmStringCreateLocalized (editMenu[i].accel_text); 00110 XtVaSetValues (widget, 00111 XmNaccelerator, editMenu[i].accelerator, 00112 XmNacceleratorText, str, NULL); 00113 XmStringFree (str); 00114 } 00115 00116 if (editMenu[i].callback) 00117 { 00118 XtAddCallback (widget, 00119 XmNactivateCallback, 00120 editMenu[i].callback, editMenu[i].callback_data); 00121 } 00122 } 00123 00124 00125 str = XmStringCreateLocalized ((char *) EDIT_STR); 00126 editmenu = XtVaCreateManagedWidget (EDIT_STR, 00127 xmCascadeButtonWidgetClass, menubar, 00128 XmNsubMenuId, menu, 00129 XmNlabelString, str, 00130 XmNmnemonic, EDIT_MNEMONIC, NULL); 00131 XmStringFree (str); 00132 00133 00134 /*********************************/ 00135 /* Create the View pulldown menu */ 00136 /*********************************/ 00137 00138 menu = XmCreatePulldownMenu (menubar, "_pulldown", NULL, 0); 00139 00140 for (i = 0; viewMenu[i].label != NULL; i++) 00141 { 00142 widget = XtVaCreateManagedWidget (viewMenu[i].label, 00143 *(viewMenu[i].wClass), 00144 menu, 00145 XmNmarginWidth, 8, 00146 XmNmarginHeight, 8, NULL); 00147 00148 if (viewMenu[i].mnemonic) 00149 XtVaSetValues (widget, XmNmnemonic, viewMenu[i].mnemonic, NULL); 00150 00151 if (viewMenu[i].accelerator) 00152 { 00153 str = XmStringCreateLocalized (viewMenu[i].accel_text); 00154 XtVaSetValues (widget, 00155 XmNaccelerator, viewMenu[i].accelerator, 00156 XmNacceleratorText, str, NULL); 00157 XmStringFree (str); 00158 } 00159 00160 if (viewMenu[i].callback) 00161 { 00162 XtAddCallback (widget, 00163 XmNactivateCallback, 00164 viewMenu[i].callback, viewMenu[i].callback_data); 00165 } 00166 } 00167 00168 00169 str = XmStringCreateLocalized ((char *) VIEW_STR); 00170 viewmenu = XtVaCreateManagedWidget (VIEW_STR, 00171 xmCascadeButtonWidgetClass, menubar, 00172 XmNsubMenuId, menu, 00173 XmNlabelString, str, 00174 XmNmnemonic, VIEW_MNEMONIC, NULL); 00175 XmStringFree (str); 00176 00177 /*********************************/ 00178 /* Create the Help pulldown menu */ 00179 /*********************************/ 00180 00181 menu = XmCreatePulldownMenu (menubar, "_pulldown", NULL, 0); 00182 00183 for (i = 0; helpMenu[i].label != NULL; i++) 00184 { 00185 widget = XtVaCreateManagedWidget (helpMenu[i].label, 00186 *(helpMenu[i].wClass), 00187 menu, 00188 XmNmarginWidth, 8, 00189 XmNmarginHeight, 8, NULL); 00190 00191 if (helpMenu[i].mnemonic) 00192 XtVaSetValues (widget, XmNmnemonic, helpMenu[i].mnemonic, NULL); 00193 00194 if (helpMenu[i].accelerator) 00195 { 00196 str = XmStringCreateLocalized (helpMenu[i].accel_text); 00197 XtVaSetValues (widget, 00198 XmNaccelerator, helpMenu[i].accelerator, 00199 XmNacceleratorText, str, NULL); 00200 XmStringFree (str); 00201 } 00202 00203 if (helpMenu[i].callback) 00204 { 00205 XtAddCallback (widget, 00206 XmNactivateCallback, 00207 helpMenu[i].callback, helpMenu[i].callback_data); 00208 } 00209 } 00210 00211 00212 str = XmStringCreateLocalized ((char *) HELP_STR); 00213 helpmenu = XtVaCreateManagedWidget (HELP_STR, 00214 xmCascadeButtonWidgetClass, menubar, 00215 XmNsubMenuId, menu, 00216 XmNlabelString, str, 00217 XmNmnemonic, HELP_MNEMONIC, NULL); 00218 XmStringFree (str); 00219 00220 XtVaSetValues (menubar, XmNmenuHelpWidget, helpmenu, NULL); 00221 XtManageChild (menubar); 00222 00223 00224 workArea = 00225 XtVaCreateManagedWidget ("workArea", xmFormWidgetClass, mainwindow, 00226 XmNfractionBase, 40, NULL); 00227 00228 pane = XtVaCreateWidget ("pane", 00229 xmPanedWindowWidgetClass, workArea, 00230 XmNsashWidth, 10, 00231 XmNtopAttachment, XmATTACH_FORM, 00232 XmNbottomAttachment, XmATTACH_NONE, 00233 XmNleftAttachment, XmATTACH_NONE, 00234 XmNrightAttachment, XmATTACH_FORM, 00235 XmNsashHeight, 10, XmNtraversalOn, False, NULL); 00236 00237 buttonform = XtVaCreateWidget ("form", 00238 xmFormWidgetClass, pane, 00239 XmNfractionBase, 220, 00240 XmNtraversalOn, False, NULL); 00241 00242 int rc = XpmCreatePixmapFromData (XtDisplay (toplevel), 00243 DefaultRootWindow (XtDisplay (toplevel)), 00244 estop, 00245 &pixmap, 0, 0); 00246 00247 rc += 00248 XpmCreatePixmapFromData (XtDisplay (toplevel), 00249 DefaultRootWindow (XtDisplay (toplevel)), 00250 estop_off, &pixmap_off, 0, 0); 00251 00252 Dimension width, height; 00253 00254 if (rc == XpmSuccess) 00255 { 00256 00257 /* The "estop" button */ 00258 estopbutton = XtVaCreateManagedWidget (ESTOP_STR, 00259 xmPushButtonWidgetClass, 00260 buttonform, XmNtopAttachment, 00261 XmATTACH_FORM, 00262 XmNbottomAttachment, 00263 XmATTACH_NONE, XmNleftAttachment, 00264 XmATTACH_NONE, 00265 XmNrightAttachment, 00266 XmATTACH_FORM, XmNlabelPixmap, 00267 pixmap, XmNlabelType, XmPIXMAP, 00268 XmNshadowThickness, 4, NULL); 00269 XtVaGetValues (estopbutton, XmNwidth, &width, XmNheight, &height, NULL); 00270 } 00271 else 00272 { 00273 width = 78; 00274 height = 81; 00275 estopbutton = XtVaCreateManagedWidget (ESTOP_STR, 00276 xmPushButtonWidgetClass, 00277 buttonform, XmNtopAttachment, 00278 XmATTACH_FORM, 00279 XmNbottomAttachment, 00280 XmATTACH_NONE, XmNleftAttachment, 00281 XmATTACH_NONE, 00282 XmNrightAttachment, 00283 XmATTACH_FORM, 00284 XmNshadowThickness, 4, XmNwidth, 00285 width, XmNheight, height, NULL); 00286 } 00287 00288 XtAddCallback (estopbutton, XmNarmCallback, 00289 buttonsCB, (XtPointer) BT_ESTOP); 00290 00291 00292 // The "Machine" button 00293 machinebutton = XtVaCreateManagedWidget (MACHINE_STR, 00294 xmPushButtonWidgetClass, 00295 buttonform, XmNtopAttachment, 00296 XmATTACH_WIDGET, 00297 XmNbottomAttachment, XmATTACH_NONE, 00298 XmNleftAttachment, XmATTACH_NONE, 00299 XmNrightAttachment, XmATTACH_FORM, 00300 XmNtopWidget, estopbutton, 00301 XmNshadowThickness, 4, 00302 XmNwidth, width, XmNheight, height, 00303 NULL); 00304 00305 XtAddCallback (machinebutton, XmNarmCallback, 00306 buttonsCB, (XtPointer) BT_MACHINE); 00307 00308 // Save the original colors so we can go back to this state. Only need one set for all buttons. 00309 XtVaGetValues (machinebutton, XmNtopShadowColor, &original_tsc, 00310 XmNbottomShadowColor, &original_bsc, 00311 XmNarmColor, &original_ac, 00312 XmNbackground, &original_bg, NULL); 00313 00314 // The "Abort" button 00315 abortbutton = XtVaCreateManagedWidget (ABORT_STR, 00316 xmPushButtonWidgetClass, buttonform, 00317 XmNtopAttachment, XmATTACH_WIDGET, 00318 XmNbottomAttachment, XmATTACH_NONE, 00319 XmNleftAttachment, XmATTACH_NONE, 00320 XmNrightAttachment, XmATTACH_FORM, 00321 XmNtopWidget, machinebutton, 00322 XmNshadowThickness, 4, 00323 XmNwidth, width, XmNheight, height, 00324 XmNmappedWhenManaged, False, NULL); 00325 00326 XtAddCallback (abortbutton, XmNarmCallback, 00327 buttonsCB, (XtPointer) BT_ABORT); 00328 00329 // The "Mist" button 00330 mistbutton = XtVaCreateManagedWidget (MIST_STR, 00331 xmPushButtonWidgetClass, buttonform, 00332 XmNtopAttachment, XmATTACH_WIDGET, 00333 XmNbottomAttachment, XmATTACH_NONE, 00334 XmNleftAttachment, XmATTACH_NONE, 00335 XmNrightAttachment, XmATTACH_FORM, 00336 XmNtopWidget, machinebutton, 00337 XmNsensitive, False, 00338 XmNshadowThickness, 4, 00339 XmNwidth, width, XmNheight, height, 00340 #ifndef XMEMC_MIST 00341 XmNmappedWhenManaged, False, 00342 #endif // XMEMC_MIST 00343 NULL); 00344 00345 XtAddCallback (mistbutton, XmNarmCallback, buttonsCB, (XtPointer) BT_MIST); 00346 00347 // The "Flood" button 00348 floodbutton = XtVaCreateManagedWidget (FLOOD_STR, 00349 xmPushButtonWidgetClass, buttonform, 00350 XmNtopAttachment, XmATTACH_WIDGET, 00351 XmNbottomAttachment, XmATTACH_NONE, 00352 XmNleftAttachment, XmATTACH_NONE, 00353 XmNrightAttachment, XmATTACH_FORM, 00354 XmNtopWidget, mistbutton, 00355 XmNsensitive, False, 00356 XmNshadowThickness, 4, 00357 XmNwidth, width, XmNheight, height, 00358 #ifndef XMEMC_FLOOD 00359 XmNmappedWhenManaged, False, 00360 #endif // XMEMC_FLOOD 00361 NULL); 00362 00363 XtAddCallback (floodbutton, XmNarmCallback, 00364 buttonsCB, (XtPointer) BT_FLOOD); 00365 00366 00367 // The "brake" button 00368 brakebutton = XtVaCreateManagedWidget (BRAKE_STR, 00369 xmPushButtonWidgetClass, buttonform, 00370 XmNtopAttachment, XmATTACH_WIDGET, 00371 XmNbottomAttachment, XmATTACH_NONE, 00372 XmNleftAttachment, XmATTACH_NONE, 00373 XmNrightAttachment, XmATTACH_FORM, 00374 XmNtopWidget, floodbutton, 00375 XmNsensitive, False, 00376 XmNshadowThickness, 4, 00377 XmNwidth, width, XmNheight, height, 00378 #ifndef XMEMC_BRAKE 00379 XmNmappedWhenManaged, False, 00380 #endif // XMEMC_BRAKE 00381 NULL); 00382 00383 XtAddCallback (brakebutton, XmNarmCallback, 00384 buttonsCB, (XtPointer) BT_BRAKE); 00385 00386 // The "reset" button 00387 resetbutton = XtVaCreateManagedWidget (RESET_STR, 00388 xmPushButtonWidgetClass, buttonform, 00389 XmNtopAttachment, XmATTACH_WIDGET, 00390 XmNbottomAttachment, XmATTACH_NONE, 00391 XmNleftAttachment, XmATTACH_NONE, 00392 XmNrightAttachment, XmATTACH_FORM, 00393 XmNtopWidget, floodbutton, 00394 XmNmappedWhenManaged, False, 00395 XmNshadowThickness, 4, 00396 XmNwidth, width, 00397 XmNheight, height, NULL); 00398 00399 pb = (XmPushButtonWidget) resetbutton; 00400 pb->pushbutton.armed = false; 00401 00402 XtAddCallback (resetbutton, XmNarmCallback, 00403 buttonsCB, (XtPointer) BT_RESET); 00404 00405 /* ---------------------------------------------------------------- */ 00406 00407 XtVaSetValues (buttonform, XmNpaneMaximum, 800, XmNpaneMinimum, 200, NULL); 00408 00409 XtManageChild (buttonform); 00410 00411 00412 XtManageChild (pane); 00413 00414 Dimension x0 = 3; 00415 Dimension x1 = 30; 00416 Dimension y1 = 20; // JRM was 5 00417 Dimension y2 = y1 + 5 * EMC_NUM_AXES + 4; 00418 Dimension boxMarginWidth = 5; 00419 Dimension boxMarginHeight = 5; 00420 00421 jog_widget = 00422 JogControl (x0, x1, y1, y2, boxMarginWidth, boxMarginHeight, workArea, 00423 EMC_NUM_AXES); 00424 00425 x0 = 1; 00426 x1 = 22; 00427 y1 = 30; 00428 y2 = 40; 00429 spindle_widget = 00430 SpindleControl (x0, x1, y1, y2, boxMarginWidth, boxMarginHeight, 00431 workArea); 00432 00433 createAxes (); 00434 createPosition (); 00435 createRunModes (); 00436 createScrolledText (); 00437 00438 // Set up in Manual mode 00439 buttonsCB (manualMode, (XtPointer) MANUAL_MODE, (XtPointer) NULL); 00440 00441 // Start off in the ESTOP condition. 00442 buttonsCB (estopbutton, (XtPointer) BT_ESTOP, (XtPointer) NULL); 00443 00444 XtRealizeWidget (toplevel); 00445 00446 XtAppMainLoop (app); 00447 } |
|
Definition at line 1794 of file XmEmc.cc. Referenced by buttonsCB().
01795 { 01796 // TODO: put whatever is needed to be done on emc side to clean up 01797 #ifdef DEBUG 01798 cout << "Process aborted" << endl; 01799 #endif 01800 } |
|
Definition at line 817 of file XmEmc.cc. Referenced by fileMenuCB().
00818 { 00819 XmString xm_string; 00820 XmString quit_string; 00821 XmString dont_quit_string; 00822 Arg args[5]; 00823 00824 xm_string = 00825 XmStringCreateLtoR ((char *) QUIT_QUESTION, XmFONTLIST_DEFAULT_TAG); 00826 XtSetArg (args[0], XmNmessageString, xm_string); 00827 quit_string = XmStringCreateLtoR (QUIT_STR, XmFONTLIST_DEFAULT_TAG); 00828 XtSetArg (args[1], XmNokLabelString, quit_string); 00829 dont_quit_string = 00830 XmStringCreateLtoR (DONT_QUIT_STR, XmFONTLIST_DEFAULT_TAG); 00831 XtSetArg (args[2], XmNcancelLabelString, dont_quit_string); 00832 00833 // Note that Lesstif has overriding default button broken, but Motif works ok. 00834 XtSetArg (args[3], XmNdefaultButtonType, XmDIALOG_CANCEL_BUTTON); 00835 00836 XtSetArg (args[4], XmNtitle, text); 00837 00838 quitmenu = XmCreateQuestionDialog (push_button, "areYouSure", args, 5); 00839 00840 XmStringFree (xm_string); 00841 XmStringFree (quit_string); 00842 XmStringFree (dont_quit_string); 00843 00844 XtUnmanageChild (XmMessageBoxGetChild (quitmenu, XmDIALOG_HELP_BUTTON)); 00845 00846 XtVaSetValues (XmMessageBoxGetChild (quitmenu, XmDIALOG_OK_BUTTON), 00847 XmNshadowThickness, 4, 00848 XmNmarginWidth, 12, XmNmarginHeight, 12, NULL); 00849 00850 XtVaSetValues (XmMessageBoxGetChild (quitmenu, XmDIALOG_CANCEL_BUTTON), 00851 XmNshadowThickness, 4, 00852 XmNmarginWidth, 12, XmNmarginHeight, 12, NULL); 00853 00854 XtAddCallback (quitmenu, (String) XmNokCallback, 00855 (XtCallbackProc) reallyQuit, (XtPointer) cbs); 00856 XtAddCallback (quitmenu, (String) XmNcancelCallback, (XtCallbackProc) canc, 00857 (XtPointer) cbs); 00858 00859 XtManageChild (quitmenu); 00860 00861 XtPopup (XtParent (quitmenu), XtGrabExclusive); 00862 } |
|
Definition at line 934 of file XmEmc.cc. 00935 { 00936 closeMainWindow (dialog, x, y); 00937 } |
|
Definition at line 1464 of file XmEmc.cc. Referenced by run_finished().
01465 { 01466 XmListDeleteAllItems (scrolledText); // FIXME: Demo purposes only, clean out 01467 // FIXME: Instead, select the first line again, ready to start. 01468 HIDE (scrolledText); 01469 } |
|
Definition at line 1623 of file XmEmc.cc. Referenced by buttonsCB().
01624 { 01625 if (!isRunning) 01626 return; 01627 01628 isRunning = False; 01629 01630 XmString valueLabel = NULL; 01631 01632 if (runButton) 01633 { 01634 TOGGLE (runButton); 01635 UNLOCK (runButton); 01636 } 01637 01638 if (runModes) 01639 UNLOCK (runModes); 01640 if (pauseButton) 01641 HIDE (pauseButton); 01642 if (stepButton) 01643 HIDE (stepButton); 01644 if (scrolledText) 01645 restartList (); 01646 01647 valueLabel = 01648 XmStringCreateLtoR ((char *) RUN_STR, XmSTRING_DEFAULT_CHARSET); 01649 XtVaSetValues (runButton, XmNlabelString, valueLabel, NULL); 01650 XmStringFree (valueLabel); 01651 01652 SHOW_AUTO (); 01653 01654 } |
|
Definition at line 1564 of file XmEmc.cc. Referenced by buttonsCB().
01565 { 01566 isCoordRelative = False; 01567 #ifdef DEBUG 01568 cout << "Coordinates Machine" << endl; 01569 #endif 01570 } |
|
Definition at line 1556 of file XmEmc.cc. Referenced by buttonsCB().
01557 { 01558 isCoordRelative = True; 01559 #ifdef DEBUG 01560 cout << "Coordinates Relative" << endl; 01561 #endif 01562 } |
|
Definition at line 1719 of file XmEmc.cc. Referenced by buttonsCB().
01720 { 01721 PRESS (limitOverride); 01722 LOCK (limitOverride); 01723 isLimitOverriden = True; 01724 #ifdef DEBUG 01725 cout << "Set limit override" << endl; 01726 #endif 01727 } |
|
Definition at line 1750 of file XmEmc.cc. Referenced by buttonsCB().
01751 { 01752 runMode = AUTO_MODE; 01753 HIDE_MANUAL (); 01754 HIDE_MDI (); 01755 SHOW_AUTO (); 01756 #ifdef DEBUG 01757 cout << "Mode is Auto" << endl; 01758 #endif 01759 } |
|
Definition at line 1762 of file XmEmc.cc. Referenced by buttonsCB().
|
|
Definition at line 1775 of file XmEmc.cc. Referenced by buttonsCB().
01776 { 01777 runMode = MANUAL_MODE; 01778 SHOW_MANUAL (); 01779 #ifdef DEBUG 01780 cout << "Mode is Manual" << endl; 01781 #endif 01782 } |
|
Definition at line 1572 of file XmEmc.cc. Referenced by buttonsCB().
01573 { 01574 isPosActual = True; 01575 #ifdef DEBUG 01576 cout << "Position Actual" << endl; 01577 #endif 01578 } |
|
Definition at line 1580 of file XmEmc.cc. Referenced by buttonsCB().
01581 { 01582 isPosActual = False; 01583 #ifdef DEBUG 01584 cout << "Position Commanded" << endl; 01585 #endif 01586 } |
|
Definition at line 1743 of file XmEmc.cc. Referenced by buttonsCB().
01744 { 01745 #ifdef DEBUG 01746 cout << "Will popup Jog dialog or push to front if already up" << endl; 01747 #endif 01748 } |
|
Definition at line 1057 of file XmEmc.cc. 01058 { 01059 if (isMachineOn && runModeForm) 01060 { 01061 XtVaSetValues (runModeForm, XmNmappedWhenManaged, True, NULL); 01062 switch (runMode) 01063 { 01064 case MANUAL_MODE: 01065 SHOW_MANUAL (); 01066 break; 01067 case AUTO_MODE: 01068 SHOW_AUTO (); 01069 break; 01070 case MDI_MODE: 01071 SHOW_MDI (); 01072 break; 01073 } 01074 } 01075 else 01076 hideRunMode (); // Just to be sure 01077 } |
|
Definition at line 1511 of file XmEmc.cc. Referenced by buttonsCB().
01512 { 01513 isBrakeOn = false; 01514 #ifdef DEBUG 01515 cout << "Brake Off" << endl; 01516 #endif 01517 } |
|
Definition at line 1503 of file XmEmc.cc. Referenced by buttonsCB(), and call_run().
01504 { 01505 isBrakeOn = true; 01506 #ifdef DEBUG 01507 cout << "Brake On" << endl; 01508 #endif 01509 } |
|
Definition at line 1529 of file XmEmc.cc. Referenced by buttonsCB().
01530 { 01531 isFloodOn = false; 01532 #ifdef DEBUG 01533 cout << "Flood Off" << endl; 01534 #endif 01535 } |
|
Definition at line 1520 of file XmEmc.cc. Referenced by buttonsCB().
01521 { 01522 isFloodOn = true; 01523 #ifdef DEBUG 01524 cout << "Flood On" << endl; 01525 #endif 01526 } |
|
Definition at line 1486 of file XmEmc.cc. Referenced by buttonsCB().
01487 { 01488 isMachineOn = false; 01489 #ifdef DEBUG 01490 cout << "Machine Off" << endl; 01491 #endif 01492 } |
|
Definition at line 1478 of file XmEmc.cc. Referenced by buttonsCB().
01479 { 01480 isMachineOn = true; 01481 #ifdef DEBUG 01482 cout << "Machine On" << endl; 01483 #endif 01484 } |
|
Definition at line 1547 of file XmEmc.cc. Referenced by buttonsCB().
01548 { 01549 isMistOn = false; 01550 #ifdef DEBUG 01551 cout << "Mist Off" << endl; 01552 #endif 01553 } |
|
Definition at line 1538 of file XmEmc.cc. Referenced by buttonsCB().
01539 { 01540 isMistOn = true; 01541 #ifdef DEBUG 01542 cout << "Mist On" << endl; 01543 #endif 01544 } |
|
Definition at line 1730 of file XmEmc.cc. Referenced by buttonsCB().
01731 { 01732 if (!isLimitOverriden) 01733 return; 01734 UNPRESS (limitOverride); 01735 UNLOCK (limitOverride); 01736 isLimitOverriden = False; 01737 #ifdef DEBUG 01738 cout << "Unset limit override" << endl; 01739 #endif 01740 } |
|
Definition at line 1046 of file XmEmc.cc. 01047 { 01048 int i = 0; 01049 for (i = 1; i < EMC_NUM_AXES; i++) 01050 { 01051 axisPos[i] = getAxisValue (i); 01052 if (axisWidget[i]) // Just being cautious 01053 LABEL_AXIS_UPDATE (axisWidget[i], axisStr[i], axisPos[i]); 01054 } 01055 } |
|
Definition at line 524 of file XmEmc.cc. 00525 { 00526 int which = (int) cd; 00527 00528 switch (which) 00529 { 00530 case VW_DIAGS_0: 00531 break; 00532 case VW_DIAGS_1: 00533 break; 00534 case VW_DIAGS_2: 00535 break; 00536 default: 00537 break; 00538 } 00539 } |