25 #ifndef CHANNELSPECS_HH 26 #define CHANNELSPECS_HH 32 #include <QtCore/QObject> 33 #include <QtGui/QIcon> 34 #include <QtGui/QToolButton> 40 #include <blitz/array.h> 70 static ChannelTypes const
Any;
98 blitz::TinyVector<
double,3> const &positionUm) const = 0;
101 blitz::TinyVector<
double,3> const &positionUm) const = 0;
195 void toggleAdvanced(
bool toggle);
196 void setTransformationFromControl();
221 bool _updatesEnabled;
227 Q_DECLARE_OPERATORS_FOR_FLAGS(ChannelSpecs::ChannelTypes)
QFormLayout * p_channelControlLayout
void setModel(MultiChannelModel *model)
virtual ChannelType channelType() const =0
QFormLayout * p_advancedControlLayout
virtual void revalidate()
Reset the channel shape, element size, transformation and bounding box from the underlying data...
void emitUpdateRequest()
This function sets the hasNewData flag for this channel to true, to inform the renderers that this ch...
MultiChannelModel * p_model
blitz::TinyMatrix< double, 4, 4 > _originalTransformation
blitz::TinyVector< double, 3 > _upperBoundUm
bool updatesEnabled() const
Check whether cache updates for this channel are enabled.
std::map< ViewWidget *, ChannelSpecsRenderer * > const & renderers() const
virtual ChannelSpecsRenderer * addRenderer(ViewWidget *view)=0
void viewChanged()
This signal is emitted whenever the contents or visualization of the channel are altered and an updat...
void boundingBoxChanged(blitz::TinyVector< double, 3 > const &lowerBoundUm, blitz::TinyVector< double, 3 > const &upperBoundUm)
virtual blitz::TinyVector< double, 3 > const & lowerBoundUm() const
void setAlpha(float alpha)
QWidget * channelControlWidget() const
virtual std::string stringValueAt(blitz::TinyVector< double, 3 > const &positionUm) const =0
void setName(std::string const &name)
QWidget * p_advancedControlWidget
virtual blitz::TinyMatrix< double, 4, 4 > const & transformation() const
ChannelSpecsRenderer * renderer(ViewWidget *view) const
void update()
Explicitely trigger a cache update for all associated renderers.
void removeRenderer(ViewWidget *view)
BoolControlElement * p_visibleControl
void setUpdatesEnabled(bool enable)
Enables/Disables cache updates for this channel.
void setIcon(QIcon const &icon)
void transformationChanged()
virtual float valueAt(blitz::TinyVector< double, 3 > const &positionUm) const =0
MultiChannelModel * model() const
DoubleControlElement * p_alphaControl
virtual void setTransformation(blitz::TinyMatrix< double, 4, 4 > const &transformation)
void setVisible(bool visible)
QWidget * p_channelControlWidget
Double4x4ControlElement * p_transformationControl
blitz::TinyVector< double, 3 > _elementSizeUm
blitz::TinyMatrix< double, 4, 4 > _transformation
blitz::TinyVector< double, 3 > _lowerBoundUm
std::map< ViewWidget *, ChannelSpecsRenderer * > _renderers
virtual blitz::TinyVector< double, 3 > const & upperBoundUm() const
QToolButton * p_toggleAdvancedButton
void setHasNewData(bool hasNewData)
virtual blitz::TinyVector< double, 3 > const & elementSizeUm() const
static ChannelTypes const Any