00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifdef G4VIS_BUILD_OPENGLXM_DRIVER
00032
00033 #include "G4OpenGLXmVWidgetComponent.hh"
00034 #include "G4OpenGLXmVWidgetContainer.hh"
00035 #include "G4OpenGLXmFourArrowButtons.hh"
00036 #include <X11/Intrinsic.h>
00037 #include <Xm/Form.h>
00038 #include <Xm/ArrowBG.h>
00039
00040 #include "globals.hh"
00041
00042 G4OpenGLXmFourArrowButtons::G4OpenGLXmFourArrowButtons (XtCallbackRec** c)
00043 {
00044 callback = c;
00045 }
00046
00047 G4OpenGLXmFourArrowButtons::~G4OpenGLXmFourArrowButtons ()
00048 {}
00049
00050 void G4OpenGLXmFourArrowButtons::AddYourselfTo (G4OpenGLXmVWidgetContainer* container)
00051 {
00052
00053 pView = container->GetView ();
00054 ProcesspView ();
00055
00056 parent = container->GetPointerToWidget ();
00057
00058 arrow_form = XtVaCreateManagedWidget
00059 ("arrow_form",
00060 xmFormWidgetClass,
00061 *parent,
00062 XmNfractionBase, 3,
00063
00064 XtNvisual, visual,
00065 XtNdepth, depth,
00066 XtNcolormap, cmap,
00067 XtNborderColor, borcol,
00068 XtNbackground, bgnd,
00069
00070 NULL);
00071
00072
00074 arrow = XtVaCreateManagedWidget
00075 ("up_arrow",
00076 xmArrowButtonGadgetClass,
00077 arrow_form,
00078
00079 XmNtopAttachment, XmATTACH_POSITION,
00080 XmNtopPosition, 0,
00081
00082 XmNbottomAttachment, XmATTACH_POSITION,
00083 XmNbottomPosition, 1,
00084
00085 XmNleftAttachment, XmATTACH_POSITION,
00086 XmNleftPosition, 1,
00087
00088 XmNrightAttachment, XmATTACH_POSITION,
00089 XmNrightPosition, 2,
00090
00091 XmNarrowDirection, XmARROW_UP,
00092 XmNuserData, True,
00093 NULL);
00094
00095 XtAddCallbacks (arrow,
00096 XmNactivateCallback,
00097 callback[0]);
00098
00099 XtAddCallbacks (arrow,
00100 XmNarmCallback,
00101 callback[0]);
00102
00103 XtAddCallbacks (arrow,
00104 XmNdisarmCallback,
00105 callback[0]);
00106
00108 arrow = XtVaCreateManagedWidget
00109 ("down_arrow",
00110 xmArrowButtonGadgetClass,
00111 arrow_form,
00112
00113 XmNtopAttachment, XmATTACH_POSITION,
00114 XmNtopPosition, 2,
00115
00116 XmNbottomAttachment, XmATTACH_POSITION,
00117 XmNbottomPosition, 3,
00118
00119 XmNleftAttachment, XmATTACH_POSITION,
00120 XmNleftPosition, 1,
00121
00122 XmNrightAttachment, XmATTACH_POSITION,
00123 XmNrightPosition, 2,
00124
00125 XmNarrowDirection, XmARROW_DOWN,
00126 XmNuserData, False,
00127 NULL);
00128
00129 XtAddCallbacks (arrow,
00130 XmNactivateCallback,
00131 callback[1]);
00132
00133 XtAddCallbacks (arrow,
00134 XmNarmCallback,
00135 callback[1]);
00136
00137 XtAddCallbacks (arrow,
00138 XmNdisarmCallback,
00139 callback[1]);
00140
00142 arrow = XtVaCreateManagedWidget
00143 ("left_arrow",
00144 xmArrowButtonGadgetClass,
00145 arrow_form,
00146
00147 XmNtopAttachment, XmATTACH_POSITION,
00148 XmNtopPosition, 1,
00149
00150 XmNbottomAttachment, XmATTACH_POSITION,
00151 XmNbottomPosition, 2,
00152
00153 XmNleftAttachment, XmATTACH_POSITION,
00154 XmNleftPosition, 0,
00155
00156 XmNrightAttachment, XmATTACH_POSITION,
00157 XmNrightPosition, 1,
00158
00159 XmNarrowDirection, XmARROW_LEFT,
00160 XmNuserData, False,
00161 NULL);
00162
00163 XtAddCallbacks (arrow,
00164 XmNactivateCallback,
00165 callback[2]);
00166
00167 XtAddCallbacks (arrow,
00168 XmNarmCallback,
00169 callback[2]);
00170
00171 XtAddCallbacks (arrow,
00172 XmNdisarmCallback,
00173 callback[2]);
00174
00176 arrow = XtVaCreateManagedWidget
00177 ("right_arrow",
00178 xmArrowButtonGadgetClass,
00179 arrow_form,
00180
00181 XmNtopAttachment, XmATTACH_POSITION,
00182 XmNtopPosition, 1,
00183
00184 XmNbottomAttachment, XmATTACH_POSITION,
00185 XmNbottomPosition, 2,
00186
00187 XmNleftAttachment, XmATTACH_POSITION,
00188 XmNleftPosition, 2,
00189
00190 XmNrightAttachment, XmATTACH_POSITION,
00191 XmNrightPosition, 3,
00192
00193 XmNarrowDirection, XmARROW_RIGHT,
00194 XmNuserData, True,
00195 NULL);
00196
00197 XtAddCallbacks (arrow,
00198 XmNactivateCallback,
00199 callback[3]);
00200
00201 XtAddCallbacks (arrow,
00202 XmNarmCallback,
00203 callback[3]);
00204
00205 XtAddCallbacks (arrow,
00206 XmNdisarmCallback,
00207 callback[3]);
00208
00209 }
00210
00211 Widget* G4OpenGLXmFourArrowButtons::GetPointerToParent ()
00212 {
00213 return parent;
00214 }
00215
00216 Widget* G4OpenGLXmFourArrowButtons::GetPointerToWidget ()
00217 {
00218 return &arrow_form;
00219 }
00220
00221 #endif