Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/editmap.py
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2012-02-21 23:56:24 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2012-02-21 23:56:24 (GMT)
commit5b45b6e35c5d90e483cc0b81d4562ebf27d7e407 (patch)
tree488ea32e6324e1afabc4441185a0b2e6afff5230 /editmap.py
parent5e068d9062129e939f0b903f14bbc78699794369 (diff)
Add / delete and position of furniture in the map
The x,y posittion in the wall is in pixels, then is not resolution independent we need change it to be in porcentage of the width / height Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Diffstat (limited to 'editmap.py')
-rw-r--r--editmap.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/editmap.py b/editmap.py
index f70d1ad..2bc44ef 100644
--- a/editmap.py
+++ b/editmap.py
@@ -26,6 +26,7 @@ class EditMapWin(gtk.HBox):
self.model.data['map_data'] = self.game_map.data
self.nav_view = MapNavView(self.game_map)
+ self.nav_view.mode = MapNavView.MODE_EDIT
self.top_view = TopMapView(self.game_map, 150, 150)
self.top_view.show_position(self.nav_view.x, self.nav_view.y,
self.nav_view.direction)
@@ -48,11 +49,11 @@ class EditMapWin(gtk.HBox):
# furniture
self._furniture_store = gtk.ListStore(str, gtk.gdk.Pixbuf, str)
self._furniture_store.set_sort_column_id(0, gtk.SORT_ASCENDING)
- furniture_iconview = gtk.IconView(self._furniture_store)
- furniture_iconview.set_text_column(0)
- furniture_iconview.set_pixbuf_column(1)
+ self.furniture_iconview = gtk.IconView(self._furniture_store)
+ self.furniture_iconview.set_text_column(0)
+ self.furniture_iconview.set_pixbuf_column(1)
self.load_furniture()
- furniture_iconview.connect("item-activated",
+ self.furniture_iconview.connect('item-activated',
self.__furniture_activated_cb)
scrolled1 = gtk.ScrolledWindow()
@@ -61,7 +62,7 @@ class EditMapWin(gtk.HBox):
notebook.append_page(scrolled1, gtk.Label(_('Resources')))
scrolled2 = gtk.ScrolledWindow()
scrolled2.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
- scrolled2.add_with_viewport(furniture_iconview)
+ scrolled2.add_with_viewport(self.furniture_iconview)
notebook.append_page(scrolled2, gtk.Label(_('Furniture')))
self.pack_start(rigth_vbox, False, False)
@@ -95,12 +96,24 @@ class EditMapWin(gtk.HBox):
def __furniture_activated_cb(self, widget, item):
model = widget.get_model()
image_file_name = model[item][2]
+ self._add_image(image_file_name)
+
+ def _add_image(self, image_file_name):
logging.error('Image %s selected', image_file_name)
x = self.nav_view.x
y = self.nav_view.y
direction = self.nav_view.direction
wall_object = {'image_file_name': image_file_name,
- 'x': 100, 'y': 100, 'width': 200, 'height': 200}
+ 'wall_x': 100, 'wall_y': 100, 'scale': 50}
self.game_map.add_object_to_wall(x, y, direction, wall_object)
self.nav_view.update_wall_info(x, y, direction)
+
+ def add_selected_object(self):
+ if self.furniture_iconview.is_focus():
+ item = self.furniture_iconview.get_selected_items()[0][0]
+ image_file_name = self._furniture_store[item][2]
+ self._add_image(image_file_name)
+
+ def remove_selected_object(self):
+ self.nav_view.remove_selected_object()