コード例 #1
0
DlgHost1::~DlgHost1()
{
    puDeleteObject(frame);
    puDeleteObject(portNumber);
    puDeleteObject(ok_button);
    puDeleteObject(cancel_button);
}
コード例 #2
0
DlgConfirm::~DlgConfirm()
{
    puDeleteObject(frame);
    puDeleteObject(name);
    puDeleteObject(ok_button);
    puDeleteObject(cancel_button);
}
コード例 #3
0
/**
 *  Destroy the ScrListBox
 */
puaScrListBox::~puaScrListBox ()
{
  puDeleteObject(_list_box);
  puDeleteObject(_slider);
  puDeleteObject(_up_arrow);
  puDeleteObject(_down_arrow);
}
コード例 #4
0
DlgJoin2::~DlgJoin2()
{
    puDeleteObject(frame);
    puDeleteObject(dlgPlayers);
    puDeleteObject(quit_button);
    puDeleteObject(disconnect_button);
}
コード例 #5
0
DlgResult::~DlgResult()
{
    puDeleteObject(frame);
    puDeleteObject(slider);
    puDeleteObject(list_box);
    puDeleteObject(new_button);
    puDeleteObject(delete_button);
}
コード例 #6
0
DlgTerrain::~DlgTerrain()
{
    puDeleteObject(frame);
    puDeleteObject(slider);
    puDeleteObject(list_box);
    puDeleteObject(new_button);
    puDeleteObject(delete_button);
}
コード例 #7
0
DlgPlayers::~DlgPlayers()
{
    puDeleteObject(frame);
    puDeleteObject(slider);
    puDeleteObject(list_box);
    if (enableKick)
    {
	puDeleteObject(kick_button);
    }
}
コード例 #8
0
DlgNewTerrain::~DlgNewTerrain()
{
    puDeleteObject(frame);
    puDeleteObject(name);
    puDeleteObject(dimensionsSlider);
    puDeleteObject(altitudeVariationSlider);
    puDeleteObject(nonFractalIterationsSlider);
    puDeleteObject(recursionLevelsSlider);
    puDeleteObject(fractalDimensionSlider);
    puDeleteObject(ok_button);
    puDeleteObject(cancel_button);
}
コード例 #9
0
/** \brief The dialog's callback.
 *
 *  Determine if a file was selected and load it.
 */
void CGUIRobotSelCallback(puObject *obj)
{
  CGUILoadRobotDialog *dlg = (CGUILoadRobotDialog*)obj;
    
  if (obj->getIntegerValue() == CRRC_DIALOG_OK)
  {
    if (FileSysTools::fileExists(dlg->getFilename()))
    {
      // Dialog left by clicking OK
      if (dlg->check_demo->getBooleanValue())
      {
        Global::aircraft->setModel(NULL);
        Global::aircraft->loadDemo(dlg->getFilename());
        initialize_flight_model();
      }
      else
      {
        Global::robots->AddRobot(dlg->getFilename());
      }
    }
  }
  
  Global::gui->hide();
  puDeleteObject(obj);
}
コード例 #10
0
ファイル: crrc_audio.cpp プロジェクト: mayrit/crrcsim
/** \brief The dialog's callback.
 *
 */
void CGUIAudioCallback(puObject *obj)
{
  if (obj->getIntegerValue() == CRRC_DIALOG_OK)
  {
    CGUIAudioDialog *dlg = (CGUIAudioDialog*)obj;
    // Dialog left by clicking OK
    cfgfile->setAttributeOverwrite("sound.variometer.vol",
                                   dlg->slider_variovol->getStringValue());
    //~ cfgfile->setAttributeOverwrite("sound.throttle.mode",
                                   //~ dlg->comboEngine->getCurrentItem());
    {
      std::string SR = CGUIAudioDialog::samplerates[dlg->comboSampleRate->getCurrentItem()];
      
      int nSR  = atoi(SR.substr(0, SR.find(' ')).c_str());
      cfgfile->setAttributeOverwrite("sound.samplerate", nSR);
      
      int varvol = dlg->slider_variovol->getIntegerValue() << 3;
      printf("Setting vario volume to %d\n", varvol);
      Global::soundserver->setChannelVolume(vario_sound_channel, varvol);
      
      unsigned char ucModelVol = dlg->slider_modelvol->getFloatValue() * SDL_MIX_MAXVOLUME;
      std::cout << "Setting model volume to " << (int)ucModelVol << std::endl;
      Global::soundserver->setModelVolume(ucModelVol);
      Global::soundserver->putBackIntoConfig(cfgfile);
    }    
  }
 
  puDeleteObject(obj);
}
コード例 #11
0
/** The dialog's callback.
 *
 */
void CGUIViewWindDialogCallback(puObject *obj)
{
  if (obj->getIntegerValue() == CRRC_DIALOG_OK)
  {
    // Dialog left by clicking OK
    //CGUIViewWindDialog* dlg   = (CGUIViewWindDialog*)obj;
    //nothing...
  }  
  puDeleteObject(obj);
}
コード例 #12
0
ファイル: crrc_calibmap.cpp プロジェクト: mayrit/crrcsim
CGUICalibMapDialog::~CGUICalibMapDialog()
{
  // clean up
  for (int i = 0; i < NUM_FUNCTIONS; i++)
  {
    puDeleteObject(axismapping[i]);
    puDeleteObject(invert[i]);
  }
  for (int i = 0; i < TX_MAXAXIS; i++)
  {
    puDeleteObject(axis[i]);
    delete[] axislabel[i];
  }
  puDeleteObject(butCalibrate);
  
  revealAll();//set visible all dialogues previously hidden 
  leave_test_mode();
  
  //restore verbosity
  Global::nVerbosity = sVerbosity;
}
コード例 #13
0
DlgOptions::~DlgOptions()
{
    puDeleteObject(frame);
    puDeleteObject(window_button);
    puDeleteObject(fullscreen_640x480_button);
    puDeleteObject(fullscreen_800x600_button);
    puDeleteObject(fullscreen_1024x800_button);
    puDeleteObject(fullscreen_1280x1024_button);
    puDeleteObject(ok_button);
}
コード例 #14
0
ファイル: crrc_calibmap.cpp プロジェクト: mayrit/crrcsim
static void CGUICalibMapCallback(puObject *obj)
{
  CGUICalibMapDialog* dlg = static_cast<CGUICalibMapDialog*>(obj);
  // only react to buttons if calibration is not running
  if (dlg->state == 0)
  {
    if (dlg->getIntegerValue() == CRRC_DIALOG_OK)
    {
      dlg->save_mapping();
    }
    else
    {
    }
    puDeleteObject(dlg);
  }
}
コード例 #15
0
void DlgResult::delete_ok_cb(puObject *)
{
    try
    {
	Database& db = Database::instance();
	db.removeRun(db.getSelectedRun());
	db.updateRunsView();
	db.adjustSelectedRun();
	db.updateRunObservers(0);

	DlgBase* dlg = DlgStack::instance().pop();
	puDeleteObject(dlg);
    }
    catch (const NotFound& ex)
    {
	DlgBase* dlg = DlgStack::instance().top();
	DlgInformation::info(dlg, ex.getMessage());
    }
}
コード例 #16
0
void DlgTerrain::new_ok_cb(puObject *)
{
    DlgNewTerrain* dlg = (DlgNewTerrain*)DlgStack::instance().top();
    Database& db = Database::instance();
    
    std::string name = dlg->getName();
    unsigned int sz = name.size();
    std::string::size_type i = name.find_first_of(' ');
    if (sz == 0)
    {
	DlgInformation::info(dlg, "You must give name for the terrain");
    }
    else if (0 <= i && i < sz)
    {
	DlgInformation::info(dlg, "Name may not contain space characters");
    }
    else
    {
	int dim = dlg->getDimensions();
	int av = dlg->getAltitudeVariation();
	int nfi = dlg->getNonFractalIterations();
	int rl = dlg->getRecursionLevels();
	float fd = dlg->getFractalDimension();
	int seed = time((time_t*)0);
	seed %= 900000000;

	Terrain* terrain = new Terrain(name, dim, dim, seed, av, nfi, rl, fd);
	try
	{
	    db.addTerrain(terrain);
	    db.updateTerrainsView();
	    db.setSelectedTerrain(terrain);
	    db.updateTerrainObservers(0);
	    dlg = (DlgNewTerrain*)DlgStack::instance().pop();
	    puDeleteObject(dlg);
	} 
	catch (const Exists& ex)
	{
	    delete terrain;
	    DlgInformation::info(dlg, ex.getMessage());
	}
    }
}
コード例 #17
0
void DlgTerrain::delete_ok_cb(puObject *)
{
    try
    {
	Database& db = Database::instance();
	db.removeTerrain(db.getSelectedTerrain());
	db.updateTerrainsView();
	db.adjustSelectedTerrain();
	db.updateTerrainObservers(0);

	db.ensureMinimalDB();
    
	puGroup* dlg = DlgStack::instance().pop();
	puDeleteObject(dlg);
    } 
    catch (const NotFound& ex)
    {
	DlgBase* dlg = DlgStack::instance().top();
	DlgInformation::info(dlg, ex.getMessage());
    }
}
コード例 #18
0
ファイル: crrc_gui_main.cpp プロジェクト: mayrit/crrcsim
/** \brief Destroy the gui object.
 *
 *
 */
CGUIMain::~CGUIMain()
{
  puDeleteObject(main_menu_bar);
  main_menu_bar = NULL;
}
コード例 #19
0
DlgProgress::~DlgProgress()
{
    puDeleteObject(frame);
    puDeleteObject(name);
    puDeleteObject(slider);
}
コード例 #20
0
void DlgBase::pop_cb(puObject *)
{
    DlgBase* dlg = DlgStack::instance().pop();
    puDeleteObject(dlg);
}
コード例 #21
0
DlgInformation::~DlgInformation()
{
    puDeleteObject(frame);
    puDeleteObject(name);
    puDeleteObject(button);
}
コード例 #22
0
void DlgInformation::btn_cb(puObject*)
{
    puGroup* dlg = DlgStack::instance().pop();
    puDeleteObject(dlg);
}
コード例 #23
0
ファイル: baseclass.c プロジェクト: pzychotic/ClickSaver
PUU32 puBaseClassHandler( PULID _Object, PULID _Class, void* _pData, PUU32 _MethodID, PUU32 _Param1, PUU32 _Param2 )
{
	pusBaseClassData* pData;
	pData = ( pusBaseClassData* )_pData;

	switch( _MethodID )
	{
		case PUM_NEW:
			pData->RefCount = 0;
			pData->ParentObject = NULL;
			pData->LastNotification = 0;
			puInitList( &pData->ChildList );
			puInitList( &pData->NotificationList );
			return TRUE;

		case PUM_DELETE:
			{
				pusNode* pCurrent;
				pusNode* pNext;

				// Unreference all child objects
				pCurrent = pData->ChildList.pFirst;

				while( pNext = pCurrent->pNext )
				{
					puDoMethod( ( PULID )pCurrent, PUM_REMREF, 0, 0 );
					pCurrent = pNext;
				}

				// Free notifications
				pCurrent = pData->NotificationList.pFirst;

				while( pNext = pCurrent->pNext )
				{
					free( pCurrent );
					pCurrent = pNext;
				}
			}
			break;

		case PUM_ADDREF:
			pData->RefCount++;
			break;

		case PUM_REMREF:
			if( pData->RefCount )
				pData->RefCount--;

			if( !pData->RefCount )
				puDeleteObject( _Object );
			break;

		case PUM_SET:
			switch( _Param1 )
			{
				case PUA_PARENT:
					pData->ParentObject = _Param2;
					break;

				default:
					puBaseClassCheckNotifications( pData, _Param1, _Param2 );
					break;
			}
			return TRUE;

		case PUM_GET:
			switch( _Param1 )
			{
				case PUA_PARENT:
					return pData->ParentObject;

				case PUA_NOTIFICATION:
					return pData->LastNotification;
			}

			return 0;

		case PUM_ADDCHILD:
			puAddTail( &pData->ChildList, ( pusNode* )_Param1 );
			puSetAttribute( _Param1, PUA_PARENT, _Object );
			puDoMethod( _Param1, PUM_ADDREF, 0, 0 );
			break;

		case PUM_GETCHILDLIST:
			return ( PUU32 )&pData->ChildList;

		case PUM_ADDNOTIFICATION:
			return ( PUU32 )puBaseClassAddNotify( pData, ( PUU32* )_Param1, ( pusObjectCollection* )_Param2 );

		case PUM_REMNOTIFICATION:
			{
				pusNode* pNode;
				pNode = ( pusNode* )_Param1;
				puRemoveNode( pNode );
				free( pNode );
			}
			return TRUE;
	}

	return 0;
}