[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: Changing objects layer through Python
- From: Philip Cavaco <Philip Cavaco ki se>
- To: discussions about usage and development of dia <dia-list gnome org>
- Subject: Re: Changing objects layer through Python
- Date: Sun, 15 Mar 2009 18:47:51 +0100
Thank you very much for the tips.
Philip
----- Original Message -----
From: Hans Breuer <hans breuer org>
Date: Sunday, March 15, 2009 5:44 pm
Subject: Re: Changing objects layer through Python
To: discussions about usage and development of dia <dia-list gnome org>
> At 15.03.2009 16:42, Philip Cavaco wrote:
> > That did the trick. Now I am stuck on a way to update the image
> with all
> > changes I made. The script completely connects all "Standard -
> Ellipse"> within the currently selection. The connections do not
> appear unless I
> > manually move each Ellipse in the diagram. I have tried using
> > update_extents, add_update_all, and update_connections but none
> seem to
> > do what I need.
> >
> Indeed. Even the usual
>
> if display :
> display.add_update_all()
>
> did no help but it gave a hint. Your arcs did not where they were
> (i.e.
> drawn at the wrong place). See below for the solution.
>
> Hans
>
> > Here is the script
> >
> > # This function completely connects the given group of "Standard -
> Ellipse"
> > # objects with "Standard - Arc" objects with open circles (ending
> 9).> #
> >
> > import dia
> >
> > EXCITE_CONN = 8
> > INHIB_CONN = 9
> > CONN_TYPE = INHIB_CONN
> >
> > def complete_connect(data,flags):
> > """
> >
> > Arguments:
> > - `data`:
> > - `flags`:
> > """
> > d = dia.active_display().diagram
> > layer = d.data.active_layer
> > grp = d.get_sorted_selected()
> > connType = dia.get_object_type("Standard - Arc")
> > for o in grp:
> > if o.type.name == 'Standard - Ellipse':
> > for target in grp:
> > if target.type.name == 'Standard - Ellipse' and
> not o ==
> > target:
> > #Connect to all other nodes except itself
> > temp_conn, h1, h2 = connType.create(0,0)
> > #temp_conn.properties['end_arrow'].value.type =
> > CONN_TYPE
> > h1.connect(o.connections[8])
> > h2.connect(target.connections[8])
> > layer.add_object(temp_conn, 0)
> # second looping to effectively catch all connections
> for o in grp:
> d.update_connections(o)
>
> > #Apply changes to display
> > d.update_extents()
>
> -------- Hans "at" Breuer "dot" Org -----------
> Tell me what you need, and I'll tell you how to
> get along without it. -- Dilbert
> _______________________________________________
> dia-list mailing list
> dia-list gnome org
> http://mail.gnome.org/mailman/listinfo/dia-list
> FAQ at http://live.gnome.org/Dia/Faq
> Main page at http://live.gnome.org/Dia
>
>
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]