// a field has been changed int GvViewpoint::OnFieldChanged(GvField *field) { if (isBound) { if (field != &bindTime && field !=&isBound && field != &description) { setRedraw(); } } return GvNode::OnFieldChanged(field); }
// add node to scene GvBool GvScene::addNode(GvNode *node) { if (node == NULL) return FALSE; if (children.add(node)) { nameSpace.addNode(node->getName(),node); OnFieldChanged(&children); setRedraw(); return TRUE; } return FALSE; }
// remove node from scene GvBool GvScene::removeNode(GvNode *node) { if (node == NULL) return FALSE; if (children.remove(node)) { // remove from namespace nameSpace.removeNode(node->getName(),node); OnFieldChanged(&children); setRedraw(); return TRUE; } return FALSE; }
void SearchResults::rebuild() { EnterCriticalSection(&lock); static char colNames[colCount][32] = { "Name", "Date", "Size", "Game name", "Lineup", "Length", "Mode" }; int colPos[colCount]; getColPos(colPos); int colOrder[colCount]; int numOrder = 0; for (int i = 0; i < colCount; i++) if (colPos[cfg.colOrder[i]] >= 0) colOrder[numOrder++] = colPos[cfg.colOrder[i]]; Dictionary<uint32> selected; for (int sel = ListView_GetNextItem(hWnd, -1, LVNI_SELECTED); sel >= 0; sel = ListView_GetNextItem(hWnd, sel, LVNI_SELECTED)) selected.set(items[sel].path, 1); int scrollPosX = GetScrollPos(hWnd, SB_HORZ); int scrollPosY = GetScrollPos(hWnd, SB_VERT); if (items.length() > 0) { RECT rc; ListView_GetItemRect(hWnd, 0, &rc, LVIR_BOUNDS); scrollPosY *= rc.bottom - rc.top; } setRedraw(false); clear(); clearColumns(); for (int i = 0; i < colCount; i++) if (colPos[i] >= 0) insertColumn(colPos[i], colNames[i]); if (colPos[colName] >= 0) setColumnUTF8(colPos[colName], true); ListView_SetColumnOrderArray(hWnd, numOrder, colOrder); int colSort = (cfg.colSort[0] & 0x80000000 ? ~cfg.colSort[0] : cfg.colSort[0]); if (colSort >= 0 && colSort < colCount && colPos[colSort] >= 0 && items.length() > 0) { HBITMAP image = NULL; if (cfg.colSort[0] & 0x80000000) image = getApp()->getImageLibrary()->getBitmap("SortUp"); else image = getApp()->getImageLibrary()->getBitmap("SortDown"); if (image) { HWND hHeader = ListView_GetHeader(hWnd); HDITEM hdi; memset(&hdi, 0, sizeof hdi); hdi.mask = HDI_FORMAT; Header_GetItem(hHeader, colSort, &hdi); hdi.mask |= HDI_BITMAP; hdi.fmt |= HDF_BITMAP | HDF_BITMAP_ON_RIGHT; hdi.hbm = image; Header_SetItem(hHeader, colSort, &hdi); } } items.sort(compItems); for (int i = 0; i < items.length(); i++) addItem(i, false); for (int i = 0; i < items.length(); i++) if (selected.has(items[i].path)) ListView_SetItemState(hWnd, i, LVIS_SELECTED, LVIS_SELECTED); for (int i = 0; i < colCount; i++) if (colPos[i] >= 0) setColumnWidth(colPos[i], cfg.colWidth[i]); setRedraw(true); ListView_Scroll(hWnd, scrollPosX, scrollPosY); LeaveCriticalSection(&lock); }
int Gv2Material::OnChanged() { changed = 1; setRedraw(); // done in appearance but not if in Proto :-( return GvNode::OnChanged(); }
//----------------------------------------------- void AflSpriteStrings::setStartPoint(INT iX,INT iY) { m_pointStart.x = iX; m_pointStart.y = iY; setRedraw(); }