void MoviesMainForm::prepareTheatreInfo(uint_t theatreRow) { assert(NULL != theatres); theatreRow *= 2; assert(theatreRow < theatres->getItemsCount()); const char_t* theatreName = theatres->getItemText(theatreRow, theatreNameIndex); const char_t* theatreAddress = theatres->getItemText(theatreRow, theatreAddressIndex); DefinitionModel* model = new_nt DefinitionModel(); if (NULL == model) { application().alert(notEnoughMemoryAlert); return; } Definition::Elements_t& elems = model->elements; TextElement* text; elems.push_back(text=new TextElement(theatreName)); text->setStyle(StyleGetStaticStyle(styleNamePageTitle)); if (0 != tstrlen(theatreAddress)) { elems.push_back(new LineBreakElement()); elems.push_back(text=new TextElement(theatreAddress)); } elems.push_back(new LineBreakElement()); const uint_t moviesRow = theatreRow + 1; const uint_t moviesCount = theatres->getItemElementsCount(moviesRow)/2; for (uint_t i = 0; i<moviesCount; ++i) { const char_t* movieTitle = theatres->getItemText(moviesRow, i*2); const char_t* movieHours = theatres->getItemText(moviesRow, i*2+1); BulletElement* bull; elems.push_back(bull = new BulletElement()); bull->setStyle(StyleGetStaticStyle(styleNameHeader)); elems.push_back(text=new TextElement(movieTitle)); text->setParent(bull); text->setStyle(StyleGetStaticStyle(styleNameHeader)); text->setHyperlink(buildUrl(urlSchemaMovie, movieTitle), hyperlinkUrl); elems.push_back(new LineBreakElement()); elems.push_back(text=new TextElement(movieHours)); text->setParent(bull); } infoRenderer_.setModel(model, Definition::ownModel); }
void MoviesMainForm::prepareMovieInfo(uint_t movie) { assert(movie < movies.size()); const Movie& mv=*(movies[movie]); DefinitionModel* model = new_nt DefinitionModel(); if (NULL == model) { application().alert(notEnoughMemoryAlert); return; } Definition::Elements_t& elems = model->elements; TextElement* text; elems.push_back(text=new TextElement(mv.title)); text->setStyle(StyleGetStaticStyle(styleNamePageTitle)); elems.push_back(new LineBreakElement()); Movie::TheatresByMovie_t::const_iterator end=mv.theatres.end(); for (Movie::TheatresByMovie_t::const_iterator it=mv.theatres.begin(); it!=end; ++it) { const TheatreByMovie& th=*(*it); BulletElement* bull; elems.push_back(bull=new BulletElement()); bull->setStyle(StyleGetStaticStyle(styleNameHeader)); elems.push_back(text=new TextElement(th.name)); text->setParent(bull); text->setStyle(StyleGetStaticStyle(styleNameHeader)); text->setHyperlink(buildUrl(urlSchemaTheatre, th.name.c_str()), hyperlinkUrl); elems.push_back(new LineBreakElement()); elems.push_back(text=new TextElement(th.hours)); text->setParent(bull); } infoRenderer_.setModel(model, Definition::ownModel); }