labelModel.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: labelModel.h,v 1.3.18.2 2007/04/09 20:44:30 amoll Exp $
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   } // namespace VIEW
00124 } // namspace BALL
00125 
00126 #endif // BALL_VIEW_MODELS_LabelMODEL_H