← Back to team overview

kicad-developers team mailing list archive

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