From 76944577bff2c69c072f964d987e0241b2fe7634 Mon Sep 17 00:00:00 2001 From: Stephane ALBERT Date: Tue, 19 Dec 2017 12:45:52 +0100 Subject: [PATCH 0001/2567] BUG: Fixed incorrect conditional expression related to overviews generation settings. --- Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx b/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx index 6b1d92cf58..80155f6fdb 100644 --- a/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx +++ b/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx @@ -1376,7 +1376,7 @@ MainWindow ) ); - if( !( value.isValid() ? value.toBool() : OVERVIEWS_ENABLED_DEFAULT ) || + if( ( value.isValid() ? value.toBool() : OVERVIEWS_ENABLED_DEFAULT ) && !BuildGDALOverviews( filenames ) ) return; } -- GitLab From 87c741e1587baca9311422c5a6d269d4f32f88ec Mon Sep 17 00:00:00 2001 From: Rashad Kanavath Date: Fri, 13 Apr 2018 17:00:59 +0200 Subject: [PATCH 0002/2567] WIP: set no data via extended file name --- .../otbExtendedFilenameToWriterOptions.h | 10 +++++ .../otbExtendedFilenameToWriterOptions.cxx | 43 +++++++++++++++++++ Modules/IO/IOGDAL/include/otbGDALImageIO.h | 11 +++++ Modules/IO/IOGDAL/src/otbGDALImageIO.cxx | 5 +++ .../IO/ImageIO/include/otbImageFileWriter.txx | 4 +- 5 files changed, 72 insertions(+), 1 deletion(-) diff --git a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h index 81909d1528..fd9959d81c 100644 --- a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h +++ b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h @@ -76,12 +76,22 @@ public: std::vector optionList; }; + typedef std::pair NoDataPairType; + typedef std::vector NoDataListType; + NoDataListType m_NoDataList; + bool has_noDataValue; + /* Set Methods */ void SetExtendedFileName(const char * extFname) ITK_OVERRIDE; /* Get Methods */ bool SimpleFileNameIsSet () const; + bool NoDataValueIsSet () const; bool WriteGEOMFileIsSet () const; bool WriteRPCTagsIsSet() const; + NoDataListType GetNoDataList () const { + return m_NoDataList; + } + bool GetWriteGEOMFile () const; bool GetWriteRPCTags() const; bool gdalCreationOptionsIsSet () const; diff --git a/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx b/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx index b3413fdc53..6d2481a7b8 100644 --- a/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx +++ b/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx @@ -22,6 +22,7 @@ #include "otb_boost_string_header.h" #include #include "otb_boost_tokenizer_header.h" +#include "otbStringUtils.h" namespace otb { @@ -37,6 +38,8 @@ ExtendedFilenameToWriterOptions m_Options.writeRPCTags.first = false; m_Options.writeRPCTags.second = false; + + has_noDataValue = false; m_Options.gdalCreationOptions.first = false; m_Options.streamingType.first = false; @@ -51,6 +54,7 @@ ExtendedFilenameToWriterOptions m_Options.optionList.push_back("streaming:type"); m_Options.optionList.push_back("streaming:sizemode"); m_Options.optionList.push_back("streaming:sizevalue"); + m_Options.optionList.push_back("nodata"); m_Options.optionList.push_back("box"); m_Options.optionList.push_back("bands"); } @@ -93,6 +97,38 @@ ExtendedFilenameToWriterOptions m_Options.writeGEOMFile.second = false; } } + + if (!map["nodata"].empty()) + { + std::string nodata_values = map["nodata"]; + std::vector nodata_list; + boost::split(nodata_list, nodata_values, boost::is_any_of(","), + boost::token_compress_on); + std::vector::const_iterator listIt = nodata_list.begin(); + for(; listIt != nodata_list.end(); ++listIt) { + std::string nodata_pair = (*listIt); + std::vector per_band_no_data; + boost::split(per_band_no_data, + nodata_pair, + boost::is_any_of(":"), + boost::token_compress_on); + if (per_band_no_data.size() == 1) + { + double val = Utils::LexicalCast(per_band_no_data[0], + "nodata value"); + m_NoDataList.push_back(NoDataPairType(1, val)); + } + else + { + int band = Utils::LexicalCast(per_band_no_data[0], + "nodata value"); + double val = Utils::LexicalCast(per_band_no_data[1], + "nodata value"); + m_NoDataList.push_back(NoDataPairType(band, val)); + } + } + has_noDataValue = true; + } if (!map["writerpctags"].empty()) { @@ -204,6 +240,13 @@ ExtendedFilenameToWriterOptions } } +bool +ExtendedFilenameToWriterOptions +::NoDataValueIsSet () const +{ + return has_noDataValue; +} + bool ExtendedFilenameToWriterOptions ::SimpleFileNameIsSet () const diff --git a/Modules/IO/IOGDAL/include/otbGDALImageIO.h b/Modules/IO/IOGDAL/include/otbGDALImageIO.h index 49b4678ac4..70187dabcb 100644 --- a/Modules/IO/IOGDAL/include/otbGDALImageIO.h +++ b/Modules/IO/IOGDAL/include/otbGDALImageIO.h @@ -81,6 +81,10 @@ public: typedef std::vector GDALCreationOptionsType; + typedef std::vector< + std::pair + > NoDataListType; + /** Method for creation through the object factory. */ itkNewMacro(Self); @@ -111,6 +115,8 @@ public: m_CreationOptions = opts; } + void SetNoDataList(NoDataListType v) { m_NoDataList = v; } + GDALCreationOptionsType GetOptions(void) { return m_CreationOptions; @@ -188,6 +194,8 @@ public: /** Returns gdal pixel type as string */ std::string GetGdalPixelTypeAsString() const; + int NbBands() { return m_NbBands;} + protected: /** * Constructor. @@ -281,6 +289,9 @@ private: * True if RPC tags should be exported */ bool m_WriteRPCTags; + + + NoDataListType m_NoDataList; }; diff --git a/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx b/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx index 28d6700f52..c026462e57 100644 --- a/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx +++ b/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx @@ -1847,6 +1847,11 @@ void GDALImageIO::InternalWriteImageInformation(const void* buffer) } } } + + NoDataListType::const_iterator noDataIt = m_NoDataList.begin(); + for(; noDataIt != m_NoDataList.end(); ++noDataIt) + dataset->GetRasterBand(noDataIt->first)->SetNoDataValue(noDataIt->second); + } std::string GDALImageIO::FilenameToGdalDriverShortName(const std::string& name) const diff --git a/Modules/IO/ImageIO/include/otbImageFileWriter.txx b/Modules/IO/ImageIO/include/otbImageFileWriter.txx index b1472291f1..6304fb89e7 100644 --- a/Modules/IO/ImageIO/include/otbImageFileWriter.txx +++ b/Modules/IO/ImageIO/include/otbImageFileWriter.txx @@ -456,7 +456,7 @@ ImageFileWriter // Manage extended filename if ((strcmp(m_ImageIO->GetNameOfClass(), "GDALImageIO") == 0) - && (m_FilenameHelper->gdalCreationOptionsIsSet() || m_FilenameHelper->WriteRPCTagsIsSet()) ) + && (m_FilenameHelper->gdalCreationOptionsIsSet() || m_FilenameHelper->WriteRPCTagsIsSet() || m_FilenameHelper->NoDataValueIsSet()) ) { typename GDALImageIO::Pointer imageIO = dynamic_cast(m_ImageIO.GetPointer()); @@ -471,6 +471,8 @@ ImageFileWriter imageIO->SetOptions(m_FilenameHelper->GetgdalCreationOptions()); imageIO->SetWriteRPCTags(m_FilenameHelper->GetWriteRPCTags()); + if (m_FilenameHelper->NoDataValueIsSet() ) + imageIO->SetNoDataList(m_FilenameHelper->GetNoDataList()); } -- GitLab From 2d2e94f87f902256e014aaede67ffdfe90fcb90d Mon Sep 17 00:00:00 2001 From: remi cresson Date: Thu, 19 Apr 2018 10:45:36 +0000 Subject: [PATCH 0003/2567] ENH: use the generic value map type (PixelValueMapType instead of MeanValueMapType) --- Modules/Applications/AppImageUtils/app/otbColorMapping.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx b/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx index 929633021b..eff55b8a4f 100644 --- a/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx +++ b/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx @@ -620,14 +620,14 @@ private: AddProcess(m_StatisticsMapFromLabelImageFilter->GetStreamer(), "Computing statistics on labels..."); m_StatisticsMapFromLabelImageFilter->Update(); - StreamingStatisticsMapFromLabelImageFilterType::MeanValueMapType + StreamingStatisticsMapFromLabelImageFilterType::PixelValueMapType labelToMeanIntensityMap = m_StatisticsMapFromLabelImageFilter->GetMeanValueMap(); m_RBGFromImageMapper = ChangeLabelFilterType::New(); m_RBGFromImageMapper->SetInput(m_CasterToLabelImage->GetOutput()); m_RBGFromImageMapper->SetNumberOfComponentsPerPixel(3); - StreamingStatisticsMapFromLabelImageFilterType::MeanValueMapType::const_iterator + StreamingStatisticsMapFromLabelImageFilterType::PixelValueMapType::const_iterator mapIt = labelToMeanIntensityMap.begin(); FloatVectorImageType::PixelType meanValue; -- GitLab From edf41c4fced01f6ea646be45f15cabd665347085 Mon Sep 17 00:00:00 2001 From: remi cresson Date: Thu, 19 Apr 2018 10:46:13 +0000 Subject: [PATCH 0004/2567] ENH: implement computation of mean, stdev, min, max, count --- ...reamingStatisticsMapFromLabelImageFilter.h | 152 ++++++++++++++++-- ...amingStatisticsMapFromLabelImageFilter.txx | 130 ++++++++++++--- 2 files changed, 248 insertions(+), 34 deletions(-) diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h index d917452638..0953c186e7 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h @@ -32,6 +32,101 @@ namespace otb { +/** \class StatisticsMapAccumulator + * \brief Holds statistics for each label of a label image + * + * TODO: enrich, create base class for this, and move class in other source code? + */ +template +class StatisticsAccumulator +{ +public: + + typedef typename TRealVectorPixelType::ValueType RealValueType; + + // Constructor (default) + StatisticsAccumulator(){} + + // Constructor (initialize the accumulator with the given pixel) + StatisticsAccumulator(const TRealVectorPixelType & pixel) + { + m_Count = 1; + m_Sum = pixel; + m_Min = pixel; + m_Max = pixel; + m_SqSum = pixel; + for (unsigned int band = 0 ; band < m_SqSum.GetSize() ; band++) + m_SqSum[band] *= m_SqSum[band]; + } + + // Constructor (other) + StatisticsAccumulator(const StatisticsAccumulator & other) + { + m_Count = other.m_Count; + m_Sum = other.m_Sum; + m_Min = other.m_Min; + m_Max = other.m_Max; + m_SqSum = other.m_SqSum; + } + + // Destructor + ~StatisticsAccumulator(){} + + // Function update (pixel) + void Update(const TRealVectorPixelType & pixel) + { + m_Count++; + const unsigned int nBands = pixel.GetSize(); + for (unsigned int band = 0 ; band < nBands ; band ++ ) + { + const RealValueType value = pixel[band]; + const RealValueType sqValue = value * value; + UpdateValues(value, sqValue, value, value, + m_Sum[band], m_SqSum[band], m_Min[band], m_Max[band]); + } + } + + // Function update (self) + void Update(const StatisticsAccumulator & other) + { + m_Count += other.m_Count; + const unsigned int nBands = other.m_Sum.GetSize(); + for (unsigned int band = 0 ; band < nBands ; band ++ ) + { + UpdateValues(other.m_Sum[band], other.m_SqSum[band], other.m_Min[band], other.m_Max[band], + m_Sum[band], m_SqSum[band], m_Min[band], m_Max[band]); + } + } + + // Accessors + const TRealVectorPixelType GetSum() { return m_Sum; } + const TRealVectorPixelType GetSqSum() { return m_SqSum; } + const TRealVectorPixelType GetMin() { return m_Min; } + const TRealVectorPixelType GetMax() { return m_Max; } + double GetCount() { return m_Count; } + +private: + void UpdateValues(const RealValueType & otherSum, const RealValueType & otherSqSum, + const RealValueType & otherMin, const RealValueType & otherMax, + RealValueType & sum, RealValueType & sqSum, + RealValueType & min, RealValueType & max) + { + sum += otherSum; + sqSum += otherSqSum; + if (otherMin < min) + min = otherMin; + if (otherMax > max) + max = otherMax; + } + +protected: + TRealVectorPixelType m_Sum; + TRealVectorPixelType m_SqSum; + TRealVectorPixelType m_Min; + TRealVectorPixelType m_Max; + double m_Count; +}; + /** \class PersistentStreamingStatisticsMapFromLabelImageFilter * \brief Computes mean radiometric value for each label of a label image, based on a support VectorImage * @@ -75,9 +170,13 @@ public: typedef typename TLabelImage::Pointer LabelImagePointer; typedef typename VectorImageType::PixelType VectorPixelType; + typedef typename VectorImageType::PixelType::ValueType VectorPixelValueType; typedef typename LabelImageType::PixelType LabelPixelType; - typedef std::map > MeanValueMapType; - typedef std::map LabelPopulationMapType; + typedef itk::VariableLengthVector RealVectorPixelType; + typedef StatisticsAccumulator AccumulatorType; + typedef std::map AccumulatorMapType; + typedef std::map PixelValueMapType; + typedef std::map LabelPopulationMapType; itkStaticConstMacro(InputImageDimension, unsigned int, TInputVectorImage::ImageDimension); @@ -94,7 +193,7 @@ public: typedef typename ImageBaseType::RegionType InputImageRegionType; /** Type of DataObjects used for scalar outputs */ - typedef itk::SimpleDataObjectDecorator MeanValueMapObjectType; + typedef itk::SimpleDataObjectDecorator PixelValueMapObjectType; /** Set input label image */ virtual void SetInputLabelImage( const LabelImageType *image); @@ -103,7 +202,16 @@ public: virtual const LabelImageType * GetInputLabelImage(); /** Return the computed Mean for each label in the input label image */ - MeanValueMapType GetMeanValueMap() const; + PixelValueMapType GetMeanValueMap() const; + + /** Return the computed Standard Deviation for each label in the input label image */ + PixelValueMapType GetStandardDeviationValueMap() const; + + /** Return the computed Min for each label in the input label image */ + PixelValueMapType GetMinValueMap() const; + + /** Return the computed Max for each label in the input label image */ + PixelValueMapType GetMaxValueMap() const; /** Return the computed number of labeled pixels for each label in the input label image */ LabelPopulationMapType GetLabelPopulationMap() const; @@ -134,13 +242,21 @@ protected: void PrintSelf(std::ostream& os, itk::Indent indent) const override; /** GenerateData. */ - void GenerateData() override; + void GenerateData() override; private: PersistentStreamingStatisticsMapFromLabelImageFilter(const Self &); //purposely not implemented void operator =(const Self&); //purposely not implemented - MeanValueMapType m_RadiometricValueAccumulator; + // Internal + AccumulatorMapType accumulator; + + // User + PixelValueMapType m_MeanRadiometricValue; + PixelValueMapType m_StDevRadiometricValue; + PixelValueMapType m_MinRadiometricValue; + PixelValueMapType m_MaxRadiometricValue; + LabelPopulationMapType m_LabelPopulation; }; // end of class PersistentStreamingStatisticsMapFromLabelImageFilter @@ -212,8 +328,8 @@ public: typedef TInputVectorImage VectorImageType; typedef TLabelImage LabelImageType; - typedef typename Superclass::FilterType::MeanValueMapType MeanValueMapType; - typedef typename Superclass::FilterType::MeanValueMapObjectType MeanValueMapObjectType; + typedef typename Superclass::FilterType::PixelValueMapType PixelValueMapType; + typedef typename Superclass::FilterType::PixelValueMapObjectType PixelValueMapObjectType; typedef typename Superclass::FilterType::LabelPopulationMapType LabelPopulationMapType; @@ -243,11 +359,29 @@ public: } /** Return the computed Mean for each label */ - MeanValueMapType GetMeanValueMap() const + PixelValueMapType GetMeanValueMap() const { return this->GetFilter()->GetMeanValueMap(); } + /** Return the computed Standard Deviation for each label */ + PixelValueMapType GetStandardDeviationValueMap() const + { + return this->GetFilter()->GetStandardDeviationValueMap(); + } + + /** Return the computed Min for each label */ + PixelValueMapType GetMinValueMap() const + { + return this->GetFilter()->GetMinValueMap(); + } + + /** Return the computed Max for each label */ + PixelValueMapType GetMaxValueMap() const + { + return this->GetFilter()->GetMaxValueMap(); + } + /** Return the computed number of labeled pixels for each label */ LabelPopulationMapType GetLabelPopulationMap() const { diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx index dcff0ee176..ec38a13411 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx @@ -41,8 +41,8 @@ PersistentStreamingStatisticsMapFromLabelImageFilter(this->MakeOutput(1).GetPointer()); + typename PixelValueMapObjectType::Pointer output + = static_cast(this->MakeOutput(1).GetPointer()); this->itk::ProcessObject::SetNthOutput(1, output.GetPointer()); this->Reset(); @@ -60,7 +60,16 @@ PersistentStreamingStatisticsMapFromLabelImageFilter(TInputVectorImage::New().GetPointer()); break; case 1: - return static_cast(MeanValueMapObjectType::New().GetPointer()); + return static_cast(PixelValueMapObjectType::New().GetPointer()); + break; + case 2: + return static_cast(PixelValueMapObjectType::New().GetPointer()); + break; + case 3: + return static_cast(PixelValueMapObjectType::New().GetPointer()); + break; + case 4: + return static_cast(PixelValueMapObjectType::New().GetPointer()); break; default: // might as well make an image @@ -90,11 +99,35 @@ PersistentStreamingStatisticsMapFromLabelImageFilter -typename PersistentStreamingStatisticsMapFromLabelImageFilter::MeanValueMapType +typename PersistentStreamingStatisticsMapFromLabelImageFilter::PixelValueMapType PersistentStreamingStatisticsMapFromLabelImageFilter ::GetMeanValueMap() const { - return m_RadiometricValueAccumulator; + return m_MeanRadiometricValue; +} + +template +typename PersistentStreamingStatisticsMapFromLabelImageFilter::PixelValueMapType +PersistentStreamingStatisticsMapFromLabelImageFilter +::GetStandardDeviationValueMap() const +{ + return m_StDevRadiometricValue; +} + +template +typename PersistentStreamingStatisticsMapFromLabelImageFilter::PixelValueMapType +PersistentStreamingStatisticsMapFromLabelImageFilter +::GetMinValueMap() const +{ + return m_MinRadiometricValue; +} + +template +typename PersistentStreamingStatisticsMapFromLabelImageFilter::PixelValueMapType +PersistentStreamingStatisticsMapFromLabelImageFilter +::GetMaxValueMap() const +{ + return m_MaxRadiometricValue; } template @@ -140,20 +173,69 @@ template void PersistentStreamingStatisticsMapFromLabelImageFilter ::Synthetize() -{ - typename MeanValueMapType::iterator it; - for(it = m_RadiometricValueAccumulator.begin(); it != m_RadiometricValueAccumulator.end(); it++) - { - it->second = it->second / m_LabelPopulation[it->first]; - } -} + { + // Update temporary accumulator + AccumulatorMapType outputAcc; + typename AccumulatorMapType::iterator it; + for(it = accumulator.begin(); it != accumulator.end(); it++) + { + const LabelPixelType label = it->first; + if (outputAcc.count(label) <= 0) + { + AccumulatorType newAcc(it->second); + outputAcc[label] = newAcc; + } + else + { + outputAcc[label].Update(it->second); + } + } + + // Publish output maps + for(it = outputAcc.begin(); it != outputAcc.end(); it++) + { + const LabelPixelType label = it->first; + const double count = it->second.GetCount(); + const RealVectorPixelType sum = it->second.GetSum(); + const RealVectorPixelType sqSum = it->second.GetSqSum(); + + // Count + m_LabelPopulation[label] = count; + + // Mean & stdev + RealVectorPixelType mean (sum); + RealVectorPixelType std (sqSum); + for (unsigned int band = 0 ; band < mean.GetSize() ; band++) + { + // Mean + mean[band] /= count; + + // Unbiased standard deviation (not sure unbiased is usefull here) + const double variance = (sqSum[band] - (sum[band] * mean[band])) / (count - 1); + std[band] = vcl_sqrt(variance); + } + m_MeanRadiometricValue[label] = mean; + m_StDevRadiometricValue[label] = std; + + // Min & max + m_MinRadiometricValue[label] = it->second.GetMin(); + m_MaxRadiometricValue[label] = it->second.GetMax(); + } + + } template void PersistentStreamingStatisticsMapFromLabelImageFilter ::Reset() { - m_RadiometricValueAccumulator.clear(); + accumulator.clear(); + + m_MeanRadiometricValue.clear(); + m_StDevRadiometricValue.clear(); + m_MinRadiometricValue.clear(); + m_MaxRadiometricValue.clear(); + m_LabelPopulation.clear(); } template @@ -200,7 +282,7 @@ PersistentStreamingStatisticsMapFromLabelImageFilter inIt(inputPtr, inputPtr->GetRequestedRegion()); itk::ImageRegionConstIterator labelIt(labelInputPtr, labelInputPtr->GetRequestedRegion()); - itk::VariableLengthVector zeroValue(inputPtr->GetNumberOfComponentsPerPixel()); + RealVectorPixelType zeroValue(inputPtr->GetNumberOfComponentsPerPixel()); zeroValue.Fill(0.0); typename VectorImageType::PixelType value; @@ -212,18 +294,16 @@ PersistentStreamingStatisticsMapFromLabelImageFilter Date: Thu, 19 Apr 2018 10:48:14 +0000 Subject: [PATCH 0005/2567] REFAC: rename accumulator to accumulatorMap, add ingroup in class StatisticsAccumulator --- .../otbStreamingStatisticsMapFromLabelImageFilter.h | 4 +++- .../otbStreamingStatisticsMapFromLabelImageFilter.txx | 10 +++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h index 0953c186e7..d60d9ca441 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h @@ -36,6 +36,8 @@ namespace otb * \brief Holds statistics for each label of a label image * * TODO: enrich, create base class for this, and move class in other source code? + * + * \ingroup OTBStatistics */ template class StatisticsAccumulator @@ -249,7 +251,7 @@ private: void operator =(const Self&); //purposely not implemented // Internal - AccumulatorMapType accumulator; + AccumulatorMapType accumulatorMap; // User PixelValueMapType m_MeanRadiometricValue; diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx index ec38a13411..a44bda55a0 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx @@ -177,7 +177,7 @@ PersistentStreamingStatisticsMapFromLabelImageFilterfirst; if (outputAcc.count(label) <= 0) @@ -229,7 +229,7 @@ void PersistentStreamingStatisticsMapFromLabelImageFilter ::Reset() { - accumulator.clear(); + accumulatorMap.clear(); m_MeanRadiometricValue.clear(); m_StDevRadiometricValue.clear(); @@ -295,14 +295,14 @@ PersistentStreamingStatisticsMapFromLabelImageFilter Date: Thu, 19 Apr 2018 11:10:45 +0000 Subject: [PATCH 0006/2567] ENH: implement the multithreaded version --- ...reamingStatisticsMapFromLabelImageFilter.h | 20 ++++-- ...amingStatisticsMapFromLabelImageFilter.txx | 62 +++++++++++-------- 2 files changed, 50 insertions(+), 32 deletions(-) diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h index d60d9ca441..99700d4aa0 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h @@ -35,7 +35,17 @@ namespace otb /** \class StatisticsMapAccumulator * \brief Holds statistics for each label of a label image * - * TODO: enrich, create base class for this, and move class in other source code? + * Intended to store and update the following statistics: + * -count + * -sum of values + * -sum of squared values + * -min + * -max + * + * TODO: + * -Better architecture? + * -Enrich with other statistics? + * -Move this class in a dedicated source to enable its use by other otbStatistics stuff? * * \ingroup OTBStatistics */ @@ -139,7 +149,6 @@ protected: * * To get the statistics once the regions have been processed via the pipeline, use the Synthetize() method. * - * \todo Implement other statistics (min, max, stddev...) * * \sa StreamingStatisticsMapFromLabelImageFilter * \ingroup Streamed @@ -171,12 +180,14 @@ public: typedef TLabelImage LabelImageType; typedef typename TLabelImage::Pointer LabelImagePointer; + typedef typename VectorImageType::RegionType RegionType; typedef typename VectorImageType::PixelType VectorPixelType; typedef typename VectorImageType::PixelType::ValueType VectorPixelValueType; typedef typename LabelImageType::PixelType LabelPixelType; typedef itk::VariableLengthVector RealVectorPixelType; typedef StatisticsAccumulator AccumulatorType; typedef std::map AccumulatorMapType; + typedef std::vector AccumulatorMapCollectionType; typedef std::map PixelValueMapType; typedef std::map LabelPopulationMapType; @@ -243,15 +254,14 @@ protected: ~PersistentStreamingStatisticsMapFromLabelImageFilter() override {} void PrintSelf(std::ostream& os, itk::Indent indent) const override; - /** GenerateData. */ - void GenerateData() override; + void ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId ) override; private: PersistentStreamingStatisticsMapFromLabelImageFilter(const Self &); //purposely not implemented void operator =(const Self&); //purposely not implemented // Internal - AccumulatorMapType accumulatorMap; + AccumulatorMapCollectionType accumulatorMaps; // User PixelValueMapType m_MeanRadiometricValue; diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx index a44bda55a0..becf02f60c 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx @@ -176,28 +176,31 @@ PersistentStreamingStatisticsMapFromLabelImageFilterfirst; - if (outputAcc.count(label) <= 0) - { - AccumulatorType newAcc(it->second); - outputAcc[label] = newAcc; - } - else + for(auto& it: threadAccMap) { - outputAcc[label].Update(it->second); + const LabelPixelType label = it.first; + if (outputAcc.count(label) <= 0) + { + AccumulatorType newAcc(it.second); + outputAcc[label] = newAcc; + } + else + { + outputAcc[label].Update(it.second); + } } } // Publish output maps - for(it = outputAcc.begin(); it != outputAcc.end(); it++) + for(auto& it: outputAcc) { - const LabelPixelType label = it->first; - const double count = it->second.GetCount(); - const RealVectorPixelType sum = it->second.GetSum(); - const RealVectorPixelType sqSum = it->second.GetSqSum(); + const LabelPixelType label = it.first; + const double count = it.second.GetCount(); + const RealVectorPixelType sum = it.second.GetSum(); + const RealVectorPixelType sqSum = it.second.GetSqSum(); // Count m_LabelPopulation[label] = count; @@ -218,8 +221,8 @@ PersistentStreamingStatisticsMapFromLabelImageFiltersecond.GetMin(); - m_MaxRadiometricValue[label] = it->second.GetMax(); + m_MinRadiometricValue[label] = it.second.GetMin(); + m_MaxRadiometricValue[label] = it.second.GetMax(); } } @@ -229,13 +232,19 @@ void PersistentStreamingStatisticsMapFromLabelImageFilter ::Reset() { - accumulatorMap.clear(); + accumulatorMaps.clear(); m_MeanRadiometricValue.clear(); m_StDevRadiometricValue.clear(); m_MinRadiometricValue.clear(); m_MaxRadiometricValue.clear(); m_LabelPopulation.clear(); + + for (itk::ThreadIdType thread = 0 ; thread < this->GetNumberOfThreads() ; thread++) + { + AccumulatorMapType newMap; + accumulatorMaps.push_back(newMap); + } } template @@ -271,7 +280,7 @@ PersistentStreamingStatisticsMapFromLabelImageFilter void PersistentStreamingStatisticsMapFromLabelImageFilter -::GenerateData() +::ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId ) { /** * Grab the input @@ -279,14 +288,12 @@ PersistentStreamingStatisticsMapFromLabelImageFilter(this->GetInput()); LabelImagePointer labelInputPtr = const_cast(this->GetInputLabelImage()); - itk::ImageRegionConstIterator inIt(inputPtr, inputPtr->GetRequestedRegion()); - itk::ImageRegionConstIterator labelIt(labelInputPtr, labelInputPtr->GetRequestedRegion()); - - RealVectorPixelType zeroValue(inputPtr->GetNumberOfComponentsPerPixel()); - zeroValue.Fill(0.0); + itk::ImageRegionConstIterator inIt(inputPtr, outputRegionForThread); + itk::ImageRegionConstIterator labelIt(labelInputPtr, outputRegionForThread); typename VectorImageType::PixelType value; typename LabelImageType::PixelType label; + // do the work for (inIt.GoToBegin(), labelIt.GoToBegin(); !inIt.IsAtEnd() && !labelIt.IsAtEnd(); @@ -295,14 +302,15 @@ PersistentStreamingStatisticsMapFromLabelImageFilter Date: Thu, 19 Apr 2018 12:35:25 +0000 Subject: [PATCH 0007/2567] DOC: correct documentation + code source indent --- .../otbStreamingStatisticsImageFilter.txx | 94 +++++++++---------- ...reamingStatisticsMapFromLabelImageFilter.h | 24 +++-- 2 files changed, 58 insertions(+), 60 deletions(-) diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.txx b/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.txx index 0c6e758c9c..a884312ade 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.txx +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.txx @@ -40,7 +40,7 @@ PersistentStatisticsImageFilter m_ThreadMax(1), m_IgnoreInfiniteValues(true), m_IgnoreUserDefinedValue(false) -{ + { // first output is a copy of the image, DataObject created by // superclass // @@ -49,7 +49,7 @@ PersistentStatisticsImageFilter for (int i = 1; i < 3; ++i) { typename PixelObjectType::Pointer output - = static_cast(this->MakeOutput(i).GetPointer()); + = static_cast(this->MakeOutput(i).GetPointer()); this->itk::ProcessObject::SetNthOutput(i, output.GetPointer()); } // allocate the data objects for the outputs which are @@ -57,7 +57,7 @@ PersistentStatisticsImageFilter for (int i = 3; i < 7; ++i) { typename RealObjectType::Pointer output - = static_cast(this->MakeOutput(i).GetPointer()); + = static_cast(this->MakeOutput(i).GetPointer()); this->itk::ProcessObject::SetNthOutput(i, output.GetPointer()); } @@ -73,15 +73,15 @@ PersistentStatisticsImageFilter m_IgnoredUserPixelCount= std::vector(this->GetNumberOfThreads(), 0); this->Reset(); -} + } template typename itk::DataObject::Pointer PersistentStatisticsImageFilter ::MakeOutput(DataObjectPointerArraySizeType output) -{ + { switch (output) - { + { case 0: return static_cast(TInputImage::New().GetPointer()); break; @@ -101,109 +101,109 @@ PersistentStatisticsImageFilter // might as well make an image return static_cast(TInputImage::New().GetPointer()); break; - } -} + } + } template typename PersistentStatisticsImageFilter::PixelObjectType* PersistentStatisticsImageFilter ::GetMinimumOutput() -{ + { return static_cast(this->itk::ProcessObject::GetOutput(1)); -} + } template const typename PersistentStatisticsImageFilter::PixelObjectType* PersistentStatisticsImageFilter ::GetMinimumOutput() const -{ + { return static_cast(this->itk::ProcessObject::GetOutput(1)); -} + } template typename PersistentStatisticsImageFilter::PixelObjectType* PersistentStatisticsImageFilter ::GetMaximumOutput() -{ + { return static_cast(this->itk::ProcessObject::GetOutput(2)); -} + } template const typename PersistentStatisticsImageFilter::PixelObjectType* PersistentStatisticsImageFilter ::GetMaximumOutput() const -{ + { return static_cast(this->itk::ProcessObject::GetOutput(2)); -} + } template typename PersistentStatisticsImageFilter::RealObjectType* PersistentStatisticsImageFilter ::GetMeanOutput() -{ + { return static_cast(this->itk::ProcessObject::GetOutput(3)); -} + } template const typename PersistentStatisticsImageFilter::RealObjectType* PersistentStatisticsImageFilter ::GetMeanOutput() const -{ + { return static_cast(this->itk::ProcessObject::GetOutput(3)); -} + } template typename PersistentStatisticsImageFilter::RealObjectType* PersistentStatisticsImageFilter ::GetSigmaOutput() -{ + { return static_cast(this->itk::ProcessObject::GetOutput(4)); -} + } template const typename PersistentStatisticsImageFilter::RealObjectType* PersistentStatisticsImageFilter ::GetSigmaOutput() const -{ + { return static_cast(this->itk::ProcessObject::GetOutput(4)); -} + } template typename PersistentStatisticsImageFilter::RealObjectType* PersistentStatisticsImageFilter ::GetVarianceOutput() -{ + { return static_cast(this->itk::ProcessObject::GetOutput(5)); -} + } template const typename PersistentStatisticsImageFilter::RealObjectType* PersistentStatisticsImageFilter ::GetVarianceOutput() const -{ + { return static_cast(this->itk::ProcessObject::GetOutput(5)); -} + } template typename PersistentStatisticsImageFilter::RealObjectType* PersistentStatisticsImageFilter ::GetSumOutput() -{ + { return static_cast(this->itk::ProcessObject::GetOutput(6)); -} + } template const typename PersistentStatisticsImageFilter::RealObjectType* PersistentStatisticsImageFilter ::GetSumOutput() const -{ + { return static_cast(this->itk::ProcessObject::GetOutput(6)); -} + } template void PersistentStatisticsImageFilter ::GenerateOutputInformation() -{ + { Superclass::GenerateOutputInformation(); if (this->GetInput()) { @@ -215,24 +215,24 @@ PersistentStatisticsImageFilter this->GetOutput()->SetRequestedRegion(this->GetOutput()->GetLargestPossibleRegion()); } } -} + } template void PersistentStatisticsImageFilter ::AllocateOutputs() -{ + { // This is commented to prevent the streaming of the whole image for the first stream strip // It shall not cause any problem because the output image of this filter is not intended to be used. //InputImagePointer image = const_cast< TInputImage * >( this->GetInput() ); //this->GraftOutput( image ); // Nothing that needs to be allocated for the remaining outputs -} + } template void PersistentStatisticsImageFilter ::Synthetize() -{ + { int i; long count; RealType sumOfSquares; @@ -277,7 +277,7 @@ PersistentStatisticsImageFilter { // unbiased estimate variance = (sumOfSquares - (sum * sum / static_cast(count))) - / static_cast(count - 1); + / static_cast(count - 1); sigma = vcl_sqrt(variance); } } @@ -293,13 +293,13 @@ PersistentStatisticsImageFilter this->GetSigmaOutput()->Set(sigma); this->GetVarianceOutput()->Set(variance); this->GetSumOutput()->Set(sum); -} + } template void PersistentStatisticsImageFilter ::Reset() -{ + { int numberOfThreads = this->GetNumberOfThreads(); // Resize the thread temporaries @@ -323,14 +323,14 @@ PersistentStatisticsImageFilter { m_IgnoredUserPixelCount= std::vector(this->GetNumberOfThreads(), 0); } -} + } template void PersistentStatisticsImageFilter ::ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) -{ + { /** * Grab the input */ @@ -378,22 +378,22 @@ PersistentStatisticsImageFilter ++it; progress.CompletedPixel(); } -} + } template void PersistentStatisticsImageFilter ::PrintSelf(std::ostream& os, itk::Indent indent) const -{ + { Superclass::PrintSelf(os, indent); os << indent << "Minimum: " - << static_cast::PrintType>(this->GetMinimum()) << std::endl; + << static_cast::PrintType>(this->GetMinimum()) << std::endl; os << indent << "Maximum: " - << static_cast::PrintType>(this->GetMaximum()) << std::endl; + << static_cast::PrintType>(this->GetMaximum()) << std::endl; os << indent << "Sum: " << this->GetSum() << std::endl; os << indent << "Mean: " << this->GetMean() << std::endl; os << indent << "Sigma: " << this->GetSigma() << std::endl; os << indent << "Variance: " << this->GetVariance() << std::endl; -} + } } // end namespace otb #endif diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h index 99700d4aa0..f84602b9d8 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h @@ -94,7 +94,7 @@ public: const RealValueType value = pixel[band]; const RealValueType sqValue = value * value; UpdateValues(value, sqValue, value, value, - m_Sum[band], m_SqSum[band], m_Min[band], m_Max[band]); + m_Sum[band], m_SqSum[band], m_Min[band], m_Max[band]); } } @@ -106,7 +106,7 @@ public: for (unsigned int band = 0 ; band < nBands ; band ++ ) { UpdateValues(other.m_Sum[band], other.m_SqSum[band], other.m_Min[band], other.m_Max[band], - m_Sum[band], m_SqSum[band], m_Min[band], m_Max[band]); + m_Sum[band], m_SqSum[band], m_Min[band], m_Max[band]); } } @@ -119,9 +119,9 @@ public: private: void UpdateValues(const RealValueType & otherSum, const RealValueType & otherSqSum, - const RealValueType & otherMin, const RealValueType & otherMax, - RealValueType & sum, RealValueType & sqSum, - RealValueType & min, RealValueType & max) + const RealValueType & otherMin, const RealValueType & otherMax, + RealValueType & sum, RealValueType & sqSum, + RealValueType & min, RealValueType & max) { sum += otherSum; sqSum += otherSqSum; @@ -159,7 +159,7 @@ protected: */ template class ITK_EXPORT PersistentStreamingStatisticsMapFromLabelImageFilter : - public PersistentImageFilter +public PersistentImageFilter { public: /** Standard Self typedef */ @@ -295,17 +295,15 @@ private: * StatisticsType::Pointer statistics = StatisticsType::New(); * statistics->SetInput(reader->GetOutput()); * statistics->Update(); - * StatisticsType::MeanValueMapType meanValueMap = statistics->GetMeanValueMap(); - * StatisticsType::MeanValueMapType::const_iterator end = meanValueMap(); - * for (StatisticsType::MeanValueMapType::const_iterator it = meanValueMap.begin(); it != end; ++it) + * StatisticsType::PixelValueMapType meanValueMap = statistics->GetMeanValueMap(); + * StatisticsType::PixelValueMapType::const_iterator end = meanValueMap(); + * for (StatisticsType::PixelValueMapType::const_iterator it = meanValueMap.begin(); it != end; ++it) * { * std::cout << "label : " << it->first << " , "; * << "mean value : " << it->second << std::endl; * } * \endcode * - * \todo Implement other statistics (min, max, stddev...) - * \todo Reimplement as a multi-threaded filter * * \sa PersistentStatisticsImageFilter * \sa PersistentImageFilter @@ -321,13 +319,13 @@ private: template class ITK_EXPORT StreamingStatisticsMapFromLabelImageFilter : - public PersistentFilterStreamingDecorator > +public PersistentFilterStreamingDecorator > { public: /** Standard Self typedef */ typedef StreamingStatisticsMapFromLabelImageFilter Self; typedef PersistentFilterStreamingDecorator - > Superclass; + > Superclass; typedef itk::SmartPointer Pointer; typedef itk::SmartPointer ConstPointer; -- GitLab From f48e4d1509b8c27c2a92f2c17f3a82e7c2eaf9db Mon Sep 17 00:00:00 2001 From: Guillaume Pasero Date: Thu, 19 Apr 2018 16:28:42 +0200 Subject: [PATCH 0008/2567] DOC: add CS copyright on modified files --- .../include/otbExtendedFilenameToWriterOptions.h | 1 + .../ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx | 1 + Modules/IO/IOGDAL/include/otbGDALImageIO.h | 1 + Modules/IO/IOGDAL/src/otbGDALImageIO.cxx | 1 + Modules/IO/ImageIO/include/otbImageFileWriter.txx | 1 + 5 files changed, 5 insertions(+) diff --git a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h index fd9959d81c..f0287b0f27 100644 --- a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h +++ b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h @@ -1,5 +1,6 @@ /* * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) + * Copyright (C) CS SI * * This file is part of Orfeo Toolbox * diff --git a/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx b/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx index 6d2481a7b8..81bf649532 100644 --- a/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx +++ b/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx @@ -1,5 +1,6 @@ /* * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) + * Copyright (C) CS SI * * This file is part of Orfeo Toolbox * diff --git a/Modules/IO/IOGDAL/include/otbGDALImageIO.h b/Modules/IO/IOGDAL/include/otbGDALImageIO.h index 70187dabcb..72fcfeaae3 100644 --- a/Modules/IO/IOGDAL/include/otbGDALImageIO.h +++ b/Modules/IO/IOGDAL/include/otbGDALImageIO.h @@ -1,5 +1,6 @@ /* * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) + * Copyright (C) CS SI * * This file is part of Orfeo Toolbox * diff --git a/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx b/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx index c026462e57..f2f40639f5 100644 --- a/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx +++ b/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx @@ -1,5 +1,6 @@ /* * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) + * Copyright (C) CS SI * * This file is part of Orfeo Toolbox * diff --git a/Modules/IO/ImageIO/include/otbImageFileWriter.txx b/Modules/IO/ImageIO/include/otbImageFileWriter.txx index 6304fb89e7..20475a22db 100644 --- a/Modules/IO/ImageIO/include/otbImageFileWriter.txx +++ b/Modules/IO/ImageIO/include/otbImageFileWriter.txx @@ -1,5 +1,6 @@ /* * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) + * Copyright (C) CS SI * * This file is part of Orfeo Toolbox * -- GitLab From 37dc36c04d440276e8387bafcae64bd00ef41229 Mon Sep 17 00:00:00 2001 From: remi cresson Date: Fri, 20 Apr 2018 08:58:49 +0000 Subject: [PATCH 0009/2567] REFAC: rename accumulatorMaps to m_AccumulatorMaps --- .../otbStreamingStatisticsMapFromLabelImageFilter.h | 5 ++--- ...otbStreamingStatisticsMapFromLabelImageFilter.txx | 12 ++++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h index f84602b9d8..3569ff7572 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h @@ -260,16 +260,15 @@ private: PersistentStreamingStatisticsMapFromLabelImageFilter(const Self &); //purposely not implemented void operator =(const Self&); //purposely not implemented - // Internal - AccumulatorMapCollectionType accumulatorMaps; + AccumulatorMapCollectionType m_AccumulatorMaps; - // User PixelValueMapType m_MeanRadiometricValue; PixelValueMapType m_StDevRadiometricValue; PixelValueMapType m_MinRadiometricValue; PixelValueMapType m_MaxRadiometricValue; LabelPopulationMapType m_LabelPopulation; + }; // end of class PersistentStreamingStatisticsMapFromLabelImageFilter diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx index becf02f60c..d2fc8add93 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx @@ -177,7 +177,7 @@ PersistentStreamingStatisticsMapFromLabelImageFilter ::Reset() { - accumulatorMaps.clear(); + m_AccumulatorMaps.clear(); m_MeanRadiometricValue.clear(); m_StDevRadiometricValue.clear(); @@ -243,7 +243,7 @@ PersistentStreamingStatisticsMapFromLabelImageFilterGetNumberOfThreads() ; thread++) { AccumulatorMapType newMap; - accumulatorMaps.push_back(newMap); + m_AccumulatorMaps.push_back(newMap); } } @@ -303,14 +303,14 @@ PersistentStreamingStatisticsMapFromLabelImageFilter Date: Fri, 20 Apr 2018 09:12:57 +0000 Subject: [PATCH 0010/2567] REFAC: use itkGetMacros --- .../otbStreamingStatisticsMapFromLabelImageFilter.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h index 3569ff7572..9e3d8c4ee2 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h @@ -111,11 +111,11 @@ public: } // Accessors - const TRealVectorPixelType GetSum() { return m_Sum; } - const TRealVectorPixelType GetSqSum() { return m_SqSum; } - const TRealVectorPixelType GetMin() { return m_Min; } - const TRealVectorPixelType GetMax() { return m_Max; } - double GetCount() { return m_Count; } + itkGetMacro(Sum, TRealVectorPixelType); + itkGetMacro(SqSum, TRealVectorPixelType); + itkGetMacro(Min, TRealVectorPixelType); + itkGetMacro(Max, TRealVectorPixelType); + itkGetMacro(Count, double); private: void UpdateValues(const RealValueType & otherSum, const RealValueType & otherSqSum, -- GitLab From d24c7c8a599a878be3a3656068a3d47571e417ff Mon Sep 17 00:00:00 2001 From: remi cresson Date: Fri, 20 Apr 2018 13:33:08 +0000 Subject: [PATCH 0011/2567] ENH: Add a background value, correct a typo, add accessors for DefaultBurnValue and BackgroundValue --- .../include/otbVectorDataToLabelImageFilter.h | 11 +++++++++++ .../include/otbVectorDataToLabelImageFilter.txx | 15 ++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h index d240df3fc7..7f3056a94f 100644 --- a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h +++ b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h @@ -120,6 +120,14 @@ public: itkSetStringMacro(BurnAttribute); itkGetStringMacro(BurnAttribute); + /** Set the background value */ + itkSetMacro(BackgroundValue, OutputImageInternalPixelType); + itkGetMacro(BackgroundValue, OutputImageInternalPixelType); + + /** Set the default burn value */ + itkSetMacro(DefaultBurnValue, OutputImageInternalPixelType); + itkGetMacro(DefaultBurnValue, OutputImageInternalPixelType); + /** Useful to set the output parameters from an existing image*/ void SetOutputParametersFromImage(const ImageBaseType * image); @@ -164,6 +172,9 @@ private: // Default burn value double m_DefaultBurnValue; + // Background value + OutputImageInternalPixelType m_BackgroundValue; + // Output params std::string m_OutputProjectionRef; OutputSpacingType m_OutputSpacing; diff --git a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx index f874cd6988..b1d2b011b2 100644 --- a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx +++ b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx @@ -49,8 +49,11 @@ VectorDataToLabelImageFilter // This filter is intended to work with otb::Image m_BandsToBurn.push_back(1); - // Default burn value if no burnAttribute availabke + // Default burn value if no burnAttribute available m_DefaultBurnValue = 1.; + + // Default background value + m_BackgroundValue = 0; } template @@ -263,14 +266,8 @@ VectorDataToLabelImageFilter::GenerateData() // Get the buffered region OutputImageRegionType bufferedRegion = this->GetOutput()->GetBufferedRegion(); - //Start from a clean buffer - //Patch provided by R. Cresson on otb-developers - typename itk::ImageRegionIterator outputIt(this->GetOutput(), bufferedRegion); - - for (outputIt.GoToBegin(); !outputIt.IsAtEnd(); ++outputIt) - { - outputIt.Set(itk::NumericTraits::Zero); - } + // Fill the buffer with the background value + this->GetOutput()->FillBuffer(m_BackgroundValue); // nb bands unsigned int nbBands = this->GetOutput()->GetNumberOfComponentsPerPixel(); -- GitLab From 1a2dbc5c4825613957bb6a683ada6b0e7c95fd5a Mon Sep 17 00:00:00 2001 From: remi cresson Date: Mon, 23 Apr 2018 08:06:24 +0000 Subject: [PATCH 0012/2567] REFAC: initialize members in the same orders as declaration --- .../include/otbVectorDataToLabelImageFilter.txx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx index b1d2b011b2..27c316ea88 100644 --- a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx +++ b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx @@ -36,24 +36,26 @@ namespace otb template VectorDataToLabelImageFilter ::VectorDataToLabelImageFilter() - : m_OGRDataSourcePointer(ITK_NULLPTR), - m_BurnAttribute("FID") + : m_OGRDataSourcePointer(ITK_NULLPTR) { this->SetNumberOfRequiredInputs(1); - // Output parameters initialization - m_OutputSpacing.Fill(1.0); - m_OutputSize.Fill(0); - m_OutputStartIndex.Fill(0); - // This filter is intended to work with otb::Image m_BandsToBurn.push_back(1); + // Default burn attribute + m_BurnAttribute = "FID"; + // Default burn value if no burnAttribute available m_DefaultBurnValue = 1.; // Default background value m_BackgroundValue = 0; + + // Output parameters initialization + m_OutputSpacing.Fill(1.0); + m_OutputSize.Fill(0); + m_OutputStartIndex.Fill(0); } template -- GitLab From 76c466ae0a88c234b593ef26d0cad6acfca76661 Mon Sep 17 00:00:00 2001 From: remi cresson Date: Mon, 23 Apr 2018 14:12:12 +0000 Subject: [PATCH 0013/2567] REFAC: use initializer list --- .../otbVectorDataToLabelImageFilter.txx | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx index 27c316ea88..b8fcb83d7c 100644 --- a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx +++ b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.txx @@ -36,22 +36,14 @@ namespace otb template VectorDataToLabelImageFilter ::VectorDataToLabelImageFilter() - : m_OGRDataSourcePointer(ITK_NULLPTR) + : m_OGRDataSourcePointer(ITK_NULLPTR), + m_BandsToBurn(1, 1), + m_BurnAttribute("FID"), + m_DefaultBurnValue(1.), + m_BackgroundValue(0.) { this->SetNumberOfRequiredInputs(1); - // This filter is intended to work with otb::Image - m_BandsToBurn.push_back(1); - - // Default burn attribute - m_BurnAttribute = "FID"; - - // Default burn value if no burnAttribute available - m_DefaultBurnValue = 1.; - - // Default background value - m_BackgroundValue = 0; - // Output parameters initialization m_OutputSpacing.Fill(1.0); m_OutputSize.Fill(0); -- GitLab From 392c378806d597f27360e33cd3b6112d180316be Mon Sep 17 00:00:00 2001 From: Yannick TANGUY Date: Wed, 25 Apr 2018 08:20:08 +0000 Subject: [PATCH 0014/2567] FIX: update develop version to 6.7.0 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e46ed732cc..951b799212 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,7 +123,7 @@ set(main_project_name ${_OTBModuleMacros_DEFAULT_LABEL}) #----------------------------------------------------------------------------- # OTB version number. set(OTB_VERSION_MAJOR "6") -set(OTB_VERSION_MINOR "5") +set(OTB_VERSION_MINOR "7") set(OTB_VERSION_PATCH "0") set(OTB_VERSION_STRING "${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}.${OTB_VERSION_PATCH}") -- GitLab From f863bb6d65b575006a305addc03bb824540a07b2 Mon Sep 17 00:00:00 2001 From: Guillaume Pasero Date: Thu, 26 Apr 2018 09:29:56 +0200 Subject: [PATCH 0015/2567] DOC: fix CS copyright mention --- .../include/otbExtendedFilenameToWriterOptions.h | 2 +- .../ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx | 2 +- Modules/IO/IOGDAL/include/otbGDALImageIO.h | 2 +- Modules/IO/IOGDAL/src/otbGDALImageIO.cxx | 2 +- Modules/IO/ImageIO/include/otbImageFileWriter.txx | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h index f0287b0f27..3607b6a557 100644 --- a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h +++ b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h @@ -1,6 +1,6 @@ /* * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) - * Copyright (C) CS SI + * Copyright (C) 2018 CS Systemes d'Information (CS SI) * * This file is part of Orfeo Toolbox * diff --git a/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx b/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx index 81bf649532..7e758a5a8a 100644 --- a/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx +++ b/Modules/IO/ExtendedFilename/src/otbExtendedFilenameToWriterOptions.cxx @@ -1,6 +1,6 @@ /* * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) - * Copyright (C) CS SI + * Copyright (C) 2018 CS Systemes d'Information (CS SI) * * This file is part of Orfeo Toolbox * diff --git a/Modules/IO/IOGDAL/include/otbGDALImageIO.h b/Modules/IO/IOGDAL/include/otbGDALImageIO.h index 72fcfeaae3..87775fd8a8 100644 --- a/Modules/IO/IOGDAL/include/otbGDALImageIO.h +++ b/Modules/IO/IOGDAL/include/otbGDALImageIO.h @@ -1,6 +1,6 @@ /* * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) - * Copyright (C) CS SI + * Copyright (C) 2018 CS Systemes d'Information (CS SI) * * This file is part of Orfeo Toolbox * diff --git a/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx b/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx index f2f40639f5..0a21e0d817 100644 --- a/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx +++ b/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx @@ -1,6 +1,6 @@ /* * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) - * Copyright (C) CS SI + * Copyright (C) 2018 CS Systemes d'Information (CS SI) * * This file is part of Orfeo Toolbox * diff --git a/Modules/IO/ImageIO/include/otbImageFileWriter.txx b/Modules/IO/ImageIO/include/otbImageFileWriter.txx index 20475a22db..3dc5fa9341 100644 --- a/Modules/IO/ImageIO/include/otbImageFileWriter.txx +++ b/Modules/IO/ImageIO/include/otbImageFileWriter.txx @@ -1,6 +1,6 @@ /* * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) - * Copyright (C) CS SI + * Copyright (C) 2018 CS Systemes d'Information (CS SI) * * This file is part of Orfeo Toolbox * -- GitLab From 862ffe89a9a801818de5f08eedbd3272f7b4c34d Mon Sep 17 00:00:00 2001 From: Rashad Kanavath Date: Thu, 3 May 2018 13:53:26 +0200 Subject: [PATCH 0016/2567] COMP: remove wshadow from enabled-by-default list of warnings --- CMake/OTBSetStandardCompilerFlags.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/CMake/OTBSetStandardCompilerFlags.cmake b/CMake/OTBSetStandardCompilerFlags.cmake index d2495d4a07..c3d66a8049 100644 --- a/CMake/OTBSetStandardCompilerFlags.cmake +++ b/CMake/OTBSetStandardCompilerFlags.cmake @@ -136,7 +136,6 @@ function(check_compiler_warning_flags c_warning_flags_var cxx_warning_flags_var) -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith - -Wshadow -Wunused -Wwrite-strings -funit-at-a-time -- GitLab From dde5ad5165c338faf506abe14a9bef59372b3acb Mon Sep 17 00:00:00 2001 From: Rashad Kanavath Date: Fri, 4 May 2018 10:29:27 +0200 Subject: [PATCH 0017/2567] ENH: install share dir share/OTB-X.Y -> share/otb qgis descriptors are copied to share/otb/description. This ends up with share/otb/ and share/OTB-X.Y It is better to have a single directory for and it should be share/otb and not a versioned. Changes included in packaging script show non-versioned 'otb' directory in share is easy to manage than a verisoned one. In any case, users cannot keep multiple versions of OTB under same prefix. This was breifly discussed in issue : https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/issues/1557 --- CMake/OTBModuleExternal.cmake | 2 +- CMake/cmake_uninstall.cmake.in | 4 ++-- CMakeLists.txt | 2 +- Packaging/Files/uninstall_otb.bat | 4 ++-- Packaging/Files/uninstall_otb.sh | 2 +- Packaging/install_share_dirs.cmake | 22 ++-------------------- 6 files changed, 9 insertions(+), 27 deletions(-) diff --git a/CMake/OTBModuleExternal.cmake b/CMake/OTBModuleExternal.cmake index 75ce8c229d..0ca380486c 100644 --- a/CMake/OTBModuleExternal.cmake +++ b/CMake/OTBModuleExternal.cmake @@ -68,7 +68,7 @@ else() set(OTB_INSTALL_INCLUDE_DIR include/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}) endif() if(NOT OTB_INSTALL_DATA_DIR) - set(OTB_INSTALL_DATA_DIR share/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}) + set(OTB_INSTALL_DATA_DIR share/otb) endif() if(NOT OTB_INSTALL_DOC_DIR) set(OTB_INSTALL_DOC_DIR share/doc/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}) diff --git a/CMake/cmake_uninstall.cmake.in b/CMake/cmake_uninstall.cmake.in index f7e59e4d43..5c9b7b5124 100644 --- a/CMake/cmake_uninstall.cmake.in +++ b/CMake/cmake_uninstall.cmake.in @@ -48,10 +48,10 @@ set(installed_dirs) list(APPEND installed_dirs "@CMAKE_INSTALL_PREFIX@/include/${otb_dir_name}") # lib/{otb,python} directory list(APPEND installed_dirs "@CMAKE_INSTALL_PREFIX@/lib/otb") +# share/otb directory +list(APPEND installed_dirs "@CMAKE_INSTALL_PREFIX@/share/otb") # lib/cmake/OTB-X.Y directory list(APPEND installed_dirs "@CMAKE_INSTALL_PREFIX@/lib/cmake/${otb_dir_name}") -# share/OTB-X.Y directory -list(APPEND installed_dirs "@CMAKE_INSTALL_PREFIX@/share/${otb_dir_name}") # share/doc/OTB-X.Y directory list(APPEND installed_dirs "@CMAKE_INSTALL_PREFIX@/share/doc/${otb_dir_name}") diff --git a/CMakeLists.txt b/CMakeLists.txt index 951b799212..05ee7b3c1a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -165,7 +165,7 @@ if(NOT OTB_INSTALL_JAVA_DIR) set(OTB_INSTALL_JAVA_DIR "lib/otb/java") endif() if(NOT OTB_INSTALL_DATA_DIR) - set(OTB_INSTALL_DATA_DIR share/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}) + set(OTB_INSTALL_DATA_DIR share/otb) endif() if(NOT OTB_INSTALL_DOC_DIR) set(OTB_INSTALL_DOC_DIR share/doc/OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}) diff --git a/Packaging/Files/uninstall_otb.bat b/Packaging/Files/uninstall_otb.bat index 3389fd1545..05b2cbef5f 100644 --- a/Packaging/Files/uninstall_otb.bat +++ b/Packaging/Files/uninstall_otb.bat @@ -29,8 +29,8 @@ for /f %%i in ('dir /b include\OTB*') do rd /S /Q include\%%i echo - Clean lib\cmake\OTB* for /f %%i in ('dir /b lib\cmake\OTB*') do rd /S /Q lib\cmake\%%i -echo - Clean share\OTB* -for /f %%i in ('dir /b share\OTB*') do rd /S /Q share\%%i +echo - Clean share\otb +rd /S /Q share\otb echo - Clean lib\otb rd /S /Q lib\otb diff --git a/Packaging/Files/uninstall_otb.sh b/Packaging/Files/uninstall_otb.sh index 1b5030c58a..313fcd07fb 100755 --- a/Packaging/Files/uninstall_otb.sh +++ b/Packaging/Files/uninstall_otb.sh @@ -23,7 +23,7 @@ rm -fr OUT_DIR/include/OTB-* rm -f OUT_DIR/lib/{libotb*,libOTB*} rm -fr OUT_DIR/lib/{otb,python/*otbApplication*,python3/*otbApplication*,java/org.otb.application.jar} rm -fr OUT_DIR/lib/cmake/OTB-* -rm -fr OUT_DIR/share/OTB* +rm -fr OUT_DIR/share/otb/ rm -fv OUT_DIR/bin/{otb*,monteverdi,mapla} rm -fv OUT_DIR/{mapla.sh,monteverdi.sh} rm -fv OUT_DIR/otbenv.* diff --git a/Packaging/install_share_dirs.cmake b/Packaging/install_share_dirs.cmake index fabeb3d1e1..a7b6392def 100644 --- a/Packaging/install_share_dirs.cmake +++ b/Packaging/install_share_dirs.cmake @@ -27,34 +27,16 @@ function(install_share_dirs) set(PKG_SHARE_SOURCE_DIR ${SUPERBUILD_INSTALL_DIR}/share) - ####################### install mvd i18N ############################ - # OTB i18n directory is different from qt's i18N directory - #which is /share/qt4/translations by default on linux. - - # To install otb i18n directory correctly, we need to find - #Monteverdi_INSTALL_DATA_DIR. Value of this is a defined in ConfigureMonteverdi.h - # and default value is "share/OTB-X.Y" - #... - # #define Monteverdi_INSTALL_DATA_DIR - #... - #Instead of parsing ConfigureMonteverdi.h, - #we simply use default and add a check for this directory! - - #define Monteverdi_INSTALL_DATA_DIR "share/OTB-X.Y" - - set(OTB_I18N_DIRNAME OTB-${PKG_OTB_VERSION_MAJOR}.${PKG_OTB_VERSION_MINOR}/i18n) - set(MVD_I18N_SOURCE_DIR ${PKG_SHARE_SOURCE_DIR}/${OTB_I18N_DIRNAME}) + set(MVD_I18N_SOURCE_DIR ${PKG_SHARE_SOURCE_DIR}/otb/i18n) if(NOT EXISTS "${MVD_I18N_SOURCE_DIR}") message(FATAL_ERROR "Error ${MVD_I18N_SOURCE_DIR} not exists") endif() - set(MVD_I18N_DEST_DIR ${PKG_SHARE_DEST_DIR}/${OTB_I18N_DIRNAME}) file(GLOB MVD_APP_TS_FILES ${PACKAGE_OTB_SRC_DIR}/i18n/*.ts) # qm files foreach(APP_TS_FILE ${MVD_APP_TS_FILES}) get_filename_component(APP_TS_FILENAME ${APP_TS_FILE} NAME_WE) install(FILES ${MVD_I18N_SOURCE_DIR}/${APP_TS_FILENAME}.qm - DESTINATION ${MVD_I18N_DEST_DIR} - ) + DESTINATION ${PKG_SHARE_DEST_DIR}/otb/i18n) endforeach() ####################### install GDAL data ############################ -- GitLab From 11f5c4a4f7a7edc38bc07dc0aba83ae40eb1902a Mon Sep 17 00:00:00 2001 From: Manuel Grizonnet Date: Fri, 18 May 2018 14:30:26 +0200 Subject: [PATCH 0018/2567] ENH: add an editorconfig file for IDE code formatting --- .editorconfig | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..7b95893b5c --- /dev/null +++ b/.editorconfig @@ -0,0 +1,19 @@ +# http://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Apply to all code files +[*] +# A newline ending every file +insert_final_newline = true + +# Set default charset +charset = utf-8 + +# 4 space indentation +indent_style = space +indent_size = 2 + +# Various options +trim_trailing_whitespace = true -- GitLab From 0b6268cdce39691eae851a4cec5b0fed8bb06353 Mon Sep 17 00:00:00 2001 From: Manuel Grizonnet Date: Tue, 22 May 2018 08:22:28 +0200 Subject: [PATCH 0019/2567] ENH: Copy ITK clang-format configuration file in the repository root --- .clang-format | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000000..7566ce76e2 --- /dev/null +++ b/.clang-format @@ -0,0 +1,94 @@ +--- +Language: Cpp +BasedOnStyle: Mozilla +AccessModifierOffset: -2 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: true +AlignEscapedNewlinesLeft: true +AlignOperands: true +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: Inline +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterReturnType: All +AlwaysBreakBeforeMultilineStrings: true +AlwaysBreakTemplateDeclarations: true +BinPackArguments: false +BinPackParameters: true +BraceWrapping: + AfterClass: true + AfterControlStatement: true + AfterEnum: true + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: true + AfterStruct: true + AfterUnion: true + BeforeCatch: true + BeforeElse: true + IndentBraces: true +BreakBeforeBinaryOperators: None +BreakBeforeBraces: GNU +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: true +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 200 +# ColumnLimit: 80 +CommentPragmas: '^ IWYU pragma:' +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 2 +ContinuationIndentWidth: 2 +Cpp11BracedListStyle: false +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + - Regex: '^(<|"(gtest|isl|json)/)' + Priority: 3 + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '$' +IndentCaseLabels: true +IndentWidth: 2 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 2 +NamespaceIndentation: None +ObjCBlockIndentWidth: 2 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: false +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 0 +PointerAlignment: Left +ReflowComments: true +SortIncludes: true +SpaceAfterCStyleCast: false +SpaceBeforeAssignmentOperators: true +SpaceBeforeParens: ControlStatements +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: true +SpacesInCStyleCastParentheses: false +SpacesInContainerLiterals: true +SpacesInParentheses: true +SpacesInSquareBrackets: false +Standard: Cpp03 +TabWidth: 2 +UseTab: Never +... -- GitLab From 22671f4492dacf01010e62774bd2603927f016f4 Mon Sep 17 00:00:00 2001 From: dmci Date: Sun, 27 May 2018 00:06:01 +0100 Subject: [PATCH 0020/2567] DOC: dmci edits to cookbook and basic filters examples --- Documentation/Cookbook/rst/Installation.rst | 4 +-- .../Cookbook/rst/Installation_Linux.rst | 2 +- .../Cookbook/rst/Installation_Macos.rst | 2 +- .../Cookbook/rst/Installation_Windows.rst | 2 +- .../Cookbook/rst/OTB-Applications.rst | 14 +++++----- .../Cookbook/rst/recipes/bandmathx.rst | 18 ++++++------ .../Cookbook/rst/recipes/featextract.rst | 4 +-- .../BasicFilters/BandMathFilterExample.cxx | 28 +++++++++---------- Examples/BasicFilters/DEMToRainbowExample.cxx | 12 ++++---- Examples/BasicFilters/HillShadingExample.cxx | 6 ++-- 10 files changed, 46 insertions(+), 46 deletions(-) diff --git a/Documentation/Cookbook/rst/Installation.rst b/Documentation/Cookbook/rst/Installation.rst index 4a18859fc7..3c61ef0b18 100644 --- a/Documentation/Cookbook/rst/Installation.rst +++ b/Documentation/Cookbook/rst/Installation.rst @@ -38,7 +38,7 @@ Other packages Warning! These packages may not be up-to-date with latest OTB releases. In addition, some features of the library may not be available -on every platform. Some of these are not maintained by OTB-team. If you +on every platform. Some of these are not maintained by the OTB-team. If you want to get involved in the packaging of OTB for your favourite platform, please contact us through the developer’s mailing list: otb-developers@googlegroups.com. @@ -93,7 +93,7 @@ You will then need to run: sudo aptitude install otb-bin otb-bin-qt python-otb If you are using *Synaptic*, you can add the repositories, update and -install the packages through the graphical interface. +install the packages through the graphical user interface. For further information about Ubuntu packages go to `ubuntugis-unstable `__ diff --git a/Documentation/Cookbook/rst/Installation_Linux.rst b/Documentation/Cookbook/rst/Installation_Linux.rst index 8f90e6cd81..4a1863c0a0 100644 --- a/Documentation/Cookbook/rst/Installation_Linux.rst +++ b/Documentation/Cookbook/rst/Installation_Linux.rst @@ -84,7 +84,7 @@ necessary to install one of the following packages: Python bindings ~~~~~~~~~~~~~~~ -Starting from OTB 5.8.0, OTB bindings for Python 2.7 are distributed with binary +Starting from OTB 5.8.0, OTB bindings for Python 2.7 are distributed as a binary package. With OTB 6.4.0, additional bindings for Python 3.5 are also included. Please note that using a different Python version may not be compatible with OTB wrappings. If no compatible Python 2.x version is found a diff --git a/Documentation/Cookbook/rst/Installation_Macos.rst b/Documentation/Cookbook/rst/Installation_Macos.rst index f77d878dbd..d9273b72b6 100644 --- a/Documentation/Cookbook/rst/Installation_Macos.rst +++ b/Documentation/Cookbook/rst/Installation_Macos.rst @@ -44,7 +44,7 @@ supplied script ``tools/uninstall_otb.sh``. Python bindings ~~~~~~~~~~~~~~~ -Starting from OTB 5.8.0, OTB bindings for Python 2.7 are distributed with binary +Starting from OTB 5.8.0, OTB bindings for Python 2.7 are distributed as a binary package. With OTB 6.4.0, additional bindings for Python 3.5 are also included. Please note that using a different Python version may not be compatible with OTB wrappings. If no compatible Python 2.x version is found a diff --git a/Documentation/Cookbook/rst/Installation_Windows.rst b/Documentation/Cookbook/rst/Installation_Windows.rst index ab1fe76387..bd8a8af23d 100644 --- a/Documentation/Cookbook/rst/Installation_Windows.rst +++ b/Documentation/Cookbook/rst/Installation_Windows.rst @@ -43,7 +43,7 @@ start Visual Studio. Python bindings ~~~~~~~~~~~~~~~ -Starting from OTB 5.8.0, OTB bindings for Python 2.7 are distributed with binary +Starting from OTB 5.8.0, OTB bindings for Python 2.7 are distributed as a binary package. With OTB 6.4.0, additional bindings for Python 3.5 are also included. Please note that using a different Python version may not be compatible with OTB wrappings. If no compatible Python 2.x version is found a diff --git a/Documentation/Cookbook/rst/OTB-Applications.rst b/Documentation/Cookbook/rst/OTB-Applications.rst index 1905a737e7..d8beccb983 100644 --- a/Documentation/Cookbook/rst/OTB-Applications.rst +++ b/Documentation/Cookbook/rst/OTB-Applications.rst @@ -40,9 +40,9 @@ command-line interface of the Convert application, while Command-line launcher --------------------- -The command-line application launcher allows to load an application +The command-line application launcher loads an application plugin, to set its parameters, and execute it using the command line. -Launching the ``otbApplicationLauncherCommandLine`` without argument +Launching the ``otbApplicationLauncherCommandLine`` without any arguments provided, results in the following help to be displayed: :: @@ -200,7 +200,7 @@ modules needs to be properly set with the ``OTB_APPLICATION_PATH`` environment variable. The standard location on Unix systems is ``/usr/lib/otb/applications``. On Windows, the applications are available in the ``otb-bin`` OSGeo4W package, and the environment is -configured automatically so you don’t need to tweak +configured automatically so it doesn't need to be modified ``OTB_APPLICATION_PATH``. Once your environment is set, you can use OTB applications from Python, just @@ -233,7 +233,7 @@ The processing toolbox ^^^^^^^^^^^^^^^^^^^^^^ OTB applications are available from QGIS. Use them from the processing -toolbox, which is accessible with Processing :math:`\rightarrow` +toolbox, which is accessible under Processing :math:`\rightarrow` ToolBox. Switch to “advanced interface” in the bottom of the application widget and OTB applications will be there. @@ -243,7 +243,7 @@ Using a custom OTB ^^^^^^^^^^^^^^^^^^ If QGIS cannot find OTB, the “applications folder” and “binaries folder” -can be set from the settings in the Processing :math:`\rightarrow` +can be set from the settings found under Processing :math:`\rightarrow` Settings :math:`\rightarrow` “service provider”. .. figure:: Art/QtImages/qgis-otb-settings.png @@ -278,7 +278,7 @@ parameter: otbcli_BandMath -inxml saved_applications_parameters.xml -Note that you can also overload parameters from command line at the same +Note that you can also add additional parameters on the command line at the same time :: @@ -355,7 +355,7 @@ Here is an example of MPI call on a cluster:: One can see that the registration and pan-sharpening of the panchromatic and multi-spectral bands of a Pleiades image has been split -among 560 cpus and took only 56 seconds. +among 560 cpus and only took 56 seconds. Note that this MPI parallel invocation of applications is only available for command-line calls to OTB applications, and only for diff --git a/Documentation/Cookbook/rst/recipes/bandmathx.rst b/Documentation/Cookbook/rst/recipes/bandmathx.rst index 967948d734..3ef35b7e38 100644 --- a/Documentation/Cookbook/rst/recipes/bandmathx.rst +++ b/Documentation/Cookbook/rst/recipes/bandmathx.rst @@ -50,8 +50,8 @@ prefix. // All variables related to anotherImage (input 2) will have the prefix im3 filter->SetNthInput(2, anotherImage); -In this document, we will keep the default convention. Following list -summaries the available variables for input #0 (and so on for every +In this document, we will keep the default convention. The following list +summarises the available variables for input #0 (and so on for every input). Variables and their descriptions: @@ -80,7 +80,7 @@ Variables and their descriptions: [variables] -Moreover, we also have the generic variables idxX and idxY that +In addition, we also have the generic variables idxX and idxY that represent the indices of the current pixel (scalars). Note that the use of a global statistics will automatically make the @@ -149,7 +149,7 @@ two vectors (see next section “New operators and functions” Now, let’s go back to the first formula: this one specifies the addition of two images band to band. With muParserX lib, we can now define such -operation with only one formula, instead of many formulas (as many as +operation with only one formula, instead of many formulae (as many as the number of bands). We call this new functionality the **batch mode**, which directly arises from the introduction of vectors within muParserX framework. @@ -178,7 +178,7 @@ For instance, im1b3N3x5 represents the following neighbourhood: Fundamentally, a neighbourhood is represented as a matrix inside the muParserX framework; so the remark about mathematically well-defined -formulas still stands. +formulae still stands. New operators and functions --------------------------- @@ -256,22 +256,22 @@ needed; one mean value is computed per input). For instance: .. math:: mean(im1b1N3x3,im1b2N3x3,im1b3N3x3,im1b4N3x3) -Note: a limitation coming from muparserX itself makes impossible to pass +Note: a limitation coming from muparserX itself makes it impossible to pass all those neighborhoods with a unique variable. -**Function var** This function allows to compute the variance of a given +**Function var** This function computes the variance of a given vector or neighborhood (the function can take as many inputs as needed; one var value is computed per input). For instance: .. math:: var(im1b1N3x3) -**Function median** This function allows to compute the median value of +**Function median** This function computes the median value of a given vector or neighborhood (the function can take as many inputs as needed; one median value is computed per input). For instance: .. math:: median(im1b1N3x3) -**Function corr** This function allows to compute the correlation +**Function corr** This function computes the correlation between two vectors or matrices of the same dimensions (the function takes two inputs). For instance: diff --git a/Documentation/Cookbook/rst/recipes/featextract.rst b/Documentation/Cookbook/rst/recipes/featextract.rst index 4bf18f042a..020254dca7 100644 --- a/Documentation/Cookbook/rst/recipes/featextract.rst +++ b/Documentation/Cookbook/rst/recipes/featextract.rst @@ -208,7 +208,7 @@ parameters: -``-out`` the output filtered image -The application can be used like this: +The application can be used as follows: :: @@ -253,7 +253,7 @@ input parameters: -``-out`` the output filtered image -The application can be used like this: +The application can be used as follows: :: diff --git a/Examples/BasicFilters/BandMathFilterExample.cxx b/Examples/BasicFilters/BandMathFilterExample.cxx index 001df32d1c..10faac197d 100644 --- a/Examples/BasicFilters/BandMathFilterExample.cxx +++ b/Examples/BasicFilters/BandMathFilterExample.cxx @@ -31,7 +31,7 @@ // The built in functions and operators list is available at: // \url{http://muparser.sourceforge.net/mup_features.html}. // -// In order to use this filter, at least one input image is to be +// In order to use this filter, at least one input image should be // set. An associated variable name can be specified or not by using // the corresponding SetNthInput method. For the nth input image, if // no associated variable name has been specified, a default variable @@ -57,10 +57,10 @@ // Software Guide : BeginLatex // -// We start by including the needed header file. +// We start by including the required header file. // The aim of this example is to compute the Normalized Difference Vegetation Index (NDVI) -// from a multispecral image and perform a threshold on this -// indice to extract area containing a dense vegetation canopy. +// from a multispectral image and then apply a threshold to this +// index to extract areas containing a dense vegetation canopy. // // Software Guide : EndLatex @@ -82,8 +82,8 @@ int main( int argc, char* argv[]) // // We start by the classical \code{typedef}s needed for reading and // writing the images. The \doxygen{otb}{BandMathImageFilter} class -// works with \doxygen{otb}{Image} as input so we need to define additional -// filters to extract each layer of the multispectral image +// works with \doxygen{otb}{Image} as input, so we need to define additional +// filters to extract each layer of the multispectral image. // // Software Guide : EndLatex @@ -130,9 +130,9 @@ int main( int argc, char* argv[]) // Software Guide : BeginLatex // -// We need now to extract now each band from the input \doxygen{otb}{VectorImage}, +// We now need to extract each band from the input \doxygen{otb}{VectorImage}, // it illustrates the use of the \doxygen{otb}{VectorImageToImageList}. -// Each extracted layer are inputs of the \doxygen{otb}{BandMathImageFilter}: +// Each extracted layer is an input to the \doxygen{otb}{BandMathImageFilter}: // // Software Guide : EndLatex @@ -183,22 +183,22 @@ int main( int argc, char* argv[]) // Software Guide : BeginLatex // -// The muParser library offers also the possibility to extended existing built-in functions. For example, -// you can use the OTB expression "ndvi(b3, b4)" with the filter. The mathematical expression would be in -// this case \textit{if($ndvi(b3, b4)>0.4$, 255, 0)}. It will return the same result. +// The muParser library also provides the possibility to extend existing built-in functions. For example, +// you can use the OTB expression "ndvi(b3, b4)" with the filter. In this instance, the mathematical expression would be +// \textit{if($ndvi(b3, b4)>0.4$, 255, 0)}, which would return the same result. // // Software Guide : EndLatex // Software Guide : BeginLatex // -// Figure~\ref{fig:BandMathImageFilter} shows the result of the threshold over the NDVI indice -// to a Quickbird image. +// Figure~\ref{fig:BandMathImageFilter} shows the result of the threshold applied to the NDVI index +// of a Quickbird image. // \begin{figure} // \center // \includegraphics[width=0.45\textwidth]{qb_ExtractRoad_pretty.eps} // \includegraphics[width=0.45\textwidth]{qb_BandMath-pretty.eps} // \itkcaption[Band Math]{From left to right: -// Original image, thresholded NDVI indice.} +// Original image, thresholded NDVI index.} // \label{fig:BandMathImageFilter} // \end{figure} // diff --git a/Examples/BasicFilters/DEMToRainbowExample.cxx b/Examples/BasicFilters/DEMToRainbowExample.cxx index e3dfc5340d..d8f1c8768c 100644 --- a/Examples/BasicFilters/DEMToRainbowExample.cxx +++ b/Examples/BasicFilters/DEMToRainbowExample.cxx @@ -37,12 +37,12 @@ // Software Guide : BeginLatex // -// In some situation, it is desirable to represent a gray level image in color for easier +// In some situation, it is desirable to represent a gray scale image in color for easier // interpretation. This is particularly the case if pixel values in the image are used // to represent some data such as elevation, deformation map, // interferogram. In this case, it is important to ensure that similar // values will get similar colors. You can notice how this requirement -// differ from the previous case. +// differs from the previous case. // // The following example illustrates the use of the \doxygen{otb}{DEMToImageGenerator} class // combined with the \doxygen{otb}{ScalarToRainbowRGBPixelFunctor}. You can refer to the @@ -112,7 +112,7 @@ int main(int argc, char * argv[]) // Software Guide : BeginLatex // - // As in the previous example the \doxygen{itk}{ScalarToRGBColormapImageFilter} is + // As in the previous example, the \doxygen{itk}{ScalarToRGBColormapImageFilter} is // the filter in charge of calling the functor we specify to do the work for // each pixel. Here it is the \doxygen{otb}{ScalarToRainbowRGBPixelFunctor}. // @@ -189,8 +189,8 @@ int main(int argc, char * argv[]) // Software Guide : BeginLatex // - // Figure~\ref{fig:RAINBOW_FILTER} shows effect of applying the filter to - // a gray level image. + // Figure~\ref{fig:RAINBOW_FILTER} shows the effect of applying the filter to + // a gray scale image. // // \begin{figure} // \center @@ -199,7 +199,7 @@ int main(int argc, char * argv[]) // \includegraphics[width=0.44\textwidth]{DEMToHotImageGenerator.eps} // \includegraphics[width=0.44\textwidth]{DEMToReliefImageGenerator.eps} // \itkcaption[Grayscale to color]{The gray level DEM extracted from SRTM -// data (top-left) and the same area in color representation.} +// data (top-left) and the same area represented in color.} // \label{fig:RAINBOW_FILTER} // \end{figure} // Software Guide : EndLatex diff --git a/Examples/BasicFilters/HillShadingExample.cxx b/Examples/BasicFilters/HillShadingExample.cxx index bf33d25dc5..a266d955e1 100644 --- a/Examples/BasicFilters/HillShadingExample.cxx +++ b/Examples/BasicFilters/HillShadingExample.cxx @@ -31,8 +31,8 @@ // lighting source and generating the corresponding shadows. This principle is called // hill shading. // -// Using a simple functor \doxygen{otb}{HillShadingFunctor} and the dem image generated -// using the \doxygen{otb}{DEMToImageGenerator} (refer to \ref{sec:ReadDEM}) you can easily +// Using a simple functor \doxygen{otb}{HillShadingFunctor} and the DEM image generated +// using the \doxygen{otb}{DEMToImageGenerator} (refer to \ref{sec:ReadDEM}), you can easily // obtain a representation of the DEM. Better yet, using the // \doxygen{otb}{ScalarToRainbowRGBPixelFunctor}, combined with the // \doxygen{otb}{ReliefColormapFunctor} you can easily generate the classic elevation maps. @@ -130,7 +130,7 @@ int main(int argc, char * argv[]) } // Software Guide : BeginLatex // - // After generating the dem image as in the DEMToImageGenerator example, you can declare + // After generating the DEM image as in the DEMToImageGenerator example, you can declare // the hill shading mechanism. The hill shading is implemented as a functor doing some // operations in its neighborhood. A convenient filter called \doxygen{otb}{HillShadingFilter} // is defined around this mechanism. -- GitLab From 400601c3a5c3ac3d7f5da546fe5eb32858c4de45 Mon Sep 17 00:00:00 2001 From: Victor Poughon Date: Mon, 4 Jun 2018 17:58:00 +0200 Subject: [PATCH 0021/2567] ENH: New custom widgets for Float and Int parameters --- Modules/ThirdParty/Qt/CMakeLists.txt | 5 +- Modules/ThirdParty/Qt/otb-module-init.cmake | 1 + .../otbWrapperQtWidgetFloatParameter.h | 13 +- .../include/otbWrapperQtWidgetIntParameter.h | 13 +- .../include/otbWrapperQtWidgetModel.h | 3 +- .../include/otbWrapperQtWidgetParameterBase.h | 1 - .../include/otbWrapperQtWidgetSpinBoxes.h | 116 ++++++++++ Modules/Wrappers/QtWidget/src/CMakeLists.txt | 8 + .../src/otbWrapperQtWidgetFloatParameter.cxx | 91 ++++++-- .../QtWidget/src/otbWrapperQtWidgetIcons.qrc | 6 + .../src/otbWrapperQtWidgetIntParameter.cxx | 113 +++++++--- .../src/otbWrapperQtWidgetParameterBase.cxx | 15 +- .../src/otbWrapperQtWidgetParameterGroup.cxx | 29 +-- .../src/otbWrapperQtWidgetSpinBoxes.cxx | 198 ++++++++++++++++++ SuperBuild/CMake/External_qt5.cmake | 1 - Utilities/Data/Icons/mIconClearText.svg | 5 + Utilities/Data/Icons/mIconClearTextHover.svg | 5 + 17 files changed, 515 insertions(+), 108 deletions(-) create mode 100644 Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSpinBoxes.h create mode 100644 Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIcons.qrc create mode 100644 Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx create mode 100644 Utilities/Data/Icons/mIconClearText.svg create mode 100644 Utilities/Data/Icons/mIconClearTextHover.svg diff --git a/Modules/ThirdParty/Qt/CMakeLists.txt b/Modules/ThirdParty/Qt/CMakeLists.txt index 8234ae1e18..ab3078612d 100644 --- a/Modules/ThirdParty/Qt/CMakeLists.txt +++ b/Modules/ThirdParty/Qt/CMakeLists.txt @@ -20,14 +20,15 @@ project( OTBQt ) -set( OTBQt_LIBRARIES ${Qt5Widgets_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5OpenGL_LIBRARIES}) -set( OTBQt_SYSTEM_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ) +set( OTBQt_LIBRARIES ${Qt5Widgets_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5OpenGL_LIBRARIES} ${Qt5Svg_LIBRARIES}) +set( OTBQt_SYSTEM_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5Svg_INCLUDE_DIRS}) set( OTBQt_EXPORT_CODE_BUILD "find_package(Qt5Core REQUIRED HINTS ${Qt5Core_DIR}) find_package(Qt5Gui REQUIRED HINTS ${Qt5Gui_DIR}) find_package(Qt5Widgets REQUIRED HINTS ${Qt5Widgets_DIR}) find_package(Qt5OpenGL REQUIRED HINTS ${Qt5OpenGL_DIR}) find_package(Qt5LinguistTools HINTS ${Qt5LinguistTools_DIR}) +find_package(Qt5Svg REQUIRED HINTS ${Qt5Svg_DIR}) ") set( OTBQt_EXPORT_CODE_INSTALL ${OTBQt_EXPORT_CODE_BUILD}) diff --git a/Modules/ThirdParty/Qt/otb-module-init.cmake b/Modules/ThirdParty/Qt/otb-module-init.cmake index 60ebd9c497..9dc73f06b4 100644 --- a/Modules/ThirdParty/Qt/otb-module-init.cmake +++ b/Modules/ThirdParty/Qt/otb-module-init.cmake @@ -23,6 +23,7 @@ find_package(Qt5Gui REQUIRED) find_package(Qt5Widgets REQUIRED) find_package(Qt5OpenGL REQUIRED) find_package(Qt5LinguistTools) +find_package(Qt5Svg REQUIRED) mark_as_advanced( QT_QMAKE_EXECUTABLE ) set(QT_VERSION_STRING ${Qt5Core_VERSION}) diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h index 275e6ddcde..ca51076002 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h @@ -27,6 +27,8 @@ #include "otbWrapperQtWidgetParameterBase.h" #endif //tag=QT4-boost-compatibility +#include "otbWrapperQtWidgetSpinBoxes.h" + namespace otb { namespace Wrapper @@ -44,19 +46,22 @@ public: QtWidgetFloatParameter(FloatParameter*, QtWidgetModel*); ~QtWidgetFloatParameter() override; -protected slots: - void SetValue( double value ); +private slots: + void OnCleared(); + void OnValueChanged(double); + void OnEditingFinished(); private: QtWidgetFloatParameter(const QtWidgetFloatParameter&); //purposely not implemented void operator=(const QtWidgetFloatParameter&); //purposely not implemented void DoCreateWidget() override; - void DoUpdateGUI() override; + bool eventFilter(QObject * o, QEvent * e) override; + QHBoxLayout * m_QHBoxLayout; - QDoubleSpinBox * m_QDoubleSpinBox; + QtWidgetDoubleSpinBox * m_QDoubleSpinBox; FloatParameter::Pointer m_FloatParam; }; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h index 2ad22eb518..354881ff5d 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h @@ -27,6 +27,8 @@ #include "otbWrapperQtWidgetParameterBase.h" #endif //tag=QT4-boost-compatibility +#include "otbWrapperQtWidgetSpinBoxes.h" + namespace otb { @@ -45,19 +47,22 @@ public: QtWidgetIntParameter(IntParameter*, QtWidgetModel*); ~QtWidgetIntParameter() override; -protected slots: - void SetValue( int value ); +private slots: + void OnCleared(); + void OnValueChanged(int); + void OnEditingFinished(); private: QtWidgetIntParameter(const QtWidgetIntParameter&); //purposely not implemented void operator=(const QtWidgetIntParameter&); //purposely not implemented void DoCreateWidget() override; - void DoUpdateGUI() override; + bool eventFilter( QObject * o, QEvent * e ); + QHBoxLayout * m_QHBoxLayout; - QSpinBox * m_QSpinBox; + QtWidgetSpinBox* m_QSpinBox; IntParameter::Pointer m_IntParam; }; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h index 3427dfb84f..26b70d751a 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h @@ -158,12 +158,11 @@ protected slots: */ void ExecuteAndWriteOutputSlot(); +public slots: /** * \brief Slots called every time one of the widget needs to be * updated (e.g. by specialized parameter widgets). * - * This slot is protected so it can only be called via Qt - * signal/slot mechanism and not directly by extern caller. */ void NotifyUpdate(); diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h index f0874fdd84..3688c10666 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h @@ -66,7 +66,6 @@ public: public slots: void UpdateGUI(); virtual void SetActivationState( bool value ); - void Reset(); protected slots: void ParameterChanged(const QString& key); diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSpinBoxes.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSpinBoxes.h new file mode 100644 index 0000000000..bf7a2a0998 --- /dev/null +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSpinBoxes.h @@ -0,0 +1,116 @@ +/* + * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) + * + * This file is part of Orfeo Toolbox + * + * https://www.orfeo-toolbox.org/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef otbWrapperQtWidgetSpinBoxes_h +#define otbWrapperQtWidgetSpinBoxes_h + +#include +#include +#include + +#include "otbWrapperQtWidgetParameterBase.h" + +namespace otb +{ +namespace Wrapper +{ + +// A QLineEdit with a built-in reset button +class OTBQtWidget_EXPORT QtWidgetLineEdit : public QLineEdit +{ + Q_OBJECT + +public: + QtWidgetLineEdit( QWidget *parent = nullptr ); + + // Show, hide or get state of the clear button + void EnableClearButton(); + void DisableClearButton(); + + static const int CLEAR_ICON_SIZE = 16; + +signals: + // Triggered when the clear button is pressed + void Cleared(); + +private: + + QIcon m_ClearIcon; + QAction *m_ClearAction = nullptr; +}; + +// A QSpinBox with QtWidgetLineEdit as a custom LineEdit +class OTBQtWidget_EXPORT QtWidgetSpinBox : public QSpinBox +{ + Q_OBJECT + +public: + explicit QtWidgetSpinBox( QWidget* parent = nullptr); + + int valueFromText(const QString &text) const override; + QValidator::State validate( QString &input, int &pos ) const override; + + // Show, hide or get state of the clear button + void EnableClearButton(); + void DisableClearButton(); + bool IsClearButtonEnabled() const; + + void SetValueNoSignal(int); + +signals: + // Triggered when the clear button is pressed + void Cleared(); + +private: + QtWidgetLineEdit* m_LineEdit; +}; + +// A QDoubleSpinBox with QtWidgetLineEdit as a custom LineEdit +// and custom handling of textFromValue / valueFromText for variable precision decimals +class OTBQtWidget_EXPORT QtWidgetDoubleSpinBox : public QDoubleSpinBox +{ + Q_OBJECT + +public: + explicit QtWidgetDoubleSpinBox( QWidget* parent = nullptr); + + double valueFromText(const QString &text) const override; + QString textFromValue(double value) const override; + QValidator::State validate( QString &input, int &pos ) const override; + + // Show, hide or get state of the clear button + void EnableClearButton(); + void DisableClearButton(); + bool IsClearButtonEnabled() const; + + void SetValueNoSignal(double); + +signals: + // Triggered when the clear button is pressed + void Cleared(); + +private: + QtWidgetLineEdit* m_LineEdit; +}; + +} +} + +#endif diff --git a/Modules/Wrappers/QtWidget/src/CMakeLists.txt b/Modules/Wrappers/QtWidget/src/CMakeLists.txt index a69e06e03b..4eb9f30a11 100644 --- a/Modules/Wrappers/QtWidget/src/CMakeLists.txt +++ b/Modules/Wrappers/QtWidget/src/CMakeLists.txt @@ -58,6 +58,7 @@ set(OTBQtWidget_SRC otbWrapperQtWidgetListEditItemModel.cxx otbWrapperQtWidgetParameterList.cxx otbWrapperQtWidgetBoolParameter.cxx + otbWrapperQtWidgetSpinBoxes.cxx ) set(OTBQtWidget_MOC_HDR @@ -99,19 +100,26 @@ set(OTBQtWidget_MOC_HDR ../include/otbWrapperQtWidgetListEditItemModel.h ../include/otbWrapperQtWidgetParameterList.h ../include/otbWrapperQtWidgetBoolParameter.h + ../include/otbWrapperQtWidgetSpinBoxes.h ) set( OTBQtWidget_FORMS otbWrapperQtWidgetListEditWidget.ui ) +set( OTBQtWidget_RESOURCES + otbWrapperQtWidgetIcons.qrc + ) + qt5_wrap_cpp( OTBQtWidget_MOC_SRC ${OTBQtWidget_MOC_HDR} ) qt5_wrap_ui( OTBQtWidget_FORMS_HEADERS ${OTBQtWidget_FORMS} ) +qt5_add_resources( OTBQtWidget_RESOURCES_RCC ${OTBQtWidget_RESOURCES} OPTIONS "-no-compress") add_library( OTBQtWidget ${OTBQtWidget_SRC} ${OTBQtWidget_FORMS_HEADERS} ${OTBQtWidget_MOC_SRC} + ${OTBQtWidget_RESOURCES_RCC} ) target_link_libraries( OTBQtWidget diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetFloatParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetFloatParameter.cxx index 6c30dd23e8..36e13f10ce 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetFloatParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetFloatParameter.cxx @@ -20,6 +20,8 @@ #include "otbWrapperQtWidgetFloatParameter.h" +#include + namespace otb { namespace Wrapper @@ -38,17 +40,15 @@ QtWidgetFloatParameter::~QtWidgetFloatParameter() void QtWidgetFloatParameter::DoUpdateGUI() { // Update the valid range if updated - m_QDoubleSpinBox->setRange(m_FloatParam->GetMinimumValue(), - m_FloatParam->GetMaximumValue()); - - bool signalsBlocked2 = m_QDoubleSpinBox->blockSignals( true ); + m_QDoubleSpinBox->setRange(m_FloatParam->GetMinimumValue(), m_FloatParam->GetMaximumValue()); + // Update the SpinBox value if parameter has been updated if (m_FloatParam->HasValue()) - { - m_QDoubleSpinBox->setValue(m_FloatParam->GetValue()); - } - m_QDoubleSpinBox->blockSignals( signalsBlocked2 ); + { + m_QDoubleSpinBox->SetValueNoSignal(m_FloatParam->GetValue()); + } + // Set style depending on UserValue parameter flag QFont f = m_QDoubleSpinBox->font(); if (m_FloatParam->HasUserValue()) { @@ -68,18 +68,34 @@ void QtWidgetFloatParameter::DoCreateWidget() m_QHBoxLayout->setSpacing(0); m_QHBoxLayout->setContentsMargins(0, 0, 0, 0); - m_QDoubleSpinBox = new QDoubleSpinBox; - m_QDoubleSpinBox->setDecimals(5); + m_QDoubleSpinBox = new QtWidgetDoubleSpinBox; m_QDoubleSpinBox->setSingleStep(0.1); + m_QDoubleSpinBox->setDecimals(std::numeric_limits::digits10); // max precision, this is 6 for IEEE float m_QDoubleSpinBox->setRange(m_FloatParam->GetMinimumValue(), m_FloatParam->GetMaximumValue()); - m_QDoubleSpinBox->setToolTip( - QString::fromStdString( - m_FloatParam->GetDescription() - ) - ); + m_QDoubleSpinBox->setToolTip( QString::fromStdString( m_FloatParam->GetDescription())); + + // Block mouse wheel events to the QSpinBox + // this is to avoid grabbing focus when scrolling the parent QScrollArea + m_QDoubleSpinBox->setFocusPolicy(Qt::StrongFocus); + m_QDoubleSpinBox->installEventFilter(this); + + // Set the SpinBox initial value to the parameter value + if (m_FloatParam->HasValue()) + m_QDoubleSpinBox->SetValueNoSignal(m_FloatParam->GetValue()); + + // What happens when the Reset button is clicked + connect(m_QDoubleSpinBox, &QtWidgetDoubleSpinBox::Cleared, + this, &QtWidgetFloatParameter::OnCleared); + + // What happens when the value changed because of user interaction (keyboard or arrows pressed) + // Note: to avoid calling this when the value changes automatically (reset button, DoParameterUpdate, XML load), + // calls to QSpinBox::setValue() are wrapped with signal blockers + connect(m_QDoubleSpinBox, QOverload::of(&QtWidgetDoubleSpinBox::valueChanged), + this, &QtWidgetFloatParameter::OnValueChanged); - connect( m_QDoubleSpinBox, SIGNAL(valueChanged(double)), this, SLOT(SetValue(double)) ); - connect( m_QDoubleSpinBox, SIGNAL(valueChanged(double)), GetModel(), SLOT(NotifyUpdate()) ); + // What happens when the SpinBox looses focus, or enter is pressed + connect(m_QDoubleSpinBox, &QtWidgetDoubleSpinBox::editingFinished, + this, &QtWidgetFloatParameter::OnEditingFinished); m_QHBoxLayout->addWidget(m_QDoubleSpinBox); m_QHBoxLayout->addStretch(); @@ -92,16 +108,45 @@ void QtWidgetFloatParameter::DoCreateWidget() } } -void QtWidgetFloatParameter::SetValue(double value) +void QtWidgetFloatParameter::OnCleared() { + // Set the parameter to its default value + m_FloatParam->Reset(); + + // Reset the SpinBox value, but avoid triggering its valueChanged signal + m_QDoubleSpinBox->SetValueNoSignal(m_FloatParam->GetDefaultValue()); + + // Unset user value flag and hide the Reset button + m_FloatParam->SetUserValue(false); + m_QDoubleSpinBox->DisableClearButton(); + + // Call the application DoUpdateParameters, then all widgets' DoUpdateGUI (including this one) + this->GetModel()->NotifyUpdate(); +} + +void QtWidgetFloatParameter::OnValueChanged(double value) +{ + // Set the parameter value, user value flag and show the Reset button m_FloatParam->SetValue( static_cast(value) ); - /** moved to ParameterChanged slot in QtWidgetParameterBase:: **/ - /** m_FloatParam->SetUserValue(true); **/ + m_FloatParam->SetUserValue(true); + m_QDoubleSpinBox->EnableClearButton(); +} - QString key( m_FloatParam->GetKey() ); - emit ParameterChanged(key); +void QtWidgetFloatParameter::OnEditingFinished() +{ + // Call the application DoUpdateParameters, then all widgets' DoUpdateGUI (including this one) + this->GetModel()->NotifyUpdate(); +} - m_FloatParam->SetAutomaticValue(false); +// Filter mouse wheel events to avoid scrolling issues in parent QScrollArea +bool QtWidgetFloatParameter::eventFilter(QObject * o, QEvent * e) +{ + if ( e->type() == QEvent::Wheel && qobject_cast( o ) ) + { + e->ignore(); + return true; + } + return QWidget::eventFilter( o, e ); } } diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIcons.qrc b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIcons.qrc new file mode 100644 index 0000000000..bb2ccb33f7 --- /dev/null +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIcons.qrc @@ -0,0 +1,6 @@ + + + ../../../../Utilities/Data/Icons/mIconClearText.svg + ../../../../Utilities/Data/Icons/mIconClearTextHover.svg + + diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIntParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIntParameter.cxx index 052c919a63..28ea3532e1 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIntParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIntParameter.cxx @@ -35,6 +35,30 @@ QtWidgetIntParameter::~QtWidgetIntParameter() { } +void QtWidgetIntParameter::DoUpdateGUI() +{ + // Update the valid range if updated + m_QSpinBox->setRange(m_IntParam->GetMinimumValue(), m_IntParam->GetMaximumValue()); + + // Update the SpinBox value if parameter has been updated + if (m_IntParam->HasValue()) + { + m_QSpinBox->SetValueNoSignal(m_IntParam->GetValue()); + } + + // Set style depending on UserValue parameter flag + QFont f = m_QSpinBox->font(); + if (m_IntParam->HasUserValue()) + { + f.setBold(true); + } + else + { + f.setBold(false); + } + m_QSpinBox->setFont(f); +} + void QtWidgetIntParameter::DoCreateWidget() { // Set up input text edit @@ -42,14 +66,32 @@ void QtWidgetIntParameter::DoCreateWidget() m_QHBoxLayout->setSpacing(0); m_QHBoxLayout->setContentsMargins(0, 0, 0, 0); - m_QSpinBox = new QSpinBox; + m_QSpinBox = new QtWidgetSpinBox; m_QSpinBox->setRange(m_IntParam->GetMinimumValue(), m_IntParam->GetMaximumValue()); - m_QSpinBox->setToolTip( - QString::fromStdString( m_IntParam->GetDescription() ) - ); + m_QSpinBox->setToolTip(QString::fromStdString(m_IntParam->GetDescription())); + + // Block mouse wheel events to the QSpinBox + // this is to avoid grabbing focus when scrolling the parent QScrollArea + m_QSpinBox->setFocusPolicy(Qt::StrongFocus); + m_QSpinBox->installEventFilter(this); + + // Set the SpinBox initial value to the parameter value + if (m_IntParam->HasValue()) + m_QSpinBox->SetValueNoSignal(m_IntParam->GetValue()); + + // What happens when the Reset button is clicked + connect(m_QSpinBox, &QtWidgetSpinBox::Cleared, + this, &QtWidgetIntParameter::OnCleared); - connect( m_QSpinBox, SIGNAL(valueChanged(int)), this, SLOT(SetValue(int)) ); - connect( m_QSpinBox, SIGNAL(valueChanged(int)), GetModel(), SLOT(NotifyUpdate()) ); + // What happens when the value changed because of user interaction (keyboard or arrows pressed) + // Note: to avoid calling this when the value changes automatically (reset button, DoParameterUpdate, XML load), + // calls to QSpinBox::setValue() are wrapped with signal blockers + connect(m_QSpinBox, QOverload::of(&QtWidgetSpinBox::valueChanged), + this, &QtWidgetIntParameter::OnValueChanged); + + // What happens when the SpinBox looses focus, or enter is pressed + connect(m_QSpinBox, &QtWidgetSpinBox::editingFinished, + this, &QtWidgetIntParameter::OnEditingFinished); m_QHBoxLayout->addWidget(m_QSpinBox); m_QHBoxLayout->addStretch(); @@ -62,44 +104,47 @@ void QtWidgetIntParameter::DoCreateWidget() } } -void QtWidgetIntParameter::DoUpdateGUI() +void QtWidgetIntParameter::OnCleared() { - // Update the valid range if updated - m_QSpinBox->setRange(m_IntParam->GetMinimumValue(), - m_IntParam->GetMaximumValue()); + // Set the parameter to its default value + m_IntParam->Reset(); - bool signalsBlocked2 = m_QSpinBox->blockSignals( true ); + // Reset the SpinBox value, but avoid triggering its valueChanged signal + m_QSpinBox->SetValueNoSignal(m_IntParam->GetDefaultValue()); - if (m_IntParam->HasValue()) - { - m_QSpinBox->setValue(m_IntParam->GetValue()); - } - m_QSpinBox->blockSignals( signalsBlocked2 ); + // Unset user value flag and hide the Reset button + m_IntParam->SetUserValue(false); + m_QSpinBox->DisableClearButton(); - QFont f = m_QSpinBox->font(); - if (m_IntParam->HasUserValue()) - { - f.setBold(true); - } - else - { - f.setBold(false); - } - m_QSpinBox->setFont(f); + // Call the application DoUpdateParameters, then all widgets' DoUpdateGUI (including this one) + this->GetModel()->NotifyUpdate(); } -void QtWidgetIntParameter::SetValue(int value) +void QtWidgetIntParameter::OnValueChanged(int value) { - m_IntParam->SetValue(value); - - /** moved to ParameterChanged slot in QtWidgetParameterBase:: **/ - /**m_IntParam->SetUserValue(true); **/ + // Set the parameter value, user value flag and show the Reset button + m_IntParam->SetValue( static_cast(value) ); + m_IntParam->SetUserValue(true); + m_QSpinBox->EnableClearButton(); +} - QString key( m_IntParam->GetKey() ); - emit ParameterChanged(key); +void QtWidgetIntParameter::OnEditingFinished() +{ + // Call the application DoUpdateParameters, then all widgets' DoUpdateGUI (including this one) + this->GetModel()->NotifyUpdate(); +} - m_IntParam->SetAutomaticValue(false); +// Filter mouse wheel events to avoid scrolling issues in parent QScrollArea +bool QtWidgetIntParameter::eventFilter( QObject * o, QEvent * e ) +{ + if ( e->type() == QEvent::Wheel && qobject_cast( o ) ) + { + e->ignore(); + return true; + } + return QWidget::eventFilter( o, e ); } + } } diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterBase.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterBase.cxx index 86789e4197..0d7af4535f 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterBase.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterBase.cxx @@ -40,10 +40,10 @@ QtWidgetParameterBase::~QtWidgetParameterBase() void QtWidgetParameterBase::CreateWidget() { - this->DoCreateWidget(); + // Connect the model update gui signal to this widget update gui slot + connect( GetModel(), &QtWidgetModel::UpdateGui, this, &QtWidgetParameterBase::UpdateGUI ); - // connect the update signal to this widget - connect( GetModel(), SIGNAL(UpdateGui()), this, SLOT(UpdateGUI() ) ); + this->DoCreateWidget(); } void QtWidgetParameterBase::UpdateGUI() @@ -96,15 +96,6 @@ void QtWidgetParameterBase::SetActivationState( bool value ) } -// Slot connected to the signal emitted by the Reset Button -void QtWidgetParameterBase::Reset( ) -{ - m_Param->Reset(); - m_Param->SetUserValue(false); - m_Param->SetAutomaticValue(false); - this->UpdateGUI(); -} - const Parameter * QtWidgetParameterBase ::GetParam() const diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterGroup.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterGroup.cxx index b9ba4673cb..c06087b9d6 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterGroup.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterGroup.cxx @@ -40,11 +40,10 @@ QtWidgetParameterGroup::~QtWidgetParameterGroup() void QtWidgetParameterGroup::DoUpdateGUI() { - WidgetListIteratorType it = m_WidgetList.begin(); - for (it = m_WidgetList.begin(); it != m_WidgetList.end(); ++it) - { - (*it)->UpdateGUI(); - } + // Note that we do not need to call each child widget's UpdateGUI here, + // because they already each have a signal/slot connection that triggers it + // when the model updates. + // It is created in QtWidgetParameterBase::CreateWidget() } void QtWidgetParameterGroup::DoCreateWidget() @@ -103,26 +102,6 @@ void QtWidgetParameterGroup::DoCreateWidget() } gridLayout->addWidget(checkBox, i, 0); - // Reset Button - // Make sense only for NumericalParameter - if (dynamic_cast(param) - || dynamic_cast(param) - || dynamic_cast(param) - /*|| dynamic_cast(param)*/) - { - if( param->GetRole() != Role_Output ) - { - QPushButton* resetButton = new QPushButton; - resetButton->setText("Reset"); - resetButton->setToolTip("Reset the value of this parameter"); - gridLayout->addWidget(resetButton, i, 3); - - // Slots to connect to the reset button - connect( resetButton, SIGNAL(clicked()), specificWidget, SLOT(Reset()) ); - connect( resetButton, SIGNAL(clicked()), GetModel(), SLOT(NotifyUpdate()) ); - } - } - m_WidgetList.push_back(specificWidget); } else diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx new file mode 100644 index 0000000000..14be59afc9 --- /dev/null +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx @@ -0,0 +1,198 @@ +/* + * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) + * + * This file is part of Orfeo Toolbox + * + * https://www.orfeo-toolbox.org/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "otbWrapperQtWidgetSpinBoxes.h" + +#include +#include +#include + +namespace otb +{ +namespace Wrapper +{ + +QtWidgetLineEdit::QtWidgetLineEdit( QWidget *parent ) + : QLineEdit( parent ) +{ + // Setup the clear button icon + m_ClearIcon.addPixmap( QIcon(":/Utilities/Data/Icons/mIconClearText.svg").pixmap( QSize( CLEAR_ICON_SIZE, CLEAR_ICON_SIZE)), QIcon::Normal, QIcon::On ); + m_ClearIcon.addPixmap( QIcon(":/Utilities/Data/Icons/mIconClearTextHover.svg").pixmap( QSize( CLEAR_ICON_SIZE, CLEAR_ICON_SIZE)) , QIcon::Selected, QIcon::On ); +} + +void QtWidgetLineEdit::EnableClearButton() +{ + if ( m_ClearAction == nullptr ) + { + m_ClearAction = new QAction(m_ClearIcon, QString("Reset"), this ); + m_ClearAction->setCheckable( false ); + this->addAction( m_ClearAction, QLineEdit::TrailingPosition ); + + // Forward the trigger signal + connect( m_ClearAction, &QAction::triggered, this, &QtWidgetLineEdit::Cleared ); + } +} + +void QtWidgetLineEdit::DisableClearButton() +{ + if ( m_ClearAction != nullptr ) + { + m_ClearAction->deleteLater(); + m_ClearAction = nullptr; + } +} + +QtWidgetSpinBox::QtWidgetSpinBox( QWidget* parent ) + : QSpinBox( parent ) +{ + // Use a custom LineEdit a forward its Cleared signal + m_LineEdit = new QtWidgetLineEdit(); + this->setLineEdit(m_LineEdit); + connect(m_LineEdit, &QtWidgetLineEdit::Cleared, this, &QtWidgetSpinBox::Cleared); + + // Small Qt hack to prevent highlighting the text after it has changed (to improve UX a bit) + connect(this, QOverload::of(&QtWidgetSpinBox::valueChanged), this, [&](int) { + m_LineEdit->deselect(); + }, Qt::QueuedConnection); + + // Add icon size and a 10px margin to minimum size hint + QSize msize = minimumSizeHint(); + setMinimumSize( msize.width() + QtWidgetLineEdit::CLEAR_ICON_SIZE + 10, + std::max( msize.height(), QtWidgetLineEdit::CLEAR_ICON_SIZE + 10 ) ); +} + +void QtWidgetSpinBox::EnableClearButton() +{ + m_LineEdit->EnableClearButton(); +} + +void QtWidgetSpinBox::DisableClearButton() +{ + m_LineEdit->DisableClearButton(); +} + +// Set the SpinBox value without triggering its valueChanged signal +void QtWidgetSpinBox::SetValueNoSignal(int value) +{ + this->blockSignals(true); + this->setValue(value); + this->blockSignals(false); +} + +// We use a custom valueFromText to allow more flexible input than QSpinBox default behavior: +// - all inputs are allowed in our custom QtWidgetSpinBox::validate() +// - this method parses the text to int, if it fails keep the previous value +int QtWidgetSpinBox::valueFromText(const QString &text) const +{ + bool ok; + int result = QLocale::system().toInt(text, &ok); + if (ok) + { + return result; + } + else + { + return this->value(); + } +} + +QValidator::State QtWidgetSpinBox::validate( QString &, int & ) const +{ + return QValidator::Acceptable; +} + +QtWidgetDoubleSpinBox::QtWidgetDoubleSpinBox( QWidget* parent ) + : QDoubleSpinBox( parent ) +{ + // Use a custom LineEdit and forward its Cleared signal + m_LineEdit = new QtWidgetLineEdit(); + this->setLineEdit(m_LineEdit); + connect(m_LineEdit, &QtWidgetLineEdit::Cleared, this, &QtWidgetDoubleSpinBox::Cleared); + + // Small Qt hack to prevent highlighting the text after it has changed (to improve UX a bit) + connect(this, QOverload::of(&QtWidgetDoubleSpinBox::valueChanged), this, [&](double) { + m_LineEdit->deselect(); + }, Qt::QueuedConnection); + + // Add icon size and a 10px margin to minimum size hint + QSize msize = minimumSizeHint(); + setMinimumSize( msize.width() + QtWidgetLineEdit::CLEAR_ICON_SIZE + 10, + std::max( msize.height(), QtWidgetLineEdit::CLEAR_ICON_SIZE + 10 ) ); +} + +void QtWidgetDoubleSpinBox::EnableClearButton() +{ + m_LineEdit->EnableClearButton(); +} + +void QtWidgetDoubleSpinBox::DisableClearButton() +{ + m_LineEdit->DisableClearButton(); +} + +// Set the SpinBox value without triggering its valueChanged signal +void QtWidgetDoubleSpinBox::SetValueNoSignal(double value) +{ + this->blockSignals(true); + this->setValue(value); + this->blockSignals(false); +} + +// We use a custom valueFromText to allow more flexible input than QDoubleSpinBox default behavior: +// - all inputs are allowed in our custom QtWidgetDoubleSpinBox::validate() +// - this method parses the text to double, if it fails keep the previous value +double QtWidgetDoubleSpinBox::valueFromText(const QString &text) const +{ + bool ok; + double result = QLocale::system().toDouble(text, &ok); + if (ok) + { + return result; + } + else + { + return this->value(); + } +} + +QString QtWidgetDoubleSpinBox::textFromValue(double value) const +{ + // Format the spinbox value for display + // We overwrite the default QDoubleSpinBox::textFromValue, because it uses fixed precision, + // which leads to ugly trailing zeros for small values (e.g 1.50000) + // We use std::ostringstream because QString::arg formatting support is too limited + std::ostringstream oss; + + // Set precision to the number of decimal digits that can be represented without change. + // Use float precision because OTB parameter is float + // For IEEE float it's 6. + oss.precision(std::numeric_limits::digits10); + + oss << value; + return QString::fromStdString(oss.str()); +} + +QValidator::State QtWidgetDoubleSpinBox::validate( QString &, int & ) const +{ + return QValidator::Acceptable; +} + +} +} diff --git a/SuperBuild/CMake/External_qt5.cmake b/SuperBuild/CMake/External_qt5.cmake index 0d0c64976c..2353a140ec 100644 --- a/SuperBuild/CMake/External_qt5.cmake +++ b/SuperBuild/CMake/External_qt5.cmake @@ -91,7 +91,6 @@ set(QT5_SB_CONFIG -skip qtserialbus \ -skip qtserialport \ -skip qtspeech \ - -skip qtsvg \ -skip qtvirtualkeyboard \ -skip qtwayland \ -skip qtwebchannel \ diff --git a/Utilities/Data/Icons/mIconClearText.svg b/Utilities/Data/Icons/mIconClearText.svg new file mode 100644 index 0000000000..7fa3d8c01f --- /dev/null +++ b/Utilities/Data/Icons/mIconClearText.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/Utilities/Data/Icons/mIconClearTextHover.svg b/Utilities/Data/Icons/mIconClearTextHover.svg new file mode 100644 index 0000000000..3b2315d1ad --- /dev/null +++ b/Utilities/Data/Icons/mIconClearTextHover.svg @@ -0,0 +1,5 @@ + + + + + -- GitLab From 7b7499d4f119835f9474b7ee57449fd31b4f1617 Mon Sep 17 00:00:00 2001 From: Julien Michel Date: Wed, 6 Jun 2018 12:08:16 +0200 Subject: [PATCH 0022/2567] DOC: Document third party environment variables --- Documentation/Cookbook/rst/AdvancedUse.rst | 42 +++++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/Documentation/Cookbook/rst/AdvancedUse.rst b/Documentation/Cookbook/rst/AdvancedUse.rst index ecc8172e7d..fc67e88969 100644 --- a/Documentation/Cookbook/rst/AdvancedUse.rst +++ b/Documentation/Cookbook/rst/AdvancedUse.rst @@ -11,11 +11,43 @@ that they only affect default values, and that settings in extended filenames, applications, monteverdi or custom C++ code might override those values. -* ``OTB_DEM_DIRECTORY``: Default directory were DEM tiles are stored. It should only contain ```.hgt`` or or georeferenced ``.tif`` files. Empty if not set (no directory set) -* ``OTB_GEOID_FILE``: Default path to the geoid file that will be used to retrieve height of DEM above ellipsoid. Empty if not set (no geoid set) -* ``OTB_MAX_RAM_HINT``: Default maximum memory that OTB should use for processing, in MB. If not set, default value is 128 MB. -* ``OTB_LOGGER_LEVEL``: Default level of logging for OTB. Should be one of ``DEBUG``, ``INFO``, ``WARNING``, ``CRITICAL`` or ``FATAL``, by increasing order of priority. Only messages with a higher priority than the level of logging will be displayed. If not set, default level is ``INFO``. - +* ``OTB_DEM_DIRECTORY``: Default directory were DEM tiles are + stored. It should only contain ```.hgt`` or or georeferenced + ``.tif`` files. Empty if not set (no directory set) +* ``OTB_GEOID_FILE``: Default path to the geoid file that will be used + to retrieve height of DEM above ellipsoid. Empty if not set (no + geoid set) +* ``OTB_MAX_RAM_HINT``: Default maximum memory that OTB should use for + processing, in MB. If not set, default value is 128 MB. +* ``OTB_LOGGER_LEVEL``: Default level of logging for OTB. Should be + one of ``DEBUG``, ``INFO``, ``WARNING``, ``CRITICAL`` or ``FATAL``, + by increasing order of priority. Only messages with a higher + priority than the level of logging will be displayed. If not set, + default level is ``INFO``. + +In addition to OTB specific environment variables, the following +environment variable are parsed by third party libraries and also +affect how OTB works: +* ``GDAL_CACHEMAX``: Gdal has an internal cache mechanism to avoid + reading or decoding again image chunks. This environnement variable + controls how much memory Gdal can use for caching. By default, Gdal + can use up to 5 percents of available RAM on system, which may be a + lot. Moreover, caching is only needed if the processing chain is + likely to request the same chunk several times, which is not likely + to happen for a standard pixel based OTB pipeline. Setting a lower + value allows to allocate more memory to OTB itself (using + applications ``-ram`` parameter or ``OTB_MAX_RAM_HINT`` environment + variable). If value is small (less than 100 000, it is assumed to be + in megabytes, otherwise, it is assumed to be in bytes. +* ``GDAL_NUM_THREADS``: Gdal can take advantage of multi-threading to + decode some formats. This variable controls the number of threads + Gdal is allowed to use. +* ``OPJ_NUM_HTREADS``: OpenJpeg can take advantage of mutli-threading + when decoding images. This variable controls the number of threads + OpenJpeg is allowed to use. +* ``ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS``: This variable allows to + control the number of threads used by ITK for processing. + .. _extended-filenames: Extended filenames -- GitLab From 7580828a900a1c5a4607090541cd057bded73bae Mon Sep 17 00:00:00 2001 From: Julien Michel Date: Wed, 6 Jun 2018 12:16:26 +0200 Subject: [PATCH 0023/2567] DOC: Fix formatting --- Documentation/Cookbook/rst/AdvancedUse.rst | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/Documentation/Cookbook/rst/AdvancedUse.rst b/Documentation/Cookbook/rst/AdvancedUse.rst index fc67e88969..6e86009a36 100644 --- a/Documentation/Cookbook/rst/AdvancedUse.rst +++ b/Documentation/Cookbook/rst/AdvancedUse.rst @@ -28,17 +28,7 @@ those values. In addition to OTB specific environment variables, the following environment variable are parsed by third party libraries and also affect how OTB works: -* ``GDAL_CACHEMAX``: Gdal has an internal cache mechanism to avoid - reading or decoding again image chunks. This environnement variable - controls how much memory Gdal can use for caching. By default, Gdal - can use up to 5 percents of available RAM on system, which may be a - lot. Moreover, caching is only needed if the processing chain is - likely to request the same chunk several times, which is not likely - to happen for a standard pixel based OTB pipeline. Setting a lower - value allows to allocate more memory to OTB itself (using - applications ``-ram`` parameter or ``OTB_MAX_RAM_HINT`` environment - variable). If value is small (less than 100 000, it is assumed to be - in megabytes, otherwise, it is assumed to be in bytes. +* ``GDAL_CACHEMAX``: Gdal has an internal cache mechanism to avoid reading or decoding again image chunks. This environnement variable controls how much memory Gdal can use for caching. By default, Gdal can use up to 5 percents of available RAM on system, which may be a lot. Moreover, caching is only needed if the processing chain is likely to request the same chunk several times, which is not likely to happen for a standard pixel based OTB pipeline. Setting a lower value allows to allocate more memory to OTB itself (using applications ``-ram`` parameter or ``OTB_MAX_RAM_HINT`` environment variable). If value is small (less than 100 000, it is assumed to be in megabytes, otherwise, it is assumed to be in bytes. * ``GDAL_NUM_THREADS``: Gdal can take advantage of multi-threading to decode some formats. This variable controls the number of threads Gdal is allowed to use. -- GitLab From 12fcb3c76771908875673fd058b9d470d6c2806b Mon Sep 17 00:00:00 2001 From: Julien Michel Date: Wed, 6 Jun 2018 12:19:17 +0200 Subject: [PATCH 0024/2567] DOC: Fix formatting --- Documentation/Cookbook/rst/AdvancedUse.rst | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Documentation/Cookbook/rst/AdvancedUse.rst b/Documentation/Cookbook/rst/AdvancedUse.rst index 6e86009a36..ad70516e70 100644 --- a/Documentation/Cookbook/rst/AdvancedUse.rst +++ b/Documentation/Cookbook/rst/AdvancedUse.rst @@ -28,15 +28,11 @@ those values. In addition to OTB specific environment variables, the following environment variable are parsed by third party libraries and also affect how OTB works: + * ``GDAL_CACHEMAX``: Gdal has an internal cache mechanism to avoid reading or decoding again image chunks. This environnement variable controls how much memory Gdal can use for caching. By default, Gdal can use up to 5 percents of available RAM on system, which may be a lot. Moreover, caching is only needed if the processing chain is likely to request the same chunk several times, which is not likely to happen for a standard pixel based OTB pipeline. Setting a lower value allows to allocate more memory to OTB itself (using applications ``-ram`` parameter or ``OTB_MAX_RAM_HINT`` environment variable). If value is small (less than 100 000, it is assumed to be in megabytes, otherwise, it is assumed to be in bytes. -* ``GDAL_NUM_THREADS``: Gdal can take advantage of multi-threading to - decode some formats. This variable controls the number of threads - Gdal is allowed to use. -* ``OPJ_NUM_HTREADS``: OpenJpeg can take advantage of mutli-threading - when decoding images. This variable controls the number of threads - OpenJpeg is allowed to use. -* ``ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS``: This variable allows to - control the number of threads used by ITK for processing. +* ``GDAL_NUM_THREADS``: Gdal can take advantage of multi-threading to decode some formats. This variable controls the number of threads Gdal is allowed to use. +* ``OPJ_NUM_HTREADS``: OpenJpeg can take advantage of mutli-threading when decoding images. This variable controls the number of threads OpenJpeg is allowed to use. +* ``ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS``: This variable allows to control the number of threads used by ITK for processing. .. _extended-filenames: -- GitLab From f60d7ea4addfbd8d9e2032352876d822180b8066 Mon Sep 17 00:00:00 2001 From: Julien Michel Date: Wed, 6 Jun 2018 13:15:54 +0200 Subject: [PATCH 0025/2567] DOC: typo --- Documentation/Cookbook/rst/AdvancedUse.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/Cookbook/rst/AdvancedUse.rst b/Documentation/Cookbook/rst/AdvancedUse.rst index ad70516e70..08fd262ccb 100644 --- a/Documentation/Cookbook/rst/AdvancedUse.rst +++ b/Documentation/Cookbook/rst/AdvancedUse.rst @@ -31,7 +31,7 @@ affect how OTB works: * ``GDAL_CACHEMAX``: Gdal has an internal cache mechanism to avoid reading or decoding again image chunks. This environnement variable controls how much memory Gdal can use for caching. By default, Gdal can use up to 5 percents of available RAM on system, which may be a lot. Moreover, caching is only needed if the processing chain is likely to request the same chunk several times, which is not likely to happen for a standard pixel based OTB pipeline. Setting a lower value allows to allocate more memory to OTB itself (using applications ``-ram`` parameter or ``OTB_MAX_RAM_HINT`` environment variable). If value is small (less than 100 000, it is assumed to be in megabytes, otherwise, it is assumed to be in bytes. * ``GDAL_NUM_THREADS``: Gdal can take advantage of multi-threading to decode some formats. This variable controls the number of threads Gdal is allowed to use. -* ``OPJ_NUM_HTREADS``: OpenJpeg can take advantage of mutli-threading when decoding images. This variable controls the number of threads OpenJpeg is allowed to use. +* ``OPJ_NUM_THREADS``: OpenJpeg can take advantage of mutli-threading when decoding images. This variable controls the number of threads OpenJpeg is allowed to use. * ``ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS``: This variable allows to control the number of threads used by ITK for processing. .. _extended-filenames: -- GitLab From 3debd7080d325a19e7acdbec5c52c1caa95d62da Mon Sep 17 00:00:00 2001 From: Victor Poughon Date: Thu, 7 Jun 2018 11:20:46 +0200 Subject: [PATCH 0026/2567] ENH: remove Qt5Svg dependency --- Modules/ThirdParty/Qt/CMakeLists.txt | 5 ++--- Modules/ThirdParty/Qt/otb-module-init.cmake | 1 - .../QtWidget/src/otbWrapperQtWidgetIcons.qrc | 4 ++-- .../QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx | 4 ++-- SuperBuild/CMake/External_qt5.cmake | 1 + Utilities/Data/Icons/mIconClearText.png | Bin 0 -> 5926 bytes Utilities/Data/Icons/mIconClearText.svg | 5 ----- Utilities/Data/Icons/mIconClearTextHover.png | Bin 0 -> 7158 bytes Utilities/Data/Icons/mIconClearTextHover.svg | 5 ----- 9 files changed, 7 insertions(+), 18 deletions(-) create mode 100644 Utilities/Data/Icons/mIconClearText.png delete mode 100644 Utilities/Data/Icons/mIconClearText.svg create mode 100644 Utilities/Data/Icons/mIconClearTextHover.png delete mode 100644 Utilities/Data/Icons/mIconClearTextHover.svg diff --git a/Modules/ThirdParty/Qt/CMakeLists.txt b/Modules/ThirdParty/Qt/CMakeLists.txt index ab3078612d..8234ae1e18 100644 --- a/Modules/ThirdParty/Qt/CMakeLists.txt +++ b/Modules/ThirdParty/Qt/CMakeLists.txt @@ -20,15 +20,14 @@ project( OTBQt ) -set( OTBQt_LIBRARIES ${Qt5Widgets_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5OpenGL_LIBRARIES} ${Qt5Svg_LIBRARIES}) -set( OTBQt_SYSTEM_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5Svg_INCLUDE_DIRS}) +set( OTBQt_LIBRARIES ${Qt5Widgets_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5OpenGL_LIBRARIES}) +set( OTBQt_SYSTEM_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ) set( OTBQt_EXPORT_CODE_BUILD "find_package(Qt5Core REQUIRED HINTS ${Qt5Core_DIR}) find_package(Qt5Gui REQUIRED HINTS ${Qt5Gui_DIR}) find_package(Qt5Widgets REQUIRED HINTS ${Qt5Widgets_DIR}) find_package(Qt5OpenGL REQUIRED HINTS ${Qt5OpenGL_DIR}) find_package(Qt5LinguistTools HINTS ${Qt5LinguistTools_DIR}) -find_package(Qt5Svg REQUIRED HINTS ${Qt5Svg_DIR}) ") set( OTBQt_EXPORT_CODE_INSTALL ${OTBQt_EXPORT_CODE_BUILD}) diff --git a/Modules/ThirdParty/Qt/otb-module-init.cmake b/Modules/ThirdParty/Qt/otb-module-init.cmake index 9dc73f06b4..60ebd9c497 100644 --- a/Modules/ThirdParty/Qt/otb-module-init.cmake +++ b/Modules/ThirdParty/Qt/otb-module-init.cmake @@ -23,7 +23,6 @@ find_package(Qt5Gui REQUIRED) find_package(Qt5Widgets REQUIRED) find_package(Qt5OpenGL REQUIRED) find_package(Qt5LinguistTools) -find_package(Qt5Svg REQUIRED) mark_as_advanced( QT_QMAKE_EXECUTABLE ) set(QT_VERSION_STRING ${Qt5Core_VERSION}) diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIcons.qrc b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIcons.qrc index bb2ccb33f7..60701a7032 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIcons.qrc +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIcons.qrc @@ -1,6 +1,6 @@ - ../../../../Utilities/Data/Icons/mIconClearText.svg - ../../../../Utilities/Data/Icons/mIconClearTextHover.svg + ../../../../Utilities/Data/Icons/mIconClearText.png + ../../../../Utilities/Data/Icons/mIconClearTextHover.png diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx index 14be59afc9..e8fa431b26 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx @@ -33,8 +33,8 @@ QtWidgetLineEdit::QtWidgetLineEdit( QWidget *parent ) : QLineEdit( parent ) { // Setup the clear button icon - m_ClearIcon.addPixmap( QIcon(":/Utilities/Data/Icons/mIconClearText.svg").pixmap( QSize( CLEAR_ICON_SIZE, CLEAR_ICON_SIZE)), QIcon::Normal, QIcon::On ); - m_ClearIcon.addPixmap( QIcon(":/Utilities/Data/Icons/mIconClearTextHover.svg").pixmap( QSize( CLEAR_ICON_SIZE, CLEAR_ICON_SIZE)) , QIcon::Selected, QIcon::On ); + m_ClearIcon.addPixmap( QIcon(":/Utilities/Data/Icons/mIconClearText.png").pixmap( QSize( CLEAR_ICON_SIZE, CLEAR_ICON_SIZE)), QIcon::Normal, QIcon::On ); + m_ClearIcon.addPixmap( QIcon(":/Utilities/Data/Icons/mIconClearTextHover.png").pixmap( QSize( CLEAR_ICON_SIZE, CLEAR_ICON_SIZE)) , QIcon::Selected, QIcon::On ); } void QtWidgetLineEdit::EnableClearButton() diff --git a/SuperBuild/CMake/External_qt5.cmake b/SuperBuild/CMake/External_qt5.cmake index 2353a140ec..0d0c64976c 100644 --- a/SuperBuild/CMake/External_qt5.cmake +++ b/SuperBuild/CMake/External_qt5.cmake @@ -91,6 +91,7 @@ set(QT5_SB_CONFIG -skip qtserialbus \ -skip qtserialport \ -skip qtspeech \ + -skip qtsvg \ -skip qtvirtualkeyboard \ -skip qtwayland \ -skip qtwebchannel \ diff --git a/Utilities/Data/Icons/mIconClearText.png b/Utilities/Data/Icons/mIconClearText.png new file mode 100644 index 0000000000000000000000000000000000000000..98f04a9db9664c1a30700334a058b6f269819ef8 GIT binary patch literal 5926 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 E0DRN(UjP6A literal 0 HcmV?d00001 diff --git a/Utilities/Data/Icons/mIconClearText.svg b/Utilities/Data/Icons/mIconClearText.svg deleted file mode 100644 index 7fa3d8c01f..0000000000 --- a/Utilities/Data/Icons/mIconClearText.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/Utilities/Data/Icons/mIconClearTextHover.png b/Utilities/Data/Icons/mIconClearTextHover.png new file mode 100644 index 0000000000000000000000000000000000000000..c7717018586b40e625a3ab3763a629014cf6ddc4 GIT binary patch literal 7158 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 - - - - -- GitLab From 24c932f857dce22316fce326033b76210a2b92d9 Mon Sep 17 00:00:00 2001 From: Victor Poughon Date: Thu, 7 Jun 2018 15:09:07 +0200 Subject: [PATCH 0027/2567] ENH: Show trailing dot for GUI floats --- .../QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx index e8fa431b26..e1d277315f 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx @@ -22,6 +22,7 @@ #include #include +#include #include namespace otb @@ -179,13 +180,24 @@ QString QtWidgetDoubleSpinBox::textFromValue(double value) const // which leads to ugly trailing zeros for small values (e.g 1.50000) // We use std::ostringstream because QString::arg formatting support is too limited std::ostringstream oss; + oss.imbue(std::locale("")); // use system's locale for formatting // Set precision to the number of decimal digits that can be represented without change. // Use float precision because OTB parameter is float // For IEEE float it's 6. oss.precision(std::numeric_limits::digits10); - oss << value; + + // Add a trailing dot if the number is integer, + // so that int and float parameters are more visually different. + // For now this is done for all locales, even though not all locales use this + // convention for formatting decimals... + const char dot = std::use_facet>(std::locale("")).decimal_point(); + if (oss.str().find(dot) == std::string::npos) + { + oss << dot; + } + return QString::fromStdString(oss.str()); } -- GitLab From b72ac720f65622ef94934279864bd2c4ceda09fc Mon Sep 17 00:00:00 2001 From: Victor Poughon Date: Thu, 7 Jun 2018 13:54:18 +0200 Subject: [PATCH 0028/2567] BUG: Fix missing QWidget parents --- .../include/otbWrapperQtWidgetBoolParameter.h | 2 +- .../otbWrapperQtWidgetChoiceParameter.h | 2 +- ...rapperQtWidgetComplexInputImageParameter.h | 2 +- ...apperQtWidgetComplexOutputImageParameter.h | 2 +- .../otbWrapperQtWidgetDirectoryParameter.h | 2 +- .../otbWrapperQtWidgetEmptyParameter.h | 2 +- .../otbWrapperQtWidgetFloatParameter.h | 2 +- ...rapperQtWidgetInputFilenameListParameter.h | 2 +- ...otbWrapperQtWidgetInputFilenameParameter.h | 2 +- ...tbWrapperQtWidgetInputImageListParameter.h | 2 +- .../otbWrapperQtWidgetInputImageParameter.h | 2 +- ...bWrapperQtWidgetInputProcessXMLParameter.h | 2 +- ...pperQtWidgetInputVectorDataListParameter.h | 2 +- ...bWrapperQtWidgetInputVectorDataParameter.h | 2 +- .../include/otbWrapperQtWidgetIntParameter.h | 2 +- .../otbWrapperQtWidgetListViewParameter.h | 2 +- ...tbWrapperQtWidgetOutputFilenameParameter.h | 2 +- .../otbWrapperQtWidgetOutputImageParameter.h | 2 +- ...WrapperQtWidgetOutputProcessXMLParameter.h | 2 +- ...WrapperQtWidgetOutputVectorDataParameter.h | 2 +- .../include/otbWrapperQtWidgetParameterBase.h | 2 +- .../otbWrapperQtWidgetParameterFactory.h | 4 +-- .../otbWrapperQtWidgetParameterGroup.h | 2 +- .../otbWrapperQtWidgetParameterLabel.h | 2 +- .../include/otbWrapperQtWidgetParameterList.h | 2 +- .../otbWrapperQtWidgetProgressReport.h | 2 +- .../include/otbWrapperQtWidgetRAMParameter.h | 2 +- .../otbWrapperQtWidgetSimpleProgressReport.h | 2 +- .../otbWrapperQtWidgetStringListParameter.h | 2 +- .../otbWrapperQtWidgetStringParameter.h | 2 +- .../QtWidget/include/otbWrapperQtWidgetView.h | 2 +- .../QtWidget/src/otbApplicationLauncherQt.cxx | 2 +- .../src/otbWrapperQtWidgetBoolParameter.cxx | 8 ++--- .../src/otbWrapperQtWidgetChoiceParameter.cxx | 12 +++---- ...pperQtWidgetComplexInputImageParameter.cxx | 6 ++-- ...perQtWidgetComplexOutputImageParameter.cxx | 12 +++---- .../otbWrapperQtWidgetDirectoryParameter.cxx | 10 +++--- .../src/otbWrapperQtWidgetEmptyParameter.cxx | 8 ++--- .../src/otbWrapperQtWidgetFloatParameter.cxx | 8 ++--- ...pperQtWidgetInputFilenameListParameter.cxx | 4 +-- ...bWrapperQtWidgetInputFilenameParameter.cxx | 6 ++-- ...WrapperQtWidgetInputImageListParameter.cxx | 4 +-- .../otbWrapperQtWidgetInputImageParameter.cxx | 10 +++--- ...rapperQtWidgetInputProcessXMLParameter.cxx | 10 +++--- ...erQtWidgetInputVectorDataListParameter.cxx | 4 +-- ...rapperQtWidgetInputVectorDataParameter.cxx | 10 +++--- .../src/otbWrapperQtWidgetIntParameter.cxx | 8 ++--- .../otbWrapperQtWidgetListViewParameter.cxx | 8 ++--- ...WrapperQtWidgetOutputFilenameParameter.cxx | 10 +++--- ...otbWrapperQtWidgetOutputImageParameter.cxx | 12 +++---- ...apperQtWidgetOutputProcessXMLParameter.cxx | 10 +++--- ...apperQtWidgetOutputVectorDataParameter.cxx | 10 +++--- .../src/otbWrapperQtWidgetParameterBase.cxx | 5 +-- .../otbWrapperQtWidgetParameterFactory.cxx | 8 ++--- .../src/otbWrapperQtWidgetParameterGroup.cxx | 18 +++++----- .../src/otbWrapperQtWidgetParameterLabel.cxx | 7 ++-- .../src/otbWrapperQtWidgetParameterList.cxx | 9 ++--- .../src/otbWrapperQtWidgetProgressReport.cxx | 10 +++--- .../src/otbWrapperQtWidgetRAMParameter.cxx | 8 ++--- ...otbWrapperQtWidgetSimpleProgressReport.cxx | 9 ++--- .../src/otbWrapperQtWidgetSpinBoxes.cxx | 4 +-- .../otbWrapperQtWidgetStringListParameter.cxx | 4 +-- .../src/otbWrapperQtWidgetStringParameter.cxx | 8 ++--- .../QtWidget/src/otbWrapperQtWidgetView.cxx | 33 ++++++++++--------- 64 files changed, 182 insertions(+), 177 deletions(-) diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetBoolParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetBoolParameter.h index 681ef9c693..118e8ac4cf 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetBoolParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetBoolParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetBoolParameter : public QtWidgetParameterBase Q_OBJECT public: - QtWidgetBoolParameter(BoolParameter*, QtWidgetModel*); + QtWidgetBoolParameter(BoolParameter*, QtWidgetModel*, QWidget*); ~QtWidgetBoolParameter() ITK_OVERRIDE; public slots: diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h index 345c6e59ce..ea3cbcad44 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h @@ -41,7 +41,7 @@ class OTBQtWidget_EXPORT QtWidgetChoiceParameter : public QtWidgetParameterBase { Q_OBJECT public: - QtWidgetChoiceParameter(ChoiceParameter*, QtWidgetModel*); + QtWidgetChoiceParameter(ChoiceParameter*, QtWidgetModel*, QWidget*); ~QtWidgetChoiceParameter() override; protected slots: diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h index 02a76fd978..d9154a9f4d 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetComplexInputImageParameter : public QtWidgetPar { Q_OBJECT public: - QtWidgetComplexInputImageParameter(ComplexInputImageParameter*, QtWidgetModel*); + QtWidgetComplexInputImageParameter(ComplexInputImageParameter*, QtWidgetModel*, QWidget*); ~QtWidgetComplexInputImageParameter() override; inline const QLineEdit* GetInput() const; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h index ed964c1826..b9abb1489e 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetComplexOutputImageParameter : public QtWidgetPa { Q_OBJECT public: - QtWidgetComplexOutputImageParameter(ComplexOutputImageParameter*, QtWidgetModel*); + QtWidgetComplexOutputImageParameter(ComplexOutputImageParameter*, QtWidgetModel*, QWidget*); ~QtWidgetComplexOutputImageParameter() override; inline const QLineEdit* GetInput() const; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h index 28d257bb71..a5d95af6a1 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetDirectoryParameter : public QtWidgetParameterBa { Q_OBJECT public: - QtWidgetDirectoryParameter(DirectoryParameter*, QtWidgetModel*); + QtWidgetDirectoryParameter(DirectoryParameter*, QtWidgetModel*, QWidget*); ~QtWidgetDirectoryParameter() override; protected slots: diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h index 9503fd41de..fdb450c492 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetEmptyParameter : public QtWidgetParameterBase Q_OBJECT public: - QtWidgetEmptyParameter(EmptyParameter*, QtWidgetModel*); + QtWidgetEmptyParameter(EmptyParameter*, QtWidgetModel*, QWidget*); ~QtWidgetEmptyParameter() override; private: diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h index ca51076002..ed7b329716 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h @@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetFloatParameter : public QtWidgetParameterBase { Q_OBJECT public: - QtWidgetFloatParameter(FloatParameter*, QtWidgetModel*); + QtWidgetFloatParameter(FloatParameter*, QtWidgetModel*, QWidget*); ~QtWidgetFloatParameter() override; private slots: diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameListParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameListParameter.h index 24558b8129..e910eb707b 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameListParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameListParameter.h @@ -48,7 +48,7 @@ class OTBQtWidget_EXPORT QtWidgetInputFilenameListParameter : // // Public methods. public: - QtWidgetInputFilenameListParameter( InputFilenameListParameter *, QtWidgetModel * ); + QtWidgetInputFilenameListParameter( InputFilenameListParameter *, QtWidgetModel * , QWidget *); ~QtWidgetInputFilenameListParameter() override; // diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h index 1ba8cbfc00..ae947ea030 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetInputFilenameParameter : public QtWidgetParamet { Q_OBJECT public: - QtWidgetInputFilenameParameter(InputFilenameParameter*, QtWidgetModel*); + QtWidgetInputFilenameParameter(InputFilenameParameter*, QtWidgetModel*, QWidget*); ~QtWidgetInputFilenameParameter() override; inline const QLineEdit* GetInput() const; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageListParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageListParameter.h index 5f629f4ad7..c9ff7b434a 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageListParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageListParameter.h @@ -53,7 +53,7 @@ class OTBQtWidget_EXPORT QtWidgetInputImageListParameter : // // Public methods. public: - QtWidgetInputImageListParameter( InputImageListParameter *, QtWidgetModel * ); + QtWidgetInputImageListParameter( InputImageListParameter *, QtWidgetModel *, QWidget * ); ~QtWidgetInputImageListParameter() override; // diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h index ba9edaad53..d8c38fd3d1 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetInputImageParameter : public QtWidgetParameterB { Q_OBJECT public: - QtWidgetInputImageParameter(InputImageParameter*, QtWidgetModel*); + QtWidgetInputImageParameter(InputImageParameter*, QtWidgetModel*, QWidget*); ~QtWidgetInputImageParameter() override; inline const QLineEdit* GetInput() const; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h index cc7d2391a5..f3bf7e5a70 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetInputProcessXMLParameter : public QtWidgetParam { Q_OBJECT public: - QtWidgetInputProcessXMLParameter(InputProcessXMLParameter*, QtWidgetModel*); + QtWidgetInputProcessXMLParameter(InputProcessXMLParameter*, QtWidgetModel*, QWidget*); ~QtWidgetInputProcessXMLParameter() override; inline const QLineEdit* GetInput() const; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataListParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataListParameter.h index b9ac60aa2f..37371d2a1c 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataListParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataListParameter.h @@ -54,7 +54,7 @@ class OTBQtWidget_EXPORT QtWidgetInputVectorDataListParameter // Public methods. public: QtWidgetInputVectorDataListParameter( InputVectorDataListParameter *, - QtWidgetModel * ); + QtWidgetModel *, QWidget * ); ~QtWidgetInputVectorDataListParameter() override; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h index 024f39093c..4355d05f36 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetInputVectorDataParameter : public QtWidgetParam { Q_OBJECT public: - QtWidgetInputVectorDataParameter(InputVectorDataParameter*, QtWidgetModel*); + QtWidgetInputVectorDataParameter(InputVectorDataParameter*, QtWidgetModel*, QWidget*); ~QtWidgetInputVectorDataParameter() override; inline const QLineEdit* GetInput() const; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h index 354881ff5d..be2aad0229 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h @@ -44,7 +44,7 @@ class OTBQtWidget_EXPORT QtWidgetIntParameter : public QtWidgetParameterBase { Q_OBJECT public: - QtWidgetIntParameter(IntParameter*, QtWidgetModel*); + QtWidgetIntParameter(IntParameter*, QtWidgetModel*, QWidget*); ~QtWidgetIntParameter() override; private slots: diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h index 3901befc97..154298df08 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h @@ -41,7 +41,7 @@ class OTBQtWidget_EXPORT QtWidgetListViewParameter : public QtWidgetParameterBas { Q_OBJECT public: - QtWidgetListViewParameter(ListViewParameter*, QtWidgetModel*); + QtWidgetListViewParameter(ListViewParameter*, QtWidgetModel*, QWidget*); ~QtWidgetListViewParameter() override; std::vector GetSelectedItems() diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h index 6d12f4908e..ab9bb29ce9 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetOutputFilenameParameter : public QtWidgetParame { Q_OBJECT public: - QtWidgetOutputFilenameParameter(OutputFilenameParameter*, QtWidgetModel*); + QtWidgetOutputFilenameParameter(OutputFilenameParameter*, QtWidgetModel*, QWidget*); ~QtWidgetOutputFilenameParameter() override; inline const QLineEdit* GetInput() const; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h index 4a66a9412c..9ae27d353e 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetOutputImageParameter : public QtWidgetParameter { Q_OBJECT public: - QtWidgetOutputImageParameter(OutputImageParameter*, QtWidgetModel*); + QtWidgetOutputImageParameter(OutputImageParameter*, QtWidgetModel*, QWidget*); ~QtWidgetOutputImageParameter() override; inline const QLineEdit* GetInput() const; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h index 00a3804453..2b4f51928a 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetOutputProcessXMLParameter : public QtWidgetPara { Q_OBJECT public: - QtWidgetOutputProcessXMLParameter(OutputProcessXMLParameter*, QtWidgetModel*); + QtWidgetOutputProcessXMLParameter(OutputProcessXMLParameter*, QtWidgetModel*, QWidget*); ~QtWidgetOutputProcessXMLParameter() override; inline const QLineEdit* GetInput() const; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h index e2b675dfdf..7b554e1bc6 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetOutputVectorDataParameter : public QtWidgetPara { Q_OBJECT public: - QtWidgetOutputVectorDataParameter(OutputVectorDataParameter*, QtWidgetModel*); + QtWidgetOutputVectorDataParameter(OutputVectorDataParameter*, QtWidgetModel*, QWidget*); ~QtWidgetOutputVectorDataParameter() override; inline const QLineEdit* GetInput() const; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h index 3688c10666..7f31f24f20 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h @@ -45,7 +45,7 @@ class OTBQtWidget_EXPORT QtWidgetParameterBase : public QWidget Q_OBJECT friend class QtWidgetParameterGroup; public: - QtWidgetParameterBase( Parameter *, QtWidgetModel * ); + QtWidgetParameterBase( Parameter *, QtWidgetModel * , QWidget * parent); ~QtWidgetParameterBase() override; void CreateWidget(); diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h index 729700992e..4b36988d6e 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h @@ -59,8 +59,8 @@ public: /** Run-time type information (and related methods). */ itkTypeMacro(QtWidgetParameterFactory, Object); - /** Create the appropriate ImageIO depending on the particulars of the file. */ - static QtWidgetParameterBase* CreateQtWidget( Parameter* param, QtWidgetModel* model ); + /** Create the appropriate QtWidget depending on the particulars of the parameter */ + static QtWidgetParameterBase* CreateQtWidget( Parameter* param, QtWidgetModel* model, QWidget * parent ); protected: QtWidgetParameterFactory(); diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h index c13d3c9af1..8420ba77ec 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h @@ -45,7 +45,7 @@ class OTBQtWidget_EXPORT QtWidgetParameterGroup : public QtWidgetParameterBase { Q_OBJECT public: - QtWidgetParameterGroup(ParameterGroup::Pointer, QtWidgetModel*); + QtWidgetParameterGroup(ParameterGroup::Pointer, QtWidgetModel*, QWidget*); ~QtWidgetParameterGroup() override; public slots: diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h index 8e499ea842..ab78e93964 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetParameterLabel : public QWidget { Q_OBJECT public: - QtWidgetParameterLabel(Parameter*); + QtWidgetParameterLabel(Parameter*, QWidget*); ~QtWidgetParameterLabel() override; private: diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterList.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterList.h index 2dad93b44f..740dc3b0d5 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterList.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterList.h @@ -48,7 +48,7 @@ class OTBQtWidget_EXPORT QtWidgetParameterList : public QtWidgetParameterBase // // Public methods. public: - QtWidgetParameterList( AbstractParameterList *, QtWidgetModel * ); + QtWidgetParameterList( AbstractParameterList *, QtWidgetModel * , QWidget*); ~QtWidgetParameterList() override; // diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h index ff301c2619..aae9d1ceeb 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h @@ -44,7 +44,7 @@ class OTBQtWidget_EXPORT QtWidgetProgressReport : public QWidget { Q_OBJECT public: - QtWidgetProgressReport(QtWidgetModel * model); + QtWidgetProgressReport(QtWidgetModel * model, QWidget * parent); ~QtWidgetProgressReport() override; void SetApplication(Application::Pointer app); diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h index c8c6e07412..e4e909e33b 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h @@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetRAMParameter : public QtWidgetParameterBase { Q_OBJECT public: - QtWidgetRAMParameter(RAMParameter*, QtWidgetModel*); + QtWidgetRAMParameter(RAMParameter*, QtWidgetModel*, QWidget*); ~QtWidgetRAMParameter() override; protected slots: diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h index 25d7052231..020de18cf5 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h @@ -44,7 +44,7 @@ class OTBQtWidget_EXPORT QtWidgetSimpleProgressReport : public QWidget { Q_OBJECT public: - QtWidgetSimpleProgressReport(QtWidgetModel * model); + QtWidgetSimpleProgressReport(QtWidgetModel * model, QWidget * parent); ~QtWidgetSimpleProgressReport() override; void SetApplication(Application::Pointer app); diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringListParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringListParameter.h index 062e38ea67..eb6871161a 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringListParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringListParameter.h @@ -50,7 +50,7 @@ class OTBQtWidget_EXPORT QtWidgetStringListParameter : // // Public methods. public: - QtWidgetStringListParameter( StringListParameter *, QtWidgetModel * ); + QtWidgetStringListParameter( StringListParameter *, QtWidgetModel * , QWidget *); ~QtWidgetStringListParameter() override; diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h index da520b579e..ab83f97cda 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h @@ -41,7 +41,7 @@ class OTBQtWidget_EXPORT QtWidgetStringParameter : public QtWidgetParameterBase { Q_OBJECT public: - QtWidgetStringParameter(StringParameter*, QtWidgetModel*); + QtWidgetStringParameter(StringParameter*, QtWidgetModel*, QWidget*); ~QtWidgetStringParameter() override; protected slots: diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h index 42b399d7e5..1576f106d0 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h @@ -70,7 +70,7 @@ public: /** \brief Constructor. */ QtWidgetView( const otb::Wrapper::Application::Pointer & otbApp, - QWidget* p =0, + QWidget* parent, Qt::WindowFlags flags =0 ); /** \brief Destructor. */ diff --git a/Modules/Wrappers/QtWidget/src/otbApplicationLauncherQt.cxx b/Modules/Wrappers/QtWidget/src/otbApplicationLauncherQt.cxx index 529ce721f9..3cbb27ca87 100644 --- a/Modules/Wrappers/QtWidget/src/otbApplicationLauncherQt.cxx +++ b/Modules/Wrappers/QtWidget/src/otbApplicationLauncherQt.cxx @@ -91,7 +91,7 @@ int main(int argc, char* argv[]) mainWindow->setWindowTitle(QString(app->GetDocName()).append(" - ").append(OTB_VERSION_STRING)); // Create GUI based on module - QtWidgetView* gui = new QtWidgetView(app); + QtWidgetView* gui = new QtWidgetView(app, mainWindow); gui->CreateGui(); // Connect the View "Quit" signal, to the mainWindow close slot diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetBoolParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetBoolParameter.cxx index effe1fc563..05ce15c252 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetBoolParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetBoolParameter.cxx @@ -25,8 +25,8 @@ namespace otb namespace Wrapper { -QtWidgetBoolParameter::QtWidgetBoolParameter(BoolParameter* boolParam, QtWidgetModel* m) - : QtWidgetParameterBase(boolParam, m) +QtWidgetBoolParameter::QtWidgetBoolParameter(BoolParameter* boolParam, QtWidgetModel* m, QWidget * parent) + : QtWidgetParameterBase(boolParam, m, parent) { } @@ -64,11 +64,11 @@ void QtWidgetBoolParameter::DoUpdateGUI() void QtWidgetBoolParameter::DoCreateWidget() { - QHBoxLayout *hLayout = new QHBoxLayout; + QHBoxLayout *hLayout = new QHBoxLayout(this); hLayout->setSpacing(0); hLayout->setContentsMargins(0, 0, 0, 0); - m_Button = new QToolButton; + m_Button = new QToolButton(this); m_Button->setCheckable(true); BoolParameter* paramDown = dynamic_cast(this->GetParam()); assert(paramDown && "Not a BoolParameter"); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetChoiceParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetChoiceParameter.cxx index 078064cba3..bcfcd9cc39 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetChoiceParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetChoiceParameter.cxx @@ -29,8 +29,8 @@ namespace Wrapper { QtWidgetChoiceParameter::QtWidgetChoiceParameter( ChoiceParameter* param, - QtWidgetModel* m ) : - QtWidgetParameterBase(param, m), + QtWidgetModel* m , QWidget * parent) : + QtWidgetParameterBase(param, m, parent), m_ChoiceParam(param), m_ComboBox( ITK_NULLPTR ), m_StackWidget( ITK_NULLPTR ), @@ -60,12 +60,12 @@ void QtWidgetChoiceParameter::DoUpdateGUI() void QtWidgetChoiceParameter::DoCreateWidget() { - m_ComboBox = new QComboBox; + m_ComboBox = new QComboBox(this); m_ComboBox->setToolTip( QString::fromStdString( m_ChoiceParam->GetDescription() ) ); - m_StackWidget = new QStackedWidget; + m_StackWidget = new QStackedWidget(this); for (unsigned int i = 0; i < m_ChoiceParam->GetNbChoices(); ++i) { @@ -76,7 +76,7 @@ void QtWidgetChoiceParameter::DoCreateWidget() if (param.IsNotNull()) { QtWidgetParameterBase* widget = - QtWidgetParameterFactory::CreateQtWidget( param, GetModel() ); + QtWidgetParameterFactory::CreateQtWidget( param, GetModel(), this); m_StackWidget->addWidget(widget); @@ -88,7 +88,7 @@ void QtWidgetChoiceParameter::DoCreateWidget() connect( m_ComboBox, SIGNAL(currentIndexChanged(int)), m_StackWidget, SLOT(setCurrentIndex(int)) ); connect( m_ComboBox, SIGNAL(currentIndexChanged(int)), GetModel(), SLOT(NotifyUpdate()) ); - m_VLayout = new QVBoxLayout; + m_VLayout = new QVBoxLayout(this); m_VLayout->addWidget(m_ComboBox); if (!m_WidgetList.empty()) { diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetComplexInputImageParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetComplexInputImageParameter.cxx index c497430f27..15b478f642 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetComplexInputImageParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetComplexInputImageParameter.cxx @@ -27,8 +27,8 @@ namespace otb namespace Wrapper { -QtWidgetComplexInputImageParameter::QtWidgetComplexInputImageParameter(ComplexInputImageParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetComplexInputImageParameter::QtWidgetComplexInputImageParameter(ComplexInputImageParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_ComplexInputImageParam(param) { } @@ -56,7 +56,7 @@ void QtWidgetComplexInputImageParameter::DoUpdateGUI() void QtWidgetComplexInputImageParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); m_Input = new QLineEdit; diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetComplexOutputImageParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetComplexOutputImageParameter.cxx index 9e670fa0e3..19ac3f11b9 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetComplexOutputImageParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetComplexOutputImageParameter.cxx @@ -29,8 +29,8 @@ namespace otb namespace Wrapper { -QtWidgetComplexOutputImageParameter::QtWidgetComplexOutputImageParameter(ComplexOutputImageParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetComplexOutputImageParameter::QtWidgetComplexOutputImageParameter(ComplexOutputImageParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_OutputImageParam(param) { } @@ -53,10 +53,10 @@ void QtWidgetComplexOutputImageParameter::DoUpdateGUI() void QtWidgetComplexOutputImageParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); - m_Input = new QLineEdit; + m_Input = new QLineEdit(this); m_Input->setToolTip( QString::fromStdString( m_OutputImageParam->GetDescription() ) ); @@ -65,7 +65,7 @@ void QtWidgetComplexOutputImageParameter::DoCreateWidget() m_HLayout->addWidget(m_Input); // Set the Output PixelType choice Combobox - m_ComboBox = new QComboBox; + m_ComboBox = new QComboBox(this); m_ComboBox->setToolTip("Complex Output Pixel Type"); m_ComboBox->addItem( "cint16"); m_ComboBox->addItem( "cint32"); @@ -77,7 +77,7 @@ void QtWidgetComplexOutputImageParameter::DoCreateWidget() m_HLayout->addWidget(m_ComboBox); // Set up input text edit - m_Button = new QPushButton; + m_Button = new QPushButton(this); m_Button->setText("..."); m_Button->setToolTip("Select output filename..."); m_Button->setMaximumWidth(m_Button->width()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetDirectoryParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetDirectoryParameter.cxx index 6eb0189d11..afaca29f03 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetDirectoryParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetDirectoryParameter.cxx @@ -27,8 +27,8 @@ namespace otb namespace Wrapper { -QtWidgetDirectoryParameter::QtWidgetDirectoryParameter(DirectoryParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetDirectoryParameter::QtWidgetDirectoryParameter(DirectoryParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_DirectoryParam(param) { } @@ -52,10 +52,10 @@ void QtWidgetDirectoryParameter::DoUpdateGUI() void QtWidgetDirectoryParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); - m_Input = new QLineEdit; + m_Input = new QLineEdit(this); m_Input->setToolTip( QString::fromStdString( m_DirectoryParam->GetDescription() ) ); @@ -65,7 +65,7 @@ void QtWidgetDirectoryParameter::DoCreateWidget() m_HLayout->addWidget(m_Input); // Set up input text edit - m_Button = new QPushButton; + m_Button = new QPushButton(this); m_Button->setText("..."); m_Button->setToolTip("Select d Directory..."); m_Button->setMaximumWidth(m_Button->width()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetEmptyParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetEmptyParameter.cxx index 323cc9d9bc..d267d220f7 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetEmptyParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetEmptyParameter.cxx @@ -25,8 +25,8 @@ namespace otb namespace Wrapper { -QtWidgetEmptyParameter::QtWidgetEmptyParameter(EmptyParameter* emptyParam, QtWidgetModel* m) - : QtWidgetParameterBase(emptyParam, m) +QtWidgetEmptyParameter::QtWidgetEmptyParameter(EmptyParameter* emptyParam, QtWidgetModel* m, QWidget * parent) + : QtWidgetParameterBase(emptyParam, m, parent) { } @@ -42,11 +42,11 @@ void QtWidgetEmptyParameter::DoUpdateGUI() void QtWidgetEmptyParameter::DoCreateWidget() { // Set up input text edit - QHBoxLayout *hLayout = new QHBoxLayout; + QHBoxLayout *hLayout = new QHBoxLayout(this); hLayout->setSpacing(0); hLayout->setContentsMargins(0, 0, 0, 0); - //QCheckBox* checkbox = new QCheckBox; + //QCheckBox* checkbox = new QCheckBox(this); //checkbox->setToolTip(emptyParam->GetDescription()); //QString optionID(emptyParam->GetName()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetFloatParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetFloatParameter.cxx index 36e13f10ce..985c9da0e6 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetFloatParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetFloatParameter.cxx @@ -27,8 +27,8 @@ namespace otb namespace Wrapper { -QtWidgetFloatParameter::QtWidgetFloatParameter(FloatParameter* floatParam, QtWidgetModel* m) -: QtWidgetParameterBase(floatParam, m), +QtWidgetFloatParameter::QtWidgetFloatParameter(FloatParameter* floatParam, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(floatParam, m, parent), m_FloatParam(floatParam) { } @@ -64,11 +64,11 @@ void QtWidgetFloatParameter::DoUpdateGUI() void QtWidgetFloatParameter::DoCreateWidget() { - m_QHBoxLayout = new QHBoxLayout; + m_QHBoxLayout = new QHBoxLayout(this); m_QHBoxLayout->setSpacing(0); m_QHBoxLayout->setContentsMargins(0, 0, 0, 0); - m_QDoubleSpinBox = new QtWidgetDoubleSpinBox; + m_QDoubleSpinBox = new QtWidgetDoubleSpinBox(this); m_QDoubleSpinBox->setSingleStep(0.1); m_QDoubleSpinBox->setDecimals(std::numeric_limits::digits10); // max precision, this is 6 for IEEE float m_QDoubleSpinBox->setRange(m_FloatParam->GetMinimumValue(), m_FloatParam->GetMaximumValue()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputFilenameListParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputFilenameListParameter.cxx index 8aeae849f6..8d5fa88995 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputFilenameListParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputFilenameListParameter.cxx @@ -31,8 +31,8 @@ namespace Wrapper /*****************************************************************************/ QtWidgetInputFilenameListParameter ::QtWidgetInputFilenameListParameter( InputFilenameListParameter * param, - QtWidgetModel * m ) : - QtWidgetParameterList( param, m ) + QtWidgetModel * m , QWidget * parent) : + QtWidgetParameterList( param, m , parent) { } diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputFilenameParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputFilenameParameter.cxx index d7e766a004..6bea728377 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputFilenameParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputFilenameParameter.cxx @@ -28,8 +28,8 @@ namespace otb namespace Wrapper { -QtWidgetInputFilenameParameter::QtWidgetInputFilenameParameter(InputFilenameParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetInputFilenameParameter::QtWidgetInputFilenameParameter(InputFilenameParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_FilenameParam(param), m_HLayout( ITK_NULLPTR ), m_Input( ITK_NULLPTR ), @@ -57,7 +57,7 @@ void QtWidgetInputFilenameParameter::DoUpdateGUI() void QtWidgetInputFilenameParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); m_Input = new QLineEdit; diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageListParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageListParameter.cxx index 218e6389d5..a6727fa992 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageListParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageListParameter.cxx @@ -30,8 +30,8 @@ namespace Wrapper /*****************************************************************************/ QtWidgetInputImageListParameter ::QtWidgetInputImageListParameter( InputImageListParameter * param, - QtWidgetModel * m ) : - QtWidgetParameterList( param, m ) + QtWidgetModel * m , QWidget * parent) : + QtWidgetParameterList( param, m , parent) { } diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageParameter.cxx index 776c51897f..00ea16607c 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageParameter.cxx @@ -32,8 +32,8 @@ namespace otb namespace Wrapper { -QtWidgetInputImageParameter::QtWidgetInputImageParameter(InputImageParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetInputImageParameter::QtWidgetInputImageParameter(InputImageParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_InputImageParam(param), m_HLayout( ITK_NULLPTR ), m_Input( ITK_NULLPTR ), @@ -64,10 +64,10 @@ void QtWidgetInputImageParameter::DoUpdateGUI() void QtWidgetInputImageParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); - m_Input = new QLineEdit; + m_Input = new QLineEdit(this); m_Input->setToolTip( QString::fromStdString( m_InputImageParam->GetDescription() ) @@ -79,7 +79,7 @@ void QtWidgetInputImageParameter::DoCreateWidget() m_HLayout->addWidget(m_Input); // Set up input text edit - m_Button = new QPushButton; + m_Button = new QPushButton(this); m_Button->setText("..."); m_Button->setToolTip("Select file..."); m_Button->setMaximumWidth(m_Button->width()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputProcessXMLParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputProcessXMLParameter.cxx index 095232c832..e9c137660a 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputProcessXMLParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputProcessXMLParameter.cxx @@ -29,8 +29,8 @@ namespace otb namespace Wrapper { -QtWidgetInputProcessXMLParameter::QtWidgetInputProcessXMLParameter(InputProcessXMLParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetInputProcessXMLParameter::QtWidgetInputProcessXMLParameter(InputProcessXMLParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_XMLParam(param) { } @@ -56,10 +56,10 @@ void QtWidgetInputProcessXMLParameter::DoUpdateGUI() void QtWidgetInputProcessXMLParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); - m_Input = new QLineEdit; + m_Input = new QLineEdit(this); m_Input->setToolTip( QString::fromStdString( m_XMLParam->GetDescription() ) ); @@ -69,7 +69,7 @@ void QtWidgetInputProcessXMLParameter::DoCreateWidget() m_HLayout->addWidget(m_Input); // Set up input text edit - m_Button = new QPushButton; + m_Button = new QPushButton(this); m_Button->setText("..."); m_Button->setToolTip("Select file..."); m_Button->setMaximumWidth(m_Button->width()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputVectorDataListParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputVectorDataListParameter.cxx index e4184c5535..311e00af2b 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputVectorDataListParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputVectorDataListParameter.cxx @@ -34,8 +34,8 @@ namespace Wrapper /*****************************************************************************/ QtWidgetInputVectorDataListParameter ::QtWidgetInputVectorDataListParameter( InputVectorDataListParameter * param, - QtWidgetModel* m ) : - QtWidgetParameterList( param, m ) + QtWidgetModel* m , QWidget * parent) : + QtWidgetParameterList( param, m , parent) { } diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputVectorDataParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputVectorDataParameter.cxx index d5956e3367..b02568a117 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputVectorDataParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputVectorDataParameter.cxx @@ -27,8 +27,8 @@ namespace otb namespace Wrapper { -QtWidgetInputVectorDataParameter::QtWidgetInputVectorDataParameter(InputVectorDataParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetInputVectorDataParameter::QtWidgetInputVectorDataParameter(InputVectorDataParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_InputVectorDataParam(param), m_HLayout( ITK_NULLPTR ), m_Input( ITK_NULLPTR ), @@ -57,10 +57,10 @@ void QtWidgetInputVectorDataParameter::DoUpdateGUI() void QtWidgetInputVectorDataParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); - m_Input = new QLineEdit; + m_Input = new QLineEdit(this); m_Input->setToolTip( QString::fromStdString( m_InputVectorDataParam->GetDescription() ) ); @@ -70,7 +70,7 @@ void QtWidgetInputVectorDataParameter::DoCreateWidget() m_HLayout->addWidget(m_Input); // Set up input text edit - m_Button = new QPushButton; + m_Button = new QPushButton(this); m_Button->setText("..."); m_Button->setToolTip("Select file..."); m_Button->setMaximumWidth(m_Button->width()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIntParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIntParameter.cxx index 28ea3532e1..b0bea7835f 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIntParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetIntParameter.cxx @@ -25,8 +25,8 @@ namespace otb namespace Wrapper { -QtWidgetIntParameter::QtWidgetIntParameter(IntParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetIntParameter::QtWidgetIntParameter(IntParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_IntParam(param) { } @@ -62,11 +62,11 @@ void QtWidgetIntParameter::DoUpdateGUI() void QtWidgetIntParameter::DoCreateWidget() { // Set up input text edit - m_QHBoxLayout = new QHBoxLayout; + m_QHBoxLayout = new QHBoxLayout(this); m_QHBoxLayout->setSpacing(0); m_QHBoxLayout->setContentsMargins(0, 0, 0, 0); - m_QSpinBox = new QtWidgetSpinBox; + m_QSpinBox = new QtWidgetSpinBox(this); m_QSpinBox->setRange(m_IntParam->GetMinimumValue(), m_IntParam->GetMaximumValue()); m_QSpinBox->setToolTip(QString::fromStdString(m_IntParam->GetDescription())); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetListViewParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetListViewParameter.cxx index f4f31d45d7..7b7e6bb455 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetListViewParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetListViewParameter.cxx @@ -28,8 +28,8 @@ namespace otb namespace Wrapper { -QtWidgetListViewParameter::QtWidgetListViewParameter(ListViewParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetListViewParameter::QtWidgetListViewParameter(ListViewParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_ListViewParam(param), m_LineHeight(20) { } @@ -101,7 +101,7 @@ void QtWidgetListViewParameter::DoUpdateGUI() void QtWidgetListViewParameter::DoCreateWidget() { - m_ListView = new QListWidget(); + m_ListView = new QListWidget(this); m_ListView->setToolTip( QString::fromStdString( m_ListViewParam->GetDescription() ) ); @@ -117,7 +117,7 @@ void QtWidgetListViewParameter::DoCreateWidget() connect( m_ListView, SIGNAL(itemSelectionChanged()), this, SLOT(SelectedItems()) ); - m_VLayout = new QHBoxLayout; + m_VLayout = new QHBoxLayout(this); m_VLayout->setContentsMargins(0, 0, 0, 0); m_VLayout->addWidget(m_ListView); m_ListView->setMaximumSize(m_ListView->width() , 4* m_LineHeight); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputFilenameParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputFilenameParameter.cxx index ac68fffa02..77bd015e4d 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputFilenameParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputFilenameParameter.cxx @@ -27,8 +27,8 @@ namespace otb namespace Wrapper { -QtWidgetOutputFilenameParameter::QtWidgetOutputFilenameParameter(OutputFilenameParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetOutputFilenameParameter::QtWidgetOutputFilenameParameter(OutputFilenameParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_FilenameParam(param) { } @@ -53,10 +53,10 @@ void QtWidgetOutputFilenameParameter::DoUpdateGUI() void QtWidgetOutputFilenameParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); - m_Input = new QLineEdit; + m_Input = new QLineEdit(this); m_Input->setToolTip( QString::fromStdString( m_FilenameParam->GetDescription() ) ); @@ -66,7 +66,7 @@ void QtWidgetOutputFilenameParameter::DoCreateWidget() m_HLayout->addWidget(m_Input); // Set up input text edit - m_Button = new QPushButton; + m_Button = new QPushButton(this); m_Button->setText("..."); m_Button->setToolTip("Select file..."); m_Button->setMaximumWidth(m_Button->width()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputImageParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputImageParameter.cxx index 1f65c3e75f..ec767be709 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputImageParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputImageParameter.cxx @@ -28,8 +28,8 @@ namespace otb namespace Wrapper { -QtWidgetOutputImageParameter::QtWidgetOutputImageParameter(OutputImageParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetOutputImageParameter::QtWidgetOutputImageParameter(OutputImageParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_OutputImageParam(param) { } @@ -54,10 +54,10 @@ void QtWidgetOutputImageParameter::DoUpdateGUI() void QtWidgetOutputImageParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); - m_Input = new QLineEdit(); + m_Input = new QLineEdit(this); m_Input->setToolTip( QString::fromStdString( m_OutputImageParam->GetDescription() ) ); @@ -66,7 +66,7 @@ void QtWidgetOutputImageParameter::DoCreateWidget() m_HLayout->addWidget(m_Input); // Set the Output PixelType choice Combobox - m_ComboBox = new QComboBox; + m_ComboBox = new QComboBox(this); m_ComboBox->setToolTip("Output Pixel Type"); m_ComboBox->addItem( "uint 8"); m_ComboBox->addItem( "int 16"); @@ -85,7 +85,7 @@ void QtWidgetOutputImageParameter::DoCreateWidget() m_HLayout->addWidget(m_ComboBox); // Set up input text edit - m_Button = new QPushButton; + m_Button = new QPushButton(this); m_Button->setText("..."); m_Button->setToolTip("Select output filename..."); m_Button->setMaximumWidth(m_Button->width()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputProcessXMLParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputProcessXMLParameter.cxx index 78265698cc..e3a35d9545 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputProcessXMLParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputProcessXMLParameter.cxx @@ -27,8 +27,8 @@ namespace otb namespace Wrapper { -QtWidgetOutputProcessXMLParameter::QtWidgetOutputProcessXMLParameter(OutputProcessXMLParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetOutputProcessXMLParameter::QtWidgetOutputProcessXMLParameter(OutputProcessXMLParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_XMLParam(param) { } @@ -51,10 +51,10 @@ void QtWidgetOutputProcessXMLParameter::DoUpdateGUI() void QtWidgetOutputProcessXMLParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); - m_Input = new QLineEdit; + m_Input = new QLineEdit(this); m_Input->setToolTip( QString::fromStdString( m_XMLParam->GetDescription() ) ); @@ -64,7 +64,7 @@ void QtWidgetOutputProcessXMLParameter::DoCreateWidget() m_HLayout->addWidget(m_Input); // Set up input text edit - m_Button = new QPushButton; + m_Button = new QPushButton(this); m_Button->setText("..."); m_Button->setToolTip("Select file..."); m_Button->setMaximumWidth(m_Button->width()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputVectorDataParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputVectorDataParameter.cxx index 318c0bd3fc..daf32e6f8a 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputVectorDataParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetOutputVectorDataParameter.cxx @@ -28,8 +28,8 @@ namespace otb namespace Wrapper { -QtWidgetOutputVectorDataParameter::QtWidgetOutputVectorDataParameter(OutputVectorDataParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetOutputVectorDataParameter::QtWidgetOutputVectorDataParameter(OutputVectorDataParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_OutputVectorDataParam(param) { } @@ -48,11 +48,11 @@ void QtWidgetOutputVectorDataParameter::DoUpdateGUI() void QtWidgetOutputVectorDataParameter::DoCreateWidget() { - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); - m_Input = new QLineEdit; + m_Input = new QLineEdit(this); m_Input->setToolTip( QString::fromStdString( m_OutputVectorDataParam->GetDescription() ) ); @@ -60,7 +60,7 @@ void QtWidgetOutputVectorDataParameter::DoCreateWidget() connect( m_Input, SIGNAL(textChanged(const QString&)), GetModel(), SLOT(NotifyUpdate()) ); m_HLayout->addWidget(m_Input); - m_Button = new QPushButton; + m_Button = new QPushButton(this); m_Button->setText("..."); m_Button->setToolTip("Select output filename..."); m_Button->setMaximumWidth(m_Button->width()); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterBase.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterBase.cxx index 0d7af4535f..4454532169 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterBase.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterBase.cxx @@ -25,8 +25,9 @@ namespace otb namespace Wrapper { -QtWidgetParameterBase::QtWidgetParameterBase(Parameter * param, QtWidgetModel* m) - : m_Model(m) +QtWidgetParameterBase::QtWidgetParameterBase(Parameter * param, QtWidgetModel* m, QWidget * parent) + : QWidget(parent) + , m_Model(m) , m_Param(param) , m_IsChecked( false ) { diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterFactory.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterFactory.cxx index f675050e23..0f10198540 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterFactory.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterFactory.cxx @@ -71,7 +71,7 @@ public: return dynamic_cast(param) != ITK_NULLPTR; } - static QtWidgetParameterBase* Create( Parameter* param, QtWidgetModel* model ) + static QtWidgetParameterBase* Create( Parameter* param, QtWidgetModel* model, QWidget * parent ) { QtWidgetParameterBase * widget = ITK_NULLPTR; TParameterType * specificParam = dynamic_cast< TParameterType * >( param ); @@ -79,7 +79,7 @@ public: // Code should break if param is not a TParameterType and not be silent! assert( specificParam!=nullptr ); - widget = new TQtWidget( specificParam, model ); + widget = new TQtWidget( specificParam, model, parent); return widget; } @@ -94,14 +94,14 @@ QtWidgetParameterFactory::~QtWidgetParameterFactory() } QtWidgetParameterBase* -QtWidgetParameterFactory::CreateQtWidget( Parameter* param, QtWidgetModel* model ) +QtWidgetParameterFactory::CreateQtWidget( Parameter* param, QtWidgetModel* model, QWidget * parent ) { QtWidgetParameterBase* widget = ITK_NULLPTR; #define CREATEWIDGET( ParameterType, WidgetType ) \ else if ( QtWidgetParameterGenericFactory::CanCreate(param) ) \ { \ - widget = QtWidgetParameterGenericFactory::Create(param, model); \ + widget = QtWidgetParameterGenericFactory::Create(param, model, parent); \ } if (0) {} diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterGroup.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterGroup.cxx index c06087b9d6..23e39299e5 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterGroup.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterGroup.cxx @@ -28,8 +28,8 @@ namespace otb namespace Wrapper { -QtWidgetParameterGroup::QtWidgetParameterGroup(ParameterGroup::Pointer paramList, QtWidgetModel* m) -: QtWidgetParameterBase(paramList, m), +QtWidgetParameterGroup::QtWidgetParameterGroup(ParameterGroup::Pointer paramList, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(paramList, m, parent), m_ParamList(paramList) { } @@ -49,7 +49,7 @@ void QtWidgetParameterGroup::DoUpdateGUI() void QtWidgetParameterGroup::DoCreateWidget() { // a GridLayout with two columns : parameter label / parameter widget - QGridLayout *gridLayout = new QGridLayout; + QGridLayout *gridLayout = new QGridLayout(this); gridLayout->setSpacing(1); gridLayout->setContentsMargins(0, 0, 0, 0); @@ -73,15 +73,15 @@ void QtWidgetParameterGroup::DoCreateWidget() if (paramAsGroup == ITK_NULLPTR && paramAsChoice == ITK_NULLPTR && !paramIsXML) { // Label (col 1) - QWidget* label = new QtWidgetParameterLabel( rawParam ); + QWidget* label = new QtWidgetParameterLabel( rawParam , this); gridLayout->addWidget(label, i, 1); // Parameter Widget (col 2) - QtWidgetParameterBase* specificWidget = QtWidgetParameterFactory::CreateQtWidget( param, GetModel() ); + QtWidgetParameterBase* specificWidget = QtWidgetParameterFactory::CreateQtWidget( param, GetModel(), this ); gridLayout->addWidget(specificWidget, i, 2 ); // CheckBox (col 0) - QCheckBox * checkBox = new QCheckBox; + QCheckBox * checkBox = new QCheckBox(this); connect( checkBox, SIGNAL(clicked(bool)), specificWidget, SLOT(SetActivationState(bool))); connect( checkBox, SIGNAL(clicked(bool)), GetModel(), SLOT(NotifyUpdate()) ); connect( specificWidget, SIGNAL(ParameterActiveStatus(bool)), checkBox, SLOT(setChecked(bool))); @@ -106,11 +106,11 @@ void QtWidgetParameterGroup::DoCreateWidget() } else { - QtWidgetParameterBase* specificWidget = QtWidgetParameterFactory::CreateQtWidget( param, GetModel() ); + QtWidgetParameterBase* specificWidget = QtWidgetParameterFactory::CreateQtWidget( param, GetModel(), this); - QVBoxLayout* vboxLayout = new QVBoxLayout; + QVBoxLayout* vboxLayout = new QVBoxLayout(this); vboxLayout->addWidget(specificWidget); - QGroupBox* group = new QGroupBox; + QGroupBox* group = new QGroupBox(this); group->setLayout(vboxLayout); // Make the parameter Group checkable when it is not mandatory diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterLabel.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterLabel.cxx index 2a6b148164..353b2e4df9 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterLabel.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterLabel.cxx @@ -25,15 +25,16 @@ namespace otb namespace Wrapper { -QtWidgetParameterLabel::QtWidgetParameterLabel(Parameter* param) +QtWidgetParameterLabel::QtWidgetParameterLabel(Parameter* param, QWidget * parent) + : QWidget(parent) { // Set up label - QLabel *label = new QLabel; + QLabel *label = new QLabel(this); label->setText(param->GetName()); label->setToolTip(param->GetKey()); - QVBoxLayout *labelLayout = new QVBoxLayout; + QVBoxLayout *labelLayout = new QVBoxLayout(this); labelLayout->setSpacing(0); labelLayout->setContentsMargins(0, 0, 0, 0); labelLayout->addWidget(label, 0); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterList.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterList.cxx index 5770106eee..6d544a8c07 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterList.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetParameterList.cxx @@ -33,8 +33,8 @@ namespace Wrapper /*****************************************************************************/ QtWidgetParameterList -::QtWidgetParameterList( AbstractParameterList * param, QtWidgetModel * m ) : - QtWidgetParameterBase( param, m ) +::QtWidgetParameterList( AbstractParameterList * param, QtWidgetModel * m , QWidget * parent) : + QtWidgetParameterBase( param, m , parent) { assert( m!=nullptr ); @@ -67,12 +67,13 @@ QtWidgetParameterList assert( dynamic_cast< StringListInterface * >( GetParam() )!=nullptr ); ListEditWidget * widget = new ListEditWidget( - dynamic_cast< StringListInterface * >( GetParam() ) + dynamic_cast< StringListInterface * >( GetParam() ), + this ); // // Global Layout - QGridLayout * gLayout = new QGridLayout(); + QGridLayout * gLayout = new QGridLayout(this); gLayout->setSpacing( 1 ); gLayout->setContentsMargins( 2, 2, 2, 2 ); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetProgressReport.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetProgressReport.cxx index cb50f08f8c..8061794211 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetProgressReport.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetProgressReport.cxx @@ -30,8 +30,9 @@ namespace otb namespace Wrapper { -QtWidgetProgressReport::QtWidgetProgressReport(QtWidgetModel * model) - : m_CurrentProcess() +QtWidgetProgressReport::QtWidgetProgressReport(QtWidgetModel * model, QWidget * parent) + : QWidget(parent) + , m_CurrentProcess() { m_Model = model; connect(model, SIGNAL(SetProgressReportBegin()), this, SLOT(show()) ); @@ -39,7 +40,7 @@ QtWidgetProgressReport::QtWidgetProgressReport(QtWidgetModel * model) connect(model, SIGNAL(SetProgressReportDone()), this, SLOT(RemoveLayout()) ); connect(this, SIGNAL(AddNewProcessToReport()), this, SLOT(ReportProcess()) ); - m_Layout = new QVBoxLayout; + m_Layout = new QVBoxLayout(this); this->setLayout(m_Layout); m_AddProcessCommand = AddProcessCommandType::New(); @@ -50,7 +51,6 @@ QtWidgetProgressReport::QtWidgetProgressReport(QtWidgetModel * model) QtWidgetProgressReport::~QtWidgetProgressReport() { - delete m_Layout; } void QtWidgetProgressReport::SetApplication(Application::Pointer app) @@ -88,7 +88,7 @@ void QtWidgetProgressReport::ReportProcess ( ) bar->Observe(m_CurrentProcess); // label - QLabel *label = new QLabel(QString(m_CurrentDescription.c_str())); + QLabel *label = new QLabel(QString(m_CurrentDescription.c_str()), this); // Build the layout and store the pointers m_Layout->addWidget(label); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetRAMParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetRAMParameter.cxx index be73e12d1c..e195289c8e 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetRAMParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetRAMParameter.cxx @@ -25,8 +25,8 @@ namespace otb namespace Wrapper { -QtWidgetRAMParameter::QtWidgetRAMParameter(RAMParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetRAMParameter::QtWidgetRAMParameter(RAMParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_RAMParam(param) { } @@ -38,11 +38,11 @@ QtWidgetRAMParameter::~QtWidgetRAMParameter() void QtWidgetRAMParameter::DoCreateWidget() { // Set up input text edit - m_QHBoxLayout = new QHBoxLayout; + m_QHBoxLayout = new QHBoxLayout(this); m_QHBoxLayout->setSpacing(0); m_QHBoxLayout->setContentsMargins(0, 0, 0, 0); - m_QSpinBox = new QSpinBox; + m_QSpinBox = new QSpinBox(this); m_QSpinBox->setToolTip( QString::fromStdString( m_RAMParam->GetDescription() ) ); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSimpleProgressReport.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSimpleProgressReport.cxx index c8347b23d9..79600fb6a4 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSimpleProgressReport.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSimpleProgressReport.cxx @@ -30,15 +30,16 @@ namespace otb namespace Wrapper { -QtWidgetSimpleProgressReport::QtWidgetSimpleProgressReport(QtWidgetModel * model) - : m_CurrentProcess() +QtWidgetSimpleProgressReport::QtWidgetSimpleProgressReport(QtWidgetModel * model, QWidget * parent) + : QWidget(parent) + , m_CurrentProcess() { m_Model = model; connect(model, SIGNAL(SetProgressReportBegin()), this, SLOT(show()) ); connect(model, SIGNAL(SetProgressReportDone()), this, SLOT(Init()) ); connect(this, SIGNAL(AddNewProcessToReport()), this, SLOT(ReportProcess()) ); - m_Layout = new QVBoxLayout; + m_Layout = new QVBoxLayout(this); this->setLayout(m_Layout); m_AddProcessCommand = AddProcessCommandType::New(); @@ -46,7 +47,7 @@ QtWidgetSimpleProgressReport::QtWidgetSimpleProgressReport(QtWidgetModel * model m_Bar = new itk::QtProgressBar(this); - m_Label = new QLabel("No process"); + m_Label = new QLabel("No process", this); m_Label->setWordWrap(true); connect( m_Bar, SIGNAL(SetValueChanged(int)), m_Bar, SLOT(setValue(int)) ); connect( m_Model, SIGNAL(SetProgressReportDone()), m_Bar, SLOT(reset()) ); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx index e1d277315f..47da43850c 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetSpinBoxes.cxx @@ -64,7 +64,7 @@ QtWidgetSpinBox::QtWidgetSpinBox( QWidget* parent ) : QSpinBox( parent ) { // Use a custom LineEdit a forward its Cleared signal - m_LineEdit = new QtWidgetLineEdit(); + m_LineEdit = new QtWidgetLineEdit(this); this->setLineEdit(m_LineEdit); connect(m_LineEdit, &QtWidgetLineEdit::Cleared, this, &QtWidgetSpinBox::Cleared); @@ -123,7 +123,7 @@ QtWidgetDoubleSpinBox::QtWidgetDoubleSpinBox( QWidget* parent ) : QDoubleSpinBox( parent ) { // Use a custom LineEdit and forward its Cleared signal - m_LineEdit = new QtWidgetLineEdit(); + m_LineEdit = new QtWidgetLineEdit(this); this->setLineEdit(m_LineEdit); connect(m_LineEdit, &QtWidgetLineEdit::Cleared, this, &QtWidgetDoubleSpinBox::Cleared); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetStringListParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetStringListParameter.cxx index b358491f83..0f8ae7a22e 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetStringListParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetStringListParameter.cxx @@ -35,8 +35,8 @@ namespace Wrapper /*****************************************************************************/ QtWidgetStringListParameter ::QtWidgetStringListParameter( StringListParameter * param, - QtWidgetModel * m ) : - QtWidgetParameterList( param, m ) + QtWidgetModel * m , QWidget * parent) : + QtWidgetParameterList( param, m , parent) { } diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetStringParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetStringParameter.cxx index 1485f8ef96..6c5f6c2543 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetStringParameter.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetStringParameter.cxx @@ -25,8 +25,8 @@ namespace otb namespace Wrapper { -QtWidgetStringParameter::QtWidgetStringParameter(StringParameter* param, QtWidgetModel* m) -: QtWidgetParameterBase(param, m), +QtWidgetStringParameter::QtWidgetStringParameter(StringParameter* param, QtWidgetModel* m, QWidget * parent) +: QtWidgetParameterBase(param, m, parent), m_StringParam(param) { } @@ -52,11 +52,11 @@ void QtWidgetStringParameter::DoUpdateGUI() void QtWidgetStringParameter::DoCreateWidget() { // Set up input text edit - m_HLayout = new QHBoxLayout; + m_HLayout = new QHBoxLayout(this); m_HLayout->setSpacing(0); m_HLayout->setContentsMargins(0, 0, 0, 0); - m_Input = new QLineEdit; + m_Input = new QLineEdit(this); m_Input->setToolTip( QString::fromStdString( m_StringParam->GetDescription() ) ); diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetView.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetView.cxx index f689d59d81..b8268b0350 100644 --- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetView.cxx +++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetView.cxx @@ -52,9 +52,9 @@ QtWidgetView /* CLASS IMPLEMENTATION SECTION */ /*****************************************************************************/ QtWidgetView::QtWidgetView( const otb::Wrapper::Application::Pointer & otbApp, - QWidget* p, + QWidget* parent, Qt::WindowFlags flags ) : - QWidget( p, flags ), + QWidget( parent, flags ), m_IconPathDone(""), m_IconPathFailed(""), m_Model( NULL ), @@ -96,37 +96,37 @@ QtWidgetView::~QtWidgetView() void QtWidgetView::CreateGui() { // Create a VBoxLayout with the header, the input widgets, and the footer - QVBoxLayout *mainLayout = new QVBoxLayout(); - m_TabWidget = new QTabWidget(); + QVBoxLayout *mainLayout = new QVBoxLayout(this); + m_TabWidget = new QTabWidget(this); m_TabWidget->addTab(CreateInputWidgets(), tr("Parameters")); - m_LogText = new QTextEdit(); + m_LogText = new QTextEdit(this); connect( m_Model->GetLogOutput(), SIGNAL(NewContentLog(QString)), m_LogText, SLOT(append(QString) ) ); m_TabWidget->addTab(m_LogText, tr("Logs")); m_TabWidget->addTab(CreateDoc(), tr("Documentation")); mainLayout->addWidget(m_TabWidget); - m_Message = new QLabel("
"+tr("Select parameters")+"
"); + m_Message = new QLabel("
"+tr("Select parameters")+"
", this); connect( m_Model, SIGNAL(SetApplicationReady(bool)), this, SLOT( UpdateMessageAfterApplicationReady(bool)) ); connect( m_Model, SIGNAL(SetProgressReportDone(int)), this, SLOT(UpdateMessageAfterExecution(int)) ); mainLayout->addWidget(m_Message); - otb::Wrapper::QtWidgetSimpleProgressReport * progressReport = new otb::Wrapper::QtWidgetSimpleProgressReport(m_Model); + otb::Wrapper::QtWidgetSimpleProgressReport * progressReport = new otb::Wrapper::QtWidgetSimpleProgressReport(m_Model, this); progressReport->SetApplication(m_Model->GetApplication()); QWidget* footer = CreateFooter(); - QHBoxLayout *footLayout = new QHBoxLayout; + QHBoxLayout *footLayout = new QHBoxLayout(this); footLayout->addWidget(progressReport); footLayout->addWidget(footer); mainLayout->addLayout(footLayout); footLayout->setAlignment(footer, Qt::AlignBottom); - QGroupBox *mainGroup = new QGroupBox(); + QGroupBox *mainGroup = new QGroupBox(this); mainGroup->setLayout(mainLayout); - QVBoxLayout *finalLayout = new QVBoxLayout(); + QVBoxLayout *finalLayout = new QVBoxLayout(this); finalLayout->addWidget(mainGroup); // Make the final layout to the widget @@ -162,11 +162,12 @@ void QtWidgetView::UpdateMessageAfterApplicationReady( bool val ) QWidget* QtWidgetView::CreateInputWidgets() { - QScrollArea *scrollArea = new QScrollArea; + QScrollArea *scrollArea = new QScrollArea(this); scrollArea->setWidget( otb::Wrapper::QtWidgetParameterFactory::CreateQtWidget( m_Model->GetApplication()->GetParameterList(), - m_Model)); + m_Model, + this)); scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); scrollArea->setWidgetResizable(true); @@ -178,8 +179,8 @@ QWidget* QtWidgetView::CreateInputWidgets() QWidget* QtWidgetView::CreateFooter() { // an HLayout with two buttons : Execute and Quit - QGroupBox *footerGroup = new QGroupBox; - QHBoxLayout *footerLayout = new QHBoxLayout; + QGroupBox *footerGroup = new QGroupBox(this); + QHBoxLayout *footerLayout = new QHBoxLayout(this); footerGroup->setFixedHeight(40); footerGroup->setContentsMargins(0, 0, 0, 0); @@ -213,10 +214,10 @@ QWidget* QtWidgetView::CreateFooter() QWidget* QtWidgetView::CreateDoc() { - QTextEdit *text = new QTextEdit; + QTextEdit *text = new QTextEdit(this); text->setReadOnly(true); - QTextDocument * doc = new QTextDocument(); + QTextDocument * doc = new QTextDocument(this); std::string docContain; otb::Wrapper::ApplicationHtmlDocGenerator::GenerateDoc( GetModel()->GetApplication(), docContain); -- GitLab From 3996fc2c7400712385a08d946207b936384dbd94 Mon Sep 17 00:00:00 2001 From: Victor Poughon Date: Thu, 7 Jun 2018 16:09:27 +0200 Subject: [PATCH 0029/2567] BUG: Remove workaround for QT bug 22829 --- Modules/Adapters/QtAdapters/include/otbQtAdapters.h | 2 -- .../MonteverdiCore/include/mvdAbstractImageModel.h | 8 -------- .../MonteverdiCore/include/mvdAbstractLayerModel.h | 4 ---- .../MonteverdiCore/include/mvdAbstractModel.h | 4 ---- .../MonteverdiCore/include/mvdAbstractWorker.h | 2 -- .../MonteverdiCore/include/mvdAlgorithm.h | 8 -------- .../MonteverdiCore/include/mvdApplicationsBrowser.h | 4 ---- .../MonteverdiCore/include/mvdBackgroundTask.h | 2 -- .../Visualization/MonteverdiCore/include/mvdCore.h | 4 ---- .../MonteverdiCore/include/mvdDataStream.h | 6 ------ .../MonteverdiCore/include/mvdFilenameInterface.h | 2 -- .../MonteverdiCore/include/mvdHistogramModel.h | 12 ------------ .../MonteverdiCore/include/mvdI18nCoreApplication.h | 4 ---- .../MonteverdiCore/include/mvdImageImporter.h | 4 ---- .../MonteverdiCore/include/mvdImagePlacenameLoader.h | 2 -- .../MonteverdiCore/include/mvdImageProperties.h | 4 ---- .../MonteverdiCore/include/mvdImageSettings.h | 2 -- .../include/mvdImageSettingsInterface.h | 2 -- .../Visualization/MonteverdiCore/include/mvdMath.h | 6 ------ .../MonteverdiCore/include/mvdModifiableInterface.h | 2 -- .../MonteverdiCore/include/mvdMyClass.h | 2 -- .../MonteverdiCore/include/mvdOverviewBuilder.h | 4 ---- .../include/mvdProcessObjectObserver.h | 2 -- .../MonteverdiCore/include/mvdProgressInterface.h | 2 -- .../MonteverdiCore/include/mvdQuicklookModel.h | 4 ---- .../include/mvdSerializableInterface.h | 2 -- .../MonteverdiCore/include/mvdStackedLayerModel.h | 4 ---- .../MonteverdiCore/include/mvdSystemError.h | 6 ------ .../MonteverdiCore/include/mvdTextStream.h | 6 ------ .../Visualization/MonteverdiCore/include/mvdTypes.h | 8 -------- .../MonteverdiCore/include/mvdVectorImageModel.h | 8 -------- .../MonteverdiCore/include/mvdVectorImageSettings.h | 4 ---- .../MonteverdiCore/include/mvdVisibleInterface.h | 2 -- .../MonteverdiGui/include/mvdApplicationLauncher.h | 2 -- .../include/mvdApplicationsToolBoxController.h | 4 ---- .../MonteverdiGui/include/mvdOTBApplicationsModel.h | 4 ---- .../include/mvdQtWidgetParameterInitializers.h | 6 ------ .../MonteverdiGui/include/mvdQtWidgetView.h | 6 ------ Modules/Wrappers/QtWidget/include/itkQtProgressBar.h | 2 -- Modules/Wrappers/QtWidget/include/otbQtApplication.h | 2 -- .../QtWidget/include/otbQtFileSelectionWidget.h | 2 -- Modules/Wrappers/QtWidget/include/otbQtLogOutput.h | 2 -- .../QtWidget/include/otbQtStringSelectionWidget.h | 2 -- .../include/otbWrapperQtWidgetBoolParameter.h | 2 -- .../include/otbWrapperQtWidgetChoiceParameter.h | 2 -- .../otbWrapperQtWidgetComplexInputImageParameter.h | 2 -- .../otbWrapperQtWidgetComplexOutputImageParameter.h | 2 -- .../include/otbWrapperQtWidgetDirectoryParameter.h | 2 -- .../include/otbWrapperQtWidgetEmptyParameter.h | 2 -- .../include/otbWrapperQtWidgetFloatParameter.h | 2 -- .../otbWrapperQtWidgetInputFilenameListParameter.h | 2 -- .../otbWrapperQtWidgetInputFilenameParameter.h | 2 -- .../include/otbWrapperQtWidgetInputImageParameter.h | 2 -- .../otbWrapperQtWidgetInputProcessXMLParameter.h | 2 -- .../otbWrapperQtWidgetInputVectorDataListParameter.h | 2 -- .../otbWrapperQtWidgetInputVectorDataParameter.h | 2 -- .../include/otbWrapperQtWidgetIntParameter.h | 2 -- .../include/otbWrapperQtWidgetListEditItemModel.h | 2 -- .../include/otbWrapperQtWidgetListViewParameter.h | 2 -- .../QtWidget/include/otbWrapperQtWidgetModel.h | 2 -- .../otbWrapperQtWidgetOutputFilenameParameter.h | 2 -- .../include/otbWrapperQtWidgetOutputImageParameter.h | 2 -- .../otbWrapperQtWidgetOutputProcessXMLParameter.h | 2 -- .../otbWrapperQtWidgetOutputVectorDataParameter.h | 2 -- .../include/otbWrapperQtWidgetParameterBase.h | 2 -- .../include/otbWrapperQtWidgetParameterFactory.h | 2 -- .../include/otbWrapperQtWidgetParameterGroup.h | 2 -- .../include/otbWrapperQtWidgetParameterLabel.h | 2 -- .../include/otbWrapperQtWidgetParameterList.h | 2 -- .../include/otbWrapperQtWidgetProgressReport.h | 2 -- .../include/otbWrapperQtWidgetRAMParameter.h | 2 -- .../include/otbWrapperQtWidgetSimpleProgressReport.h | 2 -- .../include/otbWrapperQtWidgetStringParameter.h | 2 -- .../QtWidget/include/otbWrapperQtWidgetView.h | 2 -- 74 files changed, 232 deletions(-) diff --git a/Modules/Adapters/QtAdapters/include/otbQtAdapters.h b/Modules/Adapters/QtAdapters/include/otbQtAdapters.h index 99939627cf..18d66926c8 100644 --- a/Modules/Adapters/QtAdapters/include/otbQtAdapters.h +++ b/Modules/Adapters/QtAdapters/include/otbQtAdapters.h @@ -31,9 +31,7 @@ // // Qt includes (sorted by alphabetic order) //// Must be included before system/custom includes. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include -#endif //tag=QT4-boost-compatibility // // System includes (sorted by alphabetic order) diff --git a/Modules/Visualization/MonteverdiCore/include/mvdAbstractImageModel.h b/Modules/Visualization/MonteverdiCore/include/mvdAbstractImageModel.h index d2e6723d4b..87a3b0a94c 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdAbstractImageModel.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdAbstractImageModel.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -46,17 +44,13 @@ // // OTB includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbImageMetadataInterfaceBase.h" -#endif //tag=QT4-boost-compatibility #include "otbImage.h" // Needed to get otb::internal::Get/SetSignedSpacing() // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAbstractLayerModel.h" #include "mvdImageProperties.h" #include "mvdTypes.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ /* PRE-DECLARATION SECTION */ @@ -400,9 +394,7 @@ private slots: // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdHistogramModel.h" -#endif //tag=QT4-boost-compatibility namespace mvd { diff --git a/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h b/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h index e556edf4c4..4b36467a80 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -50,11 +48,9 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAbstractModel.h" #include "mvdTypes.h" #include "mvdVisibleInterface.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ /* PRE-DECLARATION SECTION */ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdAbstractModel.h b/Modules/Visualization/MonteverdiCore/include/mvdAbstractModel.h index f6f84f3782..215b294fbd 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdAbstractModel.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdAbstractModel.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ /* INCLUDE SECTION */ @@ -39,9 +37,7 @@ // // System includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include -#endif //tag=QT4-boost-compatibility // // ITK includes (sorted by alphabetic order) diff --git a/Modules/Visualization/MonteverdiCore/include/mvdAbstractWorker.h b/Modules/Visualization/MonteverdiCore/include/mvdAbstractWorker.h index 4ae16dc4ee..7ac9bd071c 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdAbstractWorker.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdAbstractWorker.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" diff --git a/Modules/Visualization/MonteverdiCore/include/mvdAlgorithm.h b/Modules/Visualization/MonteverdiCore/include/mvdAlgorithm.h index 08dc0fb2af..ad46c9ac55 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdAlgorithm.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdAlgorithm.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -40,26 +38,20 @@ // // System includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include -#endif //tag=QT4-boost-compatibility // // ITK includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "itkFixedArray.h" #include "itkExceptionObject.h" #include "itkVariableLengthVector.h" -#endif //tag=QT4-boost-compatibility // // OTB includes (sorted by alphabetic order) // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdTypes.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h b/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h index eeeb38fc12..53b899f2c6 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -50,9 +48,7 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdTypes.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ /* PRE-DECLARATION SECTION */ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdBackgroundTask.h b/Modules/Visualization/MonteverdiCore/include/mvdBackgroundTask.h index 9fc7805114..b0e2e90ae9 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdBackgroundTask.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdBackgroundTask.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" diff --git a/Modules/Visualization/MonteverdiCore/include/mvdCore.h b/Modules/Visualization/MonteverdiCore/include/mvdCore.h index 4809b2850b..9af3c6b4c6 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdCore.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdCore.h @@ -26,9 +26,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -51,9 +49,7 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdTypes.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdDataStream.h b/Modules/Visualization/MonteverdiCore/include/mvdDataStream.h index face9928fa..4607bbcb19 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdDataStream.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdDataStream.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -41,9 +39,7 @@ // // System includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include -#endif //tag=QT4-boost-compatibility // // ITK includes (sorted by alphabetic order) @@ -53,10 +49,8 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAlgorithm.h" #include "mvdSystemError.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ /* PRE-DECLARATION SECTION */ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdFilenameInterface.h b/Modules/Visualization/MonteverdiCore/include/mvdFilenameInterface.h index 0ba8d520e7..dedf54868f 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdFilenameInterface.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdFilenameInterface.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" diff --git a/Modules/Visualization/MonteverdiCore/include/mvdHistogramModel.h b/Modules/Visualization/MonteverdiCore/include/mvdHistogramModel.h index aa1aec0371..c395dcb1f8 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdHistogramModel.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdHistogramModel.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -43,24 +41,18 @@ // // ITK includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "itkHistogram.h" -#endif //tag=QT4-boost-compatibility // // OTB includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbObjectList.h" -#endif //tag=QT4-boost-compatibility // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAbstractModel.h" #include "mvdAlgorithm.h" #include "mvdCore.h" #include "mvdSerializableInterface.h" -#endif //tag=QT4-boost-compatibility #define HISTOGRAM_CURVE_TYPE 2 #define USE_FULL_IMAGE_FOR_PASS_1 0 @@ -308,17 +300,13 @@ private slots: // // OTB includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbStreamingHistogramVectorImageFilter.h" #include "otbStreamingMinMaxVectorImageFilter.h" #include "otbStreamingStatisticsVectorImageFilter.h" -#endif //tag=QT4-boost-compatibility // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAbstractImageModel.h" -#endif //tag=QT4-boost-compatibility namespace mvd { diff --git a/Modules/Visualization/MonteverdiCore/include/mvdI18nCoreApplication.h b/Modules/Visualization/MonteverdiCore/include/mvdI18nCoreApplication.h index 6967ca2125..5176a2fb32 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdI18nCoreApplication.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdI18nCoreApplication.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -47,11 +45,9 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAlgorithm.h" #include "mvdSystemError.h" #include "mvdTypes.h" -#endif //tag=QT4-boost-compatibility // // Macros. diff --git a/Modules/Visualization/MonteverdiCore/include/mvdImageImporter.h b/Modules/Visualization/MonteverdiCore/include/mvdImageImporter.h index 00e574ff5a..f34149c4c7 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdImageImporter.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdImageImporter.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -49,9 +47,7 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAbstractWorker.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ /* PRE-DECLARATION SECTION */ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdImagePlacenameLoader.h b/Modules/Visualization/MonteverdiCore/include/mvdImagePlacenameLoader.h index 1bc15cb433..d5e4935250 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdImagePlacenameLoader.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdImagePlacenameLoader.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility // // Qt includes (sorted by alphabetic order) diff --git a/Modules/Visualization/MonteverdiCore/include/mvdImageProperties.h b/Modules/Visualization/MonteverdiCore/include/mvdImageProperties.h index c0c7b6bf20..80e7dbbfd7 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdImageProperties.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdImageProperties.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -49,9 +47,7 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdTypes.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdImageSettings.h b/Modules/Visualization/MonteverdiCore/include/mvdImageSettings.h index 6ee22cd48d..016229907c 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdImageSettings.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdImageSettings.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" diff --git a/Modules/Visualization/MonteverdiCore/include/mvdImageSettingsInterface.h b/Modules/Visualization/MonteverdiCore/include/mvdImageSettingsInterface.h index 0ec05592c7..6f92c577c5 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdImageSettingsInterface.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdImageSettingsInterface.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" diff --git a/Modules/Visualization/MonteverdiCore/include/mvdMath.h b/Modules/Visualization/MonteverdiCore/include/mvdMath.h index 959d786e49..30a0a50b80 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdMath.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdMath.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -45,9 +43,7 @@ // // ITK includes (sorted by alphabetic order) #if USE_VNL -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "vnl_vector.h" -#endif //tag=QT4-boost-compatibility #endif // @@ -55,9 +51,7 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdTypes.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdModifiableInterface.h b/Modules/Visualization/MonteverdiCore/include/mvdModifiableInterface.h index bb3a2a6cb3..1427f06645 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdModifiableInterface.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdModifiableInterface.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" diff --git a/Modules/Visualization/MonteverdiCore/include/mvdMyClass.h b/Modules/Visualization/MonteverdiCore/include/mvdMyClass.h index 2dcf415eb2..1f062d2427 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdMyClass.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdMyClass.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" diff --git a/Modules/Visualization/MonteverdiCore/include/mvdOverviewBuilder.h b/Modules/Visualization/MonteverdiCore/include/mvdOverviewBuilder.h index a7cdbc3330..7a4958d819 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdOverviewBuilder.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdOverviewBuilder.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -50,10 +48,8 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAbstractWorker.h" #include "mvdProgressInterface.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ /* PRE-DECLARATION SECTION */ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdProcessObjectObserver.h b/Modules/Visualization/MonteverdiCore/include/mvdProcessObjectObserver.h index 207cec9d22..e6ae5d9497 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdProcessObjectObserver.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdProcessObjectObserver.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" diff --git a/Modules/Visualization/MonteverdiCore/include/mvdProgressInterface.h b/Modules/Visualization/MonteverdiCore/include/mvdProgressInterface.h index c0eaf1941f..a8851aaf7d 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdProgressInterface.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdProgressInterface.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdQuicklookModel.h b/Modules/Visualization/MonteverdiCore/include/mvdQuicklookModel.h index 1930cb73d9..e20935002e 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdQuicklookModel.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdQuicklookModel.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" /*****************************************************************************/ @@ -35,10 +33,8 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdTypes.h" #include "mvdVectorImageModel.h" -#endif //tag=QT4-boost-compatibility // // Qt includes (sorted by alphabetic order) diff --git a/Modules/Visualization/MonteverdiCore/include/mvdSerializableInterface.h b/Modules/Visualization/MonteverdiCore/include/mvdSerializableInterface.h index 050e82868b..a387259edc 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdSerializableInterface.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdSerializableInterface.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h b/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h index 328872bb95..cbbc283d3a 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -49,9 +47,7 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAbstractModel.h" -#endif //tag=QT4-boost-compatibility #include "mvdTypes.h" /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdSystemError.h b/Modules/Visualization/MonteverdiCore/include/mvdSystemError.h index 6fe4b0329d..f22b513c74 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdSystemError.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdSystemError.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -39,15 +37,11 @@ // // System includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include -#endif //tag=QT4-boost-compatibility // // ITK includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "itksys/SystemTools.hxx" -#endif //tag=QT4-boost-compatibility // // OTB includes (sorted by alphabetic order) diff --git a/Modules/Visualization/MonteverdiCore/include/mvdTextStream.h b/Modules/Visualization/MonteverdiCore/include/mvdTextStream.h index bb82ee552d..c1de1bacac 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdTextStream.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdTextStream.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -43,21 +41,17 @@ // // ITK includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "itkHistogram.h" #include "itkSize.h" -#endif //tag=QT4-boost-compatibility // // OTB includes (sorted by alphabetic order) // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAlgorithm.h" #include "mvdSystemError.h" #include "mvdTypes.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdTypes.h b/Modules/Visualization/MonteverdiCore/include/mvdTypes.h index 1010fe9400..5761aca9da 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdTypes.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdTypes.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -41,28 +39,22 @@ // // System includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include -#endif //tag=QT4-boost-compatibility // // ITK includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include #include -#endif //tag=QT4-boost-compatibility // // OTB includes (sorted by alphabetic order) #ifndef Q_MOC_RUN // See: // https://bugreports.qt-project.org/browse/QTBUG-22829 - // //tag=QT4-boost-compatibility #include #include #include #include #include -#endif //tag=QT4-boost-compatibility // // Monteverdi includes (sorted by alphabetic order) diff --git a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h index a54dfa0fe6..dadcf25f22 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiCoreExport.h" @@ -43,24 +41,18 @@ // // ITK includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "itkExtractImageFilter.h" -#endif //tag=QT4-boost-compatibility // // OTB includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbGenericRSTransform.h" -#endif //tag=QT4-boost-compatibility // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAbstractImageModel.h" #include "mvdFilenameInterface.h" #include "mvdVectorImageSettings.h" #include "mvdTypes.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h index 01c78d04f6..5028407521 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ @@ -47,10 +45,8 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdCore.h" #include "mvdImageSettings.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiCore/include/mvdVisibleInterface.h b/Modules/Visualization/MonteverdiCore/include/mvdVisibleInterface.h index a807eeeb82..295d4bfe34 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdVisibleInterface.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdVisibleInterface.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiGui/include/mvdApplicationLauncher.h b/Modules/Visualization/MonteverdiGui/include/mvdApplicationLauncher.h index d7e148a9b4..66a5f4ede3 100644 --- a/Modules/Visualization/MonteverdiGui/include/mvdApplicationLauncher.h +++ b/Modules/Visualization/MonteverdiGui/include/mvdApplicationLauncher.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBoxController.h b/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBoxController.h index 2c9c3209c8..c7dd659d3f 100644 --- a/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBoxController.h +++ b/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBoxController.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ @@ -48,9 +46,7 @@ // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAbstractModelController.h" -#endif //tag=QT4-boost-compatibility //#include "mvdGui.h" diff --git a/Modules/Visualization/MonteverdiGui/include/mvdOTBApplicationsModel.h b/Modules/Visualization/MonteverdiGui/include/mvdOTBApplicationsModel.h index 89a0a78503..d48507ecf5 100644 --- a/Modules/Visualization/MonteverdiGui/include/mvdOTBApplicationsModel.h +++ b/Modules/Visualization/MonteverdiGui/include/mvdOTBApplicationsModel.h @@ -25,9 +25,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ @@ -48,9 +46,7 @@ #include "OTBMonteverdiGUIExport.h" // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdAbstractModel.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ diff --git a/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetParameterInitializers.h b/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetParameterInitializers.h index c280921ba0..926ff4cd6f 100644 --- a/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetParameterInitializers.h +++ b/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetParameterInitializers.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ @@ -45,7 +43,6 @@ // // OTB includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbMacro.h" #include "otbQtFileSelectionWidget.h" #include "otbWrapperQtWidgetInputFilenameParameter.h" @@ -63,7 +60,6 @@ #include "otbWrapperQtWidgetComplexOutputImageParameter.h" #include "otbWrapperQtWidgetParameterFactory.h" #include "otbWrapperQtWidgetListEditWidget.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiGUIExport.h" // @@ -401,10 +397,8 @@ public: // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdI18nCoreApplication.h" #include "mvdFilenameDragAndDropEventFilter.h" -#endif //tag=QT4-boost-compatibility namespace mvd { diff --git a/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h b/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h index bec337749c..582c3fbcc8 100644 --- a/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h +++ b/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "ConfigureMonteverdi.h" -#endif //tag=QT4-boost-compatibility /*****************************************************************************/ /* INCLUDE SECTION */ @@ -39,17 +37,13 @@ // // OTB includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperQtWidgetView.h" #include "otbWrapperQtWidgetModel.h" -#endif //tag=QT4-boost-compatibility #include "OTBMonteverdiGUIExport.h" // // Monteverdi includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "mvdTypes.h" -#endif //tag=QT4-boost-compatibility namespace mvd { diff --git a/Modules/Wrappers/QtWidget/include/itkQtProgressBar.h b/Modules/Wrappers/QtWidget/include/itkQtProgressBar.h index 3b1087a570..6f21076eeb 100644 --- a/Modules/Wrappers/QtWidget/include/itkQtProgressBar.h +++ b/Modules/Wrappers/QtWidget/include/itkQtProgressBar.h @@ -23,9 +23,7 @@ #define __itkQtProgressBar_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "itkCommand.h" -#endif //tag=QT4-boost-compatibility #include "OTBQtWidgetExport.h" namespace itk { diff --git a/Modules/Wrappers/QtWidget/include/otbQtApplication.h b/Modules/Wrappers/QtWidget/include/otbQtApplication.h index c378f3d804..69cc052f48 100644 --- a/Modules/Wrappers/QtWidget/include/otbQtApplication.h +++ b/Modules/Wrappers/QtWidget/include/otbQtApplication.h @@ -24,9 +24,7 @@ #include #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "itkMacro.h" -#endif //tag=QT4-boost-compatibility #include "OTBQtWidgetExport.h" namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h b/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h index a5fdfd5543..0cce58ecda 100644 --- a/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h +++ b/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h @@ -22,11 +22,9 @@ #define otbQtFileSelectionWidget_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperInputImageListParameter.h" #include "otbWrapperInputFilenameListParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility #include "OTBQtWidgetExport.h" diff --git a/Modules/Wrappers/QtWidget/include/otbQtLogOutput.h b/Modules/Wrappers/QtWidget/include/otbQtLogOutput.h index 299216529f..427d96494f 100644 --- a/Modules/Wrappers/QtWidget/include/otbQtLogOutput.h +++ b/Modules/Wrappers/QtWidget/include/otbQtLogOutput.h @@ -22,9 +22,7 @@ #define otbQtLogOutput_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "itkStdStreamLogOutput.h" -#endif //tag=QT4-boost-compatibility //#include "itkObjectFactory.h" //#include "itkProcessObject.h" diff --git a/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h b/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h index fc8bbd382c..305875070f 100644 --- a/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h +++ b/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h @@ -22,10 +22,8 @@ #define otbQtStringSelectionWidget_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperStringListParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility #include "OTBQtWidgetExport.h" namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetBoolParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetBoolParameter.h index 681ef9c693..552e95f548 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetBoolParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetBoolParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetBoolParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperBoolParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb { diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h index 345c6e59ce..aa60e3b3b4 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetChoiceParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperChoiceParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb { diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h index 02a76fd978..606473e539 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetComplexInputImageParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperComplexInputImageParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h index ed964c1826..fd3c516c8a 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetComplexOutputImageParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperComplexOutputImageParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h index 28d257bb71..c27f1a18ab 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetDirectoryParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperDirectoryParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h index 9503fd41de..ae69d46a8b 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetEmptyParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperEmptyParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb { diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h index 275e6ddcde..0e7d62ecf4 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetFloatParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperNumericalParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb { diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameListParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameListParameter.h index 24558b8129..616b2140fe 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameListParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameListParameter.h @@ -23,9 +23,7 @@ #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility # include "otbWrapperQtWidgetParameterList.h" -#endif //tag=QT4-boost-compatibility namespace otb { diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h index 1ba8cbfc00..c1b0fa2722 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetInputFilenameParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperInputFilenameParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h index ba9edaad53..1f1ffaa920 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetInputImageParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperInputImageParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h index cc7d2391a5..ece8b6d9aa 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetInputProcessXMLParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperInputProcessXMLParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataListParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataListParameter.h index b9ac60aa2f..205d59afd1 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataListParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataListParameter.h @@ -25,9 +25,7 @@ #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility # include "otbWrapperQtWidgetParameterList.h" -#endif //tag=QT4-boost-compatibility namespace otb { diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h index 024f39093c..36d2971701 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetInputVectorDataParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperInputVectorDataParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h index 2ad22eb518..20ab86f7c9 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetIntParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperNumericalParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListEditItemModel.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListEditItemModel.h index 4c87960744..73229bd031 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListEditItemModel.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListEditItemModel.h @@ -24,9 +24,7 @@ // // Configuration include. //// Included at first position before any other ones. -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbMacro.h" -#endif //tag=QT4-boost-compatibility #include "OTBQtWidgetExport.h" diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h index 3901befc97..3d7d85dee5 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetListViewParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperListViewParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb { diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h index 3427dfb84f..1d7975bffc 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h @@ -23,10 +23,8 @@ #include #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperApplication.h" #include "otbQtLogOutput.h" -#endif //tag=QT4-boost-compatibility namespace otb { diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h index 6d12f4908e..5cd0781fa1 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetOutputFilenameParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperOutputFilenameParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h index 4a66a9412c..20cd3f89a0 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetOutputImageParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperOutputImageParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h index 00a3804453..7480c57bd0 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetOutputProcessXMLParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperOutputProcessXMLParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h index e2b675dfdf..faaf09b95a 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetOutputVectorDataParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperOutputVectorDataParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h index f0874fdd84..f4384b70ab 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetParameterBase_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperParameter.h" #include "otbWrapperQtWidgetModel.h" -#endif //tag=QT4-boost-compatibility #include "OTBQtWidgetExport.h" namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h index 729700992e..cc27332666 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetFactory_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "itkObject.h" #include "itkObjectFactory.h" -#endif //tag=QT4-boost-compatibility #include "OTBQtWidgetExport.h" diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h index c13d3c9af1..01a5a401f9 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h @@ -22,14 +22,12 @@ #define otbWrapperQtWidgetParameterGroup_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperParameterGroup.h" #include "otbWrapperRadiusParameter.h" #include "otbWrapperRAMParameter.h" #include "otbWrapperQtWidgetParameterBase.h" #include "otbWrapperInputProcessXMLParameter.h" #include "otbWrapperOutputProcessXMLParameter.h" -#endif //tag=QT4-boost-compatibility namespace otb { diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h index 8e499ea842..fe4579c072 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h @@ -22,9 +22,7 @@ #define otbWrapperQtWidgetParameterLabel_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperParameter.h" -#endif //tag=QT4-boost-compatibility #include "OTBQtWidgetExport.h" diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterList.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterList.h index 2dad93b44f..21ba67d6b7 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterList.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterList.h @@ -22,9 +22,7 @@ #define otbWrapperQtWidgetParameterList_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility # include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h index ff301c2619..a9e838bdec 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h @@ -22,11 +22,9 @@ #define otbWrapperQtWidgetProgressReport_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperQtWidgetModel.h" #include "itkQtProgressBar.h" #include "itkProcessObject.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h index c8c6e07412..4177154d4e 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetRAMParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperRAMParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h index 25d7052231..62ccef1520 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h @@ -22,11 +22,9 @@ #define otbWrapperQtWidgetSimpleProgressReport_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperQtWidgetModel.h" #include "itkProcessObject.h" #include "itkQtProgressBar.h" -#endif //tag=QT4-boost-compatibility namespace otb diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h index da520b579e..0fde13a980 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h @@ -22,10 +22,8 @@ #define otbWrapperQtWidgetStringParameter_h #include -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperStringParameter.h" #include "otbWrapperQtWidgetParameterBase.h" -#endif //tag=QT4-boost-compatibility namespace otb { diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h index 42b399d7e5..b2bc1cec0a 100644 --- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h +++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h @@ -25,10 +25,8 @@ // // OTB includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829 //tag=QT4-boost-compatibility #include "otbWrapperApplication.h" #include "otbWrapperQtWidgetModel.h" -#endif //tag=QT4-boost-compatibility #include "OTBQtWidgetExport.h" namespace otb -- GitLab From 4b2013cc1931c7b7f87a09c46b661e376b8ad021 Mon Sep 17 00:00:00 2001 From: Victor Poughon Date: Thu, 7 Jun 2018 16:23:55 +0200 Subject: [PATCH 0030/2567] BUG: Remove workaround for QT bug 22829 (more) --- Modules/Visualization/MonteverdiCore/include/mvdTypes.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/Modules/Visualization/MonteverdiCore/include/mvdTypes.h b/Modules/Visualization/MonteverdiCore/include/mvdTypes.h index 5761aca9da..91a9dd2e46 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdTypes.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdTypes.h @@ -48,8 +48,6 @@ // // OTB includes (sorted by alphabetic order) -#ifndef Q_MOC_RUN // See: - // https://bugreports.qt-project.org/browse/QTBUG-22829 #include #include #include -- GitLab From 229f72e6b16f75ad63580161fe98c25254ba27bf Mon Sep 17 00:00:00 2001 From: remi cresson Date: Thu, 7 Jun 2018 15:34:30 +0000 Subject: [PATCH 0031/2567] REFAC: address Luc's comments --- ...amingStatisticsMapFromLabelImageFilter.txx | 34 +++++-------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx index d2fc8add93..c2183a92ae 100644 --- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx +++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.txx @@ -55,27 +55,13 @@ PersistentStreamingStatisticsMapFromLabelImageFilter(TInputVectorImage::New().GetPointer()); - break; - case 1: - return static_cast(PixelValueMapObjectType::New().GetPointer()); - break; - case 2: - return static_cast(PixelValueMapObjectType::New().GetPointer()); - break; - case 3: - return static_cast(PixelValueMapObjectType::New().GetPointer()); - break; + { + case 1: [[fallthrough]] // [[fallthrough]] is a C++17 attribute that'll simply be ignored in C++11-14 + case 2: [[fallthrough]] + case 3: [[fallthrough]] case 4: return static_cast(PixelValueMapObjectType::New().GetPointer()); - break; - default: - // might as well make an image - return static_cast(TInputVectorImage::New().GetPointer()); - break; - } + } } template @@ -177,9 +163,9 @@ PersistentStreamingStatisticsMapFromLabelImageFilterGetNumberOfThreads()); - for (itk::ThreadIdType thread = 0 ; thread < this->GetNumberOfThreads() ; thread++) - { - AccumulatorMapType newMap; - m_AccumulatorMaps.push_back(newMap); - } } template -- GitLab From 637747835afded4ea07511480e908d0d26fd6a99 Mon Sep 17 00:00:00 2001 From: Victor Poughon Date: Thu, 7 Jun 2018 17:36:58 +0200 Subject: [PATCH 0032/2567] COMP: fix gcc 7 'defined' warnings --- Modules/Visualization/Monteverdi/include/mvdMainWindow.h | 2 +- Modules/Visualization/Monteverdi/src/main.cxx | 2 +- Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx | 2 +- .../MonteverdiGui/include/mvdImageViewRenderer.h | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Modules/Visualization/Monteverdi/include/mvdMainWindow.h b/Modules/Visualization/Monteverdi/include/mvdMainWindow.h index 08c59f2d02..1c690934da 100644 --- a/Modules/Visualization/Monteverdi/include/mvdMainWindow.h +++ b/Modules/Visualization/Monteverdi/include/mvdMainWindow.h @@ -28,7 +28,7 @@ #include "ConfigureMonteverdi.h" #define USE_TABBED_VIEW 0 -#define USE_PIXEL_DESCRIPTION ( ( defined( OTB_DEBUG ) && 0 ) || 0 ) +#define USE_PIXEL_DESCRIPTION 0 #define RENDER_IMAGE_VIEW_DISABLED 0 #define RENDER_QUICKLOOK_VIEW_DISABLED 0 diff --git a/Modules/Visualization/Monteverdi/src/main.cxx b/Modules/Visualization/Monteverdi/src/main.cxx index 1765c73bec..93e65f21ad 100644 --- a/Modules/Visualization/Monteverdi/src/main.cxx +++ b/Modules/Visualization/Monteverdi/src/main.cxx @@ -37,7 +37,7 @@ #include #include -#define USE_SPLASH_SCREEN ( ( !defined( OTB_DEBUG ) && 0 ) || 0 ) +#define USE_SPLASH_SCREEN 0 // // System includes (sorted by alphabetic order) diff --git a/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx b/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx index 6828d18074..a1377c3651 100644 --- a/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx +++ b/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx @@ -109,7 +109,7 @@ namespace mvd #define REFERENCE_LAYER_COMBOBOX_NAME "referenceLayerComboBox" -#define FORCE_NO_GLSL ( ( defined( OTB_DEBUG ) && 0 ) || 0 ) +#define FORCE_NO_GLSL 0 /*****************************************************************************/ /* STATIC IMPLEMENTATION SECTION */ diff --git a/Modules/Visualization/MonteverdiGui/include/mvdImageViewRenderer.h b/Modules/Visualization/MonteverdiGui/include/mvdImageViewRenderer.h index e8c3599d33..a08a42465f 100644 --- a/Modules/Visualization/MonteverdiGui/include/mvdImageViewRenderer.h +++ b/Modules/Visualization/MonteverdiGui/include/mvdImageViewRenderer.h @@ -30,9 +30,9 @@ // #define USE_VIEW_SETTINGS_SIDE_EFFECT 1 // -#define USE_REMOTE_DESKTOP_DISABLED_RENDERING ((defined( OTB_DEBUG ) && 0) || 0) +#define USE_REMOTE_DESKTOP_DISABLED_RENDERING 0 // -#define DISABLE_QUICKLOOK_VIEW ( ( defined( OTB_DEBUG ) && 0 ) || 0 ) +#define DISABLE_QUICKLOOK_VIEW 0 /*****************************************************************************/ /* INCLUDE SECTION */ -- GitLab From 16a8aa70a12943ec3e5378ebe643825c964d3353 Mon Sep 17 00:00:00 2001 From: Manuel Grizonnet Date: Thu, 7 Jun 2018 17:48:42 +0200 Subject: [PATCH 0033/2567] DOC: Update all screenshots in Monteverdi with wrong RGB color composition --- .../Cookbook/Art/MonteverdiImages/ps1-2.png | Bin 748575 -> 760900 bytes .../Cookbook/Art/MonteverdiImages/ps2.png | Bin 442615 -> 393346 bytes .../Cookbook/Art/MonteverdiImages/ps3.png | Bin 637112 -> 565277 bytes .../Cookbook/Art/MonteverdiImages/ps4.png | Bin 790129 -> 579442 bytes .../Cookbook/Art/MonteverdiImages/ps5.png | Bin 862830 -> 464845 bytes .../Cookbook/Art/MonteverdiImages/seg1-2.png | Bin 691987 -> 616821 bytes .../Cookbook/Art/MonteverdiImages/seg1.png | Bin 617993 -> 475735 bytes .../Cookbook/Art/MonteverdiImages/seg4.png | Bin 850083 -> 329493 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Documentation/Cookbook/Art/MonteverdiImages/ps1-2.png b/Documentation/Cookbook/Art/MonteverdiImages/ps1-2.png index ec3311bf54f568368e08295de1d54740c8c7c1be..99c5cc6a529472547f3e0a5cf1b286196179f146 100644 GIT binary patch literal 760900 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%0AZ8qgBsdG8d z(}_CLhTd?n-39NE%ZGULUG!ZuXx6}tQ!rP6h#*-~l`o$)yS)zrWAZ@r1TyaNj)t|Q zq-4v(A;tbDlsjU+v^XUeZu)yX@?pbg<=v**)(!{OW(bw-B^Nt8KZYPQ{&S$V#c9h% zUy%iCt$F;Qy0PCoxXILy=hcm1>^}2}Y_84~VTpfxh4a=A&m4B;hTPZKzDt+>^>~O@ zs_Nj7{qOO3qzVd0How8FezG?>W?qD^UV%RN*1MbC`F2eM8a3tR4DJn3P)_l42mFI0 zvLS}|T^PjV9)s<46D;Y>SkwcxW_NR@_c&neo&|-jE`l?gsps7KM8-}2Or6aHtfPMg zYV9f5B{{x(I^Pjv-frOf*!2MQ@(?UiIuYnLfGP~(;^%Lm8yr%Z;Zu)~{Fn7CLm0P+ zTF>IN8Q0_0%Gt5XSG(%kCU-p+>EKx1mqj5Y0*afGb zIAG1#)@2qq!}l@#@^!g5zRa(Z@cBrd;3PMa@(%gw(C8|JInT5UW*qaltI5tfW8fF? z5O|9hL?m!3rAL~<+Q#)2&JfNc7z|myk%SrqF_o_=f9B-yrF{bkt_6N~)tz^y`*BM; zkRT~^;AZHkWve}Z_Iq4e_X5#>%%{u zTc%cUMI{-@5N$-e7Bvw5gB41I0$lLWZqHe%fK9R|H)x>^!T}_gTnD6j-uPtGILZHX zr(hVbanKVS*$+9F#XsM!^la&R=P2SbFIJC8@x0Ixdg&Zv6TNzSHRrQxzV(QsjJ`

P!zGvP3@|#^S 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 YLP+wtHg zxp=yvtnFSsK5B8{2W;d~?=nJXTZuGD zBZ0v6z-g3SK1jRYjJr7Pt>IwZo1;q41T7>J6Rs=SbMzcxU0LEE48A$ zt$D)Wlo|?#Mp$V{nW(NPr^l<2uHQCVr%`Z1iBUp#=x*H3_>xW$r5@GcYt{R$+YShv z>M4Dgxnm!b-gU{p&^B9BM$mH^1zRywgF<01g{|s_b1Oo&IG%miz+yWsq&hRV$krlj zs|4eSO0zLmVYN2q>@$;WBp($$7xVA(@L4k-+rsw;yxn^uL}pzUmPI$&dsaZ8?K+3= zS*aw$5@fGt*HhW7N#N{W%)9cuMp$q7x+(rw9>2Rt`sJRLFeeP-wI0M>#C9k>w+##L zL{0L#heYp>OBExV=?Yl;MpCou?~v zx{>B9>+_Ar^H-jaU-d#Rf?x0Wl8vvDaiZkedx)K*{pGu6p?9K=uvJ!-|qL5q-lVwT9{ zJ+lZeSGZo_I#*^>aiy>^c_I0#@734A!%!}wCs*CI=?!WVic>Do@Sv*R{#_WWoztEF z5Og^TuT_gK+H4 z*w4*|By|L!zvca_8?OU=soJKfg?YpfsEc-tm1Kod2;Cz|5vJR$94dh8<;u(D%6z*r z-Cmh)S}eJe)u*ggi;^&MWL3kqy=7cePpx8^Vzop{*1mt=u|0Fu&;Gga>)XOVetqZd z+k=nK4}H8pxZm}>Y>x-|u~5Q-H&lbNY0Ij6b)9-=C*6ld#q@Jl2ATwn#Ze2-s47g+ zma!xuTs2ZBO;@ILBN2fkA|zRU zU83U29T3lY-l{JahK;Tt!4TQTYDd zHdu=q@M?bOLM@qL-q(tH`|aD8B#yCe)}oyW@fH;mkqFKzaX0@LE|Pw|FO*Rv*>$pN zxO-I*ZNQJ+kGE_aGaDl#RSTtFiJLms*h{NU7$E2!duYfV|W4sd6D=yyf z>6OdnmCN+X^`c+jKmLP{_eA)xKk%M4+9q$fyuz-bd{fXKbK)zKq>3$jAN?lp@Q`S= zIJjDd7`Pq)+}n>QwNZ02GQMg%O!Z3G$X?N`?Dfh8XB?7l2i&a7EyLCkx)d4*-G=5v({*-Q<$RpHINS^H~8iGL=!)<}b62j+x9!k)dt#gimv zA9=laUM?`F!W{KRNCH!+Oj4M9QqfwEoVC`=zDG7Y#nFT89F>MmE-EWANr{n}b!#gc zp1TV#yJuTrTcE8P&r&?vjzFnSiv@S?Kn)(BB4M5t9g0!WynYiHH)CH4>s^tsAkY#$ z9@jkKP70U`u6y}*LIqe(MbgLT!uR)uU*8`5$1e}QeS72M{e%0* z2cI7wJntVi4`i4NE=AfrtIEg~+@4RHnv+Vc&ki6QtStkibb4*x}{fE5p65@b@B>o6t6pOl{NC?=H?SgHGF_ni^B&B!)+Pc+DV zvQ}(1SKB6CT+-uegvpecVANBi5KZTh_`5-khDk|HZ0ngXeb))=U4pnBX0Tu#6o#WrkPdB z9{s@kYdbphnqycLb+!#wa*^b%)VCwesBHxvBW5=DuOF zpD%^A&CInhH>G#zIZ@$>h>%#=O$D68%p5W~M2#*HQ}DXTXM6CmqDazr<1?-*e95cQ z7Ft#79ajquGj~31;Is%g`b|*^M{yMw)!|=)3IG7SoB5-T-(MuX-ziO@++HMADY&4~ z38D4$avjLd;92db+n^#V$++bKv4hGjcgK}tbod!C(p2~c^5w5R< z>tBi2A9=n0#O?AEFV`QrU4P>H+f0}NF_+K!ph>~69w!x-wP;JhGdU}g%4yJ6udTM- zCPRAfU3ZPm$yo7v1cEyG_V;^M!|9JTLlIhIwCj@hBQarKnk7pne!rQaCur&ZPCEe}2ACs;_C)McdDA+pC zBh52g7TX*=vlm`wxK2gAh>Qz11xQlub1Er07$Vn|G!H&ow=ZbBP&UX5 zte+bxPNYfG$Cb>eME!nUOVPk&T{JZAq~)vvy{71CbKSQ~+ejg)^5imUyY!M^PI~>O zDKZD+nMI8XaxK%!oxB=1A!qjG&i;JpW3vULWOC7rKg|U+c%Fs53h!&-{h4_;P4D}& z@ay*nzy9*hw_iSZd;8$~`v=S8gXi*K+a7rIcQ>z)N+TWa(hb}CpK}`eY$6r{TX4++ zh({o;oogq9;Oj-nzTzX{BE)MXyd=^~Bwc4Mkgl&>W-XGYX;y;vo^e&VS-L=%!9Nt? z2n#mXbP=IuPwQ=>UGKH%ibgU4!Ph~rX??fbi=-28uuoHMue7ZHA1@aFF(=|2mD_<> zi^mFwQm9b{Dw=4oH6+VvyG2aF7Lp&HO?!72M_W8~_p~C0&L#ak*6!-FM|V5Nfio^y2wpwZ z{KPDp7dY;BAHlD<6p`s?{N*S7^rPmwl|tQC%Bl!wen73BT2vt0^&U|=T2)B)yC<2A zE)a=6vKc>gqp$(nF0AXR*tAZFca|y;^nE)?O8yp&>=3)3yr?3#B40cN-3d*SID~rY zsBM-ASh7QP`rLe_RxOS|i>0lqciCgDJl4YfS-7v2b<5PeX?Cgc4O_F~sAjf0vz3a3 zXs+T~1Vyx)0dNT$Ic}spDJj3HZ2^+_D8l>ZdB0b_e^~m(k|~=dLF5(MhNt3P!8`My z+YMpj_5#nr>ZquM0-TSBz&{dtC8MX?L)z1s3mx9cEC&aXc*|M+(Wv{smn*Auxx>z_d9$1sig@Ei6|xmcos8W*o`NXnD2ax|PQhfQ zhA4F;sfVFXhD3Nd6hhSor>fI5=oeslR<;ec%}CT0y_Q%(Vcq*U5SlMsTtuw>r~|=BC&B#n!Pu-b zktlHeT`PmY*eu4O?CL93x+-u$ruEco2Z^3AC#Fkeo+2-^aGT&ddoIZc%EreC0ir9= z7HU?aecm@pR#jqtKFEv4f#`VGNwE|Y29#{J4tkBhKQiC%%itBfe{THp{lTwq4}N{S z^Y-?^`^SU4-r1H1WnTtD48|LFb~3B27$ouuK^Rsld{ zGK+;sxJIUzne-af7wQ(7rW@0IWimE%oT9eHbJb1F-WP{7HZLN2Pk<6rlOajXv;p0u zR7Ar+I~76<4X7RqH@5rRA7~FYPhqcXLH*1mSgx5I$cdhZY>GR*C!OV3RgYC*a+q57 zE^|MZ&f+z8q1pZ2J*04=WL^$Ma&eVr`FCP%e`?Wz;4*bts1HR5_vwQi??yn*giB=p z%PZCYjnyxt`XDSHqj0D;$G6fcgi5|2oV2DzQU9pkWm@O0inV#Xtq){qtF~(mDRwF1 z(-oHlH_f>Cic43BuZj}-nZ5bZ65G~nNO%y8hwmsvrz)~z{Pd7F-MC~Hj`&qmY ziYHdl&3g0d-6U0?y%t3P8AXz|mRVLqlAeXfTF6`0EXtB;R+PArTW1Kb>&nDvszkL- zS$nTAXX=*Oea5?tIDIAvA1mscR^VxN2YSw-?TS>prV95ahgd^-S$z>vb+9wH>Skt> zzD>G0N;Bc2#gV`K$RBn5?jq^!AHUE7)F?x}(jqVmmmIn5k+MfxEx2MNm6kQ}xprqz z?Ry70iQ7;JanaisL71kQ>q}({Ix)Wf^(S6`{yQ%}|94(~`ZuoE zpSWCq*5}KQ$h=V92f6;DgEqh7LME>;Jz)zVt@1L@+@>op^UO8PcyBpFA!%~59Fu+D zO*mf+3jewr?njpsJL^R|Q*(IRQAst)aT9C1RPvmdvE7AN_g689U6YY@QuosHqP+Fr zRYg%wg0+3O39)tpU(wxdHc4ym3+bEJ1n(f!DFTHQRI;ufNveiRMwaf;YEguXhpTus zg%sfuRqn3OUA3VtrFrgOAB5$}r0?QSJ91}IR#biQr4sEr>Rz#>2r`4aagkT9?n-V8 zOL^e8MTJd3wqE;6VcAs-kj=hAl6nY*lvG~s{2;Qb6dLlP<9NH2(O&57Hfy`<>-VBL zMn%0uN-pfB>V}{h=b+Q6LPVkvlR9T#uaVou^EwHyvv5g%@F?{D&^B&qnUX7IkCb&K z=Z$UANqw{b2jws9RSTrOYJhUytI2fX?c>h3_mwx3^}l^A{QAD|%lm`3?+b4qcRn90 zEibhFj;|`Or(cq81X$}R0$Wv-?Z}MkUO?tO)J%zHsDxn^w#aQ5GOLa})& zDgVoOU=$7BZ3j{{ZfDO>5eDZGidkbUx}Z8m2z|QYZ?DMp6*pZ$W}3`2KkL0kBo`UH zy7igW*s*Iq?2mb8O5kv`+ngCM7KBnO+n!lVW-ANJuCDvrvQR9fx#o?%z~U>hReUKd zi?(Hb&;aoUeA??DTjsH4)_tR{s^;FSkhhI32x}0Y-ZPD^s1ORsF37HirZre`Zd~Bq zPGlEk>?p5Ly8-G$RQf{D;Y?H@br?OXBB|Bcz9+iQ7Y2uE%Z0jT&0aH03zwB&_4!zM z?6Bb}CUa~h$YuVC`SKI<^(UG<$mKgrR(0Fs`M>Zklb@a()nrXt;boe+%`>ml%r#A5-Ycf{ zr8|xvoT)l`>SxcMVP-kn2q>q(cggUfg3{O!eR1%RVqwQqoM?6JBF@!8@)hH6b!ANd zySlseMvB#V5P;nq*|Ho`Q1v$|iX@eCoOh?*JPuVbOi_J(dS+6!7Nc##%`H~BR9Atk zw&+n9n~~3X^OqJ2fOUo6hPMB@b>)>SZC?d2pXcPHf3t6DCkNSr68IWbS3+eLV}cy39?t{A#>e;cBa zT$IPPW_8J4S9Q$Zy3E!TFa<@Fwsm96Rd=#m=G*rN-`?(g`&HY~-`*bl^11NsW8vF< z;rnOix-ANuyO|auZM55Tx9Tb?QYhw@Z3;2{s3#PxnLUWLoy5>2=aWW$SiDE(m`SM{S;Z(Kg(u`bx zCj9tsxcNpUYMYlxZ4Zi@RT*n-qHSH&M7160epj?9IouC#Eo}ZRP2bmA3fq=>=7q)b z8}qud8!}t-%I-X?A#r6bBq>P9%Aqqk+tXTHk3F;OnRU(q~G8F_Ypx~N>e;!Qwf z*J;h{PP0$h7g|SI)|ger*NlnCaF2G(^>Qp05M zMNPPX(6s&Fiy?sBRIR9dzB#WXS8K#Kr(Po|&fG|(AGJsM*Z=lc{{HWO=kNdi@BHPz z{lAzlKQUc?QW7+f%fGR1|G|CH*S~+f;#_7=u!qX-E5VAS*UQXpp17uY_+nIZOsN=r zYeiBm<>0K0o9$5YVD7z#AqHT1Pu`t=#w5J4!H$LrR)M|B2-O{~*v{8AaLX z_ZO1|bF?l!>Pb;|RXnsF26=X@b`~ulQTfp3Snj&q-eA*Y6i=)}NQxa6^6GFlVJ5Qag8G66Nh#|o~oD^d&e_E+1S2G-m`Spcqz+PNa)sF`>^+%BQTL=#2Jof@W+|-C$hIW5=gj_` z)rGg1Z^9VwVmWI0Sor800y(vp<)2#4wQ4x*vI3>5jQ?Z~xfdNPd(-J}N2R|@t~@PP zr!N=>4@sTP*DbScnJs7Xvhnu5@b>=T?L%8F-`?+he6HM|8_P43)&+?|b#XMx$FMPu zfwz3L)^y=*eNg&Cp{1YoM0g!Vh#5dicdi!V#U%aLnKa)>*NORdZmxdzEv_MLdd=fRKiqHe-lfm}R!uT(RO z#1@C_Nx?jZyg#fWy2Q8NgZ-Wrh8eH(=J(`|^WBeX2ABxi3h8{#2Gvzl z+8*;vbEi0$rq>ONYN=tRm;~7Q8C*nOG7@gcWkPNUpGzom!Ang{XcQjtgU}j4%S`RiR{I*8CiOH zW^I>u)!~U;FXBmI9@YreNaxjz7<17;@nv0DmIuo-E62~;XT^%8Wv`UAlKn~fr0XgH7Xv-}g>bCj^w%dMpk<_;=Z96L1 z(v&Z>)o2ppOw2+|m6Qs8DuaKcH=QZ^MG#k2HG-12RRxxgUVAt=Db-snfQJ@TZaKw> zk8u4#k))q~dgbT8{KVh>{v&_=`%grEQjZW6eE9g=EAQ_=@%pCy?Ux^3adn|cq4+{^ zh1d$O^UTXU^LmL)Q5QbYoqBG{Z|rT}G6Dw6S1bE*%B(;#Zz46DwVh#*6OzO*;H*Il zkQTJiDjkL6a4sLMWGgOp#P={qouHgEt^p@9CsrU?5Mhp;^&`7yCSuI$YgxZe9WpR58SMxzgtk+bIxGs#{&^zqPxAXir@ zMGK%#rrdVeN};+$@m_ff&hyN$?C>a+=U$K3TYl1(H#Lsj)Wvq)Hu9Ev|5Q(;p2zmS ztlT$s;chLH?UWx*`2NUbtUX{;VKmost(wrh3_gvwG2@*U#nBW&(VIt=xxjmq{HCiG zNz+A(p>(-2UlP-0=Hi99f$Vvhu$ynDqFvjf-VfVC%M0G8!?aH{lBf(Wjq=@`_qq+z z93v&TwmLj&`n_G69OP4%hT^LuJ`hjo@0qGG_3Cyn-V7zJaNEmaDZn9v@B9sCY75u@ z0i6?yZ464OYVR=6txPuljpu~WpXQF^*-SIdxU;qlVZlW`kuEOyxFGwi8i{!(zP`df z6R$U9nl)~uPk2>mH5;N`EQYD5XICrK(h1&2MOce`;im>N-c@#2%xXXgCq=W9h@WQl zYwTvIMK>)vl^xL`>}FZhj!kAQV%}it^|*}(*XP9`xLni}Z7aB~>e?!W8jRCv=RvJNY*Sf}F3-sP^wRfwCd;qvC9`K? zmxb&Uq14C|Etp6ht($Rtj18Z|Vtc|>izF}jlnG5agso;;nW#@sTcABNb@j@}O_~iT zqk8<~m_xt2NV?23Es9#-_tf={;N?o0tLCvh3%nG>_TW#=*~^3UdiIv`3~X< z5{aRjT-N02MlKF94kT#`iX=_J^GfE`Wq$C57nivPO~;-ChjFhrG)Vj*_37?(-K|zk zSKV(4kue4a)75p?#?0Y-j-HdOBHG{vW)({R*xy+h@JT%n}NIR@r|9 zg3RpB{AYq^ihdwT>!w8M-PC~VMGQr{u|HRK4EX99Vq)+S^nQF=o6oCtGyV ztfoF&Hf@JIH}yXOc;upAM`$tWvv@6#_QGR_dsb8lVC!Vgt+H8*ZCf+zrq1f0ADPe3 z%-!yf&*#FrX0oYMy)Y8LyW@Rd>xNP4*)XylmKff$)TGCTgs5>VF{y1uRAr{bNQg<> zt??+5=F7}9YoRn*gu@in@YQ8A(QC)jySGfuS{${!P;)lJ$by7I2vLiQe(tTH)6R?% zSsiN6P)ql4In-(z{a`s=)(+DMB=wka=7|PCOSSLIg4P3-^j?mr9Iw7kG>(?P*{sl@<$^PmL<`Vtx2;Fg zOuW9*_Kd_U&RQS!l-X6yTB106MolqWt(2UH*`>Z-6>fD`Gt&}TW>bp!fkm18k*|OJ>_u5%zrE zS(Xph=Y!>WXInFQt7J=~-?ln}h?QF6@h+MQSYZlo^o(aiXijYnD4yochfOpjU1q%>0Nf(DXVwRc&d+{E`)4-|-u26{ zf@npwT_~CARudno9gHL6%Zj(a^Kx1b|JBFuE|TVHrV5sUr6;>p+r4eDuZ1mET&hT` z#HbLiu8EyrlJQmDbKS0rfWF?1-Kq5+Tdh=U?;M^(#w8F9XAN^=Hi&Pk1;2c-zX^}L z;Nle@Zd$#DnfrhI2m9Nv_=oP2t|cNZvJ)w8rbtHIrm-4CP0+543t5|X-bZiSr0^QH zi53txYGv#eb@%Lp;DSG;nwyu1Ens;s>{+8B3ZC63P3rb>$f4oj88`>6X~SCQ8}*wp zCqw?plZjqmn5rl+ijPtYxDfg}a5NYdosBEro@Zm#l! z&)gE0nZlqADVa)+A}QDoxfe#HOo$jGN(63iloE zxo|H9%aCM!>P~oFw0+iFZJoQcd}f~a%+rdb$8*u(V!Qdo-e0pc^ghn?8g)cfjzZoB z-H>;CEq(wihBO5|rKl48N$+V%Nu|gsj)2Yia%G-1a5EVnFM5dGMY|OCl7|{6S2L^2 z3(dlsOH#xuRz+0(3D4N8;9J)AgEtPI@%WmZ|8r|d7hX@R+FtX%ZyvmvL>_x6Z+s+w z?x(q~T(e)>IcHzT&2{?UKJ@^^QQTGrJ8%PsN$*@?g0%w z7C#CkMG{n%=wd$ND@s-$kZv{@XTt2LB_V0Xiz>qUv{q}i^aL#iwAE*>?t72KDFdPC zfKSbp5`-BpnxJ7#DXZavvf-Zi;w|AXW|PCf3X-5kgh;EjDu!4@D9D zE&@(Me3?g~lx{QA^_BVZ%H{gXbp45)$isFKPh-p!Tf0Gh#Htfyj`%d=S?64XlvRO;RlBxgBqYDKQn(cwnQ;ondViKzv0IuPNWPxpTC4dmeBMzwIFag;+hQ6@qzi zwIb9SE%Z_=ww+B)u!GRD$K`_LO4xORNltUf9#w_icqDzPUW>M?mrY|xYW3!{u0n@eih7dhW#@CP+*fPq`8tUGj|?AM z;hrm>YvH-{Jf*_&*jVnF=R?Qawq;#Zx59SMEXF?qH5H}EKqCVBh05E@(QX1mMh6{z zT#DiU>9o*3?vF@Hi8N14DKX6xF(u*@iStaHBI!$!G;5geUSlryrV$za4V9*H^v%Z5x;~&9 zzsDtlsB^fE$)X&c&Qm(SpQ`apVwFJMRoLMw=5#(2E=sZR>5B77(Wma@Y$#Eou)B^U z884|6O4BaHwjY~Awa|*jbE(v*#ix^k3lX1$-H@bOHuL-0l=_h$)a9M>{GdL5#jOuy zUx_v_Czrqw*;cECJZH?(Q4J%luwL@QvMW)0-4?dTgME3hJ>JRBb+q$pFYNX{{sqW1 zFQ<5tUMQ*DU08_e(n=$IjNpK4+^FdN!oeIBhYi!D;j=W2Wj}=L`nRuIsFEjBrtIyc=#(epa>GBiL-QzX`L$*R*D!!^6N~<<^c_H|j zFuf9AUI~W$Hpw)1r`0~e4b@J#|**6UWEUr+!P-5Y7gYsiBGq!`VADbTnC0fx54BcI{T4>Jl zihx$V_VSyO5&Hs7(4FUPy74++iT24_&9vtS`B_+9LGgiT@eGNw!oGRTnt{1!kyKpP zg)?M)6Qb9wBdwRkZYON-Y0eKy*B`5Z*nsWa6`8a>a`<6Z}&#&#X_Un#Md*c)W1n@I2lCHP=(+$$WR;uqIGs2ee?s^ z@n*T-iKiXa^G-(L8@v|5$q841n-p$+y}Y1Ow~KuZx}A|;B&CsoH3}!s!AgdM0JZ?D zJ=fFu7-&*I3Rp&9swxa{W-L-lqBtn@U`0{2*UpHK@ViCOG*5D#N#gM03PH)&1vQ#m z>%zJ(ta)Wy7d0mJg&6vxYN_yj0<3kYeQMKx%Qm6=pe-T4fb*5jHW%Kh*IprD>5`A=8P`WOqwF|JTpy^H0g6p`UokJrpRQkpOdQ3 z=3u;i^HcFHQ(MN@jN3Qpj>4Nd467fMJ~WoZ;xSAqG)!^5e%*q$EnTqIheZIiQG9ds zsl9$?ys0y%NV<5YIg#Q~Bt>+0FJQ$&H7~6)RAxh&fqogR<))yz`fnA49Z^%tEss`L zW7C|pY7sLzv*pD$K)SZk(MA?LzsD9qZE;eDlePmxFo+5=SIFo@O$1JpITWLnKYrLK4C`knT8 zqdvaF`ho1*D3b6|eKKn?j-R4}xuDg~E<^qK+!h{LAItV&f85z05BBGsvOH|FCWj!W z_6~;_UDt92eK*(DZi2JSN;RdgxX6*8=_Ac6UBcPi)r+Lg163qnl*1Yd5=?a);z(mk z(Q+RrVHPwR%8H`d=nhj5EXtE93E_1j+-Ab^-&YV-TH&OUR;%+R$AMXQ{%Eu0G5p0K^N_>XB!3v zArq;@K_qltDdE)ZxbL=<@LDv6p(e^+*!O%G{h=y~iV+9vMrBiTu(slAB}Ap3 z$+~Pjp9{-lg&=sYmb7g~hTTfHcQTsSNB0D4bx4O9#Zn#b-5J@ro2Y4_YP+7v6DCHq zKuo5xvYxuP-cgtH)-LJnMG`upPaZA;SDCb(C%}uq6}W*`PITuN^xo&)Jna7&BFPX(Ay5}SFyf3Wx%=%ESQQj@IbBDYchqF^@ zinai{7yvuf&CYqxDg!iL!$-s?jUn>hvZ(Ym!CGmthfy1Pl;+vmXi*IzgYgY5#5P&$ zJq6{2#+s3)`A=OY?pg-6k<*6V53N@AT&xf@0(~XI5x)>C*GpW^-yBrH`Kbo^bqYkkcyBSxO zK7Q(H6Vc5{TODS-P%JyM&q3#-j?Xeu>7Cu*94)9)t2(qVcOGxQvd5Wq|2LLx<>P<; z51wz|$;*ioXzlP;bzHW@@upAXYTOED70?U7P8{B=*K<|SaB4&U_s)hx@mwb7ceWkc-+hbQEtL2AGv~RWYY5Jr?r)&Sp80 z``XuqfBo_Mi=?O%W7#Wp>Z%sq*>t5>=|OcaHJE~qAN?_NV*CGxu$a)@kuq*f!+x_bDJ z^!3+)xPog+bZ#bHZb1&^NGBu~Jr`{=q9VGBS=LQCAZumaHWsUnw`XQqvi`qUo{38t zmmUDYKt8{?Fe@4%2XWg|2yG$Ml~5L9T}T3M+*I19j>A#d{C>R3oFfVc2XFF9%XI@S z9!CKp2ffvY zPlt{Jah{1nFir?fk;&4EO142G45}hZ&Dwdg>mybR2=#IB-a>fbyjoIh?aEd^So5k< z;celv3VVds7ueQ=oVx`zLoKzJW5EMe>NuxRe8m$xZ3~PG1WOhcYgH_{u+^kFPEyD7 zbE`a-!hOv=m(0W3XUiiilJucS(ry6VUPY}0HrR^{o=7|2L{)_pu5~`W93lijBochm z*c6!+jf~34ljsR4lICWu5ah-RC{YIykOX(lCqS!b|RnOt}{9ylbDdy6gd_(ND2A{HIncndvF+Y? zUZ|qn#p;D-o6)|p9=ukI>JX!GgrJs+o@u#ITg1g1rq3cw75>NnFK~az`Q?`y${nhafQiw%m9Kvo;60|KC{=2(ki8jEv7oTffY%pjIx=H zK?^cME~{e@vo%Jgkh8@)*#zNFd<-K}ry)d#B&~;n?R)@Vmt&Eb!)8*5! zxk?cuS);HlP1Mb@Zvg6Vh}piHNu)hHpeziAWX`&RKdZLdo&_G*Yej#)x3{_+$RyR* z1eZy;PM*swTxLObq1Z(CteN))Zc`}SFO?vLy;jz(sGENeu024Ft*!2N+OOYPp9}B*>woZkd!sCcE?sTaTkf6mnUwH% zdY~~i{jKXg;nj1e&#?~uH!G0Z4%NnR<_)(2_eGKHvZ&=pS@Crvv`X}aXh@Qaf?J_( zm9pu4-!|n-wVKJ>ooq-_F}nw6AxKV4_2`9GqHTEO=ycHimu!h+_BkebygqW4db!$dbkrD{l2>P8B})fX;OxVXwiAetFtvXJv6kraBwlm7c0;NmqZ z>SA4i7=$)Wv@~mslSD2lG0!vC*O~b?QA5QjNh}$j8Rn8%f!H9FqLwFh!IcPGgr|++ z@mix)!!=VOfELKSjf-C(6wZnEnDZ$0*HU{@wISr=6lJr|y9=JB+2=B4sj@>opQOrz`4#8Q zH^%$nIvRs;joQJwMpcgmceE$;rjvmrO`EXB5uXps|9xKD~D>spbtFP6ZI7D*e5{Z=4s z+P>>MS*M63ULe9{*FtGdaG5m!R#yFW0MBOLlg>z@0uogAy>8b3E(b#B@VFXr&Ewf{ zHPWi5?4q^+8P*Jo%`RarL>p7vUdW}gR~;v1w{}+t%nZ6Ly9OI~|Ea#1J10;Cv3oDt z71(wtHM8%9{LGp$^?a~C7uLs}%>rxlvXIwI-8Rj7Yv%J(EfcW^V3sm2-+6&;7&2!3 zBX9Sbj>nl8XQnWd;zXDeGDpHii=~)ERcupl=|&ClowYzp7v&iSltU)f3h(YWWvxHg zdVyq!HT`Ry8@#n$z0;mfZN<*B85)`_Jvc>^inT&Y@DvdxJBuz*u@v@l*u?f$LKpRk zN&cr8nN#F)NxWPlFV|VGmyI#M>Ak_O?Ta1H?lqyxn+TyfozwL9dn;Hft!48{JBryM z{;0?M`BEqulGG4uzjy9Z)m54C;%=sX0*em_1g;^q#PLsxW>vY3YSp1hRWFQzi8`v7ij06gV{m8(E`W2CTSQlI*v%rM$R8H(=>6t z&RpMSGBY|U&o}$~*9ytT|9&2Ibk@$2K)$FGlHAHP0+ef;|P zA3gr!PSRdX$53}W4TI~Dnw%$&eRV{>SCj!l%GRmCTDs~2Yhs4M7&1gZMdn28ES1qH zyrlAHa5g8aVw$KUHe|@OG-LT^BT$Zi6QVG*#2A#>J0`d6`rl?^@eXj--4l+TCfeV* z4tjQDi@EKFM97wz)l?34iK=&!K3A5{g~#K;@>sbq%KZuVMR;uISf=g{G25*#r_uFL zu8Zhx*q($u=EM(|j7%1emM)nwD>_XCEb3u+87Ca$ww#aj>tQgyOABT#*3eyi248FK z6l;qbEmyQ!3%qf32ct&{#Gn+1BRcOscc;b;ZX zE%!(!vJ%=z(`;$pyLXZ{VeoEcO3I#H9DQ_=Y>c;y+Wq7&Q=^@nYk@5aQ&uh`v>b_3 zVu*HKHA zlNlNg*we$LVeTy`_w>xJhCd;41I!e{!WC|zPvWoGz_I+iq4+AxJ z6p43p_iaTtJB0^X&A}Oklp_-vi8Ih*>#rPNp;D=v zK`PfOZ0kl@?(AhVM8Kc59J@{m@i-E3HMhr9B!AxrkL?*kCZ^d4|HIrFF(z8yf#zxP zRJ3grjTQmou~#W7EknLoj7l8Oj%9APM2rffM86gj!{83GPOa_+iD;tgBa73g5;0`! zCUqbxKIs_Z0dlk{zZ}0By!WM_tw{#sCb%~GMPmFIn7`F!wL7S`p#x>!!+x;!Y)&DOu1~*5R~kH*CI<4SZRKfpsTq8TF+%VHB90HZM(t6RrhLRkz*+MvKRrI zR8|#MsXRqkcVXMr7J}Wx*6yOGsvJ=uZ8wOUMxjM}KQ^@hLx8dup4-auSa?3HPXiehmY!ex>Ibwh~2w6=Os>gxCilr*{ z{cGoc0JU4KfqjIwN8-hz4x%v`UI3N0nH3S*R@prksCbcN8i0lJ^n3NG$Z8hxu9>q! z$*Iz9g%^idzh=&d6=gAIQX0uIGkTFUjWg5bo%wQOx?GtqnembsubJ_hj{wiUsN0m< z3a1ocP;pa)jf~7ibh5H+OyinIFW%I3H0nUtfiufWW2UGuwan_9q!Q}@%C_FoY5?Bo+Bjo=86?y0ze=Vsx_dR`nV``!{jfZY5fpGM>-W#m}P^Z+V!> z>1w|YnQ5$~Y()KC>oJNfQZ3VS?^JSe2dFYlZb^@klueA?277;76#Kgw@)(&enaegK z#oT*v>asLM4#IJ&ju=rdkWPJK2-)>WJ##Rf!Q(x+oeqwqZ-5XJ&5NX#BW+9;5Xd&*4@fgG^%XWwy&1KMD=*&Itq4Or13-B6h zgjWBs`xa1xur+1dP3*c+$-xra^84u zE9=v~p3BO*RkjLSfptr4l{4y~pT1fm1`FqG?v{A<@E(8PFK*pI_T>DKY@j$74+c&M z-mZ~QqhpoS-D{_XwL1;%$DE616EB!{aSn?j9t&_<+ABfT#N%6HUn0*LelsVgls(ri z9|47XFQB{i|pmI$>H%K0T_ zW%Fo(=en{i70uN&1Pzi3p(*$0%Cc3~swaWi>4LqR61}_Anp>8=snxBmb{0 zzla<$63sa_q1B^()9)pVM(Fogv{25NO#_&$NE)Xb)8)o=edlt!GG8;(H8I~Z^EDqD zjlRBRe3R>D$UiTPUcyjc9}PKd>IZDr^;#)e3P5Y)6pFqq8^=yA(~J)wM-DpLzJfrk^SlKU8s*DgP35Khy=S8_hziD z-51H{E<85j`B-^;EVQ~B%A!Sb>)nb<@&nUAVW2W5(~aghF@{VfvNh`zY%LyVl z^h#%T87x=9om5`Tru0G&?-K)qbgFmsLeSG$jCG!ZR4=$~O=_*89`Kw}V)TP;ikUEE za<)#&kSB7su11PRTCRINq8YUSwW8IRfFQ(R!L66#xQUz?=WevH^}cmRT!wK<%-4+8 z8_1cB+0GZ>fw5v*$!I#s7?P9o&qGQ`*#n5}XD8x8);l^$FUDN|hfaIUo<@*}V1F^|0e_6zU7{Vi|5{T)C2_6q>h@b4G_@LX2Ap;aiYL#BkiR%Ba|G9zUs z#Y)?Y1BOk2tbP*-)m$A7Vw{PWFN|M)&*jVSEUA1+79^kdDCSx7d zMA;+Hy7H_WPbdC9>&mv8aJy_4hf%7q@5$QfyV@f9%cJ_?oa*4mBaNdO=jF^k^o3rc z0XcUZur^wbR`1+(qUo-ut=HdyK1Di(o4rViE(UesW%HA8ht=)prfT1?(p1PnDGMxP z7D*xyP8y;*lm^00mBjafeCv z?YH6HdVk}#iau7_V@2)@`thKCE^K%EoF1PKJ|7D@B%)MW%}7mzCOnpv`*Y!QTlw&r z*rviBlrSWwIg_WvI7fytF?bN}G$pQAd-AtyW}1=-L6ZdqYZI15S)Rgk5uV)Ljy>hv|Gv5-Ix6I|{+@OY$vi*V_#I5eZ1=!8TF*e%t zYrR3g`3@XM=*6aAyU|9v@#S^f4;b0>9J35Ah;K#B)mPO*LVE~puypb`%od@NdpruH zC=5YfiXPbV z^W#oiS0)lui%iYpf2P64u>d(4ymU^9>o_uJGjnV$u{L;W;^{xj*6c0>SM~#bSJ*deG8;J^Vlt|Iy$ETHjF-gZ#Y0jb8iyX)0eQ;I`%K#pmgb+W zzrMB%*4=K&7)N$EN~dAPyF4Le2ZClVj`T>Ch@C-2U!L6cJ&rI&!Z;GfOqi~O@n#hB z(TXI|L@h$yESx&jl@OM5Q_z>Oy)8Uk@1qr^XTiKFWPm6H%w+xL8m))n5bc9lg!>C+7i2i%4&@; zOr$y4*A&Uu%$MK)JzxIz@A%>Ozvs*E{~mymmA}^G-=IjU-Wo3Ktrr@C?3K1>v}QES z#68-=tA4e`j2={I%N*KUWE>{q^(*=7-*f%_e`LxdJbt7-9CESbBbTgcg}Q=92U8uU zV9rjG*|QBKD;~PpSt`{R*K~jcBf_SZnEu?9$J54#Jp*a?5!lhaaf_&k@Z2iv)1X(+ zHL;Wj&$6+&rGKd_+qU{B()3AnH{!3wo7nG<*}qeYV{jhQOQEFNEx_^;B#9R+)g2%a zHH@!kWjU^)^GGxioMTmefvnQIYA+B+-1^<6DI#7Zo!y5%dh5r#CWY2)tofPXn-gAh zwE27U@865C=W64|rx!`{0Dp6f{O+3gn_J@dx5)OM_&ax2Tw*-!{;yFa!|PLjvHEn| z@vg8yTPpHckx%<7_m$_TJ=Qv0u>VQVlS_nbtg|xP&c8|MHn+L$2_9riRx_#Q6Ly(L_e^^a> zQ_)5~y|K7erNtGAm7Rjs37VWV%{@)p*O~YbMW$VYED~PRHo3n(TZu zJH*)9w4=sAQjYw^%}>c2ur;Vb(H4&m`@ubOs!wI}sa))~1?pGyOp|Q4o3?#&uQ$e9*5?3jPC_$MyF|Jm}l~QCC^vVJd;vF)=FDJS7Dcx;*|NaL0N>l z*mV+}NN&rurTe5M~5MY`T$VgB~X?$^WdQ=OJa?98#e*gwA$b6l) z*NWi)g2_Gznb^+I_TjjEPqYXA`Nb&`$4r_=;*?>$!uSr;4JKm^l?v-(<4oynhL)W% z=j(;LdV_;36OpLiq18kXa{z{zt;=+Ogdi=#j(&k+l(R5UpqFqE?VMv7fAYLnRyg5Ix z5cbuM008?&)0MWb#6g+gGjD(M&ewnZJ#!w}e=gLY?&r;1s?FX@MMFiXu0`r?-q&Y% zazE^3bS7IL*J|X*8PeTyuAas8LC?)tH>MBr@sgbRY9f`rS5Hkka@n3AdxZHLVB5^4WjL6cGkxI_pe9UCcP$h%~M5}75!Y% z`vdt{sE-Hh-LA36!-}LWg49eYk#)2pX|2_>)Cya*5%8*l1dDDNvHY=NOr}xEi9A|6 z|8jLb)GhON9hs+S!f{WS%(;?SX_DAWe`n4@62uFVM4nzY?BNs;kArnqW=(9(QeP^O zRfJqeVpJd>S{~7A*L3Ycu;;bp+oVS%^oNbJ!(bejlp^DpndZc08o5rUMF7ZCBu_A8 zC8T;D$u(MdX~Wn>FGYSIiMP;E9d^G4Hv(8*SYLE8t&m4Oq->Hi3tQ%(l6RYascMI_ zSdq4(IkJMVqkpH!a8TEkgo&Q_e%-4> zLqjEmNNtJLi=?%Wy@FUM>*%n>v1?9THqc{6@=VK<@oR?J{13g0tUd~gC)_f4@GzcE zU}@?W`5@tx;U8F!U$!=0TFO==;3FFQ?@rThtB*qE2x5&slF|f&=aY2+VjLrJ1cq+b zv9%zG=}iuHoqq-IOk0pM7D~Mrv{vhSzSP#u4@h>ai)9}+wF7UP46kqfxwv z%Y5b(&Y7C7>~W^1iQNmIR+W9NY>$=YzQVSEEQIzT>Pn&>RQC)9rWB*NH#Mw@damc;t-HTwbEBeI7P#zdSg&oW$R#`hajo|p(nk#SsN z4%3|eVdOIZp3D4uuG2U6+mG<}C&Js0_Bq|&+3UviC3E=_nSU6Wzs`L5{eR@k-~A(B z|L*Vk`g?z^?Z#j0@fR0K6%M9KuP}E_2Y@RKl^BI|sl?Gn3$ZDoZUi4gQLSKVvRT{i zZRG9u@BHQ;e_+n=%r{oC&2fDy^00V{mI^Idp=67KCBIvt@n_nF1{zFPvbRpEjgIm^ z-9!ap@d9aGmFLqqHsVnc;@YF)IYUKkKEBn;V<|ir<*^9M(?F4%)FTII-;G<-vzln# zP!i9O*)*OZu|tQ68C}&Nd^X0}_sqJjY|j@swW^P9pjKfmk>x4e7bQ=Xl#6R+dIztX ztE*X{M;&%4znu?r9~4+yGV8| z;_N74-ISW6MSrBsG-R&1@^#I8I%}xZnNjqYpK%Yt)%42?vSF>1P3$Q4RAk-Ibwj*h z+Lwj;^rGjv@>m{}!HUsR65F^DF!6oaD@ByO2Rb*~cw$OS(ME0KbdK9b7l&Ui_FCU= zBkyk$Z;*-Y6rj$IE6!#*bl?aHFZOaM}f5Z<()(+yMc$zWaK)XW@EA; zC!%(pj$LyJEW0nO7fa%=$%^yt%u6{s%PApywCAWC?#vF`?!m%CviB?xFkdI;%WTy7 z%goYdo-MP;c)GPqWnWg-kA>yiownU+d?SQ~$V!Tp;zC^A+WQOZk#_Lzcn=39bBg9|p@t1d! zH2Fp;XE5DvmscD{OV1uF@j82snG4G5<8&&$43$$B=C_IWzkTPozqL1Ekat+zt@a&C zS_x^T#SIMw36&HwE$ESn)zgVW4+V16zBFr7nncOzw&8puYJ*2nmQ7eTWnGH_Byr~q z<~(|q6Zp86)x^GQ<*`(j#R{g~?cMUS3E14fp8zdK&BUsSm<;4N9oajUyE6`%;bK`= zdCm+|qL#|ASj6Qq;;OcBXfyGz>3ozt3UN?~t9RV`mDMfpayseM-k;`l@>ix|#A(NB zg>HLsmYGgTQT4(>)w)T|)3)0wOs+0UEiF-9!?gMMaTkl1(IHuvPBK+Sie#Sq%+qg% zrJCl(xCqJ-Ngp$Zm7^c;5Gd(oO&983%#lYWcoy2xjY%*MzR^aHlk*KIC3j3k4%@G) zFhmpmqRMp~jkJ78+%AzXx6IeK%f0hV(%VjD`rG=R3XN9W}Z4*PTZc{7HvgI z4kmUTVkEfr+d4^(Gf6Wfhe}fHKJ6WXqeyZwaqx&JGunBiTeJwJ7mUR(AKq!uL{N|1 zXqYn%UkH+T7pY4ZJdD)~qzFf+XBezdN*S}^zjl&#lle3`J4r`T;!!DWH(7-2?w0ni zUR-PIH%Fp5E=62?J*cvYur=7cdm7b3bW0J+Y83q(W^(K?I@3Y8wyu^5)l-C+g)j&) ztG^yA%9HQbDJN=;)M~W)TJ5tBT~zH@l&)pVF)}7)%8~1J=61VryI#3oXTH}=EapUf zZhpURLR~8B$DPN|KcefMkQQRPlhVqNEy5jOkJ&Q;<8fd2=^jaZl&A;RLop*#FEB-w zy%tz2`nj^t3(EtZpZ52kcV+torpPb~1Bskx#yK&=@zo2NzWnxjCi{PzBV7LhhJS$D z9rWXO_I$qojuH6s1-^cPAKonPvwx4Spa47j{@4tWNH~kI%dS(A+i_11!cgn&}3mP^gRzj#m3WWLK zc=$bQkEUmGx!S@N{Gv!Zq)zdTCe~h@g#CQlNX$-Z<}NF{u=%I*cvhC@%CateF6N4| zU)PtPcb<5TKlA4n{M3|^xkrX%qZBZa?mTA3JThJ<#>;54-fO08t91p`77VZvUqqmm)c}aEecH+dYnc6Z%E1PCE6&An49y@%gks#^p&-b{DU&_+# zH=7;|CKWj}6!_^k1!3^+<2b&-?d@jzqA@e)%)Y}V!_nmR=rAPB*W5v`U%XkzDh%o^HDj6w@a8ZyH$S~%^L8OND% zni#WXtqoq}2Tv)tC?ZQPKPGM(q4`FqX9ugP(xMkh(#;0xL>#0@O1;yXnexb-Gt*^c zzGmjP%=B*J(HxT(xxJ84ZqLLr!}Vf1INX_Pcnf8^P0TmfRNXR{_nB$5jVuQ_$9O|L zx_Drpk9B0t?Yr+4Q8nG3np<&|$g^3|v#7A>Nv$w*9CQ#qO<;8s=6O zW$m3X5wv2CuC zayN0)Zn7~wZ3;s6QRFlTb5iCBez@NF;dbSR_ba#C4}`_FgnK*=EwWj->w3TQ`1w1! zej|=6DX$E9BTvHQ_eve|F#&1f1_$L38Cs)2Jc)wC6w#WaT^iJ)=(-}0i88IMcj5W4 zC-b~l)=y!0%cOU60#A8n#>V{pt9Oz%Uy?U$Um1LVpRuKR0)}@;Cch&7A669o4*0Eq zy#XIDU*6QB$iHLZ_HfOX!xAg%dJ%2KbOB?si)fCFx0yWO%t9LyLG^S51Yi7eBn>XQ zlgha^Z?xSCD&2i9E!7gU`Q^>tV+#63MLhrG2|~1dID;SB47=w+g#c?+*3wx|)jDMT z&h@$e=AESHR``6bd@d`WpAR0(#^>_j@mxI+GaVOUB$?|ja-902+oy-<;j-B_PJnrw zndi(rWv1KAbjwWFndxn2T@pPeYY;s@4wmx`FFpw)8a794AC56 zTT!M_8HdUcEm8rTKQcw8IWbPA0gBPsD=Ebzk8kjWF(uO;^vV>E1Ztkm`IF-C zjbfq1-MOlXy_sM)xQ4J*Gg|CoBcUeg9HHqi;}-&UFcR-L#h{0wBy?f42fylGky_Bb zJBLj;ehRm(BN|h(;@`(&BDTJm$wZHg%X3sN4m9#s^=?>^Q%LRWs#;cNjL{|tYB&gK zN>z)W=|~qa!L|j83){0&S0#o@9<11mnWHElVqyr99PGIdNk~~42Ju2^G*P>QDr1hu z^Eq6ZKHk)P>_I~kCLe8Ivt5U`G4Xbtc)MJAn{K>~6Q8RxG%+2LyIsptSw9z+k2{a= zKcd^6VXEZ0GK`fOY=jF)Hs`92YWv+TmMe;_Ro4EG|Gk^qor_@F(pCl8Dl9AOqHK$! zOqNQ03gnf%RoX5@6%(=_`^!tCf^*cib518RULavbm0Pr!fggas1OC?k8(7iwFaCXx z(y0DBE|RW4WV9x9O^CA!%;{rxz2Q2NubJx)GneZ-<9H*dOv0El06Lm=pEwg@rheX8 z{_tP;`8E@q@bORoiTgkO0f5gxerLOH)YbSdDkeOOE%|9oh+#W~cfnh+t?MdcvK%B{ zlI+z_%K&1dx||X^+0CkowH0Erz`|miJ-{Z3THN7bjal<~-XbFkdbFbG&B8s7RgJ%S_!izX2Tq;9_dUG&HezD>}OE++S*R zD5bBM2av2wc=m9%MkU&*KJ_9g`WVD1Ajy+3dy&*fDb}(*0g3xA_PrhXaOB%cMb!!< z)#@-av1Dj9pywi)#k*#owQ?_+F=D6uXk)VY=K}8jWM1SGWj7s}s)>Xxxb*BK<-t<2 zW8~=AM8DgEJ6ReWBP%0tMtAciZd2lR$^39le7R+QbIbhhhs^K4nz-=qe)rDpa&;HX zOk^Y>T(U6cl{BnJyFcg5JZCP~%zQN-QVd2YK8hu*&;}0z4JMY2@nyjaUFd71^#`HEb{%~ddGMlkrtLSR>bnt9G@yy0l znNqSM2{}fZmuo%)ceCI2!9sF_ydVi;fjAzlo)*)=NHj2RJ@$I>Vy0GQ^Tm8EHqI|C z9wW4tG9l08&l~x2XS`e)FLupr%Y*W{P#z1dRF^j>yC^{`sX=XW2z+;E990E&p$%f< zWa%}Ct%*lax8E+o-Aa8ki^23xAsM6*4wRZ9C3eF}?5l;|reK|)^t$&RMR#*-9!VjiYUYh?sVpCrkDu*ObN}fZpWnan`1r=-^E=cBqbj)xQ&YAS zsotg9v!H|02FsgMuZi1WVs6#sT2jA;{W?g|^spn)hIr`RI!O4`5Zd(}cR{w5vfN4c z@3gnyQ<5=(dp0@11N*bZzqXgJ73&i95gov9fWN_tr2c39F=5x}<6-)xkAMCHf2~LS z%fH31k6$0ZK7M`t`uO$n>*LqQ|MMPyaVP2W!;Ef<4CP>YXn;6m@@-~(%ZzU`m$xhP z?cFk*(o7d%Q~#hs5SDcC7B;DK1JM zI%(Cl!`@8-p8%yk3h}YYG%`)*XqcvnX})pwcK>b8TrSy87*`XVYNd z45lV}h_?6rtfW|(vod9v zb7Tgl8kvKCP)EoYU}zbhRrt0jADg)tt5}!BvhA#cXX7?|tuaQt0Z9n|6P;^IE@ZWi z(`BByOx6LqPMOOzGEb&21DHpr(5lNC+hq3XXjxTp7>RBz&pvX!+%mVf%uD{feTF@j z;`q}DyB^Qk1k;s%9y0A&dFdqC7%2|&;&yp$ll#B(za2vFBzYHUzIjI}dp9W`w)i-7 zrV_`Pt%Yn6LPR5tw^weL!3hsuQnM_zfR8@&$TZK)lbtJXmzmp~d7o#-x0(FImGR3v z*P{=QBO{#sjAwDyd>N>n|@ZS1C% zs*OlcA7=A5*_ z7Mbv8z(l-@6rHNwH2FZ)S!=t!E&!306iu`pLh|*TBmPIDbxM0r++dD&Z>Sb(@@|!w zp{N#Rdn${s9l1uzb|%Z~E{w7<>4>l*DbxDSIN16hQ+BKWY3PV4nvs^X8>7`l_`xO% z>F8+Nn$(EQ32w$)cfll!(cF`DKU+?R!`Qk>uBYssBuBJF*J9@2uP@nNpaZn`j48&P;DJ)7zE&!;S0PJM;C*G|vo!g#r%!r^lHv z#zO~DKkhv0O8W7ip;nfU`@yhze%vXGC8733JTRXemED~*U2@!U^2bH$1(Tzz!@&dT z5JbE6@?asiV=s`BlT=e8#LCn6n6V^=V(x~+z1IsNAB`L|NG2$)s|!vpOhGgHeX158RxYgX<(z zjJ#TEV%-vtCwz=>@r7<21!Cno!L>!MBx+2SaaEMD3E4q;)!A2%qAUfzKMOxE@TjKe zR-##0{e8*FgxkH`U)zL%abA&7706DeGWE_omlEw^qrjYq8i60;ST7O>2soRt* zO$yHq{&cS_RcJ9Y-Av>?UW`8yvuSghzgHFxnjHRkwzPMQe!o=Vv8_DTmCto$*;W&( zmX-Y%&LDp+adad_^srw0H8{<@fB%qR%A*O+r;&M@kC5avL>E^3ZS9AFCsQi^u%5L~RLGCGLF_ za(2_<=u7A4`l3a{O&U7b{oBsv(?1XYyP~vRE$eKpi0`__{*fb3&%R|kG@9KoBCg#r z_-#c!zDaj0%u+}$sERMrQWvBT{6gy)gB?0+9Zhawix48w!l763us#@SwP5yI**D9N znxH~8C{_~y3w{JW??tI?Ak=n*YWDS`$js~;NokXry zAf-Q}(f7(l9o=$Nvx$J(xGlpNpbn>-R61m|^QpuRQLtin zs#9u4REfncvnuReci=GWl58_Tw`l}hbq1iK3CHMr2^*f?Fw7oGpqb#*C4=E=I7 z*JZ8-!s`o%==A3pqrG>YNqD3L)QWgMr|#Beiez6~Mk|OC7F_P@ z@zD`?Q$Tb?MojS~T12Tu2&Ip$0h&acj;OnTH?dCA$Hx69 zyN2)IzF8;f{+;FVouO4`GM6w@5|kmH*T7KGoYBEKTG4qz@zlbrckcT&96}@|F^y-0 zHoWA7s~%iI=mE55hzQ#X%N>n^#>^Jq+4xF%H~kU7H{fUg^*bE*R<>Ii=RzLE(ii^c zkH|N+pZ>tNf3hO!$A8bAq|~fZjw46YzYR*7X67Gm%wKLy?=zR%l}ny2iXqSDa`3kN zL1#;LQ#8p)ohi+_51T;s#ii`Y6!+0sFzq!np?`W^xDT{wmf{xmXpaZ~Ip8Wg^#D<< zIu1SzpyTyZGPg#u;wL3J)4vmk1$%HCe;RBtA7W%k`G|^0DKX?O)Selp%sk(?zTddr zZdM?@UAZ}D=It_ao2^h9$K-ZvE0*e3xy%dGc)Hmtw6f3@VP0UMOap`B56Mt z@xD2>kO@ishPQULMsfPN+9@%d}WOyf)%GjW`0d1NEgHY0Nb+{*^4?2_4c z1A|I`Z?J`Va;x3okmZoE6*@S}s6!VI$L7h5dG3|RR(Px{AIrk`W##^Su&f)~x>9RB z$7c~@$hMHvKiso>6kpI3cB{r?oOm1U`W&p@v8NZ*$9pfXrf5+XDLENCMdFZM*nNF* zK_$|hiBq;HiZNSqdfgc6gQ2dLf#vT_@Ksg@3t81|wfCe{p7)jKw}t1o2a6X;^=VXb z8~dt{`OLL7!11{rfxFRu?~+{mna7v8v5xU_XCfWUFn|9v5#7)b4qgrijJ55G>~h?G zyY!C5Ig$qqyAT~L8?&X?qYR;1;(bfhAyNGz-cx2zSV*u6u~ni7Flxy?$#7dxSw<4av8bZ zW+w08P0LwHrRG$-4!?SQOWEf(}vMtoWb5t3v@3C(J~8P zg6h<}zLuvKDSrKFGpAhZbaNnj*mIm`!#iYiFlrNIdr&{Vuo8HB*KFBsEq?Cs6pM1p zGstAc(u#?=|5uPlD}Utir~k_RU#&R$_?LhAU-(!5dyl^y0nidHCGSo9MLxrLnVEmM zGW{?yzu%ZIGjp7ohS}V0DV-pVoM=O~s$JDAk3qa$Y8O)R@xbQY33`{NL(IC(ADff+ zD1|WiSY2PNvT| zq6_lKIAz9pX1o|%=5oDpxm~#)5V0G#*>0fgWL>1o7|n9s3EaWv?@_I=c#ZOIY74iz zJ1huR00oJunS>Vf)soI9p=~4>+5{&B-!K0lB2sgPTPIcY{0wY00Ke% zzDkMbFYXd-F&)XQiAd69MO?G)#5E_bW8yNx+a)@vuy58DjnS_g$ul)u{!eJxL3j@C ztLg=k@bMI$MOk+%zSW;Yh(hWS5QClmH7Jri2suPzR6j{ZhNQ=ME~I?4`_qsaC$q!H zafX~JB(?&r6VE&{901uh9o_~9(|4>| zy_2-@@m%@%TzD)i%W9pJy_O^TCX#6$IBZGga*UvRXDsK)kYCwdrUkmqnfEb!kz=R{ zI@HkKn4?fiDH*pY`E{I=VFPkLMoMX%$!}MN+l}FNCEu65co*ygA$Ajn33(I#alBATQcsVlQ91xoP^=CM;rpA{A@+e@Vtp_+D z@@U8f+vxj^V?U$A`l1~In!y?Iw+rvKO2tA;i%{j&mH46`Op)Y8Qi>*3$cNJkGMO@D zc6S)>xl*fh%~VNZ4!5MHpNlCQ7&UaLAxE(rV>&3-t^fX&mF2%5-CapbK2|hRdZ(qU zVvMZZMzKE&?8@I@&2EVMWpcwNEAckTI7SRs5!P!fq zP{cAvH(v{Ch)BxFFcFg?(cUvV8Yt3?TE2TR8=5h-LNaG>Oy0rkk_kVQ^))+;=4y`9 zOqym()W}v8>b4?$rMRw?N5K; zr$2pXd06-Hx&Avw0Ho%T8e=*Dcp)Ul>%{cKmCO5$`G<*do|%}L$PB@3jxC?a{gg9| zBVkus5hTo3y*hZX7fD5`t;fkyy#G9N=oJ_Vc2a54#yerKwsTC*)4+-eQR6Pz->*l3 z)Pi^sW+N672VbIdm=YW}(3BFJ7fLl7^C;(;(KmsdGt>3PbeWjnZcNvi%XQ*YqB zT(71_x_D~xZHy-T9gU-uQntb-n(;oic#f#RSSVs*IwO61sAz>AR;n=}FHD^jEZshe zojAMBrX5`p`?Vh;yCA;fp8Dn*kLu|BEDl*%*LC$x)A>21bf6jrGDAxY9yKv1%QU;@ z#5`Gh`gTpcc`x?u7P($WuD6NtIx}2n!eypOLiUXAXXe?0@NAVuY~k4&>{x*nqcZpi zQM-o17h&7SqQ@s#H^4Rw1NsuG7x z8?9)`c_uq|MF&BGslyBe*@eMM+k5ab2Op>I!spX~rk~5o{l0MjTzD+Y(M3|xLjd0T zrh|8qf&q+z|27Sgltw1cmzzC$|%^3zlR1d6k*)?RI7Gt01=QJUG98lLZFPIa!mK~zhr0EB4ZQ!h@9$7!E?9IPweS!srxsA$XQ0V`)x%%pK9&8ESO*;sL{EbJvw zo3QORPT!vsvIg`C6lkLza&)w>@*N)k0e=3iz0^PYzVn6GLgm4~>VM+D{nvly=O4eZ zEcU){+y6@c>3{F>mv@o`(m0Z)6R2f+q?!4LnfdL?{C;B^XL8FVnHe;bIEy4kE09{w zP+lN?YBydHp*ZWLNHQ*nfTr%qk)uHBfVy+s=Hj$yJO@&D19gC1h5aND>%MwQJ)U#b zC(l+WDbO?5`Wu*ujKLS!Av5Mm$s^htR`_KpcS3#NBtEcn+ZzrwyNS&TGp=qd3NqHh{n*(I{=qb=wPQL?@MG_t1| z>2VaSwx90S5ok7(F}+t+YAuwiY!2?)s&ap<-0$XsxqrWN|G2X*s|7==okBYxCu%Ys z(cVAj{;Q2*h9NRfaP{1|>pb#)i@aYGKim>u-;;H+G_tpmy`^IjP07>UlWpqLXnLm0 zn3<-T%a^ZQzW$#1i>->6FTZE{?Qh9nf6MqaFa}upf$uT$@x1f+(?3(Hvb(mV2BDA{ zcIB~F9?!z^tb9I|_3>c+TzKAB)=v{l#|C33bZ6JQ#L>E!aC8jDu1yPxF(f;IYhn-T zo4db9FNd+_hmdx(md*)PA064D#{XN_3AzJIiWsH2C{0)J+_x@!HO);Tg-nc*eVW;8 zMlU0cOpZoauFheqL#D<=Y8Dn8qnL&(M2JEhG6^}ysL6_iDRFF$A^KtF5GbF8wW^KV zqKBpKY6gjjxmcstL%3~vMC(qZVMKbMG1mE158>`1<8Ak-70oZC@6(7Af)U$$!P&wkHdMp6>SoVd)^N$MTHAS1z}2XcaGicDkTlKr_g zWiOTGVek9L_XV`tVJFUvL)Woo!k~m``n}?7cG*XYSKmFZsfvx}OEaf&qY&twBymoi zX|K$TWX!p;TP=8YlCpP_Ms%=Fl8xK+=;CQpcE4zo8)`x{Q&CLW#)Ww2T9bE@Tq2P& zgIbbCnlfp!ksBhkva+v2-4?c|j}{+^eF1$$cqYgh&54jRk~8I7;`4jv+uvJV@UMRt zkel$qgDVSfJSgoa{y+ckf8xLW*MH%spS~aO`?~%+E|Q{Fr~YQL+f~QQWSiG?GY3r0 z3`1m)$Pi#qmks*3E%c7UkkC+lergg!3mZAp;%l>6teszt=^xx_bZpSgX5jW)F-v(Y zG)AB23dwJRo)#^g{M-b0pPJl%gDyGcGyh>4sc;~1HynQ^lB0bm@j z+}_@~{BYy;<;wNTJD2OsbxvmUp8U%fuFDX)4A!ACfj}hquZd_~JbCRT`H8G&v8kOG zI{j4zB*bHLS0{j{0MW-sDag@9Fs+S$&e6vPelrEvZzOjw4ZTZrgpaCv9NZTYIYbMH#ZGHeI*X)fOw1F^Zk-)xnC57mh|87X?M9fdv<+%YmO@hPdoQdk zO?fuu=~Ut{q+>B4V;F<3P?T!TB$C;awNiVh-)HhIp4RmkjldnTME7Aghv8sAVlT3k zy>*MTP&89^PfOV$#Y`nx-qLVG^W=+@xer70LdHjDC{O;2)l>+5*>#l76U;K7pt+WGSQ+w?A%yl^AL z@*34n2jL)9nk7FZvz1Hb=up@p#GshP5dbwMnwFyj8H1XpC;E`A2B7$LP=`Xv@hCKVH%XiKu|p*VWppXaI4I*_(MfqoXi)F` zarDCbq+lO1`#7^tS9jwHH9(AlklB%6bds7zpOj$xO|TBQh)3?U;s_6a?J1d5CV6qC z_U1|zR&Q2J6brLt^r7(wq`ghCEr*5iF5?m@?^lC0uUA`AWE4k8s~oVeu!k zG+3MR6k*#fi*Fd*Jv5p~ahH{_yWqH*`9NDTZI>^Et@Vs7A6@nWQsgM62bA4oSY+=- zlDn5&_f}OYY8|bju!+%m3z0p{?8C%9xZ`VA&o(p>>ame}u~bTBeXd8_`LV8iek^=` zSdsMc{m$q8L6b_;3R>)J@*<`WUDOcH&EFVbnQ>62F>>=x(%UuheocINPyFzf`16dHfa-F%o-T2Ml{+{3bzy6W0fBQSYEWg&7J!AI<;O8r} z%UA9a`RTJ5=@^%`xwi0ezq5S5TU^7(oxK)kxY$MsFy@KY4B?P+GDm8QsI!BDx^Bh` z{hT6W&elO{rc1NK)2WqtoiaBRjn;wgxmdt)fJ+0%nsngBCn<3#q+AJ( zvuL`ZQcT2;Yk<5%)v%6JC>%vn5n-+6M3Xc}qy#l-gmbX}%~;dEMx{j4$BI-Z?fdt( zlxFq{+p2uVY8};B9siOU1d6}M1#{-6tmY=gMxPC3Lby1c`>l`XM%YGJN0TFnLw0 zGNJnQC6!PT&kEZj>}w|?*}mPph2;pxh-}oF3**pzJ25Sec|y~S)YE2sRsIr z!NNajr(-82>*D3na<>4+DOonyU@hP=Te5kKoKBn<;dT!VH8*-XLU~iPUz@|yIR2UE zc6Dx4=mnE)5^;!!wcH9M(~IQjh0$OM?(-1sXAbFLYnjt6SxafK1kKiLyb%3)A6Zbi z!^iv_u9H!BVsR8c68pkvnyxBB***KIDk%!N3u>dhY$kY|hCQk%Td|PZ5VC1?njD>^ zT`GIaXiJDDb7rAvuuWDywgWiBqXk-VX3t(Nen*5-$}ftf&&R^Y$AgdW5AOFnpWi=t zd@LT1Bi6Zi0hF|6qS+%H*yUq3-m&Xq9^o?gA}RBJ%e>#<%MHH1!@irYV(*a`KIYWu z@gpHxCuvSxuLj0^`+DW;-~N`r`P<(e;>^r{|M-e=Q)K?iXHER{aGf0-or)%v<=c-u zzJ2HU?I#}Jex&urNjpEI`7#rtrMC}rB5P)7W^2Z|L5XyP1?M3#Wdk6#=3SBwHuM6i zYt$P)(wDP~#9*UX(};JmtuMTT={cf9SyOXfQy0+^k1jd39Gyj(S(;voqjYwXUNoBL z?dwk6=9tXVufAGL?6)vH2iNYK{I?7M|n2hY|E-9!cGd_%79 z)Y}(#Fc+vJP0XM$;^RHP=8_6ji>qOWf>K+g_#tz3&Q^D&2dbYatJ8)7B3o6;Q`lEQ zH#LV05Oym#Br4NzUauWxQXaymKwIqjtlxw&Dk&BQDnl@A#`o`czI|J`|GZEhT_(d{ z?GgX-Z}IEn*T=7qUmw3detrD<`1SGsyvJYONs^TzRHm4?xY+bIUCGmECnxN5m9Q~e z!ZZM3IPI+(%yp(MQkv;#BnUN#wKfw+C#gz=Bu4IaQJ+=NdN|P%dN?bNxqB06qtBBg zahQ>qXj+k2*&RN)g<>t;-8xBlP^|lRP?UA6Jd2%rmQs0Eq3-6mh@&|m!jQRMXRh|cHKkW9FJy)w@?hLqVmp1+u*peih@bqgLJ3(t=S-|lxlJ|287E9-WS z+pHnrES22HY>^?FwRv()2*7lSOqbF1Q;FF{i4oIkgbt#_KEEl$>>Z~mJG&)C8(j?6 z$vJvAEu!l2EWs?+F`O;#*kuo)k2aEVX`(Twror?{(~uZbB)gvDl}{B?Msr4nd}!EW z@BVcW7CM0aO{O=3Z^bIOz(XGl_gq*~?NPg$^E~BPHr_q487mMLw zHT$!NwRRz^={X{i%IGKM99J?cN$yZHy7g<|fo>19tcb@^1ThhJ6lE1t|0B5VT=qVGww5^R7s92fH5vVt~VFU_I+3nF-|3ru2vv zdPuN21TEg;96P--(^AUDDnbqCq1DEy$GAJaya|58ICsaIL+NlkT9nT($8E23x$cxZ zgya6XADX1r$<>Azu|JL{!lTLgy-{P;A*S&hgg91W6(m+OCY1FU>yslf7{F!A(NXJNYh|QSQ4)2n2DaSIq;NFfyn75BRQMRW?s8-p zCZ@qUNpIs<9srwaL4a0sxV|`(hg2CAO6cRZ z$R6z83EA*8IVTih4#FiVmqB@R*3g<^onRRw^VqdbXD&h*p!q~c=b8QbPQASwQFp7f zwxD7rnbKfvCooud>#P}Y(#$VKg{>vFrW7JUE78ZCAyycQg-MG#v(3QI+g8{&MOOn9 zTdj~tE`Se%nNf_BW%{vND<4Z`@$dgFT3~YYRU{(FURjsbzba+%Yi4_KO#B-^{_-Lz z7ITCQruYZA%{PW2`aqB!_D)Vtf#AJP zYpFcFC7XuCkRxeIVKlu3hJD>LlkH^B}v9LaS%DK2OHV;>iUQ`-SJ zcrzVVUV|sHnHf>yX*g%pNkOMUP(Kmk>)eZASEMTZ8LH{O4AXHA${_+3K z1=c+E-X7WBr=VuxcHD)nA?bCVW#8j~^7V_Oi?B^w)Lo(WC-H~~>ISZ;_8!JyW2RTC zdn1_*KiaRqaFe$9OB4$IKcs`Vl#;lc^#ysP=ktfICp<@Os&4mhj>GVmwKriGJ218& zgj7jc34?9KDwSHxX`X4ucFNhY68cOLAuN{^h9 z4fZPNfgRA(fqSeqJx8-U_%bQZOv8;!HeHf9&ZdM1Q3Rxz-Z6@ed!vowMNRwE3$PUI z=k8)IJ8;)zDsFH}Y@QMTP-CRV#10J7jRSVg&9QQg!YzTvbMhQv$%*R(%bbW+j*Lug zhF57*AGb}&&5NY40t-!MTF4YkZ)9$|bNzxsYa^hPW^y7clq?(0I8CdsW0|NG*{#Tt zYV`QBRca~hWkYJ|iC@HKF6I!d4%nrbu54FYEtImcmj}`d)Vdx>jl+>3*xwg%#@LCO z_-j4>;v(sK{mOi~GLHEGXs1{Yfufz!Z4prwVg+f&mFX;=7LyUNgRt*D?^YAa_7l({ zx*Pm9cF}f=(P`Shd>o5W^a~g7K15sansWTR);b&=8riDbT4_blQV>z!G=-{_T7~K# zPHmvkh{buzjMqfIWaew;c75k|y>Yvm2={iKna9jD8+XQd8`&x3BRQL$w*`l=DLkd} z*fu_vm2dYu-@f1Z`P&EEvRF0!Tq(XmirU7XqY;t=**Y`9gw|t<+-{l6yK|V{GM67B zx9e6!T8TqBgDhV*_VZrp9koQr z*7b>VVz@-|C6VXI=;(#<5-o;jjD*1y-oZbg5dE6-&9ta}?oj}bi(rW85ZR+G)GP4x z=h1VTR{vUn{{sBWpWxfS{tMf3XD=(|X^UuC7RtI(mzBCasLMjxs^J=1Iy!sZp((+- z7tOg?M&kFc04<5p;QP81;_-L;b=ocOuN@Y6>BvdvB*`yWVTbmozvumg96RFHjV-}8 zpA>Pvj{k#r7Ip-P**bU;%&msIt`28mB&0|hj3hk{ktyMTTNgq{p?TL#gCHTBCJy7% z?d}Nc3@mlsrm6#eowD76-=AK!nGUr2%5Q6GqY@a8E?ZQKNr}qw9-QDzI4eLgr&T=v z=s0H`PC>_ughb0&A>fVV6#U+M(SxOA2iY{5apV0mbIn-POI>+BzOnc<_Iz6I;j&s@ zXe>$^gcy~zu6*7r>sEUc%n9l8f}@en&UIS4lidBa4nY|ZhE@zXx>tJxTnE+mdLHuq zbq^_$^UO4EgcxaUG=^If=II1sww5SWS+>fsDZ^73o-i!l;q0RxuL4pKU(>A9y&^1X zbnItSmKH%0Ve>a~iIBw!^Lk`=iXXs+oSAbbc>z-@P!*}RR*HH!ZmpDUrLHS=Ti92# z!_{rI(B#&`>C>@>C+~b7IGew?lKG!M{^DRbhQy(O;iJ{G)Q&2@C0iHgC#HZhMnFf?HvVV;F)RI=yQr96^yCgo`3HtBc) zdvBT_S$h%DLOxFUhS>KD(b50bnzpgq=$)m}ojrYu1~$sscf;7P2y06$s;p}{x+t}e zEq66%7u7bWesm8f+o)Tn!8Zm`>MqpXzSmYNDZrkM6%u%H@^M@WhuyfT91zbbn`O5z zbSZZ?X0(%;3*iSI=58vW+D}sz*^Gx&t9LXG5WieJg0++(wqRDl8vc`7!R;z5G6{o%{V(l zB_(u7$Y5BH!dWEEnC1UFXBg%`7x>rz{D1NNN9!cjy0R?>hg?4w){h6}u^{E)#iSTW zG}=bcIL9mo)58m+J_fa!a*HOMw{DU>pLV=A_IJ*ZW52d}8E?^T_Z*J0UoL>@mw~c$ z=9nHq(-BDBJ(|t&7=6BMoi0CYzI5edc##wIZ;XAOVX*f+XP9!f5qU3Y;`zD&)C;6O zpes!%mZIftbdWjtG@TMOr2L&1&n@NbjtL<}N!oAA~-N@4(22kE{E` zgL!!^s9qymB5@c=`E&pp;MT%svybcZ;cjy*NwoL(?K*KC5=jNA50>Q{Pj^i%>&kOo zS+;tN7>#CZ-Lhq^Y^$6&5HDnd7vcB;KPBrB8IV#Klf5??VL%zQlBCCtxD&Okh9i-B ztW5?!HSdE<78wEu9?0AZVyZfqN9NIl&Ye#+hM^|q z5_2ijGBGCW_J!H3v^?u?JtXX$dBGEy?EW9%*4WPn5^y||gWeb$Ternaf2ep>PL^$vg2 zNO0yx5Kvi>4YsFJ9yW3*d!>lYp~GNgQNZ%0@@Q;kl zD!fpNL!@c4vChl;59ipc`Nk5WrLxe?? zWsjy2+bYlX?6B=p&8mw)l%p{7CuOI$m+UC*5V~5~i|Kkwsf>e-HA0BQfrE;jQX)nJ zCqi=ia59*rnybt@r#>=nm^LH%CN^c$%8ZFTMITF?MZO*Oz4-KkTAY1Vci5`XS!!Fc zu2-#2Fzy|QU`(+;BYt|PC3P$gDch(mkC8n4^O9V4)9^kBH!FFG0ZKY{7AfZ~<@%VTT?W5@*5B=Cn(b3~HdiMy<`sP4LIk%@z06KceevW+} zhR}ZLA~g(5*u2xz*Cnh#>YIycHm$3klhK{?n2(&g<`RS!z2E6$v|rfkuxk^#?$1yg zd9-VF%Kmd-V7RZZ)fhWgL$4^S6jrTN(KA>XTQhf$_1P7VJBl8s(zToQEUL(^!|OPL zo+oE#<=A`_**i%`h@!v8uCEHgm~hcE_TQdxK|-&tJp@O)O5)z*|MJ^Qa3hi#oP)Erzp$X>)&ba;GSEfB5>J zdmKzq28zLfwb~)6nPan6`?Bk)yB>|HHsq0MRzz~QIYJZCG#&9ucqgfCmADCUgZLEU z$}f^-gTp-yjgU-Z)(lFyRAJebXBCzmL?1`in}{H-dI9MBT8a$Uk({rVIB~na1mCZe zJ<>MQY8H15Ki9(cTo1gBbDfdhI&(vuNO2|(v!__tUYGO9G;87Cb&>SWJZHu!lRbPi z4b|uW*$-1DOj8wP1Fber>xD)bM;nneTi8X#+tzw?8;=5}dbIur(h zjP_>^JTt(eMGDx$me0;pgH|*97Aa3yA7Yx6T3KtQ)JnR*tcU)dwb_{yK=j|bG^M2c92bx zry$uydLoQNWk^CEDmkm!`H#TTgzg-17ssPWPTAh9{|w^p^-ykJa)qjqpX=@1>PIa*em1sEqUl3q7cKS9UD zz6({NMbETI(Rjo#fE7u5F-}uc;{ffg*hsN)bS{s$naCk>?hDV9N2bxoz=My{I&E1& zT`;V>k0~WllAtjnNzS;4y^pBXKEL*$6=;vbuqah-JpV)H;hd!Jz)!%BclhbYl^=in zBR~J)Kk@S){uAH-^aqxY?<~um?P=}!vOXwfp_auy#G`{_n??}7{@N*0KLUZpMq@3C zC7rwGP+Kw`BR=Igto0o`aDr=pF|};oDOGu46qy+O7{&GH)*nY##PKDb^0GlTS1bAHJ6rbNG-091uPMADN5-WFH6e9yHjWC5Rvx<*2S=O9 zUxMtG6SlYH1^=lxY;J;x=`nweSr2ng9v}{K$XP6*Kv_y*smjw2U)4wZ z2JOrik(0gipA&OTjBklN&RpJaWG~4}O~m!#*N0^bu0>djvOMj8qq`pQG%BX2jf|vW zCXP4KIFUWua+<8;dMuQGrN>{cN%~=CyksUXl)%DAHALGTy<}}YSkDQbDtf@i0)@~r zxZY>qE8-)!*7YQPQ*%dD>?bKdp|?ZiBEML?&iycY5v86oy;4=FC9)UTi;D&e>>Jco zDQjVSR&zJ`#o_D@4-}veCM}EBD`SIh(m1!OP=rJMf}%2(yBf8R?V#@yI8T8^p_{u0{ak6nCi~4 zBV^UD8~(h_-#=^-FUI7kN%p-SbYm6q?9CtVnkr!R{RdaSC%4HS>bVIfnxfe^0#d3&0RYh92_V z^CkO8Hzud=zpTk#I7W42M@ZyO-_P#aQ;z($h+T&XJTAuyBfuP!myz+B8K;ryGBM3J zrg>(Jktuj5sq3}8YixT#v4Uk6wr%C{0kW@r`V9E73Xi9dP?B;6RtFo=d9NKDmlrK_Jdp%(y3^(HVh2b)jubJtR z7_a$oYR5l2oBvxr{^BBO{yMvbJd-D@V8<~dWKX`%7FD32p|XdBhGM79(*y!knqXRr zT8~2M&js1hV>Hs?(&$~8be!T;e|cc*Cpe9Q)Plr_Bv@tRxe1RAoW*DM>E+J0-YIos zr_u%+spL5kH8Z{4xc%UO$oHAsTjuRL@^(pFM|jI{NuCs>26^oFh3xgEtyp243DXAi zLYQWrrSkpfZvcFLd$4_0_NOA7n$@?8-Q>+j1r6kY>Wx-ZHX*uD+62RqF^}ZQv_m}_ zAq3m-MDdPErQ}N3y{+7=#czMvfNA?Ng7A%ZH*HvKHu~v7_q%YAj(fN*ku!aruIrKG z_a<(&!n&WnwV4cX7aJ=reuI8Kh0j&__JofGzCBH}tW*apZbed}?ABHXOOr2~93A@DwSb4^J30i> zJ5`<5JDBA?r_uB)W3&+3VI-w~*fB9^(`as*{S1CRLviDwk&|W}1<^`TSog|vkF1iA zcxV1;W&YRi%x{0Nb>sS#&-Kpd^TFry&gb*a$It)5$DjV0k01Yq&u>5R{QO3BQSDw< zWMAz$`C%&PXq}^O;M3k+#=wgn0^O>8#u^oIkf;oT?D5b<$PkgD$Jn&>G1{>hy(}`~ zKhPD!t*Pf-;s0K2Tq9>RP3!WO;F=W={LEuwm`<%Dyhxm|;AVAwS!|#ZkB#jdCEF&g z3cEzALafodIM{}&N^otA#iH2r+MC6M*k@;n1iuuapSnBi?nH(V$#G`Ga+V=yD$-VY}*m(G&)@$V45s5tT~~x9e9G|-DeX8kM6h}FWENEYht>1nEGUZ z-hoI~D+q=T7TsN_?h^}<%5$+X+Pbc!F&*RUwFp~D0;9N?RYcc&;ndLf8!hQ5zIZtRf8I9785eM2$rMZ%Y-^I4*YRTc4HH3&`i1*w)B? zn`z7tg*5pg&e-9^FrPBHwjKuttH5y~%Ws))H>No< zT?}WF$MgR9Yd!w*aoZPL+=sz_1*}c1kzKO|Xle#g_GoMcWn|~2Vnp2nDwNv0NrK2r zj@U~)Mz_rxg~dZ7{YLJth9h{=Pra?dPNfD5Laf13!ylWlJe9?Tug|rz*Ok32)crxF zz+hszm@=ej(IW58gnFO2-7;_2%xzA*&53JzFuoTZaiq`5sJC$c1bXpdE&D z8mRu>D0b4LYR@rd6ZN_N>Au^_nOkK+%<&YQ^i3lC(n-`w&?%dCEqfO!=SUvBlhha9 zKC1GF4xebf(4N(Er>t|<)Vjf2tvsH>V^!`?p=x5t-^t@2$fLPGhdlG#AFQ&l>?_ax z!QD8wMLoVoOw4PMG^U}eTG_kq%}M&bu#AIosT%3frw!vvC&^!1a}&f- zpmtDtdevNVbdp3p=I^Be7PQBc6r%LBdm%M*wP_P)Ub*f>|GbmrO>h^cCoGRF1q*e} zX=WTMxsSJo*>o~-24~qt|6lL0j6-7b&d@w(Tkq97n9W1INglCe_sw|o&eJt9-Mq6f zj~)j#GhQZ=I;U?xYubj<;S~X`hqmUqZSb($WcO%{s%PYmR6z<>I9Jz5wTQIyuxDdI zYuAKmLBFBr?zKp085O1U@$K&7XLolu|F^XXpA|lL;j_W&pX(YDH7XL!oPhTA%&yNC z(!qyoQqgUrRfVz|&czGcU7!R@uULGIPca?qTuf#Pc~<4Q6)TWFSDp(zdXcnP?bTW( zBqil5Sw_1yNDwkH&cuHIwGsA+RxV&E(=fpT! zc4zborvID2#^c|lNE%``YiYDjQcf8WE0A`{M9H)y=O#n7wW~wtb~$2%_Pw%K7s-h` z+lZ&T%|iy0b4Oy6L;QH8YU_z9x8K`oury_BmD-ezm1VOk`SC0~o}GK7Xj@UKXe%g{ zA-i34%A|Sba+`U(*{tRIHuLs2^LEX=&5<|nB#qJdMn#}_N2OHZxhy;%E9`m@-9$#bZVu+sd|DnsO^*9onisHnG)81MKl+MYJBi>)n$sQ%D{t8^Vi2EMPZK zFbnHmg|e;Qedr^z&ULXuBL+DOq%KVLW3K5>?0fIKEif^fpx?Spk(O+OwN9AQdf2Y? zZlhuUqdKl(w}R)sR(@Vqe*Q4g?oZ!WzJFFLlAg-X4mzB$IRl4dKAhHPSZ6DxaBx+`^4cK5p1T>!omPC|19gf0esb@g?p zPuEvv7zYda9EZp>WX3pJa4~*L1@JD?E=mnzP8=@^T1#lt6Pl^UaA_#(CM=JY`=fGy zRJI}vX(SJJ!0OLsZ7Z9uth%u2%H#1cf%fN}?XggvEA8maW>lTBM}1LQr^A%d^c1G{ zG>+z-Laheal%&Y6ND}KFc`&l1#NJoT5HvcX*H&hjjoDyW#C13 z>0{*_tpgUY0%@{Bsds&WQ`lDwsjLA4-;va2`STBbOC!JdJIfX(XKiF z`>X+ZQ!dG*$}2 zQ(9zG zimm-eYFuxR#uA$q-rz!rmRkWz*{^?<$ zXp?oVk&(5Lxz2x7Sw^ z!CfSRT1&TY)=iP7#^u|KE0DRpBWs ztH82VK9`l{S^0F!XQ|avvy(Z4LJw!0Bjel5czfq|&0Jl${dS#syJg3x_bZ?dt!(T7fiFhSjaHPPz!QW>s^t6XUvJZutSa%Yp}!2 zuEqumYTBEKlA7DIBM?pqUN4dl-GT$#La<}&eXV?dZ2ag&(jUJ)_~~QiV^Qu);rmiq zt8$$qw+Sv6jzv9T)=_KOM;|pM2TJHE@RQkqzE^^HU(a+UfLd#-onOc=GD{YdK`kbvr*KF2lg+{Hksq{-@hql=P{XSVtn&G=+?g?(>xlBZkn0q*^C04gF^ewmrUUk znu628pQZ9BcJNr`eC}z;o+uD4-FAmotuvdVuPNjMj2yAUUvTJTOq~ZMhki)*c9x62oTTEsjXIYe^>!0F76g3v}AzS zzK{6Z5`97u#P+>Su<&-b=x>je^`SiOHV%6{l*cNTGBHP{x6CZFUFUv5$1pi_ACPS8 zMFlN3V$XdNFx(fBQ+_ zTD7~H>nN6bSWMGkMBmf}zA4#BqqiVX*rNdx`v^nMld`DTXgoXH1aqY*z1v_+rA}t= zuc!I%?T5($yt}WJZ;uB*em7^+zy5sZ$L}j2OXa?-d|wPq_T`q4n~jIEKUawzM3zZm zBw`UEL9%6<`BChEs!i^?*&uDk1&Y~`G|lx$1*)q%>!|Fb5wRmSZVOErVj(s?v?52B zEF>3dN5&yBdZyR$cLK*}WF0njX^l{{vh9UuS@?XeJl6+nSt&xF^WfRoH{(Hwstb2T1rR<`OzP`n8axIHv(cw0?g~|gXrsjJZoi1*Ci*p51t|$Zkf=y|E;qf4S{6v^$)Pb>GhxhZJ{>c5?PpprhD9<}m9>~6dRs!DnrXD;wf-($Z zUG6cugWf3e$*+N9tvMor{_P+C21OERNQ9W!W4BmFYEA4Lltrlv#v0ly+pZ>%dowolQasJX)X1d}%KG_Wf38SbY5V4)S?`y2duYwnO(?6fEyC)$oN-LlY_oj3 z8_vRnkO*r0mEacns6K7nPuzP9axh|!z4ovMtF@uqix}VM{TfDe$YynwNDCQpXT=Z? z;IF%A#A(;&QnMo2#EjoQ9{ln9%AY>182IUP<@#`{yLPu>0v6^yD#(EkudB{xB#%;;LpU1e(-CB4?RorbY<=53pR;%H!$d zw#Uj|P1`mEkS@NA9oJxVW8EvQ7FrdwfNs&WYv<}?7f|${6r=E$4FER~}n3GVJ$^rc6cIYC-(9-oJh0{_}SpAKxg?yTy*w6=Wq+ zJxxH44>mMmOhO)%AsK=uwhd~r=%-QV9_`(1@zh+zL=o6lD2q@& zj7nOXEg03IYrXK%rl&jRpw;?~!^<2WyMy;&L6D`H76r$3%6_vgxe zwGGUQq=m<_@>mugOD~c}qMCc7Tk^r4qqwGNTUW}{LIZVQ=}-MUUD^h@mr8jG+o+Um z!H83anhn-?;C=fy=%>RM!En@Qj*#S{N4h5IB~=?=n3@$!;nht9$BAB(T_ZAN(2QvE z1Z>l}^pCbyyGCjis%&=ZZ)$e_CVYG>eEYuglNU)pFDsAdX3mRR5m}E&kX)BN(H)M_@|s(fyR$M=QDw+Ej;EqwmGQ0@=P)3j*)*;s~J@3L^v zp}PPfye^F1%@|U)fM(D3%7g!T=!<(l0NM5PO79Tu?>k4)fxi|ND;l?A;_ZHdmtC2n z$rhzMxH85tQ!DhERM#!2>5_J6dpc}NA$5wl^vlh)LSjxp@le=)YM06`)ip`tBz6wo z4-!##E7|=g)D}r9G%pqh%S6Jne2@Ev0K*ZAWa3w<(iqvBx&|s8Yov*hZ3lBYh858P zV(Qn6yAwGznO%Eg2c&3W$?lwtowR6ol&vNGKE)(8T~9?!zqlqtOir?nh=Xc#b1s?Y zlk^R=WH$0Pa0u0n2V^wp93ykTUw|}YID^rg$T^P;c_Zaa7-k1xX49--pK>{**Fn-w*&(dXY;yQ&4r*A0l%4fz4d%jcc4uIyz+chgVCP`oqxTI88-F()AhVF;C|)@4>* z5w-6DP`=;!Yd!vL#%(R4>BR*Qq5&8;Vf$3p4}+6QtVpVsx*pD!<0%e&`SJ*h7c__e zT~8Hn*0HkAju$>v*h`_TE8BV&N$a+Tb=C7%hX!$j8pym=g1C=Kbx;?aNoL zw<~4$u9HG>F{3yOX0J9**nN1#M)M(h^ zz(YTrd+Yt6;D#3_Rli@{J!hSJwO`wb3<&D&*kOj82NuPb${X88v{m7kB}e9<>gUoQ_1Q+gTiBzM`x z=o`Qp4tnNZnP8M)kt8kI#^2QQvNW2F882wu`4$|DFivopta~&~CK&Gy6_XV^gpugM z)0NQi5z)d$&x;c88ac$Tzv+ALmdLTT+h0#-&Y4tr5p1{qGc}#*_0A)*>()1B-y~a1 zzdThpE1GT0;%u%YSct3@U&NQrP0BXHiTM=Tc1LNn0?^PW{!mAq_(&>x^on@VJNWn^ zyc~KIDk!!pD;m~>-dVD4RPTljEgsO^=GS;%--Ab_knBE>^r8SHXJkLe z*D;&>DP=7tD_}(LXfLJ2dY`C3~-Wn6JeQRYa2+oP0Ttj!hZj3+e%Pf%j~qBu4~T zchjbLMnhRA$?kjWCZ(fmXFufs$KKyHNwOSin%HBiX6_ylnNVGnnp1j0ktPFJ7pcdmPN(0iZM~h@PA*)TxS!bT>Csef9lNy5z&9 zy=$dOqx8y}cj{Kjn0kEO?5z9v_;DyL@^htZnfzSccdpUu4!s?pQ(lfI4V4rtlV+lS zNpo>Ze$ett9>%iYzw_66{nPiSXba*rKq75uKe6rq;W> znVtIE+m+?*9bL_>wCkH?+ozFKJF zW`{go+;r3Aq{HlP{M@aWg+Xa6wb-bjk4}EfhW%cYy^;6E_N;8NvL!2!@&tJ?NH`Qc z3+#Li1g2rAz}TFF7e@H6?Z7$FB=sb7+rP|bWw@(quSjh)nV>ZL%uT5!kp&7$M$OF^ zc%b*aH;1^ybp*kH-G3q`% zBL<^Xj?H>|?yRe!kDvFI`?n8Ak?!1o`7rY}_Zk^Lt95#>CTrCs{Jotatp`8KxP(#N zgGOxwmFRq>Q7DD;+BCKNwI&lSBr4*=`gz;BZy|mYm{FjNgiYy z?a8+B=Zj}m!)O$vIV@C4$W&FDsEu*O0u+q`;Z%UJ*EI8IGt*d(yv2qgk*1a&Kj&#* zVTl&rui+y~eTlQ-SA&JqQ_i=NpyJJn62gnzzT3W4ay75J>LbI^;O6a6uhzWNT=w7G z@!aapifB8YR}I6r$(ks;=Nav*HQxC_+wSD`!G1RcX>)JEzsBp&E|UKE%QtHkVxqfG z5}GJ?$e&PGbFgimuHD>?w!irG9MaQfqqoLOku=)zmxbP?(