int Boxes()
{
ChannelScroller(ChScrollX, ChScrollY);

if(ClassicalChannelView ==1)
{   
Canvas::SetClipping(0,ChannelYMenu+hauteur_ChannelMenu,largeur_ecran,hauteur_ecran); 
ClassicalChannelSpace(XChannels, YChannels,  scroll_channelspace);// x y espacement latéral // espacement vertical // scrolling down
Canvas::DisableClipping();
}

else
{
int index_posView=0;
int pos_y_vision=0;
Canvas::SetClipping(XChannels,ChannelYMenu+hauteur_ChannelMenu ,XChannels+600 , hauteur_ecran);
for(int i=0;i<nbre_de_vues_circuits;i++)
{
if(Channel_View_MODE[i]==1 )
{                        
Draw_Channel_Preset_Title(XChannels, YChannels+pos_y_vision-(int)(((float)scroll_channelspace)/ ratioview),i);      
pos_y_vision+= 60;
Draw_Channel_Preset_View(XChannels, YChannels+pos_y_vision-(int)(((float)scroll_channelspace)/ ratioview), i);
pos_y_vision+=((channel_number_of_lines[i])* (70))+ hauteur_preset_titre;
} 
} 
Canvas::DisableClipping();   
}


RetourInfos(680,40);

feedback_banger(xVisuBanger,yVisuBanger);
grand_master(1200, 30);//x y largeur
show_windows_list_id(1250, 10);//debug windows

Rect Registered(Vec2D(xVisuBanger-5, 272),Vec2D(145,18));
Registered.SetRoundness(4);

petitchiffre.Print(nickname_version,xVisuBanger,285);

petitchiffre.Print(string_debug,xVisuBanger, 300);
 
//focus window
petitchiffre.Print("Focus: ",xVisuBanger,310);
petitchiffre.Print(ol::ToString(window_focus_id),xVisuBanger+50,310);
petitchiffre.Print("Over Window: ",xVisuBanger,320);
petitchiffre.Print(ol::ToString(index_over_A_window),xVisuBanger+90,320);
//retour sauvegarde
Rect RetourConduite(Vec2D(xVisuBanger,330),Vec2D(270,40));
RetourConduite.SetRoundness(5);
RetourConduite.Draw(CouleurBlind.WithAlpha(0.5));   
RetourConduite.DrawOutline(CouleurLigne);   
petitchiffre.Print("Last_save / SAVE:",xVisuBanger+5,345);
petitchiffre.Print(my_show_is_coming_from,xVisuBanger+5,360);

//////////////AFFICHAGES CONDITIONNES//////////////////////////////////////////////

for (int f=63;f>=0;f--) 
{

     switch (window_opened[f]) 
     {
        case W_SAVEREPORT:
        Show_report_save_load();
        MoveCloseBox(report_SL_X+20,report_SL_Y+25,W_SAVEREPORT);     
        break;
        case W_TRICHROMY:
        Interface_Trichromie(xtrichro_window,ytrichro_window,125,15);
        MoveCloseBox(xtrichro_window+20-158,ytrichro_window+25-206,W_TRICHROMY);     
        break;
        case W_NUMPAD:
        visual_numeric_pad(xnum_window,ynum_window);
        FunctionBoxChannel(xnum_window+405,ynum_window+85,60,30,15);//x y largeurbox hauteur largeur box separateurspace);
        MoveCloseBox(xnum_window+405,ynum_window+25,W_NUMPAD);     
        break;
        case W_TRACKINGVIDEO:
        Interface_video_window(videoX,videoY); 
        MoveCloseBox(videoX+20,videoY+25,W_TRACKINGVIDEO);     
        break;
        case W_ARTPOLLREPLY:
        show_artpoll_reply(artpoll_replyX,artpoll_replyY);
        MoveCloseBox(artpoll_replyX+435,artpoll_replyY+25,W_ARTPOLLREPLY);     
        break;
        case W_FADERS :
        FaderSpace(XFader-((int)(scroll_faderspace*facteur_scroll_fader_space)),YFader,182,max_faders);//x y / largeurfader / espacement des faders, nbr faders to draw   
        break;
        case W_PATCH:
        PatchBox(xpatch_window, ypatch_window, Patch_Scroll_Factor);
        MoveCloseBox(xpatch_window+20,ypatch_window+25, W_PATCH);      
        break;
        case W_ECHO:
        echo_window(x_echo,y_echo);
        MoveCloseBox(x_echo+20,y_echo+25,W_ECHO); 
        break;
        case W_DRAW:
        Draw_Window(x_Wdraw,y_Wdraw);
        MoveCloseBox(x_Wdraw+20,y_Wdraw+25, W_DRAW);         
        break;
        case W_TIME:
        Time_Window(xtime_window, ytime_window,100);
        MoveCloseBox(xtime_window+20,ytime_window+25,W_TIME);     
        break;
        case W_SEQUENCIEL:
        Sequenciel_Window(xseq_window, yseq_window,670+(260*show_gridplayer_in_seq),hauteur_globale_sequenciel);
        MoveCloseBox(xseq_window+20,yseq_window+25,W_SEQUENCIEL);     
        break;
        case W_MAINMENU:
        Menus(x_mainmenu,y_mainmenu);   
        MoveCloseBox(x_mainmenu+20,y_mainmenu+25,W_MAINMENU);   
        break;
        case W_ASKCONFIRM:
        fenetre_confirm();
        MoveCloseBox(XConfirm+20,YConfirm+25,W_ASKCONFIRM);     
        break;
        case W_PLOT:
        Plot_window(x_plot,y_plot);
        MoveCloseBox(x_plot+20,y_plot+25,W_PLOT); 
        break;
        case W_LIST:
        liste_projecteurs(Xlistproj ,Ylistproj);     
        MoveCloseBox(Xlistproj+20,Ylistproj+25,W_LIST);                 
        break;
        case W_SAVE:
        Save_Menu(xsave_window,ysave_window); 
        MoveCloseBox(xsave_window+20,ysave_window+25,W_SAVE);                 
        break;
        case W_BANGER:
        fenetre_banger(X_banger,Y_banger);  
        MoveCloseBox(X_banger+20,Y_banger+25,W_BANGER);         
        break;
        case W_ALARM:
        alarm_window();   
        MoveCloseBox(XAlarm+20,YAlarm+25, W_ALARM) ;                    
        break;
        case W_AUDIO:
        fenetre_audio(XAudio,YAudio);   
        MoveCloseBox(XAudio+20,YAudio+25,W_AUDIO);            
        break;
        case W_CFGMENU:
        config_general_menu();
        MoveCloseBox(window_cfgX+20,window_cfgY+20,W_CFGMENU);         
        break;
        case W_WIZARD:
        fenetre_wizard(Xwizard,Ywizard);
        MoveCloseBox(Xwizard+20,Ywizard+20,W_WIZARD);       
        break;
        case W_MINIFADERS:
        mini_faders_panel_visu(xMinifaders,yMinifaders,20);
        MoveCloseBox(xMinifaders+10,yMinifaders-30,W_MINIFADERS);     
        break;
        case W_CHASERS:
        chaser_window( Xchasers,Ychasers);
        MoveCloseBox(Xchasers+20,Ychasers+20,W_CHASERS);         
        break;
        case W_MOVER:
        mover_box(xmover_window, ymover_window);
        MoveCloseBox(xmover_window+20, ymover_window-20,W_MOVER);             
        break;
        case W_iCAT:
        BoxGuiBuilder_iCat( X_gui_iCat, Y_gui_iCat);
        MoveCloseBox( X_gui_iCat+20,Y_gui_iCat+20,W_iCAT);            
        break;
        case W_GRID:
        Grider_Box(grider_window_x, grider_window_y);
        MoveCloseBox( grider_window_x+20,grider_window_y+20,W_GRID);              
        break;
        case W_MY_WINDOW:
        my_window_Box(my_window_x, my_window_y);
        MoveCloseBox( my_window_x+20,my_window_y+20,W_MY_WINDOW);              
        break;
        default:
        break;
      }
   }
   

ChannelsMenuSelection(ChannelXMenu,ChannelYMenu);//menu par dessus
   
   
//over windows if text
if(numeric_postext>0 || index_type==1)
{
Rect nameAera( Vec2D( 670, 27), Vec2D ( 380,40));
nameAera.SetRoundness(15);
nameAera.SetLineWidth(triple_epaisseur_ligne_fader); 
nameAera.Draw(CouleurFader.WithAlpha(index_type)); 
Rect UnderText(Vec2D(670,32),Vec2D((numeric_postext*14)+50,30));
UnderText.SetRoundness(7.5);
UnderText.Draw(CouleurFond);
UnderText.Draw(CouleurLigne.WithAlpha(0.1));
UnderText.DrawOutline(CouleurFader);
neuro.Print(string_numeric_entry,680,55);//input chaine clavier numerique
}
/////////////////////////////////

return(0);

}
Example #2
0
void InterpretCommand(MenuInstanceData * pMenuData, const char *pszScript) {
  char szCmd[31], szParam1[51], szParam2[51];
  char szTempScript[ 255 ];
  memset(szTempScript, 0, sizeof(szTempScript));
  strncpy(szTempScript, pszScript, 250);

  if (pszScript[0] == 0) {
    return;
  }

  char* pszScriptPointer = szTempScript;
  while (pszScriptPointer && !hangup) {
    pszScriptPointer = MenuParseLine(pszScriptPointer, szCmd, szParam1, szParam2);

    if (szCmd[0] == 0) {    // || !pszScriptPointer || !*pszScriptPointer
      break;
    }

    // -------------------------
    // Run a new menu instance

    int nCmdID = GetMenuIndex(szCmd);
    switch (nCmdID) {
    case 0: {
      // "MENU"
      // Spawn a new menu
      MenuInstanceData *pNewMenuData = static_cast<MenuInstanceData *>(malloc(sizeof(MenuInstanceData)));

      memset(pNewMenuData, 0, sizeof(MenuInstanceData));
      pNewMenuData->nFinished = 0;
      pNewMenuData->nReload = 0;

      Menus(pNewMenuData, pMenuData->szPath, szParam1);
      free(pNewMenuData);
    }
    break;
    case 1: {
      // -------------------------
      // Exit out of this instance
      // of the menu
      // -------------------------
      // "ReturnFromMenu"
      InterpretCommand(pMenuData, pMenuData->header.szExitScript);
      pMenuData->nFinished = 1;
    }
    break;
    case 2: {
      // "EditMenuSet"
      EditMenus();           // flag if we are editing this menu
      pMenuData->nFinished = 1;
      pMenuData->nReload = 1;
    }
    break;
    case 3: {
      // "DLFreeFile"
      align(szParam2);
      MenuDownload(szParam1, szParam2, true, true);
    }
    break;
    case 4: {
      // "DLFile"
      align(szParam2);
      MenuDownload(szParam1, szParam2, false, true);
    }
    break;
    case 5: {
      // "RunDoor"
      MenuRunDoorName(szParam1, false);
    }
    break;
    case 6: {
      // "RunDoorFree"
      MenuRunDoorName(szParam1, true);
    }
    break;
    case 7: {
      // "RunDoorNumber"
      int nTemp = atoi(szParam1);
      MenuRunDoorNumber(nTemp, false);
    }
    break;
    case 8: {
      // "RunDoorNumberFree"
      int nTemp = atoi(szParam1);
      MenuRunDoorNumber(nTemp, true);
    }
    break;
    case 9: {
      // "PrintFile"
      printfile(szParam1, true);
    }
    break;
    case 10: {
      // "PrintFileNA"
      printfile(szParam1, false);
    }
    break;
    case 11: {
      // "SetSubNumber"
      SetSubNumber(szParam1);
    }
    break;
    case 12: {
      // "SetDirNumber"
      SetDirNumber(szParam1);
    }
    break;
    case 13: {
      // "SetMsgConf"
      SetMsgConf(szParam1[0]);
    }
    break;
    case 14: {
      // "SetDirConf"
      SetDirConf(szParam1[0]);
    }
    break;
    case 15: {
      // "EnableConf"
      EnableConf();
    }
    break;
    case 16: {
      // "DisableConf"
      DisableConf();
    }
    break;
    case 17: {
      // "Pause"
      pausescr();
    }
    break;
    case 18: {
      // "ConfigUserMenuSet"
      ConfigUserMenuSet();
      pMenuData->nFinished = 1;
      pMenuData->nReload = 1;
    }
    break;
    case 19: {
      // "DisplayHelp"
      if (GetSession()->GetCurrentUser()->IsExpert()) {
        AMDisplayHelp(pMenuData);
      }
    }
    break;
    case 20: {
      // "SelectSub"
      ChangeSubNumber();
    }
    break;
    case 21: {
      // "SelectDir"
      ChangeDirNumber();
    }
    break;
    case 22: {
      // "SubList"
      SubList();
    }
    break;
    case 23: {
      // "UpSubConf"
      UpSubConf();
    }
    break;
    case 24: {
      // "DownSubConf"
      DownSubConf();
    }
    break;
    case 25: {
      // "UpSub"
      UpSub();
    }
    break;
    case 26: {
      // "DownSub"
      DownSub();
    }
    break;
    case 27: {
      // "ValidateUser"
      ValidateUser();
    }
    break;
    case 28: {
      // "Doors"
      Chains();
    }
    break;
    case 29: {
      // "TimeBank"
      TimeBank();
    }
    break;
    case 30: {
      // "AutoMessage"
      AutoMessage();
    }
    break;
    case 31: {
      // "BBSList"
      BBSList();
    }
    break;
    case 32: {
      // "RequestChat"
      RequestChat();
    }
    break;
    case 33: {
      // "Defaults"
      Defaults(pMenuData);
    }
    break;
    case 34: {
      // "SendEMail"
      SendEMail();
    }
    break;
    case 35: {
      // "Feedback"
      FeedBack();
    }
    break;
    case 36: {
      // "Bulletins"
      Bulletins();
    }
    break;
    case 37: {
      // "HopSub"
      HopSub();
    }
    break;
    case 38: {
      // "SystemInfo"
      SystemInfo();
    }
    break;
    case 39: {
      // "JumpSubConf"
      JumpSubConf();
    }
    break;
    case 40: {
      // "KillEMail"
      KillEMail();
    }
    break;
    case 41: {
      // "LastCallers"
      LastCallers();
    }
    break;
    case 42: {
      // "ReadEMail"
      ReadEMail();
    }
    break;
    case 43: {
      // "NewMessageScan"
      NewMessageScan();
    }
    break;
    case 44: {
      // "Goodbye"
      GoodBye();
    }
    break;
    case 45: {
      // "PostMessage"
      WWIV_PostMessage();
    }
    break;
    case 46: {
      // "NewMsgScanCurSub"
      ScanSub();
    }
    break;
    case 47: {
      // "RemovePost"
      RemovePost();
    }
    break;
    case 48: {
      // "TitleScan"
      TitleScan();
    }
    break;
    case 49: {
      // "ListUsers"
      ListUsers();
    }
    break;
    case 50: {
      // "Vote"
      Vote();
    }
    break;
    case 51: {
      // "ToggleExpert"
      ToggleExpert();
    }
    break;
    case 52: {
      // "YourInfo"
      YourInfo();
    }
    break;
    case 53: {
      // "ExpressScan"
      ExpressScan();
    }
    break;
    case 54: {
      // "WWIVVer"
      WWIVVersion();
    }
    break;
    case 55: {
      // "InstanceEdit"
      InstanceEdit();
    }
    break;
    case 56: {
      // "ConferenceEdit"
      JumpEdit();
    }
    break;
    case 57: {
      // "SubEdit"
      BoardEdit();
    }
    break;
    case 58: {
      // "ChainEdit"
      ChainEdit();
    }
    break;
    case 59: {
      // "ToggleAvailable"
      ToggleChat();
    }
    break;
    case 60: {
      // "ChangeUser"
      ChangeUser();
    }
    break;
    case 61: {
      // "CLOUT"
      CallOut();
    }
    break;
    case 62: {
      // "Debug"
      Debug();
    }
    break;
    case 63: {
      // "DirEdit"
      DirEdit();
    }
    break;
    case 65: {
      // "Edit"
      EditText();
    }
    break;
    case 66: {
      // "BulletinEdit"
      EditBulletins();
    }
    break;
    case 67: {
      // "LoadText"
      // LoadText and LoadTextFile are the same, so they are now merged.
      LoadTextFile();
    }
    break;
    case 68: {
      // "ReadAllMail"
      ReadAllMail();
    }
    break;
    case 69: {
      // "Reboot"
      RebootComputer();
    }
    break;
    case 70: {
      // "ReloadMenus"
      ReloadMenus();
    }
    break;
    case 71: {
      // "ResetUserIndex"
      ResetFiles();
    }
    break;
    case 72: {
      // "ResetQScan"
      ResetQscan();
    }
    break;
    case 73: {
      // "MemStat"
      MemoryStatus();
    }
    break;
    case 74: {
      // "PackMsgs"
      PackMessages();
    }
    break;
    case 75: {
      // "VoteEdit"
      InitVotes();
    }
    break;
    case 76: {
      // "Log"
      ReadLog();
    }
    break;
    case 77: {
      // "NetLog"
      ReadNetLog();
    }
    break;
    case 78: {
      // "Pending"
      PrintPending();
    }
    break;
    case 79: {
      // "Status"
      PrintStatus();
    }
    break;
    case 80: {
      // "TextEdit"
      TextEdit();
    }
    break;
    case 81: {
      // "UserEdit"
      UserEdit();
    }
    break;
    case 82: {
      // "VotePrint"
      VotePrint();
    }
    break;
    case 83: {
      // "YLog"
      YesturdaysLog();
    }
    break;
    case 84: {
      // "ZLog"
      ZLog();
    }
    break;
    case 85: {
      // "ViewNetDataLog"
      ViewNetDataLog();
    }
    break;
    case 86: {
      // "UploadPost"
      UploadPost();
    }
    break;
    case 87: {
      // "ClearScreen"
      GetSession()->bout.ClearScreen();
    }
    break;
    case 88: {
      // "NetListing"
      NetListing();
    }
    break;
    case 89: {
      // "WHO"
      WhoIsOnline();
    }
    break;
    case 90: {
      // /A "NewMsgsAllConfs"
      NewMsgsAllConfs();
    }
    break;
    case 91: {
      // /E "MultiEMail"
      MultiEmail();
    }
    break;
    case 92: {
      // "NewMsgScanFromHere"
      NewMsgScanFromHere();
    }
    break;
    case 93: {
      // "ValidatePosts"
      ValidateScan();
    }
    break;
    case 94: {
      // "ChatRoom"
      ChatRoom();
    }
    break;
    case 95: {
      // "DownloadPosts"
      DownloadPosts();
    }
    break;
    case 96: {
      // "DownloadFileList"
      DownloadFileList();
    }
    break;
    case 97: {
      // "ClearQScan"
      ClearQScan();
    }
    break;
    case 98: {
      // "FastGoodBye"
      FastGoodBye();
    }
    break;
    case 99: {
      // "NewFilesAllConfs"
      NewFilesAllConfs();
    }
    break;
    case 100: {
      // "ReadIDZ"
      ReadIDZ();
    }
    break;
    case 101: {
      // "UploadAllDirs"
      UploadAllDirs();
    }
    break;
    case 102: {
      // "UploadCurDir"
      UploadCurDir();
    }
    break;
    case 103: {
      // "RenameFiles"
      RenameFiles();
    }
    break;
    case 104: {
      // "MoveFiles"
      MoveFiles();
    }
    break;
    case 105: {
      // "SortDirs"
      SortDirs();
    }
    break;
    case 106: {
      // "ReverseSortDirs"
      ReverseSort();
    }
    break;
    case 107: {
      // "AllowEdit"
      AllowEdit();
    }
    break;
    case 109: {
      // "UploadFilesBBS"
      UploadFilesBBS();
    }
    break;
    case 110: {
      // "DirList"
      DirList();
    }
    break;
    case 111: {
      // "UpDirConf"
      UpDirConf();
    }
    break;
    case 112: {
      // "UpDir"
      UpDir();
    }
    break;
    case 113: {
      // "DownDirConf"
      DownDirConf();
    }
    break;
    case 114: {
      // "DownDir"
      DownDir();
    }
    break;
    case 115: {
      // "ListUsersDL"
      ListUsersDL();
    }
    break;
    case 116: {
      // "PrintDSZLog"
      PrintDSZLog();
    }
    break;
    case 117: {
      // "PrintDevices"
      PrintDevices();
    }
    break;
    case 118: {
      // "ViewArchive"
      ViewArchive();
    }
    break;
    case 119: {
      // "BatchMenu"
      BatchMenu();
    }
    break;
    case 120: {
      // "Download"
      Download();
    }
    break;
    case 121: {
      // "TempExtract"
      TempExtract();
    }
    break;
    case 122: {
      // "FindDescription"
      FindDescription();
    }
    break;
    case 123: {
      // "ArchiveMenu"
      TemporaryStuff();
    }
    break;
    case 124: {
      // "HopDir"
      HopDir();
    }
    break;
    case 125: {
      // "JumpDirConf"
      JumpDirConf();
    }
    break;
    case 126: {
      // "ListFiles"
      ListFiles();
    }
    break;
    case 127: {
      // "NewFileScan"
      NewFileScan();
    }
    break;
    case 128: {
      // "SetNewFileScanDate"
      SetNewFileScanDate();
    }
    break;
    case 129: {
      // "RemoveFiles"
      RemoveFiles();
    }
    break;
    case 130: {
      // "SearchAllFiles"
      SearchAllFiles();
    }
    break;
    case 131: {
      // "XferDefaults"
      XferDefaults();
    }
    break;
    case 132: {
      // "Upload"
      Upload();
    }
    break;
    case 133: {
      // "YourInfoDL"
      YourInfoDL();
    }
    break;
    case 134: {
      // "UploadToSysop"
      UploadToSysop();
    }
    break;
    case 135: {
      // "ReadAutoMessage"
      ReadAutoMessage();
    }
    break;
    case 136: {
      // "SetNewScanMsg"
      SetNewScanMsg();
    }
    break;
    case 137: {
      // "ReadMessages"
      ReadMessages();
    }
    break;
    /*
    case 138:
    { // "RUN"
    ExecuteBasic(szParam1);
    } break;
    */
    case 139: {
      // "EventEdit"
      EventEdit();
    }
    break;
    case 140: {
      // "LoadTextFile"
      LoadTextFile();
    }
    break;
    case 141: {
      // "GuestApply"
      GuestApply();
    }
    break;
    case 142: {
      // "ConfigFileList"
      ConfigFileList();
    }
    break;
    case 143: {
      // "ListAllColors"
      ListAllColors();
    }
    break;
#ifdef QUESTIONS
    case 144: {
      // "EditQuestions"
      EditQuestions();
    }
    break;
    case 145: {
      // "Questions"
      Questions();
    }
    break;
#endif
    case 146: {
      // "RemoveNotThere"
      RemoveNotThere();
    }
    break;
    case 147: {
      // "AttachFile"
      AttachFile();
    }
    break;
    case 148: {
      // "InternetEmail"
      InternetEmail();
    }
    break;
    case 149: {
      // "UnQScan"
      UnQScan();
    }
    break;
    // ppMenuStringsIndex[150] thru ppMenuStringsIndex[153] not used.....
    case 154: {
      // "Packers"
      Packers();
    }
    break;
    case 155: {
      // Color_Config
      color_config();
    }
    break;
    //------------------------------------------------------------------
    //  ppMenuStringsIndex[156] and [157] are reserved for SDS Systems and systems
    //  that distribute modifications.  DO NOT reuse these strings for
    //  other menu options.
    //------------------------------------------------------------------
    //    case 156:
    //    { // ModAccess
    //        ModsAccess();
    //    } break;
    //    case 157:
    //    { // SDSAccess
    //        SDSAccess();
    //      } break;
    //------------------------------------------------------------------
    case 158: {
      // InitVotes
      InitVotes();
    }
    break;
    case 161: {
      // TurnMCIOn
      TurnMCIOn();
    }
    break;
    case 162: {
      // TurnMCIOff
      TurnMCIOff();
    }
    break;
    default: {
      MenuSysopLog("The following command was not recognized");
      MenuSysopLog(szCmd);
    }
    break;
    }
  }
}