コード例 #1
0
 def set_prop_val(self, name, value):
     """ Set property value as (string)
     :name: field name
     :value: default value, if not found
     """
     prop_key = self.get_prop_key(name)
     SlTrace.setProperty(prop_key, str(value))
コード例 #2
0
 def set_prop_val(self, name, value):
     """ Set local (value) and property value(string)
     :name: field name
     :value: default value, if not found
     """
     self.vals[name] = value  # set current value
     prop_key = self.get_prop_key(name)
     SlTrace.setProperty(prop_key, str(value))
コード例 #3
0
 def set_prop_val(self, field_name):
     """ Update properties value for field, so that properties file
     will contain the updated value
     :field_name: field attribute name
     """
     prop_key = self.get_prop_key(field_name)
     field_value = self.get_val(field_name)
     prop_value = str(field_value)
     SlTrace.setProperty(prop_key, prop_value)
コード例 #4
0
 def update_property(self, name):
     ctl_entry = self.get_ctl_entry(name)
     if ctl_entry is None:
         return                  # No entry
     
     if ctl_entry.ctl_widget is None:
         return                  # No widget
     
     ctl_value = ctl_entry.ctl_widget.get()
     prop_key = self.get_prop_key(name)
     SlTrace.setProperty(prop_key, ctl_value)
コード例 #5
0
ファイル: player_prop.py プロジェクト: raysmith619/dots
 def save_prop_player(self, player, base_key=None):
     """ Save player's info
     :player: player to save
     :base_key: prop_key preceeding player's id
     """
     player_id = player.id 
     player_fields = self.player_control.get_player_control_fields()
     for field in player_fields:
         prop_key = f"{base_key}{player_id}.{field}"
         prop_val = str(getattr(player, field))
         SlTrace.lg(f"save_prop_player: key={prop_key} val={prop_val}", "player_prop")
         SlTrace.setProperty(prop_key, prop_val)
コード例 #6
0
ファイル: player_prop.py プロジェクト: raysmith619/dots
    def save_props(self, player_infos, stack_count=None):
        """ Save infos in properties 
            to be saved by normal properties saving
            Sets sect numbers to correspond to stack list position
            First removes properties of the form:
                    {self.control_prefix}\.{self.sect_name}\.\d+\.
                      or (if self.sect_name is None)
                    {self.control_prefix}\.\d+\.
        :prop_infos: PlayerInfo or list, most recent == last, position == 1
        :stack_count: current stack level, used for stack comparisons
        """

        if not isinstance(player_infos, list):
            player_infos = [player_infos]
        self.remove_props()
        if stack_count is not None:
            after_len = len(f"0.player.")
            bk = self.get_base_key(0)[:-after_len]      # less "undo.0."
            prop_key = f"{bk}__STACK_COUNT"       # To facilitate stack comparison
            SlTrace.setProperty(prop_key, stack_count)
        for n, player_info in enumerate(reversed(player_infos),start=1):
            base_key = self.get_base_key(n)
            self.save_prop_player_info(player_info, base_key=base_key)
コード例 #7
0
 def __init__(self,
              parent=None,
              open=True,
              run=False,
              run_cmd=None,
              title=None,
              in_file=None,
              src_file_name=None,
              src_dir=None,
              src_lst=False,
              stx_lst=False,
              lst_file_name=None,
              cmd_execute=None,
              display=True):
     """ Player attributes
     :title: window title
     :in_file: Opened input file handle, if one
     :src_file_name: source file name .py for python
                     else .crsrc built-in language (subset of python)
     :open: Open source file default: True - open file on object creation
     :run: run file after opening
             default: False
     :run_cmd: command to run when run button hit
             default: self.run
     :src_dir: default src directory
             default: "crsrc"
     :src_lst: List src as run
                 default: No listing
     :stx_lst: List expanded commands as run
                 default: No listing
     :lst_file_name: listing file name
             default: base name of src_file_name
                     ext: ".clst"
     :cmd_execute: function to be called to execute command
     """
     if parent is None:
         parent = Tk()
         parent.remove()
     self.parent = parent
     if title is None:
         title = "CommandFile"
     self.title = title
     self.src_file_name = src_file_name
     if src_dir is None:
         src_dir = "../crsrc"
     SlTrace.setProperty("cr_source_files", src_dir)
     self.src_dir = src_dir
     self.src_lst = src_lst
     self.stx_lst = stx_lst
     self.run = run
     self.run_cmd = run_cmd
     self.lineno = 0  # Src line number
     self.in_file = in_file
     self.ctls = {}  # Dictionary of field control widgets
     self.ctls_vars = {}  # Dictionary of field control widget variables
     self.cmd_execute = cmd_execute
     self.stcmd_stack = []  # get/unget stcmd stack
     self.tok = None  # Token if found
     self.line = None  # Remaining unparsed line
     self.src_prefix = ""  # Source listing prefix
     if src_file_name is not None:
         self.set_ctl_val("input.src_file_name", src_file_name)
     self.file_type = None  # py, csrc file type, when determined
     self.eof = True  # Cleared on open, set on EOF
     self.new_file = False
     self.dots_commands = BlockCommands(self)
     if display:
         self.control_display()
     if self.run:
         self.run_file()
     else:
         self.open()
コード例 #8
0
    def __init__(self,
                 open=True,
                 execution_control=None,
                 in_file=None,
                 src_file=None,
                 src_dir=None,
                 src_lst=False,
                 stx_lst=False,
                 lst_file_name=None,
                 cmd_execute=None,
                 stream_stack=None,
                 debugging=False):
        """ Player attributes
        :in_file: Opened input file handle, if one
        :src_file: source file name .py for python
                        else .csrc built-in language
        :open: Open source file default: True - open file on object creation
        :execution_control: interface execution control
                            if any, (SelectComandFileControl)
                            e.g. stepping
        :run: run file after opening
                default: False
        :run_cmd: command to run when run button hit
                default: self.run
        :src_dir: default src directory
                default: "csrc"
        :src_lst: List src as run
                    default: No listing
        :stx_lst: List expanded commands as run
                    default: No listing
        :lst_file_name: listing file name
                default: base name of src_file_name
                        ext: ".clst"
        :cmd_execute: function to be called to execute each
                         command as obtained from file
        :stream_stack: Stack of SelectCommandStream active
                streams calling this the current one
                None - no callers
        :debugging:  debugging/test less requirements
        """
        self.execution_control = execution_control
        self.src_file_name = src_file
        if src_dir is None:
            src_dir = "../csrc"
        if src_dir is None:
            src_dir = "../csrc"
        SlTrace.setProperty("source_files", src_dir)
        self.file_type = None  # py, csrc file type, when determined
        self.src_dir = src_dir
        self.set_src_lst(src_lst)
        self.set_stx_lst(stx_lst)
        self.cmd_execute = cmd_execute
        if self.src_file_name is not None:
            if not self.check_file(self.src_file_name):
                raise SelectError("File %s not found" % self.src_file_name)

        self.in_file = in_file
        self.stcmd_stack = []  # get/unget stcmd stack
        self.tok = None  # Token if found
        self.line = None  # Remaining unparsed line
        self.src_prefix = ""  # Source listing prefix
        self.new_file = True  # Not opened
        self.stream_stack = stream_stack
        self.debugging = debugging
        self.dots_commands = DotsCommands(self)