Changeset 440


Ignore:
Timestamp:
03/09/14 17:16:50 (6 years ago)
Author:
jls17
Message:
  • added filtering support to the image list
Location:
branches/work_304
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/work_304/ARInside.cpp

    r435 r440  
    915915        // Image 
    916916        indexSummary.imageCount = docMain->ImageList("*", imgObjCount); 
    917         for (unsigned int i = 0; i < strValue.size(); ++i) 
    918         {                
    919                 docMain->ImageList(std::string(1, strValue.at(i)), imgObjCount); 
    920         }        
    921917 
    922918        // Image Details 
  • branches/work_304/CMakeLists.txt

    r437 r440  
    291291        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/menuList.js ${CMAKE_BINARY_DIR}/img 
    292292        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/containerList.js ${CMAKE_BINARY_DIR}/img 
     293        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/imageList.js ${CMAKE_BINARY_DIR}/img 
    293294        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/style.css ${CMAKE_BINARY_DIR}/img 
    294295        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/jquery/jquery-ui-custom.css ${CMAKE_BINARY_DIR}/img 
  • branches/work_304/doc/DocMain.cpp

    r439 r440  
    14581458        try 
    14591459        { 
    1460                 int rootLevel = file->GetRootLevel(); 
     1460                rootLevel = file->GetRootLevel(); 
    14611461                CImageTable imgTable(*this->pInside); 
    14621462 
     
    14651465                { 
    14661466                        CARImage img(idx); 
     1467                        bool bInsert = false; 
    14671468 
    14681469#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
     
    14711472#endif 
    14721473 
    1473                         objCount++; 
    1474  
    1475                         bool bInsert = false; 
    1476                          
    14771474                        if (searchChar == "*") // All objects 
    14781475                        { 
     
    14971494 
    14981495                        if (bInsert) 
    1499                                 imgTable.AddRow(idx, rootLevel); 
     1496                        { 
     1497                                objCount++; 
     1498                        } 
    15001499                } 
    15011500 
     
    15051504 
    15061505                        stringstream strmTmp; 
    1507                         strmTmp << CWebUtil::LinkToImageIndex(imgTable.NumRows(), rootLevel); 
     1506                        strmTmp << "<span id='imageListFilterResultCount'></span>" << CWebUtil::LinkToImageIndex(objCount, rootLevel); 
     1507 
     1508                        if (searchChar == "*") 
     1509                        { 
     1510                                webPage.GetReferenceManager() 
     1511                                        .AddScriptReference("img/object_list.js") 
     1512                                        .AddScriptReference("img/imageList.js") 
     1513                                        .AddScriptReference("img/jquery.timers.js") 
     1514                                        .AddScriptReference("img/jquery.address.min.js"); 
     1515 
     1516                                ImageListJson(strmTmp); 
     1517                                strmTmp << CreateImageFilterControl() << endl; 
     1518                        } 
     1519                        if (objCount > 0) 
     1520                        { 
     1521                                imgTable.RemoveEmptyMessageRow(); 
     1522                        } 
     1523 
    15081524                        strmTmp << ShortMenu(searchChar, file, objCountPerLetter); 
    15091525                         
     
    15201536#endif // AR_CURRENT_API_VERSION >= AR_API_VERSION_750 
    15211537        return objCount; 
     1538} 
     1539 
     1540void CDocMain::ImageListJson(std::ostream &strm) 
     1541{ 
     1542        Document document; 
     1543        Document::AllocatorType &alloc = document.GetAllocator(); 
     1544        document.SetArray(); 
     1545 
     1546        unsigned int imageCount = this->pInside->imageList.GetCount(); 
     1547        for (unsigned int imageIndex = 0; imageIndex < imageCount; ++imageIndex) 
     1548        { 
     1549                CARImage image(imageIndex); 
     1550                CPageParams imageDetailPage(PAGE_DETAILS, &image); 
     1551 
     1552#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
     1553                if (pInside->appConfig.bOverlaySupport && !IsVisibleObject(image)) 
     1554                        continue; 
     1555#endif 
     1556 
     1557                // create a new json row and make it an array 
     1558                Value imageRow; 
     1559                imageRow.SetArray(); 
     1560 
     1561                // now build the needed temporary variables 
     1562                string strName = image.GetName(); 
     1563                string strModifiedDate = CUtil::DateTimeToString(image.GetTimestamp()); 
     1564                string strLink = CWebUtil::GetRelativeURL(rootLevel, imageDetailPage); 
     1565 
     1566                Value valName(strName.c_str(), static_cast<SizeType>(strName.size()), alloc); 
     1567                Value valModifiedDate(strModifiedDate.c_str(), static_cast<SizeType>(strModifiedDate.size()), alloc); 
     1568                Value valLink(strLink.c_str(), static_cast<SizeType>(strLink.size()), alloc); 
     1569 
     1570                // add everything to the row 
     1571                imageRow.PushBack(valName, alloc); 
     1572                imageRow.PushBack(image.GetType(), alloc); 
     1573                imageRow.PushBack(valModifiedDate, alloc); 
     1574                imageRow.PushBack(image.GetLastChanged(), alloc); 
     1575                imageRow.PushBack(valLink, alloc); 
     1576 
     1577                // add the row to the document 
     1578                document.PushBack(imageRow, alloc); 
     1579        } 
     1580 
     1581        GenericWriteStream output(strm); 
     1582        Writer<GenericWriteStream> writer(output); 
     1583 
     1584        strm << endl << "<script type=\"text/javascript\">" << endl; 
     1585        strm << "var imageList = "; document.Accept(writer); strm << ";"; 
     1586        strm << "var rootLevel = " << rootLevel << ";"; 
     1587        strm << endl; 
     1588        strm << "</script>" << endl;     
    15221589} 
    15231590 
     
    20922159} 
    20932160 
     2161string CDocMain::CreateImageFilterControl() 
     2162{ 
     2163        stringstream content; 
     2164        content << "<div>" 
     2165                << CreateStandardFilterControl("imageFilter") 
     2166        << "</div>"; 
     2167        return content.str(); 
     2168} 
     2169 
    20942170void CDocMain::SchemaListJson(std::ostream &strm) 
    20952171{ 
  • branches/work_304/doc/DocMain.h

    r435 r440  
    8080        static string CreateMenuFilterControl(); 
    8181        static string CreateContainerFilterControl(); 
     82        static string CreateImageFilterControl(); 
    8283 
    8384        void SchemaListJson(std::ostream &strm); 
     
    8788        void MenuListJson(std::ostream &strm); 
    8889        void ContainerListJson(std::ostream &strm, int nType); 
     90        void ImageListJson(std::ostream &strm); 
    8991}; 
  • branches/work_304/res/arshelper.js

    r426 r440  
    118118        case 5: alt = "filter.gif"; break; 
    119119        case 6: alt = "active_link.gif"; break; 
    120                 case 8: alt = "menu.gif"; break; 
     120        case 8: alt = "menu.gif"; break; 
    121121        case 9: alt = "escalation.gif"; break; 
    122122        case 12: switch (subtype) { 
     
    127127                case 5: alt = "webservice.gif"; break; 
    128128            }; break; 
     129        case 17: alt = "image.gif"; break; 
    129130        default: return ""; 
    130131    }; 
Note: See TracChangeset for help on using the changeset viewer.