Tuesday, September 07, 2010
Search   GO
|

 
 
 
archive
blog
Sep 20

Written by: Steve
20 September 2009

Time for an awesome beta. I'm getting so close to version 1.0 now, I can taste it!

I'll tell you now that version 9.0.6 of Data Tree WILL BREAK YOUR EXISTING TREES and isn't compatible with any trees that were created in a previous version. If you want to continue developing with just the Mac skin under version 9.0.4, I've left the download up, so you can revert back to it if you so wish.

You could not believe how much of this tree library is:

a)    new
b)    been reworked
c)    been reorganised
d)    been renamed

Why all of the above? Platform appearance support has been added!

This beta will expire on 31 March 2010. Note that version 9.0.4 has no such time limit imposed upon it and, if you find that it is stable enough, it can be used at your own risk in your projects. Version 9.0.5 never got out the door because I couldn't stop coding!

Here's a rundown of what's new.


Multiple platform support

All the foundation work for different platform skins has been done and you should find that the tree takes on a Windows XP look when running on Windows. Things still need tweaking to make it look just right, so expect further tweaks as we go along (please let me know what needs doing because I don't have a PC myself). Windows Vista is still a work in progress and borrows heavily from the XP skin for the time being

If anybody wants a Linux skin, please provide me with all of the graphics, font properties, behaviours etc. for me to implement it.

There are a bunch of new commands. You can apply a new platform by changing one of the tree's general properties through the use of the dt_setGeneralProperty command. You'd use it as such:

dt_setGeneralProperty id of group "contents","platform","MacOSX"

The platform value can currently be MacOSX, WinXP, WinVista or Auto. The Auto value works out the platform that the stack's running on and applies the appropriate skin. If it can't work it out, it'll default to MacOSX.

By changing the platform value to the different platforms, and provided that you have the right fonts installed, you can see how your tree will look on those platforms.

There is also a command called dt_setPlatformProperty to change a property that applies to a specific platform. There's a lot more about this in the docs.


Speed improvements

Next big improvement is the speed at which a huge tree will redraw. Instead of taking nearly three seconds to hit 1,000 nodes, you'll find that the redraw is near instantaneous!

There are loads of private parameters to making sure that this is successful and despite lots of testing of my own, it'd be great to find out if anybody comes across any glitches when dealing with huge numbers of nodes. 


New highlighting routines

Lots of work has been done on the highlighting routines. The number of objects that made the highlight have been rationalised down to one. Support for different colours highlights (of both flat and gradient types) have been added but the colours themselves have not. 


New property sets

The various properties of a tree have been reorganised into new property sets.

Each platform has its own appearance property set, such as dt_appearanceMac or dt_appearanceWinXP.

Any general properties that apply to all platforms, such as active node ID and node data are included in dt_general and finally, anything that's private to the control, such as look up tables etc. is included within dt_private.

Please be aware that I may have renamed a property or two for consistency purposes. 


Rename of node property

The style node property has been renamed root style and takes effect only when the platform appearance is Mac OS X. 


Tweaked the disclosure triangles in Mac OS X

I've made the disclosure triangles under Mac OS X whiter when being painted onto a highlighted row. Rather than draw a grey triangle, the pressed version of the triangle fades, which looks rather nice with different coloured gradients (although I've turned off all gradients other than the blue gradients for now because they're unfinished).

This looks really nice! 


Fix

Using the mouse wheel to scroll now records a private scroll value, so the tree doesn't shift back again when you next interact with it.

The scroll routines have been tweaked. I still want to do some more work on these. 


 Fix

Editing a tree when embedded in a group wouldn't record new locations and sizes. Hopefully, this is corrected now (fighting the IDE is not easy when you're making custom controls, I can tell you!).


Tweak

Added code to the drawing routines to prevent the user from seeing the controls redraw if you've not previously locked the screen. 


Fix

Tree should now no longer crash if you try editing the group.


Manual works

Have rewritten large portions of the manual. Please note that this isn't finished yet but I wanted to finally put this beta out!

Tags:

2 comments so far...

Re: Can't help it, here's a big update!

and the beta is available for download where...?

By Paul Foraker on   24 September 2009

Re: Can't help it, here's a big update!

Hi Paul,

You need to Register with the site and then the beta download page will appear.


Steve

By Steve on   24 September 2009

Your name:
Title:
Comment:
Add Comment    Cancel  
  
Powered by WebRing.
 
Copyright ©2008-2009 theworcestersource.com | Terms of Use | Privacy Statement