Atspi interface is a set of pointers to all interfaces supported by an AtspiAccessible.
We able to check possible feature with interface information. e.g. EditableText, Value and so on.
Change-Id: I6122e135035b15950c1a55f40b47cfb785675eda
Rect<int> getTextMinBoundingRect() const;
/**
+ * @copydoc UiObject::getInterface()
+ */
+ std::string getInterface() const;
+
+ /**
* @copydoc UiObject::isCheckable()
*/
bool isCheckable() const;
virtual void updateTextMinBoundingRect() = 0;
/**
+ * @copydoc UiObject::updateInterface()
+ */
+ virtual void updateInterface() = 0;
+
+ /**
* @brief Updates Node information from atspi server.
*
* @since_tizen 6.5
std::string mStyle;
std::string mXPath;
std::string mToolkitName;
+ std::string mInterface;
Rect<int> mScreenBoundingBox;
Rect<int> mWindowBoundingBox;
Rect<int> mTextMinBoundingRect;
void updateTextMinBoundingRect() override;
/**
+ * @copydoc UiObject::updateInterface()
+ */
+ void updateInterface() override;
+
+ /**
* @copydoc UiObject::setFocus()
*/
bool setFocus() override;
void updatePid() override;
/**
+ * @copydoc UiObject::updateInterface()
+ */
+ void updateInterface() override;
+
+ /**
* @brief TBD
* @since_tizen 7.0
*/
const Rect<int> getTextMinBoundingRect() const;
/**
+ * @brief Gets object's interface information.
+ *
+ * @return string
+ *
+ * @since_tizen 8.0
+ */
+ std::string getInterface() const;
+
+ /**
* @brief Sets object's value.
*
* @param[in] double value
*/
void updateTextMinBoundingRect() const;
+ /*
+ * @brief Updates object's interface information from atspi server.
+ *
+ * @since_tizen 8.0
+ */
+ void updateInterface() const;
+
/**
* @brief Sets focus to object.
*
return mWindowBoundingBox;
}
+std::string AccessibleNode::getInterface() const
+{
+ return mInterface;
+}
+
bool AccessibleNode::isCheckable() const
{
return hasFeatureProperty(NodeFeatureProperties::CHECKABLE);
}
}
+void AtspiAccessibleNode::updateInterface()
+{
+ GArray *interfaces = AtspiWrapper::Atspi_accessible_get_interfaces(mNode);
+ if (interfaces)
+ {
+ for (unsigned int i = 0; i < interfaces->len; i++)
+ {
+ gchar *interface = g_array_index(interfaces, gchar *, i);
+ if (g_strcmp0(interface, "EditableText") == 0 || g_strcmp0(interface, "Value") == 0)
+ {
+ mInterface = interface;
+ }
+ }
+ g_array_free(interfaces, true);
+ }
+}
+
bool AtspiAccessibleNode::setFocus()
{
AtspiComponent *component = AtspiWrapper::Atspi_accessible_get_component_iface(mNode);
g_object_unref(value);
}
+ GArray *interfaces = AtspiWrapper::Atspi_accessible_get_interfaces(mNode);
+ if (interfaces)
+ {
+ for (unsigned int i = 0; i < interfaces->len; i++)
+ {
+ gchar *interface = g_array_index(interfaces, gchar *, i);
+ if (g_strcmp0(interface, "EditableText") == 0 || g_strcmp0(interface, "Value") == 0)
+ {
+ mInterface = interface;
+ }
+ }
+ g_array_free(interfaces, true);
+ }
+
if (updateAll) updateXPath();
} else {
{
}
+void MockAccessibleNode::updateInterface()
+{
+}
+
bool MockAccessibleNode::setFocus()
{
return false;
return getAccessibleNode()->getTextMinBoundingRect();
}
+std::string UiObject::getInterface() const
+{
+ return getAccessibleNode()->getInterface();
+}
+
bool UiObject::setValue(double value)
{
return getAccessibleNode()->setValue(value);
root->set_windowangle(obj->getWindowAngle());
root->set_targetangle(obj->getTargetAngle());
+ root->set_interface(obj->getInterface());
+
for( auto && childNode : node->mChildren) {
::aurum::Element *child = root->add_child();
traverse(child, childNode, depth+1);
elm->set_windowangle(obj->getWindowAngle());
elm->set_targetangle(obj->getTargetAngle());
+ elm->set_interface(obj->getInterface());
+
mResponse->set_status(::aurum::RspStatus::OK);
} else {
mResponse->set_status(::aurum::RspStatus::ERROR);
elm->set_windowangle(obj->getWindowAngle());
elm->set_targetangle(obj->getTargetAngle());
+
+ elm->set_interface(obj->getInterface());
}
mResponse->set_status(::aurum::RspStatus::OK);
} else {
int32 windowAngle = 31;
int32 targetAngle = 32;
+
+ string interface = 33;
}
message Point {