コード例 #1
0
ファイル: WCreate.py プロジェクト: fronzbot/Stathammer
    def __init__(self, top_level):
        self.gunAttrCount = 1
        self.ccAttrCount  = 1
        self.app = Toplevel(top_level)
        self.app.title("Weapon Creation Tool")
        self.app.lift(top_level)
        
        # Get current weapon lists
        self.guns = self.update_dicts('profiles/gnl.wf')
        self.cc   = self.update_dicts('profiles/ccl.wf')
        
        if os.name == "posix":
            self.app.wm_iconbitmap('@staticon.xbm') # For non-windows systems (works on linux, not sure about OSX)
        else:
            self.app.wm_iconbitmap('staticon.ico') # For windows
        
        # Frames
        self.gunframe = GUI.label_frame_create(self.app, 'Shooting', 0, 0)
        self.ccframe  = GUI.label_frame_create(self.app, 'Assault', 1, 0)
        self.gunstatframe = GUI.frame_create(self.gunframe, 0, 0) 
        self.gunsvframe   = GUI.frame_create(self.gunframe, 1, 0)
        self.ccstatframe  = GUI.frame_create(self.ccframe, 0, 0)
        self.ccsvframe    = GUI.frame_create(self.ccframe, 1, 0)
        self.gunsvframe   = GUI.frame_create(self.gunstatframe, 2, 0)
        self.ccsvframe    = GUI.frame_create(self.ccstatframe,  2, 0)
        self.gunattrbtns  = GUI.frame_create(self.gunstatframe, 0, 5)
        self.ccattrbtns   = GUI.frame_create(self.ccstatframe,  0, 3)
        self.gunattrbtns.grid(sticky=(N, S))
        self.ccattrbtns.grid(sticky=(N, S))
        
        # Labels
        ttk.Label(self.gunstatframe, text='Weapon Name').grid(column=0, row=0, sticky=W)
        ttk.Label(self.gunstatframe, text='Shots', justify='center').grid(column=1, row=0, sticky=W)
        ttk.Label(self.gunstatframe, text='S', justify='center').grid(column=2, row=0)
        ttk.Label(self.gunstatframe, text='AP', justify='center').grid(column=3, row=0)
        ttk.Label(self.gunstatframe, text='Attributes', justify='center').grid(column=4, row=0)
    
        ttk.Label(self.ccstatframe, text='Weapon Name').grid(column=0, row=0, sticky=W)
        ttk.Label(self.ccstatframe, text='Atx', justify='center').grid(column=1, row=0)
        ttk.Label(self.ccstatframe, text='Attributes', justify='center').grid(column=2, row=0)
        
        # Entries
        self.gunNameVar = StringVar()
        self.ccNameVar  = StringVar()
        self.ccAtkVar   = StringVar()
        self.gunShotVar = StringVar()
        self.gunSVar    = StringVar()
        self.gunAPVar   = StringVar()
        self.gunName    = GUI.input_create(self.gunstatframe, 'entry', self.gunNameVar, 25, [1, 0, (W, E)], [])
        self.gunShots   = GUI.input_create(self.gunstatframe, 'entry', self.gunShotVar, 4,  [1, 1, (W, E)], [])
        self.gunS       = GUI.input_create(self.gunstatframe, 'entry', self.gunSVar,    2,  [1, 2, (W, E)], [])
        self.gunAP      = GUI.input_create(self.gunstatframe, 'entry', self.gunAPVar,   2,  [1, 3, (W, E)], [])
        self.CCName     = GUI.input_create(self.ccstatframe,  'entry', self.ccNameVar,  25, [1, 0, (W, E)], [])
        self.CCAtk      = GUI.input_create(self.ccstatframe,  'entry', self.ccAtkVar,   4,  [1, 1, (W, E)], [])
        
        self.gunS.grid(padx=2)
        self.app.withdraw()
        self.gunNameVar.set('ENTER NAME OF GUN')
        self.ccNameVar.set('ENTER NAME OF WEAPON')
        self.gunShotVar.set('#')
        self.ccAtkVar.set('#')
        self.gunSVar.set('#')
        self.gunAPVar.set('#')

        self.addGunAttr = ttk.Button(self.gunattrbtns, text = '+', width=3, command=self.add_gun_attr)
        self.delGunAttr = ttk.Button(self.gunattrbtns, text = '-', width=3, command=self.del_gun_attr)
        self.addCCAttr  = ttk.Button(self.ccattrbtns,  text = '+', width=3, command=self.add_cc_attr)
        self.delCCAttr  = ttk.Button(self.ccattrbtns,  text = '-', width=3, command=self.del_cc_attr)
        self.addGunAttr.grid(column=0, row=0, sticky=(W, N, S))
        self.delGunAttr.grid(column=1, row=0, sticky=(E, N, S))
        self.addCCAttr.grid(column=0, row=0, sticky=(W, N, S))
        self.delCCAttr.grid(column=1, row=0, sticky=(E, N, S))
        
        # Attributes Boxes
        self.gunAttrVar1 = StringVar()
        self.gunAttrVar2 = StringVar()
        self.gunAttrVar3 = StringVar()
        self.gunAttrVar4 = StringVar()
        self.ccAttrVar1  = StringVar()
        self.ccAttrVar2  = StringVar()
        self.ccAttrVar3  = StringVar()
        self.ccAttrVar4  = StringVar()
        self.gunAttr1 = ttk.Combobox(self.gunstatframe, textvariable=self.gunAttrVar1)
        self.gunAttr2 = ttk.Combobox(self.gunstatframe, textvariable=self.gunAttrVar2, state=DISABLED)
        self.gunAttr3 = ttk.Combobox(self.gunstatframe, textvariable=self.gunAttrVar3, state=DISABLED)
        self.gunAttr4 = ttk.Combobox(self.gunstatframe, textvariable=self.gunAttrVar4, state=DISABLED)
        self.ccAttr1  = ttk.Combobox(self.ccstatframe,  textvariable=self.ccAttrVar1)
        self.ccAttr2  = ttk.Combobox(self.ccstatframe,  textvariable=self.ccAttrVar2, state=DISABLED)
        self.ccAttr3  = ttk.Combobox(self.ccstatframe,  textvariable=self.ccAttrVar3, state=DISABLED)
        self.ccAttr4  = ttk.Combobox(self.ccstatframe,  textvariable=self.ccAttrVar4, state=DISABLED)
        self.gunAttr1.grid(column=4, row=1, padx=2)
        self.gunAttr2.grid(column=5, row=1, padx=2)
        self.gunAttr3.grid(column=4, row=2, padx=2)
        self.gunAttr4.grid(column=5, row=2, padx=2)
        self.ccAttr1.grid(column=2, row=1, padx=2)
        self.ccAttr2.grid(column=3, row=1, padx=2)
        self.ccAttr3.grid(column=2, row=2, padx=2)
        self.ccAttr4.grid(column=3, row=2, padx=2)
        
        self.gunAttr1['values'] = weaponAttributes['gun']
        self.gunAttr2['values'] = weaponAttributes['gun']
        self.gunAttr3['values'] = weaponAttributes['gun']
        self.gunAttr4['values'] = weaponAttributes['gun']
        self.ccAttr1['values']  = weaponAttributes['cc']
        self.ccAttr2['values']  = weaponAttributes['cc']
        self.ccAttr3['values']  = weaponAttributes['cc']
        self.ccAttr4['values']  = weaponAttributes['cc']
        self.gunAttr1.set('None')
        self.gunAttr2.set('None')
        self.gunAttr3.set('None')
        self.gunAttr4.set('None')
        self.ccAttr1.set('None')
        self.ccAttr2.set('None')
        self.ccAttr3.set('None')
        self.ccAttr4.set('None')
        
        
        self.saveGun = ttk.Button(self.gunsvframe, text = 'Save Weapon', width=15, command=self.save_gun)
        self.saveCC  = ttk.Button(self.ccsvframe,  text = 'Save Weapon', width=15, command=self.save_cc)
        self.saveGun.grid(column=0, row=0, sticky=(N, S))
        self.saveCC.grid(column=0,  row=0, sticky=(N, S))