00001
00002
00003
00004
00005
00006
00007 #ifndef BALL_VIEW_MODELS_LABELMODEL_H
00008 #define BALL_VIEW_MODELS_LABELMODEL_H
00009
00010 #ifndef BALL_VIEW_MODELS_MODELPROCESSOR_H
00011 # include <BALL/VIEW/MODELS/modelProcessor.h>
00012 #endif
00013
00014 #ifndef BALL_VIEW_DATATYPE_COLORRGBA_H
00015 # include <BALL/VIEW/DATATYPE/colorRGBA.h>
00016 #endif
00017
00018 #ifndef BALL_STRUCTURE_GEOMETRICPROPERTIES_H
00019 # include <BALL/STRUCTURE/geometricProperties.h>
00020 #endif
00021
00022
00023 #include <QtGui/qfont.h>
00024
00025 namespace BALL
00026 {
00027 namespace VIEW
00028 {
00029
00038 class BALL_VIEW_EXPORT LabelModel: public ModelProcessor
00039 {
00040 public:
00041
00042 BALL_CREATE(LabelModel)
00043
00044
00045 enum Mode
00046 {
00048 ALL_ITEMS,
00050 ALL_ATOMS,
00052 ALL_RESIDUES,
00054 ONE_LABEL
00055 };
00056
00057
00061
00064 LabelModel();
00065
00068 LabelModel(const LabelModel& model);
00069
00072 virtual ~LabelModel();
00073
00075 void setFont(const QFont& font) { font_ = font;}
00076
00078 const QFont& getFont() const { return font_;}
00079
00081 void setColor(const ColorRGBA& color) { color_ = color;}
00082
00084 const ColorRGBA& getColor() const { return color_;}
00085
00087 void setMode(Mode mode) { mode_ = mode;}
00088
00090 Mode getType() const { return mode_;}
00091
00093 void setText(const String& text) { text_ = text;}
00094
00096 const String& getText() const { return text_;}
00097
00098
00100
00103
00106 virtual Processor::Result operator() (Composite& composite);
00107
00109 virtual bool createGeometricObjects();
00111
00112 protected:
00113
00114 QFont font_;
00115 ColorRGBA color_;
00116 Mode mode_;
00117 String text_;
00118 Size nr_objects_;
00119 Vector3 center_;
00120 GeometricCenterProcessor center_processor_;
00121 };
00122
00123 }
00124 }
00125
00126 #endif // BALL_VIEW_MODELS_LabelMODEL_H