Example #1
0
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;
	}
Example #2
0
/** 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");
  }

}
Example #3
0
// 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;
  }
Example #4
0
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;
}