Здравствуйте, 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 ???
}