PSE-2012 / MMWTV

Objective Quality Assessment Toolkit
3 stars 2 forks source link

PluginList, doppelklick speichert memento #74

Closed rtur closed 12 years ago

rtur commented 12 years ago

Ich glaube nicht, dass das feateure vorgesehen war aber wenn man einen Filter (Metrik nicht getestet) zum macro hinzufügt erstellt man automatisch ein neues Memento, dass auch in der PluginListe aufgeführt wird.

sleidig commented 12 years ago

Doch, das ist tatsächlich eine Art "Feature". Da Macro ein Memento benötigt, mit dem es arbeiten kann, wird ggf. ein neues erstellt. Insbesondere, um es nachher bearbeiten zu können, muss es auch gespeichert sein. Zugegebener Maßen vielleicht nicht die eleganteste Lösung, aber eine, die sehr vielen Problemen aus dem Weg geht ;)

rtur commented 12 years ago

Das Problem ist im "gegebenfalls", denn es wird pauschal erstellt. D.h. nach 10 anwendungen von Invert hat man 10 Invert Elemente in der Liste.

sleidig commented 12 years ago

Invert ist der einzige Filter, bei dem das nicht so ist :D - da es dort keine Einstellungen gibt, wird auch kein neues Memento erstellt. Bei Filtern mit Einstellung werden bei 10 maligem Hinzufügen auch 10 Mementos gebraucht, da die Einstellungen ja unabhängig voneinander geändert werden müssen.

Ich weiss zwar immer noch nicht, wozu PluginManager ursprünglich selbst ein Standardmemento für jedes Plugin erstellt hat, aber vielleicht kann ich das nutzen um für die Standardeinstellungen zunächst kein neues Memento zu erstellen und dies erst zu generieren, wenn der Nutzer die Einstellungen ändert.

Assigned: Sebastian

rtur commented 12 years ago

Es ist nicht so, dass du es immernoch nicht weißt sondern bereits vergessen hast ;-).

Hier der Grund soweit ich mich erinnern kann : Der Plan war den Pluginnamen (in der PluginList) ledeglich als sortierhilfe (also ohne funktionalität wie doppelklick->hinzufügen) zu verwenden. Also hätte (nach ursprünglichem Plan) pluginList in etwa so gearbeitet. ´´´ var plList = PluginManager.getPluginNames();

foreach(var entry in plList) { myGUIList.add(entry); var currentPluginGUIEntry = myGUIList.items.getItem(entry); foreach(var mem in PluginManager.getMementoList(entry)) { currentPluginGUIEntry.add(mem); }

} ´´´ Wir wollten also die pluginList schlanker gestalten da pluginManager sowieso mit dem Zeug arbeitet war kein Bedarf da um die Funktionalität "doppelt" zu implementieren.

So oder so, es hört sich an als würdest du es so lassen wollen. Kann ich nich nachvollziehen (erklärs mir ;-) ), dieses feauteure ist in etwa das gleiche wie wenn SmartTree nach jedem abspielen des Videos eine Kopie davon in der Liste abgelegt hätte.

Edit: Ich hasse "GitHub Flavored Markdown", stellt euch den code als code hervorgehoben...

sleidig commented 12 years ago

ParentNodes können nicht mehr zu Macro hinzugefügt werden, ohne ein Memento zu wählen.