One way to think about project-types vs. tool-chains is that the project-type defines the types of tools needed to build the project (e.g. librarian vs. linker)
and/or a specific type of build output (e.g. an executable vs. a library). The tool-chain then provides the exact instances of the tools to be used.
I agree that the project-type is first (and influenced making it so many years ago). Examples and templates are also very important during project creation
and in fact they may select a particular tool-chain or allow multiple tool-chains.
The applicable tool-chains are therefore dependent upon the choice of project type and example/template. The specific tool-chain may also vary per build configuration
– e.g. using different compilers on different target platforms.
I’m not sure this helps much in the UI discussion.
Leo
From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
On Behalf Of Antony Burton
Sent: Wednesday, April 23, 2014 8:37 AM
To: CDT General developers list.
Subject: Re: [cdt-dev] UX Discussion - New Project Wizard
I suppose our context is different: we've extended the wizard and depending on the project type (our project types) which we choose, different custom pages will be displayed. We have 2 project types "System Project" and "Application project".
So for us, they are probably templates.
Antony
On 23/04/2014 16:28, Doug Schaefer wrote:
Thanks Anthony, by responding you are contributing :).
I agree. The project type needs to be first, but I'm still trying to figure out what a project type is. Interesting enough, the left pane actually isn't project types. It's
templates organized into somewhat random categories. What do you guys have for project types? Would ARM micro-controller be a project type?
Hi Doug,
I am not a contributor, but as I have been working with the new project wizard quite a lot, I thought I could give you some feedback.
To begin with, I don't find that that choosing the project type first is a design flaw. You choose the project type and then you are presented with the available toolchains for this project type. For instance we have extended the wizard and added custom pages
to create a project for ARM micro-controllers. The user chooses options, such as the reference of the micro controller, clock configuration, pin configuration etc. and a project is created with all the appropriate libraries and chosen options. So for me it
is quite logic that the first thing we must do, if we want to use our custom wizard, is choose our project type.
As for the second/third page, I think this could be optional. At the moment, it seems to be used for selecting a debug or a release configuration. We never use this because when you create a new project, it is probably going to be a debug version until all
the bugs have been found. It would be nice to be able to skip this page for our project type.
Also, I had to modify the new project wizard code a bit, to avoid having the finish button validated when our project type is selected. This is a bug, I think, because if you have added custom pages, you don't want someone to click finish before reaching them.
I wanted to contribute this fix, but was a bit daunted by the procedure of submitting a bug and fix and all that, but it is simple to fix anyway. I could send you the code if you want.
Of course all this is in the context of our use of the new project wizard, so others may have differing opinions.
Antony
On 22/04/2014 21:16, Doug Schaefer wrote:
Hey gang,
Even though we're a community spread across the globe, it's important that we have real design discussions and help plan out our future directions. We can start here on the
mailing list, and as part of this discussion, we can move it to a different venue if it becomes too noisy or too awkward to make our points. As you can tell from my blog, http://cdtdoug.ca, I love to write,
so this works best for me, but I moved to QNX to work with a team that sits within spitting distance of each other because I love that interaction too, well, except for the spitting.
I'd like to do something with the New Project wizard. I've wanted to do that for a long time. And now that we've gone through the exercise in Momentics, I think we can bring
some of that experience to the CDT and the Eclipse C/C++ IDE in particular, and anyone else who wants to contribute ideas and/or code to reuse it themselves. But I'm not sure I have the full perspective on everything all CDT projects would need.
First up, the biggest problem is the first page, and the Project Type and Toolchains panes in particular. What is a project type. Is it the type of binary output, executable
or library? Is it the build system, autotools or qmake or cmake? Is it the kind of application, command-line or GUI or plug-in. The target platform, BlackBerry or Desktop or Server?
Or do you pick the toolchain you want first and then the project type? The UI was mainly designed by a contributing company that offered an alternative compiler to gcc so
the choice was left second which made sense in those scenarios. But how does GCC cross fit into that. For many of us, toolchain implies target platform, but wouldn't you select the target platform before picking the project type and then selecting a toolchain?
Are we missing something there?
Right now we have quite a mix of concepts being presented in these two panes, project type and toolchain and the cohesion is terrible. I'd love to hear what you all think
of the dialog and how you think it should be changed to make more sense to our users.
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
|