コード例 #1
0
from block_window import BlockWindow
from road_track import RoadTrack
from block_panel import BlockPanel
from block_block import BlockBlock, BlockType
from block_polygon import BlockPolygon
from road_block import RoadBlock, SurfaceType
from road_strait import RoadStrait
from race_track import RaceTrack
from road_bin_setup import RoadBinSetup
from road_track_setup import RoadTrackSetup
from road_block import RoadBlock
from road_turn import RoadTurn
from block_arc import BlockArc
from position_window import PositionWindow

SlTrace.setFlags(
    "short_points,starter_track,motion_down,down,dragged,get_event_block")

width = 600  # Window width
height = width  # Window height
rotation = None  # No rotation
pos_x = None
pos_y = None
parser = argparse.ArgumentParser()
dispall = False  # Display every change
starter_track = True

parser.add_argument('--width=', type=int, dest='width', default=width)
parser.add_argument('--height=', type=int, dest='height', default=height)
parser.add_argument('--pos_x=', type=float, dest='pos_x', default=pos_x)
parser.add_argument('--pos_y=', type=float, dest='pos_y', default=pos_y)
parser.add_argument('--rotation=',
コード例 #2
0
                       "controls")
        self.strace.setLevel(flag, val)

        if self.change_call is not None:
            self.change_call(flag, val)

    def list_ckbuttons(self):
        cb_flags = sorted(self.data_by_flag.keys())
        for flag in cb_flags:
            var = self.data_by_flag[flag][2]
            print("flag=%s var=%s val=%d" % (flag, var, 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()

    frame = Frame(root)
    frame.pack()
    SlTrace.setProps()
    SlTrace.setFlags("flag1=1,flag2=0,flag3=1,flag4=0, flag5=1, flag6=1")
    app = TraceControl(frame, change_call=report_change)

    root.mainloop()
コード例 #3
0
from block_block import BlockBlock,BlockType
from block_polygon import BlockPolygon
from road_block import RoadBlock,SurfaceType
from road_straight import RoadStraight
from race_track import RaceTrack
from road_bin_setup import RoadBinSetup
from car_bin_setup import CarBinSetup
from road_track_setup import RoadTrackSetup
from road_block import RoadBlock
from road_turn import RoadTurn
from block_arc import BlockArc
from position_window import PositionWindow
from race_control_window import RaceControlWindow

SlTrace.setFlags("short_points,starter_track,down"
                 + ",front_road"
                 + ",add_block,mouse_right_info")

width = 600     # Window width
height = width  # Window height
rotation = None # No rotation
maximum_speed = 20  # Maximum car speed mph
minimum_speed = 5  # Maximum car speed mph
maximum_speed = 10.
minimum_speed = 1.
ncar = 3
turn_speed = 2.
pos_x = None
pos_y = None
parser = argparse.ArgumentParser()
dispall = False      # Display every change
コード例 #4
0
        return SelectToken(name=line)

    def get_line(self):
        """ Get next source line
        """
        line = self.in_file.readline()
        if line is None or line == "":
            SlTrace.lg("Src EOF", "csrc")
            return None
        else:
            line = line.rstrip()
            self.lineno += 1
            if SlTrace.trace("csrc"):
                SlTrace.lg(
                    "%s %d: %s" %
                    (os.path.basename(self.src_file), self.lineno, line))
        return line


if __name__ == '__main__':

    root = Tk()

    frame = Frame(root)
    frame.pack()
    SlTrace.setProps()
    SlTrace.setFlags("csrc")
    cF = CommandFile(frame, title="ComandFIle", display=True)
    ##cF.open("cmdtest")

    root.mainloop()
コード例 #5
0
            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"
        SlTrace.lg(f"our_quit({flag})")
        SlTrace.report("Quitting Program")
        root.destroy
        quit_set = True
コード例 #6
0
# logging_tracing_menu.py    22Feb2020  crs
# Simple with a menu:
#  1. Named / Dated log files
#  2. Tracing by flag
#  3. Plus change settings easily during running
#
import sys
from select_trace import SlTrace
from trace_control_window import TraceControlWindow

cmd_flags = sys.argv[1] if len(sys.argv) > 1 else "flag1,flag2=0,end_loop=0"

SlTrace.setFlags(cmd_flags)
SlTrace.lg(f"cmd_flags:{cmd_flags}")
SlTrace.lg("flag1", "flag1")
SlTrace.lg("flag2", "flag2")
tcw = TraceControlWindow()

for i in range(20):
    if SlTrace.trace("big"):
        SlTrace.lg(f"{i}: big stuff")
    else:
        SlTrace.lg(f"{i}: no so big")
    tcw.sleep(2)
    if SlTrace.trace("end_loop"):
        SlTrace.lg("Manual break")
        break
SlTrace.lg("Ending Program")
コード例 #7
0
ファイル: big_inning.py プロジェクト: robsmith1776/big_inning
import csv

from select_trace import SlTrace
from game_stats import GameStats
"""
Data origin followed by file format is in game_stats.py
"""

data_dir = "../data"
game_file_pat = r'^GL\d+\.TXT$'

SlTrace.setupLogging()
SlTrace.setProps()
SlTrace.lg("big_inning")
###SlTrace.setFlags("list_file_name,list_file_rows,list_raw_interest")
SlTrace.setFlags("list_big_innings")

dir_set = ()
if os.path.isabs(data_dir):
    data_dir_path = data_dir
else:
    data_dir_path = os.path.abspath(data_dir)
print("data_dir: %s" % data_dir_path)
data_files = os.listdir(data_dir)
n_big_inning_games = 0

n_files = 2
n_files = None
n_rows = 10
n_rows = None
コード例 #8
0
parser.add_argument('--list_data', type=str2bool, dest='list_data', default=list_data)
parser.add_argument('--list_input', type=str2bool, dest='list_input', default=list_input)
parser.add_argument('--date_axis', type=str2bool, dest='date_axis', default=date_axis)
parser.add_argument('--trace', dest='trace', default=trace)
parser.add_argument('--data_dir', dest='data_dir', default=data_dir)
parser.add_argument('--who', dest='who', default=who)
args = parser.parse_args()             # or die "Illegal options"
SlTrace.lg("args: %s\n" % args)
data_dir = args.data_dir
date_axis = args.date_axis
list_input= args.list_input
list_data = args.list_data
trace = args.trace
who = args.who
if trace:
    SlTrace.setFlags(trace)

if who.lower() == "jenifer"[:len(who)]:
    data_dir = "../data/jen"
    data_files = [
        "bp_1.data",
        "bp_2.data"]
else:
    data_dir = "..\\data"
    data_files = []
    data_path = os.path.join(data_dir, "*.data")
    for file in glob.glob(data_path):
        data_files.append(file)
    data_files_str = '\n\t'.join(data_files)
SlTrace.lg(f"Data files:\n\t{data_files_str}")    
        
コード例 #9
0
    parser.add_argument('--height=', type=int, dest='height', default=height)
    parser.add_argument('--pos_x=', type=float, dest='pos_x', default=pos_x)
    parser.add_argument('--pos_y=', type=float, dest='pos_y', default=pos_y)
    parser.add_argument('--rotation=',
                        type=float,
                        dest='rotation',
                        default=rotation)
    args = parser.parse_args()  # or die "Illegal options"

    width = args.width
    height = args.height
    pos_x = args.pos_x
    pos_y = args.pos_y
    rotation = args.rotation

    SlTrace.setFlags("short_points")
    SlTrace.lg("%s %s\n" %
               (os.path.basename(sys.argv[0]), " ".join(sys.argv[1:])))
    SlTrace.lg("args: %s\n" % args)

    frame = Frame(width=width, height=height, bg="", colormap="new")
    frame.pack()
    canvas = Canvas(frame, width=width, height=height)
    canvas.pack()
    th_width = 1.
    th_height = 1.
    position = None
    if pos_x is not None or pos_y is not None:
        if pos_x is None:
            pos_x = 0.
        if pos_y is None:
コード例 #10
0
            self.mw = None

    def destroy(self):
        """ relinquish resources
        """
        self.delete_window()

    def add(self):
        if "set" in self.call_d:
            self.call_d["set"]()

    def edit(self):
        if "edit" in self.call_d:
            self.call_d["edit"]()

    def delete(self):
        if "delete" in self.call_d:
            self.call_d["delete"]()


if __name__ == '__main__':

    root = Tk()

    frame = Frame(root)
    frame.pack()
    SlTrace.setProps()
    SlTrace.setFlags("")
    plc = PlayerControl(frame, title="player_control", display=True)

    root.mainloop()
コード例 #11
0
# tracing_absolute_minimum.py    22Feb2020  crs

from select_trace import SlTrace
SlTrace.setFlags("good=1,bad=0")
SlTrace.lg("we see good", "good")
SlTrace.lg("we don't see bad", "bad")
コード例 #12
0
ファイル: sudoku.py プロジェクト: raysmith619/sudoku
    g.makePuzzle)  # If defined, generate puzzle with this many cells filled
cF.set_val("PuzzleSym",
           g.makePuzzleSym)  # Puzzle symetry pref for initial settings
# x, y, center, n - none
cF.set_val("nCol", g.nCol)
cF.set_val("nSubCol", g.nSubCol)
cF.set_val("nRow", g.nRow)
cF.set_val("nSubRow", g.nSubRow)
cF.set_val("traceList", g.traceList)
cF.set_val("update_time", g.update_time)
cF.set_val("UsePuzzle", g.UsePuzzle)
cF.set_val("xPer", g.xPer)  # experimental
cF.set_val("Display_time", g.Display_time)

trace = True if g.traceList is not None else False
SlTrace.setFlags(g.traceList)

if g.nSubCol is None:
    nSubCol = int(sqrt(g.nCol))
if g.nRow is None:
    g.nRow = g.nCol  # Set square by default
if g.nSubRow is None:
    nSubRow = int(sqrt(g.nRow))
makePuzzle = int(g.nCol * g.nRow / 3)
if g.makePuzzle % 2 == 1:
    makePuzzle -= 1  # Make even

mw.update()
bs_in = int(tkMath.inchesToPixels(g.bSize))
w = bs_in + 200
h = bs_in + 100
コード例 #13
0
ファイル: select_dots.py プロジェクト: raysmith619/dots
    
    def set_stroke_move(self, use_stroke=True):
        """ Enable/Disable use of stroke moves
        Generally for use in touch screens
        """
        self.area.set_stroke_move(use_stroke)


#########################################################################
#          Self Test                                                    #
#########################################################################
if __name__ == "__main__":
    # root window created. Here, that would be the only window, but
    # you can later have windows within windows.
    from tkinter import *
    SlTrace.setFlags("display")
    
    mw = Tk()
    def user_exit():
        print("user_exit")
        exit()
        
    SlTrace.setProps()
    SlTrace.setFlags("")
    width = 400
    height = 300    
    mw.geometry("%dx%d" % (width, height))
    frame = Frame(width=width, height=height, bg="", colormap="new")
    frame.pack(fill=BOTH, expand=YES)
    
    #creation of an instance