#include "dispatcher.hh"
#include "engraver-group.hh"
#include "grob.hh"
+#include "grob-properties.hh"
#include "paper-score.hh"
#include "translator-dispatch-list.hh"
#include "warn.hh"
void
Engraver_group::override (SCM sev)
{
- Stream_event *ev = unsmob_stream_event (sev);
+ Stream_event *ev = Stream_event::unsmob (sev);
- sloppy_general_pushpop_property (context (),
- ev->get_property ("symbol"),
- ev->get_property ("property-path"),
- ev->get_property ("value"));
+ Grob_property_info (context (), ev->get_property ("symbol"))
+ .push (ev->get_property ("property-path"),
+ ev->get_property ("value"));
}
IMPLEMENT_LISTENER (Engraver_group, revert);
void
Engraver_group::revert (SCM sev)
{
- Stream_event *ev = unsmob_stream_event (sev);
+ Stream_event *ev = Stream_event::unsmob (sev);
- sloppy_general_pushpop_property (context (),
- ev->get_property ("symbol"),
- ev->get_property ("property-path"),
- SCM_UNDEFINED);
+ Grob_property_info (context (), ev->get_property ("symbol"))
+ .pop (ev->get_property ("property-path"));
}
void
for (SCM s = context_->children_contexts ();
scm_is_pair (s); s = scm_cdr (s))
{
- Context *c = unsmob_context (scm_car (s));
+ Context *c = Context::unsmob (scm_car (s));
Engraver_group *group
= dynamic_cast<Engraver_group *> (c->implementation ());
for (SCM s = context ()->children_contexts ();
scm_is_pair (s); s = scm_cdr (s))
{
- Context *c = unsmob_context (scm_car (s));
+ Context *c = Context::unsmob (scm_car (s));
Engraver_group *group
= dynamic_cast<Engraver_group *> (c->implementation ());
if (group)