Re[2]: Qt, клонирование QObject
От: Аноним  
Дата: 31.01.12 07:57
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Копировать проперти конечно можно, но имеет смысл только в случае если эти проперти изменяются непредсказуемо, тоесть редактируются пользователем так или иначе.


именно пользователь и редактирует эти проперти. фабрика у меня есть. проблема в том, что одинаковые виджеты могут иметь различные соединения, и в момент клонирования мне нужно это узнать.
пример

class RBase : public QWidget {
....
    virtual RBase *clone() const = 0;
....
};

class RTable : public RBase {
...
    // переопределяем виртуальный метод, используя ковариантность
    virtual RTable *clone() const
    {
        RTable *table = new RTable(this->parentWidget());
        ...
        return table;
    }
...
};

RTable table1;
table1.connect(...);
table1.connect(...);
table1.connect(...);

RTable table2;
table2.connect(...);

// слот кнопки Копировать
void copy(RBase *obj)
{
    RBase *newObj = obj->clone();
    newObj->show();
    // ??? какие соединения установить для newObj ???
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.