logical DesignerMode :: UpdateOWGeometry ( ) { logical term = NO; QRect new_geometry = parent_owidget->WidgetQ()->geometry(); QPoint cell_pos; BEGINSEQ if ( !ctx_design || !control) ERROR if ( ctx_design->LoadFieldAttribute(control, "allign.arrange") == PropertyHandle("AT_Absolut") ) { if ( geometry.width() != cw_geometry.width() ) ctx_design->StoreFieldAttribute(control, "size.oszwdth", cw_geometry.width()); if ( geometry.height() != cw_geometry.height() ) ctx_design->StoreFieldAttribute(control, "size.oszhgth", cw_geometry.height()); if ( geometry.x() != cw_geometry.x() ) ctx_design->StoreFieldAttribute(control, "position.opsx", cw_geometry.x()); if ( geometry.y() != cw_geometry.y() ) ctx_design->StoreFieldAttribute(control, "position.opsy", cw_geometry.y()); } if ( ctx_design->LoadFieldAttribute(control, "allign.arrange") == PropertyHandle("AT_Grid") ) { if ( geometry.width() != cw_geometry.width() ) ctx_design->StoreFieldAttribute(control, "size.oszwdth", cw_geometry.width()); if ( geometry.height() != cw_geometry.height() ) ctx_design->StoreFieldAttribute(control, "size.oszhgth", cw_geometry.height()); cell_pos = ((DesignerModeControl*)control->GetParent()->GetDesignMode())->CellizePosition(new_geometry.topLeft()); QWidget * parent; QGridLayout * layout; if ( ( parent = (QWidget*)parent_owidget->WidgetQ()->parent() ) && ( layout = (QGridLayout*)parent->layout() ) && ( layout->inherits("QGridLayout") ) ){ layout->removeWidget(parent_owidget->WidgetQ()); layout->addWidget(parent_owidget->WidgetQ(), cell_pos.y(), cell_pos.x()); } ctx_design->StoreFieldAttribute(control, "position.opsx", cell_pos.x()); ctx_design->StoreFieldAttribute(control, "position.opsy", cell_pos.y()); ((DesignerModeControl*)control->GetParent()->GetDesignMode())->Refresh(); } RECOVER term = YES; ENDSEQ geometry = new_geometry; return(term); }