Presentation is loading. Please wait.

Presentation is loading. Please wait.

New Project Model UI Primary Author: Mikhail Sennikovsky Major contributors: Mikhail Voronin, Oleg Krasilnikov, Leo Treggiari Intel Corporation September,

Similar presentations


Presentation on theme: "New Project Model UI Primary Author: Mikhail Sennikovsky Major contributors: Mikhail Voronin, Oleg Krasilnikov, Leo Treggiari Intel Corporation September,"— Presentation transcript:

1 New Project Model UI Primary Author: Mikhail Sennikovsky Major contributors: Mikhail Voronin, Oleg Krasilnikov, Leo Treggiari Intel Corporation September, 2006

2 Goals Easy to use interface Easy to use interface Multi-language support Multi-language support Tool integrators support Tool integrators support

3 Scope Usability, Configurability Usability, Configurability Project Creation UI Project Creation UI Common UI interface with different project types in CDT Common UI interface with different project types in CDT Common UI for “Standard” and “Managed” build, other builders Common UI for “Standard” and “Managed” build, other builders Consistent Integration into the UI Consistent Integration into the UI Multi-language support Multi-language support language – sensitive environment language – sensitive environment Integration of the Core part of the Project Model Integration of the Core part of the Project Model Configuration concept Configuration concept Language settings Language settings Build Variables Build Variables Build Environment Build Environment etc. etc.

4 Agenda Project Creation Project Creation Project Settings Project Settings Core Settings Core Settings Build System Settings Build System Settings Settings Layout Settings Layout

5 Project Creation Overview Overview General Project Creation flow General Project Creation flow Proposed Project Creation in CDT Proposed Project Creation in CDT

6 Project Creation: Overview Creation of project in one step Creation of project in one step Advanced settings Advanced settings Language sensitive settings Language sensitive settings

7 Project Creation: General flow Language selection – required Language selection – required C/C++, FORTRAN, etc. C/C++, FORTRAN, etc. Application (Project) type selection – required Application (Project) type selection – required Console, UI, library, executable, etc. Console, UI, library, executable, etc. Project type-specific required properties selection – required Project type-specific required properties selection – required E.g. Tool-chain for CDT Build System E.g. Tool-chain for CDT Build System General Project settings General Project settings Name, Location Name, Location Project type settings customization – optional Project type settings customization – optional Error parsers, Binary Parsers, Source/output location, etc. Error parsers, Binary Parsers, Source/output location, etc.

8 Language selection Separate entry for each language type Separate entry for each language type One common “CDT Project” entry (for advanced users) One common “CDT Project” entry (for advanced users)Questions: do we need separate C and C++ entries or it is OK to have one C/C++? do we need separate C and C++ entries or it is OK to have one C/C++? Implementation details: CDT UI defines a common re-usable CDT Wizard template CDT UI defines a common re-usable CDT Wizard template Each language type integration defines a language-specific wizard entry Each language type integration defines a language-specific wizard entry The wizard class extends/reuses the common CDT Wizard, i.e. all language entries mapped to the same wizard implementation The wizard class extends/reuses the common CDT Wizard, i.e. all language entries mapped to the same wizard implementation

9 Required project properties selection Application (Project) type selection Application (Project) type selection Project type-specific required properties selection Project type-specific required properties selection General Project settings General Project settings Implementation details org.eclipse.cdt.ui.CNewWizard extension point org.eclipse.cdt.ui.CNewWizard extension point Providing project type entries via XML and/or Java call-back Providing project type entries via XML and/or Java call-back Providing control for representing the main properties for selected project type Providing control for representing the main properties for selected project type Implemented typically by the Build System integration Implemented typically by the Build System integration

10 Contributing project types and tool- chains Manifest file snippets: Manifest file snippets:

11 Configuration Selection Page Displayed for the “Managed” Projects (all except “Make Project”) Displayed for the “Managed” Projects (all except “Make Project”)

12 Configuration Selection Page: multiple tool-chains Configurations for all selected tool-chains are listed Configurations for all selected tool-chains are listed “_with_ToolChain_Name” suffix prepended for configurations with same names “_with_ToolChain_Name” suffix prepended for configurations with same names

13 Additional Settings Page Displayed for both “Managed” and “Standard” Build projects Displayed for both “Managed” and “Standard” Build projects Maintain the project property page dialog representing the complete set of project property pages. Maintain the project property page dialog representing the complete set of project property pages.

14 Project Properties UI CPropertyPage general templates CPropertyPage general templates Configuration Management Configuration Management Properties specifics Properties specifics

15 Configuration setting property page CPropertyPage property page template CPropertyPage property page template Implementers will provide the CPropertyPage contents Implementers will provide the CPropertyPage contents All C property pages use one and the same copy of ConfigurationDescription All C property pages use one and the same copy of ConfigurationDescription

16 Tab container property page org.eclipse.cdt.ui.CPrope rtyTab extension point org.eclipse.cdt.ui.CPrope rtyTab extension point property page id the tab is contributed to property page id the tab is contributed to Tab name Tab name Tab order Tab order Tab implementation Tab implementation

17 Active configuration selection Changing active configuration Changing active configuration “Active Build Configuration” project context menu “Active Build Configuration” project context menu “Active Build Configuration” sub-menu of the “Project” menu “Active Build Configuration” sub-menu of the “Project” menu “Build Configuration” tool-bar “Build Configuration” tool-bar “Manage Configurations” dialog “Manage Configurations” dialog Current interface changes Current interface changes Configuration selector of the C Property Page does not make the selected configuration active Configuration selector of the C Property Page does not make the selected configuration active Configuration list control of the “Manage Configurations” dialog does not make the selected configuration active Configuration list control of the “Manage Configurations” dialog does not make the selected configuration active

18 “Manage Configurations” dialog Accessed via Accessed via “Manage Configurations” project context menu “Manage Configurations” project context menu “Manage Configurations” project sub-menu of “Project” menu “Manage Configurations” project sub-menu of “Project” menu “Manage Configurations..” button of the C Property page “Manage Configurations..” button of the C Property page Used for Used for Changing active configuration Changing active configuration Creating/removing configurations Creating/removing configurations Changing configuration name/description Changing configuration name/descriptionQuestion: Tool-chain conversion moved to the “Tool-chain Settings page” Tool-chain conversion moved to the “Tool-chain Settings page” Do we need tool-chain selection at configuration creation? Do we need tool-chain selection at configuration creation? Implementation details org.eclipse.cdt.ui.ManageConfigsDialog extension point org.eclipse.cdt.ui.ManageConfigsDialog extension point Providing custom (Build System-specific) implementation Providing custom (Build System-specific) implementation

19 Project Properties Specifics Core Settings Core Settings CDT Build System Settings CDT Build System Settings

20 Core Settings Language Settings Language Settings Include Paths & Symbols Include Paths & Symbols Project References Project References Build Environment Build Environment Visualizing resource-specific settings Visualizing resource-specific settings

21 Language selection Content type to language (dialect) association Content type to language (dialect) association Only content types that have languages associated are displayed Only content types that have languages associated are displayed For each content type the list of languages associated with it is displayed For each content type the list of languages associated with it is displayed

22 Includes Settings page Includes settings are language- specific Includes settings are language- specific Only languages used in the current Configuration are displayed in the language list Only languages used in the current Configuration are displayed in the language list In case includes settings are not applicable for the given language, the language is not displayed In case includes settings are not applicable for the given language, the language is not displayed Built-in and read-only values are highlighted using different icons Built-in and read-only values are highlighted using different icons

23 Macros Settings page Macros settings are language- specific Macros settings are language- specific Only languages used in the current Configuration are displayed in the language list Only languages used in the current Configuration are displayed in the language list In case macros settings are not applicable for the given language, the language is not displayed In case macros settings are not applicable for the given language, the language is not displayed Built-in and read-only values are highlighted using different icons Built-in and read-only values are highlighted using different icons

24 Referencing Projects/Configurations Only one configuration of a project can be referenced Only one configuration of a project can be referenced In case the “[Active]” entry is selected, the project active configuration will be referenced In case the “[Active]” entry is selected, the project active configuration will be referenced Selecting a project entry results in selecting “[Active]” configuration Selecting a project entry results in selecting “[Active]” configurationQuestion: How will this interact with the “Project References” page added by Eclipse? How will this interact with the “Project References” page added by Eclipse?

25 Build Environment UI Extended general Environment UI will be used Extended general Environment UI will be used Provide a common user experience with Eclipse/CDT Provide a common user experience with Eclipse/CDT MBS Environment UI seems over- complicated MBS Environment UI seems over- complicated Some extensions to general UI Some extensions to general UI The Default Environment settings are those contributed by the tool- chain. The Default Environment settings are those contributed by the tool- chain. “Append” mode “Append” mode User-modified environment variables highlighted in BOLD User-modified environment variables highlighted in BOLD it will be possible to “undefined” the variable. Undefined variable is displayed as ITALIC “ ”. it will be possible to “undefined” the variable. Undefined variable is displayed as ITALIC “ ”. “Replace” mode operates in a standard way. “Replace” mode operates in a standard way.

26 Visualizing resource-specific settings Files and folders with customized settings marked with “<>” Files and folders with customized settings marked with “<>”

27 Build System Settings Tool-chain Modification Tool-chain Modification Builder Settings Builder Settings Artifact Settings Artifact Settings

28 Tool-chain modification ToolChain selection ToolChain selection Compatible tool-chains: Compatible tool-chains: Converter is defined Converter is defined Compatible Build properties Compatible Build properties Builder selection Builder selection Changing the list of tools Changing the list of tools When conflicting tools selected they are marked by color, error message displayed. When conflicting tools selected they are marked by color, error message displayed. “Managed” build on “Managed” build on “Managed” build capable objects displayed only “Managed” build capable objects displayed only “Managed” build off “Managed” build off All available objects displayed All available objects displayed

29 Builder Settings page Builder type Builder type External Builder External Builder Internal Builder Internal Builder Whether builder should stop on first build error Whether builder should stop on first build error Workbench Build Behavior Workbench Build Behavior Builder CWD Builder CWD For external Builders: For external Builders: Whether or not makefiles should be generated Whether or not makefiles should be generated Make command Make command rule names rule names

30 Builder Settings page: Internal Builder case Build Command disabled Build Command disabled Makefile generation section disabled Makefile generation section disabled Rule names hidden Rule names hidden

31 “Build Artifact” page Displayed when the “Managed” build is on Displayed when the “Managed” build is on Settings Settings Artifact name Artifact name Artifact extension Artifact extension Artifact type Artifact type

32 Properties Layout Project Properties Layout Project Properties Layout Project Properties Project Properties Folder Properties Folder Properties File Properties File Properties Preferences Layout Preferences Layout

33 Project Properties “Language settings” - Language to file type mapping “Language settings” - Language to file type mapping “Project Paths & Symbols” “Project Paths & Symbols” “Includes” “Includes” “Symbols” “Symbols” “Libraries” “Libraries” “Discovery options” (CDT Build System-contributed) “Discovery options” (CDT Build System-contributed) “Source location” “Source location” “Output location“ “Output location“ Referenced projects/configurations Referenced projects/configurations SDKs (NEW) SDKs (NEW) “Build Settings” property page contains a set of tabs: “Build Settings” property page contains a set of tabs: “Tool settings” (CDT Build System-contributed, Managed Build only) - options, tool commands, etc. “Tool settings” (CDT Build System-contributed, Managed Build only) - options, tool commands, etc. “Build Steps” – (CDT Build System-contributed, Managed Build only) - Custom Build Steps “Build Steps” – (CDT Build System-contributed, Managed Build only) - Custom Build Steps “Build Artifact” (project type, name, extension) – Build artifact type, name and extension. “Build Artifact” (project type, name, extension) – Build artifact type, name and extension. “Builder settings” (CDT Build System-contributed) “Builder settings” (CDT Build System-contributed) Environment Environment Binary parsers Binary parsers Error parsers Error parsers “Tool-Chain settings” property page (NEW) - add/remove/change tools, builder and tool-chain. “Tool-Chain settings” property page (NEW) - add/remove/change tools, builder and tool-chain. “Build Variables” (NEW to the core) – viewing/editing the Build Variables (Macros) “Build Variables” (NEW to the core) – viewing/editing the Build Variables (Macros) “Indexer” property page for selecting indexer to be used “Indexer” property page for selecting indexer to be used “File types” – property page for file type specification “File types” – property page for file type specification “Documentation” property page “Documentation” property page

34 Folder Properties “Language settings” - Language to file type mapping “Language settings” - Language to file type mapping “Project Paths & Symbols” “Project Paths & Symbols” “Includes” “Includes” “Symbols” “Symbols” “Libraries” “Libraries” “Discovery options” (CDT Build System-contributed) “Discovery options” (CDT Build System-contributed) “Build Settings” “Build Settings” “Tool settings” (CDT Build System-contributed, Managed Build only) - options, tool commands, etc. “Tool settings” (CDT Build System-contributed, Managed Build only) - options, tool commands, etc. “Tool-Chain settings” - add/remove/change tools, builder and tool-chain. “Tool-Chain settings” - add/remove/change tools, builder and tool-chain.

35 File Properties “Language settings” - Language to file type mapping “Language settings” - Language to file type mapping “Project Paths & Symbols” “Project Paths & Symbols” “Includes” “Includes” “Symbols” “Symbols” “Libraries” “Libraries” “Discovery options” (CDT Build System-contributed) “Discovery options” (CDT Build System-contributed) “Build Settings” “Build Settings” “Tool settings” (CDT Build System-contributed, Managed Build only) - options, tool commands, etc. “Tool settings” (CDT Build System-contributed, Managed Build only) - options, tool commands, etc. “Build Steps” – (CDT Build System-contributed, Managed Build only) - defining Custom Build Steps “Build Steps” – (CDT Build System-contributed, Managed Build only) - defining Custom Build Steps “Tool-Chain settings” property page (NEW) - add/remove/change tools, builder and tool-chain “Tool-Chain settings” property page (NEW) - add/remove/change tools, builder and tool-chain

36 Preferences Layout Only a few changes to the current layout proposed: Only a few changes to the current layout proposed: Rename the “C/C++” entry to “CDT” Rename the “C/C++” entry to “CDT” “C/C++”/”Path Entry Variables” page is replaced with the “CDT”/”Build Variables” page “C/C++”/”Path Entry Variables” page is replaced with the “CDT”/”Build Variables” page “CDT”/”Build Environment” page added “CDT”/”Build Environment” page added “C/C++”/”Managed Build” page removed “C/C++”/”Managed Build” page removed “Macros” tab becomes the “CDT”/”Build Variables” page “Macros” tab becomes the “CDT”/”Build Variables” page “Environment” tab becomes the “CDT”/”Build Environment” page “Environment” tab becomes the “CDT”/”Build Environment” page

37 Q & A


Download ppt "New Project Model UI Primary Author: Mikhail Sennikovsky Major contributors: Mikhail Voronin, Oleg Krasilnikov, Leo Treggiari Intel Corporation September,"

Similar presentations


Ads by Google