added chage of zValue to Token
[gotb.git] / BoardMap.rb
blob4a630da3462fd33fc0f2733bdecf7872619921f1
1 module GOTB
3 require 'Qt4'
4 require 'json'
6 #MAP_W = 1980
7 #MAP_H = 2975
9 class BoardMap < Qt::Widget
10         attr_accessor :view
11         def initialize
12                 super
14                 w = 400
15                 h = 200
17                 @regions = Array.new
18                 #regs_in = JSON.parse(File.open('data/regions.json').read))
19                 #regs_in.each {|name,data|
20                 #       @regions << Qt::GraphicsPolygonItem.new(Qt::PolygonF.new(data.map{|pt| Qt::Point.new(pt[0],pt[1])}))
21                 #}
23                 #points = [10,10, 20,13, 24,55, 8,50, 10,10]
24                 points = [10,10, 20,13, 24,55, 8,50]
25                 poly = Array.new
26                 points.each_slice(2) {|s|
27                         poly << Qt::Point.new(s[0],s[1])
28                         puts "x: #{s[0]}, y: #{s[1]}"
29                 }
30                 #@regions << BoardRegion.new(Qt::PolygonF.new(poly))
31                 @regions << Qt::GraphicsPolygonItem.new
32                 @regions.last.setPolygon(Qt::PolygonF.new(poly))
34 #               pp = Qt::PolygonF.new(poly)
35 #               puts "size = #{@regions.size}"
37 #               p = @regions[0].polygon
38 #               puts("poly = #{p.first()}")
39 #               [10, 20, 50].each {|x|
40 #                       reg = BoardRegion.new
41 #                       reg.setPos(x,x)
42 #                       @regions << reg
43 #               }
45                 pix = Qt::Pixmap.new("data/map.jpg")
46                 #pix = Qt::Pixmap.new("data/map_no_tracks_no_wild.jpg")
47                 #pix = Qt::Pixmap.new("data/map_no_tracks.jpg")
48                 map = Qt::GraphicsPixmapItem.new(pix)
50                 @scene = Qt::GraphicsScene.new
51                 @scene.setSceneRect(0,0,pix.width,pix.height)
52                 @regions.each {|r| @scene.addItem(r)}
53                 @scene.addItem(map)
55                 @view = Qt::GraphicsView.new
56                 #@view.resize(w,h)
57                 @view.setScene(@scene)
58                 #@view.setAttribute(Qt::WA_TransparentForMouseEvents, true)
59                 
60                 setMouseTracking(true)
62                 grid = Qt::GridLayout.new
63                 grid.setContentsMargins(0,0,0,0)
64                 grid.setSpacing(0)
65                 grid.addWidget(@view, 0, 0)
66                 self.layout = grid
67         end
69 #def mouseMoveEvent(event)
70 #               puts "mouse = #{event.x},#{event.y}\n"
71 #               super(event)
72 #       end
73 end
75 class BoardRegion < Qt::GraphicsPolygonItem
76 end
78 end