void DatabaseWidget::applyConfiguration(void) { try { //Apply the basic configurations BaseObjectWidget::applyConfiguration(); model->setAuthor(author_edt->text().toUtf8()); model->setTemplateDB(templatedb_edt->text()); if(encoding_cmb->currentIndex() > 0) model->setEncoding(EncodingType(encoding_cmb->currentText())); if(lccollate_cmb->currentIndex() > 0) model->setLocalization(LC_COLLATE, lccollate_cmb->currentText()); else model->setLocalization(LC_COLLATE, ""); if(lcctype_cmb->currentIndex() > 0) model->setLocalization(LC_CTYPE, lcctype_cmb->currentText()); else model->setLocalization(LC_CTYPE, ""); finishConfiguration(); } catch(Exception &e) { throw Exception(e.getErrorMessage(),e.getErrorType(),__PRETTY_FUNCTION__,__FILE__,__LINE__, &e); } }
void CollationWidget::applyConfiguration(void) { try { Collation *collation=nullptr; startConfiguration<Collation>(); collation=dynamic_cast<Collation *>(this->object); BaseObjectWidget::applyConfiguration(); if(encoding_cmb->currentIndex() > 0) collation->setEncoding(EncodingType(encoding_cmb->currentText())); if(locale_cmb->currentIndex() > 0) collation->setLocale(locale_cmb->currentText()); if(lccollate_cmb->currentIndex() > 0) collation->setLocalization(LC_COLLATE, lccollate_cmb->currentText()); if(lcctype_cmb->currentIndex() > 0) collation->setLocalization(LC_CTYPE, lcctype_cmb->currentText()); finishConfiguration(); } catch(Exception &e) { cancelConfiguration(); throw Exception(e.getErrorMessage(),e.getErrorType(),__PRETTY_FUNCTION__,__FILE__,__LINE__, &e); } }
void DatabaseWidget::applyConfiguration(void) { try { //Apply the basic configurations BaseObjectWidget::applyConfiguration(); model->setAuthor(author_edt->text().toUtf8()); model->setTemplateDB(templatedb_edt->text()); model->setConnectionLimit(connlim_sb->value()); if(encoding_cmb->currentIndex() > 0) model->setEncoding(EncodingType(encoding_cmb->currentText())); else model->setEncoding(EncodingType(BaseType::null)); if(lccollate_cmb->currentText()!=trUtf8("Default")) model->setLocalization(Collation::_LC_COLLATE, lccollate_cmb->currentText()); else model->setLocalization(Collation::_LC_COLLATE, QString()); if(lcctype_cmb->currentText()!=trUtf8("Default")) model->setLocalization(Collation::_LC_CTYPE, lcctype_cmb->currentText()); else model->setLocalization(Collation::_LC_CTYPE, QString()); model->setDefaultObject(def_schema_sel->getSelectedObject(), OBJ_SCHEMA); model->setDefaultObject(def_owner_sel->getSelectedObject(), OBJ_ROLE); model->setDefaultObject(def_collation_sel->getSelectedObject(), OBJ_COLLATION); model->setDefaultObject(def_tablespace_sel->getSelectedObject(), OBJ_TABLESPACE); finishConfiguration(); } catch(Exception &e) { throw Exception(e.getErrorMessage(),e.getErrorType(),__PRETTY_FUNCTION__,__FILE__,__LINE__, &e); } }
bool ConvolutionFilterShell::execute(PlugInArgList* pInArgList, PlugInArgList* pOutArgList) { if (pInArgList == NULL || pOutArgList == NULL) { return false; } if (!extractInputArgs(pInArgList)) { return false; } if (!populateKernel() || mInput.mKernel.Nrows() % 2 == 0 || mInput.mKernel.Ncols() % 2 == 0) { mProgress.report("Invalid kernel.", 0, ERRORS, true); return false; } BitMaskIterator iterChecker((mpAoi == NULL) ? NULL : mpAoi->getSelectedPoints(), 0, 0, mInput.mpDescriptor->getColumnCount() - 1, mInput.mpDescriptor->getRowCount() - 1); EncodingType resultType = mInput.mForceFloat ? EncodingType(FLT8BYTES) : mInput.mpDescriptor->getDataType(); if (resultType == INT4SCOMPLEX) { resultType = INT4SBYTES; } else if (resultType == FLT8COMPLEX) { resultType = FLT8BYTES; } if (!isBatch()) { RasterElement* pResult = static_cast<RasterElement*>( Service<ModelServices>()->getElement(mResultName, TypeConverter::toString<RasterElement>(), NULL)); if (pResult != NULL) { if (QMessageBox::question(Service<DesktopServices>()->getMainWidget(), "Result data set exists", "The result data set already exists. Would you like to replace it?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes) == QMessageBox::No) { return false; } Service<ModelServices>()->destroyElement(pResult); } } mProgress.report("Begin convolution matrix execution.", 0, NORMAL); ModelResource<RasterElement> pResult(RasterUtilities::createRasterElement( mResultName, iterChecker.getNumSelectedRows(), iterChecker.getNumSelectedColumns(), mInput.mBands.size(), resultType, mInput.mpDescriptor->getInterleaveFormat(), mInput.mpDescriptor->getProcessingLocation() == IN_MEMORY)); pResult->copyClassification(mInput.mpRaster); pResult->getMetadata()->merge(mInput.mpDescriptor->getMetadata()); //copy original metadata //chip metadata by bands vector<DimensionDescriptor> orgBands = mInput.mpDescriptor->getBands(); vector<DimensionDescriptor> newBands; newBands.reserve(mInput.mBands.size()); for (unsigned int index = 0; index < mInput.mBands.size(); ++index) { unsigned int selectedBand = mInput.mBands[index]; if (selectedBand < orgBands.size()) { newBands.push_back(orgBands[selectedBand]); } } RasterUtilities::chipMetadata(pResult->getMetadata(), mInput.mpDescriptor->getRows(), mInput.mpDescriptor->getColumns(), newBands); mInput.mpResult = pResult.get(); if (mInput.mpResult == NULL) { mProgress.report("Unable to create result data set.", 0, ERRORS, true); return false; } mInput.mpAbortFlag = &mAborted; mInput.mpIterCheck = &iterChecker; ConvolutionFilterThreadOutput outputData; mta::ProgressObjectReporter reporter("Convolving", mProgress.getCurrentProgress()); mta::MultiThreadedAlgorithm<ConvolutionFilterThreadInput, ConvolutionFilterThreadOutput, ConvolutionFilterThread> alg(mta::getNumRequiredThreads(iterChecker.getNumSelectedRows()), mInput, outputData, &reporter); switch(alg.run()) { case mta::SUCCESS: if (!isAborted()) { mProgress.report("Convolution filter complete.", 100, NORMAL); SpatialDataView* pView = displayResult(); if (Service<ApplicationServices>()->isInteractive() && pView == NULL) { return false; } pOutArgList->setPlugInArgValue("View", pView); pResult.release(); mProgress.upALevel(); return true; } // fall through case mta::ABORT: mProgress.report("Convolution filter aborted.", 0, ABORT, true); return false; case mta::FAILURE: mProgress.report("Convolution filter failed.", 0, ERRORS, true); return false; default: VERIFY(false); // can't happen } }