Main Page | Modules | Class Hierarchy | Class List | File List | Class Members | Related Pages

MeasureGr.h

00001 #ifndef MEASUREGR_H
00002 #define MEASUREGR_H
00003 #include <qptrlist.h>
00004 #include <qvaluelist.h>
00005 #include "../MS/MusicSymbol.h"
00006 #include "../kernel/MeasureMC.h"
00007 #include "../config.h"
00008 #include "Collision.h"
00009 #include "StaffSection.h"
00010 #include "Constraint.h"
00011 #include "AssoMCMS.h"
00012 #include "Container.h"
00013 #include "Graphical.h"
00014 #define BEFOREFIRSTPASS 0
00015 #define AFTERFIRSTPASS 1
00016 #define AFTERSECONDPASS 2
00017 
00027 class
00028 MeasureGr: public Graphical{
00029 MeasureMusic * measure;
00030  bool firstOfLine;
00031  bool isFirstPass;
00032  int status;
00033  QList<StaffSectionGr> staffSections;
00034  Constraint *constraint;
00035  AssoMCMS * assoMCMS;
00036  StemGroupsMC stemGroups;
00037  AttributesMusic * attributes;
00038  
00039 // MusicSymbolFactory factory;
00040  QList<MusicSymbol>  * symbols;
00041   
00042    
00043  #ifdef DEBUGCOLLISION
00044  QList<MusicSymbol>   collisionSymbols;
00045  #endif
00046 
00047  int partIndex;
00048  int lineIndex;
00049  int pageNumber;
00050  int measureSectionIndex;
00051  QString partName;
00052  QList<Collision> collisions;
00053  //Container * container;
00054 
00055  void buildStemGroups();
00056  void buildDecorations();
00057  void buildSimpleStems();
00058  void buildNotes();
00059  void buildDirections();
00060  void buildAlterations();
00061  void buildStaffAttributes(StaffSectionGr *);
00062  void  buildTimedStaffAttributes(AttributesMusic *);
00063  void buildStaffSymbol(StaffSectionGr *);
00064 
00065 public:
00066  MeasureMusic * getMeasureMC();
00067  void firstPass();
00068  void secondPass();
00069 
00070  MeasureGr(Constraint *,Container * container,MeasureMusic *,AssoMCMS *,int measureSectionIndex,int partIndex,int lineIndex,int pgnb);
00071  double getHeight();
00072  void computeCollision();
00073  void alterationCollisionDetection(MusicSymbol *);
00074  void collisionFix();
00075  void closeMeasure();
00076  void paint();
00077 };
00078 #endif

Generated on Tue Jun 1 21:13:29 2004 for Alternate Take by doxygen 1.3.6