Later this week I will be re-activating the Weekly Build download on the main Downloads page for zApp.

The weekly build will have all of the latest features that I'm adding for people interested in doing early beta testing.

The past couple of days I have upgraded the DevExpress components and have switched the PAGES, PAGE, TABS and TAB components to use the new DevExpress PageControl and TabControl components. Some properties are going to change because of this, but the overall components should be a big improvement and have better theme support.

I'll probably be spending the rest of the week struggling with the docking panel support.

Well, I've got the new DevExpress PageControl/Tabs working with the zApp theming now. Started working on the docking panels. Making slow progress on that, but it's getting better each day. Still a few theme bugs when multiple panels are docked together into tabs. It looks like the docking module doesn't use the new PageControl tabs, which is a pain.

I'm also still trying to figure out exactly what syntax to use for docking panels. In addition to the panel itself (which will probably be PANEL.DOCK or something like that), you have to specify an area on the form that panels can be docked to. DevExpress calls this a "DockSite". It is similar to the docking area that can contain toolbars. It would be nice if I could just reuse the DOCK tag to handle both toolbar docking and panel docking, but since there are two completely different docking areas in DevExpress (one for toolbars, one for panels), it gets complicated. In fact, it would be nice to have zApp just handle the DockSite stuff automatically when you create docking panels on your form. So I'm still giving this some thought to see how it should work.

Still a few days till I'll have something to release.

Oh, and I also realized that I really do need to create this "Mega Demo" that we have talked about in the past. I now need it myself just to test all of the zApp controls after doing a DevExpress update. I'll finish the docking components first and do the weekly build, then I'll put together the structure for the MegaDemo. This will also help me figure out how to better handle modular applications with lots of files since I'd want the MegaDemo to be modular (one module for each type of component being demoed).

OK, I've got the *new* DevExpress update compiled again now. Whenever they release a new update I have to reapply *all* of the changes/bug fixes that I've made to their controls. I've tried to document these changes so that they are not too hard to reapply, but there is no good way to automate it since I never know exactly what they will be changing in their source code. I've probably got about 30-40 edits that have to be made carefully each time I do an update. I try to subclass my own stuff where possible, but in some cases I just can't get around modifying their source code directly. Most of this stuff is to deal with the ThemeEngine stuff, so there is no way DevExpress would be interested in making the changes to their master source code (and I've checked).

Anyway, I've got that done, and I think I've got the rest of the bugs in the docking code fixed. It's still really annoying that they don't use their own PageControl tabs when they want to display tabs in docked windows. Maybe some day they'll better integrate this stuff. I think the problem is with their different products...the docking stuff is part of their DxBars (toolbars, etc) product, and the PageControl tabs are part of their Grid product. So they end up duplicating some code here and there.

So now I'm working on the syntax for using this within zApp. I'll try my best to make the syntax straight-forward and easy. If I don't get it done today, then I'll get the weekly build released tomorrow.

Next week I'll be working on switching from eLicense to Digital River in zApp, and then I'll be working on the MegaDemo stuff.

There's probably a way to automate it with CVS... though I've never done it before. At a guess, if you have the "Old" version as 1.0 then 'fork' it, do your changes in the sub fork, apply their changes in the main fork, then tell it to merge your fork back into the main one...

I've got all of the file manipulation stuff automatted with CVS. It's the actual patching of the software code that I do by hand. I'm too paranoid to try and automate this. I'm afraid that if they make a change to a section of code that I'm also patching that I could end up with a mess. Fortunately it only takes about 2 hours to make the changes, and they only release a new version about once a month or so. And I don't update with each monthly version unless they add something useful (like the new Page tab controls).