void TableHeader::handleColBorderMouseDragged(MouseEventDetails* const e) { if(e->getButton() == MouseEventDetails::BUTTON1) { Pnt2f MousePosInComponent = ViewportToComponent(e->getLocation(), this, e->getViewport()); TableColumnRefPtr TheColumn(getColumnModel()->getColumn(_ResizingColumn)); Real32 NewWidth(MousePosInComponent.x() - getColumnHeaders(_ResizingColumn)->getPosition().x()); if(NewWidth <= 0 || NewWidth < TheColumn->getMinWidth()) { NewWidth = TheColumn->getMinWidth(); } if(NewWidth > TheColumn->getMaxWidth()) { NewWidth = TheColumn->getMaxWidth(); } //Get the new desired center for this margin TheColumn->setWidth(NewWidth); updateLayout(); } }
void TableHeader::MarginDraggedListener::mouseDragged(const MouseEventUnrecPtr e) { if(e->getButton() == e->BUTTON1) { Pnt2f MousePosInComponent = ViewportToComponent(e->getLocation(), TableHeaderRefPtr(_TableHeader), e->getViewport()); TableColumnRefPtr TheColumn(_TableHeader->getColumnModel()->getColumn(_TableHeader->_ResizingColumn)); Real32 NewWidth(MousePosInComponent.x() - _TableHeader->getColumnHeaders(_TableHeader->_ResizingColumn)->getPosition().x()); if(NewWidth <= 0 || NewWidth < TheColumn->getMinWidth()) { NewWidth = TheColumn->getMinWidth(); } if(NewWidth > TheColumn->getMaxWidth()) { NewWidth = TheColumn->getMaxWidth(); } //Get the new desired center for this margin TheColumn->setWidth(NewWidth); _TableHeader->updateLayout(); } }