示例#1
0
    def create_frame3c(self):
        self.frame3c_entry1 = MyOutputEntry(self.frame3c,
                                            'Moment of Inertia (kgm²)', 0.20,
                                            0.25)
        self.frame3c_entry2 = MyOutputEntry(self.frame3c,
                                            'Rotational Kinetic Energy (J)',
                                            0.20, 0.40)
        self.frame3c_entry3 = MyOutputEntry(self.frame3c,
                                            'Linear Kinetic Energy (J)', 0.20,
                                            0.55)
        self.frame3c_entry4 = MyOutputEntry(self.frame3c,
                                            'Total Kinetic Energy (J)', 0.20,
                                            0.70)

        self.calculate_button_3c = MyImageButton(
            self.frame3c, GrayScale(20),
            CreateTkImage('data/images/calculator.png', 48, 48),
            self.calculate_3c, 0.75, 0.25)
        self.calculate_button_3c.configure(bg=GrayScale(20),
                                           activebackground=GrayScale(20))
        self.calculate_button_3c.place(relwidth=0.10, relheight=0.10)

        if tooltips:
            CreateToolTip(self.frame3c_entry1.label, 'I = ½ MR²')
            CreateToolTip(self.frame3c_entry2.label, 'RKE = ½ Iw²')
            CreateToolTip(self.frame3c_entry3.label, 'LKE = ½ MV²')
            CreateToolTip(self.frame3c_entry4.label, 'TKE = RKE + LKE')
示例#2
0
    def create_scales(self):
        self.radius_scale = MyInputScale(self.scales, 'Radius (m)', 0.20, 0.25)
        self.mass_scale = MyInputScale(self.scales, 'Mass (kg)', 0.20, 0.40)
        self.ang_vel_scale = MyInputScale(self.scales,
                                          'Angular Velocity (rad/s)', 0.20,
                                          0.55)

        if tooltips:
            CreateToolTip(self.radius_scale.label,
                          'Drag slider to adjust radius')
            CreateToolTip(self.mass_scale.label, 'Drag slider to adjust mass')
            CreateToolTip(self.ang_vel_scale.label,
                          'Drag slider to adjust angular velocity')

        self.radius_scale.set(20.0)
        self.mass_scale.set(20.0)
        self.ang_vel_scale.set(20.0)
示例#3
0
    def create_frame2b(self):
        self.frame2b_entry1 = MyOutputEntry(self.frame2b,
                                            'Moment of Inertia (kgm²)', 0.20,
                                            0.25)
        self.frame2b_entry2 = MyOutputEntry(self.frame2b,
                                            'Angular Momentum (kgm²/s)', 0.20,
                                            0.40)

        self.calculate_button_2b = MyImageButton(
            self.frame2b, GrayScale(20),
            CreateTkImage('data/images/calculator.png', 48, 48),
            self.calculate_2b, 0.75, 0.25)
        self.calculate_button_2b.configure(bg=GrayScale(20),
                                           activebackground=GrayScale(20))
        self.calculate_button_2b.place(relwidth=0.10, relheight=0.10)

        if tooltips:
            CreateToolTip(self.frame2b_entry1.label, 'I = ½ MR²')
            CreateToolTip(self.frame2b_entry2.label, 'L = Iw')
示例#4
0
    def create_frame3a(self):
        self.frame3a_entry1 = MyOutputEntry(self.frame3a,
                                            'Moment of Inertia (kgm²)', 0.20,
                                            0.25)

        self.calculate_button_3a = MyImageButton(
            self.frame3a, GrayScale(20),
            CreateTkImage('data/images/calculator.png', 48, 48),
            self.calculate_3a, 0.75, 0.25)
        self.calculate_button_3a.configure(bg=GrayScale(20),
                                           activebackground=GrayScale(20))
        self.calculate_button_3a.place(relwidth=0.10, relheight=0.10)

        if tooltips:
            CreateToolTip(self.frame3a_entry1.label, 'I = ½ MR²')
示例#5
0
    def create_animation_frame(self):
        if dev:
            print '[main] animation frame objects created'

        self.main_pf2_title = MyLabel(self.main_pf2, 'Animation Settings',
                                      0.175, 0.125)
        self.main_pf2_title.configure(bg=GrayScale(20),
                                      font=MyFonts['LargeBold'])
        self.main_pf2_title.place(relwidth=0.65)

        self.time_factor_scale = MyScale(self.main_pf2, 'Time Factor', 0.175,
                                         0.25)
        self.len_mult_scale = MyScale(self.main_pf2, 'Length Multiplier',
                                      0.175, 0.40)
        self.granularity_scale = MyScale(self.main_pf2, 'Granularity', 0.175,
                                         0.55)

        self.time_factor_scale.configure(from_=1,
                                         to=100,
                                         resolution=1,
                                         bg=GrayScale(20))
        self.len_mult_scale.configure(from_=1,
                                      to=100,
                                      resolution=1,
                                      bg=GrayScale(20))
        self.granularity_scale.configure(from_=5,
                                         to=90,
                                         resolution=5,
                                         bg=GrayScale(20))

        self.time_factor_scale.label.configure(bg=GrayScale(20),
                                               font=MyFonts['Large'])
        self.len_mult_scale.label.configure(bg=GrayScale(20),
                                            font=MyFonts['Large'])
        self.granularity_scale.label.configure(bg=GrayScale(20),
                                               font=MyFonts['Large'])

        self.time_factor_scale.place(relwidth=0.65)
        self.len_mult_scale.place(relwidth=0.65)
        self.granularity_scale.place(relwidth=0.65)

        self.time_factor_scale.label.place(relwidth=0.65)
        self.len_mult_scale.label.place(relwidth=0.65)
        self.granularity_scale.label.place(relwidth=0.65)

        if dev:
            self.time_factor_scale.set(1)
            self.len_mult_scale.set(100)
            self.granularity_scale.set(5)

        if not dev:
            self.time_factor_scale.set(5)
            self.len_mult_scale.set(5)
            self.granularity_scale.set(5)

        if tooltips:
            CreateToolTip(
                self.time_factor_scale.label,
                'Drag slider to adjust animation speed.'
                '\nHigher value is faster.')

            CreateToolTip(
                self.len_mult_scale.label,
                'Drag slider to adjust animation scale.'
                '\nHigher value is bigger.')

            CreateToolTip(
                self.granularity_scale.label,
                'Drag slider to adjust animation smoothness'
                '\nHigher value is smoother')