Skip to content
Snippets Groups Projects
Commit a2e32869 authored by Guillaume Pasero's avatar Guillaume Pasero
Browse files

ENH: add drop support for all ParameterList

parent ea5516c6
No related branches found
No related tags found
No related merge requests found
......@@ -60,6 +60,7 @@
#include "otbWrapperQtWidgetOutputProcessXMLParameter.h"
#include "otbWrapperQtWidgetOutputVectorDataParameter.h"
#include "otbWrapperQtWidgetParameterFactory.h"
#include "otbWrapperQtWidgetListEditWidget.h"
#endif //tag=QT4-boost-compatibility
#include "OTBMonteverdiGUIExport.h"
......@@ -133,7 +134,6 @@ class FileSelectionInitializer : public std::unary_function<
>
{
public:
inline FileSelectionInitializer();
inline result_type operator () ( argument_type widget ) const;
};
......@@ -150,7 +150,6 @@ class InputImageInitializer : public std::unary_function<
>
{
public:
inline InputImageInitializer();
inline result_type operator () ( argument_type widget ) const;
};
......@@ -167,12 +166,7 @@ class InputImageListInitializer : public std::unary_function<
>
{
public:
inline InputImageListInitializer( QWidget * view );
inline result_type operator () ( argument_type widget ) const;
private:
QWidget * m_View;
};
/**
......@@ -202,12 +196,7 @@ class InputVectorDataListInitializer : public std::unary_function<
void >
{
public:
inline InputVectorDataListInitializer( QWidget * view );
inline result_type operator () ( argument_type widget ) const;
private:
QWidget * m_View;
};
/**
......@@ -237,12 +226,7 @@ class InputFilenameListInitializer : public std::unary_function<
void >
{
public:
inline InputFilenameListInitializer( QWidget * view );
inline result_type operator () ( argument_type widget ) const;
private:
QWidget * m_View;
};
/**
......@@ -295,8 +279,6 @@ class OutputVectorDataInitializer : public std::unary_function<
{
public:
inline result_type operator () ( argument_type widget ) const;
private:
};
/**
......@@ -313,8 +295,6 @@ class OutputFilenameInitializer : public std::unary_function<
{
public:
inline result_type operator () ( argument_type widget ) const;
private:
};
/**
......@@ -331,8 +311,6 @@ class OutputProcessXMLInitializer : public std::unary_function<
{
public:
inline result_type operator () ( argument_type widget ) const;
private:
};
/**
......@@ -348,6 +326,21 @@ public:
inline result_type operator () ( argument_type widget ) const;
};
/**
* \class ParameterListInitializer
*
* \ingroup OTBMonteverdiGUI
*
* \brief WIP.
*/
class ParameterListInitializer : public std::unary_function<
otb::Wrapper::QtWidgetParameterList *,
void >
{
public:
inline result_type operator () ( argument_type widget ) const;
};
} // end namespace 'Wrapper'.
} // end namespace 'mvd'.
......@@ -381,13 +374,6 @@ namespace mvd
namespace Wrapper
{
/*****************************************************************************/
inline
FileSelectionInitializer
::FileSelectionInitializer()
{
}
/*****************************************************************************/
inline
FileSelectionInitializer::result_type
......@@ -399,13 +385,6 @@ FileSelectionInitializer
SetupForFilenameDrop( widget, "You can drop filename here." );
}
/*****************************************************************************/
inline
InputImageInitializer
::InputImageInitializer()
{
}
/*****************************************************************************/
inline
InputImageInitializer::result_type
......@@ -417,14 +396,6 @@ InputImageInitializer
SetupForFilenameDrop( widget, "You can drop filename here." );
}
/*****************************************************************************/
inline
InputImageListInitializer
::InputImageListInitializer( QWidget * view ) :
m_View( view )
{
}
/*****************************************************************************/
inline
InputImageListInitializer::result_type
......@@ -433,12 +404,7 @@ InputImageListInitializer
{
assert( widget!=NULL );
QObject::connect(
widget, SIGNAL( FileSelectionWidgetAdded( QWidget * ) ),
m_View, SLOT( OnFileSelectionWidgetAdded0( QWidget * ) )
);
SetupWidget( widget, FileSelectionInitializer() );
// Drop support is done by ParameterListInitializer
}
/*****************************************************************************/
......@@ -452,14 +418,6 @@ InputFilenameInitializer
SetupForFilenameDrop( widget, "You can drop filename here." );
}
/*****************************************************************************/
inline
InputFilenameListInitializer
::InputFilenameListInitializer( QWidget * view ) :
m_View( view )
{
}
/*****************************************************************************/
inline
InputFilenameListInitializer::result_type
......@@ -468,12 +426,7 @@ InputFilenameListInitializer
{
assert( widget!=NULL );
QObject::connect(
widget, SIGNAL( FileSelectionWidgetAdded( QWidget * ) ),
m_View, SLOT( OnFileSelectionWidgetAdded0( QWidget * ) )
);
SetupWidget( widget, FileSelectionInitializer() );
// Drop support is done by ParameterListInitializer
}
/*****************************************************************************/
......@@ -487,14 +440,6 @@ InputVectorDataInitializer
SetupForFilenameDrop( widget, "You can drop filename here." );
}
/*****************************************************************************/
inline
InputVectorDataListInitializer
::InputVectorDataListInitializer( QWidget * view ) :
m_View( view )
{
}
/*****************************************************************************/
inline
InputVectorDataListInitializer::result_type
......@@ -503,12 +448,7 @@ InputVectorDataListInitializer
{
assert( widget!=NULL );
QObject::connect(
widget, SIGNAL( FileSelectionWidgetAdded( QWidget * ) ),
m_View, SLOT( OnFileSelectionWidgetAdded0( QWidget * ) )
);
SetupWidget( widget, FileSelectionInitializer() );
// Drop support is done by ParameterListInitializer
}
/*****************************************************************************/
......@@ -627,6 +567,34 @@ OutputProcessXMLInitializer
// }
}
/*****************************************************************************/
inline
ParameterListInitializer::result_type
ParameterListInitializer
::operator () ( argument_type widget ) const
{
assert( widget!=nullptr );
QWidget *listWidget = widget->layout()->itemAt(0)->widget();
assert( listWidget );
otb::Wrapper::ListEditWidget *castListEdit =
dynamic_cast<otb::Wrapper::ListEditWidget *>(listWidget);
assert(castListEdit);
QObject* eventFilter = new FilenameDragAndDropEventFilter( castListEdit );
castListEdit->installEventFilter(eventFilter);
QObject::connect(
eventFilter,
SIGNAL( FilenameDropped( const QString& ) ),
// to:
castListEdit,
SLOT( OnFilenameDropped( const QString& ) )
);
}
/*****************************************************************************/
template< typename W >
void
......
......@@ -345,12 +345,13 @@ QtWidgetView
assert( widget!=NULL );
SetupWidget( widget, InputFilenameInitializer() );
SetupWidget( widget, InputFilenameListInitializer( this ) );
//SetupWidget( widget, InputFilenameListInitializer() );
SetupWidget( widget, InputImageInitializer() );
SetupWidget( widget, InputImageListInitializer( this ) );
//SetupWidget( widget, InputImageListInitializer() );
SetupWidget( widget, InputProcessXMLInitializer() );
SetupWidget( widget, InputVectorDataInitializer() );
SetupWidget( widget, InputVectorDataListInitializer( this ) );
//SetupWidget( widget, InputVectorDataListInitializer() );
SetupWidget( widget, ParameterListInitializer() );
#if defined( OTB_DEBUG )
SetupWidget( widget, ToolTipInitializer() );
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment