Project stdui: "Simple Type Dialog User-Interface"

|
Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

stdui::cmouseevent Class Reference

#include <cevent.h>

Inheritance diagram for stdui::cmouseevent:

Inheritance graph
[legend]
Collaboration diagram for stdui::cmouseevent:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 cmouseevent ()
 cmouseevent (MEVENT mev)
int y ()
int x ()
const cxy & position () const
const cxy & local () const
bool isleft ()
bool ismiddle ()
bool isright ()

Public Attributes

int left:1
int middle: 1
int right: 1

Private Member Functions

virtual void _translate ()
bool identify_event ()

Private Attributes

MEVENT _data
long mleft
long mright
long mmiddle
cxy pos
cxy localpos
cxy _oldpos

Constructor & Destructor Documentation

stdui::cmouseevent::cmouseevent  )  [inline]
 

Definition at line 288 of file cevent.h.

00288 : cevent(event_type::mouseevent, 0){}

stdui::cmouseevent::cmouseevent MEVENT  mev  )  [inline]
 

Definition at line 289 of file cevent.h.

References _data, and _translate().

00289 : cevent(event_type::mouseevent, 0 ), _data(mev){ _translate(); }

Here is the call graph for this function:


Member Function Documentation

void stdui::cmouseevent::_translate  )  [private, virtual]
 

Todo:
implement me

Reimplemented from stdui::cevent.

Definition at line 58 of file cevent.cpp.

References _data, identify_event(), and pos.

Referenced by cmouseevent().

00059 {
00060   // _debug(0) << " " << endl;
00061    pos = cxy(_data.x, _data.y);
00062    identify_event();
00063 }

Here is the call graph for this function:

bool stdui::cmouseevent::identify_event  )  [private]
 

Definition at line 68 of file cevent.cpp.

References _data, _oldpos, left, middle, mleft, mmiddle, pos, right, and stdui::cevent::setevent().

Referenced by _translate().

00069 {
00070    // reset buttons bit:
00071    int bs = _data.bstate;
00072    right = mleft = mmiddle = 0;
00073    if( ( bs &  BUTTON1_RELEASED ) ||
00074        ( bs &  BUTTON1_PRESSED  ) ||
00075        ( bs &  BUTTON1_CLICKED  ) ||
00076        ( bs &  BUTTON1_DOUBLE_CLICKED) ||
00077        ( bs &  BUTTON1_TRIPLE_CLICKED)) left = 1;
00078    else
00079    if( ( bs &  BUTTON2_RELEASED ) ||
00080        ( bs &  BUTTON2_PRESSED  ) ||
00081        ( bs &  BUTTON2_CLICKED  ) ||
00082        ( bs &  BUTTON2_DOUBLE_CLICKED) ||
00083        ( bs &  BUTTON2_TRIPLE_CLICKED)) middle = 1;
00084    else
00085    if( ( bs &  BUTTON3_RELEASED ) ||
00086        ( bs &  BUTTON3_PRESSED  ) ||
00087        ( bs &  BUTTON3_CLICKED  ) ||
00088        ( bs &  BUTTON3_DOUBLE_CLICKED) ||
00089        ( bs &  BUTTON3_TRIPLE_CLICKED)) right = 1;
00090 
00091    if( left ) {
00092       if( _data.bstate & BUTTON1_RELEASED ) setevent( events::mousebuttonrelease );
00093       else
00094       if( _data.bstate & BUTTON1_PRESSED ) setevent( events::mousebuttonpress );
00095       else
00096       if( _data.bstate & BUTTON1_CLICKED ) setevent( events::mousebuttonclick );
00097       else
00098       if( _data.bstate & BUTTON1_DOUBLE_CLICKED ) setevent( events::mousebuttondblclick );
00099       else
00100       if( _data.bstate & BUTTON1_TRIPLE_CLICKED ) setevent( events::mousebuttondblclick );
00101    }
00102    else
00103    if( middle ) {
00104       if( _data.bstate & BUTTON2_RELEASED ) setevent( events::mousebuttonrelease );
00105       else
00106       if( _data.bstate & BUTTON2_PRESSED ) setevent( events::mousebuttonpress );
00107       else
00108       if( _data.bstate & BUTTON2_CLICKED ) setevent( events::mousebuttonclick );
00109       else
00110       if( _data.bstate & BUTTON2_DOUBLE_CLICKED ) setevent( events::mousebuttondblclick );
00111       else
00112       if( _data.bstate & BUTTON2_TRIPLE_CLICKED ) setevent( events::mousebuttondblclick );
00113    }
00114    else
00115    if( right ) {
00116       if( _data.bstate & BUTTON3_RELEASED ) setevent( events::mousebuttonrelease );
00117       else
00118       if( _data.bstate & BUTTON3_PRESSED ) setevent( events::mousebuttonpress );
00119       else
00120       if( _data.bstate & BUTTON3_CLICKED ) setevent( events::mousebuttonclick );
00121       else
00122       if( _data.bstate & BUTTON3_DOUBLE_CLICKED ) setevent( events::mousebuttondblclick );
00123       else
00124       if( _data.bstate & BUTTON3_TRIPLE_CLICKED ) setevent( events::mousebuttondblclick );
00125    }
00126    else
00127    if( _oldpos != pos ){
00128       setevent( events::mousemove );
00129    }
00130    return true;
00131 }

Here is the call graph for this function:

bool stdui::cmouseevent::isleft  ) 
 

Definition at line 149 of file cevent.cpp.

References left.

00150 {
00151     return left != 0;
00152 }

bool stdui::cmouseevent::ismiddle  ) 
 

Definition at line 158 of file cevent.cpp.

References middle.

00159 {
00160     return middle != 0;
00161 }

bool stdui::cmouseevent::isright  ) 
 

Definition at line 167 of file cevent.cpp.

References right.

00168 {
00169     return right !=0;
00170 }

const cxy& stdui::cmouseevent::local  )  const [inline]
 

Definition at line 307 of file cevent.h.

References localpos.

00307 { return localpos; }

const cxy& stdui::cmouseevent::position  )  const [inline]
 

Definition at line 306 of file cevent.h.

References pos.

00306 { return pos; }

int stdui::cmouseevent::x  )  [inline]
 

Definition at line 302 of file cevent.h.

References pos.

00303     {
00304         return pos.x();
00305     }

int stdui::cmouseevent::y  )  [inline]
 

Definition at line 294 of file cevent.h.

References pos.

00295     {
00296         return pos.y();
00297     }


Member Data Documentation

MEVENT stdui::cmouseevent::_data [private]
 

Definition at line 318 of file cevent.h.

Referenced by _translate(), cmouseevent(), and identify_event().

cxy stdui::cmouseevent::_oldpos [private]
 

Definition at line 322 of file cevent.h.

Referenced by identify_event().

int stdui::cmouseevent::left
 

Definition at line 310 of file cevent.h.

Referenced by identify_event(), and isleft().

cxy stdui::cmouseevent::localpos [private]
 

Definition at line 321 of file cevent.h.

Referenced by local().

int stdui::cmouseevent::middle
 

Definition at line 311 of file cevent.h.

Referenced by identify_event(), and ismiddle().

long stdui::cmouseevent::mleft [private]
 

Definition at line 319 of file cevent.h.

Referenced by identify_event().

long stdui::cmouseevent::mmiddle [private]
 

Definition at line 319 of file cevent.h.

Referenced by identify_event().

long stdui::cmouseevent::mright [private]
 

Definition at line 319 of file cevent.h.

cxy stdui::cmouseevent::pos [private]
 

Definition at line 320 of file cevent.h.

Referenced by _translate(), identify_event(), position(), x(), and y().

int stdui::cmouseevent::right
 

Definition at line 312 of file cevent.h.

Referenced by identify_event(), and isright().


The documentation for this class was generated from the following files:
API Documentation Generated by:  doxygen 1.4.0
About the author | Site started with trial version of DreamWeaver MX 2004 | Finalizing with  | Contact | ©2005, Serge Lussier ( Bretzel )