void MapGridCtrl::AddMap(const wxString& mapname) { assert(wxThread::IsMain()); assert(!mapname.empty()); if (!LSL::usync().MapExists(STD_STRING(mapname))) { //FIXME: offer download button on image instead? wxLogWarning(_("Map %s doesn't exist!"), mapname.wc_str()); return; } // no duplicates (would crash because of dangling MapData pointers in m_grid) if (m_maps.find(mapname) == m_maps.end()) { MapData m; m.name = mapname.mb_str(); m_maps[mapname] = m; m_pending_mapinfos.push_back(&m_maps[mapname]); m_pending_mapimages.push_back(&m_maps[mapname]); UpdateAsyncFetches(); } if (IsInGrid(mapname)) { wxLogWarning(_("Map %s already in grid!"), mapname.wc_str()); return; } m_grid.push_back(&m_maps[mapname]); UpdateGridSize(); }
void SetAlign(long align) { m_align = align; UpdateGridSize(); }
void SetPuzzle(puz::Puzzle * puz) { m_puz = puz; UpdateGridSize(); m_imageMap.clear(); }