Move /Documentation to /doxygen
This commit is contained in:
parent
98c7572f5e
commit
98d9911c7d
|
@ -32,8 +32,7 @@ Testing
|
|||
version.h
|
||||
config.h
|
||||
install_manifest.txt
|
||||
Documentation/doxygen
|
||||
Documentation/development/doxygen
|
||||
doxygen/out
|
||||
*.bak
|
||||
*.pyc
|
||||
common/pcb_plot_params_keywords.cpp
|
||||
|
|
|
@ -995,11 +995,11 @@ if( KICAD_USE_SENTRY )
|
|||
endif()
|
||||
|
||||
#================================================
|
||||
# Add the documentation
|
||||
# Add the doxygen target
|
||||
#================================================
|
||||
find_package( Doxygen )
|
||||
|
||||
add_subdirectory( Documentation )
|
||||
add_subdirectory( doxygen )
|
||||
|
||||
# Generate config.h.
|
||||
configure_file( ${PROJECT_SOURCE_DIR}/CMakeModules/config.h.cmake
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -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.
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
|
@ -23,10 +23,10 @@
|
|||
|
||||
if( DOXYGEN_FOUND )
|
||||
add_custom_target( doxygen-docs
|
||||
${CMAKE_COMMAND} -E remove_directory Documentation/doxygen
|
||||
${CMAKE_COMMAND} -E remove_directory out
|
||||
COMMAND ${DOXYGEN_EXECUTABLE}
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
COMMENT "building doxygen docs into directory Documentation/doxygen/html"
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/doxygen
|
||||
COMMENT "building doxygen docs into directory doxygen/out"
|
||||
)
|
||||
|
||||
# Add the docset targets
|
|
@ -51,14 +51,14 @@ PROJECT_BRIEF =
|
|||
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
|
||||
# the logo to the output directory.
|
||||
|
||||
PROJECT_LOGO = Documentation/kicad_doxygen_logo.png
|
||||
PROJECT_LOGO = kicad_doxygen_logo.png
|
||||
|
||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
|
||||
# into which the generated documentation will be written. If a relative path is
|
||||
# entered, it will be relative to the location where doxygen was started. If
|
||||
# left blank the current directory will be used.
|
||||
|
||||
OUTPUT_DIRECTORY = Documentation/doxygen
|
||||
OUTPUT_DIRECTORY = out
|
||||
|
||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
||||
# directories (in 2 levels) under the output directory of each output format and
|
||||
|
@ -152,7 +152,7 @@ FULL_PATH_NAMES = NO
|
|||
# will be relative from the directory where doxygen is started.
|
||||
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
|
||||
|
||||
STRIP_FROM_PATH =
|
||||
STRIP_FROM_PATH = ../..
|
||||
|
||||
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
|
||||
# path mentioned in the documentation of a class, which tells the reader which
|
||||
|
@ -780,21 +780,21 @@ WARN_LOGFILE =
|
|||
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = 3d-viewer \
|
||||
bitmap2component \
|
||||
bitmaps_png \
|
||||
common \
|
||||
cvpcb \
|
||||
eeschema \
|
||||
gerbview \
|
||||
include \
|
||||
kicad \
|
||||
libs \
|
||||
pagelayout_editor \
|
||||
pcb_calculator \
|
||||
pcbnew \
|
||||
plugins \
|
||||
qa
|
||||
INPUT = ../3d-viewer \
|
||||
../bitmap2component \
|
||||
../bitmaps_png \
|
||||
../common \
|
||||
../cvpcb \
|
||||
../eeschema \
|
||||
../gerbview \
|
||||
../include \
|
||||
../kicad \
|
||||
../libs \
|
||||
../pagelayout_editor \
|
||||
../pcb_calculator \
|
||||
../pcbnew \
|
||||
../plugins \
|
||||
../qa
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
|
@ -1125,7 +1125,7 @@ HTML_FILE_EXTENSION = .html
|
|||
# of the possible markers and block names see the documentation.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_HEADER =
|
||||
HTML_HEADER = header.html
|
||||
|
||||
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
|
||||
# generated HTML page. If the tag is left blank doxygen will generate a standard
|
||||
|
@ -1160,7 +1160,7 @@ HTML_STYLESHEET =
|
|||
# list). For an example see the documentation.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_EXTRA_STYLESHEET =
|
||||
HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css
|
||||
|
||||
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
|
||||
# other source files which should be copied to the HTML output directory. Note
|
||||
|
@ -1170,7 +1170,9 @@ HTML_EXTRA_STYLESHEET =
|
|||
# files will be copied as-is; there are no commands or markers available.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_EXTRA_FILES =
|
||||
HTML_EXTRA_FILES = doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js \
|
||||
doxygen-awesome-css/doxygen-awesome-paragraph-link.js \
|
||||
doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js
|
||||
|
||||
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
|
||||
# will adjust the colors in the style sheet and background images according to
|
|
@ -38,10 +38,10 @@ if(DOXYGEN_FOUND AND DOXYTAG2ZEALDB AND SED)
|
|||
set(DOCSET_BUNDLE_ID KiCad)
|
||||
|
||||
# The source for the doxygen config
|
||||
set(SRC_DOXYFILE ${CMAKE_SOURCE_DIR}/Doxyfile)
|
||||
set(SRC_DOXYFILE ${CMAKE_SOURCE_DIR}/doxygen/Doxyfile)
|
||||
|
||||
# A new doxyfile with the original, plus some extra config
|
||||
set(DOCSET_DOXYFILE ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
||||
set(DOCSET_DOXYFILE ${CMAKE_CURRENT_BINARY_DIR}}/doxygen/Doxyfile)
|
||||
|
||||
# Various pieces of the docset
|
||||
set(DOCSET_LOC ${CMAKE_CURRENT_BINARY_DIR}/doxygen/html/${DOCSET_BUNDLE_ID}.docset)
|
Before Width: | Height: | Size: 271 B After Width: | Height: | 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;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -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 -->
|
Loading…
Reference in New Issue