// ---------------------------------------------------------------------------- // GetIdBounds - Get the bounding rect for a given id // ---------------------------------------------------------------------------- void wxPseudoDC::GetIdBounds(int id, wxRect& rect) { pdcObjectList::Node *pt = FindObjNode(id); if (pt && pt->GetData()->IsBounded()) rect = pt->GetData()->GetBounds(); else rect.x = rect.y = rect.width = rect.height = 0; }
// ---------------------------------------------------------------------------- // RemoveID - Remove the object node (and all operations) associated with an id // ---------------------------------------------------------------------------- void wxPseudoDC::RemoveId(int id) { pdcObjectList::Node *pt = FindObjNode(id); if (pt) { if (m_lastObjNode == pt) m_lastObjNode = NULL; m_objectlist.DeleteNode(pt); } }
void DlgSectorSelect::AddObjectToTree(HTREEITEM hObjRoot, ALTObject* pObject) { ASSERT(hObjRoot); ALTObjectID objName; pObject->getObjName(objName); HTREEITEM hParentItem = hObjRoot; bool bObjNode = false; CString strNodeName = _T(""); if(objName.m_val[0].size() == 0) return ; for (int nLevel =0; nLevel< OBJECT_STRING_LEVEL; ++nLevel) { int id = pObject->getID() ; if (nLevel != OBJECT_STRING_LEVEL -1 ) { HTREEITEM hItem = FindObjNode(hParentItem,objName.m_val[nLevel].c_str()); if (hItem != NULL) { hParentItem = hItem; continue; } if (objName.m_val[nLevel+1] != _T("")) { HTREEITEM hTreeItem = sector_tree.InsertItem(objName.m_val[nLevel].c_str(),hParentItem); // m_TreeStandFamily.Expand(hParentItem, TVE_EXPAND); hParentItem = hTreeItem; continue; } else //objNode { HTREEITEM hTreeItem = sector_tree.InsertItem(objName.m_val[nLevel].c_str(),hParentItem); // m_TreeStandFamily.Expand(hParentItem, TVE_EXPAND); sector_tree.SetItemData(hTreeItem,id) ; break; } } else { HTREEITEM hTreeItem = sector_tree.InsertItem(objName.m_val[nLevel].c_str(),hParentItem); sector_tree.SetItemData(hTreeItem,id) ; // m_TreeStandFamily.Expand(hParentItem, TVE_EXPAND); break; } } }
// ---------------------------------------------------------------------------- // GetIdGreyedOut - Get the greyedout member of id // ---------------------------------------------------------------------------- bool wxPseudoDC::GetIdGreyedOut(int id) { pdcObjectList::Node *pt = FindObjNode(id); if (pt) return pt->GetData()->GetGreyedOut(); else return false; }
// ---------------------------------------------------------------------------- // SetIdGreyedOut - Set the greyedout member of id // ---------------------------------------------------------------------------- void wxPseudoDC::SetIdGreyedOut(int id, bool greyout) { pdcObjectList::Node *pt = FindObjNode(id); if (pt) pt->GetData()->SetGreyedOut(greyout); }
// ---------------------------------------------------------------------------- // DrawIdToDC - Draw a specific id to the dc passed in // ---------------------------------------------------------------------------- void wxPseudoDC::DrawIdToDC(int id, wxDC *dc) { pdcObjectList::Node *pt = FindObjNode(id); if (pt) pt->GetData()->DrawToDC(dc); }
// ---------------------------------------------------------------------------- // TranslateId - Translate all the operations of a single id // ---------------------------------------------------------------------------- void wxPseudoDC::TranslateId(int id, wxCoord dx, wxCoord dy) { pdcObjectList::Node *pt = FindObjNode(id); if (pt) pt->GetData()->Translate(dx,dy); }
// ---------------------------------------------------------------------------- // SetIdBounds - Set the bounding rect for a given id // ---------------------------------------------------------------------------- void wxPseudoDC::SetIdBounds(int id, wxRect& rect) { pdcObjectList::Node *pt = FindObjNode(id, true); pt->GetData()->SetBounds(rect); }
// ---------------------------------------------------------------------------- // ClearID - remove all the operations associated with a single ID // ---------------------------------------------------------------------------- void wxPseudoDC::ClearId(int id) { pdcObjectList::Node *pt = FindObjNode(id); if (pt) pt->GetData()->Clear(); }
// ---------------------------------------------------------------------------- // AddToList - Add a node to the list at the end (preserve draw order) // ---------------------------------------------------------------------------- void wxPseudoDC::AddToList(pdcOp *newOp) { pdcObjectList::Node *pt = FindObjNode(m_currId, true); pt->GetData()->AddOp(newOp); }