Confirmed users
1,396
edits
| Line 117: | Line 117: | ||
Each internal class that its windows object should implement specific set of interfaces is wrapped. | Each internal class that its windows object should implement specific set of interfaces is wrapped. | ||
A generic class that used as a bridge to gecko accessible. | |||
<pre> | <pre> | ||
class NativeObject | |||
{ | { | ||
protected: | protected: | ||
| Line 128: | Line 126: | ||
</pre> | </pre> | ||
Classes that implement ISimpleDOM interfaces. | |||
<pre> | <pre> | ||
/** | /** | ||
* ISimpleDOMNode impl | * ISimpleDOMNode impl | ||
*/ | */ | ||
class sdnAccessible: virtual public | class sdnAccessible: virtual public NativeObject, | ||
public ISimpleDOMNode | public ISimpleDOMNode | ||
{ | { | ||
| Line 146: | Line 145: | ||
</pre> | </pre> | ||
Class that implement IAccessible interface | |||
<pre> | <pre> | ||
class msaaAccessible : virtual public GeckoAccBridge, | class msaaAccessible : virtual public GeckoAccBridge, | ||
public IAccessible | public IAccessible | ||
| Line 161: | Line 158: | ||
{ | { | ||
Accessible* geckoAcc = mGeckoAcc->AsAccessible(); | Accessible* geckoAcc = mGeckoAcc->AsAccessible(); | ||
geckoAcc-> | geckoAcc->AccessibleMethod(); | ||
return S_OK; | return S_OK; | ||
} | } | ||
| Line 170: | Line 167: | ||
* IAccessibleTable implementation | * IAccessibleTable implementation | ||
*/ | */ | ||
class ia2TableAccessible : virtual public | class ia2TableAccessible : virtual public NativeObject, | ||
public IAccessibleTable | public IAccessibleTable | ||
{ | { | ||
public: | public: | ||
// IAccessibleTable | // IAccessibleTable | ||
// IAccessibleTable2 | |||
}; | }; | ||
| Line 190: | Line 184: | ||
</pre> | </pre> | ||
Final classes that implements native interfaces for specific Gecko accessible classes. | |||
<pre> | <pre> | ||
class NativeDOMNodeAccessible : public sdnAccessible | |||
class | |||
{ | { | ||
}; | }; | ||
class | class NativeAccessible : public NativeDOMNodeAccessible, | ||
public msaaAccessible, | public msaaAccessible, | ||
public ia2Accessible | public ia2Accessible | ||
| Line 204: | Line 196: | ||
}; | }; | ||
class | class NativeTableAccessible : public NativeAccessible, | ||
public ia2TableAccessible | public ia2TableAccessible | ||
{ | { | ||
| Line 210: | Line 202: | ||
</pre> | </pre> | ||
Wrappers for Gecko classes that are used to create proper native class. | |||
<pre> | <pre> | ||
class AccessibleWrap: public Accessible | class AccessibleWrap: public Accessible | ||
{ | { | ||
public: | public: | ||
inline | inline NativeObject* AsNativeObject() | ||
{ | { | ||
if (!mNativeObj || !IsDefunct()) | if (!mNativeObj || !IsDefunct()) | ||
| Line 225: | Line 215: | ||
protected: | protected: | ||
virtual | virtual NativeObject* CreateNativeAccessible() | ||
{ | { | ||
return new NativeAccessible(this); | return new NativeAccessible(this); | ||
| Line 234: | Line 224: | ||
{ | { | ||
public: | public: | ||
virtual | virtual NativeObject* CreateNativeAccessible() | ||
{ | { | ||
return new NativeTableAccessible(this); | return new NativeTableAccessible(this); | ||