示例#1
0
	def edit(__, id):
		__.edit_mode = True
		qt.QWidget.setVisible(__, True)
		__.obj = __.master.enemies[id]
		__.name.setText(__.obj.name)
		__.width.setText(str(__.obj.width))
		__.height.setText(str(__.obj.height))
		__.image.setText(get_name(__.obj.image))
		__.image.path = __.obj.image
		__.core.setText(get_name(__.obj.core))
		__.core.path = __.obj.core
示例#2
0
    def __init__(__, boss, mode=True, name=K.path_map + "save.wf"):
        """Fenetre 'exploreur' pour sauvegarder et charger les maps . mode = 1 (save) ou 0 (load)"""
        tk.Tk.__init__(__)
        text_mode = "Sauvegarder" * bool(mode) + "Charger" * bool(not mode)
        __.title(text_mode)
        __.mode = mode
        __.boss = boss
        __.old_ind = 0

        __.Struct = tk.Frame(__)
        __.Struct2 = tk.Frame(__)

        __.Entry = Entry256(__.Struct2, width=30)
        if mode:
            __.Entry.insert(0, get_name(try_file(name)))
        else:
            __.Entry.insert(0, get_name(name))

        __.Scroll = tk.Scrollbar(__.Struct, width=20)
        __.List = tk.Listbox(__.Struct, width=50, height=30)
        __.refresh()
        __.Scroll.config(command=__.List.yview)
        __.List.config(yscrollcommand=__.Scroll.set)

        __.Erreur = tk.Label(__.Struct2, fg="red")

        __.Struct.pack(side=tk.LEFT)
        __.Struct2.pack(side=tk.RIGHT)
        __.List.pack(side=tk.RIGHT, fill=tk.Y)
        __.Scroll.pack(side=tk.LEFT, fill=tk.Y)
        __.Entry.pack()
        tk.Button(__.Struct2, text=text_mode,
                  command=__.valider).pack(fill=tk.X)
        tk.Button(__.Struct2, text="Supprimer",
                  command=__.suppr).pack(fill=tk.X)
        tk.Button(__.Struct2, text="Renommer",
                  command=__.renommer).pack(fill=tk.X)
        __.Erreur.pack(fill=tk.X)

        __.List.bind('<ButtonRelease-1>', lambda ev: __.clic(True))
        __.bind("<Destroy>", lambda ev: __.quit())
        __.mainloop()
示例#3
0
	def __init__(__,boss,mode=True,name=K.path_map + "save.wf"):
		"""Fenetre 'exploreur' pour sauvegarder et charger les maps . mode = 1 (save) ou 0 (load)"""
		tk.Tk.__init__(__)
		text_mode = "Sauvegarder" * bool(mode) + "Charger" * bool(not mode)
		__.title(text_mode)
		__.mode = mode
		__.boss = boss
		__.old_ind = 0

		__.Struct = tk.Frame(__)
		__.Struct2 = tk.Frame(__)

		__.Entry = Entry256(__.Struct2,width=30)
		if mode:
			__.Entry.insert(0, get_name(try_file(name)))
		else:
			__.Entry.insert(0, get_name(name))

		__.Scroll = tk.Scrollbar(__.Struct, width=20)
		__.List = tk.Listbox(__.Struct, width=50,height=30)
		__.refresh()
		__.Scroll.config(command = __.List.yview)
		__.List.config(yscrollcommand = __.Scroll.set)

		__.Erreur = tk.Label(__.Struct2, fg="red")

		__.Struct.pack(side=tk.LEFT)
		__.Struct2.pack(side=tk.RIGHT)
		__.List.pack(side = tk.RIGHT, fill = tk.Y)
		__.Scroll.pack(side = tk.LEFT, fill = tk.Y)
		__.Entry.pack()
		tk.Button(__.Struct2, text=text_mode, command=__.valider).pack(fill=tk.X)
		tk.Button(__.Struct2, text="Supprimer", command=__.suppr).pack(fill=tk.X)
		tk.Button(__.Struct2,text="Renommer" , command=__.renommer).pack(fill=tk.X)
		__.Erreur.pack(fill=tk.X)

		__.List.bind('<ButtonRelease-1>',lambda ev : __.clic(True))
		__.bind("<Destroy>",lambda ev: __.quit())
		__.mainloop()
示例#4
0
	def paintEvent(__, event):
		painter = qt.QPainter(__)
		v = __.master.display.scrollArea.viewport()
		for i in range(__.master.idGraphic + 1):
			layer = __.master.tab.widget(i)
			w = layer.tileWidth()
			h = layer.tileHeight()
			for x in range(event.rect().width() / w):
				x += event.rect().x() / w
				for y in range(event.rect().height() / h):
					y += event.rect().y() / h
					if not layer.isVisible():
						painter.drawPixmap(event.rect(), Field.EMPTY)
						continue
					if len(layer.map) <= x or len(layer.map[0]) <= y:
						continue
					tile = layer.map[x][y]
					rect = qt.QRect(x * w, y * h, w, h)
					if layer.type == Layer.COLLISION:
						if tile.tileset:
							painter.fillRect(rect, qt.QColor(255, 0, 0, 128))
						else:
							painter.drawPixmap(rect, Field.EMPTY)
					else:
						if tile.tileset == "":
							painter.drawPixmap(rect, Field.EMPTY)
						else:
							for id in range(__.master.master.tileset.tab.count()):
								if __.master.master.tileset.tab.widget(id).tilesetName() == tile.tileset:
									painter.drawPixmap(rect, __.master.master.tileset.tab.widget(id).tileset.pixmap().copy(tile.x * w, tile.y * h, w, h))
									break
			if layer == __.master.currentLayer() and len(layer.map):
				x = len(layer.map) * w
				y = len(layer.map[0]) * h
				brush = qt.QBrush(qt.QColor(30, 30, 30), qt.Qt.Dense5Pattern)
				painter.fillRect(0, y, Layer.field.width(), Layer.field.height() - y, brush)
				painter.fillRect(x, 0, Layer.field.width() - x, Layer.field.height(), brush)
		pens = [qt.QColor("blue"), qt.QColor("red")]
		for i in range(__.master.idGraphic + 1, __.master.tab.count()):
			layer = __.master.tab.widget(i)
			if not layer.isVisible():
				continue
			painter.setPen(pens[i % len(pens)])
			last = -1
			default = event.rect().y() + __.master.display.scrollArea.viewport().y() + 15
			y = default
			for e in layer.list:
				if event.rect().x() + event.rect().width() < e[0]:
					break
				if last <= e[0] and e[0] < last + 100:
					y += 15
				else:
					y = default
				last = e[0]
				if layer.type == Layer.EVENT:
					tmp = default + __.master.display.scrollArea.viewport().height() - 30 - (y - default)
					painter.drawLine(e[0], 0, e[0], tmp)
					painter.drawText(e[0] + 5, tmp, get_name(e[1]))
				else:
					painter.drawLine(e[0], y - 10, e[0], DEFAULT_MAP_WIDTH * DEFAULT_TILE_HEIGHT)
					painter.drawText(e[0] + 5, y, get_name(e[1]))
		print Field.GRID
		if Field.GRID == True:
			__.drawGrid(painter, event)
		painter.end()
示例#5
0
	def slot_open(__):
		file = qt.QFileDialog.getOpenFileName(None, "Ajouter un tileset", TILESET_PATH)
		if file:
			__.addTileset(get_name(file))
示例#6
0
	def addTileset(__, tilesetname):
		ext = get_ext(tilesetname)
		__.tab.addTab(Tileset(TILESET_PATH + tilesetname, __.config), get_name(tilesetname)[ : -len(ext) - 1])
示例#7
0
	def refresh(__):
		__.List.delete(0,tk.END)
		erreur = 0
		for i,f in enumerate(get_files(K.path_map)):
			if get_ext(f) == "wf": __.List.insert(i - erreur, get_name(f))
			else: erreur += 1
示例#8
0
 def refresh(__):
     __.List.delete(0, tk.END)
     erreur = 0
     for i, f in enumerate(get_files(K.path_map)):
         if get_ext(f) == "wf": __.List.insert(i - erreur, get_name(f))
         else: erreur += 1
示例#9
0
	def slot_image(__):
		path = qt.QFileDialog.getOpenFileName(__, "Load an image", ELEMENT_PATH)
		__.image.path = get_name(path)
		__.image.setText(__.image.path)
示例#10
0
 def slot_image(__):
     path = qt.QFileDialog.getOpenFileName(__, "Load an image",
                                           ELEMENT_PATH)
     __.image.path = get_name(path)
     __.image.setText(__.image.path)
示例#11
0
	def slot_core(__):
		path = qt.QFileDialog.getOpenFileName(__, "Load an AI", CORE_PATH)
		ext = get_ext(path)
		name = get_name(path)[ : -len(ext) - 1]
		__.core.path = name
		__.core.setText(name)
示例#12
0
	def slot_image(__):
		path = qt.QFileDialog.getOpenFileName(__, "Load an picture", ENEMY_PATH)
		name = get_name(path)
		__.image.path = name
		__.image.setText(name)
示例#13
0
 def slot_open(__):
     file = qt.QFileDialog.getOpenFileName(None, "Ajouter un tileset",
                                           TILESET_PATH)
     if file:
         __.addTileset(get_name(file))
示例#14
0
 def addTileset(__, tilesetname):
     ext = get_ext(tilesetname)
     __.tab.addTab(Tileset(TILESET_PATH + tilesetname, __.config),
                   get_name(tilesetname)[:-len(ext) - 1])