#include "Jog.hh"Include dependency graph for Jog.cc:

Go to the source code of this file.
Defines | |
| #define | JOG |
Functions | |
| Widget | JogControl (Dimension x0, Dimension x1, Dimension y1, Dimension y2, Dimension boxMarginWidth, Dimension boxMarginHeight, Widget parent, int numAxes) |
| void | jogDone (void) |
| void | buttonCB (Widget mw, XtPointer cd, XtPointer cb) |
| void | unbuttonCB (Widget mw, XtPointer cd, XtPointer cb) |
| int | whichAxis (Widget w, int type) |
| void | do_jog (int theAxis, int type) |
| void | stop_jog (int theAxis, int type) |
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
Definition at line 6 of file Jog.cc. 00009 {
00010 arrowFrame =
00011 XtVaCreateManagedWidget ("arrowFrame", xmFrameWidgetClass, parent,
00012 XmNfractionBase, 22,
00013 XmNleftPosition, x0,
00014 XmNrightPosition, x1,
00015 XmNtopPosition, y1,
00016 XmNbottomPosition, y2,
00017 XmNmarginWidth, boxMarginWidth,
00018 XmNmarginHeight, boxMarginHeight,
00019 XmNtopAttachment, XmATTACH_POSITION,
00020 XmNbottomAttachment, XmATTACH_POSITION,
00021 XmNleftAttachment, XmATTACH_POSITION,
00022 XmNrightAttachment, XmATTACH_POSITION,
00023 XmNmarginWidth, 5,
00024 XmNmarginHeight, 5,
00025 XmNmappedWhenManaged, False,
00026 XmNtraversalOn, False, NULL);
00027
00028 arrowForm =
00029 XtVaCreateManagedWidget ("arrowForm", xmFormWidgetClass, arrowFrame,
00030 XmNmarginWidth, 5, XmNmarginHeight, 5, NULL);
00031
00032 CREATE_PIXMAP (r_arrow, r_pixmap);
00033 CREATE_PIXMAP (r_arrow_in, r_pixmap_in);
00034 CREATE_PIXMAP (l_arrow, l_pixmap);
00035 CREATE_PIXMAP (l_arrow_in, l_pixmap_in);
00036 CREATE_PIXMAP (right_arrows, rr_pixmap);
00037 CREATE_PIXMAP (right_arrows_in, rr_pixmap_in);
00038 CREATE_PIXMAP (left_arrows, ll_pixmap);
00039 CREATE_PIXMAP (left_arrows_in, ll_pixmap_in);
00040
00041 int i = 0;
00042
00043 JOG_AXIS (arrowB1[i], XmATTACH_FORM, XmATTACH_FORM, NULL, ll_pixmap,
00044 ARROW_LEFT_FAST);
00045 JOG_AXIS (arrowB2[i], XmATTACH_FORM, XmATTACH_WIDGET, arrowB1[i], l_pixmap,
00046 ARROW_LEFT);
00047
00048 LABEL_AXIS (i, XmATTACH_FORM);
00049
00050 JOG_AXIS (arrowB3[i], XmATTACH_FORM, XmATTACH_WIDGET, label[i], r_pixmap,
00051 ARROW_RIGHT);
00052 JOG_AXIS (arrowB4[i], XmATTACH_FORM, XmATTACH_WIDGET, arrowB3[i], rr_pixmap,
00053 ARROW_RIGHT_FAST);
00054
00055
00056 for (i = 1; i < numAxes; i++)
00057 {
00058 SEPARATOR ();
00059
00060 JOG_AXIS (arrowB1[i], XmATTACH_WIDGET, XmATTACH_FORM, NULL, ll_pixmap,
00061 ARROW_LEFT_FAST);
00062 JOG_AXIS (arrowB2[i], XmATTACH_WIDGET, XmATTACH_WIDGET, arrowB1[i],
00063 l_pixmap, ARROW_LEFT);
00064
00065 LABEL_AXIS (i, XmATTACH_WIDGET);
00066
00067 JOG_AXIS (arrowB3[i], XmATTACH_WIDGET, XmATTACH_WIDGET, label[i],
00068 r_pixmap, ARROW_RIGHT);
00069 JOG_AXIS (arrowB4[i], XmATTACH_WIDGET, XmATTACH_WIDGET, arrowB3[i],
00070 rr_pixmap, ARROW_RIGHT_FAST);
00071
00072 }
00073
00074 SEPARATOR ();
00075
00076 XmString JogLabel =
00077 XmStringCreateLtoR ((char *) JOG_LABEL_STR, XmSTRING_DEFAULT_CHARSET);
00078
00079 jogLabel =
00080 XtVaCreateManagedWidget ("label", xmLabelWidgetClass, arrowForm,
00081 XmNtopAttachment, XmATTACH_WIDGET,
00082 XmNtopWidget, separator,
00083 XmNtopOffset, 5,
00084 XmNbottomAttachment, XmATTACH_FORM,
00085 XmNbottomOffset, 10,
00086 XmNleftAttachment, XmATTACH_FORM,
00087 XmNleftOffset, 5,
00088 XmNrightAttachment, XmATTACH_NONE,
00089 XmNlabelString, JogLabel, NULL);
00090
00091 XmStringFree (JogLabel);
00092
00093 doneB =
00094 XtVaCreateManagedWidget (DONE_STR, xmPushButtonWidgetClass, arrowForm,
00095 XmNtopAttachment, XmATTACH_WIDGET,
00096 XmNtopWidget, separator,
00097 XmNtopOffset, 5,
00098 XmNbottomAttachment, XmATTACH_NONE,
00099 XmNleftAttachment, XmATTACH_NONE,
00100 XmNrightAttachment, XmATTACH_FORM,
00101 XmNmarginWidth, 15,
00102 XmNmarginHeight, 15,
00103 XmNshadowThickness, 4, NULL);
00104
00105 XtAddCallback (doneB, XmNarmCallback, buttonCB, (XtPointer) DONE);
00106
00107 return arrowFrame;
00108 }
|
|
||||||||||||||||
|
Definition at line 119 of file Jog.cc. 00120 {
00121 int theAxis = -1;
00122 switch ((int) cd)
00123 {
00124 case DONE:
00125 XtVaSetValues (arrowFrame, XmNmappedWhenManaged, False, NULL);
00126 XmPushButtonWidget pb;
00127 pb = (XmPushButtonWidget) mw;
00128 pb->pushbutton.armed = false;
00129 showRunMode ();
00130 return;
00131 case ARROW_LEFT_FAST:
00132 XtVaSetValues (mw, XmNarmPixmap, ll_pixmap_in, NULL);
00133 theAxis = whichAxis (mw, (int) cd);
00134 break;
00135 case ARROW_LEFT:
00136 XtVaSetValues (mw, XmNarmPixmap, l_pixmap_in, NULL);
00137 theAxis = whichAxis (mw, (int) cd);
00138 break;
00139 case ARROW_RIGHT:
00140 XtVaSetValues (mw, XmNarmPixmap, r_pixmap_in, NULL);
00141 theAxis = whichAxis (mw, (int) cd);
00142 break;
00143 case ARROW_RIGHT_FAST:
00144 XtVaSetValues (mw, XmNarmPixmap, rr_pixmap_in, NULL);
00145 theAxis = whichAxis (mw, (int) cd);
00146 break;
00147 default:
00148 return;
00149 }
00150
00151 do_jog (theAxis, (int) cd);
00152
00153 }
|
|
||||||||||||
|
Definition at line 249 of file Jog.cc. Referenced by buttonCB().
00250 {
00251
00252 // TODO: call the emc jog interface code here
00253
00254 #ifdef DEBUG
00255 char *whichWay[4] = { "Left fast", "Left", "Right", "Right fast" };
00256 cout << "Start " << whichWay[type] << " for axis: " << theAxis << endl;
00257 #endif
00258 }
|
|
|
Definition at line 112 of file Jog.cc. Referenced by buttonsCB().
|
|
||||||||||||
|
Definition at line 261 of file Jog.cc. Referenced by unbuttonCB().
00262 {
00263
00264 // TODO: call the emc jog interface code here
00265
00266 #ifdef DEBUG
00267 char *whichWay[4] = { "Left fast", "Left", "Right", "Right fast" };
00268 cout << "Stop " << whichWay[type] << " for axis: " << theAxis << endl;
00269 #endif
00270 }
|
|
||||||||||||||||
|
Definition at line 156 of file Jog.cc. 00157 {
00158 int theAxis = -1;
00159 switch ((int) cd)
00160 {
00161 case DONE:
00162 return;
00163 case ARROW_LEFT_FAST:
00164 case ARROW_LEFT:
00165 case ARROW_RIGHT:
00166 case ARROW_RIGHT_FAST:
00167 theAxis = whichAxis (mw, (int) cd);
00168 break;
00169 default:
00170 return;
00171 }
00172
00173 stop_jog (theAxis, (int) cd);
00174
00175 }
|
|
||||||||||||
|
Definition at line 178 of file Jog.cc. Referenced by buttonCB(), and unbuttonCB().
00179 {
00180 switch (type)
00181 {
00182 case ARROW_LEFT_FAST:
00183 if (w == arrowB1[0])
00184 return 0;
00185 if (w == arrowB1[1])
00186 return 1;
00187 if (w == arrowB1[2])
00188 return 2;
00189 if (w == arrowB1[3])
00190 return 3;
00191 if (w == arrowB1[4])
00192 return 4;
00193 if (w == arrowB1[5])
00194 return 5;
00195 break;
00196
00197 case ARROW_LEFT:
00198 if (w == arrowB2[0])
00199 return 0;
00200 if (w == arrowB2[1])
00201 return 1;
00202 if (w == arrowB2[2])
00203 return 2;
00204 if (w == arrowB2[3])
00205 return 3;
00206 if (w == arrowB2[4])
00207 return 4;
00208 if (w == arrowB2[5])
00209 return 5;
00210 break;
00211
00212 case ARROW_RIGHT:
00213 if (w == arrowB3[0])
00214 return 0;
00215 if (w == arrowB3[1])
00216 return 1;
00217 if (w == arrowB3[2])
00218 return 2;
00219 if (w == arrowB3[3])
00220 return 3;
00221 if (w == arrowB3[4])
00222 return 4;
00223 if (w == arrowB3[5])
00224 return 5;
00225 break;
00226
00227 case ARROW_RIGHT_FAST:
00228 if (w == arrowB4[0])
00229 return 0;
00230 if (w == arrowB4[1])
00231 return 1;
00232 if (w == arrowB4[2])
00233 return 2;
00234 if (w == arrowB4[3])
00235 return 3;
00236 if (w == arrowB4[4])
00237 return 4;
00238 if (w == arrowB4[5])
00239 return 5;
00240 break;
00241
00242 default:
00243 return -1;
00244 }
00245 return -1;
00246 }
|
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001