style editor : use QPropertyUndoCommand instead of ChangePartCommand.

Remove ChangePartCommand class.


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4073 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2015-07-24 13:41:51 +00:00
parent 58d247ced7
commit 871d50c014
6 changed files with 44 additions and 197 deletions

View File

@@ -45,68 +45,6 @@ QUndoStack &ElementItemEditor::undoStack() const {
return(elementScene() -> undoStack());
}
/**
Ajoute une ChangePartCommand a l'UndoStack. L'ancienne valeur sera
automatiquement recuperee. A noter que cette methode ne fait rien si
l'ancienne valeur et la nouvelle sont egales ou encore si part vaut 0
@param desc nom de la propriete modifiee
@param part partie modifiee
@param prop propriete modifiee
@param new_v nouvelle valeur
*/
void ElementItemEditor::addChangePartCommand(const QString &desc, CustomElementPart *part, const char *prop, const QVariant &new_v) {
// ne fait rien si part vaut 0
if (!part) return;
// recupere l'ancienne valeur
QVariant old_v = part -> property(prop);
// ne fait rien si l'ancienne valeur et la nouvelle sont egales
if (old_v == new_v) return;
undoStack().push(
new ChangePartCommand(
desc + " " + element_type_name,
part,
prop,
old_v,
new_v
)
);
}
/**
* @brief ElementItemEditor::addChangePartCommand
* Add a ChangePartCommand with child for each part of part_list to the undo stack
* @param undo_text : text of undo command to display
* @param part_list : list of parts to modify
* @param property : QProperty (of CustomElementPart) to modify
* @param new_value : the new value of the QProperty
*/
void ElementItemEditor::addChangePartCommand(const QString &undo_text, QList<CustomElementPart *> part_list, const char *property, const QVariant &new_value)
{
if (part_list.isEmpty()) return;
//Get only the parts concerned by modification
QList <CustomElementPart *> updated_part;
foreach (CustomElementPart *cep, part_list)
if (cep->property(property) != new_value)
updated_part << cep;
//There is not part to modify
if(updated_part.isEmpty()) return;
//Set the first part has parent undo
CustomElementPart *p_cep = updated_part.takeFirst();
QUndoCommand *parent_undo = new ChangePartCommand (undo_text, p_cep, property, p_cep->property(property), new_value);
//And other parts are just child of parent
foreach (CustomElementPart *cep, updated_part)
new ChangePartCommand (undo_text, cep, property, cep->property(property), new_value, parent_undo);
undoStack().push(parent_undo);
}
/// @return Le nom du type d'element edite
QString ElementItemEditor::elementTypeName() const {
return(element_type_name);