Advertisement
Guest User

Untitled

a guest
May 3rd, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.49 KB | None | 0 0
  1. #include <map>
  2. #include <iostream>
  3. #include <pqxx/connection>
  4. #include <pqxx/transaction>
  5. #include <pqxx/result>
  6. #include <Wt/WMenu>
  7. #include <Wt/WStackedWidget>
  8. #include <Wt/WText>
  9. #include "navbar.h"
  10.  
  11. using namespace pqxx;
  12.  
  13. void navbar::get_elements(const char* pg_con)
  14. {
  15.   result R;
  16.   connection *conn = new connection(pg_con);
  17.   work T(*conn);
  18.   R = T.exec("SELECT name,link,id,parent_id FROM navbar");
  19.   T.commit();
  20.   int arr;
  21.   Menu_data[][4] =0;
  22.   for(result::const_iterator query = R.begin(); query != R.end(); ++query){  
  23.       Menu_data[arr][1]= query["id"].as<std::string>();
  24.       Menu_data[arr][2]= query["name"].as<std::string>();
  25.       Menu_data[arr][3]= query["link"].as<std::string>();
  26.       Menu_data[arr][4]= query["parent_id"].as<std::string>();
  27.       arr++;
  28.   }
  29.   conn->disconnect();
  30.   delete conn;
  31.   return true;
  32. }
  33.  
  34. bool navbar::create_navbar(Wt::WStackedWidget *contents,const char* m_type)
  35. {
  36.   if (get_elements("host=localhost user=tuxist password=test dbname=tuxist")!=true){
  37.     return false;
  38.   }
  39.  
  40.   Wt::WMenu *menu;
  41.   if(m_type=="Vertical"){
  42.     menu = new Wt::WMenu(contents, Wt::Vertical);
  43.   }else{
  44.     menu = new Wt::WMenu(contents, Wt::Horizontal);
  45.   }
  46.     for(int pos = 0; pos <= sizeof(Menu_data)/sizeof(int); pos++){
  47.       if(Menu_data[pos][4]=="0"){
  48.         menu->addItem(Menu_data[pos][2],new Wt::WText(("<a href=\"",Menu_data[pos][3],"\" >",Menu_data[pos][2],"</a>")));
  49.       }
  50.     }
  51.   contents ->addWidget(menu);
  52.   return true;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement