In order to better handle colliding cell names coming from multiple
GDS files, now, if a topCell is defined, create a sub-library with
the name of that top cell and put any other model from *that* GDS
file into it. This way, only the top cell will be shown in the
library and sub-cells with common names will be separateds.
Work needed for loading GF180MCU I/O pads.
* New: In Gds::setTopCellname(), specify the name of the top cell
we specifically wants to load from the GDS file.
* New: In GdsStream::getCell(), function to find/create a Cell in
the current library and, if any, the "top cell" dedicated
sub-library.
* Change: In GdsStream::readTextBody(), if the layer material of
the label is "other", do not create a Net with the name of
the label. This should be a pure text label. Use the new
Hurricane::Text Go for that.
Compute the text box in a approximative way. Have to make
it smarter in the future.
* Change: In LefImport::_macroForeignCbk(), change of policy for
loading associated GDS. First, we look if a cell with the
right name exists, in which case we use it. If not, *only*
then, do we try to load from GDS.
This allows to load by ourselves, in a separate way the
GDS. This is more flexible when there are naming issues.
* New: Hurricane::Text Go class, to display text label without the
need of a Net.
* New: In Hurricane::CellWidget, add support to display
Hurricane::Text. Add a new mode to drawDisplayText() : FillBox
so the text is resized to exactly fill the box it is in
(in width).