#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);
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_;
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*);
/**
/// 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 ()
-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
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 ();
};