Topic: Update on edit

Hello..
I have question how to update drawing after editing component.
This is my situation:
A had to create one big PLC.
Now I see that some text/pins should be on different places. So I try to edit them.

In schematic I do right click on component and select "edit the element" and in popup window I select "general" tab and click on "edit element"
Now I edit element and save them.
But in schematics the element is not updated. I need to do that manualy and I lost all wires doing that. How to avoid that?

running ubuntu 14.04 and
[size=4]QElectroTech V 0.60-RC2+svn4992
Compilation: GCC 4.8.4 - built with Qt 5.2.1 - run with Qt 5.2.1
p, li { white-space: pre-wrap; }

Re: Update on edit

Hello Eslavko,

make a backup before, now drag and drop on your scheme the modified element saved again, a dialog appear which you propose to remplace, use two versions, etc. 
Save and relauch your project.
Cross yours fingers. nomicons/smiley-green

Nuri wrote:

The software has no function to do this, but there is a workaround that might work:
Make a backup of your project before !!!
you go to the "Collections" panel
you open your project (at the top of the tree directory of the collections), then / imported items ... until you find your component.
Then double click on the part to edit it.
Make the changes you want to make.
Save, close component editor.
Save and close your project.
Reopen your project and see if the changes are visible.

Usually:

graphical changes are well supported. For example, change color or add or delete some graphic shapes.

Moving, deleting or adding static texts usually works very well

Moving, deleting or adding ports (the red terminals) usually does not work or does not work as expected

Moving, deleting or adding dynamic texts usually does not work or works as expected

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Update on edit

Similar issue: if I updated an imported element within a project, shouldn't it be updated in all instances?

For instance, I tried adding a dynamic text field to a connector pin, I'd like for that connector to show the text field in all instances. That would be EXTREMELY convenient I believe.

Re: Update on edit

@clabacchio

If you add the dynamic text from the diagram editor it won't work!
Because this is the purpose why "dynamic texts" have been implemented: to give you the possibility to add some text on a particular instance of an element. That's the reason why they had been named DYNAMIC texts.

If you want that your changes are made in all instances of the element, do this:

Nuri wrote:

Make a backup of your project before !!!
you go to the "Collections" panel
you open your project (at the top of the tree directory of the collections), then / imported items ... until you find your component.
Then double click on the part to edit it.
Make the changes you want to make.
Save, close component editor.
Save and close your project.
Reopen your project and see if the changes are visible.

But I'm not sure it will work...
It works very good with STATIC texts.

Re: Update on edit

Nuri wrote:

If you want that your changes are made in all instances of the element, do this:

Nuri wrote:

Make a backup of your project before !!!
you go to the "Collections" panel
you open your project (at the top of the tree directory of the collections), then / imported items ... until you find your component.
Then double click on the part to edit it.
Make the changes you want to make.
Save, close component editor.
Save and close your project.
Reopen your project and see if the changes are visible.

But I'm not sure it will work...
It works very good with STATIC texts.

Indeed, that's what I've tried to do, editing the imported element, reloading the collections and close/reopen.

I've also tried two other ways:

1. Saving and loading the text fields configuration in the element's properties, one by one. Unfortunately, every time I add the text field to the element, it sets the default font size to 9, despite having saved it as (for instance) 7. Plus, I have to do it to every element one by one.

2. Editing the schematic file as text, directly copy-pasting the text field in the xml structure of every component. The two things I don't like of this approach are that the text is explicit and not linked to the component's attributes, so I have to copy-paste the label as well to each component; second, the uuid of the text field is copied as well, though I don't know how big a problem it is.

Re: Update on edit

clabacchio wrote:

Editing the schematic file as text, directly copy-pasting the text field in the xml structure of every component

It's obviously the most effective way at the current time to achieve what you want to do.
But it's risky! nomicons/unsure
Make a backup of your project before you tweak its xml content.

Re: Update on edit

Nuri wrote:
clabacchio wrote:

Editing the schematic file as text, directly copy-pasting the text field in the xml structure of every component

It's obviously the most effective way at the current time to achieve what you want to do.
But it's risky! nomicons/unsure
Make a backup of your project before you tweak its xml content.

 I agree it's risky, and not very convenient unless I rig up some script to do it for me...

But I tried again with the text field method (probably with a more recent dev version of QET) and now I'm getting consistent results, with the right text size and orientation. Now it's still a bit of a mechanic work, but much less demanding and tedious!

Re: Update on edit

In latest 0.7 dev, go to settings dynamic text field, choose font size 7, now open your element in element editor save as to your custom collection, add your new dynamic texts in element and save it.
Drag and drop your element modified on diagram, now a popup ask if you want to overwite symbol, etc choose overwrite, save as to new project name (backup), and re open your project, all instance of this element as changed by your modified element.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."