コード例 #1
0
ファイル: sc_player_control.py プロジェクト: raysmith619/dots
    def __init__(self, *args, title=None, control_prefix=None,
                  image_hash=None, select_list_hash=None, **kwargs):
        """ Control players
        """
        self.max_color_len = len("#80ffff")  # For fields which have to contain hex color representation

        if image_hash is None:
            image_hash = ImageHash()    # Create our own
        self.image_hash = image_hash
        if select_list_hash is None:
            select_list_hash = ImageHash()
        self.select_list_hash = select_list_hash
                                        # Protect against early checking
        self.players = {}  # Dictionary of SelectPlayer
        self.playing = []  # Playing, in playing order
        self.cur_pindex = None  # Current player index in self.playing list
        self.controls_frame = None  # Set as no controls
        self.is_players_displayed = False  # Set when displayed
        self.players_frame = None  # Set when initialized
        self.player_field_by_widget = {}    
        if title is None:
            title = "Player Control"
        if control_prefix is None:
            control_prefix = PlayerControl.CONTROL_NAME_PREFIX
        super().__init__(*args,
                      title=title, control_prefix=control_prefix,
                      **kwargs)
        SlTrace.set_mw(self.mw)  # Setup for reporting    
        super().control_display()  # Do base work
        self.player_props = PlayerProps(self)        
        self.control_display_base()
        self.mw.protocol("WM_DELETE_WINDOW", self.delete_window)
        self.selected_widget = None  # Last applicable field clicked
        self.mw.bind ("<Button-1>", self.button_click)
        self.mw.bind ("<Double-Button-1>", self.double_click)
        self.player_changed = True                  # Tested regularly by game play
        self.score_changed = True                   # Tested regularly by game play
コード例 #2
0
    def list_ckbuttons(self):
        cb_flags = sorted(self.data_by_flag.keys())
        for flag in cb_flags:
            var = self.data_by_flag[flag][2]
            SlTrace.lg(f"flag={flag} var={var} val={var.get()}")

if __name__ == '__main__':
    def report_change(flag, val, cklist=None):
        SlTrace.lg("changed: %s = %d" % (flag, val))
        new_val = SlTrace.getLevel(flag)
        SlTrace.lg("New val: %s = %d" % (flag, new_val))
        if cklist is not None:
            cklist.list_ckbuttons()
    
    root = Tk()
    SlTrace.set_mw(root)
    ###frame = Frame(root)
    ###frame.pack()
    SlTrace.setProps()
    SlTrace.setFlags("flag1=t,flag2=f,flag3=t,flag4=10, flag5=20. flag6=abc")
    threshold = 5
    SlTrace.setLevel("tint1", 5)
    end_level = 100
    quit_set = False
    def our_quit(flag=None):
        """ Test for traceButton
        :flag: flag arg
        """
        global quit_set
        if flag is None:
            flag = "TBD"