Creating a VS 2012 like UI?

May 24, 2013 at 6:17 PM
Edited May 24, 2013 at 6:18 PM
Markus,

It seems that all the views really work best as a page inside a master pageframe in the shell. In my case, I need to be able to show 2 or more views side by side as well as to have things flexible based on the users needs. So I need a UI that works like the VS 2012 UI - where documents can be docked, moved around, left floating, etc.

I don't believe that the CODE FW currently supports this, but wanted to check first.

I am looking at AvalonDock (https://avalondock.codeplex.com/) as an alternative to manage the windows if the CODE FW doesn't. But would like to continue using the styles for control layout, etc. within the windows so I can still have the option to switch themes....

Do you have any suggestions on how I might approach this? And if I have to "marry" the 2 together, how to do so in a way that will allow me to easily blend in future CODE FW updates?

Thanks,

Fletcher
Coordinator
May 24, 2013 at 7:16 PM
Well, funny you should ask :-).

Rick Strahl has actually been lobbying for a Visual Studio type of theme as well. It can of course be done in the framework, but he doesn't want to do it himself and instead have me do it :-). So I have actually already started down along these lines. Not sure how much we are going to be doing total and it may not cover 100% of what you need, so you might end up having to add a few things on your own, but all in all, either the upcoming build, or the build after that, will have a new theme called "Geek" that is "inspired" by the Visual Studio IDE.


Markus
May 24, 2013 at 7:54 PM
Markus,

It might be nice if there were a way that a new theme (like Geek) could be published in a way that some of us folks could work on the parts we need and then submit that back for possible inclusion.

That way, you could get Rick, me, and a few others who really want this to at least chip in a little here or there. And that might make it easier for us to get started with the parts that do work....

Just a thought,

Fletcher
Coordinator
May 24, 2013 at 8:06 PM
That is actually already possible.

We do make all the source code and everything available. Plus, I wrote an article on how to do the theming (http://codemag.com/Article/1211091). So with that, people can do their own theming work, and if there is something someone does and sends it back to me, I am more than happy to work that into an official build if it is of general interest and generic enough.


Markus
May 31, 2013 at 8:00 PM
My thought is to have a place in Codeplex where people can upload stuff they have done. This way, anyone can use it - which might be nice if I implement something that doesn't really fit into the framework - but someone else needs.

Then you can just look at the comments, etc. and if there seems to be some interest (or if you are interested) you can then look at it more. This could save you time as well as give the people who start playing with it a chance to "clean it up" a bit for you.

Just a thought.

Fletcher
Coordinator
Jun 2, 2013 at 8:48 PM
Yeah, I'd be open to that if there was enough interest. We get a fair number of people bring that up in classes and email and such and I always invite them to participate but few ever do. For now, we can easily handle the demand just by having stuff sent to us and work it in, but if it got more, I would be more than open to entertaining an idea like this.


Markus
Jun 28, 2013 at 6:30 PM
Markus,

Back to the original question...

Geek is a great start. But it doesn't support dragging/docking the windows/tabs the way we can in VS 2012.

So my question is - where do things stand in that area? Should I look at hooking Avalon (or something similar) into the application or is it already in your plans and I just need to be patient for a few days/weeks/months ?

In my case, my users will need to be able to see multiple windows at the same time.

Thanks,

Fletcher
Coordinator
Jul 1, 2013 at 8:02 PM
We do have plans to add docking window support (for the Geek theme and also as a general feature), but to be honest, I am not sure what I would tell you about an expected ship date for that feature.


Markus
May 9, 2014 at 10:45 PM
Hello Markus,

I'm currently evaluating the CODE framework for a project that we have.

One of the requirements of our project is to provide a Docking experience similar to Visual Studio.

Is this a possibility using the CODE framework? I was inspecting the assemblies and noticed that there seems to be some classes that have to do with Docking, but I don't see them used anywhere.

Do you have any suggestions about how I could do something like this? (i.e. how to modify the shell to support docking, overriding from a dockable window in views etc)

Thanks for the help,

Colter
Coordinator
May 11, 2014 at 6:20 PM
Hello!

Yes, docking is something we have been experimenting with on and off, and we have created applications using custom docking schemes. Some of that is supported by a few of the fundamental classes we have in the framework, but there is always a lot of custom code we had to write. We have also considered making some of the themes (in particular Geek and Workplace) support docking natively in various ways. It's just always come down to having the time to do it. The reason we have the starting points in place is also that we had a customer who wanted us to write it for them, but then part way through the process it fell apart (I think it had to do with manager approval, or something).

So in short: It's doable and it's something we have on our list, but with that said, it is unlikely to surface any time soon since we simply have so many things that are higher on the list that people actually pay us to do. But with that said: It is probably only a week or two of work to actually get this implemented at production quality.


Markus
May 12, 2014 at 3:32 PM
Cjam,

There are a few libraries (I believe even a couple in CodePlex) that emulate the Visual Studio UI. As was the case with Markus, before I was able to fully implement any of them, I moved on to a different project.

But one of the neat things with the framework is that you can use whatever UI framework you wish. The CODEFW UI does some things very well. But you can use only the backend and any UI library you wish. That was one of the things that drew me to the FW in the first place.

If you find it hard to find any libraries, drop a note and I will dig into my records to see what I can find, but as I recall, it wasn't too hard to find quite a few.

Take care,

Fletcher