Create and modify enemies function.

This commit is contained in:
luxick
2018-03-14 13:40:02 +01:00
parent 437f418f49
commit c3e6793f69
12 changed files with 582 additions and 390 deletions

View File

@@ -1,4 +1,4 @@
from dsst_gtk3 import dialogs
from dsst_gtk3 import dialogs, gtk_ui
class BaseDataHandlers:
@@ -6,48 +6,42 @@ class BaseDataHandlers:
def __init__(self, app: 'gtk_ui.GtkUi'):
self.app = app
def do_manage_players(self, *_):
dialogs.run_management_dialog(self.app.ui, 'manage_players_dialog')
def do_add_player(self, entry):
if entry.get_text():
# sql.Player.create(name=entry.get_text())
entry.set_text('')
self.app.reload()
def do_manage_enemies(self, *_):
dialogs.run_management_dialog(self.app.ui, 'manage_enemies_dialog')
self.app.full_reload()
def on_player_name_edited(self, _, index, value):
row = self.app.ui.get_object('all_players_store')[index]
# sql.Player.update(name=value)\
# .where(sql.Player.id == row[0])\
# .execute()
self.app.reload()
self.app.full_reload()
def on_player_hex_edited(self, _, index, value):
row = self.app.ui.get_object('all_players_store')[index]
# sql.Player.update(hex_id=value)\
# .where(sql.Player.id == row[0])\
# .execute()
self.app.reload()
self.app.full_reload()
def do_add_drink(self, entry):
if entry.get_text():
sql.Drink.create(name=entry.get_text(), vol=0)
entry.set_text('')
self.app.reload()
self.app.full_reload()
def on_drink_name_edited(self, _, index, value):
row = self.app.ui.get_object('drink_store')[index]
# sql.Drink.update(name=value)\
# .where(sql.Drink.id == row[0])\
# .execute()
self.app.reload()
self.app.full_reload()
def on_drink_vol_edited(self, _, index, value):
row = self.app.ui.get_object('drink_store')[index]
# sql.Drink.update(vol=value) \
# .where(sql.Drink.id == row[0]) \
# .execute()
self.app.reload()
self.app.full_reload()

View File

@@ -1,5 +1,5 @@
from gi.repository import Gtk
from dsst_gtk3 import dialogs
from dsst_gtk3 import dialogs, gtk_ui
class DeathHandlers:
@@ -11,9 +11,10 @@ class DeathHandlers:
ep_id = self.app.get_selected_episode_id()
if not ep_id:
return
result = dialogs.show_edit_death_dialog(self.app.ui, ep_id)
result = dialogs.edit_death(self.app)
if result == Gtk.ResponseType.OK:
self.app.reload()
self.app.episodes.valid = False
self.app.full_reload()
def on_penalty_drink_changed(self, _, path, text):
self.app.ui.get_object('player_penalties_store')[path][2] = text

View File

@@ -1,6 +1,7 @@
import datetime
from dsst_gtk3 import dialogs, util, gtk_ui
from dsst_gtk3 import dialogs, util, gtk_ui, reload
from common import models
from gi.repository import Gtk
@@ -29,10 +30,28 @@ class DialogHandlers:
def do_add_enemy(self, entry):
if entry.get_text():
store = self.app.ui.get_object('enemy_season_store')
# enemy = sql.Enemy.create(name=entry.get_text(), season=self.app.get_selected_season_id())
# store.append([enemy.name, False, 0, enemy.id])
enemy = models.Enemy()
enemy.name = entry.get_text()
enemy.season = self.app.get_selected_season_id()
enemy.boss = not self.app.ui.get_object('enemy_optional_ckeck').get_active()
self.app.ui.get_object('enemy_optional_ckeck').set_active(False)
entry.set_text('')
self.app.update_enemy(enemy)
def on_enemy_name_edited(self, _, index, value):
row = self.app.ui.get_object('enemy_season_store')[index]
enemy = [enemy for enemy in self.app.enemies.data if enemy.id == row[4]][0]
enemy.name = value
self.app.update_enemy(enemy)
def on_enemy_optional_edited(self, renderer, index):
new_optional_value = not renderer.get_active()
row = self.app.ui.get_object('enemy_season_store')[index]
enemy = [enemy for enemy in self.app.enemies.data if enemy.id == row[4]][0]
enemy.boss = new_optional_value
self.app.update_enemy(enemy)
def do_show_date_picker(self, entry: 'Gtk.Entry', *_):
dialog = self.app.ui.get_object('date_picker_dialog')
result = dialog.run()

View File

@@ -10,12 +10,12 @@ class SeasonHandlers:
season = dialogs.edit_season(self.app.ui)
if season:
self.app.update_season(season)
self.app.reload()
self.app.full_reload()
def do_season_selected(self, *_):
self.app.episodes.valid = False
self.app.season_stats.valid = False
self.app.reload()
self.app.full_reload()
def do_add_episode(self, *_):
season_id = self.app.get_selected_season_id()
@@ -24,7 +24,7 @@ class SeasonHandlers:
ep = dialogs.edit_episode(self.app, season_id)
if ep:
self.app.update_episode(ep)
self.app.reload()
self.app.full_reload()
def on_selected_episode_changed(self, *_):
reload.reload_episode_stats(self.app)

View File

@@ -13,4 +13,4 @@ class VictoryHandlers:
return
result = dialogs.show_edit_victory_dialog(self.app.ui, ep_id)
if result == Gtk.ResponseType.OK:
self.app.reload()
self.app.full_reload()