kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #08382
Re: Project templates (related to the modal dialog thread)
On 22 May 2012 11:26, Brian Sidebotham <brian.sidebotham@xxxxxxxxx> wrote:
> 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.
This is now mostly working, I've just got the new template selector
dialog to finish off. The GUI bits always seem to take a while to
finish!
Best Regards, Brian.
Follow ups
References