Пример #1
0
void Group::destroyChildren(bool keepChildren)
{
	destroyChild(model, keepChildren);
	destroyChild(renderer, keepChildren);

	for( Emitter** it = emitters.begin(); it < emitters.end(); ++it )
		destroyChild(*it, keepChildren);
	for( Modifier** it = modifiers.begin(); it < modifiers.end(); ++it )
		destroyChild(*it, keepChildren);

	Registerable::destroyChildren(keepChildren);
}
Пример #2
0
	void Group::destroyChildren(bool keepChildren)
	{
		destroyChild(model,keepChildren);
		destroyChild(renderer,keepChildren);

		for (std::vector<Emitter*>::const_iterator it = emitters.begin(); it != emitters.end(); ++it)
			destroyChild(*it,keepChildren);
		for (std::vector<Modifier*>::const_iterator it = modifiers.begin(); it != modifiers.end(); ++it)
			destroyChild(*it,keepChildren);

		Registerable::destroyChildren(keepChildren);
	}
Пример #3
0
void TimelinePanel::onEffectCountChanged( int* val ) {
  while (inst->timelineEffectCount[timeline] > children.size()) {
    addChild(inst->timelines[timeline][children.size()]);
  }
  printf("count changed, count: %d, children: %d\n", inst->timelineEffectCount[timeline], children.size());
  while (inst->timelineEffectCount[timeline] < children.size()) {
    printf("children: %d\n", children.size());
    for (int i = 0; i < children.size(); i++) {
      if (i < inst->timelineEffectCount[timeline]) {
        printf("%d, %d, %d, %s\n", 
          i, 
          inst->timelines[timeline][i]->type, 
          children[i]->effect->type, 
          (children[i]->effect == inst->timelines[timeline][i]) ?"same":"different");
      }
      if (i >= inst->timelineEffectCount[timeline] || 
          children[i]->effect != inst->timelines[timeline][i])
      {
        printf("destroying %d\n", i);
        destroyChild(children[i]);
        break;
      }
    }
  }
}
Пример #4
0
	void System::destroyChildren(bool keepChildren)
	{
		for (std::vector<Group*>::const_iterator it = groups.begin(); it != groups.end(); ++it)
			destroyChild(*it,keepChildren);

		Registerable::destroyChildren(keepChildren);
	}
Пример #5
0
void ModifierGroup::destroyChildren(bool keepChildren)
{
    for (std::vector<Modifier*>::const_iterator it = modifiers.begin(); it != modifiers.end(); ++it)
        destroyChild(*it,keepChildren);

    Modifier::destroyChildren(keepChildren);
}
Пример #6
0
MsgEdit::~MsgEdit()
{
    if (sendEvent) pClient->cancelMessage(sendEvent->message());
    if (msg && (msg->Id < MSG_PROCESS_ID))
        delete msg;
    if (mHistory) delete mHistory;
    emit destroyChild(tabId);
}
Пример #7
0
WinWindow::~WinWindow()
{
  destroyChild();

  if (hDC != NULL)
    ReleaseDC(hwnd, hDC);
  if (hwnd != NULL)
    DestroyWindow(hwnd);

  if (prev) prev->next = next;
  if (next) next->prev = prev;
  if (first == this) first = next;

  if (first == NULL && colormap != NULL) {
    DeleteObject(colormap);
    colormap = NULL;
  }

  display->getRep()->unref();
}
Пример #8
0
void TimelinePanel::setInstrument(Instrument* inst) {
  printf("TimelinePanel::setInstrument from %s to %s\n", this->inst == 0 ? "null" : "valid", inst == 0 ? "null" : "valid");
  if (this->inst != 0) {
    while (children.size() > 0) {
      destroyChild(children.front());
    }
    Monitor::removeCallback(&this->inst->timelineEffectCount[timeline], this);
    
    if (speedBox != 0) { /// TODO: && numchilden != 0 ???
      Monitor::removeCallback( (void*)(&this->inst->original->speeds[timeline]), this );
    }
  }
  
  this->inst = inst;
  
  if (this->inst != 0) {
    std::vector<Effect*> vec = this->inst->timelines[timeline];
    std::vector<Effect*>::iterator iter = vec.begin();
    for (; iter != vec.end(); iter++) {
      addChild(*iter);
    }
    Monitor::addCallback( &this->inst->timelineEffectCount[timeline], 
                          new Callback<int, TimelinePanel>
                            (this, &TimelinePanel::onEffectCountChanged) );
    
    addButton->Enable(true);
    if (speedBox != 0) { /// TODO: && numchilden != 0 ???
      speedBox->Show(children.size() != 0);
      speedSlider->SetValue(this->inst->getSpeed(timeline));
      
      Monitor::addCallback( &inst->original->speeds[timeline], 
                            new Callback<unsigned char, TimelinePanel>
                              (this, &TimelinePanel::speedChangedCallback) );
    }
  } else {
    if (speedBox != 0) speedBox->Show(false);
    addButton->Enable(false);
  }
  effectBox->Layout();
  topBox->Layout();
}
Пример #9
0
void			WinWindow::freeContext()
{
  if (hDCChild != NULL)
    destroyChild();
}
void NormalEmitter::destroyChildren(bool keepChildren)
{
	destroyChild(normalZone,keepChildren);
	Emitter::destroyChildren(keepChildren);
}
Пример #11
0
	void Emitter::destroyChildren(bool keepChildren)
	{
		destroyChild(zone,keepChildren);
		Registerable::destroyChildren(keepChildren);
	}