void DoUnloadCamera() { if ( !GetCurrentCam() ) { return; } if ( !GetCurrentCam()->HasBeenSaved() ) { char buf[PATH_MAX + 64]; sprintf( buf, "Do you want to save the changes for camera '%s'?", GetCurrentCam()->GetCam()->getName() ); if ( g_FuncTable.m_pfnMessageBox( (GtkWidget *)g_pRadiantWnd, buf, "Warning", MB_YESNO, NULL ) == IDYES ) { DoSaveCamera(); } } else if ( GetCurrentCam()->HasBeenSaved() == 2 ) { char buf[PATH_MAX + 64]; sprintf( buf, "Do you want to save the changes made to camera file '%s'?", GetCurrentCam()->GetFileName() ); if ( g_FuncTable.m_pfnMessageBox( (GtkWidget *)g_pRadiantWnd, buf, "Warning", MB_YESNO, NULL ) == IDYES ) { DoSaveCamera(); } } if ( g_pCurrentEditCam ) { DoStopEdit(); g_pCurrentEditCam = NULL; } FreeCam( GetCurrentCam() ); SetCurrentCam( NULL ); RefreshCamListCombo(); }
static gint ci_close( GtkWidget *widget, gpointer data ) { gtk_widget_hide( g_pCameraInspectorWnd ); // exit edit mode DoStopEdit(); return TRUE; }
void DoStartEdit( CCamera *cam ) { if( g_pCurrentEditCam ) { DoStopEdit(); g_pCurrentEditCam = NULL; } if( cam ) { g_bEditOn = true; if( !Listener ) Listener = new CListener; cam->GetCam()->startEdit( g_iActiveTarget < 0 ? true : false ); g_pCurrentEditCam = cam; g_FuncTable.m_pfnSysUpdateWindows( W_XY_OVERLAY | W_CAMERA ); } }