3D Canvas Community
3D Canvas Discussion Forums
Amabilis Announcements
3D Canvas 8.0 Progress (formerly 3D Canvas 7.2)
Topic Closed|
Go
![]() |
New
![]() |
Find
![]() |
Notify
![]() |
Tools
![]() |
|
Member |
I'd really like to do the properties form docking. I'd also like to provide the same for the "components panel". The problem is that for that to happen, they have to be forms, which wasn't really my plan.
But, now to think of it, I might be able to get this to work the way I'd like. I just don't want to spend more than a few days on it because every day I work on it, the later 8.0 is. |
|||
|
|
Member |
Actually, this docking of forms gave me an idea of how I can implement 3D Canvas 8.5 (3D Canvas .NET) easier. The problem has been "drag and drop", which is not implemented in the same way in Visual Basic.NET and Visual Basic 6. I did a bit of research and think I came across a way to do it.
It would be great if I could undock the components panel, and the new properties panel. |
|||
|
|
Member |
I hadn't planned to break everything again, but Paul's suggestion was too good to miss out on.
The docking idea forced me to re-write some things that I needed to re-write for the eventual conversion to .NET. The final major item in the way of converting to .NET was dragging and dropping, which is implemented quite differently in .NET. Today I wrote a hack that allows me to implement dragging and dropping in a way compatible with .NET. So, assuming I haven't missed a major point, the final steps of the converson to .NET should be relatively straight forward. In the mean time, I put out 3D Canvas 8. I have a few more things to break tomorrow, and then I start work on making the components and properties panels "undockable". I'm hoping to make it so that the panels can either be locked in place (as the components panel is now), slide out ON TOP of the scene (this makes things fast-no viewport resizing), or are undocked (so they can be placed anywhere, including a separate screen). I think it's all possible. My goal is to get that all of that working by Wednesday. So, based on past experience with my ability to make deadlines that should mean the end of the month. |
|||
|
|
Member |
This is all very tricky to do. I've made a small amount of progress. There's a lot of Win32 API in this, including dealing with messaging which I have never done before.
|
|||
|
|
Member |
I have to admit that I like the power or working directly with the API itself to control drawing of the windows.
|
|||
|
|
Member |
While developing the new undockable window I'm working with a "dummy" version of 3D Canvas. One that has empty versions of the main windows.
I'm making a fair amount of progress. I mentioned earlier that it's quite tricky. For example, the undockable windows must be children (from Window's perspective) of the main 3D Canvas window while they are docked, but not children when they are undocked. I almost gave up for a while because when windows are made children of an MDI window (3D Canvas' main window), they don't behave as children, and in fact wipe out all of the tool bars that are displayed. According to Microsoft this is "by design". I use the same excuse sometimes, but in my opinion this particular case is a bug. As a last resort, I made the undockable windows children of the viewport window. That seems to have worked. No issues so far. But, if any come up, that will the mean the end of undockable windows. This message has been edited. Last edited by: Amabilis Support, |
|||
|
|
Member |
Another tricky aspect is to add a custom button to the undockable windows's title bar.
The button will be used to indicate whether to lock the windows in an out position. I want the windows to pop out so that you can have quick access to the components/properties while having the whole window devoted to the scene. I almost have the new button working now. I just have to draw a suitable icon on it. And, of course implement all the underlying code to show/hide the windows automatically. I said that I hoped to have this working by today, but expected it might take until the end of the month. Looks like it won't be done today, but I doubt it will take to the end of the month. However, I broke so many things doing this that I have no idea what this does to the release date. Certainly it has put it back a week. But, despite that, I think it is worth it. It really makes this "3D Canvas 8" vs "3D Canvas 7.2". |
|||
|
|
Member |
I have the "pin/unpin" button working. It seems silly to even mention it, but putting a button on a title bar is MUCH harder than one would guess.
The "pin/unpin" button doesn't actually do anything yet except toggle things. I also have made it so you can undock a tool window. I am still trying to decide exactly how to implement some other things. To make things simpler for myself, and in a way clearer, I think I will make it so only one tool window can be docked to each side. I'll have a "hot spot" on each side that will slide out the docked (and unpinned) toolbar. There are other ways to do it, but they get a bit confusing when you can pin items in an out position. I really should post a picture since it's hard to explain all of this. |
|||
|
|
Member |
Here's a sample of my "dummy" version of 3D Canvas with the Components and Property panels docked and pinned.
|
|||
|
|
Member |
And now with the components panel unpinned and hidden away. This shows the "hot spot" on the left that when hovered over will result in the components panel being visible.
|
|||
|
|
Member |
Finally, the Components panel undocked.
|
|||
|
|
Member |
Of course all of this will be made prettier for the actual release.
I still don't know if there should be a visible "hot spot" or and invisible one. |
|||
|
|
Member |
I am down to just one thing remaining, and it's getting the undocked windows to re-dock. Of all the things I have done on this project, this is the most straight forward.
Integrating what I've done into 3D Canvas may be a challenge. It's not really possible to debug windows related processing when this is enabled because Visual Basic has no idea what is going on. I'm doing it all behind it's back. So, I'll probably have to have a flag for debug/non-debug versions. |
|||
|
|
Member |
I have docking/undocking and pinning/unpinning working in my little test program.
I still have a bit of tidying to do, but as soon as that is done I'll start integrating it into 3D Canvas. That sounds simple, but my guess is that it isn't nearly as easy as it sounds. |
|||
|
|
Member |
I have a little dummy program that demonstrates these new features. I've attached it. I'm not sure if it can be just copied and ran, but maybe.
If anyone wants to try it out and give some feedback, that would be helpful. Oh, it's called "3D Canvas", but it's not. You should be able to just copy it to your desktop and run it. If that doesn't work then I don't really know how it would be run. This message has been edited. Last edited by: Amabilis Support, 3D_Canvas.exe (80 KB, 20 downloads) |
|||
|
|
Member |
After starting the program, I get this window
No dockable windows to see. After some clicking in the window, there is a send/don't send message Regards Gerrit |
|||
|
|
Member |
I guess it needs to be installed in some way. As far as I can tell, all it should need is 3D Canvas to be installed.
Perhaps someone on an English computer can give it a try. At least then I can read the error message :-) |
|||
|
|
Member |
I hope it isn't something big. If it is, it will be really difficult to fix.
|
|||
|
|
Member |
No crash here but the window does not work.
Only taskmanager is able to close the program. |
|||
|
|
Member |
In some ways, that's worse than a crash.
I guess there is no point in anyone else trying it. |
|||
|
| Powered by Social Strata | Page 1 2 3 4 5 6 7 8 9 10 |
| Please Wait. Your request is being processed... |
Topic Closed
3D Canvas Community
3D Canvas Discussion Forums
Amabilis Announcements
3D Canvas 8.0 Progress (formerly 3D Canvas 7.2)
