FX::FXRealSpinDialDial Class Reference

Inheritance diagram for FX::FXRealSpinDialDial:

FXDial

Detailed Description

Definition at line 89 of file FXRealSpinDial.cpp.


Public Types

enum  { ID_AUTOSPIN = FXDial::ID_LAST, ID_LAST }

Public Member Functions

 FXRealSpinDialDial (FXComposite *p, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=DIAL_NORMAL, FXint x=0, FXint y=0, FXint w=0, FXint h=0, FXint pl=DEFAULT_PAD, FXint pr=DEFAULT_PAD, FXint pt=DEFAULT_PAD, FXint pb=DEFAULT_PAD)
 Construct a dial widget.
long onAuto (FXObject *, FXSelector, void *)
long onButtonPress (FXObject *, FXSelector, void *)
long onButtonRelease (FXObject *, FXSelector, void *)
long onKey (FXObject *, FXSelector, void *)
long onMotion (FXObject *, FXSelector, void *)
long onRightButtonPress (FXObject *, FXSelector, void *)
long onRightButtonRelease (FXObject *, FXSelector, void *)

Protected Member Functions

 FXRealSpinDialDial ()

Private Member Functions

 FXRealSpinDialDial (const FXRealSpinDialDial &)
FXRealSpinDialDialoperator= (const FXRealSpinDialDial &)

Member Enumeration Documentation

anonymous enum

Enumerator:
ID_AUTOSPIN 
ID_LAST 

Definition at line 105 of file FXRealSpinDial.cpp.

00105          {
00106         ID_AUTOSPIN=FXDial::ID_LAST,
00107         ID_LAST
00108     };


Constructor & Destructor Documentation

FX::FXRealSpinDialDial::FXRealSpinDialDial (  )  [inline, protected]

Definition at line 92 of file FXRealSpinDial.cpp.

00092 {}

FX::FXRealSpinDialDial::FXRealSpinDialDial ( const FXRealSpinDialDial  )  [private]

FX::FXRealSpinDialDial::FXRealSpinDialDial ( FXComposite *  p,
FXObject tgt = NULL,
FXSelector  sel = 0,
FXuint  opts = DIAL_NORMAL,
FXint  x = 0,
FXint  y = 0,
FXint  w = 0,
FXint  h = 0,
FXint  pl = DEFAULT_PAD,
FXint  pr = DEFAULT_PAD,
FXint  pt = DEFAULT_PAD,
FXint  pb = DEFAULT_PAD 
) [inline]

Construct a dial widget.

Definition at line 112 of file FXRealSpinDial.cpp.

00114                                                                                                            :
00115             FXDial(p,tgt,sel,opts,x,y,w,h,pl,pr,pt,pb) {}


Member Function Documentation

long FX::FXRealSpinDialDial::onAuto ( FXObject o,
FXSelector  s,
void *  p 
)

Definition at line 178 of file FXRealSpinDial.cpp.

References ID_AUTOSPIN.

00178                                                               {
00179     getApp()->addTimeout(this,ID_AUTOSPIN,getApp()->getScrollSpeed());
00180     setValue(getValue()+int((dragpoint-dragpos)/float(5)));
00181     int v = getValue();
00182     if (target) target->handle(this,FXSEL(SEL_CHANGED,message),&v);
00183     return 1;
00184 }

long FX::FXRealSpinDialDial::onButtonPress ( FXObject o,
FXSelector  s,
void *  p 
)

Definition at line 146 of file FXRealSpinDial.cpp.

00146                                                                      {
00147     grabKeyboard();
00148     return FXDial::onLeftBtnPress(o,s,p);
00149 }

long FX::FXRealSpinDialDial::onButtonRelease ( FXObject o,
FXSelector  s,
void *  p 
)

Definition at line 150 of file FXRealSpinDial.cpp.

00150                                                                        {
00151     ungrabKeyboard();
00152     return FXDial::onLeftBtnRelease(o,s,p);
00153 }

long FX::FXRealSpinDialDial::onKey ( FXObject ,
FXSelector  ,
void *   
)

long FX::FXRealSpinDialDial::onMotion ( FXObject o,
FXSelector  s,
void *  p 
)

Definition at line 186 of file FXRealSpinDial.cpp.

00186                                                                 {
00187     if (!isEnabled()) return 0;
00188     if (target && target->handle(this,FXSEL(SEL_MOTION,message),p)) return 1;
00189 
00190     FXbool bJump=FALSE;
00191     FXEvent *e = (FXEvent*)p;
00192     if (!(flags&FLAG_PRESSED)) { // not doing clickdrag
00193         dragpos = e->win_y;
00194     }
00195     FXWindow *rootWin= getApp()->getRootWindow();
00196     FXint x = e->root_x, y = e->root_y;
00197     if (e->root_x >= rootWin->getWidth()-1)  {
00198         x-=40;
00199         dragpoint-=40;
00200         bJump=TRUE;
00201     } else if (e->root_x <= 10)                {
00202         x+=40;
00203         dragpoint+=40;
00204         bJump=TRUE;
00205     }
00206     if (e->root_y >= rootWin->getHeight()-1) {
00207         y-=40;
00208         dragpoint-=40;
00209         bJump=TRUE;
00210     } else if (e->root_y <= 10)                {
00211         y+=40;
00212         dragpoint+=40;
00213         bJump=TRUE;
00214     }
00215     if (bJump) {
00216         rootWin->setCursorPosition(x,y);
00217         return 1;
00218     } else
00219         return FXDial::onMotion(o,s,p);
00220 }

long FX::FXRealSpinDialDial::onRightButtonPress ( FXObject o,
FXSelector  s,
void *  p 
)

Definition at line 154 of file FXRealSpinDial.cpp.

References ID_AUTOSPIN.

00154                                                                           {
00155     if (isEnabled()) {
00156         grab();
00157         grabKeyboard();
00158         //if(target && target->handle(this,FXSEL(SEL_RIGHTBUTTONPRESS,message),ptr)) return 1;
00159         FXEvent *event = (FXEvent*)p;
00160         if (options&DIAL_HORIZONTAL)
00161             dragpoint=event->win_x;
00162         else
00163             dragpoint=event->win_y;
00164         getApp()->addTimeout(this,ID_AUTOSPIN,getApp()->getScrollSpeed());
00165     }
00166     return 1;
00167 }

long FX::FXRealSpinDialDial::onRightButtonRelease ( FXObject o,
FXSelector  s,
void *  p 
)

Definition at line 168 of file FXRealSpinDial.cpp.

References ID_AUTOSPIN.

00168                                                                             {
00169     ungrab();
00170     ungrabKeyboard();
00171     getApp()->removeTimeout(this,ID_AUTOSPIN);
00172     if (isEnabled()) {
00173         //if(target && target->handle(this,FXSEL(SEL_RIGHTBUTTONRELEASE,message),p)) return 1;
00174     }
00175     return 1;
00176 
00177 }

FXRealSpinDialDial& FX::FXRealSpinDialDial::operator= ( const FXRealSpinDialDial  )  [private]


The documentation for this class was generated from the following file:

Generated on Wed May 5 00:07:01 2010 for Sumo - Simulation of Urban MObility by  doxygen 1.5.6