Up to Lgi...
About
Changes:
- [Linux] Implemented GView::PointToScreen and GView::PointToView.
- [Linux] Fixed a crash with GListItem::EditLabel. QView's now cleanup their GView's _View pointer in it's destructor. QView and GView's are an object pair, if you delete one, the other is deleted also. This is the same as the old BeOS architecture.
- [Linux] Implemented tabbing around between the controls in a window, and a is tab stop setting for QWidget's.
- [Linux] Implemented a "wants keys" setting for QWidget's, so they can control which keys they need, and what the QApplication can use for default functionality.
- Fixed the 'visible' attribute of the XML resource file format, in both LgiRes and the runtime factory.
- [Linux] Fixed bitmap display in 24bit screen depth.
- [Linux] Fixed draging columns around in the list view.
- [Linux] Added focus rect to the checkbox control.
- Combo boxes now have a keyboard find function. Type a few keys and if the time between each key press is <= 2 seconds then it builds up a string which is then used to lookup the nearest match in the contents of the combo's list.
- Rewrote all the drag and drop event virtual functions to handle formats as strings, instead of ints. This makes programming d'n'd a bit easier on the programmer, and makes the app feel more native to the OS. Also the OnDrop function get an explict format/type parameter, instead of having to remember it from the WillAccept function, which by the way has only one version now. The whole LGI/OS drop thing was been removed and now all drag and drops are plain old binary data, ptr and length type transfers. This change is to better intergrate the X11/Linux way of drag and drop. Which is comming along quite nicely I must say.
- [Linux] Focus now handled internally instead of using the [broken] X11 focus.
- [Linux] Added XDND support, kinda flaky at the moment.
- [Win9x] Fixed double byte <-> unicode conversion in the charset sub-system. The cause of untold problems interfacing to Win9x. This effects LgiToNativeCp and LgiFromNativeCp.
- [Windows] Added missing glyph sub-stitution, and enabled it by default for '9x/ME/NT/2K. XP doesn't it's own (faster+better) substitution. Speed up the function by using a LUT. This includes some rather nifty code to do glyph converage on Windows 95/98/ME which doesn't support GetFontUnicodeRanges. This is done via the GetFontData API and a healthy sprinkling of TTF file format knowledge. So far the Linux port doesn't have this, but when I get around to doing glyph converage using Xft's API's it shouldn't be a problem to enable it.
- Changed charset information lookup to to be O(1) instead of O(n).
- Added implementations for 'HasSelection()', 'UnselectAll()', 'Copy()' and 'GetSelection()' to the HTML control's API.
- GMenu::Attach no longer needs to be called on opposite sides of the Append... calls, depending on which OS your building for. Now you call it purely before and Append calls.
- Fixed GWin32Class objects being deleted before the application had shut down all it windows. This causes GView's that subclass (on Win32 obviously) to crash and burn.
- [Win32] Made the single pixel Sunken() and Raised() properties to use WM_NCCALCSIZE and WM_NCPAINT for a more intergrated solution to bordering.