[Clam-devel] Copy & Paste processings on canvas patch
Natanael Olaiz
nolaiz at gmail.com
Wed Jun 11 12:15:12 PDT 2008
El 06/11/2008 04:36 AM, Pau Arumí Albó escribió:
> El dt 10 de 06 de 2008 a les 20:11 +0200, en/na David García Garzón va
> escriure:
>
>> El Tuesday 10 June 2008 18:23:43 Natanael Olaiz va escriure:
>>
>>> El 06/10/2008 01:06 PM, David García Garzón escribió:
>>>
>>>> El Tuesday 10 June 2008 17:32:40 Natanael Olaiz va escriure:
>>>>
>>>>> El 06/10/2008 07:31 AM, Pau Arumí Albó escribió:
>>>>>
>>>>>> El dt 10 de 06 de 2008 a les 06:53 -0300, en/na Natanael Olaiz va
>>>>>>
>>>>>> escriure:
>>>>>>
>>>>>>> El 06/10/2008 06:03 AM, Pau Arumí Albó escribió:
>>>>>>>
>>>>>>> Well, in the processing adapter I putted a check line to don't store
>>>>>>> the new attributes if are not given, but any check on the load...
>>>>>>> since it works good reading a file with or without the new attributes.
>>>>>>> I don't think it would affect other uses (i.e. the backwards
>>>>>>> compatibility wouldn't be affected).
>>>>>>> The major problem as it's now is if you load a network with the
>>>>>>> attributes, it will fill the _processingsBoxesAttributes map. So, I
>>>>>>> send here a new patch for Network.cxx that clear it every time you do
>>>>>>> a load, to avoid fill all the memory if you load so much times without
>>>>>>> clear it.
>>>>>>>
>>>>>>> Do you think it's a problem that _processingsBoxesAttributes could be
>>>>>>> non-empty without using it?
>>>>>>>
>>>>>> Er yes could lead to potential problems. We don't want duplicated
>>>>>> information and the original info sits in the canvas, so let's use it
>>>>>> when loading and saving and keep it clean the rest of the time.
>>>>>>
>>>>> David: help! :)
>>>>> The only solution that occurs to me is using a toggle attribute like
>>>>> setPasteMode. But since this wouldn't be used only for paste but loading
>>>>> files... should I add another?
>>>>>
>>>>> I don't like it... but it's the only idea that comes to my mind to solve
>>>>> that...
>>>>>
>>>> Sorry i lost the context, could you explain better the problem?
>>>>
>>> Hot to don't let Network::_processingsBoxesAttributes get filled
>>> everytime you do a Network::LoadFrom, which makes that if you don't
>>> clean with a Network::getBoxesAttributes() it's remains filled with that
>>> values since the next LoadFrom or StoreOn.
>>> How can I know when to fill it and when not? Since these attributes will
>>> be used for saving and loading files too, I can't use setPasteMode....
>>>
>> First, I would change all those misleading Attribute wording to something like
>> Geometry (in qt naming a geometry is pos+size) or just Boxes. If we had some
>> other attribute let's think about attributes again, if not, it is an over
>> generalization.
>>
>
> Before I suggested "ProcessingAspect" but I find "Geometry" better.
> Specially being Qt nomenclature.
>
>
>> Regarding your question, in contrast to selection, there is no special mode
>> here to deal with. The problem with selections is that having no selection
>> meant all were selected, and also that you should clear the processings.
>>
>> With geometries you will always use them if they are available. Also, when
>> loading/cuting/storing/pasting, you just have to deal with geometries of the
>> involved processings.
>>
>> On storing / Cuting:
>> network.setGeometries(nameToGeometryMap); // Will clear previous ones
>> XMLStorage::Dump(network,....); // StoreOn will clear geometries when done
>>
>> On Loading / Pasting:
>> XMLStorage::Load(network,....); <- LoadFrom fills geometries
>> geometryMap = getAndClearGeometries(); <- This will clear them when done
>>
>> So, regarding geometries, both cut/paste and load/store have to use them just
>> if available. If you are pasting some processings into a network you will
>> keep the positions of the already existing processings.
>>
>
> Agree.
>
> In the next mail Natanael said
>
>
>> I wanted to mean: If someone uses the XMLStorage::Load without getting
>> and clearing ("using it") the geometries later, the map will remain
>> filled. Of course, in the implementation of pasting and reading a file
>> I'll do it, but it could happen and I didn't know if XMLStorage::Load
>> is used in another place right now...
>>
>
>
> Yes, Load() it is used in some other places (e.g. OfflineNetworkPlayer) where Geometries are irrelevant.
> But clearing the geometries at the beginning of Load() doesn't solve te problem? Or I'm missing something?
>
>
I think so (that is because I sent the last Network.cxx patch), but the
map will anyways remain filled until the next Load...
> P
>
>
> _______________________________________________
> Clam-devel mailing list
> Clam-devel at llistes.projectes.lafarga.org
> https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel
>
>
More information about the clam-devel
mailing list