void VcardForm::onWmUserUpdate() { //std::string xml=*(vcard->toXML()); //const std::string &xml2=XMLStringPrep(xml); //const std::wstring xml3=utf8::utf8_wchar(xml2); //SendMessage(hwndHTML, WM_SETTEXT, 0, (LPARAM)""); //img.reset(); imgFile=appRootPath;// + L"userdata\\avatars\\" + L"$$$_tmp.jpg"; if (savePhoto(imgFile.c_str())){ //img=ImageRef(new Image(imgFile.c_str())); //Contact::ref contact = Contact::ref(new Contact(this->jid,"","","","")); //contact->img_avatar=img; } startHtml(); addImg(L"\\vcard"); beginForm("vcard-photo", "photo"); if (img) if (img->getHBmp()) { button("save",std::string("Save")); if (editForm) button("clear",std::string("Clear")); } if (editForm) button("load",std::string("Load")); addText("<BR>"); endForm(); //contact->img_avatar=img; beginForm("vcard-fields", "publish"); addHtmlField("FN", NULL, "Full Name", TXT); addHtmlField("NICKNAME", NULL, "Nickname", TXT); addHtmlField("BDAY", NULL, "Birthday", TXT); addHtmlField("ADR", "STREET", "Street", TXT); addHtmlField("ADR", "EXTADR", "Street2", TXT); addHtmlField("ADR", "LOCALITY", "City", TXT); addHtmlField("ADR", "REGION", "State", TXT); addHtmlField("ADR", "PCODE", "Post code", TXT); addHtmlField("ADR", "CTRY", "Country", TXT); addHtmlField("TEL", "HOME", "Home Phone Number", TXT); addHtmlField("TEL", "NUMBER", "Phone Number", TXT); addHtmlField("EMAIL", "USERID", "E-Mail", URL); addHtmlField("TITLE", NULL, "Position", TXT); addHtmlField("ROLE", NULL, "Role", TXT); addHtmlField("ORG", "ORGNAME", "Organization", TXT); addHtmlField("ORG", "ORGUNIT", "Dept", TXT); addHtmlField("URL", NULL, "Url", URL); addHtmlField("DESC", NULL, "About", MULTILINE); if (editForm) button(std::string("Publish")); //button("reload",std::string("Reload")); endForm(); endHtml(); }
void FDPPanel::PrepareInfluence(wxBoxSizer *topsizer) { wxStaticBoxSizer *sizer = new wxStaticBoxSizer( wxVERTICAL , this, _T("Muscle model: ")); PrepareFDPRegions(sizer); PrepareAffects(sizer); wxBoxSizer *buttonsizer = new wxBoxSizer( wxHORIZONTAL ); // all this fuss is for getting list of influence types std::vector<std::string> funcList = InfluenceCalculatorMaker::getMakerList(); std::vector<std::string>::const_iterator it = funcList.begin(); wxString *fdp_func = new wxString[funcList.size()]; int i = 0; wxString gridParams; while (it != funcList.end()) { fdp_func[i] = wxString(it->c_str(), wxConvLibc); gridParams += fdp_func[i]; gridParams += _T(","); ++it;++i; } wxChoice* fdpsub = new wxChoice( this, -1, wxDefaultPosition, wxDefaultSize, (int)funcList.size(), fdp_func, wxLB_ALWAYS_SB ); // we got the list in a wxChoice now but won't show it, we just need it for the size! fdpsub->Show(false); buttonsizer->Add(new wxStaticText( this, -1, _T("Influences:")), 0, wxALL , 10); // ADD/REMOVE Button pair with bitmap: Just change Button IDs wxButton* addBtn = 0; wxBitmap addImg(_T("res/plus.png"), wxBITMAP_TYPE_PNG); if(addImg.Ok()) addBtn = new wxBitmapButton(this, ID_ADD_INFLUENCE, addImg); else addBtn = new wxButton(this, ID_ADD_INFLUENCE, _T("Add")); addBtn->SetToolTip(_T("Add influence")); buttonsizer->Add(addBtn, 0, wxLEFT | wxTOP, 5); wxButton* remBtn = 0; wxBitmap remImg(_T("res/Delete.png"), wxBITMAP_TYPE_PNG); if(remImg.Ok()) remBtn = new wxBitmapButton(this, ID_REMOVE_INFLUENCE, remImg); else remBtn = new wxButton(this, ID_REMOVE_INFLUENCE, _T("Remove")); remBtn->SetToolTip(_T("Remove influence")); buttonsizer->Add(remBtn, 0, wxLEFT | wxTOP, 5); // End of ADD/REMOVE sizer->Add(buttonsizer, 0, wxALL, 5); wxGrid* pGrid = new wxGrid(this, ID_INFLUENCE_GRID); pGrid->CreateGrid(5, 3); pGrid->SetColLabelSize(20); pGrid->SetRowLabelSize(20); pGrid->SetColLabelValue(0, _T("Function")); pGrid->SetColLabelValue(1, _T("Weight")); pGrid->SetColLabelValue(2, _T("FAP")); wxSize szChoice = fdpsub->GetVirtualSize(); pGrid->SetColSize(0, szChoice.GetWidth()); pGrid->SetColSize(1, 60); pGrid->SetColSize(2, 40); pGrid->SetColFormatNumber(2); pGrid->SetColFormatFloat(1, -1, 4); wxGridCellChoiceEditor* gridChoices = new wxGridCellChoiceEditor; gridChoices->SetParameters(gridParams); sizer->Add(pGrid, 0, wxALL, 10); topsizer->Add(sizer, 0, wxALL| wxGROW, 10); // always use the Clone method on gridChoices in Mediator::getInstance()->regDefGrid(pGrid, gridChoices); }