void Widget::setCursor(const Cursor& cursor) { #if PLATFORM(AMIGAOS4) static const Cursor *waitCursorPtr = &waitCursor(); BalWidget *widget = platformWidget(); Window *window = widget ? widget->window : 0; if (window) if (waitCursorPtr == &cursor && !cursor.impl()) IIntuition->SetWindowPointer(window, WA_BusyPointer, TRUE, TAG_DONE); else if (widget->curentCursor != cursor.impl()) { IIntuition->SetWindowPointer(window, WA_Pointer, cursor.impl(), TAG_DONE); widget->curentCursor = cursor.impl(); } #endif }
// Operations bool DoSortItems(int iCol, bool bDescending = false) { HAL_DEV_SORT_MSG(hal::wform(L"DoSortItems(int iCol = %1%, bool bDescending = %2%)") % iCol % bDescending); T* pT = static_cast<T*>(this); ATLASSERT(::IsWindow(pT->m_hWnd)); ATLASSERT(iCol >= 0 && iCol < m_arrColSortType.GetSize()); WORD wType = m_arrColSortType[iCol]; if(wType == WTL::LVCOLSORT_NONE) return false; else if (wType <= WTL::LVCOLSORT_LAST) { HAL_DEV_SORT_MSG(hal::wform(L"wType = %1%, passing DoSort() to base class") % wType); return WTL::CSortListViewImpl<T>::DoSortItems(iCol, bDescending); } int nCount = pT->GetItemCount(); if(nCount < 2) { m_bSortDescending = bDescending; SetSortColumn(iCol); return true; } WTL::CWaitCursor waitCursor(false); if(m_bUseWaitCursor) waitCursor.Set(); bool bRet = pT->DoSortItemsExternal(iCol, bDescending); if(bRet) { m_bSortDescending = bDescending; SetSortColumn(iCol); } if(m_bUseWaitCursor) waitCursor.Restore(); return bRet; }
void QgsDwgImportDialog::pbImportDrawing_clicked() { QgsTemporaryCursorOverride waitCursor( Qt::BusyCursor ); QgsDwgImporter importer( mDatabaseFileWidget->filePath(), mCrsSelector->crs() ); lblMessage->setVisible( true ); QString error; if ( importer.import( leDrawing->text(), error, cbExpandInserts->isChecked(), cbUseCurves->isChecked(), lblMessage ) ) { bar->pushMessage( tr( "Drawing import completed." ), Qgis::Info, 4 ); } else { bar->pushMessage( tr( "Drawing import failed (%1)" ).arg( error ), Qgis::Critical, 4 ); } pbLoadDatabase_clicked(); }
void Widget::setCursor(const Cursor& cursor) { #if PLATFORM(AMIGAOS4) if (!isFrameView()) return; static const Cursor *waitCursorPtr = &waitCursor(); HostWindow *hostWindow = static_cast<FrameView*>(this)->hostWindow(); BalWidget *widget = hostWindow ? hostWindow->platformWindow() : 0; Window *window = widget ? widget->window : 0; if (window) if (waitCursorPtr == &cursor && !cursor.impl()) IIntuition->SetWindowPointer(window, WA_BusyPointer, TRUE, TAG_DONE); else if (widget->curentCursor != cursor.impl()) { IIntuition->SetWindowPointer(window, WA_Pointer, cursor.impl(), TAG_DONE); widget->curentCursor = cursor.impl(); } #endif }
void QgsDwgImportDialog::buttonBox_accepted() { QgsTemporaryCursorOverride waitCursor( Qt::BusyCursor ); QMap<QString, bool> layers; bool allLayers = true; for ( int i = 0; i < mLayers->rowCount(); i++ ) { QTableWidgetItem *item = mLayers->item( i, 0 ); if ( item->checkState() == Qt::Unchecked ) { allLayers = false; continue; } layers.insert( item->text(), mLayers->item( i, 1 )->checkState() == Qt::Checked ); } if ( cbMergeLayers->isChecked() ) { if ( allLayers ) layers.clear(); createGroup( QgisApp::instance()->layerTreeView()->layerTreeModel()->rootGroup(), leLayerGroup->text(), layers.keys(), true ); } else { QgsLayerTreeGroup *dwgGroup = QgisApp::instance()->layerTreeView()->layerTreeModel()->rootGroup()->addGroup( leLayerGroup->text() ); Q_ASSERT( dwgGroup ); const auto constKeys = layers.keys(); for ( const QString &layer : constKeys ) { createGroup( dwgGroup, layer, QStringList( layer ), layers[layer] ); } dwgGroup->setExpanded( false ); } }
const Cursor& progressCursor() { return waitCursor(); }
else { pluginsName += moduleInstance->name(); pluginsInstance += moduleInstance; } } } } } } } VideoFilters::init(); connect(this, SIGNAL(restoreCursor()), this, SLOT(restoreCursorSlot())); connect(this, SIGNAL(waitCursor()), this, SLOT(waitCursorSlot())); connect(this, SIGNAL(busyCursor()), this, SLOT(busyCursorSlot())); } void QMPlay2CoreClass::quit() { if (settingsDir.isEmpty()) return; for (Module *pluginInstance : asConst(pluginsInstance)) delete pluginInstance; pluginsInstance.clear(); videoFilters.clear(); settingsDir.clear(); shareDir.clear(); langDir.clear(); avformat_network_deinit(); #ifdef Q_OS_WIN
const Cursor& Cursor::fromType(Cursor::Type type) { switch (type) { case Cursor::Pointer: return pointerCursor(); case Cursor::Cross: return crossCursor(); case Cursor::Hand: return handCursor(); case Cursor::IBeam: return iBeamCursor(); case Cursor::Wait: return waitCursor(); case Cursor::Help: return helpCursor(); case Cursor::EastResize: return eastResizeCursor(); case Cursor::NorthResize: return northResizeCursor(); case Cursor::NorthEastResize: return northEastResizeCursor(); case Cursor::NorthWestResize: return northWestResizeCursor(); case Cursor::SouthResize: return southResizeCursor(); case Cursor::SouthEastResize: return southEastResizeCursor(); case Cursor::SouthWestResize: return southWestResizeCursor(); case Cursor::WestResize: return westResizeCursor(); case Cursor::NorthSouthResize: return northSouthResizeCursor(); case Cursor::EastWestResize: return eastWestResizeCursor(); case Cursor::NorthEastSouthWestResize: return northEastSouthWestResizeCursor(); case Cursor::NorthWestSouthEastResize: return northWestSouthEastResizeCursor(); case Cursor::ColumnResize: return columnResizeCursor(); case Cursor::RowResize: return rowResizeCursor(); case Cursor::MiddlePanning: return middlePanningCursor(); case Cursor::EastPanning: return eastPanningCursor(); case Cursor::NorthPanning: return northPanningCursor(); case Cursor::NorthEastPanning: return northEastPanningCursor(); case Cursor::NorthWestPanning: return northWestPanningCursor(); case Cursor::SouthPanning: return southPanningCursor(); case Cursor::SouthEastPanning: return southEastPanningCursor(); case Cursor::SouthWestPanning: return southWestPanningCursor(); case Cursor::WestPanning: return westPanningCursor(); case Cursor::Move: return moveCursor(); case Cursor::VerticalText: return verticalTextCursor(); case Cursor::Cell: return cellCursor(); case Cursor::ContextMenu: return contextMenuCursor(); case Cursor::Alias: return aliasCursor(); case Cursor::Progress: return progressCursor(); case Cursor::NoDrop: return noDropCursor(); case Cursor::Copy: return copyCursor(); case Cursor::None: return noneCursor(); case Cursor::NotAllowed: return notAllowedCursor(); case Cursor::ZoomIn: return zoomInCursor(); case Cursor::ZoomOut: return zoomOutCursor(); case Cursor::Grab: return grabCursor(); case Cursor::Grabbing: return grabbingCursor(); case Cursor::Custom: ASSERT_NOT_REACHED(); } return pointerCursor(); }
void QgsDwgImportDialog::pbLoadDatabase_clicked() { if ( !QFileInfo::exists( mDatabaseFileWidget->filePath() ) ) return; QgsTemporaryCursorOverride waitCursor( Qt::BusyCursor ); bool lblVisible = false; QgsVectorLayer::LayerOptions options { QgsProject::instance()->transformContext() }; options.loadDefaultStyle = false; std::unique_ptr<QgsVectorLayer> d( new QgsVectorLayer( QStringLiteral( "%1|layername=drawing" ).arg( mDatabaseFileWidget->filePath() ), QStringLiteral( "layers" ), QStringLiteral( "ogr" ), options ) ); if ( d && d->isValid() ) { int idxPath = d->fields().lookupField( QStringLiteral( "path" ) ); int idxLastModified = d->fields().lookupField( QStringLiteral( "lastmodified" ) ); int idxCrs = d->fields().lookupField( QStringLiteral( "crs" ) ); QgsFeature f; if ( d->getFeatures( QgsFeatureRequest().setSubsetOfAttributes( QgsAttributeList() << idxPath << idxLastModified << idxCrs ) ).nextFeature( f ) ) { leDrawing->setText( f.attribute( idxPath ).toString() ); QgsCoordinateReferenceSystem crs( f.attribute( idxCrs ).toInt(), QgsCoordinateReferenceSystem::InternalCrsId ); mCrsSelector->setCrs( crs ); mCrsSelector->setLayerCrs( crs ); QFileInfo fi( leDrawing->text() ); if ( fi.exists() ) { if ( fi.lastModified() > f.attribute( idxLastModified ).toDateTime() ) { lblMessage->setText( tr( "Drawing file was meanwhile updated (%1 > %2)." ).arg( fi.lastModified().toString(), f.attribute( idxLastModified ).toDateTime().toString() ) ); lblVisible = true; } } else { lblMessage->setText( tr( "Drawing file unavailable." ) ); lblVisible = true; } } } lblMessage->setVisible( lblVisible ); std::unique_ptr<QgsVectorLayer> l( new QgsVectorLayer( QStringLiteral( "%1|layername=layers" ).arg( mDatabaseFileWidget->filePath() ), QStringLiteral( "layers" ), QStringLiteral( "ogr" ), options ) ); if ( l && l->isValid() ) { int idxName = l->fields().lookupField( QStringLiteral( "name" ) ); int idxColor = l->fields().lookupField( QStringLiteral( "ocolor" ) ); int idxFlags = l->fields().lookupField( QStringLiteral( "flags" ) ); QgsDebugMsg( QStringLiteral( "idxName:%1 idxColor:%2 idxFlags:%3" ).arg( idxName ).arg( idxColor ).arg( idxFlags ) ); QgsFeatureIterator fit = l->getFeatures( QgsFeatureRequest().setSubsetOfAttributes( QgsAttributeList() << idxName << idxColor << idxFlags ) ); QgsFeature f; mLayers->setRowCount( 0 ); while ( fit.nextFeature( f ) ) { int row = mLayers->rowCount(); mLayers->setRowCount( row + 1 ); QgsDebugMsg( QStringLiteral( "name:%1 color:%2 flags:%3" ).arg( f.attribute( idxName ).toString() ).arg( f.attribute( idxColor ).toInt() ).arg( f.attribute( idxFlags ).toString(), 0, 16 ) ); QTableWidgetItem *item = nullptr; item = new QTableWidgetItem( f.attribute( idxName ).toString() ); item->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsEnabled ); item->setCheckState( Qt::Checked ); mLayers->setItem( row, 0, item ); item = new QTableWidgetItem(); item->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsEnabled ); item->setCheckState( ( f.attribute( idxColor ).toInt() >= 0 && ( f.attribute( idxFlags ).toInt() & 1 ) == 0 ) ? Qt::Checked : Qt::Unchecked ); mLayers->setItem( row, 1, item ); } mLayers->resizeColumnsToContents(); buttonBox->button( QDialogButtonBox::Ok )->setEnabled( mLayers->rowCount() > 0 && !leLayerGroup->text().isEmpty() ); } else { bar->pushMessage( tr( "Could not open layer list" ), Qgis::Critical, 4 ); } }