Project

General

Profile

Bug #3995 ยป Example.cpp

Markus S, 04/20/2015 04:16 PM

 
namespace
{
class ItemDelegate
: public Wt::WItemDelegate
{
public:
ItemDelegate()
: Wt::WItemDelegate()
{}
virtual Wt::WWidget *update( Wt::WWidget *widget, const Wt::WModelIndex& index, Wt::WFlags< Wt::ViewItemRenderFlag > flags ) override
{
auto w = Wt::WItemDelegate::update( widget, index, flags );
if( auto interactWidget = dynamic_cast< Wt::WInteractWidget* >( w ) )
interactWidget->mouseWentUp().connect( [](...){ Wt::WMessageBox::show( "Ok", "signal mouseWentUp fired", Wt::Ok ); } );
return w;
}
};
class TestEmptyHeaderClicked
: public Wt::WApplication
{
public:
TestEmptyHeaderClicked( const Wt::WEnvironment& env )
: Wt::WApplication( env )
{
auto tableView = new Wt::WTableView();
auto model = new Wt::WStandardItemModel();
tableView->setModel( model );
tableView->setHeaderItemDelegate( new ItemDelegate() );
model->appendRow
({ new Wt::WStandardItem( "std::string( \"Header\" )" )
, new Wt::WStandardItem( "std::string( \"X\" )" )
, new Wt::WStandardItem( "std::string( \" \" )" )
, new Wt::WStandardItem( "std::string( \"\" )" )
});
model->setHeaderData( 0, boost::any( std::string( "Header" ) ) );
model->setHeaderData( 1, boost::any( std::string( "X" ) ) );
model->setHeaderData( 2, boost::any( std::string( " " ) ) );
model->setHeaderData( 3, boost::any( std::string( "" ) ) );
root()->addWidget( tableView );
}
};
}
    (1-1/1)