diff --git a/harbour/ChangeLog b/harbour/ChangeLog index c14185c613..b707b2502c 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,13 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-04-16 00:37 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) + * harbour/contrib/gtqtc/gtqtc.cpp + * harbour/contrib/gtqtc/moc_gtqtc.cpp + * harbour/contrib/gtqtc/gtqtc.h + + Implemented : hb_gtInfo( HB_GTI_ICONFILE, cFileIco ) + : K_MWFORWARD | K_MWBACKWARD + 2009-04-15 22:27 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtqtc/gtqtc.cpp * harbour/contrib/gtqtc/gtqtc.h diff --git a/harbour/contrib/gtqtc/gtqtc.cpp b/harbour/contrib/gtqtc/gtqtc.cpp index c53361f72d..901a79888b 100644 --- a/harbour/contrib/gtqtc/gtqtc.cpp +++ b/harbour/contrib/gtqtc/gtqtc.cpp @@ -1062,12 +1062,12 @@ static BOOL hb_gt_wvt_mouse_ButtonState( PHB_GT pGT, int iButton ) #if 0 switch( iButton ) { - case 0: - return ( GetKeyState( VK_LBUTTON ) & 0x8000 ) != 0; - case 1: - return ( GetKeyState( VK_RBUTTON ) & 0x8000 ) != 0; - case 2: - return ( GetKeyState( VK_MBUTTON ) & 0x8000 ) != 0; + case 0: + return ( GetKeyState( VK_LBUTTON ) & 0x8000 ) != 0; + case 1: + return ( GetKeyState( VK_RBUTTON ) & 0x8000 ) != 0; + case 2: + return ( GetKeyState( VK_MBUTTON ) & 0x8000 ) != 0; } #endif return FALSE; @@ -1205,7 +1205,6 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) pInfo->pResult = hb_itemPutNI( pInfo->pResult, qDesk->height() / pWVT->PTEXTSIZE.y() ); break; } - case HB_GTI_WINTITLE: if( pWVT->qWnd ) { @@ -1255,60 +1254,13 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) break; case HB_GTI_ICONFILE: - { - if( ( hb_itemType( pInfo->pNewVal ) & HB_IT_STRING ) ) - { - if( pWVT->qWnd ) - { - pWVT->qWnd->setWindowIcon( QIcon( QString( hb_itemGetCPtr( pInfo->pNewVal ) ) ) ); - } - } - break; - } -#if 0 - case HB_GTI_ICONRES: - { if( hb_itemType( pInfo->pNewVal ) & HB_IT_STRING ) { - HICON hIconToFree = ( pWVT->hIcon && pWVT->bIconToFree ) ? pWVT->hIcon : NULL; - LPTSTR lpIcon; - - lpIcon = HB_TCHAR_CONVTO( hb_itemGetCPtr( pInfo->pNewVal ) ); - pWVT->bIconToFree = FALSE; - pWVT->hIcon = LoadIcon( pWVT->hInstance, lpIcon ); - HB_TCHAR_FREE( lpIcon ); - - if( pWVT->hWnd ) - { - SendNotifyMessage( pWVT->hWnd, WM_SETICON, ICON_SMALL, ( LPARAM ) pWVT->hIcon ); /* Set Title Bar Icon */ - SendNotifyMessage( pWVT->hWnd, WM_SETICON, ICON_BIG , ( LPARAM ) pWVT->hIcon ); /* Set Task List Icon */ - } - - if( hIconToFree ) - DestroyIcon( hIconToFree ); + if( pWVT->qWnd ) + pWVT->qWnd->setWindowIcon( QIcon( QString( hb_itemGetCPtr( pInfo->pNewVal ) ) ) ); } - else if( hb_itemType( pInfo->pNewVal ) & HB_IT_NUMERIC ) - { - HICON hIconToFree = ( pWVT->hIcon && pWVT->bIconToFree ) ? pWVT->hIcon : NULL; - - pWVT->bIconToFree = FALSE; - pWVT->hIcon = LoadIcon( pWVT->hInstance, - MAKEINTRESOURCE( ( HB_LONG ) - hb_itemGetNInt( pInfo->pNewVal ) ) ); - - if( pWVT->hWnd ) - { - SendNotifyMessage( pWVT->hWnd, WM_SETICON, ICON_SMALL, ( LPARAM ) pWVT->hIcon ); /* Set Title Bar Icon */ - SendNotifyMessage( pWVT->hWnd, WM_SETICON, ICON_BIG , ( LPARAM ) pWVT->hIcon ); /* Set Task List Icon */ - } - - if( hIconToFree ) - DestroyIcon( hIconToFree ); - } - pInfo->pResult = hb_itemPutNInt( pInfo->pResult, ( HB_PTRDIFF ) pWVT->hIcon ); break; - } -#endif + case HB_GTI_VIEWMAXWIDTH: pInfo->pResult = hb_itemPutNI( pInfo->pResult, pWVT->COLS ); break; @@ -1322,13 +1274,16 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) if( hb_itemType( pInfo->pNewVal ) & HB_IT_NUMERIC ) hb_gt_winapi_setKbdState( hb_itemGetNI( pInfo->pNewVal ) ); break; +#endif case HB_GTI_CURSORBLINKRATE: - pInfo->pResult = hb_itemPutNI( pInfo->pResult, GetCaretBlinkTime() ); + pInfo->pResult = hb_itemPutNI( pInfo->pResult, qApp->cursorFlashTime() ); if( hb_itemType( pInfo->pNewVal ) & HB_IT_NUMERIC ) - SetCaretBlinkTime( hb_itemGetNI( pInfo->pNewVal ) ); + { + qApp->setCursorFlashTime( hb_itemGetNI( pInfo->pNewVal ) ); + } break; -#endif + case HB_GTI_CLIPBOARDDATA: if( hb_itemType( pInfo->pNewVal ) & HB_IT_STRING ) { @@ -1344,7 +1299,6 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) break; case HB_GTI_SCREENSIZE: - { int iX, iY; if( !pInfo->pResult ) @@ -1365,7 +1319,6 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) pWVT->CentreWindow = bOldCentre; } break; - } case HB_GTI_RESIZABLE: pInfo->pResult = hb_itemPutL( pInfo->pResult, pWVT->bResizable ); @@ -1471,17 +1424,16 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) if( hb_itemType( pInfo->pNewVal ) & HB_IT_NUMERIC ) { int iIndex = hb_itemGetNI( pInfo->pNewVal ); - if( iIndex >= 0 && iIndex < 16 ) { pInfo->pResult = hb_itemPutNL( pInfo->pResult, pWVT->qWnd->consoleArea->COLORS[ iIndex ] ); - if( hb_itemType( pInfo->pNewVal2 ) & HB_IT_NUMERIC ) { - pWVT->qWnd->consoleArea->COLORS[ iIndex ] = hb_itemGetNL( pInfo->pNewVal2 ); - if( pWVT->qWnd ) + { + pWVT->qWnd->consoleArea->COLORS[ iIndex ] = hb_itemGetNL( pInfo->pNewVal2 ); HB_GTSELF_EXPOSEAREA( pWVT->pGT, 0, 0, pWVT->ROWS, pWVT->COLS ); + } } } } @@ -1672,12 +1624,6 @@ static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, L if( ! pWVT->bBeginMarked && ! pWVT->MouseMove && ( message == WM_MOUSEMOVE || message == WM_NCMOUSEMOVE ) ) return; - xy.x = LOWORD( lParam ); - xy.y = HIWORD( lParam ); - - colrow = hb_gt_wvt_GetColRowFromXY( pWVT, ( USHORT ) xy.x, ( USHORT ) xy.y ); - hb_gt_wvt_SetMousePos( pWVT, colrow.y, colrow.x ); - switch( message ) { case WM_LBUTTONDOWN: @@ -1795,7 +1741,6 @@ static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, L rect.right != pWVT->sRectOld.right || rect.bottom != pWVT->sRectOld.bottom ) { -#if !defined(HB_OS_WIN_CE) /* WinCE does not support InvertRgn */ /* Concept forwarded by Andy Wos - thanks. */ HRGN rgn1 = CreateRectRgn( pWVT->sRectOld.left, pWVT->sRectOld.top, pWVT->sRectOld.right, pWVT->sRectOld.bottom ); HRGN rgn2 = CreateRectRgn( rect.left, rect.top, rect.right, rect.bottom ); @@ -1811,7 +1756,7 @@ static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, L DeleteObject( rgn1 ); DeleteObject( rgn2 ); DeleteObject( rgn3 ); -#endif + pWVT->sRectOld.left = rect.left; pWVT->sRectOld.top = rect.top; pWVT->sRectOld.right = rect.right; @@ -1821,12 +1766,6 @@ static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, L } } } - case WM_MOUSEWHEEL: - { - SHORT keyState = ( SHORT ) HIWORD( wParam ); - keyCode = keyState > 0 ? K_MWFORWARD : K_MWBACKWARD; - break; - } case WM_NCMOUSEMOVE: keyCode = K_NCMOUSEMOVE; break; @@ -1842,6 +1781,31 @@ void hb_gt_wvt_QSetMousePos( PHB_GTWVT pWVT, int x, int y ) pWVT->MousePos.setX( colrow.x() ); } +void ConsoleArea::wheelEvent(QWheelEvent *event) +{ + PHB_GTWVT pWVT = HB_GTWVT_GET( pGT ); + int c = 0; + + switch( event->orientation() ) + { + case Qt::Vertical: + if( event->delta() < 0 ) + c = K_MWFORWARD; + else + c = K_MWBACKWARD; + break; + case Qt::Horizontal: + default: + QWidget::wheelEvent(event); + return; + } + if( c != 0 ) + { + hb_gt_wvt_AddCharToInputQueue( pWVT, c ); + hb_gt_wvt_QSetMousePos( pWVT, event->x(), event->y() ); + } +} + void ConsoleArea::mouseDoubleClickEvent(QMouseEvent *event) { PHB_GTWVT pWVT = HB_GTWVT_GET( pGT ); diff --git a/harbour/contrib/gtqtc/gtqtc.h b/harbour/contrib/gtqtc/gtqtc.h index 08a9eed8a2..d1a00eb277 100644 --- a/harbour/contrib/gtqtc/gtqtc.h +++ b/harbour/contrib/gtqtc/gtqtc.h @@ -213,6 +213,7 @@ protected: void mouseDoubleClickEvent(QMouseEvent * event); void paintEvent(QPaintEvent *event); void resizeEvent(QResizeEvent *event); + void wheelEvent(QWheelEvent *event); private: QFont qFont; diff --git a/harbour/contrib/gtqtc/moc_gtqtc.cpp b/harbour/contrib/gtqtc/moc_gtqtc.cpp index 2ad6ae22bb..78995c74f0 100644 --- a/harbour/contrib/gtqtc/moc_gtqtc.cpp +++ b/harbour/contrib/gtqtc/moc_gtqtc.cpp @@ -1,7 +1,7 @@ /**************************************************************************** ** Meta object code from reading C++ file 'gtqtc.h' ** -** Created: Wed Apr 15 14:41:50 2009 +** Created: Wed Apr 15 23:18:13 2009 ** by: The Qt Meta Object Compiler version 61 (Qt 4.5.0) ** ** WARNING! All changes made in this file will be lost!