本文整理汇总了C++中OverlayComp::Uninterpret方法的典型用法代码示例。如果您正苦于以下问题:C++ OverlayComp::Uninterpret方法的具体用法?C++ OverlayComp::Uninterpret怎么用?C++ OverlayComp::Uninterpret使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OverlayComp
的用法示例。
在下文中一共展示了OverlayComp::Uninterpret方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetComp
void OverlaysComp::Uninterpret (Command* cmd) {
Editor* ed = cmd->GetEditor();
if (
(cmd->IsA(DELETE_CMD) || cmd->IsA(CUT_CMD)) &&
ed->GetComponent() != this
) {
Iterator i;
for (Last(i); !Done(i); Prev(i)) {
GetComp(i)->Uninterpret(cmd);
}
} else if (cmd->IsA(DELETE_CMD)) {
Clipboard* cb = cmd->GetClipboard();
if (cb != nil) {
Iterator i;
for (cb->Last(i); !cb->Done(i); cb->Prev(i)) {
OverlayComp* comp = (OverlayComp*) cb->GetComp(i);
RestorePosition(comp, cmd);
comp->Uninterpret(cmd);
}
Notify();
SelectClipboard(cb, ed);
unidraw->Update();
}
} else if (cmd->IsA(CUT_CMD)) {
Clipboard* cb = cmd->GetClipboard();
if (cb != nil) {
Iterator i;
for (cb->Last(i); !cb->Done(i); cb->Prev(i)) {
OverlayComp* comp = (OverlayComp*) cb->GetComp(i);
RestorePosition(comp, cmd);
comp->Uninterpret(cmd);
}
Notify();
SelectClipboard(cb, ed);
unidraw->Update();
}
} else if (cmd->IsA(PASTE_CMD)) {
Clipboard* cb = cmd->GetClipboard();
if (cb != nil) {
Selection* s = ed->GetSelection();
Iterator i, pos;
s->Clear();
for (cb->First(i); !cb->Done(i); cb->Next(i)) {
GraphicComp* comp = cb->GetComp(i);
unidraw->CloseDependents(comp);
Remove(comp);
}
Notify();
unidraw->Update();
}
} else if (cmd->IsA(DUP_CMD)) {
Clipboard* cb = cmd->GetClipboard();
if (cb != nil) {
Selection* s = ed->GetSelection();
Iterator i;
s->Clear();
for (cb->First(i); !cb->Done(i); cb->Next(i)) {
GraphicComp* comp = cb->GetComp(i);
unidraw->CloseDependents(comp);
Remove(comp);
}
Notify();
unidraw->Update();
}
} else if (cmd->IsA(OVGROUP_CMD)) {
OvGroupCmd* gcmd = (OvGroupCmd*) cmd;
OverlayComp* group = gcmd->GetGroup();
Component* edComp = gcmd->GetEditor()->GetComponent();
if (group == this) {
edComp->Uninterpret(gcmd);
} else if (edComp == (Component*) this) {
Clipboard* cb = cmd->GetClipboard();
Iterator i;
cb->First(i);
OverlayComp* group = (OverlayComp*) cb->GetComp(i)->GetParent();
GroupCmd* gcmd = (GroupCmd*) cmd;
unidraw->CloseDependents(group);
for (cb->Last(i); !cb->Done(i); cb->Prev(i)) {
RestorePosition((OverlayComp*)cb->GetComp(i), cmd);
}
//.........这里部分代码省略.........