News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

XTreeView and XPropertyTree

Started by Biterider, October 04, 2007, 07:54:37 AM

Previous topic - Next topic

Biterider

Hi,
the last weeks I was working on a new control I needed for a CAD application where elements ware organized in a well defined structure.
The (MS) TreeView  control was my first choice but unfortunately it was not able to perform quickly with such a big amount of data, so I decided to recode it from scratch in form of an ObjAsm32 object. This object called XTreeView can handle millions of nodes without a noticeable response delay and has full control of the rendering process, which allows you to add to the nodes whatever you want.

As a nice side effect, I coded a derived object called XPropertyTree to show and edit application variables of several different types.

In the attachment you can find 2 test applications showing these new objects and their source code. The source code of test apps is also available on demand. The complete code will be added to the next OA32 release.

Feedback will be appreciated.  :wink

Regards,

Biterider


[attachment deleted by admin]

Draakie

Nicely done and very usefull by the looks of it - I'am gonna see if I can
use it for my MySQL OBDC Assembler front-end project.
Should make the reporting feature more user friendly and ofcourse fast.....

Ta Bite-Master !
Draakie
Does this code make me look bloated ? (wink)

Shell

Very nice Biterider  :U

I especially like the multi-column nodes. It's almost enough to make me jump straight to OA32 but sadly OOP in ASM is beyond my understanding ATM  :'(. When I become comfy enough with the Win32 environment I'll definitely give it a try though.

PS. I'm not a total newbie in COM though its been a while :green2

ramguru

Very nice work  :U
The drag'n'drop feature looks very cool, works smoothly as well, I also did like item highlighting, icon support. Keyboard and mouse input both seem to work almost perfect.

Now some remarks  :wink :
I can see how you use edit-box in XPropertyTree, just hope that you create one edit window (for all cells) and move it into the cell on demand (for efficiency of course  :lol )

Also fast clicking on "+" icon didn't work in XPropertyTree (maybe you should catch both (if umsg == WM_LBUTTONDBLCLK or umsg ==  WM_LBUTTONDOWN) messages)

Also I think there is left too much v. space between items, I guess it's adjustable, but somehow I don't find "variable item height" feature very useful either  :snooty: (but hey it's only me who cannot stand variable width font & stuff like that, I guess for everyone else it's 'a must have' feature).

I did notice one glitch: check-box will appear sometimes (sorry for not being specific) when item is collapsed.

Also that color selection list (XPropertyTree->Style->Border Color) is kinda too wide, especially when program is maximized.

Plus I think double-click on item's title should expand that item IMO, kinda used to that.

Despite everything this control would be my first choice if I programmed in OO style.

Biterider

Hi
Thanks for your time and responses.
I changed the double click reaction method in the XPropertyTree object to toggle the node status. This solves 2 issues noted by ramguru (new app uploaded to the  first post).

To ramguru:
I'm interested in the glitch you mentioned. Can you tell me witch application you mean? If you can reproduce it, a screen shot will be of help.

Thanks

Regards,

Biterider

ramguru

Quote from: Biterider on October 04, 2007, 12:01:09 PM
To ramguru:
I'm interested in the glitch you mentioned. Can you tell me witch application you mean? If you can reproduce it, a screen shot will be of help.
No problem here is the screen, red circles show the spots where I am clicking to invoke the glitches


Biterider

Hi
Thanks ramguru.  :U
I quickly found the bug with your screenshots. New upload to the first post.

BTW, pressing the CTRL key while dragging a node switches the insertion mode.

Regards,

Biterider