예제 #1
0
    def __init__(self, parent):
        # GUI init
        self.parent = parent
        self.parent.title("9.3 Crowded Room")
        self.frame = tkinter.Frame(self.parent)
        self.frame.pack(fill=tkinter.BOTH, expand=1)
        tkinter.Label(self.frame, text='Crowded room simulation').pack()
        size = settings.get().canvas_size
        self.canvas = tkinter.Canvas(self.frame, width=size, height=size)
        self.canvas.pack()
        tkinter.Button(self.frame, text='Prepare', command=self.setup_simulation).pack(fill='x')
        tkinter.Button(self.frame, text='Start', command=self.start_simulation).pack(fill='x')
        tkinter.Button(self.frame, text='Stop', command=self.stop_simulation).pack(fill='x')

        self.jitter = tkinter.IntVar(self.frame, value=0)
        tkinter.Checkbutton(
            self.frame, text='Enable jitter', variable=self.jitter, command=self._on_jitter
        ).pack(fill='x')

        self.parent.resizable(width=tkinter.FALSE, height=tkinter.FALSE)

        # create model
        self.party = Party()

        # intermediate logic
        self.person_painters = []  # type: List[PersonPainter]
        self.prepared = False
        self.running = False
예제 #2
0
def load_votes_matrix(box):
    parties = []
    parties_matrix = zip(PARTIES, VOTES_MATRIX)
    for party, flags in dict(parties_matrix).items():
        kwargs = {}
        for i, flag in enumerate(flags):
            counter = Counter(enabled=bool(flag))
            kwargs[CANDIDATES[i]] = counter
        _votes = Votes(**kwargs)
        _votes.save()
        _party = Party(name=party, votes=_votes)
        _party.save()
        parties.append(_party)
    box.parties = parties
    box.save()
    other_votes = OtherVotes(blank=votes_constructor(),
                             nulled=votes_constructor(),
                             recurrent=votes_constructor(),
                             refuted=votes_constructor()).save()
    box.other_votes = other_votes
    box.save()