Although wxWebConnect already contains much of the key browser control functionality, we would like to see the following implemented and welcome community support to implement these features. Please post any questions or patches in the wxWebConnect Forums.
Here's the current TODO list:
- Interface Feedback. wxWebConnect is new, and we'd like to make sure the interfaces are well defined. We'd appreciate any feedback the community has to offer.
- Mac OS/Linux Testing. The Mac version compiles, but doesn't currently function. It needs to be tested and debugged, so please let us know if you have Mac expertise and would like to help out. The Linux version compiles and works, but could benefit from more rigorous testing and bug fixes.
- Undo/Redo. These need to be implemented. Unlike many of the other common browser features, undo/redo doesn't have any readily available corresponding functions in the Gecko interface, complicating its implementation.
- DOM Bindings. Many of the DOM interfaces have been implemented, but a few still need to be implemented. These interfaces should be identified by comparing the current implementation against the DOM standard; once these interfaces are identified, actually implementing them is mostly a case of making sure their interfaces exist in the /webconnect/nsall.idl and /webconnect/nsall.h files and then of patching the commands through from a wxWebConnect interface class to the equivalent function.
- Printing. Printing settings should work more seamlessly with the wxPageSetupDialog and wxPageSetupDialogData settings. Right now, the wxWebConnect API uses inches, while the wxPageSetupDialogData class uses millimeters, requiring conversion when the wxPageSetupDialog is used. In addition, the parameters on the wxWebControl::GetPageSettings() and wxWebControl::SetPageSettings() functions follow a different parameter philosophy from the wxPageSetupDialogData functions and could be made more consistent.
- Documentation. We've tried to include enough information so users can fully leverage wxWebConnect, but since we've been working with it a while, we might easily overlook something that isn't obvious. We'd appreciate help filling out whatever else is lacking in the documentation that would help facilitate the library's use.
- Demo. The demo packs a surprising amount of browser functionality in a little space, and we'd like to see it expanded even further, including adding tabs using the wxAUINotebook, adding a preferences panel to expose the wxWebPreferences currently set in the test application's MyFrame() constructor, and adding a find panel to expose the other find options not currently exposed in the test application interface.
- Other Browser Engines. In keeping with wxWidget's cross platform philosophy, we'd like the library to expose other browser engines, including WebKit and Trident (via ActiveX), through the same or similar set of interfaces, so that users can switch between different browser rendering engines.