Better GITHUB class header documentation, better eeschema library field dialog stretching and title.
This commit is contained in:
parent
cd9da9dd64
commit
1b93203f7c
|
@ -1,5 +1,5 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 30 2013)
|
||||
// C++ code generated with wxFormBuilder (version Nov 5 2013)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
|
@ -43,7 +43,7 @@ DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB_BASE::DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB_BASE
|
|||
bSizerFiledsList->Add( moveUpButton, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizerFieldsSetup->Add( bSizerFiledsList, 1, wxEXPAND, 5 );
|
||||
bSizerFieldsSetup->Add( bSizerFiledsList, 3, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* fieldEditBoxSizer;
|
||||
fieldEditBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
@ -179,7 +179,7 @@ DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB_BASE::DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB_BASE
|
|||
fieldEditBoxSizer->Add( fgSizerPosSize, 1, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
|
||||
bSizerFieldsSetup->Add( fieldEditBoxSizer, 0, wxEXPAND, 5 );
|
||||
bSizerFieldsSetup->Add( fieldEditBoxSizer, 2, wxEXPAND, 5 );
|
||||
|
||||
|
||||
mainSizer->Add( bSizerFieldsSetup, 1, wxEXPAND, 5 );
|
||||
|
|
|
@ -20,8 +20,10 @@
|
|||
<property name="path">.</property>
|
||||
<property name="precompiled_header"></property>
|
||||
<property name="relative_path">1</property>
|
||||
<property name="skip_lua_events">1</property>
|
||||
<property name="skip_php_events">1</property>
|
||||
<property name="skip_python_events">1</property>
|
||||
<property name="ui_table">UI</property>
|
||||
<property name="use_enum">0</property>
|
||||
<property name="use_microsoft_bom">0</property>
|
||||
<object class="Dialog" expanded="1">
|
||||
|
@ -45,7 +47,7 @@
|
|||
<property name="size">-1,-1</property>
|
||||
<property name="style">wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="title">Fields Properties</property>
|
||||
<property name="title">Field Properties</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
|
@ -103,17 +105,17 @@
|
|||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="proportion">3</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizerFiledsList</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">8</property>
|
||||
<property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxListCtrl" expanded="1">
|
||||
<object class="wxListCtrl" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -214,11 +216,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="1">
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -302,11 +304,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="1">
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -390,11 +392,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="1">
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -483,7 +485,7 @@
|
|||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<property name="proportion">2</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">fieldEditBoxSizer</property>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 30 2013)
|
||||
// C++ code generated with wxFormBuilder (version Nov 5 2013)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
|
@ -80,7 +80,7 @@ class DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB_BASE : public wxDialog
|
|||
|
||||
public:
|
||||
|
||||
DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Fields Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU );
|
||||
DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Field Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU );
|
||||
~DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB_BASE();
|
||||
|
||||
};
|
||||
|
|
|
@ -31,57 +31,88 @@ struct GH_CACHE;
|
|||
|
||||
|
||||
/**
|
||||
* Class GITHUB_PLUGIN
|
||||
* implements a portion of pcbnew PLUGIN to provide read only access to a github
|
||||
* repo consisting of pretty footprints. It could have used version 3 of the
|
||||
Class GITHUB_PLUGIN
|
||||
implements a portion of pcbnew PLUGIN to provide read only access to a github
|
||||
repo consisting of pretty footprints. It could have used version 3 of the
|
||||
github.com API documented here:
|
||||
<code>
|
||||
|
||||
<pre>
|
||||
http://developer.github.com
|
||||
https://help.github.com/articles/creating-an-access-token-for-command-line-use
|
||||
</code>
|
||||
but it does not. Rather it simply reads in a zip file of the repo and unzips it
|
||||
from RAM as needed. Therefore the PLUGIN is read only for accessing
|
||||
remote pretty libraries. The "Library Path" in the fp-lib-table should be set
|
||||
to the full https:// URL. For example:
|
||||
<code>
|
||||
</pre>
|
||||
|
||||
but it does not. Rather it simply reads in a zip file of the repo and unzips
|
||||
it from RAM as needed. <b>Therefore the PLUGIN is read only for accessing
|
||||
remote pretty libraries at https://github.com.</b> The "Library Path" in the
|
||||
fp-lib-table row for a Github library should be set to the full https:// URL.
|
||||
For example:
|
||||
|
||||
<pre>
|
||||
https://github.com/liftoff-sr/pretty_footprints
|
||||
</code>
|
||||
</pre>
|
||||
|
||||
This is typically https://github.com/user_name/repo_name
|
||||
This is typically
|
||||
|
||||
<pre>
|
||||
https://github.com/user_name/repo_name
|
||||
</pre>
|
||||
<p>
|
||||
|
||||
This PLUGIN also supports "Copy On Write", a.k.a. "COW". Thus a Github
|
||||
library defined in either the fp-lib-table (project or global) will take an
|
||||
optional option called <b>allow_pretty_writing_to_this_dir</b>. This option
|
||||
is essentially the "Library Path" for a local Kicad (pretty) library which is
|
||||
combined to make up the Github library found in the same fp-lib-table row. If
|
||||
the option is missing, then the Github library is read only as always. If the
|
||||
option is present for a Github library, then any writes to this library will
|
||||
go to the local *.pretty directory. Note that the github.com resident portion
|
||||
of this hybrid COW library is always read only, meaning you cannot delete
|
||||
anything or modify any footprint at github directly.
|
||||
|
||||
<p>
|
||||
This PLUGIN also supports "Copy On Write", a.k.a "COW". So a library defined
|
||||
in the fp-lib-table will take an optional option called
|
||||
<b>allow_pretty_writing_to_this_dir</b> which is essentially the lib_path for
|
||||
a local Kicad (pretty) library which is combined to make up the Github library.
|
||||
If the option is missing, then the Github library is read only. If it is present,
|
||||
then any writes will go to the local *.pretty directory. Any reads will always
|
||||
give precedence to the local footprints. So once you have written to the local
|
||||
directory, no github updates will travel down on any footprints for which you've
|
||||
written locally. Always keep a separate local *.pretty directory for each Github
|
||||
library, never combine them you will likely create a mess. You must manually
|
||||
create the local directory in advance, and the directory name must end with ".pretty".
|
||||
The option <b>allow_pretty_writing_to_this_dir</b> will be path substituted with
|
||||
any environment variable strings embedded in the option's value, just like the
|
||||
|
||||
Any footprint loads will always give precedence to the local footprints found
|
||||
in the pretty dir given by option <b>allow_pretty_writing_to_this_dir</b>. So
|
||||
once you have written to the COW library's local directory by doing a
|
||||
footprint save, no github updates will be seen when loading a footprint by
|
||||
the same name as one for which you've written locally.
|
||||
|
||||
<p>
|
||||
|
||||
Always keep a separate local *.pretty directory for each Github library,
|
||||
never combine them by referring to the same directory more than once. Also,
|
||||
do not also use the same COW (*.pretty) directory in a "Kicad" fp-lib-table
|
||||
entry. This would likely create a mess. The COW directory should be manually
|
||||
created in advance, and the directory name must end with ".pretty". The value
|
||||
of the option <b>allow_pretty_writing_to_this_dir</b> will be path
|
||||
substituted with any environment variable strings embedded, just like the
|
||||
"Library Path" is.
|
||||
<p>
|
||||
What's the point of COW? It is to turbo charge the sharing of footprints. If you
|
||||
periodically email your COW pretty footprints to the Github repo maintainer,
|
||||
you can help update the Github copy. The idea should be to keep the COW file
|
||||
set as small as possible. After you've received confirmation that your changes
|
||||
have been committed up at github.com, you can safely delete your COW file(s)
|
||||
and those from github.com will flow down.
|
||||
<p>
|
||||
Note that if you use the module editor to delete a footprint and it is present
|
||||
in the COW local dir, it will get deleted from there. However, it may not
|
||||
be deleted from the library as a whole if the footprint of the same name also
|
||||
existed in the github repo. In this case deleting the local copy will simply
|
||||
unmask the one at the github repo. Remember, it is masked out if there is
|
||||
a local COW copy, since the local copy always takes precedence.
|
||||
|
||||
*
|
||||
* @author Dick Hollenbeck
|
||||
* @date Original date: 10-Sep-2013
|
||||
<p>
|
||||
|
||||
What's the point of COW? It is to turbo-charge the sharing of footprints. If
|
||||
you periodically email your COW pretty footprint modifications to the Github
|
||||
repo maintainer, you can help update the Github copy. Simply email the
|
||||
individual *.kicad_mod file you find in your COW directories. After you've
|
||||
received confirmation that your changes have been committed up at github.com,
|
||||
you can safely delete your COW file(s) and those from github.com will flow
|
||||
down. Your goal should be to keep the COW file set as small as possible by
|
||||
contributing frequently to the shared master copies at https://github.com.
|
||||
|
||||
<p>
|
||||
|
||||
Note that if you use the module editor to delete a footprint and it is
|
||||
present in the COW local dir, it will get deleted from there. However, it may
|
||||
not be deleted from the library as a whole if the footprint of the same name
|
||||
also exists in the github repo. In this case deleting the local copy will
|
||||
simply unmask the one at the github repo. Remember, it is masked out if there
|
||||
is a local COW copy, since the local copy always takes precedence. And
|
||||
remember you cannot modify the github copy except by emailing a COW
|
||||
modification to the repo maintainer.
|
||||
|
||||
@author Dick Hollenbeck
|
||||
@date Original date: 10-Sep-2013
|
||||
|
||||
*/
|
||||
class GITHUB_PLUGIN : public PCB_IO
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue