BrushPalettePanel::BrushPalettePanel(wxWindow* parent, const TilesetContainer& tilesets, TilesetCategoryType category, wxWindowID id) : PalettePanel(parent, id), palette_type(category), choicebook(nullptr), size_panel(nullptr) { wxSizer* topsizer = newd wxBoxSizer(wxVERTICAL); // Create the tileset panel wxSizer* ts_sizer = newd wxStaticBoxSizer(wxVERTICAL, this, wxT("Tileset")); wxChoicebook* tmp_choicebook = newd wxChoicebook(this, wxID_ANY, wxDefaultPosition, wxSize(180,250)); ts_sizer->Add(tmp_choicebook, 1, wxEXPAND); topsizer->Add(ts_sizer, 1, wxEXPAND); for(TilesetContainer::const_iterator iter = tilesets.begin(); iter != tilesets.end(); ++iter) { const TilesetCategory* tcg = iter->second->getCategory(category); if(tcg && tcg->size() > 0) { BrushPanel* panel = newd BrushPanel(tmp_choicebook); panel->AssignTileset(tcg); tmp_choicebook->AddPage(panel, wxstr(iter->second->name)); } } SetSizerAndFit(topsizer); choicebook = tmp_choicebook; }
PaletteWindow::PaletteWindow(wxWindow* parent, const TilesetContainer& tilesets) : wxPanel(parent, wxID_ANY, wxDefaultPosition, wxSize(230, 250)), choicebook(nullptr), terrain_palette(nullptr), doodad_palette(nullptr), item_palette(nullptr), creature_palette(nullptr), house_palette(nullptr), waypoint_palette(nullptr), raw_palette(nullptr) { SetMinSize(wxSize(225, 250)); // Create choicebook choicebook = newd wxChoicebook(this, PALETTE_CHOICEBOOK, wxDefaultPosition, wxSize(230, 250)); terrain_palette = static_cast<BrushPalettePanel*>(CreateTerrainPalette(choicebook, tilesets)); choicebook->AddPage(terrain_palette, terrain_palette->GetName()); doodad_palette = static_cast<BrushPalettePanel*>(CreateDoodadPalette(choicebook, tilesets)); choicebook->AddPage(doodad_palette, doodad_palette->GetName()); item_palette = static_cast<BrushPalettePanel*>(CreateItemPalette(choicebook, tilesets)); choicebook->AddPage(item_palette, item_palette->GetName()); house_palette = static_cast<HousePalettePanel*>(CreateHousePalette(choicebook, tilesets)); choicebook->AddPage(house_palette, house_palette->GetName()); waypoint_palette = static_cast<WaypointPalettePanel*>(CreateWaypointPalette(choicebook, tilesets)); choicebook->AddPage(waypoint_palette, waypoint_palette->GetName()); creature_palette = static_cast<CreaturePalettePanel*>(CreateCreaturePalette(choicebook, tilesets)); choicebook->AddPage(creature_palette, creature_palette->GetName()); raw_palette = static_cast<BrushPalettePanel*>(CreateRAWPalette(choicebook, tilesets)); choicebook->AddPage(raw_palette, raw_palette->GetName()); // Setup sizers wxSizer* sizer = newd wxBoxSizer(wxVERTICAL); choicebook->SetMinSize(wxSize(225, 300)); sizer->Add(choicebook, 1, wxEXPAND); SetSizer(sizer); // Load first page LoadCurrentContents(); Fit(); }