void ArrowMultiLineComp::Uninterpret (Command* cmd) { if (cmd->IsA(ARROW_CMD)) { ArrowMultiLine* amline = GetArrowMultiLine(); if (amline != nil) { _ArrowData* ad = (_ArrowData*) cmd->Recall(this); if (ad != nil) { amline->SetArrows(ad->_head, ad->_tail); Notify(); } } } else { MultiLineComp::Uninterpret(cmd); } }
void ArrowMultiLineComp::Interpret (Command* cmd) { if (cmd->IsA(ARROW_CMD)) { ArrowMultiLine* amline = GetArrowMultiLine(); if (amline != nil) { ArrowCmd* arrowCmd = (ArrowCmd*) cmd; cmd->Store(this, new _ArrowData(amline->Head(), amline->Tail())); amline->SetArrows(arrowCmd->Head(), arrowCmd->Tail()); Notify(); } } else if (cmd->IsA(PATTERN_CMD)) { GraphicComp::Interpret(cmd); } else { MultiLineComp::Interpret(cmd); } }