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