23 changed files with 2695 additions and 5662 deletions
-
3.gitignore
-
4CMakeLists.txt
-
1547Documentation/changelogs/CHANGELOG-2007.txt
-
1561Documentation/changelogs/CHANGELOG-2008.txt
-
1013Documentation/changelogs/CHANGELOG-2009.txt
-
1010Documentation/changelogs/CHANGELOG-2010.txt
-
297Documentation/changelogs/CHANGELOG-2011.txt
-
204Documentation/changelogs/CHANGELOG-2012.txt
-
BINDocumentation/kicad_doxygen_logo.png
-
BINDocumentation/notes_about_pcbnew_new_file_format.odt
-
6doxygen/CMakeLists.txt
-
44doxygen/Doxyfile
-
0doxygen/DoxygenLayout.xml
-
4doxygen/docset/CMakeLists.txt
-
0doxygen/docset/icon-16.png
-
157doxygen/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js
-
85doxygen/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js
-
51doxygen/doxygen-awesome-css/doxygen-awesome-paragraph-link.js
-
40doxygen/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css
-
113doxygen/doxygen-awesome-css/doxygen-awesome-sidebar-only.css
-
2137doxygen/doxygen-awesome-css/doxygen-awesome.css
-
0doxygen/eagle-plugin-notes.txt
-
81doxygen/header.html
1547
Documentation/changelogs/CHANGELOG-2007.txt
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1561
Documentation/changelogs/CHANGELOG-2008.txt
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1013
Documentation/changelogs/CHANGELOG-2009.txt
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1010
Documentation/changelogs/CHANGELOG-2010.txt
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,297 +0,0 @@ |
|||
KiCad ChangeLog 2011 |
|||
==================== |
|||
|
|||
Please add newer entries at the top, list the date and your name with |
|||
email address. |
|||
|
|||
|
|||
2011-Dec-19, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> |
|||
================================================================================ |
|||
Pcbnew: |
|||
Enhanced algorithms to calculate board connections: |
|||
- A track is seen connected to a pad if the track end is inside the pad shape. |
|||
- Pads inside pads are now seen connected, if the center of the pad is |
|||
*inside* the other pad. |
|||
(this is made to be sure a large copper area is shared by the 2 pads, |
|||
and to keep algorithm fast). |
|||
Algorithm to calculate pads connections is still very fast. |
|||
However some other functions (drag pads, track len calculation ...) |
|||
still need the track end exactly on the pad position. |
|||
|
|||
|
|||
2011-Dec-13 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++common |
|||
* changed all the RotatePoint() functions in trigo.{h,cpp} to take a double as the |
|||
angle, which is still in tenths of degrees for now. |
|||
* EDA_TEXT::m_Orient is now double, still in tenths of degrees (for a short while), |
|||
but the double means parsing files and saving them use a different format string. |
|||
++pcbnew |
|||
* DRAWSEGMENT::GetStart() and GetEnd() do not operate for S_ARC like they used to. |
|||
They are now simply accessors for m_Start and m_End. Use DRAWSEGMENT::GetArcStart() |
|||
and GetArcEnd() and GetCenter() for arcs. specctra_export.cpp was the only |
|||
source file dependent on the old behavior. |
|||
* DIMENSION::m_Text is now contained, not dynamically allocated. |
|||
* more kicad_plugin work. |
|||
|
|||
|
|||
2011-Dec-9 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++PCBNew |
|||
* added BOARD::GetPad(int), made BOARD::m_NetInfo private, and contained |
|||
within the BOARD, not dynamically allocated and owned via pointer. |
|||
* added BOARD::GetPadCount() |
|||
* changed NETINFO_LIST::GetCount() to GetNetCount() |
|||
* added BOARD::GetNetCount() |
|||
* more kicad_plugin work. |
|||
|
|||
2011-Dec-5 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++PCBNew |
|||
* Removed Pcb_Frame argument from BOARD() constructor, since it precludes |
|||
having a BOARD being edited by more than one editor, it was a bad design. |
|||
And this meant removing m_PcbFrame from BOARD. |
|||
* removed BOARD::SetWindowFrame(), since BOARD::m_PcbFrame gone. |
|||
* Removed the global BOARD_DESIGN_SETTINGS which was in class_board.cpp |
|||
* Added BOARD_DESIGN_SETTINGS to the BOARD class, a full instance |
|||
* A couple of dialogs now only change BOARD_DESIGN_SETTINGS when OK is pressed, |
|||
such as dialog_mask_clearance, dialog_drc, etc. |
|||
* Removed common/pcbcommon.cpp's int g_CurrentVersionPCB = 1 and replaced it |
|||
with build_version.h's #define BOARD_FILE_VERSION, although there may be a |
|||
better place for this constant. |
|||
* Made the public functions in PARAM_CFG_ARRAY be type const. |
|||
void SaveParam(..) const and void ReadParam(..) const |
|||
* PARAM_CFG_BASE now has virtual destructor since we have various ways of |
|||
destroying the derived classes and boost::ptr_vector must be told about this. |
|||
* Pass const PARAM_CFG_ARRAY& instead of PARAM_CFG_ARRAY so that we can use |
|||
an automatic PARAM_CFG_ARRAY which is on the stack. |
|||
* PCB_EDIT_FRAME::GetProjectFileParameters() may no longer cache the array, |
|||
since it has to access the current BOARD and the BOARD can change. |
|||
Remember BOARD_DESIGN_SETTINGS are now in the BOARD. |
|||
* Made the m_BoundingBox member private, this was a brutally hard task, |
|||
and indicative of the lack of commitment to accessors and object oriented |
|||
design on the part of KiCad developers. We must do better. |
|||
Added BOARD::GetBoundingBox, SetBoundingBox(), ComputeBoundingBox(). |
|||
* Added PCB_BASE_FRAME::GetBoardBoundingBox() which calls BOARD::ComputeBoundingBox() |
|||
|
|||
|
|||
2011-Dec-04, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> |
|||
================================================================================ |
|||
Pcbnew: |
|||
Enhanced algorithms to calculate board connections: |
|||
Previously, a track was seen connected to a pad only if the track end is |
|||
exactly on the pad position. |
|||
Now a track is seen connected to a pad if the track end is inside the pad shape. |
|||
Algorithm to calculate pads connections to track is still very fast. |
|||
However some other functions (drag pads, track len calculation ...) |
|||
still need the track end exactly on the pad position. |
|||
|
|||
2011-Nov-27 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++PCBNew |
|||
* Add PLUGIN and IO_MGR classes. |
|||
* Remove one argument from BOARD constructor, |
|||
* add BOARD::SetWindowFrame() |
|||
|
|||
2011-sept-13 UPDATE Wayne Stambaugh <stambaughw@verizon.net> |
|||
================================================================================ |
|||
PCBNew locate code refactoring. |
|||
|
|||
* Move various locate functions into the appropriate board item object. |
|||
* Unified best zoom for all frames derived from PCB_BASE_FRAME. |
|||
* Remove track.cpp as it is no longer needed. |
|||
* Dead code removal. |
|||
* Remove scary frame window pointer member from board item objects. |
|||
* Add draw bounding box to gerber draw item for debugging purposes. |
|||
|
|||
2012-Sept-8 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++all |
|||
* Write an automatic bitmap generation script in cmake, PNG2cpp.cmake |
|||
* Write an infrastructure generate *.png files from inkscape files, and do |
|||
it maintaing the "as needed" change detection support. |
|||
* Support an *.SVG maintainer mode, AND an *.SVG user mode. |
|||
* Engineer a seemless switchover from old style xpm files, with minimal |
|||
impact to system wide source code. |
|||
|
|||
2011-Sept-07, UPDATE Andrey Fedorushkov <andrf@mail.ru> |
|||
================================================================================ |
|||
Pcbnew: |
|||
Add hotkey "P" - place item |
|||
Add Roman Bashkov patch for record/play sequence hotkey macros |
|||
Add record and play macros for sequence hotkey. |
|||
Macros set to numeric key 0..9: |
|||
<Ctrl>+<numkey> - start record macros |
|||
<hotkey> <mouse move> ... <hotkey>|<mouse place> |
|||
<Ctrl>+<numkey> - end record macros |
|||
<numkey> - play macros |
|||
Add menu save/read macros to/from xml-file |
|||
Add configure rotate angle for rotate module: 45 or 90 deg. |
|||
Fix segfault when move/drag segment if disconnected to pad |
|||
|
|||
2011-Sept-01, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> |
|||
================================================================================ |
|||
Add Fabrizio Tappero <fabrizio-dot-tappero[at]gmail-dot-com> in contributors list. |
|||
Eeschema: |
|||
Graphic texts ans labels: fix fully broken undo/redo code relative to the way undo/redo command |
|||
handles changes (maintly move) for labels |
|||
Fix minor bug for undo command relative to block rotate |
|||
Remove dead code. |
|||
Add new class BITMAP_BASE, and (for Eeschema) SCH_BITMAP to handle bitmap images in schematic. |
|||
Remember plot Bitmaps in not possble with all plotters. |
|||
|
|||
|
|||
2011-Aug-19, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> |
|||
================================================================================ |
|||
Pcbnew: |
|||
Add support for not plated through holes (NPTH) pads |
|||
* These NPTH pads are used for mechanical purpose only, and cannot be connected to a net. |
|||
* When these pads have a same size and shape for the hole and the pad, the pad is not plotted |
|||
in GERBER files. |
|||
|
|||
2011-Apr-12, UPDATE Jerry Jacobs <xor.gate.engineering@gmail.com> |
|||
================================================================================ |
|||
Minor UI changes that affect OS X platform. |
|||
- Fix for opening the help contents |
|||
- Fix for opening files with the default editor |
|||
- Fix for opening PDF files |
|||
|
|||
Solved all with the BSD open command, for other OS'es which have X11 and |
|||
utilities they can use the xdg-open command which I added to the pdf viewer tries |
|||
list. |
|||
|
|||
Kicad projectview: |
|||
Remove not-existing files when a empty project is created, this confuses when |
|||
users try to open it. Show a entry that the project is empty instead of these |
|||
void files. |
|||
|
|||
2011-Apr-6, UPDATE Jerry Jacobs <xor.gate.engineering@gmail.com> |
|||
================================================================================ |
|||
Cleanup of all the menubar code to have the same style, remove the C comments. |
|||
Make the wxMenu behave native on OSX for KiCad, CvPCB and Gerbview and remove |
|||
unneeded ifdefs when using the wxIDs. Add a OnQuit for the gerber frame. |
|||
Change item->SetBitmap( item ) to use macro SET_BITMAP for menu items. |
|||
|
|||
2011-Apr-4, UPDATE Jerry Jacobs <xor.gate.engineering@gmail.com> |
|||
================================================================================ |
|||
More native OSX changes, this removes some WXMAC defines replaced by wxID |
|||
macros. These are handled by wxWidgets itself and reduces in-app platform |
|||
defines. More work needs to be done for CvPCB and Gerbview. |
|||
|
|||
All: |
|||
Hotkey names in menu's all have tabs, this looks more uniform and pretty. |
|||
|
|||
EESschema & PCBNew: |
|||
Fix about and preferences wxMenu to be more native (remove unneeded WXMAC ) |
|||
Disable all icons in wxMenu on OSX with macro SETBITMAPS |
|||
|
|||
jp charras: |
|||
SETBITMAPS is incorrectly used here. change to SET_BITMAP |
|||
|
|||
2011-Mar-25 UPDATE Wayne Stambaugh <stambaughw@verizon.net> |
|||
================================================================================ |
|||
EESchema multiple item hit testing and other minor improvements. |
|||
|
|||
* Add item clarification context menu to EESchema when multiple unresolved |
|||
items are found at the current cross hair position. |
|||
* Add collector class EE_COLLECTOR for supporting multiple item hit testing. |
|||
* Removed bit wise masked filtering from schematic item hit testing. |
|||
* Removed all old hit testing functions and methods scattered about the |
|||
EESchema source code. |
|||
* Move terminal point test function into SCH_SCREEN object. |
|||
* Fixed bug in terminal point test when terminating a bus to a label. |
|||
* Define the < operator for sorting schematic items. |
|||
* Add area calculation method to EDA_Rect item. |
|||
* Add method for returning an item's bitmap for menu display purposes. |
|||
* Add method for returning an item's menu text for menu display purposes. |
|||
* Changed EDA_ITEMS container from boost::ptr_vector to std::vector. |
|||
* Factor coordinate string conversion code from EDA_DRAW_FRAME to function CoordinateToString(). |
|||
|
|||
2011-Mar-16, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> |
|||
================================================================================ |
|||
Gerbview: |
|||
Added: read Excellon files created by Pcbnew. |
|||
The full Excellon command set is not supported, but drill files created by Pcbnew are supported. |
|||
|
|||
2011-Feb-05, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> |
|||
================================================================================ |
|||
CvPcb: |
|||
Code cleanup. Rename WinEDA_CvpcbFrame to CVPCB_MAINFRAME, |
|||
according to coding style policy. |
|||
Change in CvPcb: |
|||
CvPcb does not use now .dcm files, only .mod files, |
|||
to read modules keywords and doc |
|||
|
|||
|
|||
2011-Feb-2 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++common: |
|||
* macros.h now has TO_UTF8() and FROM_UTF8() which are working converters |
|||
to and from UTF-8 encoding for any wxWidgets build mode. We can switch to |
|||
them at any time. I am using them now for specctra conversions and |
|||
elsewhere where I wanted gauranteed UTF8 encoding. |
|||
* added OUTPUTFORMATTER::Quoted( const wxString& ) to simplify converting |
|||
to UTF8 encoded s-expression atoms. The recommended technique is now simply: |
|||
out->Quoted( wxString ).c_str() |
|||
|
|||
2011-Jan-30 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++all: |
|||
* DSNLEXER::NextTok() now uses two separate modes to parse quoted strings. |
|||
This gives us the freedom to control our own destiny separate from the |
|||
constraints put on us by the Specctra DSN spec. |
|||
* Added Documentation/s-expressions.txt to explain all this. |
|||
* Enhanced our quoting protocol by moving away from doubling up double quotes |
|||
to a C like escape mechanism. |
|||
* Now support multi-line strings, which when properly escaped, can still be |
|||
read in as a token originating on a single line. |
|||
|
|||
2011-Jan-21 UPDATE Wayne Stambaugh <stambaughw@verizon.net> |
|||
================================================================================ |
|||
EESchema code refactoring and coding policy naming fixes. |
|||
|
|||
* Move schematic wire and bus break code into schematic screen object. |
|||
* Move schematic test for dangling ends into schematic screen object. |
|||
* Remove left over debugging output in schematic screen object. |
|||
* Remove unused file eeschema/cleanup.cpp. |
|||
* Fix bug in schematic line object hit test algorithm. |
|||
* Fix a string concatenation compile error added in r2752. |
|||
* Rename class WinEDA_BasicFrame to EDA_BASE_FRAME. |
|||
* Rename class WinEDA_DrawFrame to EDA_DRAW_FRAME. |
|||
* Rename class WinEDA_DrawPanel to EDA_DRAW_PANEL. |
|||
|
|||
2011-Jan-19 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++all: |
|||
* TokenList2DsnLexer.cmake now supports comments, which start with a leading |
|||
# character, and may be either on their own line or on a line after a token. |
|||
* DSNLEXER::PopReader() now pops even the last LINE_READER* and returns it. |
|||
++pcbnew: |
|||
* SPECCTRA_DB now inherits from new class SPECCTRA_LEXER, which led to a great |
|||
deal of simplification and code factoring. |
|||
* Moved specctra keywords into specctra.keywords. |
|||
|
|||
2011-Jan-17 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++all: |
|||
* TokenList2DsnLexer.cmake now wraps each token enum in its own namespace. It |
|||
also no longer setup of the "using" directive in the header file, which was |
|||
bad behavior. C++ enum values will have name collisions unless the enums |
|||
themselves are different namespaces. |
|||
++new: |
|||
* Sweet library is now a DSO/DLL. |
|||
* Brought in SWIG to do a wrap of the Sweet DSO/DLL for unit testing |
|||
and scripting. The SWIG DSO/DLLs are built separate from the Sweet DSO/DLL |
|||
and are also optional. |
|||
|
|||
2011-Jan-1 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++new: |
|||
* Added the basic structure to the Sweet parser in sch_part.cpp. |
|||
* Got inheritence working off of the 'extends' keyword and PART::inherit() |
|||
* Tossed the units support out of sweet.keywords, since we agreed to go dimensionless. |
|||
++richio: |
|||
* Added the problemInputLine support to PARSE_ERROR, so UI can show the |
|||
offending line of bytes. Yes bytes, not even guaranteed to be characters. |
|||
|
|||
|
|||
@ -1,204 +0,0 @@ |
|||
KiCad ChangeLog 2012 |
|||
==================== |
|||
|
|||
Please add newer entries at the top, list the date and your name with |
|||
email address. |
|||
|
|||
2012-Nov-19 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
Eliminate many assumptions in Pcbnew's library manager, pertaining to locality of libraries and |
|||
their type, by using the more abstract PLUGIN::Footprint*() functions. |
|||
|
|||
This is an intermediate phase only, other changes will be necessary as library table support comes in. |
|||
Encapsulate usage of library path searching, since that will go away as library table support comes in. |
|||
Add FOOTPRINT_EDIT_FRAME::{get,set}LibPath() and FOOTPRINT_EDIT_FRAME::{get,set}LibNickName() functions |
|||
to provide this encapsulation. |
|||
|
|||
2012-Nov-14 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
1) Switch to boost hashtable support from wx macros which did not handle std::string. |
|||
This required the additional compiler command line option "-std=c++0x". |
|||
|
|||
2) Switch to unique_ptr from auto_ptr which is C++ deprecated. |
|||
|
|||
3) Change to new English layer names per mailing list discussion, see class_board.cpp. |
|||
|
|||
4) When saving to *.kicad_pcb or *.kicad_mod, identify opportunities to use wildcard |
|||
layer sets, for pads so far. |
|||
|
|||
5) Switch to two std::string hashtables in pcb_parser.cpp, away from one wxString based one |
|||
for layer names and layer sets mapping. One hashtable holds the mask, the other the index. |
|||
Layer sets are only in the mask table. |
|||
|
|||
6) Move "LOCALE_IO toggle" into PCB_IO::Format() since it is a public API function and |
|||
caller should find it as convenient as possible to use. LOCALE_IO should handle |
|||
nesting OK in the case where public Format() is called from one of the Footprint*() |
|||
functions. |
|||
|
|||
7) Drop support for "export module to new library". Creating new libraries will have to |
|||
be handled in concert with library table entries, and we've talked recently about |
|||
creating a better footprint library manager, one that resides in a DLL/DSO. So |
|||
this kind of functionality needs to be handled in there in the near future. |
|||
|
|||
8) Change name of exported PCB_IO module/footprint to *.kicad_mod and not *.emp. |
|||
|
|||
|
|||
|
|||
2012-May-5 UPDATE Jerry Jacobs <jerry@xor-gate.org> |
|||
================================================================================ |
|||
++ common |
|||
* Update about dialog to more native size so the notebook is not squeezed |
|||
* Increment copyright year to 2012 |
|||
* Fix mousezoom jumping to center for Mac OS X and other platforms |
|||
* Remove lowercase application name because Mac OS X menubar was inconsitent |
|||
|
|||
2012-Mar-11 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++pcbnew |
|||
* Add PCB_EDIT_FRAME::syncLayerVisibilities(), PCB_LAYER_MANAGER::SyncLayerVisibilities(). |
|||
* Save all visibilities, layer and render, in BOARD and restore on load. |
|||
|
|||
|
|||
2012-Feb-19 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++pcbnew |
|||
* Remove virtual BOARD_ITEM::{Get,Set}Position() which in turn means all |
|||
derived classes' implementations of these functions become non virtual and |
|||
can be truly _inlined_ for speed! All GetPosition() in derived classes were also |
|||
changed to return const wxPoint&, that is, a reference rather than a |
|||
full copy of the position wxPoint. There was no need for polymorphism in |
|||
{Get,Set}Position() since we never call these functions via generic pointer. |
|||
* Remove BOARD::{Get,Set}Position() since they were only there to satisfy |
|||
the pure virtuals established in BOARD_ITEM, which are now gone. |
|||
* Added const wxPoint& CPolyLine::GetPos(), made CPolyLine::Get{X,Y}() inline. |
|||
* Derive CPolyPt from wxPoint so we can return "const wxPoint&" from |
|||
CPolyLine::GetPos(). |
|||
|
|||
|
|||
2012-Feb-19 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++pcbnew |
|||
* remove global g_Pad_Master and put it into BOARD_DESIGN_SETTINGS |
|||
which is in turn already within BOARD. |
|||
* encapsulate class D_PAD with accessors, making data private. |
|||
* make D_PAD::GetBoundingRadius() do its longer calculation lazily, based on |
|||
m_boundingRadius == -1. |
|||
|
|||
|
|||
2012-Feb-5 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++pcbnew |
|||
* Changed classs ZONE_SETTING to class ZONE_SETTINGS, better English. |
|||
* Changed ZONE_SETTINGS::Import() to operator << ( ZONE_CONTAINER ) |
|||
* move globals into BOARD: |
|||
bool g_Zone_45_Only, is now in BOARD::m_zoneSettings.m_Zone_45_Only |
|||
ZONE_SETTINGS g_Zone_Default_Setting is now in BOARD::m_zoneSettings |
|||
* Added BOARD::{Get,Set}ZoneSettings(). |
|||
* Added PCB_BASE_FRAME::{Get,Set}ZoneSettings(). |
|||
* Save/load BOARD::m_zoneSettings.m_Zone_45_Only to/from BOARD file. |
|||
* Removed PCB_EDIT_FRAME::InstallDialogNonCopperZonesEditor() in favor of |
|||
::InvokeNonCopperZonesEditor() declared in zones.h |
|||
* Added ::InvokeCopperZonesEditor() declared in zones.h |
|||
* Removed dialog_copper_zones.h since DIALOG class is now declared in *.cpp. |
|||
* Renamed to enum ZONE_EDIT_T in zones.h |
|||
* SetVisibleAlls() is not called as it was in two previous cases for several |
|||
reasons. BOARD_DESIGN_SETTINGS constructor controls what is visible initially, |
|||
and in the near future so will the *.brd file. I believe the user should |
|||
have visibility setting rentention accross editing sessions of zones, |
|||
fields, etc. |
|||
* BOARD_DESIGN_SETTINGS constructor initializes hidden text as not visible. |
|||
* Added PCB_EDIT_FRAME::syncRenderStates() and PCB_LAYER_WIDGET::SyncRenderStates() |
|||
so the checkboxes can be set after loading a BOARD file containing previous |
|||
visibility settings. |
|||
|
|||
2012-Feb-2 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++pcbnew |
|||
* move globals into BOARD |
|||
-wxSize g_ModuleTextSize; /* Default footprint texts size */ |
|||
-int g_ModuleSegmentWidth; |
|||
-int g_ModuleTextWidth; |
|||
But now the module editor is left hanging. I'll have to figure out |
|||
a way to pass from board editor to module editor these values, still. |
|||
|
|||
|
|||
2012-Feb-01, UPDATE Jean-Pierre Charras <jp.charras@wanadoo.fr> |
|||
================================================================================ |
|||
Pcbnew: |
|||
Cvpcb: |
|||
more about new netlist format: |
|||
Cvpcb can now read new netlist format. |
|||
There is a big change in Cvpcb: now Cvpcb just creates or updates a .cmp file |
|||
Before this change, Cvpcb recreated the netlist (adding footprint info) |
|||
and updated the .cmp file. |
|||
But there is no reason to modify the netlist, because Pcbnew uses always the .cmp file |
|||
(when exists) to know the footprint selection for components. |
|||
Currently the netlist is used only when the corresponding .cmp file is not fount |
|||
to select footprints. |
|||
So users should not notice this important change. |
|||
|
|||
2012-Jan-26, UPDATE Jean-Pierre Charras <jp.charras@wanadoo.fr> |
|||
================================================================================ |
|||
Pcbnew: |
|||
First draft to use a new netlist format (using S expressions) |
|||
Eeschema can generate this netlist format. |
|||
Pcbnew can use (automatic identification) the current format or the new format. |
|||
Cvpcb does not use yet the new format. |
|||
To do: |
|||
New format in Cvpcb: how to use the .cmp file with the new netlist format |
|||
|
|||
|
|||
2012-Jan-22 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++all |
|||
* Switch to C++'s true and false and away from C" TRUE and FALSE. |
|||
* Enhance class PLUGIN's comments to improve their value as instructional. |
|||
* Switch #includes from "file.h" to <file.h>, and fiddle with search paths |
|||
by using include_directories(BEFORE ...) |
|||
* dialog_page_settings did not have symmetrical space on its right border. |
|||
And it now remembers it last position and size within a program session. |
|||
* base_screen.cpp is now compiled twice, once for {pcbnew,cvpcb} and once |
|||
for eeschema, in preparation for "compile time" support of internal units |
|||
rather than "runtime" support. |
|||
|
|||
|
|||
2012-Jan-15 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++all |
|||
Add "portrait" support to the page size settings for all standard paper |
|||
sizes. Tested with postscript output only. Required minor file format changes |
|||
to reflect the "portrait" setting. common/dialogs/dialog_page_settings.cpp |
|||
uses a checkbox but its name is "Landscape", which is inverted from portrait, |
|||
but since it is the more common choice, I used that rather than portrait. |
|||
The tooltip for that checkbox makes it clear. No portrait mode is supported |
|||
for "User" paper size. |
|||
|
|||
|
|||
2012-Jan-9 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++all |
|||
* Carve out TITLE_BLOCK from BASE_SCREEN |
|||
* Add include/hashtables.h and put class PROPERTIES in there. |
|||
Change PROPERTIES to use "const char*" as the key instead of wxString. |
|||
++eeschema |
|||
* Add shim class SCH_BASE_FRAME which introduces the data model SCH_SCREEN |
|||
to the frame EESCHEMA frame class hierarchy and allows sharing of: |
|||
SCH_SCREEN* GetScreen() const; // overload EDA_DRAW_FRAME |
|||
void SetPageSettings( const PAGE_INFO& aPageSettings ); // overload EDA_DRAW_FRAME |
|||
const PAGE_INFO& GetPageSettings () const; // overload EDA_DRAW_FRAME |
|||
const wxSize GetPageSizeIU() const; // overload EDA_DRAW_FRAME |
|||
const wxPoint& GetOriginAxisPosition() const; // overload EDA_DRAW_FRAME |
|||
void SetOriginAxisPosition( const wxPoint& aPosition ); // overload EDA_DRAW_FRAME |
|||
const TITLE_BLOCK& GetTitleBlock() const; // overload EDA_DRAW_FRAME |
|||
void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ); // overload EDA_DRAW_FRAME |
|||
|
|||
|
|||
2012-Jan-5 UPDATE Dick Hollenbeck <dick@softplc.com> |
|||
================================================================================ |
|||
++all |
|||
Ki_PageDescr was re-written as a proper C++ class and renamed to PAGE_INFO. |
|||
It describes paper. The m_Offset field was dropped since it was only used |
|||
in HPGL plotting within EESCHEMA. PAGE_INFO instance was moved out of |
|||
BASE_SCREEN (which is on its way out) into both SCH_SCREEN and BOARD. |
|||
|
|||
|
|||
|
Before Width: 54 | Height: 54 | Size: 1.5 KiB |
|
Before Width: 16 | Height: 16 | Size: 271 B After Width: 16 | Height: 16 | Size: 271 B |
@ -0,0 +1,157 @@ |
|||
/** |
|||
|
|||
Doxygen Awesome |
|||
https://github.com/jothepro/doxygen-awesome-css
|
|||
|
|||
MIT License |
|||
|
|||
Copyright (c) 2021 - 2022 jothepro |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
|||
|
|||
*/ |
|||
|
|||
class DoxygenAwesomeDarkModeToggle extends HTMLElement { |
|||
// SVG icons from https://fonts.google.com/icons
|
|||
// Licensed under the Apache 2.0 license:
|
|||
// https://www.apache.org/licenses/LICENSE-2.0.html
|
|||
static lightModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FCBF00"><rect fill="none" height="24" width="24"/><circle cx="12" cy="12" opacity=".3" r="3"/><path d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg>` |
|||
static darkModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FE9700"><rect fill="none" height="24" width="24"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27 C17.45,17.19,14.93,19,12,19c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z" opacity=".3"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg>` |
|||
static title = "Toggle Light/Dark Mode" |
|||
|
|||
static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode" |
|||
static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode" |
|||
|
|||
static _staticConstructor = function() { |
|||
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.userPreference) |
|||
// Update the color scheme when the browsers preference changes
|
|||
// without user interaction on the website.
|
|||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { |
|||
DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() |
|||
}) |
|||
// Update the color scheme when the tab is made visible again.
|
|||
// It is possible that the appearance was changed in another tab
|
|||
// while this tab was in the background.
|
|||
document.addEventListener("visibilitychange", visibilityState => { |
|||
if (document.visibilityState === 'visible') { |
|||
DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() |
|||
} |
|||
}); |
|||
}() |
|||
|
|||
static init() { |
|||
$(function() { |
|||
$(document).ready(function() { |
|||
const toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle') |
|||
toggleButton.title = DoxygenAwesomeDarkModeToggle.title |
|||
toggleButton.updateIcon() |
|||
|
|||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { |
|||
toggleButton.updateIcon() |
|||
}) |
|||
document.addEventListener("visibilitychange", visibilityState => { |
|||
if (document.visibilityState === 'visible') { |
|||
toggleButton.updateIcon() |
|||
} |
|||
}); |
|||
|
|||
$(document).ready(function(){ |
|||
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton) |
|||
}) |
|||
$(window).resize(function(){ |
|||
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton) |
|||
}) |
|||
}) |
|||
}) |
|||
} |
|||
|
|||
constructor() { |
|||
super(); |
|||
this.onclick=this.toggleDarkMode |
|||
} |
|||
|
|||
/** |
|||
* @returns `true` for dark-mode, `false` for light-mode system preference |
|||
*/ |
|||
static get systemPreference() { |
|||
return window.matchMedia('(prefers-color-scheme: dark)').matches |
|||
} |
|||
|
|||
/** |
|||
* @returns `true` for dark-mode, `false` for light-mode user preference |
|||
*/ |
|||
static get userPreference() { |
|||
return (!DoxygenAwesomeDarkModeToggle.systemPreference && localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)) || |
|||
(DoxygenAwesomeDarkModeToggle.systemPreference && !localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey)) |
|||
} |
|||
|
|||
static set userPreference(userPreference) { |
|||
DoxygenAwesomeDarkModeToggle.darkModeEnabled = userPreference |
|||
if(!userPreference) { |
|||
if(DoxygenAwesomeDarkModeToggle.systemPreference) { |
|||
localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey, true) |
|||
} else { |
|||
localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey) |
|||
} |
|||
} else { |
|||
if(!DoxygenAwesomeDarkModeToggle.systemPreference) { |
|||
localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey, true) |
|||
} else { |
|||
localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey) |
|||
} |
|||
} |
|||
DoxygenAwesomeDarkModeToggle.onUserPreferenceChanged() |
|||
} |
|||
|
|||
static enableDarkMode(enable) { |
|||
if(enable) { |
|||
DoxygenAwesomeDarkModeToggle.darkModeEnabled = true |
|||
document.documentElement.classList.add("dark-mode") |
|||
document.documentElement.classList.remove("light-mode") |
|||
} else { |
|||
DoxygenAwesomeDarkModeToggle.darkModeEnabled = false |
|||
document.documentElement.classList.remove("dark-mode") |
|||
document.documentElement.classList.add("light-mode") |
|||
} |
|||
} |
|||
|
|||
static onSystemPreferenceChanged() { |
|||
DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference |
|||
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) |
|||
} |
|||
|
|||
static onUserPreferenceChanged() { |
|||
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) |
|||
} |
|||
|
|||
toggleDarkMode() { |
|||
DoxygenAwesomeDarkModeToggle.userPreference = !DoxygenAwesomeDarkModeToggle.userPreference |
|||
this.updateIcon() |
|||
} |
|||
|
|||
updateIcon() { |
|||
if(DoxygenAwesomeDarkModeToggle.darkModeEnabled) { |
|||
this.innerHTML = DoxygenAwesomeDarkModeToggle.darkModeIcon |
|||
} else { |
|||
this.innerHTML = DoxygenAwesomeDarkModeToggle.lightModeIcon |
|||
} |
|||
} |
|||
} |
|||
|
|||
customElements.define("doxygen-awesome-dark-mode-toggle", DoxygenAwesomeDarkModeToggle); |
|||
@ -0,0 +1,85 @@ |
|||
/** |
|||
|
|||
Doxygen Awesome |
|||
https://github.com/jothepro/doxygen-awesome-css
|
|||
|
|||
MIT License |
|||
|
|||
Copyright (c) 2022 jothepro |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
|||
|
|||
*/ |
|||
|
|||
class DoxygenAwesomeFragmentCopyButton extends HTMLElement { |
|||
constructor() { |
|||
super(); |
|||
this.onclick=this.copyContent |
|||
} |
|||
static title = "Copy to clipboard" |
|||
static copyIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>` |
|||
static successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>` |
|||
static successDuration = 980 |
|||
static init() { |
|||
$(function() { |
|||
$(document).ready(function() { |
|||
if(navigator.clipboard) { |
|||
const fragments = document.getElementsByClassName("fragment") |
|||
for(const fragment of fragments) { |
|||
const fragmentWrapper = document.createElement("div") |
|||
fragmentWrapper.className = "doxygen-awesome-fragment-wrapper" |
|||
const fragmentCopyButton = document.createElement("doxygen-awesome-fragment-copy-button") |
|||
fragmentCopyButton.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon |
|||
fragmentCopyButton.title = DoxygenAwesomeFragmentCopyButton.title |
|||
|
|||
fragment.parentNode.replaceChild(fragmentWrapper, fragment) |
|||
fragmentWrapper.appendChild(fragment) |
|||
fragmentWrapper.appendChild(fragmentCopyButton) |
|||
|
|||
} |
|||
} |
|||
}) |
|||
}) |
|||
} |
|||
|
|||
|
|||
copyContent() { |
|||
const content = this.previousSibling.cloneNode(true) |
|||
// filter out line number from file listings
|
|||
content.querySelectorAll(".lineno, .ttc").forEach((node) => { |
|||
node.remove() |
|||
}) |
|||
let textContent = content.textContent |
|||
// remove trailing newlines that appear in file listings
|
|||
let numberOfTrailingNewlines = 0 |
|||
while(textContent.charAt(textContent.length - (numberOfTrailingNewlines + 1)) == '\n') { |
|||
numberOfTrailingNewlines++; |
|||
} |
|||
textContent = textContent.substring(0, textContent.length - numberOfTrailingNewlines) |
|||
navigator.clipboard.writeText(textContent); |
|||
this.classList.add("success") |
|||
this.innerHTML = DoxygenAwesomeFragmentCopyButton.successIcon |
|||
window.setTimeout(() => { |
|||
this.classList.remove("success") |
|||
this.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon |
|||
}, DoxygenAwesomeFragmentCopyButton.successDuration); |
|||
} |
|||
} |
|||
|
|||
customElements.define("doxygen-awesome-fragment-copy-button", DoxygenAwesomeFragmentCopyButton) |
|||
@ -0,0 +1,51 @@ |
|||
/** |
|||
|
|||
Doxygen Awesome |
|||
https://github.com/jothepro/doxygen-awesome-css
|
|||
|
|||
MIT License |
|||
|
|||
Copyright (c) 2022 jothepro |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
|||
|
|||
*/ |
|||
|
|||
class DoxygenAwesomeParagraphLink { |
|||
// Icon from https://fonts.google.com/icons
|
|||
// Licensed under the Apache 2.0 license:
|
|||
// https://www.apache.org/licenses/LICENSE-2.0.html
|
|||
static icon = `<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-2zm-3-4h8v2H8z"/></svg>` |
|||
static title = "Permanent Link" |
|||
static init() { |
|||
$(function() { |
|||
$(document).ready(function() { |
|||
document.querySelectorAll(".contents a.anchor[id], .contents .groupheader > a[id]").forEach((node) => { |
|||
let anchorlink = document.createElement("a") |
|||
anchorlink.setAttribute("href", `#${node.getAttribute("id")}`) |
|||
anchorlink.setAttribute("title", DoxygenAwesomeParagraphLink.title) |
|||
anchorlink.classList.add("anchorlink") |
|||
node.classList.add("anchor") |
|||
anchorlink.innerHTML = DoxygenAwesomeParagraphLink.icon |
|||
node.parentElement.appendChild(anchorlink) |
|||
}) |
|||
}) |
|||
}) |
|||
} |
|||
} |
|||
@ -0,0 +1,40 @@ |
|||
|
|||
/** |
|||
|
|||
Doxygen Awesome |
|||
https://github.com/jothepro/doxygen-awesome-css |
|||
|
|||
MIT License |
|||
|
|||
Copyright (c) 2021 jothepro |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
|||
|
|||
*/ |
|||
|
|||
@media screen and (min-width: 768px) { |
|||
|
|||
#MSearchBox { |
|||
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - var(--searchbar-height) - 1px); |
|||
} |
|||
|
|||
#MSearchField { |
|||
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 66px - var(--searchbar-height)); |
|||
} |
|||
} |
|||
@ -0,0 +1,113 @@ |
|||
/** |
|||
|
|||
Doxygen Awesome |
|||
https://github.com/jothepro/doxygen-awesome-css |
|||
|
|||
MIT License |
|||
|
|||
Copyright (c) 2021 jothepro |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
|||
|
|||
*/ |
|||
|
|||
html { |
|||
/* side nav width. MUST be = `TREEVIEW_WIDTH`. |
|||
* Make sure it is wide enough to contain the page title (logo + title + version) |
|||
*/ |
|||
--side-nav-fixed-width: 335px; |
|||
--menu-display: none; |
|||
|
|||
--top-height: 120px; |
|||
} |
|||
|
|||
#projectname { |
|||
white-space: nowrap; |
|||
} |
|||
|
|||
|
|||
@media screen and (min-width: 768px) { |
|||
html { |
|||
--searchbar-background: var(--page-background-color); |
|||
} |
|||
|
|||
#side-nav { |
|||
min-width: var(--side-nav-fixed-width); |
|||
max-width: var(--side-nav-fixed-width); |
|||
top: var(--top-height); |
|||
overflow: visible; |
|||
} |
|||
|
|||
#nav-tree, #side-nav { |
|||
height: calc(100vh - var(--top-height)) !important; |
|||
} |
|||
|
|||
#nav-tree { |
|||
padding: 0; |
|||
} |
|||
|
|||
#top { |
|||
display: block; |
|||
border-bottom: none; |
|||
height: var(--top-height); |
|||
margin-bottom: calc(0px - var(--top-height)); |
|||
max-width: var(--side-nav-fixed-width); |
|||
overflow: hidden; |
|||
background: var(--side-nav-background); |
|||
} |
|||
#main-nav { |
|||
float: left; |
|||
padding-right: 0; |
|||
} |
|||
|
|||
.ui-resizable-handle { |
|||
cursor: default; |
|||
width: 1px !important; |
|||
box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color); |
|||
} |
|||
|
|||
#nav-path { |
|||
position: fixed; |
|||
right: 0; |
|||
left: var(--side-nav-fixed-width); |
|||
bottom: 0; |
|||
width: auto; |
|||
} |
|||
|
|||
#doc-content { |
|||
height: calc(100vh - 31px) !important; |
|||
padding-bottom: calc(3 * var(--spacing-large)); |
|||
padding-top: calc(var(--top-height) - 80px); |
|||
box-sizing: border-box; |
|||
margin-left: var(--side-nav-fixed-width) !important; |
|||
} |
|||
|
|||
#MSearchBox { |
|||
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium))); |
|||
} |
|||
|
|||
#MSearchField { |
|||
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 65px); |
|||
} |
|||
|
|||
#MSearchResultsWindow { |
|||
left: var(--spacing-medium) !important; |
|||
right: auto; |
|||
} |
|||
} |
|||
2137
doxygen/doxygen-awesome-css/doxygen-awesome.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,81 @@ |
|||
<!-- HTML header for doxygen 1.9.4--> |
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|||
<html xmlns="http://www.w3.org/1999/xhtml"> |
|||
<head> |
|||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
|||
<meta http-equiv="X-UA-Compatible" content="IE=11"/> |
|||
<meta name="generator" content="Doxygen $doxygenversion"/> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1"/> |
|||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME--> |
|||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME--> |
|||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/> |
|||
<!--BEGIN DISABLE_INDEX--> |
|||
<!--BEGIN FULL_SIDEBAR--> |
|||
<script type="text/javascript">var page_layout=1;</script> |
|||
<!--END FULL_SIDEBAR--> |
|||
<!--END DISABLE_INDEX--> |
|||
<script type="text/javascript" src="$relpath^jquery.js"></script> |
|||
<script type="text/javascript" src="$relpath^dynsections.js"></script> |
|||
$treeview |
|||
$search |
|||
$mathjax |
|||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" /> |
|||
$extrastylesheet |
|||
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script> |
|||
<script type="text/javascript" src="$relpath^doxygen-awesome-fragment-copy-button.js"></script> |
|||
<script type="text/javascript" src="$relpath^doxygen-awesome-paragraph-link.js"></script> |
|||
<script type="text/javascript"> |
|||
DoxygenAwesomeDarkModeToggle.init() |
|||
DoxygenAwesomeFragmentCopyButton.init() |
|||
DoxygenAwesomeParagraphLink.init() |
|||
</script> |
|||
</head> |
|||
<body> |
|||
<!--BEGIN DISABLE_INDEX--> |
|||
<!--BEGIN FULL_SIDEBAR--> |
|||
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! --> |
|||
<!--END FULL_SIDEBAR--> |
|||
<!--END DISABLE_INDEX--> |
|||
|
|||
<div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
|||
|
|||
<!--BEGIN TITLEAREA--> |
|||
<div id="titlearea"> |
|||
<table cellspacing="0" cellpadding="0"> |
|||
<tbody> |
|||
<tr id="projectrow"> |
|||
<!--BEGIN PROJECT_LOGO--> |
|||
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td> |
|||
<!--END PROJECT_LOGO--> |
|||
<!--BEGIN PROJECT_NAME--> |
|||
<td id="projectalign"> |
|||
<div id="projectname">$projectname<!--BEGIN PROJECT_NUMBER--><span id="projectnumber"> $projectnumber</span><!--END PROJECT_NUMBER--> |
|||
</div> |
|||
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF--> |
|||
</td> |
|||
<!--END PROJECT_NAME--> |
|||
<!--BEGIN !PROJECT_NAME--> |
|||
<!--BEGIN PROJECT_BRIEF--> |
|||
<td> |
|||
<div id="projectbrief">$projectbrief</div> |
|||
</td> |
|||
<!--END PROJECT_BRIEF--> |
|||
<!--END !PROJECT_NAME--> |
|||
<!--BEGIN DISABLE_INDEX--> |
|||
<!--BEGIN SEARCHENGINE--> |
|||
<!--BEGIN !FULL_SIDEBAR--> |
|||
<td>$searchbox</td> |
|||
<!--END !FULL_SIDEBAR--> |
|||
<!--END SEARCHENGINE--> |
|||
<!--END DISABLE_INDEX--> |
|||
</tr> |
|||
<!--BEGIN SEARCHENGINE--> |
|||
<!--BEGIN FULL_SIDEBAR--> |
|||
<tr><td colspan="2">$searchbox</td></tr> |
|||
<!--END FULL_SIDEBAR--> |
|||
<!--END SEARCHENGINE--> |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
<!--END TITLEAREA--> |
|||
<!-- end header part --> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue