29 #include "../../../dataaccess/dataset/DataSet.h"
30 #include "../../../dataaccess/dataset/ObjectIdSet.h"
31 #include "../../../dataaccess/utils/Utils.h"
32 #include "../../../maptools/AbstractLayer.h"
33 #include "../../widgets/charts/ChartConfigurer.h"
34 #include "../../widgets/charts/ChartDisplayWidget.h"
36 #include "../ApplicationController.h"
39 QDockWidget(parent, Qt::Widget),
40 m_displayWidget(displayWidget),
46 setAttribute(Qt::WA_DeleteOnClose,
true);
53 delete m_displayWidget;
66 m_displayWidget->highlightOIds(m_layer->getSelected());
71 setWindowTitle(m_layer->getTitle().c_str());
76 m_displayWidget->setSelectionColor(selColor);
92 if(ev->
m_layer->getId() == m_layer->getId())
94 m_displayWidget->highlightOIds(ev->
m_layer->getSelected());
103 if(ev->
m_layer->getId() == m_layer->getId())
117 if(m_layer->getSelected())
123 std::set<te::da::ObjectId*, te::common::LessCmp<te::da::ObjectId*> >::const_iterator itObjSet;
124 for(itObjSet = oids->
begin(); itObjSet != oids->
end(); ++itObjSet)
126 if(m_layer->getSelected()->contains(*itObjSet))
128 removed->
add(*itObjSet);
132 m_layer->deselect(removed);
136 m_layer->clearSelected();
140 std::vector<std::size_t> objIdIdx;
143 std::vector<size_t>::iterator it;
145 for(it=objIdIdx.begin(); it!=objIdIdx.end(); ++it)
146 added->
addProperty(m_layer->getData()->getPropertyName(*it), *it, m_layer->getData()->getPropertyDataType(*it));
149 m_layer->select(added);
This class represents a set of unique ids created in the same context. i.e. from the same data set...
This is the base class for layers.
A wdiget used to display a chart.
void clear()
It clears this object id set.
~ChartDisplayDockWidget()
Destructor.
void remove(ObjectId *oid)
Removes the object id from set.
static ApplicationController & getInstance()
It gives access to the controller singleton.
void setSelectionColor(QColor selColor)
color used to hgihlight selected objects on this display.
te::map::AbstractLayerPtr m_layer
Layer whose selected objects were changed.
ChartDisplayDockWidget(te::qt::widgets::ChartDisplayWidget *displayWidget, QWidget *parent=0)
Constructor.
te::map::AbstractLayer * getLayer() const
Returns the layer being used.
void onApplicationTriggered(te::qt::af::evt::Event *evt)
Used to capture events sent by the application framework.
TEDATAACCESSEXPORT void GetOIDPropertyPos(const DataSetType *type, std::vector< std::size_t > &ppos)
void config(const te::se::Symbolizer *symbolizer)
It configs the chart based on given symbolizer.
Contains a list of the layer events.
std::set< ObjectId *, te::common::LessCmp< ObjectId * > >::const_iterator begin() const
Returns an iterator for the object ids in container.
std::set< ObjectId *, te::common::LessCmp< ObjectId * > >::const_iterator end() const
Returns an iterator for the object ids in container.
te::map::AbstractLayerPtr m_layer
Layer removed.
te::qt::widgets::ChartDisplayWidget * m_displayWidget
The widget containing the display.
A base class for application events.
This event signals that a layer is to be removed from the layer explorer.
void setLayer(te::map::AbstractLayer *layer)
Sets the layer to be showed on view. This DOES NOT takes the ownership of layer.
void addProperty(const std::string &name, std::size_t pos, int type)
It adds a property that will be used to generate the unique ids.
This event indicates that the selected objects of the layer were changed.
ObjectIdSet * clone() const
A dock widget for chart display objects.
void add(ObjectId *oid)
It adds an object id to this object id set.
void selectionChanged(te::da::ObjectIdSet *oids, const bool &add)
Used to handle a selection change.
void broadcast(te::qt::af::evt::Event *evt)
Send events in broadcast for all registered components.
A Symbology Enconding visitor that configures a given chart based on symbolizers elements. If you want to use this visitor, use a command like: te::qt::widgets::ChartConfigurer cc(chart); cc.config(symbolizer);