Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official 5.0 Beta Discussions
#21
Now I remember why I didn't want to use the standard Windows controls. At first it seems like you are getting a lot for a little, then when you start really getting into it, you can spend endless hours trying to figure out the stupidest, simple crap and still not find it.

I'm using a tree view for a multi-column list box. I want it to select the 0th item upon loading up, just as list box would. But I can't do it if the list is sorted. Everything else seems to return indices that are based on the sorted order, but the LVM_SETITEM and LVM_SETITEMSTATE seem to use the original indices of the items as they were put into the list. So selecting the 0th item selects whatever was first into the list, pre-sort.

The only way to know which one to select would be to sort them myself, which is obviously stupid. I've searched and searched and searched and cannot even find anyone even talking about this issue, so either I'm the only person in the world trying to do something so utterly obvious, or I'm missing something obvious.

I guess I'm just not going to be able to benefit from their sorting and will have to require any code that wants a sorted list to pre-sort their own. All because of this one silly thing.
Dean Roddey
Software Geek Extraordinaire
#22
OK, nevermind. The problem is that, when adding items singly, to insure that the first item added is selected, I'm selecting that first item. But then others get added and it sorts the list, and that one ends up at the end. I have another one that loads them all at once and then selects the 0th one, but my test program wasn't calling that one and I thought it was.

I guess for single loading, the app will have to reselect the first one if it wants that to happen. But one always has to be selected since that's something that the program should always be able to assume for a single selection box, so the first one added will still have to be selected, even if it doesn't end up being the first one in sorted order.

Oh, the tangled webs we weaves...
Dean Roddey
Software Geek Extraordinaire
#23
Well, if I never see another list oriented control, it will be too soon. But I've got the combo box, list box, and multi-column list box fairly spiffed up today. I added easy sub-classing support to the new windowing framework so that I can intercept some stuff from the standard controls and prevent some default things from happening where necessary, and made use of that in the list control to do some useful things.
Dean Roddey
Software Geek Extraordinaire
#24
Dean

Will there be anyway to keep my house system on 4.7, but just upgrade one test computer once you start to release v5.0 candidates. It would be nice to play with the new GUI, and make comments, without risking a whole house upgrade?

PJG
#25
A small add on for 5.0. When you save a template in the editor, could you add a time/datestamp or automatic version number. If this could be made visible as a System Variable, then you could add a Gvar text widget and see that you are working with the correct version.

PJG
#26
pjgregory Wrote:Dean

Will there be anyway to keep my house system on 4.7, but just upgrade one test computer once you start to release v5.0 candidates. It would be nice to play with the new GUI, and make comments, without risking a whole house upgrade?

PJG

That's probably unlikely. Since I'm redoing the whole GUI, I'm also going to be taking care of some back end things to make the GUI work better, so the two versions will likely be quite incompatible on the wire.

Really though, all that will change are the administrative tools. The IV, though it will now be housed in a slightly different looking window, is essentially going to be the same because it's a purely graphical thing and doesn't depend on the windowing stuff except to have a basic frame window to display itself in. So there's not much risk from the perspective of the touch screen clients.

The HTML5 client isn't going to replace the IV, it will just be an alternative for non-Windows platforms.
Dean Roddey
Software Geek Extraordinaire
#27
pjgregory Wrote:A small add on for 5.0. When you save a template in the editor, could you add a time/datestamp or automatic version number. If this could be made visible as a System Variable, then you could add a Gvar text widget and see that you are working with the correct version.

PJG

That could probably be done.
Dean Roddey
Software Geek Extraordinaire
#28
pjgregory Wrote:Dean

Will there be anyway to keep my house system on 4.7, but just upgrade one test computer once you start to release v5.0 candidates. It would be nice to play with the new GUI, and make comments, without risking a whole house upgrade?

PJG

For testing you can install all of CQC 5.x on the one PC and use your 4.7 system to create var definitions for each driver that can be loaded up in multiple var drivers on the 5.0 system.
Mark Stega
#29
Another long day of hacking away at the new windowing scheme. I got the 'object view' class going pretty well. This is the standard 'icons plus text' type window that will represent collections of things, drivers, serial ports, etc... I got it to the point where I'm now adding an item and it's showing up correctly. I had to create an image list class since the list view control uses image lists to manage the images that the various things represented can have

And get over the standard app image loading code ported over to load the images I'm using for this test. It provides all those computer, user, device, type icons. For the actual CQC applications, I'll almost certainly be creating custom graphics for that stuff, but that's still a ways off.

Oh and I got a little message box wrapper class, now I can do error popups, and get basic input, and stuff like that. I've not implemented dialog boxes yet.

So moving forward pretty well still.
Dean Roddey
Software Geek Extraordinaire
#30
Before going back to the object view control, I decided to hunker down and make sure I could get the dialog box stuff working. So I did that today. Still some work to be done but it's basically working. I'm still using my own loadable resources, so my own dialog descriptions and my own dialog editor. The reason being that it can work in terms of my window classes, which is vastly cleaner and safer.

So I just create an indirect dialog by creating an empty (no children) Windows dialog template in memory and run the dialog box modal function off of that. And then I handle creating the children by going through my own dialog description and creating the child window objects.

I still get all of the Windows dialog processing and modal loop stuff. It just lets me create the children and do them in terms of my own window control classes.

There were quite a few stumbling blocks along the way, but it's basically working. I still need to update my dialog editor, so that I can create them graphically. For now I'm just editing my CIDRC files by hand to create some dialogs for testing.
Dean Roddey
Software Geek Extraordinaire


Possibly Related Threads...
Thread Author Replies Views Last Post
  Official 5.2 Beta Discussion Thread Dean Roddey 196 10,092 6 hours ago
Last Post: Dean Roddey
  Official 5.2 Beta Release Thread Dean Roddey 9 1,174 09-14-2017, 05:49 PM
Last Post: Dean Roddey
  Official 5.1 Beta Discussion Thread Dean Roddey 453 38,242 05-16-2017, 03:45 PM
Last Post: Dean Roddey
  Official 5.1 Beta Release Thread Dean Roddey 28 4,448 05-12-2017, 05:44 PM
Last Post: Dean Roddey
  Official 5.0 Beta Release Thread Dean Roddey 15 6,257 11-01-2016, 10:32 AM
Last Post: Dean Roddey
  How to obtain Beta versions? willsauter 3 1,000 07-15-2016, 04:57 PM
Last Post: willsauter
  Official 4.7 Beta Release Thread Dean Roddey 21 6,509 04-23-2015, 04:20 PM
Last Post: Dean Roddey
  Official 4.7 Beta discussion thread Dean Roddey 295 28,710 04-23-2015, 04:19 PM
Last Post: Dean Roddey
  CQC hangs (latest beta) Bugman 7 2,039 11-19-2014, 05:03 PM
Last Post: Bugman
  4.6 Official Beta Discussions Thread Dean Roddey 514 33,636 11-04-2014, 03:57 PM
Last Post: Dean Roddey

Forum Jump:


Users browsing this thread: 1 Guest(s)