void MailReaderFrame::ViewTable(Table pTable) { ASSERT(0); #if 0 TableView* pTableView = new TableView; pTableView->m_list = new TreeControl; pTableView->m_table = pTable; pTableView->m_Canvas = pCanvas; int nfields = pTable.GetFieldCount(); for (int i = 0; i < nfields; i++) { pTableView->m_list->m_treeHeader->AddColumn(new TextString(pTable.GetField(i)->GetName())); } try { int count = pTable.GetCount(); for (int i = 0; i < count; i++) { Record pRecord = pTable[i]; TreeItem* item = new TreeItem(pTableView->m_list); item->m_itemData = new IntObject(i); for (int f = 0; f < nfields; f++) { Field pField = pRecord[f]; if (pField.GetDef()->GetType() == FTyp_VarString) { sysstring str; try { str = pField.GetStringA().ToStringW(); } catch(int) { str = OLESTR("(Error)"); } item->AppendColumnCell(new TextString(str)); // item->AppendColumnCell(new TextEdit(ConvertA2S((char*)pField->GetData(), pField->GetSize()))); } else if (pField.GetDef()->GetType() == FTyp_Long) { OLECHAR buf[16]; swprintf(buf, OLESTR("%d"), (long)pField.GetValue()); item->AppendColumnCell(new TextEdit(buf)); } else if (pField.GetDef()->GetType() == FTyp_ShortDate) { time_t tim = (long)pField.GetValue(); tm* t = localtime((time_t*)&tim); if (t) { char buf[256]; strftime(buf, 256, "%c", t); //swprintf(buf, OLESTR("%d"), pField->u.int32); item->AppendColumnCell(new TextString(ConvertA2S(buf, strlen(buf)))); } else item->AppendColumnCell(new TextString(OLESTR(""))); } } pTableView->m_list->get_Children()->AppendItem(item); } } catch(int) { char msg[256]; #if 0 sprintf(msg, "Error reading database %s", pTable->get_filename().c_str()); #endif MessageBox(NULL/*GetHwnd()*/, msg, "", MB_OK); } { ChildWindow* pWindow = new ChildWindow; pWindow->put_Width(Length(200, Length::UnitAbsolute)); pWindow->put_Height(Length(200, Length::UnitAbsolute)); ScrollViewer* pScroller = new ScrollViewer; { pScroller->put_Content(pTableView->m_list); } pTableView->put_VisualTree(pScroller); pWindow->put_Content(pTableView); pWindow->put_TitleText(OLESTR("www.bredband.no")); pCanvas->AddChild(pWindow); } #endif }
MailReaderFrame::MailReaderFrame() { { #if 0 { Table accounts; accounts.Open("C:\\accounts", "a+b"); accounts.Append(); accounts.AddField(OLESTR("ID"), FieldDef::FTyp_Long); accounts.AddField(OLESTR("Server"), FieldDef::FTyp_VarString); accounts.AddField(OLESTR("Username"), FieldDef::FTyp_VarString); accounts.AddField(OLESTR("Password"), FieldDef::FTyp_VarString); Record* pRecord = accounts.NewRecord(); pRecord->m_fields[0]->u.int32 = 1; pRecord->m_fields[1]->SetData("pop.bredband.no"); pRecord->m_fields[2]->SetData("sigler"); pRecord->m_fields[3]->SetData("04bi1u6"); pRecord->Write(&accounts); accounts.Close(); } #endif #if 0 { Table accounts; accounts.Open("C:\\news_accounts", "a+b"); accounts.Append(); accounts.AddField(OLESTR("ID"), FieldDef::FTyp_Long); accounts.AddField(OLESTR("Server"), FieldDef::FTyp_VarString); // accounts.AddField(OLESTR("Username"), FieldDef::FTyp_VarString); // accounts.AddField(OLESTR("Password"), FieldDef::FTyp_VarString); Record* pRecord = accounts.NewRecord(); pRecord->m_fields[0]->u.int32 = 1; pRecord->m_fields[1]->SetData("freetext.usenetserver.com"); // pRecord->m_fields[2]->SetData("sigler"); // pRecord->m_fields[3]->SetData("04bi1u6"); pRecord->Write(&accounts); accounts.Close(); } #endif #if 0 { Table* pTable = new Table; pTable->AddField(OLESTR("ID"), FieldDef::FTyp_Long); pTable->AddField(OLESTR("Subject"), FieldDef::FTyp_VarString); pTable->AddField(OLESTR("From"), FieldDef::FTyp_VarString); pTable->AddField(OLESTR("Headers"), FieldDef::FTyp_VarString); pTable->AddField(OLESTR("Content"), FieldDef::FTyp_VarString); pTable->AddField(OLESTR("Sent"), FieldDef::FTyp_ShortDate); pTable->AddField(OLESTR("Received"), FieldDef::FTyp_ShortDate); pTable->AddField(OLESTR("Account"), FieldDef::FTyp_Long); pTable->Open("C:\\mail", "a+b"); pTable->Append(); Table accounts; accounts.Open("C:\\accounts", "rb"); int count = accounts.GetCount(); for (int i = 0; i < count; i++) { Record* pRecord = accounts.GetRecord(i); Field* Server = pRecord->m_fields[1]; Field* Username = pRecord->m_fields[2]; Field* Password = pRecord->m_fields[3]; MailAccount account; account.m_ID = pRecord->m_fields[0]->u.int32; account.m_server = std::string((char*)Server->GetData(), Server->GetSize()); account.m_username = std::string((char*)Username->GetData(), Username->GetSize()); account.m_password = std::string((char*)Password->GetData(), Password->GetSize()); account.GetNewMail(pTable); } pTable->Close(); } #endif #if 0 { Table accounts; accounts.Open("C:\\news_accounts", "rb"); /* int count = accounts.GetCount(); for (int i = 0; i < count; i++) { */ Record* pRecord = accounts.GetRecord(0); Field* Server = pRecord->m_fields[1]; // Field* Username = pRecord->m_fields[2]; // Field* Password = pRecord->m_fields[3]; NewsAccount account; // account.m_ID = pRecord->m_fields[0]->u.int32; account.m_server = std::string((char*)Server->GetData(), Server->GetSize()); // account.m_username = std::string((char*)Username->GetData(), Username->GetSize()); // account.m_password = std::string((char*)Password->GetData(), Password->GetSize()); { account.m_list = new Table; account.m_list->Open("C:\\newsgroups", "a+b"); account.m_list->Append(); account.m_list->AddField(OLESTR("ID"), FieldDef::FTyp_Long); account.m_list->AddField(OLESTR("Group"), FieldDef::FTyp_VarString); } account.Connect(); // account.GetList(); account.Quit(); { account.m_list->Close(); } // } } #endif } { CView* view = new CView(0, L"Text"); //m_uiManager->FindMenu(_Module.GetResourceInstance(), IDR_XMLLAYOUTVIEW, &view->m_menu); m_xmlDocumentWorkspace.m_views.Add(view); } { CDocumentSheet* pSheet = new CDocumentSheet; pSheet->m_views.Add(m_xmlDocumentWorkspace.m_views[0]); m_xmlDocumentWorkspace.m_views[0]->m_ownerSheet = pSheet; m_xmlDocumentWorkspace.m_documentsSheets.Add(pSheet); } pCanvas = new ChildWindowContainer; #if 0 { ITable* m_table = OpenTable("C:\\accounts", "rb"); ViewTable(m_table); } { ITable* m_table = OpenTable("C:\\news_accounts", "rb"); ViewTable(m_table); } #endif #if 1 Database db("C:\\db", "rb"); { Table m_table = db.GetTable(OLESTR("classes")); ViewTable(m_table); } { Table m_table = db.GetTable(OLESTR("classbases")); ViewTable(m_table); } { Table table; table = db.Execute("SELECT ID, Derived, Base, Name FROM classes, classbases WHERE Name=\"AsyncIAdviseSink2\" AND ID=Derived"); // ITable* table = Execute("DELETE FROM classes WHERE Name=\"test\""); if (table != NULL) { ViewTable(table); } } #endif #if 0 { Table* m_table = new Table; m_table->Open("C:\\mail", "rb"); ViewTable(m_table); } { Table* m_table = new Table; m_table->Open("C:\\newsgroups", "rb"); ViewTable(m_table); } #endif #if 0 { m_text = new TextEdit; m_text->set_textDocument(new TextDocument()); ChildWindow* pWindow = new ChildWindow; pWindow->set_Width(new Length(200, Length::UnitAbsolute)); pWindow->set_Height(new Length(200, Length::UnitAbsolute)); ScrollViewer* pScroller = new ScrollViewer; { pScroller->set_Content(m_text); } pWindow->set_Content(pScroller); pWindow->set_TitleText(OLESTR("www.bredband.no")); pCanvas->AddChild(pWindow); } #endif set_Width(Length(1300)); set_Height(Length(1000)); set_Content(pCanvas); }