// a field has been changed
int GvViewpoint::OnFieldChanged(GvField *field)
{
  if (isBound) {
	  if (field != &bindTime && field !=&isBound && field != &description) {
		 setRedraw();
	  }
  }
  return GvNode::OnFieldChanged(field);

}
Esempio n. 2
0
// 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;
}
Esempio n. 3
0
// 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);
}
Esempio n. 5
0
int Gv2Material::OnChanged()
{
  changed = 1;
  setRedraw();	 // done in appearance but not if in Proto :-(
  return GvNode::OnChanged();
}
Esempio n. 6
0
//-----------------------------------------------
void AflSpriteStrings::setStartPoint(INT iX,INT iY)
{
	m_pointStart.x = iX;
	m_pointStart.y = iY;
	setRedraw();
}