Ejemplo n.º 1
0
bool UnitSyncGamesProcessor::ProcessSideRequest( const QByteArray& game, const QList<QByteArray>& subRequest )
{
	if( subRequest.size() == 2 ) {
		SetResponse( BuildSideList( game ), Response_Html );
		return true;
	}
	else if( subRequest.size() == 3 ) {
		SetResponse( BuildSideMenu( game, subRequest[ 2 ] ), Response_Html );
		return true;
	}
	else if( subRequest.size() == 4 && subRequest[ 3 ] == SideIconRequest ) {
		SetResponse( BuildSideIcon( game, subRequest[ 2 ] ), Response_Image );
		return true;
	}

	SetResponse( "Wrong game side request", Response_Html );
	return true;
}
Ejemplo n.º 2
0
  //
  // SideListBox::HandleEvent
  //
  U32 SideListBox::HandleEvent(Event &e)
  {
    if (e.type == IFace::EventID())
    {
      switch (e.subType)
      {
        case IFace::NOTIFY:
        {
          switch (e.iface.p1)
          {
            case ICListBoxMsg::Rebuild:
            {
              BuildSideList();

              // Handled
              return (TRUE);
            }
          }
          break;
        }
      }
    }
    return ICListBox::HandleEvent(e);
  }
Ejemplo n.º 3
0
DAGTreeStruct  MakeDagTree(TopologyHdl topoHdl, LongPoint **pointList, char *errStr)
{
    Side_List **sidesList = 0;
    DAGTreeStruct  dagTree;
    long numSidesInList;
    long nodeNum;					// The index in the current side list for the node (segment)
    //			to split across.
    strcpy(errStr,"");
    dagTree.treeHdl = 0;
    dagTree.numBranches = 0;
    sidesList=BuildSideList(topoHdl, errStr);

    //input checking
    if(sidesList == nil)
    {
        strcpy(errStr,"sideList is nil in MakeDagTree");
        goto done;
    }

    LatLongTransform(pointList);
    gSidesList = sidesList;

    numSidesInList = (_GetHandleSize((Handle)sidesList))/(sizeof(Side_List));
    if (numSidesInList < 3)
    {
        sprintf(errStr,"Triangles have 3 sides; the data has only %ld sides.", numSidesInList);
        goto done;
    }

    // make a better guess of size here
    gErrStr[0] = 0;
    gAllocatedDagLength = 2*numSidesInList;

    gDagTree.numBranches=0;
    gDagTree.treeHdl = (DAG**)_NewHandleClear(gAllocatedDagLength*sizeof(DAG));
    if(!gDagTree.treeHdl)
    {
        strcpy(errStr,"Out of memory in MakeDagTree");
        goto done;
    }

    srand(SEED);
    //srand(SEED+1);

    nodeNum = newNodexx(sidesList);
    split(sidesList, nodeNum);
    //	Nothing should come back until DAG is completed.

    //gDagTree.numBranches--;  	// Had one too many increments in the split recursion.

    if(gErrStr[0])
    {
        strcpy(errStr,gErrStr);
        gErrStr[0] = 0;
        if(gDagTree.treeHdl) DisposeHandle((Handle) gDagTree.treeHdl);
        gDagTree.treeHdl = nil;
        gDagTree.numBranches = 0;
        goto done;
    }

    ConvertSegNoToTopIndex(sidesList,gDagTree);

    dagTree = gDagTree;
    gDagTree.treeHdl = nil;// the handle is now their responsibility
    gDagTree.numBranches = 0;

done:
    if(sidesList)
    {
        {
            DisposeHandle((Handle)sidesList);
            sidesList=0;
        }
    }
    return dagTree;
}