diff -r 71ad690e91f5 -r d6dafc5d983f javauis/eswt_qt/org.eclipse.swt/Eclipse_SWT_PI/qt/library/os.cpp --- a/javauis/eswt_qt/org.eclipse.swt/Eclipse_SWT_PI/qt/library/os.cpp Mon Oct 04 11:29:25 2010 +0300 +++ b/javauis/eswt_qt/org.eclipse.swt/Eclipse_SWT_PI/qt/library/os.cpp Fri Oct 15 12:29:39 2010 +0300 @@ -87,6 +87,9 @@ #include #include #include +#include +#include +#include #endif #include @@ -104,6 +107,7 @@ #include "swtapplication.h" #include "qswttabwidget.h" #include "autorelease.h" +#include "graphics.h" #ifdef __SYMBIAN32__ #include "swts60.h" @@ -3092,7 +3096,28 @@ } JNIEXPORT void JNICALL OS_NATIVE( QLabel_1setPixmap) - (JNIEnv* aJniEnv , jclass, jint aHandle, jint aImageHandle) + (JNIEnv* aJniEnv , jclass, jint aHandle, jint aPixmapHandle) + { + SWT_TRY + { + SWT_LOG_JNI_CALL(); + SWT_LOG_DATA_2("handle=%x pixmapHandle=%x", aHandle, aPixmapHandle ); + HANDLE_TO_POINTER( QLabel*, label, aHandle ); + if(aPixmapHandle == 0 ) + { + label->setPixmap(QPixmap()); + } + else + { + QPixmap* image = static_cast< QPixmap* >( reinterpret_cast< QPaintDevice* >( aPixmapHandle ) ); + label->setPixmap( *image ); + } + } + SWT_CATCH + } + +JNIEXPORT void JNICALL OS_NATIVE( QLabel_1swt_1setPixmap ) + ( JNIEnv* aJniEnv, jclass, jint aHandle, jint aImageHandle) { SWT_TRY { @@ -3105,8 +3130,8 @@ } else { - QPixmap* image = static_cast< QPixmap* >( reinterpret_cast< QPaintDevice* >( aImageHandle ) ); - label->setPixmap( *image ); + Java::GFX::Image* image = reinterpret_cast< Java::GFX::Image* >( aImageHandle ); + label->setPixmap( image->toPixmap() ); } } SWT_CATCH @@ -4535,20 +4560,6 @@ } -JNIEXPORT jint JNICALL OS_NATIVE( QPixmap_1swt_1paintDevice ) - (JNIEnv* aJniEnv, jclass, jint aHandle) - { - QPaintDevice* result = NULL; - SWT_TRY - { - SWT_LOG_JNI_CALL(); - SWT_LOG_DATA_1("handle=%x", aHandle); - result = static_cast( reinterpret_cast( static_cast( aHandle ) ) ); - } - SWT_CATCH - return reinterpret_cast( result ); - } - // // QPalette // @@ -4618,17 +4629,17 @@ } JNIEXPORT void JNICALL OS_NATIVE( QPalette_1swt_1setBrush ) - (JNIEnv* aJniEnv , jclass, jint aHandle, jint aRole, jint aPixmap) - { - SWT_TRY - { - SWT_LOG_JNI_CALL(); - SWT_LOG_DATA_3( "handle=%x role=%x pixmap=%x", aHandle, aRole, aPixmap ); - QPixmap* pixmap = reinterpret_cast(aPixmap); + (JNIEnv* aJniEnv , jclass, jint aHandle, jint aRole, jint aCgImage) + { + SWT_TRY + { + SWT_LOG_JNI_CALL(); + SWT_LOG_DATA_3( "handle=%x role=%x cgImage=%x", aHandle, aRole, aCgImage ); + Java::GFX::Image* image = reinterpret_cast(aCgImage); QPalette* palette = reinterpret_cast< QPalette* > ( aHandle ); - if(pixmap) - { - palette->setBrush( static_cast< QPalette::ColorRole> ( aRole ), QBrush( *pixmap ) ); + if(aCgImage) + { + palette->setBrush( static_cast< QPalette::ColorRole> ( aRole ), QBrush( image->toPixmap() ) ); } else { @@ -5333,7 +5344,7 @@ jboolean isCopy; jint* imagesHandles = NULL; - QPixmap** detailImages = new QPixmap*[aDetailImageCount]; + QPixmap* detailImages = new QPixmap[aDetailImageCount]; if( !detailImages ) { throw std::bad_alloc(); @@ -5348,12 +5359,12 @@ } for(int i = 0; i < aDetailImageCount; i++) { - detailImages[i] = reinterpret_cast< QPixmap* >( imagesHandles[i] ); + detailImages[i] = (reinterpret_cast< Java::GFX::Image* >( imagesHandles[i] ))->toPixmap(); } aJniEnv->ReleaseIntArrayElements(aDetailImageHandles, imagesHandles, JNI_ABORT); } - QPixmap** headingImages = new QPixmap*[aHeadingImageCount]; + QPixmap* headingImages = new QPixmap[aHeadingImageCount]; if( !headingImages ) { delete [] detailImages; // allocated earlier @@ -5370,16 +5381,16 @@ } for(int i = 0; i < aHeadingImageCount; i++) { - headingImages[i] = reinterpret_cast< QPixmap* >( imagesHandles[i] ); + headingImages[i] = (reinterpret_cast< Java::GFX::Image* >( imagesHandles[i] ))->toPixmap(); } aJniEnv->ReleaseIntArrayElements(aHeadingImageHandles, imagesHandles, JNI_ABORT); } ListModel* listDataModel = reinterpret_cast< ListModel* > ( aHandle ); listDataModel->appendItem( swtApp->jniUtils().JavaStringToQString( aJniEnv, aDetailText ), - const_cast(detailImages), aDetailImageCount, + const_cast(detailImages), aDetailImageCount, swtApp->jniUtils().JavaStringToQString( aJniEnv, aHeadingText ), - const_cast(headingImages), aHeadingImageCount ); + const_cast(headingImages), aHeadingImageCount ); } SWT_CATCH } @@ -6286,22 +6297,22 @@ // //QIcon // -JNIEXPORT jint JNICALL OS_NATIVE( QIcon_1new__I ) - ( JNIEnv* aJniEnv , jclass, jint aPixmap ) +JNIEXPORT jint JNICALL OS_NATIVE( QIcon_1swt_1new ) + ( JNIEnv* aJniEnv , jclass, jint aImageHandle ) { QIcon* icon = NULL; SWT_TRY { SWT_LOG_JNI_CALL(); - SWT_LOG_DATA_1("aPixmap=%x", aPixmap); - QPixmap* pixmap = reinterpret_cast< QPixmap* >( aPixmap ); - icon = new QIcon( *pixmap ); + SWT_LOG_DATA_1("image=%x", aImageHandle); + Java::GFX::Image* image = reinterpret_cast< Java::GFX::Image* >( aImageHandle ); + icon = new QIcon(image->toPixmap()); } SWT_CATCH return reinterpret_cast< jint >( static_cast< QIcon* >( icon ) ); } -JNIEXPORT jint JNICALL OS_NATIVE ( QIcon_1new__ ) +JNIEXPORT jint JNICALL OS_NATIVE ( QIcon_1new ) (JNIEnv* aJniEnv , jclass) { QIcon* icon = NULL; @@ -6740,23 +6751,22 @@ //QColorDialog // JNIEXPORT jint JNICALL OS_NATIVE( QColorDialog_1getColor ) - (JNIEnv* aJniEnv , jclass, jint aColorHandle, jint aParentHandle, jstring aDialogID, jint aLayoutDirection ) + (JNIEnv* aJniEnv , jclass, jint aRed, jint aGreen, jint aBlue, jint aParentHandle, jstring aDialogID, jint aLayoutDirection) { QColor* color = NULL; SWT_TRY { SWT_LOG_JNI_CALL(); - SWT_LOG_DATA_3("colorHandle=%x parentHandle=%x layoutDirection=%d", aColorHandle, aParentHandle, aLayoutDirection); - HANDLE_TO_QCOLOR( initialColor, aColorHandle ); - HANDLE_TO_POINTER( QWidget*, parent, aParentHandle ); - QColorDialog dialog( *initialColor, parent ); - dialog.setObjectName( swtApp->jniUtils().JavaStringToQString(aJniEnv, aDialogID) ); - dialog.setLayoutDirection( static_cast(aLayoutDirection) ); + SWT_LOG_DATA_2("parentHandle=%x layoutDirection=%d", aParentHandle, aLayoutDirection); + HANDLE_TO_POINTER(QWidget*, parent, aParentHandle); + QColorDialog dialog(QColor(aRed, aGreen, aBlue), parent); + dialog.setObjectName(swtApp->jniUtils().JavaStringToQString(aJniEnv, aDialogID)); + dialog.setLayoutDirection( static_cast(aLayoutDirection)); AutoPopExecStack stackExec(&dialog); int code = dialog.exec(); - if( code == QDialog::Accepted ) - { - color = new QColor( dialog.selectedColor() ); + if (code == QDialog::Accepted) + { + color = new QColor(dialog.selectedColor()); } } SWT_CATCH @@ -9966,7 +9976,7 @@ JNIEXPORT void JNICALL OS_NATIVE(QMessageBox_1swt_1execTimer) (JNIEnv* aJniEnv , jclass, jint aIcon, jstring aTitle, jstring aText, - jint aParent, jstring aDialogID, jint aLayoutDirection, jint aModality, jint aPixmapHandle) + jint aParent, jstring aDialogID, jint aLayoutDirection, jint aModality, jint aCgImageHandle) { SWT_TRY { @@ -10003,7 +10013,7 @@ SWT_LOG_JNI_CALL(); - SWT_LOG_DATA_5("dialogID=%s, parent=%x icon=%d, pixmap=%x, modality=%d", aDialogID, aParent, aIcon, aPixmapHandle, aModality); + SWT_LOG_DATA_5("dialogID=%s, parent=%x icon=%d, cgImage=%x, modality=%d", aDialogID, aParent, aIcon, aCgImageHandle, aModality); HANDLE_TO_POINTER(QWidget*, parent, aParent); QMessageBox msgBox( static_cast(aIcon), @@ -10018,9 +10028,15 @@ msgBox.setWindowModality( static_cast(aModality) ); msgBox.setLayoutDirection( static_cast(aLayoutDirection) ); - if (aPixmapHandle) { - msgBox.setIconPixmap( *reinterpret_cast(aPixmapHandle) ); - } + Java::GFX::Image* image = reinterpret_cast(aCgImageHandle); + if(image) + { + QPixmap pixmap = image->toPixmap(); + if (!pixmap.isNull()) + { + msgBox.setIconPixmap( pixmap ); + } + } TimedMsgBoxEventFilter filter(msgBox); QTimer::singleShot(KTimedMessageBoxTimeout, &msgBox, SLOT(reject())); @@ -10418,7 +10434,7 @@ QFileDialog dialog( parent, aTitle != NULL ? swtApp->jniUtils().JavaStringToQString(aJniEnv, aTitle) : QString(), aDirectory != NULL ?swtApp->jniUtils().JavaStringToQString(aJniEnv, aDirectory) : QString(), - aFilter != NULL ? swtApp->jniUtils().JavaStringToQString(aJniEnv, aFilter) : QString(0 ) ); + aFilter != NULL ? swtApp->jniUtils().JavaStringToQString(aJniEnv, aFilter) : QString(static_cast(0)) ); dialog.setObjectName( swtApp->jniUtils().JavaStringToQString(aJniEnv, aDialogID ) ); dialog.setLayoutDirection( static_cast(aLayoutDirection) ); dialog.setFileMode(QFileDialog::ExistingFile); @@ -10452,7 +10468,7 @@ QFileDialog dialog( parent, aTitle != NULL ? swtApp->jniUtils().JavaStringToQString(aJniEnv, aTitle) : QString(), aDirectory != NULL ?swtApp->jniUtils().JavaStringToQString(aJniEnv, aDirectory) : QString(), - aFilter != NULL ? swtApp->jniUtils().JavaStringToQString(aJniEnv, aFilter) : QString(0 ) ); + aFilter != NULL ? swtApp->jniUtils().JavaStringToQString(aJniEnv, aFilter) : QString(static_cast(0)) ); dialog.setObjectName( swtApp->jniUtils().JavaStringToQString(aJniEnv, aDialogID ) ); dialog.setLayoutDirection( static_cast(aLayoutDirection) ); dialog.setFileMode(QFileDialog::ExistingFiles); @@ -10486,7 +10502,7 @@ QFileDialog dialog( parent, aTitle != NULL ? swtApp->jniUtils().JavaStringToQString(aJniEnv, aTitle) : QString(), aDirectory != NULL ?swtApp->jniUtils().JavaStringToQString(aJniEnv, aDirectory) : QString(), - aFilter != NULL ? swtApp->jniUtils().JavaStringToQString(aJniEnv, aFilter) : QString(0 ) ); + aFilter != NULL ? swtApp->jniUtils().JavaStringToQString(aJniEnv, aFilter) : QString(static_cast(0)) ); dialog.setObjectName( swtApp->jniUtils().JavaStringToQString(aJniEnv, aDialogID ) ); dialog.setLayoutDirection( static_cast(aLayoutDirection) ); dialog.setAcceptMode( static_cast(QFileDialog::AcceptSave) ); @@ -11274,19 +11290,6 @@ SWT_CATCH } -JNIEXPORT jint JNICALL OS_NATIVE( QImage_1swt_1paintDevice ) - (JNIEnv* aJniEnv, jclass, jint aHandle) - { - QPaintDevice* result = NULL; - SWT_TRY - { - SWT_LOG_JNI_CALL(); - SWT_LOG_DATA_1("handle=%x", aHandle); - result = static_cast( reinterpret_cast( static_cast( aHandle ) ) ); - } - SWT_CATCH - return reinterpret_cast( result ); - } // // QChar // @@ -11527,6 +11530,138 @@ #endif } +// +// XQApplicationManager +// + +JNIEXPORT jint JNICALL OS_NATIVE( XQApplicationManager_1new ) +#ifdef __SYMBIAN32__ +(JNIEnv* aJniEnv, jclass) +#else +(JNIEnv* aJniEnv, jclass) +#endif + { +#ifdef __SYMBIAN32__ + XQApplicationManager* aiwMgr = NULL; + SWT_TRY + { + SWT_LOG_JNI_CALL(); + aiwMgr = new XQApplicationManager(); + } + SWT_CATCH + return reinterpret_cast(aiwMgr); +#else + return NULL; +#endif + } + +JNIEXPORT jint JNICALL OS_NATIVE( XQApplicationManager_1create ) +#ifdef __SYMBIAN32__ + (JNIEnv * aJniEnv, jclass,jint aHandle, jstring aService, jstring aInterface, jstring aOperation, jboolean aSynchronous) +#else +(JNIEnv *, jclass, jint, jstring, jstring, jstring, jboolean) +#endif + { +#ifdef __SYMBIAN32__ + XQAiwRequest* request = NULL; + SWT_TRY + { + SWT_LOG_JNI_CALL(); + XQApplicationManager* aiwmgr = reinterpret_cast(aHandle); + request = aiwmgr->create(swtApp->jniUtils().JavaStringToQString(aJniEnv, aService), + swtApp->jniUtils().JavaStringToQString(aJniEnv, aInterface), + swtApp->jniUtils().JavaStringToQString(aJniEnv, aOperation), + aSynchronous == JNI_TRUE ? true : false); + } + SWT_CATCH + return reinterpret_cast(request); +#else +return NULL; +#endif + } + +// +// XQAiwRequest +// +JNIEXPORT void JNICALL OS_NATIVE( XQAiwRequest_1setArguments ) +#ifdef __SYMBIAN32__ +(JNIEnv* aJniEnv, jclass, jint aHandle, jstring aNumber) +#else +(JNIEnv* aJniEnv, jclass, jint, jstring) +#endif + { +#ifdef __SYMBIAN32__ + SWT_TRY + { + SWT_LOG_JNI_CALL(); + SWT_LOG_DATA_1( "handle=%x", aHandle ); + XQAiwRequest* request = reinterpret_cast(aHandle); + if (request) + { + QList args; + args << swtApp->jniUtils().JavaStringToQString(aJniEnv, + aNumber); + request->setArguments(args); + } + } + SWT_CATCH +#endif + } + +JNIEXPORT void JNICALL OS_NATIVE( XQAiwRequest_1swtDialer_1setArguments ) +#ifdef __SYMBIAN32__ +(JNIEnv* aJniEnv, jclass, jint aHandle, jstring aNumber) +#else +(JNIEnv* aJniEnv, jclass, jint, jstring) +#endif + { +#ifdef __SYMBIAN32__ + SWT_TRY + { + SWT_LOG_JNI_CALL(); + SWT_LOG_DATA_1( "handle=%x", aHandle ); + XQAiwRequest* request = reinterpret_cast(aHandle); + if (request) + { + QList args; + QVariantMap map; + map.insert(XQLOGS_VIEW_INDEX, QVariant(int(XQService::LogsViewAll))); + map.insert(XQLOGS_SHOW_DIALPAD, QVariant(true)); + map.insert(XQLOGS_DIALPAD_TEXT, QVariant(swtApp->jniUtils().JavaStringToQString(aJniEnv, + aNumber))); + args.append(QVariant(map)); + request->setArguments(args); + } + } + SWT_CATCH +#endif + } + +JNIEXPORT jboolean JNICALL OS_NATIVE( XQAiwRequest_1send ) +#ifdef __SYMBIAN32__ +(JNIEnv* aJniEnv, jclass, jint aHandle) +#else +(JNIEnv* aJniEnv, jclass, jint) +#endif + { +#ifdef __SYMBIAN32__ + bool result = false; + SWT_TRY + { + SWT_LOG_JNI_CALL(); + SWT_LOG_DATA_1( "handle=%x", aHandle ); + XQAiwRequest* request= reinterpret_cast(aHandle); + if (request) + { + result = request->send(); + } + } + SWT_CATCH + return result ? JNI_TRUE : JNI_FALSE; +#else + return JNI_FALSE; +#endif + } // // CntServicesContactList