]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/score-element.hh
release: 1.1.34
[lilypond.git] / lily / include / score-element.hh
index 69f8eb998fc420f0a795106f46209a38554a0065..a3cfd50f69a76304bc285ff7f62c71bb9c709e27 100644 (file)
@@ -11,7 +11,7 @@
 #include "virtual-methods.hh"
 #include "directed-graph.hh"
 #include "graphical-element.hh"
-
+#include "protected-scm.hh"
 
 
 typedef void (Score_element::*Score_element_method_pointer) (void);
@@ -24,7 +24,10 @@ typedef void (Score_element::*Score_element_method_pointer) (void);
   form an acyclic graph.
 
   (elem) */
-class Score_element : private Directed_graph_node, public virtual Graphical_element {
+class Score_element : public virtual Graphical_element {
+  Protected_scm element_property_alist_;
+  Link_array<Score_element> dependency_arr_;
+  
 public:
   /// delete after linebreak calculation.
   bool break_helper_only_b_;
@@ -33,19 +36,16 @@ public:
   Score_element ();
   Score_element (Score_element const&);
   virtual void print () const;
-    
+
+  SCM get_elt_property (SCM sym);
+  void set_elt_property (SCM sym, SCM val);
+  
   Paper_def *paper () const;
   Lookup const *lookup_l () const;
 
   virtual ~Score_element ();
-      
-
   void add_processing ();
 
-  /**
-    Remove all  links (dependencies, dependents, Axis_group_elements.
-    */
-  void unlink ();
   void substitute_dependency (Score_element*,Score_element*);
   void remove_dependency (Score_element*);
   /**
@@ -60,12 +60,10 @@ public:
   /// do not print anything black
   bool transparent_b_;
 
-  int size_i_;
-  
   // ugh: no protection. Denk na, Vrij Veilig
   void calculate_dependencies (int final, int busy, Score_element_method_pointer funcptr);
 
-protected:
+public:
   /**
     Administration: Where are we?. This is mainly used by Super_element and
     Score_element::calcalute_dependencies ()
@@ -74,21 +72,18 @@ protected:
     -1 means deleted
     
    */
-public:
   int status_i_;
+
 protected:
   Score_element* dependency (int) const;
-  Score_element* dependent (int) const;
-  int dependent_size () const;
   int dependency_size () const;
   
   virtual void output_processing ();
-  void junk_links ();
   virtual Interval do_height () const;
   virtual Interval do_width () const;
     
   /// do printing of derived info.
-  virtual void do_print () const {}
+  virtual void do_print () const;
   /// generate the molecule    
   virtual Molecule* do_brew_molecule_p () const;
   ///executed directly after the item is added to the Paper_score
@@ -109,8 +104,6 @@ protected:
   virtual void handle_prebroken_dependencies ();
   virtual void handle_prebroken_dependents ();
   virtual Link_array<Score_element> get_extra_dependencies () const;
-  virtual void do_unlink ();
-  virtual void do_junk_links ();
 };