kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #08369
Re: Project templates (related to the modal dialog thread)
On 16 May 2012 10:50, Brian Sidebotham <brian.sidebotham@xxxxxxxxx> wrote:
> Hi Guys,
>
> I've had a change to put a proposal of the functionality together
> which I think covers most stuff. I've attached a txt file incase the
> text below doesn't come out very well.
>
> I think the functionality will be great for a lot of users of KiCad.
> Let me know if I should convert this to a blueprint on Launchpad.
>
> Proposal
> --------
>
> To add new project template functionality to KiCad to facilitate the easy
> setup of projects which have common attributes such as pre-defined board
> outlines, connector posisitions, schematic elements, design rules, etc.
>
>
> Definitions
> -----------
>
> A template is a directory of files, which includes a directory of metadata.
> The template system name (SYSNAME) is the directory name under which the
> template files are stored. The metadata directory (METADIR) contains
> pre-defined files which provide information about the template.
>
> All files and directories in a template are copied to the new project path
> when a project is created using a template, except METADIR.
>
> All files and directories which start with SYSNAME will have SYSNAME
> replaced by the new project filename, excluding the file extension.
>
>
> Metadata
> --------
>
> A template's METADIR must contain the required files, and might optionally
> contain any of the optional files
>
> Required Files
> ~~~~~~~~~~~~~~
>
> /info.html - Contains html formatted information about the template
> which is used by the user to determine if the template is what
> they are after. The <title> tag determines the actual name of
> the template that is exposed to the user for template selection.
>
> Using html to format this document means that images can be
> inlined without having to invent a new scheme.
>
> Only HTML supported by wxHTML can be used to format this
> document.
>
> Optional Files
> ~~~~~~~~~~~~~~
>
> /icon.png - A 64 x 64px PNG icon file which is used as a clickable
> icon in the template selection dialog.
>
>
> Operation
> ---------
>
> The KiCad File menu will be modified to change New from a menu item to a
> pop-out menu item, in the same manor as Open Recent. There will be two
> options on the pop-out menu:
>
> Blank -> Will act exactly the same as the current new menu item so
> that anyone
> who wishes to create a blank project won't have their settings lost or feel
> alienated.
>
> From Template -> Will open the template selection dialog.
>
> The template selection dialog will have a list of icons on the left, and a
> wxHTML window to the right. A single click on a template's icon on the left
> will load that templates info.html metadata file and display it in the
> wxHTML window.
>
> A double click on a template's icon will start the new project creation and
> will open a new file dialog. If the user selects a valid location for the
> new project, the template will be copied to the new project location
> (excluding METADIR as mentioned earlier) and any files that match the string
> replacement rules will be renamed to reflect the new project's name.
>
> The list of available templates will be gathered from the following sources:
>
> wxStandardPaths::GetExecutableDir()/../share/template/
> wxStandardPaths::GetUserDataDir()/templates/
> wxGetEnv(wxT("KICAD_TEMPLATES"))
No news is good news! ;-)
I'm starting to implement this now.
Best Regards, Brian.
Follow ups
References