Changeset 653


Ignore:
Timestamp:
09/21/14 05:01:44 (3 years ago)
Author:
jls17
Message:
  • added recursive function to show complete structure for character-menus
Location:
branches/work_320
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/work_320/doc/menus/DocCharacterMenu.cpp

    r652 r653  
    2424 
    2525CDocCharacterMenu::CDocCharacterMenu(CTable &table, CARCharMenu &menuObj) 
    26 : outputTable(table), menu(menuObj), itemTable(new OUTPUT::CTable("menuItems", "TblObjectList")) 
     26: outputTable(table), menu(menuObj), itemTable(new OUTPUT::CTable("menuItems", "TblObjectList")), itemStrm(new stringstream()), valueStrm(new stringstream()) 
    2727{ 
    2828        itemTable->AddColumn(20, "Type");        
     
    3838                assert(menuDef.menuType == AR_CHAR_MENU_LIST); 
    3939 
     40                *itemStrm  << "<div id='menuItems'>"; 
     41                *valueStrm << "<div id='menuItems'>"; 
    4042                CreateItemList(menuDef.u.menuList); 
     43                *valueStrm << "</div>"; 
     44                *itemStrm  << "</div>"; 
     45 
     46                CreateItemTable(); 
    4147                 
    4248                CTableRow row; 
     
    5157} 
    5258 
     59void CDocCharacterMenu::CreateItemTable() 
     60{ 
     61        CTableRow row("cssStdRow"); 
     62        row.AddCell("&nbsp;"); 
     63        row.AddCell(itemStrm->str()); 
     64        row.AddCell(valueStrm->str()); 
     65        itemTable->AddRow(row); 
     66} 
     67 
    5368void CDocCharacterMenu::CreateItemList(const ARCharMenuList &menu) 
    5469{ 
     70        *itemStrm << "<ul>"; 
     71 
    5572        for(unsigned int i=0; i< menu.numItems; i++) 
    5673        { 
    57                 CTableRow row("cssStdRow");              
    58                 CTableCell cellItemType(CAREnum::MenuItemType(menu.charMenuList[i].menuType), "");                               
    59                 CTableCell cellItemLabel(menu.charMenuList[i].menuLabel, ""); 
     74                *itemStrm << "<li>" << menu.charMenuList[i].menuLabel << "</li>"; 
    6075 
    61                 string mValue = ""; 
    62                 if(menu.charMenuList[i].menuType == AR_MENU_TYPE_VALUE) 
    63                         mValue = menu.charMenuList[i]   .u.menuValue; 
    64                 CTableCell cellItemValue(mValue, ""); 
     76                switch (menu.charMenuList[i].menuType) 
     77                { 
     78                case AR_MENU_TYPE_VALUE: 
     79                        { 
     80                                *valueStrm << "<li>" << menu.charMenuList[i].u.menuValue << "</li>"; 
     81                        } 
     82                        break; 
     83                case AR_MENU_TYPE_MENU: 
     84                        { 
     85                                *valueStrm << "<li>" << "&nbsp;" << "</li>"; 
     86                                ARCharMenuStruct *subMenu = menu.charMenuList[i].u.childMenu; 
     87                                if (subMenu != NULL && subMenu->menuType == AR_CHAR_MENU_LIST) 
     88                                { 
     89                                        CreateItemList(subMenu->u.menuList); 
     90                                } 
     91                                else 
     92                                { 
     93                                        assert(false); 
     94                                } 
     95                        } 
     96                        break; 
     97                } 
     98        } 
    6599 
    66                 row.AddCell(cellItemType); 
    67                 row.AddCell(cellItemLabel); 
    68                 row.AddCell(cellItemValue); 
    69                 itemTable->AddRow(row);          
    70         } 
     100        *itemStrm << "</ul>";    
    71101} 
  • branches/work_320/doc/menus/DocCharacterMenu.h

    r652 r653  
    3030private: 
    3131        void CreateItemList(const ARCharMenuList &menu); 
     32        void CreateItemTable(); 
    3233 
    3334private: 
    3435        OUTPUT::CTable &outputTable; 
    3536        auto_ptr<OUTPUT::CTable> itemTable; 
     37        auto_ptr<std::stringstream> itemStrm; 
     38        auto_ptr<std::stringstream> valueStrm; 
    3639        CARCharMenu &menu; 
    3740}; 
  • branches/work_320/res/style.css

    r621 r653  
    453453.ptop { padding-top: 3px; } 
    454454 
     455#menuItems li { padding: 0px; list-style-type: none; } 
     456#menuItems ul { padding: 0px; margin-top: 0px; margin-bottom: 0px; }  
Note: See TracChangeset for help on using the changeset viewer.