/****************************************************************************************** > INT32 PaletteContextMenu :: Build() Author: Alex_Price (Xara Group Ltd) <*****@*****.**> Created: 09/08/99 Inputs: - Returns: TRUE if everything went OK, and FALSE otherwise. Purpose: This function builds the menu. ******************************************************************************************/ BOOL PaletteContextMenu::Build() { // Use this variable to hold the status of the menu build. If it goes FALSE, // then something went wrong. BOOL ok = TRUE; // Add all the menu items, together with separators. if( ok ) ok = ok && BuildCommand( OPTOKEN_PALETTE_LOCKED ); if( ok ) ok = ok && BuildCommand( OPTOKEN_PALETTE_WEB_SAFE ); if( ok ) ok = ok && BuildCommand( OPTOKEN_PALETTE_TRANSPARENT_BACKGROUND ); if( ok ) ok = ok && BuildCommand( OPTOKEN_PALETTE_TRANSPARENT, TRUE ); if( ok ) ok = ok && BuildCommand( OPTOKEN_PALETTE_RESTORE ); if( ok ) ok = ok && BuildCommand( OPTOKEN_PALETTE_DELETE, TRUE); if( ok ) ok = ok && BuildCommand( OPTOKEN_PALETTE_SYSTEM_COLOURS, TRUE ); if( ok ) ok = ok && BuildCommand( OPTOKEN_PALETTE_SORT_BY_USE ); if( ok ) ok = ok && BuildCommand( OPTOKEN_PALETTE_SORT_BY_LUMINANCE ); if( ok ) ok = ok && BuildCommand( OPTOKEN_PALETTE_SORT_BY_HUE ); return ok; }
BOOL ContextMenu::BuildEffectCommands() { EffectsStack* pStack = GetApplication()->FindSelection()->GetEffectsStack(); // Cached copy if (pStack->IsEmpty() || !pStack->bConsistent) return TRUE; BuildCommand( TOOL_OPTOKEN_LIVEEFFECT ); // Go to Effects tool pStack->BuildEffectMenu(this); // <List of effects> BuildCommand(OPTOKEN_DELETEALL_LIVEEFFECT, TRUE); // Remove all Effects return TRUE; }
void CommandBuilder::BuildCommand(const wxString &cmdStringArg) { wxString cmdString(cmdStringArg); // Find the command name terminator... If there is more than one word and // no terminator, the command is badly formed cmdString.Trim(true); cmdString.Trim(false); int splitAt = cmdString.Find(wxT(':')); if (splitAt < 0 && cmdString.Find(wxT(' ')) >= 0) { mError = wxT("Command is missing ':'"); ScriptCommandRelay::SendResponse(wxT("\n")); mValid = false; return; } wxString cmdName = cmdString.Left(splitAt); wxString cmdParams = cmdString.Mid(splitAt+1); if( splitAt < 0 ) cmdParams = ""; cmdName.Trim(true); cmdParams.Trim(false); BuildCommand(cmdName, cmdParams); }
int main(int argc, char **argv) { char *home, *path; int pathsize; if (argc != 3) usage(argv[0]); ContentType = argv[1]; FileName=argv[2]; pathsize = strlen(STDPATH); home = getenv("HOME"); if (home) { pathsize += strlen(home) + strlen("/.mailcap:"); } path = malloc(1+pathsize); if (!path) ExitWithError(nomem); if (home) { strcat(path, home); strcat(path, "/.mailcap:"); } strcat(path, STDPATH); if (ProcessMailcapFiles(path) && BuildCommand(mc.command, FileName)) { puts(Command); return 0; } else { return 1; } }
void Pipe(char ** my_argv,char *buf) { int fd[2]; pipe(fd); pid_t id2=fork(); if(id2==0) { close(1); dup(fd[1]); close(fd[1]); close(fd[0]); execvp(my_argv[0],my_argv); } else { waitpid(id2,NULL,0); close(0); dup(fd[0]); close(fd[0]); close(fd[1]); BuildCommand(my_argv,buf); execvp(my_argv[0],my_argv); } //在此处添加exec族函数 }
int LYTestMailcapCommand( char *testcommand, char *params ) { int eax; int result; char TmpFileName[256]; HTChunk *expanded = 0; if ( LYMailcapUsesPctS( testcommand ) & 255 ) { if ( LYOpenTemp( TmpFileName, ".html", "w" ) == 0 ) { ExitWithError( gettext( "Can't open temporary file!" ) ); } LYCloseTemp( TmpFileName ); } else TmpFileName[0] = 0; expanded = HTChunkCreate( 1024 ); result = BuildCommand( expanded, testcommand, TmpFileName, params ); if ( result ) { result = 1; if ( WWW_TraceFlag == 0 || ( WWW_TraceMask & 8 ) == 0 ) { HTChunkFree( expanded ); LYRemoveTemp( TmpFileName ); return result; } fprintf( TraceFP( ), "PassesTest: Deferring test command: %s\n", &expanded->data ); } else { if ( WWW_TraceFlag && ( WWW_TraceMask & 8 ) ) { fprintf( TraceFP( ), "PassesTest: Executing test command: %s\n", &expanded->data ); } result = LYSystem( &expanded->data ); if ( result ) { result = -1; if ( WWW_TraceFlag == 0 || ( WWW_TraceMask & 8 ) == 0 ) { HTChunkFree( expanded ); LYRemoveTemp( TmpFileName ); return result; } fprintf( TraceFP( ), "PassesTest: Test failed!\n" ); } else { if ( WWW_TraceFlag == 0 || ( WWW_TraceMask & 8 ) == 0 ) { HTChunkFree( expanded ); LYRemoveTemp( TmpFileName ); return result; } fprintf( TraceFP( ), "PassesTest: Test passed!\n" ); } } }
char *LYMakeMailcapCommand( char *command, char *params, char *filename ) { HTChunk *expanded = 0; char *result = 0; expanded = HTChunkCreate( 1024 ); BuildCommand( expanded, command, filename, params ); HTSACopy( &result, &expanded->data ); HTChunkFree( expanded ); return result; }
GDBGetCompletions::GDBGetCompletions ( CMCommandInput* input, CMCommandOutputDisplay* history ) : CMGetCompletions(BuildCommand(input->GetText())), itsPrefix(input->GetText()), itsInput(input), itsHistory(history) { }
JError JXFSBindingManager::Exec ( const JCharacter* path, const JCharacter* origCmd, const JFSBinding::CommandType type ) { JXFSBindingManager* me = Instance(); JString cmd = origCmd, u, q; // build shell command if (type == JFSBinding::kRunInShell || type == JFSBinding::kRunInWindow || (me->itsBindingList->WillAutoUseShellCommand() && strpbrk(origCmd, kShellMetaCharList) != NULL)) { u = cmd; q = JPrepArgForExec(cmd); cmd = me->itsBindingList->GetShellCommand(); BuildCommand(&cmd, q, u, "", ""); } // build window command if (type == JFSBinding::kRunInWindow) { u = cmd; q = JPrepArgForExec(cmd); cmd = me->itsBindingList->GetWindowCommand(); BuildCommand(&cmd, q, u, "", ""); } // exec command return JSimpleProcess::Create(path, cmd, kJTrue); }
int main() { while(1) { char *my_argv[64]; struct passwd *pwd=getpwuid(getuid()); char hostname[256]={'\0'}; char cwd[256]={'\0'}; getcwd(cwd,256); GetHostName(hostname,256); printf("[%s@%s %s]#",pwd->pw_name,hostname,basename(cwd)); fflush(stdout); char buf[1024]; buf[0]='\0'; int count=read(0,buf,sizeof(buf)); buf[count-1]='\0'; my_argv[0]=buf; pid_t id=fork(); if(id==0) { //child if(strncmp(buf,"cd",2)==0) { exit(1); } BuildCommand(my_argv,buf); execvp(my_argv[0],my_argv); printf("if the process has some problem ,I should run here\n"); exit(0); } else { //father int status=0; wait(&status); if(status==256) { my_argv[0]+=3; chdir(my_argv[0]); } } } return 0; }
int PassesTest(void) /* Check whether a specified test passes * On entry- * mc has been set up * If there is no test, or the test command returned 0, then on exit- * PassesTest=1 * Else on exit- * PassesTest=0 ***/ { int result; if (!mc.testcommand) return(1); BuildCommand(mc.testcommand, FileName); if (DoDebug) printf("Executing test command: %s\n", Command); result = system(Command); return(!result); }
BOOL ColEditContextMenu::Build(void) { BOOL ok = TRUE; // WEBSTER - Martin 11/07/97 // Edit of the drop down colour model menu list #ifdef WEBSTER if (ok) ok = ok && BuildCommand(ColCmd_NewNColour); // New named colour #endif // WEBSTER if (ok) ok = ok && BuildCommand(ColCmd_Name); // Rename if (ok) ok = ok && BuildCommand(ColCmd_EditParent, TRUE); // Edit Parent - With a separator if (ok) ok = ok && BuildCommand(ColCmd_HSV); // Change colour model if (ok) ok = ok && BuildCommand(ColCmd_RGB,TRUE); #ifndef WEBSTER if (ok) ok = ok && BuildCommand(ColCmd_CMYK); if (ok) ok = ok && BuildCommand(ColCmd_Grey, TRUE); // Plus a separator #endif // WEBSTER if (ok) ok = ok && BuildCommand(ColCmd_Help); // Help return(ok); }
BOOL ContextMenu::BuildTransferCommands(BOOL NodeCommands) { // Build the standard transfer command menu items... BuildCommand(OPTOKEN_CUT); BuildCommand(OPTOKEN_COPY); BuildCommand(OPTOKEN_PASTE, TRUE); // BuildCommand(OPTOKEN_PASTELINK); // If caller wants transfer commands for Nodes in the document build them... if (NodeCommands) { BuildCommand(OPTOKEN_DELETE); BuildCommand(OPTOKEN_DUPLICATE); BuildCommand(OPTOKEN_CLONE, TRUE); } return TRUE; }
int BuildRenderOptions(POVMSObjectPtr msg) { POVMSAttribute attr; int err = kNoErr; if(msg == NULL) return kParamErr; if(err == kNoErr) err = POVMSAttr_New(&attr); if(err == kNoErr) { err = POVMSAttr_Set(&attr, kPOVMSType_WildCard, (void *)(&opts.Preview_RefCon), sizeof(unsigned long)); if(err == kNoErr) err = POVMSObject_Set(msg, &attr, kPOVAttrib_PreviewRefCon); } if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_Height, Frame.Screen_Height); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_Width, Frame.Screen_Width); if(err == kNoErr) { if (opts.First_Column == -1) err = POVMSUtil_SetFloat(msg, kPOVAttrib_StartColumn, opts.First_Column_Percent); else err = POVMSUtil_SetFloat(msg, kPOVAttrib_StartColumn, opts.First_Column); } if(err == kNoErr) { if (opts.Last_Column == -1) err = POVMSUtil_SetFloat(msg, kPOVAttrib_EndColumn, opts.Last_Column_Percent); else err = POVMSUtil_SetFloat(msg, kPOVAttrib_EndColumn, opts.Last_Column); } if(err == kNoErr) { if (opts.First_Line == -1) err = POVMSUtil_SetFloat(msg, kPOVAttrib_StartRow, opts.First_Line_Percent); else err = POVMSUtil_SetFloat(msg, kPOVAttrib_StartRow, opts.First_Line); } if(err == kNoErr) { if (opts.Last_Line == -1) err = POVMSUtil_SetFloat(msg, kPOVAttrib_EndRow, opts.Last_Line_Percent); else err = POVMSUtil_SetFloat(msg, kPOVAttrib_EndRow, opts.Last_Line); } if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_TestAbort, (opts.Options & EXITENABLE) != 0); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_TestAbortCount, opts.Abort_Test_Counter); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_ContinueTrace, (opts.Options & CONTINUE_TRACE) != 0); if(err == kNoErr) err = POVMSUtil_SetString(msg, kPOVAttrib_CreateIni, opts.Ini_Output_File_Name); if(err == kNoErr) err = POVMSUtil_SetFloat(msg, kPOVAttrib_Clock, opts.FrameSeq.Clock_Value); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_InitialFrame, max(opts.FrameSeq.InitialFrame, 1)); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_FinalFrame, max(opts.FrameSeq.FinalFrame, 1)); if(err == kNoErr) err = POVMSUtil_SetFloat(msg, kPOVAttrib_InitialClock, opts.FrameSeq.InitialClock); if(err == kNoErr) { if(opts.FrameSeq.FinalFrame <= 1) err = POVMSUtil_SetFloat(msg, kPOVAttrib_FinalClock, 1.0); else err = POVMSUtil_SetFloat(msg, kPOVAttrib_FinalClock, opts.FrameSeq.FinalClock); } if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_SubsetStartFrame, max(opts.FrameSeq.SubsetStartFrame, 1)); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_SubsetEndFrame, max(opts.FrameSeq.SubsetEndFrame, 1)); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_CyclicAnimation, (opts.Options & CYCLIC_ANIMATION) != 0); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_FieldRender, opts.FrameSeq.Field_Render_Flag); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_OddField, opts.FrameSeq.Odd_Field_Flag); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_PauseWhenDone, (opts.Options & PROMPTEXIT) != 0); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_Verbose, (opts.Options & VERBOSE) != 0); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_DrawVistas, (opts.Options & USE_VISTA_DRAW) != 0); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_Display, (opts.Options & DISPLAY) != 0); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_VideoMode, opts.DisplayFormat); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_Palette, opts.PaletteOption); if(err == kNoErr) err = POVMSUtil_SetFloat(msg, kPOVAttrib_DisplayGamma, opts.DisplayGamma); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_PreviewStartSize, opts.PreviewGridSize_Start); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_PreviewEndSize, opts.PreviewGridSize_End); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_OutputToFile, (opts.Options & DISKWRITE) != 0); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_OutputFileType, opts.OutputFormat); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_Compression, opts.OutputQuality); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_OutputAlpha, (opts.Options & OUTPUT_ALPHA) != 0); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_BitsPerColor, opts.OutputQuality); if(err == kNoErr) err = POVMSUtil_SetString(msg, kPOVAttrib_OutputFile, opts.Output_File_Name); if(err == kNoErr) err = POVMSUtil_SetString(msg, kPOVAttrib_OutputPath, opts.Output_Path); #if PRECISION_TIMER_AVAILABLE if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_CreateHistogram, opts.histogram_on != 0); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_HistogramFileType, opts.histogram_type); if(err == kNoErr) err = POVMSUtil_SetString(msg, kPOVAttrib_HistogramFile, opts.Histogram_File_Name); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_HistogramGridSizeX, opts.histogram_x); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_HistogramGridSizeY, opts.histogram_y); #endif /* PRECISION_TIMER_AVAILABLE */ if(err == kNoErr) err = BuildCommand(msg, kPOVAttrib_PreSceneCommand, &opts.Shellouts[PRE_SCENE_SHL]); if(err == kNoErr) err = BuildCommand(msg, kPOVAttrib_PreFrameCommand, &opts.Shellouts[PRE_FRAME_SHL]); if(err == kNoErr) err = BuildCommand(msg, kPOVAttrib_PostSceneCommand, &opts.Shellouts[POST_SCENE_SHL]); if(err == kNoErr) err = BuildCommand(msg, kPOVAttrib_PostFrameCommand, &opts.Shellouts[POST_FRAME_SHL]); if(err == kNoErr) err = BuildCommand(msg, kPOVAttrib_UserAbortCommand, &opts.Shellouts[USER_ABORT_SHL]); if(err == kNoErr) err = BuildCommand(msg, kPOVAttrib_FatalErrorCommand, &opts.Shellouts[FATAL_SHL]); if(err == kNoErr) err = POVMSUtil_SetString(msg, kPOVAttrib_InputFile, opts.Input_File_Name); if(err == kNoErr) { POVMSAttributeList list; err = POVMSAttrList_New(&list); if(err == kNoErr) { int ii; for(ii = 0; ii < opts.Library_Path_Index; ii++) { err = POVMSAttr_New(&attr); if(err == kNoErr) { err = POVMSAttr_Set(&attr, kPOVMSType_CString, opts.Library_Paths[ii], strlen(opts.Library_Paths[ii]) + 1); if(err == kNoErr) err = POVMSAttrList_Append(&list, &attr); else err = POVMSAttr_Delete(&attr); } } if(err == kNoErr) err = POVMSObject_Set(msg, &list, kPOVAttrib_LibraryPath); } } if(err == kNoErr) { POVMSFloat f = opts.Language_Version / 100.0; err = POVMSUtil_SetFloat(msg, kPOVAttrib_Version, f); } /* FIXME if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_DebugConsole, Stream_Info[DEBUG_STREAM]->console != NULL); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_FatalConsole, Stream_Info[FATAL_STREAM]->console != NULL); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_RenderConsole, Stream_Info[RENDER_STREAM]->console != NULL); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_StatisticsConsole, Stream_Info[STATISTIC_STREAM]->console != NULL); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_WarningConsole, Stream_Info[WARNING_STREAM]->console != NULL); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_AllConsole, Stream_Info[ALL_STREAM]->console != NULL); if((err == kNoErr) && (Stream_Info[DEBUG_STREAM]->name != NULL)) err = POVMSUtil_SetString(msg, kPOVAttrib_DebugFile, Stream_Info[DEBUG_STREAM]->name); if((err == kNoErr) && (Stream_Info[FATAL_STREAM]->name != NULL)) err = POVMSUtil_SetString(msg, kPOVAttrib_FatalFile, Stream_Info[FATAL_STREAM]->name); if((err == kNoErr) && (Stream_Info[RENDER_STREAM]->name != NULL)) err = POVMSUtil_SetString(msg, kPOVAttrib_RenderFile, Stream_Info[RENDER_STREAM]->name); if((err == kNoErr) && (Stream_Info[STATISTIC_STREAM]->name != NULL)) err = POVMSUtil_SetString(msg, kPOVAttrib_StatisticsFile, Stream_Info[STATISTIC_STREAM]->name); if((err == kNoErr) && (Stream_Info[WARNING_STREAM]->name != NULL)) err = POVMSUtil_SetString(msg, kPOVAttrib_WarningFile, Stream_Info[WARNING_STREAM]->name); if((err == kNoErr) && (Stream_Info[ALL_STREAM]->name != NULL)) err = POVMSUtil_SetString(msg, kPOVAttrib_AllFile, Stream_Info[ALL_STREAM]->name); */ if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_Quality, opts.Quality); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_Bounding, opts.Use_Slabs); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_BoundingThreshold, opts.BBox_Threshold); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_LightBuffer, (opts.Options & USE_LIGHT_BUFFER) != 0); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_VistaBuffer, (opts.Options & USE_VISTA_BUFFER) != 0); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_RemoveBounds, (opts.Options & REMOVE_BOUNDS) != 0); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_SplitUnions, (opts.Options & SPLIT_UNION) != 0); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_Antialias, (opts.Options & ANTIALIAS) != 0); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_SamplingMethod, opts.Tracing_Method); if(err == kNoErr) err = POVMSUtil_SetFloat(msg, kPOVAttrib_AntialiasThreshold, opts.Antialias_Threshold); if(err == kNoErr) err = POVMSUtil_SetInt(msg, kPOVAttrib_AntialiasDepth, opts.AntialiasDepth); if(err == kNoErr) err = POVMSUtil_SetBool(msg, kPOVAttrib_Jitter, (opts.Options & JITTER) != 0); if(err == kNoErr) err = POVMSUtil_SetFloat(msg, kPOVAttrib_JitterAmount, opts.JitterScale); if(err == kNoErr) err = POVMSUtil_SetString(msg, kPOVAttrib_IncludeHeader, opts.Header_File_Name); return err; }
int InvokeProgram(int oftype) { List p = NULL; char **cmd; char *file; int status = 0; switch (oftype) { case PP_FILE: if (Option.cfiles == NULL) return 0; for (p = Option.cfiles; p != NULL; p = p->next) { PPFiles = ListAppend(PPFiles, FileName(p->str, ".i")); } Option.pfiles = ListCombine(Option.pfiles, PPFiles); cmd = BuildCommand(CPPProg, Option.pflags, Option.cfiles, PPFiles); status = _spawnvp(_P_WAIT, cmd[0], cmd); for (p = PPFiles; p != NULL; p = p->next) { if ((file = strrchr(p->str, '\\')) || (file = strrchr(p->str, '/'))) { rename(file + 1, p->str); } } break; case ASM_FILE: if (Option.pfiles == NULL) return 0; for (p = Option.pfiles; p != NULL; p = p->next) { ASMFiles = ListAppend(ASMFiles, FileName(p->str, ".asm")); } Option.afiles = ListCombine(Option.afiles, ASMFiles); cmd = BuildCommand(CCProg, Option.cflags, Option.pfiles, ASMFiles); status = _spawnvp(_P_WAIT, cmd[0], cmd); break; case OBJ_FILE: if (Option.afiles == NULL) return 0; for (p = Option.aflags, Option.aflags = NULL; p != NULL; p = p->next) { Option.aflags = ListCombine(Option.aflags, ParseOption(p->str + 4)); } for (p = Option.afiles; p != NULL; p = p->next) { file = FileName(p->str, ".obj"); OBJFiles = ListAppend(OBJFiles, file); cmd = BuildCommand(ASProg, Option.aflags, ListAppend(NULL, p->str), ListAppend(NULL, file)); status = _spawnvp(_P_WAIT, cmd[0], cmd); } Option.ofiles = ListCombine(Option.ofiles, OBJFiles); break; case LIB_FILE: break; case EXE_FILE: if (Option.ofiles == NULL) return 0; if (Option.out == NULL) { Option.out = Option.ofiles->str; } Option.out = FileName(Option.out, ".exe"); for (p = Option.lflags, Option.lflags = NULL; p != NULL; p = p->next) { Option.lflags = ListCombine(Option.lflags, ParseOption(p->str + 4)); } cmd = BuildCommand(LDProg, Option.lflags, Option.linput, ListAppend(NULL, Option.out)); status = _spawnvp(_P_WAIT, cmd[0], cmd); break; } return status; }
CommandBuilder::CommandBuilder(const wxString &cmdString) : mValid(false) { BuildCommand(cmdString); }
BOOL ViewContextMenu::BuildOverView(Spread* pSpread, DocCoord ClickPos, ClickModifiers ClickMods) { ERROR2IF(pSpread==NULL,FALSE,"BuildOverView passed NULL spread pointer"); BOOL ok = TRUE; //---------------------------------------------// // First ask selected nodes if they want to supply items and if so show the blob menu... if (AskBlobsForItems(pSpread, ClickPos, ClickMods)) { // If they supply items then we won't add the normal items about the selection return TRUE; } //---------------------------------------------// // Find what the click was on and show the object menu... // NodeRenderableInk* pHitNode = NodeRenderableInk::FindSimpleAtPoint(pSpread, ClickPos); NodeRenderableInk* pHitNode = FindNodeAtPoint(pSpread,ClickPos); if (pHitNode) { BOOL HitNodeIsGuideline = IS_A(pHitNode,NodeGuideline); if (!HitNodeIsGuideline) // BODGE so that guidelines (which can't be selected) can have a pop-up menu { // Now find out if there's just one node selected and if so ask it for some items... SelRange* pSel = GetApplication()->FindSelection(); if (pSel!=NULL) { Node* pNode = pSel->FindFirst(); if (pNode && pSel->FindNext(pNode) == NULL) { // There's only one object selected so let's ask it about itself... ((NodeRenderableInk*) pNode)->OnNodePopUp(pSpread, ClickPos, this); } } } else pHitNode->OnNodePopUp(pSpread, ClickPos, this); if (!HitNodeIsGuideline) // BODGE to stop guideline pop-up menus having irrelevant menu items { // Build the rest of the standard object menu... // Effect commands ok = ok && BuildEffectCommands(); // Edit commands ok = ok && BuildTransferCommands(TRUE); // Arrange commands // WEBSTER-ranbirr-13/11/96 // #ifndef WEBSTER ok = ok && BuildCommand(OPTOKEN_MAKE_SHAPES); // #endif //webster ok = ok && BuildCommand(OPTOKEN_CONVERTTOBITMAP); // WEBSTER-ranbirr-13/11/96 // Now Taken out by vector stroking code Neville 2/10/97 #ifdef VECTOR_STROKING // ok = ok && BuildCommand(OPTOKEN_MAKE_STROKE); #endif // VECTOR_STROKING ok = ok && BuildCommand(OPTOKEN_COMBINESHAPES,TRUE); MenuItem* pCombineRoot = GetLastItem(); // WEBSTER-ranbirr-13/11/96 // #ifndef WEBSTER ok = ok && BuildCommand(OPTOKEN_ADDSHAPES, FALSE, pCombineRoot); ok = ok && BuildCommand(OPTOKEN_SUBTRACTSHAPES, FALSE, pCombineRoot); ok = ok && BuildCommand(OPTOKEN_INTERSECTSHAPES, FALSE, pCombineRoot); ok = ok && BuildCommand(OPTOKEN_SLICESHAPES, FALSE, pCombineRoot); // #endif //webster #ifndef WEBSTER // Imagesetting submenu ok = ok && BuildCommand(OPTOKEN_IMAGESETTING, TRUE); pCombineRoot = GetLastItem(); ok = ok && BuildCommand(OPTOKEN_OVERPRINTFILL, FALSE, pCombineRoot); ok = ok && BuildCommand(OPTOKEN_OVERPRINTLINE, TRUE, pCombineRoot); ok = ok && BuildCommand(OPTOKEN_PRINTONALLPLATES, FALSE, pCombineRoot); #endif //webster // Utils commands ok = ok && BuildCommand(OPTOKEN_WEBADDRESSDLG); ok = ok && BuildCommand(OPTOKEN_COLOUREDITDLG, TRUE); PORTNOTE("other", "Removed brush edit dialog from popup menu") #ifndef EXCLUDE_FROM_XARALX ok = ok && BuildCommand(OPTOKEN_BRUSHEDIT_DLG); #endif ok = ok && BuildCommand(OPTOKEN_SELECTBRUSH); } return ok; } //---------------------------------------------// // If on white space then show the white space menu... // Window commands // MENUITEM OPTOKEN_TOOLBARDLG // MENUITEM OPTOKEN_VIEWCOLOURBAR // MENUITEM OPTOKEN_VIEWSTATUSBAR // MENUITEM OPTOKEN_VIEWSCROLLBARS // WEBSTER-ranbirr-13/11/96 #ifndef WEBSTER ok = ok && BuildCommand(OPTOKEN_WINDOWNEWVIEW); ok = ok && BuildCommand(OPTOKEN_VIEWFULLSCREEN,TRUE); #else ok = ok && BuildCommand(OPTOKEN_WINDOWNEWVIEW,TRUE); #endif //webster // Paste option - we don't need to do the // BuildTransferCommands as the Cut and Copy operations // are never applicable here... matt-23/08/2000 ok = ok && BuildCommand(OPTOKEN_PASTE, TRUE); // View quality ok = ok && BuildCommand(OPTOKEN_WINDOWQUALITY,FALSE); MenuItem* pQualityRoot = GetLastItem(); ok = ok && BuildCommand(OPTOKEN_QUALITYANTIALIASED, FALSE, pQualityRoot); ok = ok && BuildCommand(OPTOKEN_QUALITYNORMAL, FALSE, pQualityRoot); ok = ok && BuildCommand(OPTOKEN_QUALITYSIMPLE, FALSE, pQualityRoot); ok = ok && BuildCommand(OPTOKEN_QUALITYOUTLINE, FALSE, pQualityRoot); // View commands // WEBSTER-ranbirr-13/11/96 #ifndef WEBSTER ok = ok && BuildCommand(OPTOKEN_SHOWGRID); ok = ok && BuildCommand(OPTOKEN_SHOWGUIDES,TRUE); #else ok = ok && BuildCommand(OPTOKEN_SHOWGRID,TRUE); #endif //webster // WEBSTER-ranbirr-13/11/96 #ifndef WEBSTER ok = ok && BuildCommand(OPTOKEN_SNAPTOGRID); ok = ok && BuildCommand(OPTOKEN_SNAPTOGUIDES); ok = ok && BuildCommand(OPTOKEN_SNAPTOOBJECTS,TRUE); #else ok = ok && BuildCommand(OPTOKEN_SNAPTOGRID,TRUE); #endif //webster ok = ok && BuildCommand(OPTOKEN_DELETEPAGEBACKGROUND); // Page commands (almost "Properties...") ok = ok && BuildCommand(OPTOKEN_PAGESIZEDLG); return ok; }
CommandBuilder::CommandBuilder(const wxString &cmdName, const wxString ¶ms) : mValid(false) { BuildCommand(cmdName, params); }
void JXFSBindingManager::Exec ( const JIndex startIndex, const JIndex endIndex ) { // check if same path for all files JBoolean samePath = kJTrue; JString path, name; if (endIndex > startIndex) { JString p; for (JIndex i=startIndex; i<=endIndex; i++) { const JString& fullName = (itsFileList->NthElement(i))->GetPattern(); JSplitPathAndName(fullName, &p, &name); if (i > startIndex && p != path) { samePath = kJFalse; break; } path = p; } } // build $q, $u, $qf, $uf JString q, u, qf, uf; for (JIndex i=startIndex; i<=endIndex; i++) { const JString& fullName = (itsFileList->NthElement(i))->GetPattern(); if (samePath) { JSplitPathAndName(fullName, &path, &name); } else { name = fullName; } q += JPrepArgForExec(name); q += " "; u += name; u += " "; qf += JPrepArgForExec(fullName); qf += " "; uf += fullName; uf += " "; } // run command JFSBinding* f = itsFileList->NthElement(startIndex); JSplitPathAndName(f->GetPattern(), &path, &name); JFSBinding::CommandType type; JBoolean singleFile; JString cmd = f->GetCommand(&type, &singleFile); assert( ( singleFile && startIndex == endIndex) || (!singleFile && startIndex <= endIndex) ); BuildCommand(&cmd, q, u, qf, uf); Exec(path, cmd, type); }