本文整理汇总了C++中shell::Pointer::GetData方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::GetData方法的具体用法?C++ Pointer::GetData怎么用?C++ Pointer::GetData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类shell::Pointer
的用法示例。
在下文中一共展示了Pointer::GetData方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ShellClosed
void ShellPool::ShellClosed(ShellEvent::Pointer e)
{
if (e->doit)
{
Shell::Pointer s = e->GetSource();
IShellListener::Pointer l =
s->GetData(CLOSE_LISTENER).Cast<IShellListener> ();
if (l != 0)
{
s->SetData(Object::Pointer(0), CLOSE_LISTENER);
l->ShellClosed(e);
// The shell can 'cancel' the close by setting
// the 'doit' to false...if so, do nothing
if (e->doit)
{
availableShells.push_back(s);
s->SetVisible(false);
}
else
{
// Restore the listener
s->SetData(l, CLOSE_LISTENER);
}
}
}
e->doit = false;
}
示例2: IsDocked
bool LayoutPart::IsDocked()
{
Shell::Pointer s = this->GetShell();
if (s == 0) {
return false;
}
return s->GetData().Cast<IWorkbenchWindow>() != 0;
}
示例3: GetWorkbenchWindow
IWorkbenchWindow::Pointer LayoutPart::GetWorkbenchWindow()
{
Shell::Pointer s = this->GetShell();
if (s == 0)
{
return IWorkbenchWindow::Pointer(0);
}
Object::Pointer data = s->GetData();
if (data.Cast<IWorkbenchWindow>() != 0)
{
return data.Cast<IWorkbenchWindow>();
}
else if (data.Cast<DetachedWindow>() != 0)
{
return data.Cast<DetachedWindow>()->GetWorkbenchPage()->GetWorkbenchWindow();
}
return IWorkbenchWindow::Pointer(0);
}