41
41
#include "tileset-window.h"
42
42
#include "tileset-info-dialog.h"
43
43
#include "tile-preview-dialog.h"
45
#include "../gui/gtksdl.h"
46
#include "../gui/image-helpers.h"
47
#include "../gui/input-helpers.h"
48
#include "../gui/error-utils.h"
51
#include "../Configuration.h"
52
#include "../tilesetlist.h"
55
#include "../overviewmap.h"
57
#include "../ucompose.hpp"
44
#include "tileset-selector-editor-dialog.h"
47
#include "image-helpers.h"
48
#include "input-helpers.h"
49
#include "error-utils.h"
52
#include "Configuration.h"
53
#include "tilesetlist.h"
56
#include "overviewmap.h"
57
#include "GraphicsCache.h"
58
#include "GraphicsLoader.h"
60
#include "ucompose.hpp"
59
62
#include "glade-helpers.h"
123
126
xml->get_widget("edit_tileset_info_menuitem", edit_tileset_info_menuitem);
124
127
edit_tileset_info_menuitem->signal_activate().connect
125
128
(sigc::mem_fun(this, &TileSetWindow::on_edit_tileset_info_activated));
129
xml->get_widget("army_unit_selector_menuitem", army_unit_selector_menuitem);
130
army_unit_selector_menuitem->signal_activate().connect
131
(sigc::mem_fun(this, &TileSetWindow::on_army_unit_selector_activated));
126
132
xml->get_widget("preview_tile_menuitem", preview_tile_menuitem);
127
133
preview_tile_menuitem->signal_activate().connect
128
134
(sigc::mem_fun(this, &TileSetWindow::on_preview_tile_activated));
212
218
save_tileset_as_menuitem->set_sensitive(false);
213
219
save_tileset_menuitem->set_sensitive(false);
220
army_unit_selector_menuitem->set_sensitive(false);
217
224
save_tileset_as_menuitem->set_sensitive(true);
218
225
save_tileset_menuitem->set_sensitive(true);
226
army_unit_selector_menuitem->set_sensitive(true);
309
317
d_tileset->setTileSize(height);
310
t->instantiatePixmaps(t->getSubDir(), height);
318
GraphicsLoader::instantiatePixmaps(t, d_tileset->getTileSize());
312
320
inhibit_image_change = true;
313
321
image_filechooser_button->set_filename(n);
509
517
//hackus horribilium
510
518
std::string back = "../../../../../../../../../../../../../../../../";
511
519
d_tileset->setSubDir(back + dir);
512
d_tileset->instantiatePixmaps();
520
GraphicsLoader::instantiatePixmaps(d_tileset);
513
521
for (Tileset::iterator i = d_tileset->begin(); i != d_tileset->end(); ++i)
515
523
Gtk::TreeIter l = tiles_list->append();
597
605
dialog->set_transient_for(*window.get());
599
607
dialog->set_version(PACKAGE_VERSION);
600
SDL_Surface *logo = File::getMiscPicture("tileset_icon.png");
608
SDL_Surface *logo = GraphicsLoader::getMiscPicture("tileset_icon.png");
601
609
dialog->set_logo(to_pixbuf(logo));
602
610
dialog->show_all();
663
672
tile_name_entry->set_text(tile->getName());
664
673
tile_type_combobox->set_active(tile->getTypeIndex());
665
674
tile_moves_spinbutton->set_value(tile->getMoves());
666
tile_smallmap_pattern_combobox->set_active(tile->getPattern());
675
tile_smallmap_pattern_combobox->set_active(tile->getSmallTile()->getPattern());
667
676
tile_smallmap_first_colorbutton->set_sensitive(true);
668
677
fill_tilestylesets();
669
678
fill_colours(tile);
778
switch (tile->getPattern())
787
switch (tile->getSmallTile()->getPattern())
789
case SmallTile::SOLID:
781
790
tile_smallmap_second_colorbutton->set_sensitive(false);
782
791
tile_smallmap_third_colorbutton->set_sensitive(false);
783
sdl = tile->getColor();
792
sdl = tile->getSmallTile()->getColor();
784
793
c.set_red(sdl.r * 255); c.set_green(sdl.g * 255); c.set_blue(sdl.b * 255);
785
794
tile_smallmap_first_colorbutton->set_color(c);
787
case Tile::STIPPLED: case Tile::SUNKEN:
796
case SmallTile::STIPPLED: case SmallTile::SUNKEN:
788
797
tile_smallmap_second_colorbutton->set_sensitive(true);
789
798
tile_smallmap_third_colorbutton->set_sensitive(false);
790
sdl = tile->getColor();
799
sdl = tile->getSmallTile()->getColor();
791
800
c.set_red(sdl.r * 255); c.set_green(sdl.g * 255); c.set_blue(sdl.b * 255);
792
801
tile_smallmap_first_colorbutton->set_color(c);
793
sdl = tile->getSecondColor();
802
sdl = tile->getSmallTile()->getSecondColor();
794
803
c.set_red(sdl.r * 255); c.set_green(sdl.g * 255); c.set_blue(sdl.b * 255);
795
804
tile_smallmap_second_colorbutton->set_color(c);
797
case Tile::RANDOMIZED: case Tile::TABLECLOTH:
806
case SmallTile::RANDOMIZED: case SmallTile::TABLECLOTH: case SmallTile::DIAGONAL: case SmallTile::CROSSHATCH: case SmallTile::SUNKEN_STRIPED:
798
807
tile_smallmap_second_colorbutton->set_sensitive(true);
799
808
tile_smallmap_third_colorbutton->set_sensitive(true);
800
sdl = tile->getColor();
809
sdl = tile->getSmallTile()->getColor();
801
810
c.set_red(sdl.r * 255); c.set_green(sdl.g * 255); c.set_blue(sdl.b * 255);
802
811
tile_smallmap_first_colorbutton->set_color(c);
803
sdl = tile->getSecondColor();
812
sdl = tile->getSmallTile()->getSecondColor();
804
813
c.set_red(sdl.r * 255); c.set_green(sdl.g * 255); c.set_blue(sdl.b * 255);
805
814
tile_smallmap_second_colorbutton->set_color(c);
806
sdl = tile->getThirdColor();
815
sdl = tile->getSmallTile()->getThirdColor();
807
816
c.set_red(sdl.r * 255); c.set_green(sdl.g * 255); c.set_blue(sdl.b * 255);
808
817
tile_smallmap_third_colorbutton->set_color(c);
820
829
Gtk::TreeModel::Row row = *iterrow;
821
830
Tile *t = row[tiles_columns.tile];
822
831
int idx = tile_smallmap_pattern_combobox->get_active_row_number();
823
Tile::Pattern pattern = Tile::Pattern(idx);
824
t->setPattern(pattern);
832
SmallTile::Pattern pattern = SmallTile::Pattern(idx);
833
t->getSmallTile()->setPattern(pattern);
826
835
fill_tile_smallmap(t);
867
876
else if (j == 32 - 1)
869
878
OverviewMap::draw_tile_pixel (tile_smallmap_surface,
872
tile->getSecondColor(),
873
tile->getThirdColor(),
879
tile->getSmallTile()->getPattern(),
880
tile->getSmallTile()->getColor(),
881
tile->getSmallTile()->getSecondColor(),
882
tile->getSmallTile()->getThirdColor(),
1061
1070
void TileSetWindow::on_refresh_clicked()
1063
1072
TileStyleSet *set = get_selected_tilestyleset ();
1064
set->instantiatePixmaps(set->getSubDir(), d_tileset->getTileSize());
1073
GraphicsLoader::instantiatePixmaps(set, d_tileset->getTileSize());
1067
1076
void TileSetWindow::on_preview_tile_activated()