On Jul 23, 2015, at 00:55 , David Kastrup <[email protected]> wrote:
> Dan Eble <[email protected]> writes:
>> One thing that is obviously incomplete is that the final classes are
>> not derived from Grob.
For example, after I run the script you provided, there is this:
class Accidental_interface
{
public:
DECLARE_MEMBER_CALLBACK (print, ());
DECLARE_MEMBER_CALLBACK (horizontal_skylines, ());
// etc.
This can not work as written because the implicit argument is a kind of Grob,
which can not be cast to an Accidental_interface.
> match (I think the next step I was planning on is figuring out per
> script which stuff was derived from the right classes for doing this
> kind of change).
I see these options:
1. Take an entirely different approach to organizing the interfaces, after
careful thought as suggested in
https://code.google.com/p/lilypond/issues/detail?id=4564#c7
2. Derive interface classes from Grob (in some cases a subclass of Grob might
be appropriate) and abuse the pointers, which is where I thought you were going
with this at first.
3. Restrict member callbacks to the handful of subclasses of Grob that exist
now.
Anything else?
—
Dan
_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel