/[lohnrechner]/trunk/lohnrechner2006.py
ViewVC logotype

Diff of /trunk/lohnrechner2006.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 7 by wilde, Thu Jan 13 10:01:01 2005 UTC revision 17 by wilde, Thu Jan 13 15:51:34 2005 UTC
# Line 27  class Lohnrechner(LST2005.LStRechner2005 Line 27  class Lohnrechner(LST2005.LStRechner2005
27          LST2005.LStRechner2005.__init__(self)          LST2005.LStRechner2005.__init__(self)
28    
29          root.title("Lohnrechner 2005 - v%s" % _release_version)          root.title("Lohnrechner 2005 - v%s" % _release_version)
30            root.resizable(NO, NO)
31            self.root = root
32    
33          Label(root, text="Lohn:").grid(row=0, sticky=E)          Label(root, text="Lohn:").grid(row=0, sticky=E)
34          self.lohn = Entry(root)          self.lohn = Entry(root)
35            self.lohn.bind("<Return>", self.NewInput)
36          self.lohn.grid(row=0, column=1, sticky=W)          self.lohn.grid(row=0, column=1, sticky=W)
37    
38          Label(root, text="Steuerklasse:").grid(row=1, sticky=E)          Label(root, text="Steuerklasse:").grid(row=1, sticky=E)
# Line 43  class Lohnrechner(LST2005.LStRechner2005 Line 46  class Lohnrechner(LST2005.LStRechner2005
46                            ("V", "5"),                            ("V", "5"),
47                            ("VI", "6")]:                            ("VI", "6")]:
48              stklradio = Radiobutton(stklframe, text=text, value=val,              stklradio = Radiobutton(stklframe, text=text, value=val,
49                                      indicatoron=0,                                      indicatoron=0, command=self.CalcOutput,
50                                      variable=self.stkl)                                      variable=self.stkl)
51              if text == "I":              if text == "I":
52                  stklradio.select()                  stklradio.select()
53              stklradio.pack(side=LEFT)              stklradio.pack(side=LEFT)
54    
55            Label(root, text="Kirchensteuer (%):").grid(row=2, sticky=E)
56            self.kirche = StringVar()
57            kircheframe = Frame(root)
58            kircheframe.grid(row=2, column=1, sticky=W)
59            for text, val in [("keine", "0"),
60                              ("8 %", "8"),
61                              ("9 %", "9")]:
62                kircheradio = Radiobutton(kircheframe, text=text, value=val,
63                                        indicatoron=0, command=self.CalcOutput,
64                                        variable=self.kirche)
65                if val == "0":
66                    kircheradio.select()
67                kircheradio.pack(side=LEFT)
68    
69          self.ResetInput()          self.ResetInput()
70    
71          Label(root, text="Lohnsteuer:").grid(row=0, column=2, sticky=E)          Label(root, text="Lohnsteuer:").grid(row=0, column=2, sticky=E)
72          self.lst = Entry(root)          self.lst = Entry(root)
73          self.lst.grid(row=0, column=3, sticky=W)          self.lst.grid(row=0, column=3, sticky=W)
74    
75          Label(root, text="Lolidarit�tszuschlag:").grid(row=1, column=2, sticky=E)          Label(root, text="Solidarit�tszuschlag:").grid(row=1, column=2, sticky=E)
76          self.soli = Entry(root)          self.soli = Entry(root)
77          self.soli.grid(row=1, column=3, sticky=W)          self.soli.grid(row=1, column=3, sticky=W)
78    
79          self.calcbutton = Button(root, text="Berechnen", command=self.CalcOutput)          Label(root, text="Kirchensteuer:").grid(row=2, column=2, sticky=E)
80          self.calcbutton.grid(row=3, columnspan=4)          self.kist = Entry(root)
81            self.kist.grid(row=2, column=3, sticky=W)
82    
83            buttons = Frame()
84            buttons.grid(row=3, columnspan=4)
85            Button(buttons, text="Quit", command=root.quit).pack(side=LEFT)
86            Button(buttons, text="Info", command=self.Info).pack(side=LEFT)
87            Button(buttons, text="Berechnen", command=self.CalcOutput).pack(side=LEFT)
88                    
89          self.CalcOutput()          self.CalcOutput()
90            
91        def NewInput(self, event):
92            self.CalcOutput()
93    
94      def ResetInput(self):      def ResetInput(self):
95            self.ResetInputLohn()
96    
97        def ResetInputLohn(self):
98            self.lohn.delete(0, END)
99          self.lohn.insert(0, "0")          self.lohn.insert(0, "0")
100    
101      def InitCalc(self):      def InitCalc(self):
102          self.SetLohn(float(self.lohn.get()))          try:
103                self.SetLohn(float(self.lohn.get()))
104            except:
105                self.ResetInputLohn()
106    
107          self.SetSteuerklasse(int(self.stkl.get()))          self.SetSteuerklasse(int(self.stkl.get()))
108            self.SetKirchensteuer(int(self.kirche.get()))
109    
110      def CalcOutput(self):      def CalcOutput(self):
111          self.InitCalc()          self.InitCalc()
# Line 78  class Lohnrechner(LST2005.LStRechner2005 Line 114  class Lohnrechner(LST2005.LStRechner2005
114          self.lst.insert(0, "%.2f" % self.GetLohnsteuer())                  self.lst.insert(0, "%.2f" % self.GetLohnsteuer())        
115          self.soli.delete(0, END)          self.soli.delete(0, END)
116          self.soli.insert(0, "%.2f" % self.GetSoli())                  self.soli.insert(0, "%.2f" % self.GetSoli())        
117            self.kist.delete(0, END)
118            self.kist.insert(0, "%.2f" % self.GetKirchensteuer())        
119    
120        def Info(self):
121            infowin = Toplevel(self.root)
122            infowin.title("Info")
123            Label(infowin, text="Lohnrechner 2005 %s" % _release_version,
124                  font=("Times", 14, "bold italic")).grid(row=0, pady=20)
125            Label(infowin, text=
126                  "Copyright (C) 2005 Intevation GmbH \n\n\
127    Lohnrechner 2005 comes with ABSOLUTELY NO WARRANTY.\n\
128    This is free software, and you are welcome to redistribute it\n\
129    under the terms of the GNU General Public License.\n\
130    For more information about these matters, see the file named COPYING.\n\n\
131    Dieses Programm verwendet LST2005 %s" % LST2005._ModulVersion()).grid(row=1, padx=10)
132            Button(infowin, text="Ok", command=infowin.destroy).grid(row=2, pady=10)
133    
134    
135  if __name__ == "__main__":  if __name__ == "__main__":

Legend:
Removed from v.7  
changed lines
  Added in v.17

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26