void Ballot::ModifyInfo(string new_candidate_id, MYSQL *mysql) { DisplayInfo(); candidate_id = new_candidate_id; char char_name[kCharArrayLength]; memset(char_name, 0, sizeof(char_name)); int i = 0; for(string::iterator it = candidate_id.begin(); it != candidate_id.end(); it++) char_name[i++] = *it; char char_id[kCharArrayLength]; memset(char_id, 0, sizeof(char_id)); i = 0; for(string::iterator it = id.begin(); it != id.end(); it++) char_id[i++] = *it; char sql[kSqlStatementLength]; memset(sql, 0, sizeof(sql)); sprintf(sql, "update ballot set candidate_id = '%s' where id = '%s'", char_name, char_id); if(mysql_query(mysql, sql)){ cout << "ERROR: " << mysql_errno(mysql) << mysql_error(mysql) << endl; exit(false); } DisplayInfo(); }
INT_PTR CFilterProperties::OnReceiveMessage( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { switch(uMsg) { case WM_INITDIALOG: { m_hwndDialog = hwnd; DisplayInfo(); return (INT_PTR)TRUE; } case WM_DESTROY: { DestroyWindow(m_hwndDialog); return (INT_PTR)TRUE; } case WM_COMMAND: { switch (LOWORD (wParam)) { case IDOK: SetDirty(); break ; case IDC_BTN_UPDATE: DisplayInfo(); break; default:; }; return (INT_PTR)TRUE; } case WM_NOTIFY: { switch (wParam){ case -1: break; default:; } // end switch (wParam) OnUpdate(); } default: return (INT_PTR)FALSE; } return CBasePropertyPage::OnReceiveMessage(hwnd,uMsg,wParam,lParam); //return TRUE; } // OnReceiveMessage
void DisplayPNames(void) { char Word[15]; int i,k; /* int kk; */ long l; Print(27,22,0,15,SuchStr); for (i=0;i<22;i++) { if (i>=PNames) Print(2,i+2,0,15," "); else { Entry=E; Entry+=PName[Pos+i].Num; if (Entry->Mark==1) k=1; else k=0; if (k==0) PrintInt(2,i+2,0,15,Pos+i+1); else PrintInt(2,i+2,HGR,15,Pos+i+1); memset(Word,32,15); strcpy(Word,Entry->RName); Word[strlen(Word)]=32; Word[14]=0; if (k==0) Print(7,i+2,0,15,Word); else Print(7,i+2,HGR,15,Word); l=Entry->RLength; if (k==0) PrintZahl(16,i+2,0,15,l); else PrintZahl(16,i+2,HGR,15,l); } } PrintInt(2,CPos,7,15,Pos+CPos-1); Entry=E; Entry+=PName[Pos+CPos-2].Num; memset(Word,32,15); strcpy(Word,Entry->RName); Word[strlen(Word)]=32; Word[14]=0; Print(7,CPos,7,15,Word); l=Entry->RLength; PrintZahl(16,CPos,7,15,l); DisplayInfo(); i=PName[Pos+CPos-2].UsedInTex; if (i<999) Print(55,8,0,7,TEntry[PName[Pos+CPos-2].UsedInTex].TName); }
status_t FakeSurfaceComposer::getDisplayConfigs(const sp<IBinder>& display, Vector<DisplayInfo>* configs) { if (configs == NULL) { return BAD_VALUE; } // Limit DisplayConfigs only to primary display if (!display.get() || display != mPrimaryDisplay) { return NAME_NOT_FOUND; } configs->clear(); DisplayInfo info = DisplayInfo(); nsCOMPtr<nsIRunnable> runnable = NS_NewRunnableFunction([&]() { MOZ_ASSERT(NS_IsMainThread()); getPrimaryDisplayInfo(&info); }); NS_DispatchToMainThread(runnable, NS_DISPATCH_SYNC); configs->push_back(info); return NO_ERROR; }
void WinEDA_ModuleEditFrame::Export_Module(MODULE* ptmod, bool createlib) /************************************************************************/ /* Genere 1 fichier type Empreinte a partir de la description du module sur PCB */ { wxString FullFileName, Mask( wxT("*") ); char Line[1025]; FILE * dest; wxString msg, path; if ( ptmod == NULL ) return; ptmod->m_LibRef = ptmod->m_Reference->m_Text; FullFileName = ptmod->m_LibRef; FullFileName += createlib ? LibExtBuffer : EXT_CMP; Mask += createlib ? LibExtBuffer : EXT_CMP; if ( createlib ) path = g_RealLibDirBuffer; FullFileName = EDA_FileSelector( createlib ? _("Create lib") : _("Export Module:"), path, /* Chemin par defaut */ FullFileName, /* nom fichier par defaut */ createlib ? LibExtBuffer : EXT_CMP, /* extension par defaut */ Mask, /* Masque d'affichage */ this, wxSAVE, TRUE ); if ( FullFileName.IsEmpty() ) return; if ( createlib && wxFileExists(FullFileName) ) { msg.Printf( _("File %s exists, OK to replace ?"), FullFileName.GetData()); if( ! IsOK(this, msg) ) return; } /* Generation du fichier Empreinte */ if ( (dest = wxFopen(FullFileName, wxT("wt")) ) == NULL ) { msg.Printf( _("Unable to create <%s>"),FullFileName.GetData()) ; DisplayError(this, msg) ; return ; } fprintf(dest,"%s %s\n", ENTETE_LIBRAIRIE, DateAndTime(Line)); fputs("$INDEX\n",dest); fprintf(dest,"%s\n", CONV_TO_UTF8(ptmod->m_LibRef) ); fputs("$EndINDEX\n",dest); m_Pcb->m_Modules->WriteDescr(dest); fputs("$EndLIBRARY\n",dest); fclose(dest) ; msg.Printf( _("Module exported in file <%s>"),FullFileName.GetData()) ; DisplayInfo(this, msg) ; }
NTSTATUS DriverEntry( PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegPath ) { NTSTATUS Status = STATUS_SUCCESS; pDriverObject->DriverUnload = UnLoad; DisplayInfo(); return Status; }
EGLNativeInternalDisplayType getDefaultDisplay() { if (!s_tlsIndex) s_tlsIndex = TlsAlloc(); WinDisplay* dpy = new WinDisplay(); HWND hwnd = createDummyWindow(); HDC hdc = GetDC(hwnd); dpy->setInfo(WinDisplay::DEFAULT_DISPLAY,DisplayInfo(hdc,hwnd)); return static_cast<EGLNativeInternalDisplayType>(dpy); }
int main() { mine = (struct car*)malloc(sizeof(struct car)); EnterInfo(mine); DisplayInfo(mine); free(mine); return 0; }
void CMFECToolTip::ShowToolTip( UINT nControlID ) { #if 1 ToolTipInfo *pToolTip = IsControlIDExisting( nControlID ); if( pToolTip == NULL ) return; DisplayInfo( pToolTip ); #endif }
static HDC getDummyDC(EGLNativeInternalDisplayType display,int cfgId){ HDC dpy = NULL; if(!display->infoExists(cfgId)){ HWND hwnd = createDummyWindow(); dpy = GetDC(hwnd); display->setInfo(cfgId,DisplayInfo(dpy,hwnd)); } else { dpy = display->getDC(cfgId); } return dpy; }
void AHUD::ShowDebugInfo(float& YL, float& YPos) { if (DebugCanvas != nullptr ) { FLinearColor BackgroundColor(0.f, 0.f, 0.f, 0.2f); DebugCanvas->Canvas->DrawTile(0, 0, DebugCanvas->ClipX, DebugCanvas->ClipY, 0.f, 0.f, 0.f, 0.f, BackgroundColor); FDebugDisplayInfo DisplayInfo(DebugDisplay, ToggledDebugCategories); if (bShowDebugForReticleTarget) { FRotator CamRot; FVector CamLoc; PlayerOwner->GetPlayerViewPoint(CamLoc, CamRot); FCollisionQueryParams TraceParams(NAME_None, true, PlayerOwner->PlayerCameraManager->ViewTarget.Target); FHitResult Hit; bool bHit = GetWorld()->LineTraceSingleByChannel(Hit, CamLoc, CamRot.Vector() * 100000.f + CamLoc, ECC_WorldDynamic, TraceParams); if (bHit) { AActor* HitActor = Hit.Actor.Get(); if (HitActor && (ShowDebugTargetDesiredClass == NULL || HitActor->IsA(ShowDebugTargetDesiredClass))) { ShowDebugTargetActor = HitActor; } } } else { ShowDebugTargetActor = PlayerOwner->PlayerCameraManager->ViewTarget.Target; } if (ShowDebugTargetActor && !ShowDebugTargetActor->IsPendingKill()) { ShowDebugTargetActor->DisplayDebug(DebugCanvas, DisplayInfo, YL, YPos); } if (ShouldDisplayDebug(NAME_Game)) { AGameModeBase* AuthGameMode = GetWorld()->GetAuthGameMode(); if (AuthGameMode) { AuthGameMode->DisplayDebug(DebugCanvas, DisplayInfo, YL, YPos); } } if (bShowDebugInfo) { OnShowDebugInfo.Broadcast(this, DebugCanvas, DisplayInfo, YL, YPos); } } }
void FTPS_Window::print_status(ftps_request_t *request, int quiet_mode) { if (quiet_mode == FALSE || rt.display_mode == DISP_CURSES) { for (int i = 0; i < request->num_mirrors; i++) { pthread_mutex_lock (&request->access_mutex); ftp_mirror_stat_t status = request->mirrors[i].status; pthread_mutex_unlock (&request->access_mutex); switch (status) { case UNTESTED: DisplayInfo(i+1,1, "%-30.30s %s\n", request->mirrors[i].server_name, "NOT TESTED"); break; case RESPONSEOK: DisplayInfo(i+1,1, "%-30.30s %dms\n", request->mirrors[i].server_name, request->mirrors[i].milli_secs); break; case NORESPONSE: case ERROR: DisplayInfo(i+1,1, "%-30.30s %s\n", request->mirrors[i].server_name, "NO REPONSE"); break; default: DisplayInfo(i+1,1, "%-30.30s %s\n", request->mirrors[i].server_name, "Unkown condition!!"); break; } } if (rt.display_mode == DISP_STDOUT) fprintf(stdout,"\n"); } return; }
/* redisplaying graphics */ void Display(void) { hlBeginFrame(); hlMaterialf(HL_FRONT_AND_BACK, HL_STATIC_FRICTION, 0.1); hlMaterialf(HL_FRONT_AND_BACK, HL_DYNAMIC_FRICTION, 0.8); hlCheckEvents(); /* clear the display */ //glClear(GL_COLOR_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //materialsTest(); if (mDrawSurface) mSurface.DrawSurface(); // draw the haptic surface hlHintb(HL_SHAPE_DYNAMIC_SURFACE_CHANGE, HL_TRUE); hlTouchableFace(HL_BACK); hlBeginShape(HL_SHAPE_FEEDBACK_BUFFER, mSurfaceShapeId); mSurface.DrawSurface(); hlEndShape(); glDisable(GL_LIGHTING); if (mDrawSystem) mPS.Draw(); if (mDrawNormals) mSurface.DrawSurfaceNormals(); glEnable(GL_LIGHTING); // draw the 3D cursor RedrawCursor(); // show FPS if (mDrawInfo != drawInfo_None) DisplayInfo(); // swap the double buffers glutSwapBuffers(); hlEndFrame(); }
void SwarmerDownloaderDlg::OnTimer(UINT nIDEvent) { switch (nIDEvent) { case (1): { p_parent->TimerFired(); DisplayInfo("Timer Fired"); // Debug //KillTimer(1); } } }
void Ballot::Delete(MYSQL *mysql) { DisplayInfo(); char char_id[kCharArrayLength]; memset(char_id, 0, sizeof(char_id)); int i = 0; for(string::iterator it = id.begin(); it != id.end(); it++) char_id[i++] = *it; char sql[kSqlStatementLength]; memset(sql, 0, sizeof(sql)); sprintf(sql, "delete from ballot where id = '%s'", char_id); if(mysql_query(mysql, sql)){ cout << "ERROR: " << mysql_errno(mysql) << mysql_error(mysql) << endl; exit(false); } }
/******************************************************************************* The main routine for displaying the scene. Gets the latest snapshot of state from the haptic thread and uses it to display a 3D cursor. *******************************************************************************/ void drawSceneGraphics() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // place camera/eye glTranslatef(xTranslate ,yTranslate ,zDepth); glRotatef(-yRotation, 1.0,0.0,0.0); glRotatef(-xRotation, 0.0,1.0,0.0); glDisable(GL_TEXTURE_2D); drawCursor(); glEnable(GL_TEXTURE_2D); glPushMatrix(); glCallList(objList); //Displays regular OBJ model // glCallList(bumpList); //Displays displacement mapped OBJ model glPopMatrix(); //Uncomment to see the Entry Point glPushAttrib(GL_CURRENT_BIT | GL_ENABLE_BIT | GL_LIGHTING_BIT); glDisable(GL_TEXTURE_2D); glPushMatrix(); glPointSize(15.0); glTranslatef(0.0, 0.0, 1.0); glBegin(GL_POINTS); glEnable(GL_COLOR_MATERIAL); glColor3f(0.0,0.0,1.0); glVertex3f(0.05,-0.175,0.975); glEnd(); glPopMatrix(); glPopAttrib(); DisplayInfo(); glEnable(GL_TEXTURE_2D); updateWorkspace(); }
wxString GetEditorName(void) /***************************/ /* Return the prefered editor name */ { wxString editorname = g_EditorName; if ( editorname == "" ) // We get the prefered editor name from environment variable { wxGetEnv("EDITOR", &editorname); } if ( editorname == "" ) // We must get a prefered editor name { DisplayInfo(NULL, _("No default editor found, you must choose it") ); wxString mask; #ifdef __WINDOWS__ mask = "*.exe"; #endif editorname = EDA_FileSelector(_("Prefered Editor:"), "", /* Default path */ "", /* default filename */ "", /* default filename extension */ mask, /* filter for filename list */ NULL, /* parent frame */ wxOPEN, /* wxSAVE, wxOPEN ..*/ TRUE /* true = keep the current path */ ); } if ( (editorname != "") && EDA_Appl->m_EDA_CommonConfig) { g_EditorName = editorname; EDA_Appl->m_EDA_CommonConfig->Write("Editor", g_EditorName); } return g_EditorName; }
int main() { DisplayInfo(&screen_start, &screen_stride, &screen_width, &screen_height); screen = (char *)screen_start; printf("screen %p\n", (char *)screen_start); printf("screen_stride %p\n", (char *)screen_stride); printf("screen_width %d\n", screen_width); printf("screen_height %d\n", screen_height); printf("\nHit any key..."); fflush(stdout); getchar(); printf("%c",12); fflush(stdout); *screen = 0xff; screen += 0x100; dotest(0xff, 0xff); dotest(0x01, 0x00); dotest(0xff, 0xff); dotest(0x00, 0x01); dotest(0xff, 0xff); dotest(0x01, 0x00); dotest(0x80, 0x00); return 1; }
LRESULT CALLBACK MainWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case MOD_INIT: /* This must be taken care of in order to get the handle to VirtuaWin. */ /* The handle to VirtuaWin comes in the wParam */ vwHandle = (HWND) wParam; /* Should be some error handling here if NULL */ if(!initialised) { /* Get the VW Install path and then the user's path - give VirtuaWin 10 seconds to do this */ if(!SendMessage(vwHandle, VW_INSTALLPATH, (WPARAM) hwnd, 0) || ((initialised & 1) == 0)) { MessageBox(hwnd,_T("VirtuaWin failed to send install path."),_T("Module Error"), MB_ICONWARNING); exit(1) ; } if(!SendMessage(vwHandle, VW_USERAPPPATH, (WPARAM) hwnd, 0) || ((initialised & 2) == 0)) { MessageBox(hwnd,_T("VirtuaWin failed to send the UserApp path."),_T("Module Error"), MB_ICONWARNING); exit(1) ; } } DisplayInfo(hwnd,_T("Init")) ; break; case WM_COPYDATA: { COPYDATASTRUCT *cds; cds = (COPYDATASTRUCT *) lParam ; if((cds->dwData == (0-VW_INSTALLPATH)) && ((initialised & 1) == 0)) { if((cds->cbData < 2) || (cds->lpData == NULL)) return FALSE ; initialised |= 1 ; /* the paths are always returned in a multibyte string so we do not need to know * whether we are talking to a unicode VW */ #ifdef _UNICODE MultiByteToWideChar(CP_ACP,0,(char *) cds->lpData,-1,installPath,MAX_PATH) ; #else strncpy_s(installPath,260,(char *) cds->lpData,MAX_PATH) ; #endif installPath[MAX_PATH-1] = '\0' ; } else if((cds->dwData == (0-VW_USERAPPPATH)) && ((initialised & 2) == 0)) { if((cds->cbData < 2) || (cds->lpData == NULL)) return FALSE ; initialised |= 2 ; #ifdef _UNICODE MultiByteToWideChar(CP_ACP,0,(char *) cds->lpData,-1,userAppPath,MAX_PATH) ; #else strncpy_s(userAppPath, 260, (char *) cds->lpData,MAX_PATH) ; #endif userAppPath[MAX_PATH-1] = '\0' ; } else if(cds->dwData == (0-VW_DESKNAME)) { if(cds->lpData == NULL) deskName[0] = '\0' ; else { #ifdef _UNICODE MultiByteToWideChar(CP_ACP,0,(char *) cds->lpData,-1,deskName,MAX_PATH) ; #else strncpy_s(deskName,260, (char *) cds->lpData,MAX_PATH) ; #endif deskName[MAX_PATH-1] = '\0' ; } } } return TRUE ; case MOD_QUIT: /* This must be handled, otherwise VirtuaWin can't shut down the module */ PostQuitMessage(0); break; case MOD_SETUP: /* Optional */ DisplayInfo(hwnd,_T("Setup")) ; break; case MOD_CFGCHANGE: DisplayInfo(hwnd,_T("Config Change")) ; break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, msg, wParam, lParam); } return 0; }
int WinEDA_SchematicFrame::LoadOneEEProject(const wxString & FileName, bool IsNew) /********************************************************************************/ /* Routine de chargement d'un projet ( schema principal "Root" et ses sous schemas ( hierarchie ) */ { BASE_SCREEN *screen, * NextScreen; EDA_BaseStruct *EEDrawList ; wxString FullFileName, msg; bool LibCacheExist = FALSE; screen = ScreenSch ; while( screen ) { if(screen->IsModify()) break; screen = screen->Next(); } if ( screen ) { if( ! IsOK(this, _("Clear Schematic Hierarchy (modified!)?")) ) return FALSE; if ( ScreenSch->m_FileName != g_DefaultSchematicFileName ) SetLastProject(ScreenSch->m_FileName); } screen = ScreenSch ; if( ClearProjectDrawList((SCH_SCREEN*) screen) == FALSE ) return(1); FullFileName = FileName; if( (FullFileName.IsEmpty() ) && !IsNew ) { wxString mask = wxT("*") + g_SchExtBuffer; FullFileName = EDA_FileSelector( _("Schematic files:"), wxEmptyString, /* Chemin par defaut */ wxEmptyString, /* nom fichier par defaut */ g_SchExtBuffer, /* extension par defaut */ mask, /* Masque d'affichage */ this, wxOPEN, TRUE ); if ( FullFileName.IsEmpty() ) return ( FALSE ); } m_CurrentScreen = screen = ActiveScreen = ScreenSch; screen->m_CurrentItem = NULL; wxSetWorkingDirectory(wxPathOnly(FullFileName) ); m_CurrentScreen->m_FileName = FullFileName; Affiche_Message(wxEmptyString); MsgPanel->EraseMsgBox(); memset( &g_EESchemaVar,0, sizeof(g_EESchemaVar) ); m_CurrentScreen->ClrModify(); m_CurrentScreen->Pnext = NextScreen = NULL; if( IsNew ) { screen->m_CurrentSheet = &g_Sheet_A4; screen->SetZoom(32); screen->m_SheetNumber = screen->m_NumberOfSheet = 1; screen->m_Title = wxT("noname.sch"); m_CurrentScreen->m_FileName = screen->m_Title; screen->m_Company.Empty(); screen->m_Commentaire1.Empty(); screen->m_Commentaire2.Empty(); screen->m_Commentaire3.Empty(); screen->m_Commentaire4.Empty(); Read_Config(wxEmptyString, TRUE); Zoom_Automatique(TRUE); ReDrawPanel(); return (1); } // Rechargement de la configuration: msg = _("Ready\nWorking dir: \n") + wxGetCwd(); PrintMsg(msg); Read_Config(wxEmptyString, FALSE); // Delete old caches. LibraryStruct *nextlib, *lib = g_LibraryList; for (; lib != NULL; lib = nextlib ) { nextlib = lib->m_Pnext; if ( lib->m_IsLibCache ) FreeCmpLibrary(this, lib->m_Name); } if( IsNew ) { ReDrawPanel(); return (1); } // Loading the project library cache wxString FullLibName; wxString shortfilename; wxSplitPath(ScreenSch->m_FileName, NULL, &shortfilename, NULL); FullLibName << wxT(".") << STRING_DIR_SEP << shortfilename << wxT(".cache") << g_LibExtBuffer; if ( wxFileExists(FullLibName) ) { wxString libname; libname = FullLibName; ChangeFileNameExt(libname,wxEmptyString); msg = wxT("Load ") + FullLibName; LibraryStruct *LibCache = LoadLibraryName(this, FullLibName, libname); if ( LibCache ) { LibCache->m_IsLibCache = TRUE; msg += wxT(" OK"); } else msg += wxT(" ->Error"); PrintMsg( msg ); LibCacheExist = TRUE; } if ( ! wxFileExists(screen->m_FileName) && !LibCacheExist) // Nouveau projet prpbablement { msg.Printf( _("File %s not found (new project ?)"), screen->m_FileName.GetData() ); DisplayInfo(this, msg, 20); return (-1); } if( LoadOneEEFile(screen, screen->m_FileName) == FALSE) return (0); /* Chargement des sous feuilles */ while(screen) { EEDrawList = screen->EEDrawList; while(EEDrawList) { if( EEDrawList->m_StructType == DRAW_SHEET_STRUCT_TYPE) { #undef STRUCT #define STRUCT ((DrawSheetStruct*)EEDrawList) int timestamp = STRUCT->m_TimeStamp; if(timestamp == 0 ) { timestamp = GetTimeStamp(); STRUCT->m_TimeStamp = timestamp; } if( screen->Pnext == NULL) /* 1ere Sheet */ { screen->Pnext = NextScreen = CreateNewScreen(this, (SCH_SCREEN*)screen,timestamp); } else { NextScreen->Pnext = CreateNewScreen(this, (SCH_SCREEN*)NextScreen, timestamp); NextScreen = (BASE_SCREEN*)NextScreen->Pnext; } STRUCT->m_Son = NextScreen; NextScreen->m_Parent = EEDrawList; if( ! STRUCT->m_Field[SHEET_FILENAME].m_Text.IsEmpty() ) { NextScreen->m_FileName = STRUCT->m_Field[SHEET_FILENAME].m_Text; if( LoadOneEEFile(NextScreen, NextScreen->m_FileName) == TRUE ) { ActiveScreen = (SCH_SCREEN*) NextScreen; } } else DisplayError(this, _("No FileName in SubSheet")); } EEDrawList = EEDrawList->Pnext; } screen = (BASE_SCREEN*)screen->Pnext; } /* Reaffichage ecran de base (ROOT) si necessaire */ screen = ActiveScreen = ScreenSch; Zoom_Automatique(FALSE); return (1); }
long DoCommand( HWND hWindow, WPARAM wParam, LPARAM lParam ) /***********************************************************************/ { FNAME szFileName; LPFRAME lpFrame; LPOBJECT lpObject, lpBase; RECT rect, rMask, rTemp, rAll; HWND hWnd; STRING szString; int i, idFileType, x, y, dx, dy; BOOL fDoZoom, bPrint, fHasZoom; LPSTR lpszCmdLine; HGLOBAL hMem; ITEMID idDataType; DWORD dwReturn; int NewShape; UINT wID; SoundStartID( wParam, NO/*bLoop*/, NULL/*hInstance*/ ); /* WIN16: ID = wParam ctrl handle = LOWORD(lParam) notify code = HIWORD(lParam) WIN32: ID = LOWORD(wParam) ctrl handle = lParam notify code = HIWORD(wParam) */ #ifdef WIN32 wID = LOWORD(wParam); #else wID = wParam; #endif switch (wID) { case IDM_EXIT: DeactivateTool(); PostMessage( hWndAstral, WM_CLOSE, 0, 0L); Delay (750); break; case IDM_CLOSE: DeactivateTool(); /* Check to see if the image needs to be saved */ if ( !ConfirmClose(NO,NO) ) break; CloseImage( NO, lpImage ); // Close the active image break; case IDM_ABOUT: /* Bring up the modal 'About' dialog box */ AstralDlg( NO|2, hInstAstral, hWindow, IDD_ABOUT, DlgAboutProc); break; case IDM_NEXTPAGE: if ( !lpImage ) break; DeactivateTool(); SendMessage( lpImage->hWnd, WM_SYSCOMMAND, SC_NEXTWINDOW, 0L ); break; case IDM_NEW: DeactivateTool(); SoundStartResource( "magic01", NO, NULL ); AstralCursor( IDC_WAIT ); New( Control.NewWidth, Control.NewHeight, Control.NewResolution, Control.NewDepth ); AstralCursor( NULL ); break; case IDM_OPEN: DeactivateTool(); /* Bring up the modal 'File Open' box */ if ( !(dwReturn = DoOpenDlg( hWindow, IDD_OPEN, Save.FileType, szFileName, NO )) ) break; idFileType = LOWORD( dwReturn ); Save.FileType = idFileType; PutDefaultInt( "FileType", idFileType - IDN_TIFF ); AstralImageLoad( idFileType, szFileName, MAYBE, YES ); break; case IDM_ALTOPEN: DeactivateTool(); // Command line sent from a second instance prior to it closing /* If the caller passed in a file name, try to load it or print it */ if ( !(lpszCmdLine = (LPSTR)lParam) ) break; HandleCommandLine( hWindow, lpszCmdLine, &bPrint ); break; case IDM_SAVE: DeactivateTool(); HandleSaveCommand(hWindow, wID, YES); break; case IDM_SAVEAS: DeactivateTool(); HandleSaveCommand(hWindow, wID, YES); break; case IDM_SAVESPECIAL: DeactivateTool(); HandleSaveCommand(hWindow, wID, YES); break; case IDM_SAVEWALLPAPER: DeactivateTool(); SaveWallpaper( "CRAYOLA", NO/*fTiled*/ ); break; case IDM_REVERT: if ( !lpImage ) break; DeactivateTool(); if ( lpImage->fUntitled ) // If the picture doesn't have a name, get out break; if ( ImgChanged(lpImage) ) { /* Check to see if its OK to trash changes */ if ( AstralOKCancel(IDS_OKTOREVERT, (LPSTR)lpImage->CurFile) == IDCANCEL ) break; } lstrcpy( szFileName, lpImage->CurFile ); idFileType = lpImage->FileType; fDoZoom = IsZoomed(lpImage->hWnd); fHasZoom = Window.fHasZoom; CloseImage( NO, lpImage ); // Close the active image if ( !AstralImageLoad( idFileType, szFileName, fDoZoom, YES ) ) break; break; case IDM_RECALLIMAGE0: case IDM_RECALLIMAGE1: case IDM_RECALLIMAGE2: case IDM_RECALLIMAGE3: case IDM_RECALLIMAGE4: case IDM_RECALLIMAGE5: case IDM_RECALLIMAGE6: case IDM_RECALLIMAGE7: case IDM_RECALLIMAGE8: case IDM_RECALLIMAGE9: DeactivateTool(); GetMenuString( GetMenu(hWindow), wID, szFileName, sizeof(szFileName), MF_BYCOMMAND ); i = 0; while ( szFileName[i] && szFileName[i] != ' ' ) i++; // Skip over the numeric id in the string (3. junk.tif) lstrcpy(szString, &szFileName[i+1]); GetRecallFileName(szString); AstralImageLoad( NULL, szString, MAYBE, YES ); break; case IDM_PRINT: if ( !lpImage ) break; DeactivateTool(); AstralCursor( IDC_WAIT ); DoPrintSizeInits(); SoundStartResource( "print", YES, NULL ); PrintFile( hWindow, filename(lpImage->CurFile), YES, lpImage, NULL ); SoundStop(); AstralCursor( NULL ); break; case IDM_PRINTSETUP: /* Bring up the setup dialog box for the active printer */ AstralDlg( NO|2, hInstAstral, hWindow, IDD_PRINTSETUP, DlgPrintSetupProc); break; case IDC_SOUND: SoundToggle(); break; case IDM_UNDO: if ( !lpImage ) break; DeactivateTool(); ImgEditUndo(lpImage, YES, NO); break; case IDM_CUT: case IDM_COPY: if ( !lpImage ) break; DeactivateTool(); // Create the clipboard files from the image ProgressBegin(1, IDS_PROGCOPY); if ( !ImgWriteClipOut( lpImage, NULL, NULL, &rMask, lpImage->DataType ) ) { ProgressEnd(); Message(IDS_EMEMALLOC); break; } ProgressEnd(); OpenClipboard(hWindow); EmptyClipboard(); // Passing a NULL data handle in SetClipboardData() means that // the data will be requested in a WM_RENDERFORMAT message hMem = ConstructObject( lpImage, IsRectEmpty(&rMask)? (LPRECT)NULL : (LPRECT)&rMask ); if ( pOLE ) { // Any data put on before Native will become staticly copied SetClipboardData( pOLE->cfNative, NULL ); SetClipboardData( pOLE->cfOwnerLink, hMem ); } SetClipboardData( CF_DIB, NULL ); if ( Control.DoPicture ) SetClipboardData( CF_METAFILEPICT, NULL ); if ( Control.DoBitmap ) SetClipboardData( CF_BITMAP, NULL ); SetClipboardData( CF_PALETTE, NULL ); SetClipboardData( Control.cfImage, NULL ); if ( pOLE && wID == IDM_COPY && !lpImage->fUntitled ) { // ObjectLink is retrieved during a Paste Link... SetClipboardData( pOLE->cfObjectLink, hMem ); } CloseClipboard(); if ( wID == IDM_COPY ) break; // else fall through to IDM_DELETE case IDM_DELETE: if ( !lpImage ) break; { COLORINFO ColorInfo; DeactivateTool(); ColorInfo.gray = 255; SetColorInfo( &ColorInfo, &ColorInfo, CS_GRAY ); TintFill( lpImage, &ColorInfo, 255, MM_NORMAL, wID == IDM_CUT ? IDS_UNDOCUT : IDS_UNDODELETE ); } break; case IDM_PASTE: if ( !lpImage ) break; case IDM_PASTEASNEW: if ( !OpenClipboard(hWndAstral) ) { Message( IDS_ECLIPOPEN ); break; } if ( !IsClipboardFormatAvailable(CF_DIB) && !IsClipboardFormatAvailable(CF_BITMAP) && !IsClipboardFormatAvailable(Control.cfImage) ) { Message( IDS_ECLIPOPEN ); CloseClipboard(); break; } CloseClipboard(); DeactivateTool(); // First put clipboard contents into a file(s) AstralCursor(IDC_WAIT); if ( !PasteFromClipboard( hWindow, (wID == IDM_PASTE) /*fNeedMask*/ ) ) { AstralCursor(NULL); Message(IDS_EMEMALLOC); break; } if ( wID == IDM_PASTE ) { ProgressBegin(1, IDS_PROGPASTECLIP); TransformObjectsStart( YES/*fNewObject*/ ); if ( ImgCreateClipInObject( lpImage, NO ) ) ; ProgressEnd(); } else if ( wID == IDM_PASTEASNEW ) { if ( lpFrame = AstralFrameLoad( Names.PasteImageFile, -1, &idDataType, &idFileType) ) { if ( NewImageWindow( NULL, // lpOldFrame NULL, // Name lpFrame, // lpNewFrame idFileType, // lpImage->FileType idDataType, // lpImage->DataType FALSE, // New view? IMG_DOCUMENT, // lpImage->DocumentType NULL, // lpImage->ImageName MAYBE ) ) lpImage->fChanged = YES; } } break; case IDM_ESCAPE: if (!lpImage) break; if (lpImage->hWnd == hZoomWindow) break; if ( Tool.bActive && Tool.lpToolProc ) DestroyProc( lpImage->hWnd, 1L ); break; case IDM_SIZEUP: case IDM_SIZEDOWN: if (!Retouch.hBrush) break; SetFocus( hWindow ); // Take focus away from any controls if ( Retouch.BrushShape == IDC_BRUSHCUSTOM ) break; if ( wID == IDM_SIZEUP ) { if( bHexBrush && ( Retouch.BrushSize % 2 == 0 ) && ( Retouch.BrushSize > 6 )) Retouch.BrushSize += 2; else Retouch.BrushSize++; } else { if( bHexBrush && ( Retouch.BrushSize % 2 == 0 ) && ( Retouch.BrushSize > 6 )) Retouch.BrushSize -= 2; else Retouch.BrushSize--; } if ( Retouch.BrushSize < 1 || Retouch.BrushSize > MAX_BRUSH_SIZE ) { Retouch.BrushSize = bound( Retouch.BrushSize, 1,MAX_BRUSH_SIZE); MessageBeep(0); break; } if (lpImage) DisplayBrush(0, 0, 0, OFF); SetMgxBrushSize(Retouch.hBrush, Retouch.BrushSize); if (lpImage && Window.hCursor == Window.hNullCursor) DisplayBrush(lpImage->hWnd, 32767, 32767, ON); if ( Tool.hRibbon ) SetSlide( Tool.hRibbon, IDC_BRUSHSIZE, Retouch.BrushSize ); break; case IDM_SHAPEUP: case IDM_SHAPEDOWN: if (!Retouch.hBrush) break; SetFocus( hWindow ); // Take focus away from any controls NewShape = Retouch.BrushShape; if ( wID == IDM_SHAPEUP ) NewShape++; else NewShape--; if ( NewShape > IDC_BRUSHCUSTOM ) NewShape = IDC_BRUSHCIRCLE; if ( NewShape < IDC_BRUSHCIRCLE ) NewShape = IDC_BRUSHCUSTOM; if (lpImage) DisplayBrush(0, 0, 0, OFF); if (!SetMgxBrushShape(Retouch.hBrush, NewShape, Names.CustomBrush)) { NewShape = IDC_BRUSHCIRCLE; SetMgxBrushShape(Retouch.hBrush, NewShape, Names.CustomBrush); } Retouch.BrushShape = NewShape; if (lpImage && Window.hCursor == Window.hNullCursor) DisplayBrush(lpImage->hWnd, 32767, 32767, ON); if ( Tool.hRibbon ) { CheckComboItem( Tool.hRibbon, IDC_BRUSHSHAPE, IDC_BRUSHCIRCLE, IDC_BRUSHCUSTOMNEW, Retouch.BrushShape ); SendMessage( Tool.hRibbon, WM_CONTROLENABLE, 0, 0L ); } break; case IDM_MOVEUP: case IDM_MOVEDOWN: case IDM_MOVELEFT: case IDM_MOVERIGHT: if (!lpImage) break; lpBase = ImgGetBase(lpImage); if (ImgGetSelObject(lpImage, NULL) == lpBase) break; dx = dy = 0; if (wID == IDM_MOVEUP) --dy; if (wID == IDM_MOVEDOWN) ++dy; if (wID == IDM_MOVELEFT) --dx; if (wID == IDM_MOVERIGHT) ++dx; lpObject = NULL; while (lpObject = ImgGetSelObject(lpImage, lpObject)) { rect = lpObject->rObject; OffsetRect(&rect, dx, dy); if (!AstralIntersectRect(&rTemp, &lpBase->rObject, &rect)) break; } if (lpObject) break; AstralSetRectEmpty(&rAll); lpObject = NULL; while (lpObject = ImgGetSelObject(lpImage, lpObject)) { rect = lpObject->rObject; OffsetRect(&lpObject->rObject, dx, dy); AstralUnionRect(&rAll, &rAll, &lpObject->rObject); if (!lpObject->Pixmap.fNewFrame && EqualRect(&rect, &lpObject->rUndoObject)) lpObject->rUndoObject = lpObject->rObject; UpdateImage(&rect, TRUE); UpdateImage(&lpObject->rObject, TRUE); } if (wID == IDM_MOVEUP) { x = (rAll.left + rAll.right)/2; y = rAll.top; } else if (wID == IDM_MOVEDOWN) { x = (rAll.left + rAll.right)/2; y = rAll.bottom; } else if (wID == IDM_MOVELEFT) { x = rAll.left; y = (rAll.top + rAll.bottom)/2; } else if (wID == IDM_MOVERIGHT) { x = rAll.right; y = (rAll.top + rAll.bottom)/2; } File2Display(&x, &y); AutoScroll(lpImage->hWnd, x, y); AstralUpdateWindow(lpImage->hWnd); DisplayInfo(-1, &rAll); break; case IDM_LASTTOOL: DeactivateTool(); if ( Tool.idLast && (hWnd = AstralDlgGet(IDD_MAIN)) ) SendMessage( hWnd, WM_COMMAND, Tool.idLast, 2L); break; case IDM_PREF: // prevent problems if running animations and they change // the wave mix dll setting in preferences StopAnimation(); AstralDlg( NO|2, hInstAstral, hWindow, IDD_PREF, DlgPrefProc ); break; case IDC_VIEWLAST: // duplicate of function in the view ribbon if ( !lpImage ) break; RevertLastView(); break; // case IDC_VIEWFULL: // duplicate of function in the view ribbon // if ( !lpImage ) // break; // AstralDlg( NO, hInstAstral, hWindow, IDD_VIEWFULL, DlgFullScreenViewProc ); // break; case IDC_VIEWALL: // duplicate of function in the view ribbon if ( !lpImage ) break; ViewAll(); break; case IDC_ZOOMIN: // duplicate of function in the view ribbon if ( !lpImage ) break; if (!lpImage->lpDisplay) break; if (!lpImage->lpDisplay->ViewPercentage) break; x = ( lpImage->lpDisplay->FileRect.left + lpImage->lpDisplay->FileRect.right ) / 2; y = ( lpImage->lpDisplay->FileRect.top + lpImage->lpDisplay->FileRect.bottom ) / 2; SaveLastView(); Zoom(x,y, +100, YES, ( View.ZoomWindow ^ CONTROL ) ); break; case IDC_ZOOMOUT: // duplicate of function in the view ribbon if ( !lpImage ) break; if (!lpImage->lpDisplay) break; if (!lpImage->lpDisplay->ViewPercentage) break; x = ( lpImage->lpDisplay->FileRect.left + lpImage->lpDisplay->FileRect.right ) / 2; y = ( lpImage->lpDisplay->FileRect.top + lpImage->lpDisplay->FileRect.bottom ) / 2; SaveLastView(); Zoom(x,y, -100, YES,( View.ZoomWindow ^ CONTROL ) ); break; case IDM_HELP: Control.Hints = !Control.Hints; PutDefInt (Control.Hints,Control.Hints); break; default: return( FALSE ); } return( TRUE ); }
int main(int argc, char* argv[]){ ////////////////// //Create vars. ////////////////// PS::Initialize(argc, argv); PS::ParticleSystem<RealPtcl> sph_system; sph_system.initialize(); PS::DomainInfo dinfo; dinfo.initialize(); PS::F64 dt, end_time; ////////////////// //Disp. Info ////////////////// DisplayInfo(); ////////////////// //Setup Initial ////////////////// SetupIC(sph_system, &end_time, dinfo); Initialize(sph_system); //Dom. info dinfo.setDomain(PS::Comm::getNumberOfProc(), 1, 1); dinfo.decomposeDomain(); sph_system.exchangeParticle(dinfo); //plant tree PS::TreeForForceShort<RESULT::Dens , EPI::Dens , EPJ::Dens >::Gather dens_tree; PS::TreeForForceShort<RESULT::Drvt , EPI::Drvt , EPJ::Drvt >::Gather drvt_tree; PS::TreeForForceShort<RESULT::Hydro, EPI::Hydro, EPJ::Hydro>::Symmetry hydr_tree; PS::TreeForForceLong <RESULT::Grav , EPI::Grav , EPJ::Grav >::Monopole grav_tree; dens_tree.initialize(sph_system.getNumberOfParticleGlobal()); drvt_tree.initialize(sph_system.getNumberOfParticleGlobal()); hydr_tree.initialize(sph_system.getNumberOfParticleGlobal()); grav_tree.initialize(sph_system.getNumberOfParticleGlobal()); for(int loop = 0 ; loop <= 5 ; ++ loop){ dens_tree.calcForceAllAndWriteBack(CalcDensity() , sph_system, dinfo); } for(PS::S32 i = 0 ; i < sph_system.getNumberOfParticleLocal() ; ++ i){ sph_system[i].setPressure(); } drvt_tree.calcForceAllAndWriteBack(CalcDerivative(), sph_system, dinfo); hydr_tree.calcForceAllAndWriteBack(CalcHydroForce(), sph_system, dinfo); //grav_tree.calcForceAllAndWriteBack(CalcGravityForce(), sph_system, dinfo); grav_tree.calcForceAllAndWriteBack(CalcGravityForce<EPJ::Grav>(), CalcGravityForce<PS::SPJMonopole>(), sph_system, dinfo); dt = getTimeStepGlobal(sph_system); std::cout << std::scientific << std::setprecision(16) << "time = " << time << ", dt = " << dt << std::endl; PS::S32 step = 0; for(PS::F64 time = 0 ; time < end_time ; time += dt, ++ step){ InitialKick(sph_system, dt); FullDrift(sph_system, dt); sph_system.adjustPositionIntoRootDomain(dinfo); Predict(sph_system, dt); dinfo.decomposeDomain(); sph_system.exchangeParticle(dinfo); for(int loop = 0 ; loop <= 2 ; ++ loop){ dens_tree.calcForceAllAndWriteBack(CalcDensity() , sph_system, dinfo); } for(PS::S32 i = 0 ; i < sph_system.getNumberOfParticleLocal() ; ++ i){ sph_system[i].setPressure(); } //std::cout << "push enter..." << std::endl; //getchar(); drvt_tree.calcForceAllAndWriteBack(CalcDerivative(), sph_system, dinfo); hydr_tree.calcForceAllAndWriteBack(CalcHydroForce(), sph_system, dinfo); //grav_tree.calcForceAllAndWriteBack(CalcGravityForce(), sph_system, dinfo); grav_tree.calcForceAllAndWriteBack(CalcGravityForce<EPJ::Grav>(), CalcGravityForce<PS::SPJMonopole>(), sph_system, dinfo); dt = getTimeStepGlobal(sph_system); FinalKick(sph_system, dt); if(step % PARAM::OUTPUT_INTERVAL == 0){ FileHeader header; header.time = time; header.Nbody = sph_system.getNumberOfParticleGlobal(); char filename[256]; sprintf(filename, "result/%04d.dat", step); sph_system.writeParticleAscii(filename, header); if(PS::Comm::getRank() == 0){ std::cout << "//================================" << std::endl; std::cout << "output " << filename << "." << std::endl; std::cout << "//================================" << std::endl; } } if(PS::Comm::getRank() == 0){ std::cout << "//================================" << std::endl; std::cout << std::scientific << std::setprecision(16) << "time = " << time << ", dt = " << dt << std::endl; std::cout << "step = " << step << std::endl; std::cout << "//================================" << std::endl; } CheckConservativeVariables(sph_system); } PS::Finalize(); return 0; }
HRESULT SymBase::GetInfoTable( SymbolInfoTable &InfoTable ) { HRESULT hr; ULONG SymULONG; LPCWSTR SymStr; BSTR SymBStr; BOOL SymBOOL; IDiaSymbol *SymSymbol; IDiaEnumSymbols *SymEnum; BOOL TableRet; CString Tmp; // // Children // hr = Self()->findChildren(SymTagNull, NULL, nsNone, &SymEnum); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_CHILDREN, BOOL_STR(SymEnum != NULL)); VERIFY_EXP(TableRet); SymEnum->Release(); } // // access // hr = Self()->get_access(&SymULONG); if (HR_OK(hr)) { SymStr = GetAccessStr(SymULONG); TableRet = InfoTable.Add(SYMBOL_ACCESS, SymStr); VERIFY_EXP(TableRet); } // // addressOffset // hr = Self()->get_addressOffset(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_ADDRESSOFFSET, Tmp); VERIFY_EXP(TableRet); } // // addressSection // hr = Self()->get_addressSection(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_ADDRESSSECTION, Tmp); VERIFY_EXP(TableRet); } // // addressTaken // hr = Self()->get_addressTaken(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ADDRESSTAKEN, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // age // hr = Self()->get_age(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_AGE, Tmp); VERIFY_EXP(TableRet); } // // arrayIndexType // hr = Self()->get_arrayIndexType(&SymSymbol); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ARRAYINDEXTYPE, BOOL_STR(SymSymbol != NULL)); VERIFY_EXP(TableRet); SymSymbol->Release(); } // // arrayIndexTypeId // hr = Self()->get_arrayIndexTypeId(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_ARRAYINDEXTYPEID, Tmp); VERIFY_EXP(TableRet); } // // backEndMajor (Not implement) // // // backEndMinor (Not implement) // // // backEndBuild (Not implement) // // // baseType // hr = Self()->get_baseType(&SymULONG); if (HR_OK(hr)) { SymStr = GetBaseTypeStr(SymULONG, 0); TableRet = InfoTable.Add(SYMBOL_BASETYPE, SymStr); VERIFY_EXP(TableRet); } // // bitPosition // hr = Self()->get_bitPosition(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_BITPOSITION, Tmp); VERIFY_EXP(TableRet); } // // callingConvention // hr = Self()->get_callingConvention(&SymULONG); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_CALLINGCONVENTION, GetCallingConventionStr(SymULONG)); VERIFY_EXP(TableRet); } // // classParent // hr = Self()->get_classParent(&SymSymbol); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_CLASSPARENT, BOOL_STR(SymSymbol != NULL)); VERIFY_EXP(TableRet); SymSymbol->Release(); } // // classParentId // hr = Self()->get_classParentId(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_CLASSPARENTID, Tmp); VERIFY_EXP(TableRet); } // // code // hr = Self()->get_code(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_CODE, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // compilerGenerated // hr = Self()->get_compilerGenerated(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_COMPILERGENERATED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // compilerName // hr = Self()->get_compilerName(&SymBStr); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_COMPILERNAME, SymBStr); VERIFY_EXP(TableRet); } // // constructor // hr = Self()->get_constructor(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_CONSTRUCTOR, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // container // hr = Self()->get_container(&SymSymbol); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_CONTAINER, BOOL_STR(SymSymbol != NULL)); VERIFY_EXP(TableRet); SymSymbol->Release(); } // // constType // hr = Self()->get_constType(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_CONSTTYPE, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // count // hr = Self()->get_count(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_COUNT, Tmp); VERIFY_EXP(TableRet); } // // customCallingConvention // hr = Self()->get_customCallingConvention(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_CUSTOMCALLINGCONVENTION, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // dataBytes (Not implement) // // // dataKind // hr = Self()->get_dataKind(&SymULONG); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_DATAKIND, GetDataKindStr(SymULONG)); VERIFY_EXP(TableRet); } // // editAndContinueEnabled // hr = Self()->get_editAndContinueEnabled(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_EDITANDCONTINUEENABLED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // farReturn // hr = Self()->get_farReturn(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_FARRETURN, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // frontEndMajor (Not implement) // // // frontEndMinor (Not implement) // // // frontEndBuild (Not implement) // // // function // hr = Self()->get_function(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_FARRETURN, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // guid // GUID SymGuid; hr = Self()->get_guid(&SymGuid); if (HR_OK(hr)) { Tmp.Format(L"{%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X} ", SymGuid.Data1, SymGuid.Data2, SymGuid.Data3, SymGuid.Data4[0], SymGuid.Data4[1], SymGuid.Data4[2], SymGuid.Data4[3], SymGuid.Data4[4], SymGuid.Data4[5], SymGuid.Data4[6], SymGuid.Data4[7]); TableRet = InfoTable.Add(SYMBOL_GUID, Tmp); VERIFY_EXP(TableRet); } // // hasAlloca // hr = Self()->get_hasAlloca(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASALLOCA, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasAssignmentOperator // hr = Self()->get_hasAssignmentOperator(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASASSIGNMENTOPERATOR, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasCastOperator // hr = Self()->get_hasCastOperator(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASCASTOPERATOR, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasDebugInfo // hr = Self()->get_hasDebugInfo(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASDEBUGINFO, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasEH // hr = Self()->get_hasEH(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASEH, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasEHa // hr = Self()->get_hasEHa(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASEHA, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasInlAsm // hr = Self()->get_hasInlAsm(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASINLASM, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasLongJump // hr = Self()->get_hasLongJump(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASLONGJUMP, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasManagedCode // hr = Self()->get_hasManagedCode(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASMANAGEDCODE, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasNestedTypes // hr = Self()->get_hasNestedTypes(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASNESTEDTYPES, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasSecurityChecks // hr = Self()->get_hasSecurityChecks(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASSECURITYCHECKS, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasSEH // hr = Self()->get_hasSEH(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASSEH, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // hasSetJump // hr = Self()->get_hasSetJump(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_HASSETJUMP, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // indirectVirtualBaseClass // hr = Self()->get_indirectVirtualBaseClass(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_INDIRECTVIRTUALBASECLASS, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // inlSpec // hr = Self()->get_inlSpec(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_INLSPEC, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // interruptReturn // hr = Self()->get_interruptReturn(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_INTERRUPTRETURN, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // intro // hr = Self()->get_intro(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_INTRO, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isAggregated // hr = Self()->get_isAggregated(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISAGGREGATED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isCTypes // hr = Self()->get_isCTypes(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISCTYPES, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isCVTCIL // hr = Self()->get_isCVTCIL(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISCVTCIL, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isDataAligned // hr = Self()->get_isDataAligned(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISDATAALIGNED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isHotpatchable // hr = Self()->get_isHotpatchable(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISHOTPATCHABLE, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isLTCG // hr = Self()->get_isLTCG(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISLTCG, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isMSILNetmodule // hr = Self()->get_isMSILNetmodule(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISMSILNETMODULE, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isNaked // hr = Self()->get_isNaked(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISNAKED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isSplitted // hr = Self()->get_isSplitted(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISSPLITTED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isStatic // hr = Self()->get_isStatic(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISSTATIC, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // isStripped // hr = Self()->get_isStripped(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_ISSTRIPPED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // language // hr = Self()->get_language(&SymULONG); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_LANGUAGE, GetLanguageStr(SymULONG)); VERIFY_EXP(TableRet); } // // length // ULONGLONG SymULONGLONG; hr = Self()->get_length(&SymULONGLONG); if (HR_OK(hr)) { Tmp.Format(L"%0.16I64X", SymULONGLONG); TableRet = InfoTable.Add(SYMBOL_LENGTH, Tmp); VERIFY_EXP(TableRet); } // // lexicalParent // hr = Self()->get_lexicalParent(&SymSymbol); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_LEXICALPARENT, BOOL_STR(SymSymbol != NULL)); VERIFY_EXP(TableRet); SymSymbol->Release(); } // // lexicalParentId // hr = Self()->get_lexicalParentId(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_LEXICALPARENTID, Tmp); VERIFY_EXP(TableRet); } // // libraryName // hr = Self()->get_libraryName(&SymBStr); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_LIBRARYNAME, SymBStr); VERIFY_EXP(TableRet); } // // liveLVarInstances (Not implement) // // // locationType // hr = Self()->get_locationType(&SymULONG); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_LOCATIONTYPE, GetLocationTypeStr(SymULONG)); VERIFY_EXP(TableRet); } // // lowerBound (Not implement) // // // lowerBoundId (Not implement) // // // machineType // hr = Self()->get_machineType(&SymULONG); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_MACHINETYPE, GetMachineTypeStr(SymULONG)); VERIFY_EXP(TableRet); } // // managed // hr = Self()->get_managed(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_MANAGED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // msil // hr = Self()->get_msil(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_MSIL, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // name // hr = Self()->get_name(&SymBStr); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_NAME, SymBStr); VERIFY_EXP(TableRet); } // // nested // hr = Self()->get_nested(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_NESTED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // noInline // hr = Self()->get_noInline(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_NOINLINE, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // noReturn // hr = Self()->get_noReturn(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_NORETURN, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // noStackOrdering // hr = Self()->get_noStackOrdering(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_NOSTACKORDERING, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // notReached // hr = Self()->get_notReached(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_NOTREACHED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // objectPointerType // hr = Self()->get_objectPointerType(&SymSymbol); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_OBJECTPOINTERTYPE, BOOL_STR(SymSymbol != NULL)); VERIFY_EXP(TableRet); SymSymbol->Release(); } // // oemId // hr = Self()->get_oemId(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_OEMID, Tmp); VERIFY_EXP(TableRet); } // // oemSymbolId // hr = Self()->get_oemSymbolId(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_OEMSYMBOLID, Tmp); VERIFY_EXP(TableRet); } // // offset // LONG SymLONG; hr = Self()->get_offset(&SymLONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymLONG); TableRet = InfoTable.Add(SYMBOL_OFFSET, Tmp); VERIFY_EXP(TableRet); } // // optimizedCodeDebugInfo // hr = Self()->get_optimizedCodeDebugInfo(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_OPTIMIZEDCODEDEBUGINFO, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // overloadedOperator // hr = Self()->get_overloadedOperator(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_OVERLOADEDOPERATOR, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // packed // hr = Self()->get_packed(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_PACKED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // platform // hr = Self()->get_platform(&SymULONG); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_OEMSYMBOLID, GetMachineTypeStr(SymULONG)); VERIFY_EXP(TableRet); } // // pure // hr = Self()->get_pure(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_PURE, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // rank (Not implement) // // // reference // hr = Self()->get_reference(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_REFERENCE, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // registerId // hr = Self()->get_platform(&SymULONG); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_REGISTERID, GetMachineTypeStr(SymULONG)); VERIFY_EXP(TableRet); } // // relativeVirtualAddress // hr = Self()->get_platform(&SymULONG); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_RELATIVEVIRTUALADDRESS, GetMachineTypeStr(SymULONG)); VERIFY_EXP(TableRet); } // // scoped // hr = Self()->get_scoped(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_SCOPED, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // signature // hr = Self()->get_signature(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_SIGNATURE, Tmp); VERIFY_EXP(TableRet); } // // slot // hr = Self()->get_slot(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_SLOT, Tmp); VERIFY_EXP(TableRet); } // // sourceFileName // hr = Self()->get_sourceFileName(&SymBStr); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_SOURCEFILENAME, SymBStr); VERIFY_EXP(TableRet); } // // symbolsFileName // hr = Self()->get_symbolsFileName(&SymBStr); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_SYMBOLSFILENAME, SymBStr); VERIFY_EXP(TableRet); } // // symIndexId // hr = Self()->get_symIndexId(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_SYMINDEXID, Tmp); VERIFY_EXP(TableRet); } // // symTag // hr = Self()->get_symTag(&SymULONG); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_SYMTAG, GetSymTagStr(SymULONG)); VERIFY_EXP(TableRet); } // // targetOffset // hr = Self()->get_targetOffset(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_SYMINDEXID, Tmp); VERIFY_EXP(TableRet); } // // targetRelativeVirtualAddress // hr = Self()->get_targetRelativeVirtualAddress(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_TARGETRELATIVEVIRTUALADDRESS, Tmp); VERIFY_EXP(TableRet); } // // targetSection // hr = Self()->get_targetSection(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_TARGETSECTION, Tmp); VERIFY_EXP(TableRet); } // // targetVirtualAddress // hr = Self()->get_targetVirtualAddress(&SymULONGLONG); if (HR_OK(hr)) { Tmp.Format(L"%0.16I64X", SymULONGLONG); TableRet = InfoTable.Add(SYMBOL_TARGETVIRTUALADDRESS, Tmp); VERIFY_EXP(TableRet); } // // thisAdjust // hr = Self()->get_thisAdjust(&SymLONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymLONG); TableRet = InfoTable.Add(SYMBOL_THISADJUST, Tmp); VERIFY_EXP(TableRet); } // // thunkOrdinal // hr = Self()->get_thunkOrdinal(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_THISADJUST, Tmp); VERIFY_EXP(TableRet); } // // timeStamp // hr = Self()->get_timeStamp(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_TIMESTAMP, Tmp); VERIFY_EXP(TableRet); } // // token // hr = Self()->get_token(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_TOKEN, Tmp); VERIFY_EXP(TableRet); } // // type // hr = Self()->get_type(&SymSymbol); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_TYPE, BOOL_STR(SymSymbol != NULL)); VERIFY_EXP(TableRet); SymSymbol->Release(); } // // typeId // hr = Self()->get_typeId(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_TYPEID, Tmp); VERIFY_EXP(TableRet); } // // types (Not implement) // // // typeIds (Not implement) // // // udtKind // hr = Self()->get_udtKind(&SymULONG); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_UDTKIND, GetUdtKindStr(SymULONG)); VERIFY_EXP(TableRet); } // // unalignedType // hr = Self()->get_unalignedType(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_UNALIGNEDTYPE, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // undecoratedName // hr = Self()->get_undecoratedName(&SymBStr); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_UNDECORATEDNAME, SymBStr); VERIFY_EXP(TableRet); } // // undecoratedNameEx (Not implement) // // // upperBound (Not implement) // // // upperBoundId (Not implement) // // // value // VARIANT SymVar; SymVar.vt = VT_EMPTY; hr = Self()->get_value(&SymVar); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_VALUE, L"TRUE"); VERIFY_EXP(TableRet); } // // virtual // hr = Self()->get_virtual(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_VIRTUAL, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // virtualAddress // hr = Self()->get_virtualAddress(&SymULONGLONG); if (HR_OK(hr)) { Tmp.Format(L"%0.16I64X", SymULONGLONG); TableRet = InfoTable.Add(SYMBOL_VIRTUALADDRESS, Tmp); VERIFY_EXP(TableRet); } // // virtualBaseClass // hr = Self()->get_virtualBaseClass(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_VIRTUALBASECLASS, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } // // virtualBaseDispIndex // hr = Self()->get_virtualBaseDispIndex(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_VIRTUALBASEDISPINDEX, Tmp); VERIFY_EXP(TableRet); } // // virtualBaseOffset // hr = Self()->get_virtualBaseOffset(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_VIRTUALBASEOFFSET, Tmp); VERIFY_EXP(TableRet); } // // virtualBasePointerOffset // hr = Self()->get_virtualBasePointerOffset(&SymLONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymLONG); TableRet = InfoTable.Add(SYMBOL_VIRTUALBASEPOINTEROFFSET, Tmp); VERIFY_EXP(TableRet); } // // virtualBaseTableType // hr = Self()->get_virtualBaseTableType(&SymSymbol); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_VIRTUALBASETABLETYPE, BOOL_STR(SymSymbol != NULL)); VERIFY_EXP(TableRet); SymSymbol->Release(); } // // virtualTableShape // hr = Self()->get_virtualTableShape(&SymSymbol); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_VIRTUALTABLESHAPE, BOOL_STR(SymSymbol != NULL)); VERIFY_EXP(TableRet); SymSymbol->Release(); } // // virtualTableShapeId // hr = Self()->get_virtualTableShapeId(&SymULONG); if (HR_OK(hr)) { Tmp.Format(L"%08X", SymULONG); TableRet = InfoTable.Add(SYMBOL_VIRTUALTABLESHAPEID, Tmp); VERIFY_EXP(TableRet); } // // volatileType // hr = Self()->get_volatileType(&SymBOOL); if (HR_OK(hr)) { TableRet = InfoTable.Add(SYMBOL_VOLATILETYPE, BOOL_STR(SymBOOL)); VERIFY_EXP(TableRet); } #ifdef DEBUG_PRINT DisplayInfo(InfoTable); #endif return S_OK; }
extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpCmdLine, int /*nShowCmd*/) { #if _WIN32_WINNT >= 0x0400 & defined(_ATL_FREE_THREADED) HRESULT hRes = CoInitializeEx(NULL, COINIT_MULTITHREADED); #else HRESULT hRes = CoInitialize(NULL); #endif _ASSERTE(SUCCEEDED(hRes)); _Module.Init(ObjectMap, hInstance, NULL); int nRet = 0; // Various mode of operation BOOL bSilentMode = FALSE; TCHAR szTargetBaseVersionInfo[256]; TCHAR szTargetNewVersionInfo[256]; // Open patch trace file OPEN_PATCH_TRACEFILE(); do { TCHAR szDirectory[BUFFER_SIZE]; szDirectory[0] = NULL; //--------------------------------------------------- // Parse parameters from command line // if ((__argc == 2) || (__argc == 3 && lstrcmpi(__argv[1], TEXT("-s")) == 0)) { // jupdate [-s] dir (Apply patch) // wsprintf(szDirectory, "%s", __argv[__argc - 1]); //--------------------------------------------------- // Remove trailing '\' in path (#4689837) // int iPathLen = lstrlen(szDirectory); if (szDirectory[iPathLen - 1] == '\\' || szDirectory[iPathLen - 1] == '\"') szDirectory[iPathLen - 1] = NULL; if (__argc == 3) bSilentMode = TRUE; } else { // Invalid options nRet = UPDATE_ERROR_OPTIONS; break; } //--------------------------------------------------- // Check if VM is running // UINT uRet = IDRETRY; while (IsVMRunning(szDirectory) && uRet == IDRETRY) { /* // Should not ask user if we are in silent mode if (bSilentMode) { nRet = UPDATE_ERROR_VM_RUNNING; break; } else */ { TCHAR szBuffer[BUFFER_SIZE], szMessage[BUFFER_SIZE], szCaption[BUFFER_SIZE]; ::LoadString(_Module.GetResourceInstance(), IDS_ERROR_VM_RUNNING, szBuffer, BUFFER_SIZE); ::LoadString(_Module.GetResourceInstance(), IDS_CAPTION_WARNING, szCaption, BUFFER_SIZE); wsprintf(szMessage, szBuffer, NEW_IMAGE_FULLVERSION); uRet = MessageBox(NULL, szMessage, szCaption, MB_RETRYCANCEL | MB_ICONWARNING); } } // Make sure we break out of the loop if (nRet == UPDATE_ERROR_VM_RUNNING) break; if (uRet == IDCANCEL) { nRet = UPDATE_ERROR_VM_RUNNING; break; } //--------------------------------------------------- // Retrieve version info of patched image and base image // // Retrieve version info of base image if (RetrievePatchInfo(szDirectory, szTargetBaseVersionInfo) == FALSE) { // Cannot locate version.dat nRet = UPDATE_ERROR_VERSIONINFO; break; } wsprintf(szTargetNewVersionInfo, "%s", szTargetBaseVersionInfo); // Check if directory has been patched // /* if (stricmp(szTargetNewVersionInfo, NEW_IMAGE_FULLVERSION) == 0) { nRet = UPDATE_ERROR_SAME_VERSION_INSTALLED; break; // Check if a newer patch has been installed else if (stricmp(szTargetNewBuildNumber, NEW_IMAGE_BUILD_NUMBER) > 0) { nRet = UPDATE_ERROR_NEWER_VERSION_INSTALLED; break; } } */ //----------------------------------------- // Perform actual patching // // If we can't found the base image, see if the targeted directory // can be used as the base image if (stricmp(szTargetBaseVersionInfo, BASE_IMAGE_FULLVERSION) != 0 && stricmp(szTargetBaseVersionInfo, NEW_IMAGE_FULLVERSION) != 0) { // Cannot locate any valid base image nRet = UPDATE_ERROR_INVALID_BASE_IMAGE; break; } if (bSilentMode) { // Patch silently if (ApplyPatch(szDirectory, "", SilentUpdateCallBack) == FALSE) { nRet = UPDATE_ERROR_PATCH; break; } } else { // Patch installer dialog CPatchDialog dlg; // Set directory to apply the patch dlg.setCommandLine(szDirectory, NULL); // Execute Installation ... if (dlg.DoModal() != IDOK) { nRet = UPDATE_ERROR_PATCH; break; } } } while (0); // Show dialogs for success/failure // TCHAR szBuffer[BUFFER_SIZE], szMessage[BUFFER_SIZE], szCaption[BUFFER_SIZE]; switch (nRet) { case 0: { ::LoadString(_Module.GetResourceInstance(), IDS_INSTALL_SUCCESS, szBuffer, BUFFER_SIZE); ::LoadString(_Module.GetResourceInstance(), IDS_CAPTION_SUCCEEDED, szCaption, BUFFER_SIZE); wsprintf(szMessage, szBuffer, NEW_IMAGE_FULLVERSION); DisplayInfo(bSilentMode, szMessage, szCaption); break; } case UPDATE_ERROR_OPTIONS: { ::LoadString(_Module.GetResourceInstance(), IDS_OPTIONS, szBuffer, BUFFER_SIZE); ::LoadString(_Module.GetResourceInstance(), IDS_CAPTION_ERROR, szCaption, BUFFER_SIZE); char* lpszPath = strrchr(__argv[0], '\\'); if (lpszPath != NULL) wsprintf(szMessage, szBuffer, lpszPath + 1); else wsprintf(szMessage, szBuffer, __argv[0]); DisplayError(bSilentMode, szMessage, szCaption); break; } case UPDATE_ERROR_PATCH: { ::LoadString(_Module.GetResourceInstance(), IDS_ERROR_UPDATE, szMessage, BUFFER_SIZE); ::LoadString(_Module.GetResourceInstance(), IDS_CAPTION_ERROR, szCaption, BUFFER_SIZE); DisplayError(bSilentMode, szMessage, szCaption); break; } case UPDATE_ERROR_VERSIONINFO: { ::LoadString(_Module.GetResourceInstance(), IDS_ERROR_VERSIONINFO, szMessage, BUFFER_SIZE); ::LoadString(_Module.GetResourceInstance(), IDS_CAPTION_ERROR, szCaption, BUFFER_SIZE); DisplayError(bSilentMode, szMessage, szCaption); break; } case UPDATE_ERROR_INVALID_BASE_IMAGE: { ::LoadString(_Module.GetResourceInstance(), IDS_ERROR_BASE_IMAGE_NOT_FOUND, szBuffer, BUFFER_SIZE); ::LoadString(_Module.GetResourceInstance(), IDS_CAPTION_ERROR, szCaption, BUFFER_SIZE); wsprintf(szMessage, szBuffer, NEW_IMAGE_FULLVERSION, BASE_IMAGE_FULLVERSION); DisplayError(bSilentMode, szMessage, szCaption); break; } case UPDATE_ERROR_SAME_VERSION_INSTALLED: { ::LoadString(_Module.GetResourceInstance(), IDS_ERROR_INSTALLED_SAME_VERSION, szBuffer, BUFFER_SIZE); ::LoadString(_Module.GetResourceInstance(), IDS_CAPTION_SUCCEEDED, szCaption, BUFFER_SIZE); wsprintf(szMessage, szBuffer, NEW_IMAGE_FULLVERSION); DisplayInfo(bSilentMode, szMessage, szCaption); break; } case UPDATE_ERROR_NEWER_VERSION_INSTALLED: { ::LoadString(_Module.GetResourceInstance(), IDS_ERROR_INSTALLED_NEWER_VERSION, szBuffer, BUFFER_SIZE); ::LoadString(_Module.GetResourceInstance(), IDS_CAPTION_ERROR, szCaption, BUFFER_SIZE); wsprintf(szMessage, szBuffer, NEW_IMAGE_FULLVERSION, szTargetNewVersionInfo); DisplayError(bSilentMode, szMessage, szCaption); break; } case UPDATE_ERROR_WRONG_VERSION_UNINSTALLED: { ::LoadString(_Module.GetResourceInstance(), IDS_ERROR_UNINSTALL_WRONG_VERSION, szBuffer, BUFFER_SIZE); ::LoadString(_Module.GetResourceInstance(), IDS_CAPTION_ERROR, szCaption, BUFFER_SIZE); wsprintf(szMessage, szBuffer, NEW_IMAGE_FULLVERSION, szTargetNewVersionInfo); DisplayError(bSilentMode, szMessage, szCaption); break; } case UPDATE_ERROR_VM_RUNNING: { PATCH_TRACE("FAIL: VM is currently running.\n"); break; } }; // Close patch trace file CLOSE_PATCH_TRACEFILE(); _Module.Term(); CoUninitialize(); if (nRet == 0) return 0; else return ERROR_INSTALL_FAILURE; }
void CCropDlg::OnStnClickedMangg() { // TODO: Add your control notification handler code here DisplayInfo(m_crops[32]); }
std::string AParticle::PrintInfo() const { std::stringstream s; DisplayInfo(s); return s.str(); }
void WinEDA_FindFrame::LocatePartInLibs(wxCommandEvent& event) /*************************************************************/ /* Recherche exhaustive d'un composant en librairies, meme non chargees */ { wxString Text, FindList; const wxChar ** ListNames; LibraryStruct *Lib = NULL; EDA_LibComponentStruct * LibEntry; bool FoundInLib = FALSE; // True si reference trouvee ailleurs qu'en cache Text = m_NewTextCtrl->GetData(); if ( Text.IsEmpty() ) { Close(); return; } s_OldStringFound = Text; int ii, nbitems, NumOfLibs = NumOfLibraries(); if (NumOfLibs == 0) { DisplayError(this, _("No libraries are loaded")); Close(); return; } ListNames = GetLibNames(); nbitems = 0; for (ii = 0; ii < NumOfLibs; ii++ ) /* Recherche de la librairie */ { bool IsLibCache; Lib = FindLibrary(ListNames[ii]); if ( Lib == NULL ) break; if ( Lib->m_Name.Contains( wxT(".cache")) ) IsLibCache = TRUE; else IsLibCache = FALSE; LibEntry = (EDA_LibComponentStruct *) PQFirst(&Lib->m_Entries, FALSE); while( LibEntry ) { if( WildCompareString(Text, LibEntry->m_Name.m_Text, FALSE) ) { nbitems ++; if ( ! IsLibCache ) FoundInLib = TRUE; if ( ! FindList.IsEmpty() ) FindList += wxT("\n"); FindList << _("Found ") + LibEntry->m_Name.m_Text + _(" in lib ") + Lib->m_Name; } LibEntry = (EDA_LibComponentStruct *) PQNext(Lib->m_Entries, LibEntry, NULL); } } free (ListNames); if ( ! FoundInLib ) { if ( nbitems ) FindList = wxT("\n") + Text + _(" found only in cache"); else FindList = Text + _(" not found"); FindList += _("\nExplore All Libraries?"); if ( IsOK(this, FindList) ) { FindList.Empty(); ExploreAllLibraries(Text, FindList); if ( FindList.IsEmpty() ) DisplayInfo(this, _("Nothing found") ); else DisplayInfo(this, FindList); } } else DisplayInfo(this, FindList); Close(); }
int main(void){ //allocate varuables particle_t* SPH = new particle_t[N_SPHP]; node_t* node = new node_t[3*N_SPHP]; system_t system; //display Information DisplayInfo(); printf("\n[Push enter key to start calculation...]\n"); getchar(); //make history dir if not exist. if(isExist("history") == false) MakeDir("history"); //set upt initial condition SetUpInitial<double>(SPH); InitializeProperty(SPH); OutputFile(SPH, system); printf("STEP %d (%16.16lf percent)\n", system.step, system.time / TIME * 100.0); /////////// TreeConstruction(SPH, node); TreeTraverse(SPH, node); //GetNeighbour(SPH); /////////// CalcHydroForce(SPH); GetTimestep(SPH, &system); //time integration while(system.time < TIME){ ++ system.step; //Compute v and u at half step. InitialKick(SPH, system.dt); //Advance x (, rho and h) by a full step. FullDrift(SPH, system.dt); //Predict v and u at full step. Predict(SPH, system.dt); //Time becomes t + dt. system.time += system.dt; //Construct Tree. TreeConstruction(SPH, node); for(int l = 0 ; l < 2 ; ++ l){ //Sweep0: Adjust smoothing length. CalcSmoothing(SPH); TreeTraverse(SPH, node); //GetNeighbour(SPH); //Sweep1: Compute density, div_v and rot_v. // Between this sweep, obtain p and c from rho and u. CalcDensity(SPH); } //Sweep2: Compute v_dot and u_dot. CalcHydroForce(SPH); //Set v and u at full step. FinalKick(SPH, system.dt); //Output result. if(system.step % OUTPUT_INTERVAL == 0) OutputFile(SPH, system); //Search dt. GetTimestep(SPH, &system); // CalcConservativeVaruables(SPH, &system); //Print message printf("STEP %d (%16.16lf percent)\n", system.step, system.time / TIME * 100.0); } //free memory. delete []SPH; delete []node; //Return success code. return SUCCESS; }
void WinEDA_PcbFrame::Process_Special_Functions(wxCommandEvent& event) /*********************************************************************/ /* Traite les selections d'outils et les commandes appelees du menu POPUP */ { int id = event.GetId(); wxPoint pos; wxClientDC dc(DrawPanel); int itmp; DrawPanel->PrepareGraphicContext(&dc); wxGetMousePosition(&pos.x, &pos.y); pos.y += 20; switch ( id ) // Arret eventuel de la commande de déplacement en cours { case wxID_CUT: case wxID_COPY: case ID_AUX_TOOLBAR_PCB_TRACK_WIDTH: case ID_AUX_TOOLBAR_PCB_VIA_SIZE: case ID_ON_GRID_SELECT: case ID_ON_ZOOM_SELECT: case ID_PCB_USER_GRID_SETUP: case ID_TOOLBARH_PCB_SELECT_LAYER: case ID_POPUP_PCB_ROTATE_TEXTEPCB: case ID_POPUP_PCB_EDIT_TEXTEPCB: case ID_POPUP_PCB_EDIT_MIRE: case ID_POPUP_PCB_ROTATE_TEXTMODULE: case ID_POPUP_PCB_ROTATE_MODULE_CLOCKWISE: case ID_POPUP_PCB_ROTATE_MODULE_COUNTERCLOCKWISE: case ID_POPUP_PCB_CHANGE_SIDE_MODULE: case ID_POPUP_PCB_EDIT_MODULE: case ID_POPUP_PCB_EDIT_TEXTMODULE: case ID_POPUP_PCB_STOP_CURRENT_DRAWING: case ID_POPUP_PCB_END_TRACK: case ID_POPUP_PCB_PLACE_VIA: case ID_POPUP_PCB_IMPORT_PAD_SETTINGS: case ID_POPUP_PCB_EXPORT_PAD_SETTINGS: case ID_POPUP_PCB_GLOBAL_IMPORT_PAD_SETTINGS: case ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE: case ID_POPUP_PCB_DELETE_EDGE_ZONE: case ID_POPUP_PCB_DELETE_ZONE_LIMIT: case ID_POPUP_PCB_EDIT_ZONE: case ID_POPUP_PCB_DELETE_ZONE: case ID_POPUP_PCB_DELETE_TRACKSEG: case ID_POPUP_PCB_DELETE_TRACK: case ID_POPUP_PCB_DELETE_TRACKNET: case ID_POPUP_PCB_FILL_ZONE: case ID_POPUP_PCB_SELECT_NET_ZONE: case ID_POPUP_PCB_SELECT_LAYER: case ID_POPUP_PCB_SELECT_CU_LAYER: case ID_POPUP_PCB_SELECT_LAYER_PAIR: case ID_POPUP_PCB_SELECT_NO_CU_LAYER: case ID_POPUP_PCB_SELECT_WIDTH: case ID_POPUP_PCB_SELECT_WIDTH1: case ID_POPUP_PCB_SELECT_WIDTH2: case ID_POPUP_PCB_SELECT_WIDTH3: case ID_POPUP_PCB_SELECT_WIDTH4: case ID_POPUP_PCB_SELECT_WIDTH5: case ID_POPUP_PCB_SELECT_WIDTH6: case ID_POPUP_PCB_SELECT_WIDTH7: case ID_POPUP_PCB_SELECT_WIDTH8: case ID_POPUP_PCB_SELECT_VIASIZE: case ID_POPUP_PCB_SELECT_VIASIZE1: case ID_POPUP_PCB_SELECT_VIASIZE2: case ID_POPUP_PCB_SELECT_VIASIZE3: case ID_POPUP_PCB_SELECT_VIASIZE4: case ID_POPUP_PCB_SELECT_VIASIZE5: case ID_POPUP_PCB_SELECT_VIASIZE6: case ID_POPUP_PCB_SELECT_VIASIZE7: case ID_POPUP_PCB_SELECT_VIASIZE8: case ID_POPUP_PCB_MOVE_TRACK_NODE: case ID_POPUP_PCB_PLACE_MOVED_TRACK_NODE: case ID_POPUP_PCB_BREAK_TRACK: case ID_POPUP_PCB_EDIT_NET: case ID_POPUP_PCB_EDIT_TRACK: case ID_POPUP_PCB_EDIT_TRACKSEG: case ID_POPUP_PCB_LOCK_ON_TRACKSEG: case ID_POPUP_PCB_LOCK_OFF_TRACKSEG: case ID_POPUP_PCB_LOCK_ON_TRACK: case ID_POPUP_PCB_LOCK_OFF_TRACK: case ID_POPUP_PCB_LOCK_ON_NET: case ID_POPUP_PCB_LOCK_OFF_NET: case ID_POPUP_DELETE_BLOCK: case ID_POPUP_PLACE_BLOCK: case ID_POPUP_ZOOM_BLOCK: case ID_POPUP_INVERT_BLOCK: case ID_POPUP_ROTATE_BLOCK: case ID_POPUP_COPY_BLOCK: case ID_POPUP_PCB_VIA_EDITING: case ID_POPUP_PCB_VIA_HOLE_TO_DEFAULT: case ID_POPUP_PCB_VIA_HOLE_TO_VALUE: case ID_POPUP_PCB_VIA_HOLE_ENTER_VALUE: case ID_POPUP_PCB_VIA_HOLE_EXPORT: case ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT: case ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS: break; case ID_POPUP_CANCEL_CURRENT_COMMAND: if( GetScreen()->ManageCurseur && GetScreen()->ForceCloseManageCurseur ) { GetScreen()->ForceCloseManageCurseur(this, &dc); } /* ne devrait pas etre execute, sauf bug */ if (m_CurrentScreen->BlockLocate.m_Command != BLOCK_IDLE) { m_CurrentScreen->BlockLocate.m_Command = BLOCK_IDLE; m_CurrentScreen->BlockLocate.m_State = STATE_NO_BLOCK; m_CurrentScreen->BlockLocate.m_BlockDrawStruct = NULL; } if (m_ID_current_state == 0 ) SetToolID(0, wxCURSOR_ARROW,wxEmptyString); else SetCursor(DrawPanel->m_PanelCursor = DrawPanel->m_PanelDefaultCursor); break; default: // Arret de la commande de déplacement en cours if( GetScreen()->ManageCurseur && GetScreen()->ForceCloseManageCurseur ) { GetScreen()->ForceCloseManageCurseur(this, &dc); } SetToolID(0, wxCURSOR_ARROW,wxEmptyString); break; } switch ( id ) // Traitement des commandes { case ID_EXIT : Close(TRUE); break; case ID_OPEN_MODULE_EDITOR: if (m_Parent->m_ModuleEditFrame == NULL ) { m_Parent->m_ModuleEditFrame = new WinEDA_ModuleEditFrame(this, m_Parent,_("Module Editor"), wxPoint(-1, -1), wxSize(600,400) ); m_Parent->m_ModuleEditFrame->Show(TRUE); m_Parent->m_ModuleEditFrame->Zoom_Automatique(TRUE); } else m_Parent->m_ModuleEditFrame->Iconize(FALSE); break; case ID_NEW_PROJECT: case ID_LOAD_PROJECT: Files_io(event); break; case ID_PCB_GLOBAL_DELETE: InstallPcbGlobalDeleteFrame(pos); break; case ID_POPUP_PLACE_BLOCK: GetScreen()->BlockLocate.m_Command = BLOCK_MOVE; DrawPanel->m_AutoPAN_Request = FALSE; HandleBlockPlace(&dc); break; case ID_POPUP_COPY_BLOCK: GetScreen()->BlockLocate.m_Command = BLOCK_COPY; m_CurrentScreen->BlockLocate.SetMessageBlock(this); DrawPanel->m_AutoPAN_Request = FALSE; HandleBlockPlace(&dc); break; case ID_POPUP_ZOOM_BLOCK: GetScreen()->BlockLocate.m_Command = BLOCK_ZOOM; m_CurrentScreen->BlockLocate.SetMessageBlock(this); m_CurrentScreen->BlockLocate.SetMessageBlock(this); HandleBlockEnd(&dc); break; case ID_POPUP_DELETE_BLOCK: GetScreen()->BlockLocate.m_Command = BLOCK_DELETE; m_CurrentScreen->BlockLocate.SetMessageBlock(this); HandleBlockEnd(&dc); break; case ID_POPUP_ROTATE_BLOCK: GetScreen()->BlockLocate.m_Command = BLOCK_ROTATE; m_CurrentScreen->BlockLocate.SetMessageBlock(this); HandleBlockEnd(&dc); break; case ID_POPUP_INVERT_BLOCK: GetScreen()->BlockLocate.m_Command = BLOCK_INVERT; m_CurrentScreen->BlockLocate.SetMessageBlock(this); HandleBlockEnd(&dc); break; case ID_UNDO_BUTT: UnDeleteItem(&dc); break; case ID_DRC_CONTROL: Install_Test_DRC_Frame(&dc); break; case ID_GET_NETLIST: InstallNetlistFrame(&dc, wxPoint(-1,-1)); break; case ID_GET_TOOLS: // InstallToolsFrame(this, wxPoint(-1,-1) ); break; case ID_FIND_ITEMS: InstallFindFrame(pos, &dc); break; case ID_TRACK_BUTT: SetToolID( id, wxCURSOR_PENCIL, _("Add Tracks")); DisplayTrackSettings(); if ( (m_Pcb->m_Status_Pcb & LISTE_CHEVELU_OK) == 0) { Compile_Ratsnest( &dc, TRUE ); } break; case ID_PCB_ZONES_BUTT: SetToolID( id, wxCURSOR_PENCIL, _("Add Zones")); if ( ! DisplayOpt.DisplayZones ) DisplayInfo(this, _("Warning: Display Zone is OFF!!!") ); DelLimitesZone(&dc, TRUE); if( ! g_HightLigt_Status && (g_HightLigth_NetCode > 0 ) ) Hight_Light(&dc); break; case ID_PCB_MIRE_BUTT: SetToolID( id, wxCURSOR_PENCIL, _("Add Mire")); break; case ID_PCB_PLACE_OFFSET_COORD_BUTT: SetToolID( id, wxCURSOR_PENCIL, _("Adjust Zero")); break; case ID_LINE_COMMENT_BUTT: case ID_PCB_ARC_BUTT: case ID_PCB_CIRCLE_BUTT: SetToolID( id, wxCURSOR_PENCIL, _("Add Graphic")); break; case ID_TEXT_COMMENT_BUTT: SetToolID( id, wxCURSOR_PENCIL, _("Add Text")); break; case ID_COMPONENT_BUTT: SetToolID( id, wxCURSOR_HAND, _("Add Modules")); break; case ID_PCB_COTATION_BUTT: SetToolID( id, wxCURSOR_PENCIL, _("Add Cotation")); break; case ID_NO_SELECT_BUTT: SetToolID( 0, wxCURSOR_ARROW, wxEmptyString); break; case ID_PCB_HIGHLIGHT_BUTT: SetToolID( id, wxCURSOR_HAND, _("Net Highlight")); break; case ID_PCB_SHOW_1_RATSNEST_BUTT: SetToolID( id, wxCURSOR_HAND, _("Local Ratsnest")); if ( (m_Pcb->m_Status_Pcb & LISTE_CHEVELU_OK) == 0) Compile_Ratsnest( &dc, TRUE ); break; case ID_POPUP_CLOSE_CURRENT_TOOL: SetToolID( 0, wxCURSOR_ARROW, wxEmptyString); break; case ID_POPUP_CANCEL_CURRENT_COMMAND: break; case ID_POPUP_END_LINE: DrawPanel->MouseToCursorSchema(); // EndSegment(&dc); break; case ID_POPUP_PCB_EDIT_TRACK: if ( CURRENT_ITEM == NULL) break; Edit_Track_Width(&dc, (TRACK *) CURRENT_ITEM); DrawPanel->MouseToCursorSchema(); GetScreen()->SetModify(); break; case ID_POPUP_PCB_EDIT_TRACKSEG: if ( CURRENT_ITEM == NULL) break; Edit_TrackSegm_Width(&dc, (TRACK *) CURRENT_ITEM); DrawPanel->MouseToCursorSchema(); GetScreen()->SetModify(); break; case ID_POPUP_PCB_EDIT_NET: if ( CURRENT_ITEM == NULL) break; Edit_Net_Width(&dc, ((TRACK *) CURRENT_ITEM)->m_NetCode); DrawPanel->MouseToCursorSchema(); GetScreen()->SetModify(); break; case ID_POPUP_PCB_EDIT_ALL_VIAS_AND_TRACK_SIZE: case ID_POPUP_PCB_EDIT_ALL_VIAS_SIZE: case ID_POPUP_PCB_EDIT_ALL_TRACK_SIZE: if ( CURRENT_ITEM == NULL) break; { bool resize_vias = TRUE, resize_track = TRUE; if( id == ID_POPUP_PCB_EDIT_ALL_VIAS_SIZE) resize_track = FALSE; if( id == ID_POPUP_PCB_EDIT_ALL_TRACK_SIZE) resize_vias = FALSE; if ( Resize_Pistes_Vias(&dc, resize_track, resize_vias)) GetScreen()->SetModify(); } DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_END_TRACK: DrawPanel->MouseToCursorSchema(); End_Route( (TRACK *) CURRENT_ITEM, &dc); break; case ID_POPUP_PCB_PLACE_MOVED_TRACK_NODE: DrawPanel->MouseToCursorSchema(); if ( CURRENT_ITEM->m_Flags & IS_DRAGGED ) { PlaceDraggedTrackSegment((TRACK *) CURRENT_ITEM, &dc); } break; case ID_POPUP_PCB_PLACE_VIA: DrawPanel->MouseToCursorSchema(); if ( CURRENT_ITEM->m_Flags & IS_DRAGGED ) { PlaceDraggedTrackSegment((TRACK *) CURRENT_ITEM, &dc); } else { Other_Layer_Route( (TRACK *) CURRENT_ITEM, &dc); if ( DisplayOpt.ContrastModeDisplay ) GetScreen()->SetRefreshReq(); } break; case ID_POPUP_PCB_DELETE_TRACKSEG: DrawPanel->MouseToCursorSchema(); GetScreen()->m_CurrentItem = Delete_Segment(&dc, (TRACK*)CURRENT_ITEM); GetScreen()->SetModify(); break; case ID_POPUP_PCB_DELETE_TRACK: DrawPanel->MouseToCursorSchema(); Delete_Track(&dc, (TRACK*)CURRENT_ITEM); GetScreen()->m_CurrentItem = NULL; GetScreen()->SetModify(); break; case ID_POPUP_PCB_DELETE_TRACKNET: DrawPanel->MouseToCursorSchema(); Delete_net(&dc, (TRACK*)CURRENT_ITEM); GetScreen()->m_CurrentItem = NULL; GetScreen()->SetModify(); break; case ID_POPUP_PCB_LOCK_ON_TRACKSEG: Attribut_Segment((TRACK*)CURRENT_ITEM, &dc, TRUE); break; case ID_POPUP_PCB_LOCK_OFF_TRACKSEG: Attribut_Segment((TRACK*)CURRENT_ITEM, &dc, FALSE); break; case ID_POPUP_PCB_LOCK_ON_TRACK: Attribut_Track((TRACK*)CURRENT_ITEM, &dc, TRUE); break; case ID_POPUP_PCB_LOCK_OFF_TRACK: Attribut_Track((TRACK*)CURRENT_ITEM, &dc, FALSE); break; case ID_POPUP_PCB_LOCK_ON_NET: Attribut_net(&dc, ((TRACK*)CURRENT_ITEM)->m_NetCode, TRUE); break; case ID_POPUP_PCB_LOCK_OFF_NET: Attribut_net(&dc, ((TRACK*)CURRENT_ITEM)->m_NetCode, FALSE); break; case ID_POPUP_PCB_SETFLAGS_TRACK_MNU: break; case ID_POPUP_PCB_DELETE_ZONE: DrawPanel->MouseToCursorSchema(); if ( CURRENT_ITEM == NULL) break; Delete_Zone(&dc, (SEGZONE*)CURRENT_ITEM); GetScreen()->m_CurrentItem = NULL; break; case ID_POPUP_PCB_EDIT_ZONE: DrawPanel->MouseToCursorSchema(); if ( CURRENT_ITEM == NULL) break; Edit_Zone_Width(&dc, (SEGZONE*)CURRENT_ITEM); break; case ID_POPUP_PCB_DELETE_ZONE_LIMIT: DrawPanel->MouseToCursorSchema(); DelLimitesZone(&dc, TRUE); break; case ID_PCB_DELETE_ITEM_BUTT: SetToolID( id, wxCURSOR_BULLSEYE, _("Delete item")); break; case ID_POPUP_PCB_MOVE_TEXTEPCB_REQUEST: Process_Move_Item(this, CURRENT_ITEM, &dc); DrawPanel->m_AutoPAN_Request = TRUE; break; case ID_POPUP_PCB_DRAG_MODULE_REQUEST: g_Drag_Pistes_On = TRUE; case ID_POPUP_PCB_MOVE_MODULE_REQUEST: // If the current Item is a pad, text module ...: Get the parent if ( CURRENT_ITEM->m_StructType != TYPEMODULE ) CURRENT_ITEM = (MODULE *) CURRENT_ITEM->m_Parent; if ( !CURRENT_ITEM || CURRENT_ITEM->m_StructType != TYPEMODULE ) { g_Drag_Pistes_On = FALSE; break; } DrawPanel->MouseToCursorSchema(); StartMove_Module( (MODULE*)CURRENT_ITEM, &dc); break; case ID_POPUP_PCB_DELETE_MODULE: DrawPanel->MouseToCursorSchema(); // If the current Item is a pad, text module ...: Get the parent if ( CURRENT_ITEM->m_StructType != TYPEMODULE ) CURRENT_ITEM = (MODULE *) CURRENT_ITEM->m_Parent; if ( !CURRENT_ITEM || CURRENT_ITEM->m_StructType != TYPEMODULE ) break; if ( Delete_Module((MODULE*) CURRENT_ITEM, &dc) ) { GetScreen()->m_CurrentItem = NULL; } break; case ID_POPUP_PCB_ROTATE_MODULE_COUNTERCLOCKWISE: DrawPanel->MouseToCursorSchema(); // If the current Item is a pad, text module ...: Get the parent if ( CURRENT_ITEM->m_StructType != TYPEMODULE ) CURRENT_ITEM = (MODULE *) CURRENT_ITEM->m_Parent; if ( !CURRENT_ITEM || CURRENT_ITEM->m_StructType != TYPEMODULE ) break; Rotate_Module(&dc, (MODULE*)CURRENT_ITEM, -900, TRUE); break; case ID_POPUP_PCB_ROTATE_MODULE_CLOCKWISE: DrawPanel->MouseToCursorSchema(); // If the current Item is a pad, text module ...: Get the parent if ( CURRENT_ITEM->m_StructType != TYPEMODULE ) CURRENT_ITEM = (MODULE *) CURRENT_ITEM->m_Parent; if ( !CURRENT_ITEM || CURRENT_ITEM->m_StructType != TYPEMODULE ) break; Rotate_Module(&dc, (MODULE*)CURRENT_ITEM, 900, TRUE); break; case ID_POPUP_PCB_CHANGE_SIDE_MODULE: DrawPanel->MouseToCursorSchema(); // If the current Item is a pad, text module ...: Get the parent if ( CURRENT_ITEM->m_StructType != TYPEMODULE ) CURRENT_ITEM = (MODULE *) CURRENT_ITEM->m_Parent; if ( !CURRENT_ITEM || CURRENT_ITEM->m_StructType != TYPEMODULE ) break; Change_Side_Module((MODULE *) CURRENT_ITEM, &dc); break; case ID_POPUP_PCB_EDIT_MODULE: // If the current Item is a pad, text module ...: Get the parent if ( CURRENT_ITEM->m_StructType != TYPEMODULE ) CURRENT_ITEM = (MODULE *) CURRENT_ITEM->m_Parent; if ( !CURRENT_ITEM || CURRENT_ITEM->m_StructType != TYPEMODULE ) break; InstallModuleOptionsFrame((MODULE *)CURRENT_ITEM, &dc, pos); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_DRAG_PAD_REQUEST: g_Drag_Pistes_On = TRUE; case ID_POPUP_PCB_MOVE_PAD_REQUEST: DrawPanel->MouseToCursorSchema(); StartMovePad((D_PAD *)CURRENT_ITEM, &dc); break; case ID_POPUP_PCB_EDIT_PAD: InstallPadOptionsFrame((D_PAD *)CURRENT_ITEM, &dc, pos); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_IMPORT_PAD_SETTINGS: DrawPanel->MouseToCursorSchema(); Import_Pad_Settings((D_PAD *)CURRENT_ITEM, &dc); break; case ID_POPUP_PCB_GLOBAL_IMPORT_PAD_SETTINGS: DrawPanel->MouseToCursorSchema(); Global_Import_Pad_Settings((D_PAD *)CURRENT_ITEM, &dc); break; case ID_POPUP_PCB_EXPORT_PAD_SETTINGS: DrawPanel->MouseToCursorSchema(); Export_Pad_Settings((D_PAD *)CURRENT_ITEM); break; case ID_POPUP_PCB_DELETE_PAD: DeletePad((D_PAD *)CURRENT_ITEM, &dc); GetScreen()->m_CurrentItem = NULL; DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_EDIT_TEXTMODULE: InstallTextModOptionsFrame((TEXTE_MODULE *)CURRENT_ITEM, &dc, pos); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_MOVE_TEXTMODULE_REQUEST: DrawPanel->MouseToCursorSchema(); StartMoveTexteModule( (TEXTE_MODULE *) CURRENT_ITEM, &dc); break; case ID_POPUP_PCB_ROTATE_TEXTMODULE: RotateTextModule((TEXTE_MODULE *)CURRENT_ITEM, &dc); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_DELETE_TEXTMODULE: DeleteTextModule((TEXTE_MODULE *)CURRENT_ITEM, &dc); GetScreen()->m_CurrentItem = NULL; DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_SELECT_LAYER: itmp = SelectLayer(GetScreen()->m_Active_Layer, -1, -1); if ( itmp >= 0 ) GetScreen()->m_Active_Layer = itmp; DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_SELECT_NO_CU_LAYER: itmp = SelectLayer(GetScreen()->m_Active_Layer, CMP_N+1, -1); if ( itmp >= 0 ) GetScreen()->m_Active_Layer = itmp; DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_SELECT_CU_LAYER: itmp = SelectLayer(GetScreen()->m_Active_Layer, -1, CMP_N); if ( itmp >= 0 ) GetScreen()->m_Active_Layer = itmp; break; case ID_POPUP_PCB_SELECT_LAYER_PAIR: SelectLayerPair(); DrawPanel->MouseToCursorSchema(); break; case ID_TOOLBARH_PCB_SELECT_LAYER: itmp = m_SelLayerBox->GetChoice(); GetScreen()->m_Active_Layer = (int)((size_t) m_SelLayerBox->GetClientData(itmp)); if ( DisplayOpt.ContrastModeDisplay ) DrawPanel->Refresh(TRUE); break; case ID_POPUP_PCB_EDIT_TEXTEPCB: InstallTextPCBOptionsFrame((TEXTE_PCB *)CURRENT_ITEM, &dc, pos); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_ROTATE_TEXTEPCB: Rotate_Texte_Pcb((TEXTE_PCB *)CURRENT_ITEM, &dc); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_DELETE_TEXTEPCB: Delete_Texte_Pcb((TEXTE_PCB *)CURRENT_ITEM, &dc); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_MOVE_MIRE_REQUEST: StartMove_Mire((MIREPCB *)CURRENT_ITEM, &dc); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_EDIT_MIRE: InstallMireOptionsFrame((MIREPCB *)CURRENT_ITEM, &dc, pos); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_DELETE_MIRE: DrawPanel->MouseToCursorSchema(); Delete_Mire((MIREPCB *)CURRENT_ITEM, &dc); GetScreen()->m_CurrentItem = NULL; break; case ID_POPUP_PCB_DELETE_COTATION: DrawPanel->MouseToCursorSchema(); Delete_Cotation((COTATION*)CURRENT_ITEM, &dc); GetScreen()->m_CurrentItem = NULL; break; case ID_POPUP_PCB_EDIT_COTATION: Install_Edit_Cotation((COTATION*)CURRENT_ITEM, &dc, pos); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_DELETE_DRAWING: Delete_Segment_Edge((DRAWSEGMENT *)CURRENT_ITEM, &dc); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_DELETE_DRAWING_LAYER: Delete_Drawings_All_Layer((DRAWSEGMENT *)CURRENT_ITEM, &dc); GetScreen()->m_CurrentItem = NULL; DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_EDIT_DRAWING: Drawing_SetNewWidth((DRAWSEGMENT *)CURRENT_ITEM, &dc); DrawPanel->MouseToCursorSchema(); break; case ID_POPUP_PCB_MOVE_DRAWING_REQUEST: DrawPanel->MouseToCursorSchema(); Start_Move_DrawItem((DRAWSEGMENT *)CURRENT_ITEM, &dc); break; case ID_POPUP_PCB_STOP_CURRENT_DRAWING: DrawPanel->MouseToCursorSchema(); if ( CURRENT_ITEM && (CURRENT_ITEM->m_Flags & IS_NEW) ) { End_Edge( (DRAWSEGMENT *)CURRENT_ITEM, &dc); GetScreen()->m_CurrentItem = NULL; } break; case ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE: DrawPanel->MouseToCursorSchema(); if ( CURRENT_ITEM && (CURRENT_ITEM->m_Flags & IS_NEW) ) { End_Zone(&dc); GetScreen()->m_CurrentItem = NULL; } break; case ID_POPUP_PCB_DELETE_EDGE_ZONE: DrawPanel->MouseToCursorSchema(); if ( CURRENT_ITEM && (CURRENT_ITEM->m_Flags & IS_NEW) ) { GetScreen()->m_CurrentItem = Del_SegmEdgeZone(&dc, (EDGE_ZONE *) CURRENT_ITEM); } break; case ID_POPUP_PCB_FILL_ZONE: DrawPanel->MouseToCursorSchema(); Fill_Zone(&dc); break; case ID_POPUP_PCB_SELECT_NET_ZONE: DrawPanel->MouseToCursorSchema(); CaptureNetName(&dc); break; case ID_POPUP_PCB_SELECT_WIDTH: break; case ID_AUX_TOOLBAR_PCB_TRACK_WIDTH: { int ii = m_SelTrackWidthBox->GetChoice(); g_DesignSettings.m_CurrentTrackWidth = g_DesignSettings.m_TrackWidhtHistory[ii]; DisplayTrackSettings(); m_SelTrackWidthBox_Changed = FALSE; m_SelViaSizeBox_Changed = FALSE; } break; case ID_POPUP_PCB_SELECT_WIDTH1: case ID_POPUP_PCB_SELECT_WIDTH2: case ID_POPUP_PCB_SELECT_WIDTH3: case ID_POPUP_PCB_SELECT_WIDTH4: case ID_POPUP_PCB_SELECT_WIDTH5: case ID_POPUP_PCB_SELECT_WIDTH6: case ID_POPUP_PCB_SELECT_WIDTH7: case ID_POPUP_PCB_SELECT_WIDTH8: DrawPanel->MouseToCursorSchema(); { int ii = id - ID_POPUP_PCB_SELECT_WIDTH1; g_DesignSettings.m_CurrentTrackWidth = g_DesignSettings.m_TrackWidhtHistory[ii]; DisplayTrackSettings(); } break; case ID_POPUP_PCB_SELECT_VIASIZE: break; case ID_AUX_TOOLBAR_PCB_VIA_SIZE: { int ii = m_SelViaSizeBox->GetChoice(); g_DesignSettings.m_CurrentViaSize = g_DesignSettings.m_ViaSizeHistory[ii]; DisplayTrackSettings(); m_SelTrackWidthBox_Changed = FALSE; m_SelViaSizeBox_Changed = FALSE; } break; case ID_POPUP_PCB_SELECT_VIASIZE1: case ID_POPUP_PCB_SELECT_VIASIZE2: case ID_POPUP_PCB_SELECT_VIASIZE3: case ID_POPUP_PCB_SELECT_VIASIZE4: case ID_POPUP_PCB_SELECT_VIASIZE5: case ID_POPUP_PCB_SELECT_VIASIZE6: case ID_POPUP_PCB_SELECT_VIASIZE7: case ID_POPUP_PCB_SELECT_VIASIZE8: case ID_POPUP_PCB_VIA_EDITING: case ID_POPUP_PCB_VIA_HOLE_TO_DEFAULT: case ID_POPUP_PCB_VIA_HOLE_TO_VALUE: case ID_POPUP_PCB_VIA_HOLE_ENTER_VALUE: case ID_POPUP_PCB_VIA_HOLE_EXPORT: case ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT: case ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS: Via_Edit_Control(&dc, id, (SEGVIA *) GetScreen()->m_CurrentItem); break; case ID_POPUP_PCB_MOVE_TRACK_NODE: DrawPanel->MouseToCursorSchema(); Start_MoveOneTrackSegment((TRACK *) GetScreen()->m_CurrentItem, &dc, TRUE); break; case ID_POPUP_PCB_BREAK_TRACK: DrawPanel->MouseToCursorSchema(); { TRACK * track = (TRACK *) GetScreen()->m_CurrentItem; wxPoint pos = GetScreen()->m_Curseur; track->Draw(DrawPanel, &dc, GR_XOR); TRACK * newtrack = CreateLockPoint(&pos.x, &pos.y, track, NULL); track->Draw(DrawPanel, &dc, GR_XOR); newtrack->Draw(DrawPanel, &dc, GR_XOR); } break; case ID_MENU_PCB_CLEAN: Clean_Pcb(&dc); break; case ID_MENU_PCB_SWAP_LAYERS: Swap_Layers(event); break; case ID_POPUP_PCB_AUTOROUTE_GET_AUTOROUTER: GlobalRoute(&dc); break; case ID_POPUP_PCB_AUTOROUTE_GET_AUTOROUTER_DATA: ReadAutoroutedTracks(&dc); break; case ID_PCB_USER_GRID_SETUP: InstallGridFrame(pos); break; case ID_POPUP_PCB_DISPLAY_FOOTPRINT_DOC: { wxString msg = FindKicadHelpPath(); msg += EDA_Appl->m_EDA_CommonConfig->Read(wxT("module_doc_file"), wxT("pcbnew/footprints.pdf")); GetAssociatedDocument(this, wxEmptyString, msg); } break; case ID_MENU_ARCHIVE_NEW_MODULES: Archive_Modules(wxEmptyString, TRUE); break; case ID_MENU_ARCHIVE_ALL_MODULES: Archive_Modules(wxEmptyString, FALSE); break; default: { DisplayError(this, wxT("WinEDA_PcbFrame::Process_Special_Functions() id error")); break; } } SetToolbars(); }
EGLNativeInternalDisplayType getInternalDisplay(EGLNativeDisplayType display){ if (!s_tlsIndex) s_tlsIndex = TlsAlloc(); WinDisplay* dpy = new WinDisplay(); dpy->setInfo(WinDisplay::DEFAULT_DISPLAY,DisplayInfo(display,NULL)); return dpy; }