The Spot Report Manipulation example demonstrates how to manipulate the selection of spot report objects
#include <vrvCore/DtSelectionManager.h>
#include <vrvCoreQt/DtQApplicationProvider.h>
#include <vrvCore/DtDeMainWindow.h>
#include <QtGui/QMainWindow>
#include <QtGui/QStatusBar>
using namespace makVrf;
{
return true;
}
void slot_onCurrentSelectionChanged(
const makVrv::DtSelectionManager::IdSet& selectedSet, makVrv::DtDe* de)
{
makVrv::DtDeMainWindow* mainWindow = &makVrv::DtDeMainWindowProvider::instance(*de).igMainWindow();
if (main)
{
main->statusBar()->showMessage("");
main->statusBar()->hide();
}
makVrv::DtSelectionManager::IdSet::const_iterator it = selectedSet.begin();
for(; it != selectedSet.end(); ++it)
{
{
makVrv::DtDeMainWindow* mainWindow = &makVrv::DtDeMainWindowProvider::instance(*de).igMainWindow();
if (main)
{
main->statusBar()->show();
main->statusBar()->showMessage("A spot report was selected");
return;
}
}
}
}
void slot_unhandledEdit(makVrv::DtElementID id, makVrv::DtDe* de)
{
makVrv::DtDeMainWindow* mainWindow = &makVrv::DtDeMainWindowProvider::instance(*de).igMainWindow();
if (main)
{
{
main->statusBar()->show();
main->statusBar()->showMessage("A spot report was double clicked on");
}
else
{
main->statusBar()->hide();
}
}
}
void slot_unhandledRightClick(makVrv::DtQtMenuAssembler& menuAssembler, makVrv::DtMenuConfiguration& menus,
const makVrv::DtSelectionManager::IdSet& idSet, makVrv::DtDe* de)
{
makVrv::DtDeMainWindow* mainWindow = &makVrv::DtDeMainWindowProvider::instance(*de).igMainWindow();
if (main)
{
{
main->statusBar()->show();
main->statusBar()->showMessage("A spot report was right clicked on");
}
else
{
main->statusBar()->hide();
}
}
}
{
makVrv::DtSelectionManager::instance(de).signal_currentSelectionChanged.connect(boost::bind(
&slot_onCurrentSelectionChanged, _1, &de));
boost::bind(&slot_unhandledEdit, _1, &de));
boost::bind(&slot_unhandledRightClick, _1, _2, _3, &de));
}
{
info.
pluginDescription =
"This example shows how to work with the selection of spot reports.";
}