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.
* Warn the user that fields with no value and not it the field template list
will be removed from the component before exiting the edit component in
schematic dialog.
* Add a function to TEMPLATES class to check if template list contains a
field with a given name.
* Move the function to display the edit component in schematic dialog into
the SCH_EDIT_FRAME class.
* Doxygen and coding style policy fixes.
* Add general purpose user write permission test function to base
window class.
* Check user write permissions before saving project, schematic and
library files.
* Remove displaying file dialog every time the project file is saved.
* Display absolute paths for non-root sheet file in title bar.
* Remove redundant command table entry from schematic editor.
* Remove unused variables to fix GCC 4.6 warnings.
* The usual Doxygen comment and coding style policy fixes.
* Move code from function ClearProjectDrawList() into SCH_SCREEN object
Clear() method.
* Delete eeschema/delsheet.cpp as none of the code in it is ever called.
* Move global spice and net list command line variables into SCH_EDIT_FRAME
object as priviate members and provide access methods.
* Remove unnecessary header includes from eeschema/sheet.cpp.
* Minor coding policy fixes.
* Fix debug build warning (lp:793373).
* Changed sheet edit restore and undo to use object copy and replace method.
* Add minimum width and height constraints when resizing sheets that have
hierarchical pins.
* Fix drag sheet hot key bug.
* Change Doxygen configuration to extract private methods and members
when creating documentation.
* Fix a bunch of Doxygen comment warnings.
* Add drag context menu entry for junctions that actually form a junction
with wires to EESchema.
* Add function to test for junctions to SCH_COLLECTOR class.
* Create annotate type and sort order enums to eliminate magic numbers
used in annotate code.
* Remove duplicate Doxygen comments from annotate.cpp and improve the
actual Doxygen comments in wxEeschemaStruct.h.
* Change class WinEDA_MsgPanel name to EDA_MSG_PANEL per coding policy.
* Change some old set message panel code in PCBNew with updated message
panel methods in EDA_DRAW_FRAME.
* Remove unused global function Affiche_1_Parametre.
* Minor Doxygen warning fixes.
* Component moves can now be undone do to incorrect virtual method declaration
in schematic component object.
* Undoing a field move now redraws the undone field properly.
* Fix bug when after aborting a field move kept displaying context menu
field items.
* Removed unused current field member variable and access methods from the
schematic edit frame object.
* Update component move code to comply with coding policy.
* Move undo item copy global variable into schematic editor frame object
member variable.
* Add helper methods for accessing the undo item copy member variable.
* Fix undetected bug when changing a text type.
* Added an exchange command to the undo/redo base class for handling undoing
a changed item type which cannot be undone by swapping out the variables.
* Revert change to common/hotkeys_basic.cpp that broke hot key behavior.
* Lots of coding policy changes while making the changes above.
* Change all code references to pin sheet and sheet label to sheet pin to
more closely match the sheet pin object for improved code readability.
* Change menu and tool bar text from pin sheet to sheet pin for improved
user readability.
* Moved sheet pin place method to sheet pin object source file.
* Move last sheet pin stored state information into schematic frame object.
* Add Doxygen comments for the sheet pin editing methods.
* Remove specialized edit reference, value, and foot print field methods
from SCH_FRAME object.
* Improve general field method to handle all field types as this was
essentially the same code used in the three methods removed.
* Updated the the hot key and context menu handlers to use the new field
edit method.
* Minor Doxygen comment warning fixes.
* Add item clarification context menu to EESchema when multiple unresolved
items are found at the current cross hair position.
* Add collector class SCH_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().
* Move locate function code into schematic screen object.
* Move test for junction needed into schematic screen object.
* Move test for marking connected items into schematic screen object.
* Move delete item function code into schematic screen object.
* Move delete all markers code into schematic screen object.
* Add method for locating multiple items in schematic screen object.
* Fix minor bug in schematic field object hit test declaration.
* Initial encapsulation work on item picker object.
* Remove duplicate doxygen comments from item picker object source file.
* Factor change schematic component orientation code out of switch statement
into separate function.
* Remove redundant command events from schematic editor hot key handler.
* Change EDA_ITEM set flag function to set flag bits using logical or
instead of assignment.
* Add clear flag function to EDA_ITEM to clear flag bit using inverted
logical and.
* Factor change schematic text type code out of switch statement into
a single function call.
* Schematic text orientation function renaming improvements.
* Lots of small coding policy changes to updated files.
* Old control state handling code completely removed in all applications.
* Factor common control state handlers into EDA_DRAW_FRAME.
* Replaced EDA_ITEM test for newness with IsNew() method.
* Factor vertical right toolbar command handlers out of giant edit command
switch statement in EESchema and PCBNew.
* Schematic editor cancel current tool command now use a single command
ID that is used everywhere the event is generated.
* Moved cancel current tool code from Process_Special_Functions to a
separate event handler.
* Add idle check method to block select object.
* Add block active check to base screen object.
* Remove base screen methods from draw frame object and correct current
screen methods in derived objects.
* Move restore old wires function code into schematic screen object.
* Make add junction method use current screen position instead of store
position.
* Move poly line ghosting function into the delete current segment method
as that was the only place is was being used.
* Add method to base schematic object of testing if object has a label
that can be incremented.
* Simplified the schematic hierarchy traversing code.
* PCBNew Doxygen warning fixes.
* Changed managed cursor callback definition to include the current
cursor drawing position.
* Modified all managed cursor callbacks to match new definition.
* Added snap to grid option to base drawing frame object.
* Changed add no connect managed cursor callback to use new position
parameter instead of the stored one.
* Lots of coding policy fixes.
* Remove unused member variable m_SizeVisu from base screen object.
* Move nearest grid position code into base screen object.
* Add get cursor position method to base screen object.
* Add position parameter to OnHotKey method in base draw frame and all
derived objects.
* Pass logical position on left mouse button click and double click
events instead of device position.
* Pass logical position to on right mouse button click instead of device
position.
* Use logical event position parameter for locating items in EESchema
instead of the stored position.
* Remove unused position parameter when displaying component edit dialog
in EESchema.
* Comment out debugging macro in eeschema/template_field_names.cpp that was
preventing debug builds using wxWidgets 2.8.x.
* 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.
* Rename sch_item files to sch_junction.
* Make global variable g_ItemToRepeat a private member of SCH_EDIT_FRAME
object.
* Encapsulate SCH_SCREEN reference count member.
* Change default build to enable wxDC zooming.
* Move sheet label find function into SCH_SCREEN object.
* Move draw screen items function into SCH_SCREEN object.
* Remove redundant page print method from SCH_EDIT_FRAME.
* Add method to hit test for all items in SCH_SCREEN.
* Add method for testing if junction is required in SCH_SCREEN.
* Fix Doxygen waring in help_common_strings.h
* Move schematic select block from global variable to SCH_EDIT_FRAME.
* Remove redundant schematic drawing code for eeredraw.cpp.
* Move block select code into SCH_SCREEN object.
* Simpilify block item select code.
* Fix bug in SCH_LINE selection state test.
* Add test to schematic objects for connectability.
* Make copy block items function a private method in SCH_EDIT_FRAME.
Eeschema: cleaning code. Start work to enhance annotation algorithm.
Already added an option to annotate using sheet number (sheet 1 uses numbers 100 to 199, sheet 2 uses 200 to 299..).
Works fine if deleting existing annotation, but needs work to be used when the existing annotation is kept .