void add_serverpages(muHTTPd* pServer) { serverPage* page; //D(debug("add_serverpages()\n")); init_style_sheet( sheet ); page = new serverPage(wxT("/page1.html")); page->SetTitle( wxT("Page 1") ); *page += HTML::CENTER(HTML::HEADING1(wxT("Page 1"))); *page += wxT("<p>This page was generated!"); page->SetRedirectTo( wxT("index.html"), 10); #ifdef _DEBUG page->Dump( stdout ); #endif pServer->AddPage( *page ); delete page; ADD_PAGE( pServer, wxT("/index.html"), index_stub); ADD_PAGE( pServer, wxT("/page2.html"), page2_stub); ADD_PAGE( pServer, wxT("/page3.html"), page3_stub); ADD_PAGE( pServer, wxT("/submit.cgi"), submit_stub) ADD_PAGE( pServer, wxT("/table-test.html"), table_stub); add_all_images( pServer ); add_404_page( pServer ); add_javascript_page( pServer ); return; }
bool CSettingsDialog::LoadPages() { // Get the tree control. wxTreeCtrl* treeCtrl = XRCCTRL(*this, "ID_TREE", wxTreeCtrl); wxASSERT(treeCtrl); if (!treeCtrl) return false; wxTreeItemId root = treeCtrl->AddRoot(_T("")); // Create the instances of the page classes and fill the tree. t_page page; ADD_PAGE(_("Connection"), COptionsPageConnection, page_none); ADD_PAGE(_("Active mode"), COptionsPageConnectionActive, page_connection); ADD_PAGE(_("Passive mode"), COptionsPageConnectionPassive, page_connection); ADD_PAGE(_("FTP Proxy"), COptionsPageFtpProxy, page_connection); ADD_PAGE(_("Transfers"), COptionsPageTransfer, page_none); ADD_PAGE(_("File Types"), COptionsPageFiletype, page_transfer); ADD_PAGE(_("File exists action"), COptionsPageFileExists, page_transfer); ADD_PAGE(_("Interface"), COptionsPageInterface, page_none); ADD_PAGE(_("Themes"), COptionsPageThemes, page_interface); ADD_PAGE(_("Date/time format"), COptionsPageDateFormatting, page_interface); ADD_PAGE(_("Filesize format"), COptionsPageSizeFormatting, page_interface); ADD_PAGE(_("Language"), COptionsPageLanguage, page_none); ADD_PAGE(_("File editing"), COptionsPageEdit, page_none); #if FZ_MANUALUPDATECHECK && FZ_AUTOUPDATECHECK ADD_PAGE(_("Update Check"), COptionsPageUpdateCheck, page_none); #endif //FZ_MANUALUPDATECHECK && FZ_AUTOUPDATECHECK ADD_PAGE(_("Logging"), COptionsPageLogging, page_none); ADD_PAGE(_("Debug"), COptionsPageDebug, page_none); treeCtrl->SetQuickBestSize(false); treeCtrl->InvalidateBestSize(); treeCtrl->SetInitialSize(); Layout(); // Before we can initialize the pages, get the target panel in the settings // dialog. wxPanel* parentPanel = XRCCTRL(*this, "ID_PAGEPANEL", wxPanel); wxASSERT(parentPanel); if (!parentPanel) return false; // Keep track of maximum page size wxSize size; for (std::vector<t_page>::iterator iter = m_pages.begin(); iter != m_pages.end(); iter++) { if (!iter->page->CreatePage(m_pOptions, this, parentPanel, size)) return false; } if (!LoadSettings()) { wxMessageBox(_("Failed to load panels, invalid resource files?")); return false; } wxSize canvas; canvas.x = GetSize().x - parentPanel->GetSize().x; canvas.y = GetSize().y - parentPanel->GetSize().y; // Wrap pages nicely std::vector<wxWindow*> pages; for (unsigned int i = 0; i < m_pages.size(); i++) { pages.push_back(m_pages[i].page); } wxGetApp().GetWrapEngine()->WrapRecursive(pages, 1.33, "Settings", canvas); // Keep track of maximum page size size = wxSize(0, 0); for (std::vector<t_page>::iterator iter = m_pages.begin(); iter != m_pages.end(); iter++) size.IncTo(iter->page->GetSizer()->GetMinSize()); #ifdef __WXGTK__ size.x += 1; #endif parentPanel->SetInitialSize(size); // Adjust pages sizes according to maximum size for (std::vector<t_page>::iterator iter = m_pages.begin(); iter != m_pages.end(); iter++) { iter->page->GetSizer()->SetMinSize(size); iter->page->GetSizer()->Fit(iter->page); iter->page->GetSizer()->SetSizeHints(iter->page); } GetSizer()->Fit(this); GetSizer()->SetSizeHints(this); #ifdef __WXGTK__ // Pre-show dialog under GTK, else panels won't get initialized properly Show(); #endif for (std::vector<t_page>::iterator iter = m_pages.begin(); iter != m_pages.end(); iter++) iter->page->Hide(); // Select first page treeCtrl->SelectItem(m_pages[0].id); if (!m_activePanel) { m_activePanel = m_pages[0].page; m_activePanel->Show(); } return true; }