Source Code (Use browser search to find items of interest.)
Class Index
kword'KWResizeHandle (./koffice/kword/kword_page.h:52)
class KWResizeHandle : public QWidget
{
Q_OBJECT
public:
enum Direction {
LeftUp = 0,
Up,
RightUp,
Right,
RightDown,
Down,
LeftDown,
Left
};
KWResizeHandle( KWPage *p, Direction d, KWFrame *frm );
void updateGeometry();
protected:
void mouseMoveEvent( QMouseEvent *e );
void mousePressEvent( QMouseEvent *e );
void mouseReleaseEvent( QMouseEvent *e );
bool mousePressed;
int oldX, oldY;
KWPage *page;
Direction direction;
KWFrame *frame;
};
/******************************************************************/
/* Class: KWPage */
/******************************************************************/
kword'KWResizeHandle::KWResizeHandle() (./koffice/kword/kword_page.cc:5250)
KWResizeHandle::KWResizeHandle( KWPage *p, Direction d, KWFrame *frm )
: QWidget( p->viewport() ), page( p ), direction( d ), frame( frm )
{
mousePressed = FALSE;
setMouseTracking( TRUE );
setBackgroundMode( PaletteHighlight );
switch ( direction ) {
case LeftUp:
setCursor( Qt::sizeFDiagCursor );
break;
case Up:
setCursor( Qt::sizeVerCursor );
break;
case RightUp:
setCursor( Qt::sizeBDiagCursor );
break;
case Right:
setCursor( Qt::sizeHorCursor );
break;
case RightDown:
setCursor( Qt::sizeFDiagCursor );
break;
case Down:
setCursor( Qt::sizeVerCursor );
break;
case LeftDown:
setCursor( Qt::sizeBDiagCursor );
break;
case Left:
setCursor( Qt::sizeHorCursor );
break;
}
updateGeometry();
show();
}
/*================================================================*/
kword'KWResizeHandle::mouseMoveEvent() (./koffice/kword/kword_page.cc:5289)
void KWResizeHandle::mouseMoveEvent( QMouseEvent *e )
{
if ( !mousePressed )
return;
page->mouseMoved = TRUE;
int my = y() + e->y();
int mx = x() + e->x();
mx += page->contentsX();
my += page->contentsY();
mx = ( mx / page->doc->getRastX() ) * page->doc->getRastX();
my = ( my / page->doc->getRastY() ) * page->doc->getRastY();
switch ( direction ) {
case LeftUp:
page->vmmEditFrameFDiag( mx, my );
break;
case Up:
page->vmmEditFrameSizeVert( mx, my );
break;
case RightUp:
page->vmmEditFrameBDiag( mx, my );
break;
case Right:
page->vmmEditFrameSizeHorz( mx, my );
break;
case RightDown:
page->vmmEditFrameFDiag( mx, my );
break;
case Down:
page->vmmEditFrameSizeVert( mx, my );
break;
case LeftDown:
page->vmmEditFrameBDiag( mx, my );
break;
case Left:
page->vmmEditFrameSizeHorz( mx, my );
break;
}
page->oldMy = my;
page->oldMx = mx;
page->deleteMovingRect = TRUE;
page->doRaster = TRUE;
page->doc->setModified( TRUE );
}
/*================================================================*/
kword'KWResizeHandle::mousePressEvent() (./koffice/kword/kword_page.cc:5335)
void KWResizeHandle::mousePressEvent( QMouseEvent *e )
{
KWFrameSet *fs = 0;
KWFrame *frm = 0;
for ( unsigned int i = 0; i < page->doc->getNumFrameSets(); ++i ) {
fs = page->doc->getFrameSet( i );
for ( unsigned int j = 0; j < fs->getNumFrames(); ++j ) {
frm = fs->getFrame( j );
if ( frame->isSelected() && frm != frame ) {
frm->setSelected( FALSE );
page->removeResizeHandles( frm );
}
}
}
mousePressed = TRUE;
oldX = e->x();
oldY = e->y();
page->mouseMoved = FALSE;
page->mousePressed = TRUE;
page->vmpEditFrame( 0, x() + e->x() + page->contentsX(),
y() + e->y() + page->contentsY() );
page->doc->setModified( TRUE );
}
/*================================================================*/
kword'KWResizeHandle::mouseReleaseEvent() (./koffice/kword/kword_page.cc:5362)
void KWResizeHandle::mouseReleaseEvent( QMouseEvent *e )
{
mousePressed = FALSE;
page->vmrEditFrame( x() + e->x() + page->contentsX(),
y() + e->y() + page->contentsY() );
page->mousePressed = FALSE;
}
/*================================================================*/
kword'KWResizeHandle::updateGeometry() (./koffice/kword/kword_page.cc:5371)
void KWResizeHandle::updateGeometry()
{
switch ( direction ) {
case LeftUp:
page->moveChild( this, frame->x(), frame->y() );
break;
case Up:
page->moveChild( this, frame->x() + frame->width() / 2 - 3, frame->y() );
break;
case RightUp:
page->moveChild( this, frame->x() + frame->width() - 6, frame->y() );
break;
case Right:
page->moveChild( this, frame->x() + frame->width() - 6,
frame->y() + frame->height() / 2 - 3 );
break;
case RightDown:
page->moveChild( this, frame->x() + frame->width() - 6,
frame->y() + frame->height() - 6 );
break;
case Down:
page->moveChild( this, frame->x() + frame->width() / 2 - 3,
frame->y() + frame->height() - 5 );
break;
case LeftDown:
page->moveChild( this, frame->x(), frame->y() + frame->height() - 6 );
break;
case Left:
page->moveChild( this, frame->x(), frame->y() + frame->height() / 2 - 3 );
break;
}
resize( 6, 6 );
}