int FXTabSim::buscarPROC(char *lex) { FXint index; FXString lexAct; FXString strNParam; index = tope; do { lexAct = getItemText(index, COL_TIPOTS); printf("Index: %d TipoTS: %s\n", index, lexAct.text()); /** @todo Tener en cuenta las FUNCIONES */ if ( compare(lexAct.text(), "PROC") == 0 ) { lexAct = getItemText(index, COL_LEXEMA); printf("Es un PROC >> Lexema: %s\n", lexAct.text()); if ( compare(lexAct.text(), lex) == 0 ) { // Encontrado... iniProc = index; posParam = iniProc+1; strNParam = getItemText(index, COL_NPAR); numPar = FXIntVal(strNParam.text()); // Lo marcamos setSelTextColor(colores[PROC_FG]); setSelBackColor(colores[PROC_BG]); selectRange(index, index , COL_LEXEMA, COL_ETQ_ELSE); return numPar; } } index--; } while ( index > -1 ); return -1; }
/** The connect button callback * * * \param o A parameter used for FOX callbacks * \param s A parameter used for FOX callbacks * \param v A parameter used for FOX callbacks * * \return Always 1 * */ long RainbruRPG::Gui::FtpClientWindow:: onConnect(FXObject* o,FXSelector s,void* v){ FXString sIp=tfHostIp->getText(); FXString sPort=tfHostPort->getText(); FXString sUName=tfHostUName->getText(); bool ret=ftpClient->connectToHost(sIp.text(), FXIntVal(sPort), sUName.text()); if (ret){ LOGI("Connection to FTP host successfull"); logMessage("Connection to FTP host successfull"); std::string s=ftpClient->waitControlResponse(); logMessage(s.c_str()); fxText->enable(); fxTextField->enable(); } else{ LOGE("Connection to FTP Host failed"); logMessage("Connection to FTP Host failed"); } }
// Parse file FXbool Parser::parse(FXSyntaxList& syntaxes){ FXSyntax *syntax; FXString name; FXTRACE((1,"Parser::parse: file = %s\n",file.text())); // Open file fp=fopen(file.text(),"r"); if(!fp){ fxwarning("error: unable to open file: %s.\n",file.text()); return FALSE; } // Parse the languages while(token()){ // Parse next language if(strcmp(tok,"language")!=0){ fxwarning("%s:%d: error: expected 'language'.\n",file.text(),number); return FALSE; } // Parse language name name=string(); // Make new language node syntax=new FXSyntax(name); // Add to list syntaxes.append(syntax); // Parse language info while(token()){ if(strcmp(tok,"filesmatch")==0){ // File extensions syntax->setExtensions(string()); continue; } if(strcmp(tok,"contentsmatch")==0){ // File contents syntax->setContents(string()); continue; } if(strcmp(tok,"delimiters")==0){ // Word delimiters syntax->setDelimiters(string()); continue; } if(strcmp(tok,"contextlines")==0){ // Context lines syntax->setContextLines(FXIntVal(word())); continue; } if(strcmp(tok,"contextchars")==0){ // Context chars syntax->setContextChars(FXIntVal(word())); continue; } break; } // Premature end if(!tok){ fxwarning("%s:%d: error: unexpected end of file.\n",file.text(),number); return FALSE; } // Parse rules if(!parserules(syntax,0)) return FALSE; // Check end if(strcmp(tok,"end")!=0){ fxwarning("%s:%d: error: expected 'end'.\n",file.text(),number); return FALSE; } } FXTRACE((1,"Parser::parse: OK\n")); return TRUE; }
long Settings::onChangeSetting(FXObject*o, FXSelector sel, void*p) { switch FXSELID(sel) { case ID_TOGGLE_SMART_HOME: { SmartHome = !SmartHome; break; } case ID_TOGGLE_WRAP_AWARE: { WrapAwareHomeEnd = !WrapAwareHomeEnd; break; } case ID_TOGGLE_USE_TABS: { FXSpinner*spin=(FXSpinner*)(((FXCheckButton*)o)->getUserData()); UseTabs = (bool)((FXival)p); if (UseTabs) { spin->disable(); spin->getNext()->disable(); spin->setTextColor(spin->getApp()->getBaseColor()); } else { spin->enable(); spin->getNext()->enable(); spin->setTextColor(spin->getApp()->getForeColor()); } break; } case ID_SET_BRACE_MATCHING: { BraceMatch = (FXival)p; LIMIT_RANGE(BraceMatch,BRACEMATCH_NONE,BRACEMATCH_AFTER); break; } case ID_TOGGLE_ASK_CLOSE_MULTI_MENU: { PromptCloseMultiMenu = !PromptCloseMultiMenu; break; } case ID_TOGGLE_ASK_CLOSE_MULTI_EXIT: { PromptCloseMultiExit = !PromptCloseMultiExit; break; } case ID_TOGGLE_WATCH_EXTERN: { WatchExternChanges = !WatchExternChanges; break; } case ID_TOGGLE_SMOOTH_SCROLL: { SmoothScroll = !SmoothScroll; break; } case ID_TOGGLE_SEARCH_VERBOSE: { SearchVerbose = !SearchVerbose; break; } case ID_TOGGLE_CARET_PAST_EOL: { CaretPastEOL = !CaretPastEOL; break; } case ID_TOGGLE_VIEW_WHITESPACE_EOL: { WhitespaceShowsEOL = !WhitespaceShowsEOL; break; } case ID_TOGGLE_ASCII_DEFAULT: { DefaultToAscii = !DefaultToAscii; break; } case ID_TOGGLE_SBCS_DEFAULT: { DefaultToSbcs = !DefaultToSbcs; break; } case ID_TOGGLE_WORD_WRAP: { WordWrap = !WordWrap; break; } case ID_TOGGLE_WRAP_TOOLBAR: { WrapToolbar = !WrapToolbar; break; } case ID_TOGGLE_AUTOSAVE: { FXWindow*w=(FXWindow*)o; w=(FXWindow*)w->getUserData(); Autosave = !Autosave; if (Autosave) { w->enable(); } else { w->disable(); } break; } case ID_SAVE_ON_FILTER_SEL: { SaveBeforeFilterSel = !SaveBeforeFilterSel; break; } case ID_SAVE_ON_INS_CMD: { SaveBeforeInsCmd = !SaveBeforeInsCmd; break; } case ID_SAVE_ON_EXEC_CMD: { SaveBeforeExecCmd = !SaveBeforeExecCmd; break; } case ID_CHOOSE_FONT: { EditorFontDlg dlg(((FXWindow*)o)->getShell()); dlg.setAscent(FontAscent); dlg.setDescent(FontDescent); #ifdef WIN32 // Windows font dialog is empty, unless setwidth is zero. FXushort setwidth=fontdesc.setwidth; fontdesc.setwidth=0; #endif SetDialogFromFont(dlg,fontdesc); if (dlg.execute(PLACEMENT_SCREEN)) { SetFontFromDialog(fontdesc,dlg); FontName=(FXchar*)(fontdesc.face); FontSize=fontdesc.size; FontAscent=dlg.getAscent(); FontDescent=dlg.getDescent(); } #ifdef WIN32 else { fontdesc.setwidth=setwidth; } #endif break; } case ID_SET_MAX_FILES: { FXTextField*tf=(FXTextField*)o; MaxFiles=FXIntVal(tf->getText(),10); LIMIT_RANGE(MaxFiles,1,999); char maxfiles[8]="\0\0\0\0\0\0\0"; snprintf(maxfiles, sizeof(maxfiles)-1, "%d", MaxFiles); tf->setText(maxfiles); break; } case ID_SET_TAB_WIDTH: { FXSpinner*spin=(FXSpinner*)o; TabWidth=spin->getValue(); LIMIT_RANGE(TabWidth,1,16); break; } case ID_SET_TAB_WIDTH_FOR_LANG: { FXSpinner*spin=(FXSpinner*)o; LangStyle*ls=(LangStyle*)spin->getUserData(); ls->tabwidth=spin->getValue(); LIMIT_RANGE(ls->tabwidth,0,16); break; } case ID_SET_INDENT_WIDTH: { FXSpinner*spin=(FXSpinner*)o; IndentWidth=spin->getValue(); LIMIT_RANGE(IndentWidth,1,16); break; } case ID_SET_CARET_WIDTH: { FXSpinner*spin=(FXSpinner*)o; CaretWidth=spin->getValue(); LIMIT_RANGE(CaretWidth,1,3); break; } case ID_SET_WHEEL_LINES: { FXSpinner*spin=(FXSpinner*)o; WheelLines=spin->getValue(); LIMIT_RANGE(WheelLines,1,32); break; } case ID_SET_TAB_TITLE_MAX_WIDTH: { FXSpinner*spin=(FXSpinner*)o; TabTitleMaxWidth=spin->getValue(); LIMIT_RANGE(TabTitleMaxWidth,0,ScreenWidth); } case ID_SET_SEARCH_WRAP: { SearchWrap=(FXival)p; LIMIT_RANGE(SearchWrap,SEARCH_WRAP_NEVER,SEARCH_WRAP_ASK); break; } case ID_SET_SEARCH_GUI: { SearchGui=(FXival)p; LIMIT_RANGE(SearchGui,SEARCH_GUI_ABOVE,SEARCH_GUI_FLOAT); break; } case ID_SET_AUTO_INDENT: { AutoIndent=(FXival)p; LIMIT_RANGE(AutoIndent,AUTO_INDENT_NONE,AUTO_INDENT_SMART); break; } case ID_SET_SPLIT_VIEW: { SplitView=(FXival)p; LIMIT_RANGE(SplitView,SPLIT_NONE,SPLIT_BESIDE); break; } case ID_SET_KEEP_FILE_FILTER: { KeepFileFilter=(FXival)p; LIMIT_RANGE(KeepFileFilter,REMEMBER_NEVER,REMEMBER_ALWAYS); break; } case ID_SET_RIGHT_EDGE: { FXSpinner*spin=(FXSpinner*)o; RightEdgeColumn=spin->getValue(); LIMIT_RANGE(RightEdgeColumn,1,1024); break; } case ID_SET_SHELL_CMD: { FXTextField*tf=(FXTextField*)o; ShellCommand=tf->getText().text(); break; } case ID_SET_AUTOSAVE_INT: { FXSpinner*spin=(FXSpinner*)o; AutosaveInterval=spin->getValue(); LIMIT_RANGE(AutosaveInterval,15,900); break; } case ID_SET_SEARCH_OPTS: { SearchOptions=(FXival)p; break; } case ID_SET_FILETYPES: { FXInputDialog*dlg=(FXInputDialog*)o; LangStyle* ls=(LangStyle*)dlg->getUserData(); if (ls) { if (ls->mask) { if (strcmp(ls->mask,dlg->getText().text())==0) { break; } if ( ls->mallocs & (1<<30) ) { free(ls->mask); } } ls->mask=strdup(dlg->getText().text()); } break; } case ID_SET_SHABANGS: { FXInputDialog*dlg=(FXInputDialog*)o; LangStyle* ls=(LangStyle*)dlg->getUserData(); if (ls) { if (ls->apps) { if (strcmp(ls->apps,dlg->getText().text())==0) { break; } if ( ls->mallocs & (1<<29) ) { free(ls->apps); } } ls->apps=strdup(dlg->getText().text()); } break; } case ID_SET_FILE_FORMAT: { DefaultFileFormat=(FXival)p; LIMIT_RANGE(DefaultFileFormat,0,2); break; } case ID_SET_TOOLBAR_BTN_SIZE: { ToolbarButtonSize=(FXival)p; LIMIT_RANGE(ToolbarButtonSize,0,2); break; } } return 1; }