[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: A component cannot contain another component?



[1] says so:

  component
  Valid in: Schematic files ONLY

///

But if create:

  $ cat share/gschem/test-1.sym 
  v 20080127 1
  C 100 1300 1 270 0 led-1.sym
  {
  T 700 500 5 10 0 0 270 0 1
  device=LED
  T 500 500 5 10 1 1 270 0 1
  refdes=LED?
  T 900 500 5 10 0 0 270 0 1
  symversion=0.1
  }
  C 400 2000 1 90 0 resistor-2.sym
  {
  T 50 2400 5 10 0 0 90 0 1
  device=RESISTOR
  T 100 2200 5 10 1 1 90 0 1
  refdes=R?
  }
  N 300 2000 300 1300 4

Then I can access that "test-1" component from the library browser
and create 

  $ cat test.sch
  v 20080127 1
  C 40000 40000 0 0 0 title-B.sym
  C 45300 44800 1 0 0 test-1.sym
  C 43300 47000 1 270 0 battery-3.sym
  {
  T 44000 46700 5 10 0 0 270 0 1
  device=BATTERY
  T 43800 46700 5 10 1 1 270 0 1
  refdes=B?
  T 44250 46700 5 10 0 0 270 0 1
  symversion=0.1
  }
  L 43500 47000 43500 47800 3 0 0 0 -1 -1
  L 43500 47800 45600 47800 3 0 0 0 -1 -1
  L 45600 47800 45600 47700 3 0 0 0 -1 -1
  L 43500 45900 43500 45200 3 0 0 0 -1 -1
  L 45600 45200 43500 45200 3 0 0 0 -1 -1

So, why the restriction (no "C" in sym files)?

///

Looking into libgeda/src/o_complex_basic.c I see that OBJ_COMPLEX
("C" in .sym files) is forbidden in some cases, e.g.:

  void o_complex_translate_world(TOPLEVEL *toplevel, int dx, int dy,
				 OBJECT *object)
  {
    g_return_if_fail (object != NULL &&
		      (object->type == OBJ_COMPLEX ||
		       object->type == OBJ_PLACEHOLDER));

Why is it so (translating could mean to translate the whole object
hierarchy recursively)?

///

I can see (in libgeda/include/libgeda/struct.h) that
"struct st_complex" contains an "GList *prim_objs". The "prim_objs"
is _just a name_, it could just as well contain another complex
elements, or am I wrong ?

Regards,
/Karl

[1] http://geda.seul.org/wiki/geda:file_format_spec?s=file format

-----------------------------------------------------------------------
Karl Hammar                    Aspö Data               karl@xxxxxxxxxxx
Lilla Aspö 148                                                 Networks
S-742 94 Östhammar          +46  173 140 57                   Computers
Sweden                     +46  70 511 97 84                 Consulting
-----------------------------------------------------------------------

_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user