Changeset 1198


Ignore:
Timestamp:
Mar 11, 2022 2:20:06 PM (9 months ago)
Author:
ilavsky
Message:

tiled development

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/User Procedures/Indra 2/IN3_BlueSkyReader.ipf

    r1197 r1198  
    5050end
    5151//**********************************************************************************************************
     52///******************************************************************************************
     53///******************************************************************************************
    5254
    5355Function IR3BS_InitServer()
     
    9395                SVAR ScanTypeToUse = root:Packages:Irena:BlueSkySamplePlot:ScanTypeToUse
    9496                PopupMenu CatalogUsed,value=#"root:Packages:Irena:BlueSkySamplePlot:ListOfCatalogs",mode=1, popvalue=CatalogUsed
    95                 IR3BS_ReadJSONScanData()
     97                IR3BS_GetJSONScanData()
    9698                PopupMenu ScanTypeToUse,value=#"root:Packages:Irena:BlueSkySamplePlot:ListOfScanTypes",mode=1, popvalue=ScanTypeToUse
    9799
     
    128130end
    129131
    130                 //init Tilted read
    131132//**********************************************************************************************************
    132133//**********************************************************************************************************
     
    149150//      ListOfStrings+="DataStartFolder;DataMatchString;FolderSortString;FolderSortStringAll;"
    150151
    151         ListOfVariables="StartYear;StartMoth;StartDay;NumOfHours;"
     152        ListOfVariables="StartYear;StartMoth;StartDay;NumOfHours;AllDates;NumberOfScansToImport;"
    152153//      ListOfVariables="UseIndra2Data;UseQRSdata;UseResults;"
    153154
     
    174175        NVAR NumOfHours
    175176        NumOfHours=24
     177        NVAR NumberOfScansToImport
     178        if(NumberOfScansToImport<10)
     179                NumberOfScansToImport=1000
     180               
     181        endif
    176182//      ListOfStrings="DataMatchString;FolderSortString;FolderSortStringAll;"
    177183//      for(i=0;i<itemsInList(ListOfStrings);i+=1)     
     
    205211
    206212//************************************************************************************************************
     213//************************************************************************************************************
     214//************************************************************************************************************
    207215Function IR3BS_BlueSkyPlotPanelFnct()
    208216        //IN2G_PrintDebugStatement(IrenaDebugLevel, 5,"")
     
    226234        PopupMenu CatalogUsed,value=#"root:Packages:Irena:BlueSkySamplePlot:ListOfCatalogs",mode=1, popvalue=CatalogUsed
    227235
     236        Checkbox AllDates, variable=root:Packages:Irena:BlueSkySamplePlot:AllDates
     237        CheckBox AllDates title="All data? ",pos={220,42},size={60,14},proc=IR3S_CheckProc
     238       
     239        SetVariable NumberOfScansToImport,pos={300,40},size={200,20}, proc=IR3BS_SetVarProc,title="Num of scans:", valueColor=(0,0,0),  limits={10,1000,50}
     240        Setvariable NumberOfScansToImport,fStyle=0, variable=root:Packages:Irena:BlueSkySamplePlot:NumberOfScansToImport, disable=0, frame=1, help={"This is Igor internal name for graph currently selected for controls"}
     241       
    228242        //ListOfVariables="StartMoth;StartDay;NumOfHours;"
    229         SetVariable StartYear,pos={20,70},size={100,20}, proc=IN3BS_ListBoxMenuProc,title="\Zr120Year:", valueColor=(0,0,0)
     243        SetVariable StartYear,pos={20,70},size={100,20}, proc=IR3BS_SetVarProc,title="\Zr120Year:", valueColor=(0,0,0)
    230244        Setvariable StartYear,fStyle=0, variable=root:Packages:Irena:BlueSkySamplePlot:StartYear, disable=0, frame=1, help={"This is Igor internal name for graph currently selected for controls"}
    231245        SetVariable StartMoth,pos={140,70},size={100,20}, proc=IR3BS_SetVarProc,title="\Zr120Month:", valueColor=(0,0,0)
     
    247261        ListBox BlueSkyList,selWave=root:Packages:Irena:BlueSkySamplePlot:SelectionOfAvailableData
    248262        ListBox BlueSkyList,proc=IN3BS_ListBoxMenuProc, selRow= 0, editStyle= 0
    249         ListBox BlueSkyList widths={20,30,0}
     263        ListBox BlueSkyList widths={20,30,30}
    250264        ListBox BlueSkyList userColumnResize=1,help={"Fill here list of samples, their positions, thickness etc. "}
    251265        //ListBox BlueSkyList titleWave=root:Packages:SamplePlateSetup:LBTtitleWv, frame= 2
     
    260274//**************************************************************************************
    261275//**************************************************************************************
    262 
    263 
    264276//************************************************************************************************************
    265277Function IN3BS_ListBoxMenuProc(lba) : ListBoxControl
     
    390402//**********************************************************************************************************
    391403//**********************************************************************************************************
     404//************************************************************************************************************
    392405
    393406Function IR3BS_ButtonProc(ba) : ButtonControl
     
    400413                        // click code here
    401414                        if(stringmatch(ba.ctrlname,"Update"))
    402                                 IR3BS_ReadJSONScanData()
     415                                IR3BS_GetJSONScanData()
    403416                        endif
    404417
     
    411424//**********************************************************************************************************
    412425//**********************************************************************************************************
    413 
    414 
    415 FUnction IR3BS_ReadJSONScanData()
     426//************************************************************************************************************
     427
     428
     429FUnction IR3BS_GetJSONScanData()
    416430
    417431        setDataFolder root:Packages:Irena:BlueSkySamplePlot
     
    433447        NVAR NumOfHours=root:Packages:Irena:BlueSkySamplePlot:NumOfHours
    434448        NVAR StartYear=root:Packages:Irena:BlueSkySamplePlot:StartYear
     449
     450        NVAR AllDates=root:Packages:Irena:BlueSkySamplePlot:AllDates
     451
    435452        SVAR ListOfCatalogs=root:Packages:Irena:BlueSkySamplePlot:ListOfCatalogs
    436453        SVAR CatalogUsed=root:Packages:Irena:BlueSkySamplePlot:CatalogUsed
     454        NVAR NumberOfScansToImport=root:Packages:Irena:BlueSkySamplePlot:NumberOfScansToImport
    437455       
    438456
     
    445463        sprintf EndTimeStr, "%.15g" ,endTimeSec
    446464       
    447         TempAddress +=CatalogUsed+"?page[offset]=00&page[limit]=1000&filter[time_range][condition][since]="+StartTimeStr+"&filter[time_range][condition][until]="+EndTimeStr+"&sort=time"
     465        if(AllDates)
     466                TempAddress +=CatalogUsed+"?page[offset]=00&page[limit]="+num2str(NumberOfScansToImport)+"&sort=time"
     467        else
     468                TempAddress +=CatalogUsed+"?page[offset]=00&page[limit]="+num2str(NumberOfScansToImport)+"&filter[time_range][condition][since]="+StartTimeStr+"&filter[time_range][condition][until]="+EndTimeStr+"&sort=time"
     469        endif
    448470        //this fails on IP8:
    449471        //TempAddress +=StringFromList(0, ListOfCatalogs)+"?page[offset]=00&page[limit]=1000&filter[time_range][condition][since]="+num2str(startTimeSec, "%.15g")+"&filter[time_range][condition][until]="+num2str(endTimeSec, "%.15g")+"&sort=time"
     
    496518        For(i=0;i<numDataSets;i+=1)
    497519                tempAddress = "/data/"+num2str(i)+"/attributes/metadata/start/plan_name"
    498                 tempPlanName = JSON_GetString(jsonID, tempAddress)
    499                 if(!StringMatch(tempPlanName, "documentation_run"))
    500                         tempAddress = "/data/"+num2str(i)+"/id"
    501                         IDwave[j] = JSON_GetString(jsonID, tempAddress)
    502                         PlanNameWave[j]=tempPlanName
    503                         tempAddress = "/data/"+num2str(i)+"/attributes/metadata/start/time"
    504                         //print/D JSON_GetVariable(jsonID, tempAddress)
    505                         TimeWave[j] = JSON_GetVariable(jsonID, tempAddress) + date2secs(1970,01,01) + Date2secs(-1,-1,-1)
    506                         j+=1
    507                 endif
     520                tempPlanName = JSON_GetString(jsonID, tempAddress,ignoreErr=1)
     521                //if(!StringMatch(tempPlanName, "documentation_run"))
     522                tempAddress = "/data/"+num2str(i)+"/id"
     523                IDwave[j] = JSON_GetString(jsonID, tempAddress,ignoreErr=1)
     524                PlanNameWave[j]=tempPlanName
     525                tempAddress = "/data/"+num2str(i)+"/attributes/metadata/start/time"
     526                //print/D JSON_GetVariable(jsonID, tempAddress)
     527                TimeWave[j] = JSON_GetVariable(jsonID, tempAddress,ignoreErr=1) + date2secs(1970,01,01) + Date2secs(-1,-1,-1)
     528                j+=1
     529                //endif
    508530        endfor
    509531        JSONXOP_Release jsonId
     
    539561end
    540562
     563//************************************************************************************************************
     564//************************************************************************************************************
     565//************************************************************************************************************
    541566
    542567Function IR3BS_UdateListBoxScans()
     
    556581
    557582end
    558 
    559 Function JSONXOP_GetKeys_example1()
    560 
    561     variable jsonId
    562     string jsonStr
    563 
    564     jsonStr = "{"
    565     jsonStr += "\"Fridge\":{"
    566     jsonStr += "\"Milk\":\"half empty\","
    567     jsonStr += "\"Batteries\":2},"
    568     jsonStr += "\"Freezer\":{"
    569     jsonStr += "\"FishSticks\":15,"
    570     jsonStr += "\"Straciatella\":\"Big Box\"}"
    571     jsonStr += "}"
    572 
    573     JSONXOP_Parse jsonStr
    574     jsonId = V_value
    575     JSONXOP_GetKeys jsonId, "/Freezer", keyWave
    576     print "Keys at /Freezer:\r", keyWave
    577     JSONXOP_Release jsonId
    578 End
    579 
    580 
    581 
    582 Function ListBoxProc(lba) : ListBoxControl
    583         STRUCT WMListboxAction &lba
    584 
    585         Variable row = lba.row
    586         Variable col = lba.col
    587         WAVE/T/Z listWave = lba.listWave
    588         WAVE/Z selWave = lba.selWave
    589 
    590         switch( lba.eventCode )
     583//************************************************************************************************************
     584//************************************************************************************************************
     585//************************************************************************************************************
     586Function IR3S_CheckProc(cba) : CheckBoxControl
     587        STRUCT WMCheckboxAction &cba
     588
     589        switch( cba.eventCode )
     590                case 2: // mouse up
     591                        Variable checked = cba.checked
     592                        break
    591593                case -1: // control being killed
    592                         break
    593                 case 1: // mouse down
    594                         break
    595                 case 3: // double click
    596                         break
    597                 case 4: // cell selection
    598                 case 5: // cell selection plus shift key
    599                         break
    600                 case 6: // begin edit
    601                         break
    602                 case 7: // finish edit
    603                         break
    604                 case 13: // checkbox clicked (Igor 6.2 or later)
    605594                        break
    606595        endswitch
     
    609598End
    610599
     600
     601//************************************************************************************************************
     602//************************************************************************************************************
     603//************************************************************************************************************
     604Function IR3BS_PopMenuProc(pa) : PopupMenuControl
     605        STRUCT WMPopupAction &pa
     606
     607        switch( pa.eventCode )
     608                case 2: // mouse up
     609                        Variable popNum = pa.popNum
     610                        String popStr = pa.popStr
     611                        if(StringMatch(pa.ctrlName, "CatalogUsed" ))
     612                                SVAR ListOfCatalogs=root:Packages:Irena:BlueSkySamplePlot:ListOfCatalogs
     613                                SVAR CatalogUsed=root:Packages:Irena:BlueSkySamplePlot:CatalogUsed
     614                                CatalogUsed = popStr
     615                                IR3BS_GetJSONScanData()
     616                        endif
     617                       
     618                        if(StringMatch(pa.ctrlName, "ScanTypeToUse" ))
     619                                SVAR ListOfScanTypes=root:Packages:Irena:BlueSkySamplePlot:ListOfScanTypes
     620                                SVAR ScanTypeToUse=root:Packages:Irena:BlueSkySamplePlot:ScanTypeToUse
     621                                ScanTypeToUse = popStr
     622                                IR3BS_UdateListBoxScans()
     623                                //call update here...
     624                        endif
     625                       
     626                        break
     627                case -1: // control being killed
     628                        break
     629        endswitch
     630
     631        return 0
     632End
     633
     634
     635//************************************************************************************************************
     636//************************************************************************************************************
     637//************************************************************************************************************
     638//
     639//Function JSONXOP_GetKeys_example1()
     640//
     641//    variable jsonId
     642//    string jsonStr
     643//
     644//    jsonStr = "{"
     645//    jsonStr += "\"Fridge\":{"
     646//    jsonStr += "\"Milk\":\"half empty\","
     647//    jsonStr += "\"Batteries\":2},"
     648//    jsonStr += "\"Freezer\":{"
     649//    jsonStr += "\"FishSticks\":15,"
     650//    jsonStr += "\"Straciatella\":\"Big Box\"}"
     651//    jsonStr += "}"
     652//
     653//    JSONXOP_Parse jsonStr
     654//    jsonId = V_value
     655//    JSONXOP_GetKeys jsonId, "/Freezer", keyWave
     656//    print "Keys at /Freezer:\r", keyWave
     657//    JSONXOP_Release jsonId
     658//End
     659//
     660//
     661//************************************************************************************************************
     662//************************************************************************************************************
     663//************************************************************************************************************
     664
     665//Function IR3S_ListBoxProc(lba) : ListBoxControl
     666//      STRUCT WMListboxAction &lba
     667//
     668//      Variable row = lba.row
     669//      Variable col = lba.col
     670//      WAVE/T/Z listWave = lba.listWave
     671//      WAVE/Z selWave = lba.selWave
     672//
     673//      switch( lba.eventCode )
     674//              case -1: // control being killed
     675//                      break
     676//              case 1: // mouse down
     677//                      break
     678//              case 3: // double click
     679//                      break
     680//              case 4: // cell selection
     681//              case 5: // cell selection plus shift key
     682//                      break
     683//              case 6: // begin edit
     684//                      break
     685//              case 7: // finish edit
     686//                      break
     687//              case 13: // checkbox clicked (Igor 6.2 or later)
     688//                      break
     689//      endswitch
     690//
     691//      return 0
     692//End
     693//
    611694
    612695#endif
Note: See TracChangeset for help on using the changeset viewer.