本文整理汇总了C++中iconfigurationelement::Pointer::GetContributor方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::GetContributor方法的具体用法?C++ Pointer::GetContributor怎么用?C++ Pointer::GetContributor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类iconfigurationelement::Pointer
的用法示例。
在下文中一共展示了Pointer::GetContributor方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetPlugin
QSharedPointer<ctkPlugin> WorkbenchPlugin::GetBundleForExecutableExtension(
const IConfigurationElement::Pointer& element, const QString& extensionName)
{
// this code is derived heavily from
// ConfigurationElement.createExecutableExtension.
QString prop;
QString executable;
QString contributorName;
int i = 0;
if (!extensionName.isNull())
prop = element->GetAttribute(extensionName);
else
{
// property not specified, try as element value
prop = element->GetValue();
if (!prop.isNull())
{
prop = prop.trimmed();
if (prop.isEmpty())
prop = QString();
}
}
if (prop.isNull())
{
// property not defined, try as a child element
QList<IConfigurationElement::Pointer> exec(element->GetChildren(extensionName));
if (!exec.isEmpty())
contributorName = exec[0]->GetAttribute("plugin");
}
else
{
// simple property or element value, parse it into its components
i = prop.indexOf(':');
if (i != -1)
executable = prop.left(i).trimmed();
else
executable = prop;
i = executable.indexOf('/');
if (i != -1)
contributorName = executable.left(i).trimmed();
}
if (contributorName.isNull())
contributorName = element->GetContributor()->GetName();
return Platform::GetPlugin(contributorName);
}
示例2: GetBundleForExecutableExtension
IBundle::Pointer WorkbenchPlugin::GetBundleForExecutableExtension(
IConfigurationElement::Pointer element, const std::string& extensionName)
{
// this code is derived heavily from
// ConfigurationElement.createExecutableExtension.
std::string prop;
std::string executable;
std::string contributorName;
std::string::size_type i;
if (extensionName != "")
element->GetAttribute(extensionName, prop);
else
{
// property not specified, try as element value
prop = element->GetValue();
if (prop != "")
{
Poco::trimInPlace(prop);
}
}
if (prop == "")
{
// property not defined, try as a child element
IConfigurationElement::vector exec(element->GetChildren(extensionName));
if (exec.size() != 0)
exec[0]->GetAttribute("plugin", contributorName); //$NON-NLS-1$
}
else
{
// simple property or element value, parse it into its components
i = prop.find_first_of(':');
if (i != std::string::npos)
executable = Poco::trim(prop.substr(0, i));
else
executable = prop;
i = executable.find_first_of('/');
if (i != std::string::npos)
contributorName = Poco::trim(executable.substr(0, i));
}
if (contributorName == "")
contributorName = element->GetContributor();
return Platform::GetBundle(contributorName);
}
示例3: CoreException
IntroDescriptor::IntroDescriptor(IConfigurationElement::Pointer configElement)
throw (CoreException) :
element(configElement)
{
std::string val;
if (!configElement->GetAttribute(WorkbenchRegistryConstants::ATT_CLASS, val))
{
//TODO IStatus
/*
throw CoreException(new Status(IStatus.ERROR,
configElement .getNamespace(), 0,
"Invalid extension (Missing class name): " + getId(), //$NON-NLS-1$
null));
*/
throw CoreException(configElement->GetContributor() + ": Invalid extension (Missing className): " + GetId());
}
}
示例4: SetConfigurationElement
void PartSite::SetConfigurationElement(
IConfigurationElement::Pointer configElement)
{
// Get extension ID.
configElement->GetAttribute("id", extensionID); //$NON-NLS-1$
// Get plugin ID.
pluginID = configElement->GetContributor();
// Get extension name.
std::string name;
configElement->GetAttribute("name", name); //$NON-NLS-1$
if (name != "")
{
extensionName = name;
}
}