//Moves all selected fields TO the guide void MainView::alignToGuide() { for(int i = 0; i < selected_fields.CountItems(); i++) { Field *field = (Field *)selected_fields.ItemAt(i); if(selected_guide->IsHorizontal()){ field->MoveTo(field->Frame().LeftTop().x, selected_guide->GetPoint()); } else { field->MoveTo(selected_guide->GetPoint(), field->Frame().LeftTop().y); } } getSelBounds(sel_bounds); }
void MainView::selectFieldByPoint(const BPoint& point) { bool selected = false; Field * child = NULL; selected_fields.MakeEmpty(); if ( (child = (Field *)ChildAt(0)) != NULL ) { while ( child ) { if(selected == false && child->Frame().Contains(point)) { child->SetSelected(true); selected_fields.AddItem(child); selected = true; } else { child->SetSelected(false); } child->Invalidate(); child = (Field *)child->NextSibling(); } } if(selected_fields.CountItems() > 0) { getSelBounds(sel_bounds); } }
Field * MainView::getFieldByPoint(const BPoint& point) { Field *child = NULL; if ( (child = (Field *)ChildAt(0)) != NULL ) { while ( child ) { if(child->Frame().Contains(point)) { return child; } child = (Field *)child->NextSibling(); } } return NULL; }
void MainView::selectFieldsByRect(const BRect& rect) { selected_fields.MakeEmpty(); Field * child = NULL; if ( (child = (Field *)ChildAt(0)) != NULL ) { while ( child ) { if(rect.Contains(child->Frame())) { child->SetSelected(true); selected_fields.AddItem(child); } else { child->SetSelected(false); } child->Invalidate(); child = (Field *)child->NextSibling(); } } if(selected_fields.CountItems() > 0) { getSelBounds(sel_bounds); } }