SmartPointer<IHandlerActivation> SlaveHandlerService::ActivateHandler(const QString& commandId, const SmartPointer<IHandler>& handler, const SmartPointer<Expression>& expression, bool global) { if (global) { const IHandlerActivation::Pointer activation = parent->ActivateHandler( commandId, handler, expression, global); parentActivations.insert(activation); return activation; } Expression::Pointer aExpression = defaultExpression; if (expression.IsNotNull() && defaultExpression.IsNotNull()) { const AndExpression::Pointer andExpression(new AndExpression()); andExpression->Add(expression); andExpression->Add(defaultExpression); aExpression = andExpression; } else if (expression.IsNotNull()) { aExpression = expression; } const IHandlerActivation::Pointer localActivation( new HandlerActivation(commandId, handler, aExpression, IHandlerActivation::ROOT_DEPTH, this)); return DoActivation(localActivation); }
void EditorHistory::Add(const SmartPointer<IEditorInput>& input, const SmartPointer<IEditorDescriptor>& desc) { if (input.IsNotNull() && input->Exists()) { EditorHistoryItem::Pointer item(new EditorHistoryItem(input, desc)); Add(item, 0); } }
void RegistryPersistence::AddWarning(QList<SmartPointer<IStatus> >& warningsToLog, const QString& message, const SmartPointer<IConfigurationElement>& element, const QString& id, const QString& extraAttributeName, const QString& extraAttributeValue) { QString statusMessage = message; if (element.IsNotNull()) { statusMessage += ": plug-in='" + element->GetContributor()->GetName() + '\''; } if (!id.isNull()) { if (element.IsNotNull()) { statusMessage += ','; } else { statusMessage += ':'; } statusMessage += " id='" + id + '\''; } if (!extraAttributeName.isNull()) { if ((element.IsNotNull()) || (!id.isNull())) { statusMessage += ','; } else { statusMessage += ':'; } statusMessage += ' ' + extraAttributeName + "='" + extraAttributeValue + '\''; } IStatus::Pointer status(new Status(IStatus::WARNING_TYPE, PlatformUI::PLUGIN_ID(), 0, statusMessage, BERRY_STATUS_LOC)); warningsToLog.push_back(status); }