X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Faccessibility%2Fbridge%2Fbridge-object.cpp;h=34389a7563b03d1045db178ef26aa522feb722cd;hb=6af352690fe5cb16092dcf9de16357264288d89c;hp=06bb80d0a41aa7fa90c65d673b375d4df8313442;hpb=def7ccbd7c575afb3cdbf65460b4c08c79ea1656;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/accessibility/bridge/bridge-object.cpp b/dali/internal/accessibility/bridge/bridge-object.cpp index 06bb80d..34389a7 100644 --- a/dali/internal/accessibility/bridge/bridge-object.cpp +++ b/dali/internal/accessibility/bridge/bridge-object.cpp @@ -24,6 +24,15 @@ using namespace Dali::Accessibility; +namespace +{ +inline std::string GetAccessiblePath(Accessible* accessible) +{ + auto address = accessible->GetAddress(); + return address ? ATSPI_PREFIX_PATH + address.GetPath() : ATSPI_NULL_PATH; +} +} // namespace + BridgeObject::BridgeObject() { } @@ -31,8 +40,8 @@ BridgeObject::BridgeObject() void BridgeObject::RegisterInterfaces() { // DBus::DBusInterfaceDescription desc{ AtspiDbusInterfaceEventObject }; - // stateChanged = addSignal, Accessible*>(desc, "StateChanged"); - // dbusServer.addInterface("/", desc, true); + // mStateChanged = addSignal, Accessible*>(desc, "StateChanged"); + // mDbusServer.addInterface("/", desc, true); } void BridgeObject::EmitActiveDescendantChanged(Accessible* obj, Accessible* child) @@ -40,16 +49,8 @@ void BridgeObject::EmitActiveDescendantChanged(Accessible* obj, Accessible* chil if(!IsUp()) return; auto index = child->GetIndexInParent(); - auto addr = obj->GetAddress(); - const auto prefixPath = "/org/a11y/atspi/accessible/"; - const auto nullPath = "/org/a11y/atspi/null"; - std::string p; - if(addr) - p = prefixPath + addr.GetPath(); - else - p = nullPath; - dbusServer.emit2, Address>( - p, + mDbusServer.emit2, Address>( + GetAccessiblePath(obj), AtspiDbusInterfaceEventObject, "ActiveDescendantChanged", "", @@ -59,11 +60,12 @@ void BridgeObject::EmitActiveDescendantChanged(Accessible* obj, Accessible* chil {"", "root"}); } -void BridgeObject::Emit(Accessible* obj, Dali::Accessibility::ObjectPropertyChangeEvent ev) +void BridgeObject::Emit(Accessible* obj, Dali::Accessibility::ObjectPropertyChangeEvent event) { if(!IsUp()) return; const char* name = nullptr; - switch(ev) + + switch(event) { case ObjectPropertyChangeEvent::NAME: { @@ -91,16 +93,11 @@ void BridgeObject::Emit(Accessible* obj, Dali::Accessibility::ObjectPropertyChan break; } } + if(name) { - auto addr = obj->GetAddress(); - std::string p; - if(addr) - p = ATSPI_PREFIX_PATH + addr.GetPath(); - else - p = ATSPI_NULL_PATH; - dbusServer.emit2, Address>( - p, + mDbusServer.emit2, Address>( + GetAccessiblePath(obj), AtspiDbusInterfaceEventObject, "PropertyChange", name, @@ -111,11 +108,12 @@ void BridgeObject::Emit(Accessible* obj, Dali::Accessibility::ObjectPropertyChan } } -void BridgeObject::Emit(Accessible* obj, WindowEvent we, unsigned int detail1) +void BridgeObject::Emit(Accessible* obj, WindowEvent event, unsigned int detail) { if(!IsUp()) return; const char* name = nullptr; - switch(we) + + switch(event) { case WindowEvent::PROPERTY_CHANGE: { @@ -213,30 +211,26 @@ void BridgeObject::Emit(Accessible* obj, WindowEvent we, unsigned int detail1) break; } } + if(name) { - auto addr = obj->GetAddress(); - std::string p; - if(addr) - p = ATSPI_PREFIX_PATH + addr.GetPath(); - else - p = ATSPI_NULL_PATH; - dbusServer.emit2, Address>( - p, + mDbusServer.emit2, Address>( + GetAccessiblePath(obj), AtspiDbusInterfaceEventWindow, name, "", - detail1, + detail, 0, {0}, {"", "root"}); } } -void BridgeObject::EmitStateChanged(Accessible* obj, State state, int newValue1, int newValue2) +void BridgeObject::EmitStateChanged(Accessible* obj, State state, int newValue, int reserved) { if(!IsUp()) return; const char* stateName = nullptr; + switch(state) { case State::INVALID: @@ -474,21 +468,16 @@ void BridgeObject::EmitStateChanged(Accessible* obj, State state, int newValue1, break; } } + if(stateName) { - auto addr = obj->GetAddress(); - std::string p; - if(addr) - p = ATSPI_PREFIX_PATH + addr.GetPath(); - else - p = ATSPI_NULL_PATH; - dbusServer.emit2, Address>( - p, + mDbusServer.emit2, Address>( + GetAccessiblePath(obj), AtspiDbusInterfaceEventObject, "StateChanged", stateName, - newValue1, - newValue2, + newValue, + reserved, {0}, {"", "root"}); } @@ -496,21 +485,14 @@ void BridgeObject::EmitStateChanged(Accessible* obj, State state, int newValue1, void BridgeObject::EmitBoundsChanged(Accessible* obj, Dali::Rect<> rect) { - if(!allowObjectBoundsChangedEvent) return; + if(!IsBoundsChangedEventAllowed) return; - auto addr = obj->GetAddress(); - const auto prefixPath = "/org/a11y/atspi/accessible/"; - const auto nullPath = "/org/a11y/atspi/null"; - std::string p; - if(addr) - p = prefixPath + addr.GetPath(); - else - p = nullPath; DBus::EldbusVariant > tmp{ std::tuple{rect.x, rect.y, rect.width, rect.height}}; - addFilteredEvent(FilteredEvents::boundsChanged, obj, 1.0f, [=]() { - dbusServer.emit2 >, Address>( - p, + + AddFilteredEvent(FilteredEvents::BOUNDS_CHANGED, obj, 1.0f, [=]() { + mDbusServer.emit2 >, Address>( + GetAccessiblePath(obj), AtspiDbusInterfaceEventObject, "BoundsChanged", "", @@ -521,12 +503,10 @@ void BridgeObject::EmitBoundsChanged(Accessible* obj, Dali::Rect<> rect) }); } -void BridgeObject::EmitCaretMoved(Accessible* obj, unsigned int cursorPosition) +void BridgeObject::EmitCursorMoved(Accessible* obj, unsigned int cursorPosition) { - auto addr = obj->GetAddress(); - std::string p = addr ? ATSPI_PREFIX_PATH + addr.GetPath() : ATSPI_NULL_PATH; - dbusServer.emit2, Address>( - p, + mDbusServer.emit2, Address>( + GetAccessiblePath(obj), AtspiDbusInterfaceEventObject, "TextCaretMoved", "", @@ -556,12 +536,11 @@ void BridgeObject::EmitTextChanged(Accessible* obj, TextChangedState state, unsi break; } } + if(stateName) { - auto addr = obj->GetAddress(); - std::string p = addr ? ATSPI_PREFIX_PATH + addr.GetPath() : ATSPI_NULL_PATH; - dbusServer.emit2, Address>( - p, + mDbusServer.emit2, Address>( + GetAccessiblePath(obj), AtspiDbusInterfaceEventObject, "TextChanged", stateName, @@ -571,3 +550,16 @@ void BridgeObject::EmitTextChanged(Accessible* obj, TextChangedState state, unsi {"", "root"}); } } + +void BridgeObject::EmitMovedOutOfScreen(Accessible* obj, ScreenRelativeMoveType type) +{ + mDbusServer.emit2, Address>( + GetAccessiblePath(obj), + AtspiDbusInterfaceEventObject, + "MoveOuted", + "", + static_cast(type), + 0, + {0}, + {"", "root"}); +}