Extend at-spi interface of EditableText objects.
Change-Id: I32b315f996bb1a8b769a71196f6606e628f0a302
* @return true on success, false otherwise
*/
virtual bool CutText(size_t startPosition, size_t endPosition) = 0;
+
+ /**
+ * @brief Delete text in range
+ *
+ * @param[in] startPosition index of first character
+ * @param[in] endPosition index of first character after the last one expected
+ *
+ * @return true on success, false otherwise
+ */
+ virtual bool DeleteText(size_t startPosition, size_t endPosition) = 0;
+
+ /**
+ * @brief Insert text at startPosition
+ *
+ * @param[in] startPosition index of first character
+ * @param[in] text text content
+ *
+ * @return true on success, false otherwise
+ */
+ virtual bool InsertText(size_t startPosition, std::string text) = 0;
+
+ /**
+ * @brief Replace text with content
+ *
+ * @param[in] newContents text content
+ *
+ * @return true on success, false otherwise
+ */
+ virtual bool SetTextContents(std::string newContents) = 0;
};
/**
DBus::DBusInterfaceDescription desc{AtspiDbusInterfaceEditableText};
AddFunctionToInterface(desc, "CopyText", &BridgeEditableText::CopyText);
AddFunctionToInterface(desc, "CutText", &BridgeEditableText::CutText);
+ AddFunctionToInterface(desc, "DeleteText", &BridgeEditableText::DeleteText);
+ AddFunctionToInterface(desc, "InsertText", &BridgeEditableText::InsertText);
AddFunctionToInterface(desc, "PasteText", &BridgeEditableText::PasteText);
+ AddFunctionToInterface(desc, "SetTextContents", &BridgeEditableText::SetTextContents);
dbusServer.addInterface("/", desc, true);
}
return FindSelf()->CutText(startPos, endPos);
}
+DBus::ValueOrError<bool> BridgeEditableText::DeleteText(int32_t startPos, int32_t endPos)
+{
+ return FindSelf()->DeleteText(startPos, endPos);
+}
+
+DBus::ValueOrError<bool> BridgeEditableText::InsertText(int32_t startPos, std::string text, [[maybe_unused]] int32_t length)
+{
+ return FindSelf()->InsertText(startPos, std::move(text));
+}
+
DBus::ValueOrError<bool> BridgeEditableText::PasteText(int32_t pos)
{
// auto imfManager = Dali::Internal::Adaptor::ImfManager::Get();
// return true;
return false;
}
+
+DBus::ValueOrError<bool> BridgeEditableText::SetTextContents(std::string newContents)
+{
+ return FindSelf()->SetTextContents(std::move(newContents));
+}
public:
DBus::ValueOrError<bool> CopyText(int32_t startPos, int32_t endPos);
DBus::ValueOrError<bool> CutText(int32_t startPos, int32_t endPos);
+ DBus::ValueOrError<bool> DeleteText(int32_t startPos, int32_t endPos);
+ DBus::ValueOrError<bool> InsertText(int32_t startPos, std::string text, int32_t length);
DBus::ValueOrError<bool> PasteText(int32_t pos);
+ DBus::ValueOrError<bool> SetTextContents(std::string newContents);
};
#endif // DALI_INTERNAL_ACCESSIBILITY_BRIDGE_EDITABLE_TEXT_H