27 #include "../../../common/progress/ProgressManager.h"
28 #include "../../../dataaccess/dataset/DataSet.h"
29 #include "../../../dataaccess/utils/Utils.h"
30 #include "../../../raster/Raster.h"
31 #include "../../../rp/Filter.h"
32 #include "../../../rp/Module.h"
33 #include "../help/HelpPushButton.h"
34 #include "../layer/search/LayerSearchWidget.h"
35 #include "../layer/search/LayerSearchWizardPage.h"
36 #include "../progress/ProgressViewerDialog.h"
47 #include <QMessageBox>
48 #include <QApplication>
55 this->setWizardStyle(QWizard::ModernStyle);
56 this->setWindowTitle(tr(
"Filter"));
59 this->setOption(QWizard::HaveHelpButton,
true);
60 this->setOption(QWizard::HelpButtonOnRight,
false);
64 this->setButton(QWizard::HelpButton, helpButton);
78 if(currentPage() == m_layerSearchPage.get())
80 std::list<te::map::AbstractLayerPtr> list = m_layerSearchPage->getSearchWidget()->getSelecteds();
82 if(list.empty() ==
false)
89 return m_layerSearchPage->isComplete();
91 else if(currentPage() == m_filterPage.get())
93 return m_filterPage->isComplete();
95 else if(currentPage() == m_rasterInfoPage.get())
105 m_layerSearchPage->getSearchWidget()->setList(layerList);
106 m_layerSearchPage->getSearchWidget()->filterOnlyByRaster();
111 return m_outputLayer;
120 addPage(m_layerSearchPage.get());
121 addPage(m_filterPage.get());
122 addPage(m_rasterInfoPage.get());
125 m_layerSearchPage->getSearchWidget()->enableMultiSelection(
false);
131 std::list<te::map::AbstractLayerPtr> list = m_layerSearchPage->getSearchWidget()->getSelecteds();
133 std::auto_ptr<te::da::DataSet> ds = l->getData();
137 std::auto_ptr<te::rst::Raster> inputRst = ds->getRaster(rpos);
146 algoOutputParams.
m_rInfo = m_rasterInfoPage->getWidget()->getInfo();
147 algoOutputParams.
m_rType = m_rasterInfoPage->getWidget()->getType();
153 QApplication::setOverrideCursor(Qt::WaitCursor);
155 if(algorithmInstance.
initialize(algoInputParams))
157 if(algorithmInstance.
execute(algoOutputParams))
159 algoOutputParams.
reset();
163 m_rasterInfoPage->getWidget()->getInfo());
165 QMessageBox::information(
this, tr(
"Filter"), tr(
"Filter ended sucessfully"));
169 QMessageBox::critical(
this, tr(
"Filter"), tr(
"Filter execution error.") +
174 QApplication::restoreOverrideCursor();
181 QMessageBox::critical(
this, tr(
"Filter"), tr(
"Filter initialization error.") +
186 QApplication::restoreOverrideCursor();
193 QApplication::restoreOverrideCursor();
Utility functions for the data access module.
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ).
This file defines a class for a Raster Info Wizard page.
A Qt dialog that allows users to run a filter operation defined by RP module.
std::map< std::string, std::string > m_rInfo
The necessary information to create the raster (as described in te::raster::RasterFactory).
static const std::string & getLastLogStr()
Returns the last log string generated by this module.
void removeViewer(int viewerId)
Dettach a progress viewer.
static ProgressManager & getInstance()
It returns a reference to the singleton instance.
This class is GUI used to define the raster info parameters for raster factory.
A series of well-known filtering algorithms for images, linear and non-linear..
int addViewer(AbstractProgressViewer *apv)
Attach a progress viewer.
bool initialize(const AlgorithmInputParameters &inputParams)
Initialize the algorithm instance making it ready for execution.
void reset()
Clear all internal allocated resources and reset the parameters instance to its initial state...
TEDATAACCESSEXPORT std::size_t GetFirstPropertyPos(const te::da::DataSet *dataset, int datatype)
Filter output parameters.
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr
bool execute(AlgorithmOutputParameters &outputParams)
Executes the algorithm using the supplied parameters.
This file has the FilterWizardPage class.