Esempio n. 1
0
    def __init__(self, c: 'Course', course_widget: 'Course Widget',
                 root_tracker: root_tracker.Root_Tracker):
        self._c = c
        self._course_widget = course_widget
        self._root_tracker = root_tracker

        self._root = tk.Tk()
        self._root.minsize(300, 300)
        utils.init_root_options(self._root)

        self._root.protocol('WM_DELETE_WINDOW', self.destroy)
        self._root_tracker.add_root(self._root)

        utils.init_theme()
        utils.configure_frame(self._root, colspan=self.COLSPAN)
        for i in range(5):
            self._root.rowconfigure(i + 2, weight=1)

        self._use_points = tk.IntVar(self._root)

        ttk.Checkbutton(self._root,
                        text='Not Yet Graded',
                        variable=self._use_points,
                        command=self._disable_points_entry).grid(row=4)
        self._cat_name = utils.create_label(self._root, 'Category: ', 6, 0)
        self._cat = tk.StringVar(self._root)
        utils.create_option_menu(self._root, self._cat,
                                 [cat for cat in self._c.categories], 6, 1)

        self._points_entry = None
Esempio n. 2
0
    def create_antialias_menu(self):
        optMenu = utils.create_option_menu(["None", "Fast", "Best"])

        def set_widget(*args):
            utils.set_selected(optMenu, self.prefs.getint("display","antialias"))

        def set_prefs(*args):
            index = utils.get_selected(optMenu)
            if index != -1:
                self.prefs.set("display","antialias",str(index))

        set_widget()
        self.prefs.connect('preferences-changed',set_widget)
        optMenu.connect('changed',set_prefs)
        return optMenu
Esempio n. 3
0
    def make_enumerated_widget(self, table, i, form, name, part, param, order):

        label = gtk.Label(self.param_display_name(name, param))
        label.set_alignment(1.0, 0.0)
        table.attach(label, 0, 1, i, i + 1, gtk.EXPAND | gtk.FILL, 0, 0, 0)

        widget = utils.create_option_menu(param.enum.value)

        def set_selected_value(*args):
            try:
                index = form.params[order]
            except ValueError, err:
                print err
                return

            utils.set_selected(widget, index)
Esempio n. 4
0
    def create_antialias_menu(self):
        optMenu = utils.create_option_menu(["None", "Fast", "Best"])

        def set_widget(*args):
            utils.set_selected(optMenu,
                               self.prefs.getint("display", "antialias"))

        def set_prefs(*args):
            index = utils.get_selected(optMenu)
            if index != -1:
                self.prefs.set("display", "antialias", str(index))

        set_widget()
        self.prefs.connect('preferences-changed', set_widget)
        optMenu.connect('changed', set_prefs)
        return optMenu
Esempio n. 5
0
    def make_enumerated_widget(
        self, table, i, form, name, part, param, order):

        label = gtk.Label(self.param_display_name(name,param))
        label.set_alignment(1.0, 0.0)
        table.attach(label,0,1,i,i+1,gtk.EXPAND | gtk.FILL,0,0,0)

        widget = utils.create_option_menu(param.enum.value)

        def set_selected_value(*args):
            try:
                index = form.params[order]
            except ValueError, err:
                print err
                return

            utils.set_selected(widget, index)
Esempio n. 6
0
    def testOptionMenu(self):
        om = utils.create_option_menu(["foo", "bar", "Bazniculate Geometry"])
        utils.add_menu_item(om, "fishy")
        utils.set_selected(om, 3)
        self.assertEqual(3, utils.get_selected(om))

        utils.set_menu_from_list(om, ["hello", "world"])
        utils.set_selected(om, 1)
        item1 = utils.get_selected_value(om)
        self.assertEqual("world", item1)

        utils.set_selected_value(om, "hello")
        i = utils.get_selected(om)
        self.assertEqual(0, i)

        utils.set_selected_value(om, "world")
        i = utils.get_selected(om)
        self.assertEqual(1, i)
Esempio n. 7
0
    def testOptionMenu(self):
        om = utils.create_option_menu(["foo","bar","Bazniculate Geometry"])
        utils.add_menu_item(om,"fishy")
        utils.set_selected(om,3)
        self.assertEqual(3, utils.get_selected(om))

        utils.set_menu_from_list(om, ["hello","world"])
        utils.set_selected(om,1)
        item1 = utils.get_selected_value(om)
        self.assertEqual("world",item1)

        utils.set_selected_value(om,"hello")
        i = utils.get_selected(om)
        self.assertEqual(0,i)

        utils.set_selected_value(om,"world")
        i = utils.get_selected(om)
        self.assertEqual(1,i)
Esempio n. 8
0
    def add_formula_function(self,table,i,name,param,form):
        label = gtk.Label(self.param_display_name(name,param))
        label.set_alignment(1.0, 0.0)
        table.attach(label,0,1,i,i+1,gtk.EXPAND | gtk.FILL,0,0,0)

        funclist = self.construct_function_menu(param,form)
        widget = utils.create_option_menu(funclist)

        formula = form.formula
        def set_selected_function():
            try:
                selected_func_name = form.get_func_value(name)
                index = funclist.index(selected_func_name)
            except ValueError, err:
                # func.cname not in list
                #print "bad cname"
                return
            
            utils.set_selected(widget, index)
Esempio n. 9
0
    def create_resolution_menu(self):
        self.resolutions = [
            (320,240), (640,480),
            (800,600), (1024, 768),
            (1280, 800), (1280, 960), (1280,1024), 
            (1400, 1050), (1440, 900),
            (1600,1200), (1680, 1050), 
            (1920, 1200), (2560, 1600)]

        res_names= [ "%dx%d" % (w,h) for (w,h) in self.resolutions]
        
        res_menu = utils.create_option_menu(res_names)

        def set_selected_resolution(prefs):
            res = (w,h) = (prefs.getint("display","width"),
                           prefs.getint("display","height"))

            try:
                index = self.resolutions.index(res)
            except ValueError:
                # not found
                self.resolutions.append(res)
                item = "%dx%d" % (w,h)
                utils.add_menu_item(res_menu, item)
                index = len(self.resolutions)-1

            utils.set_selected(res_menu, index)

        def set_resolution(*args):
            index = utils.get_selected(res_menu)
            if index != -1:
                (w,h) = self.resolutions[index]
                preferences.userPrefs.set_size(w,h)
                self.update_subfracts()
                
        set_selected_resolution(preferences.userPrefs)
        res_menu.connect('changed', set_resolution)

        preferences.userPrefs.connect('preferences-changed',
                                      set_selected_resolution)

        return res_menu
Esempio n. 10
0
    def add_formula_function(self, table, i, name, param, form):
        label = gtk.Label(self.param_display_name(name, param))
        label.set_alignment(1.0, 0.0)
        table.attach(label, 0, 1, i, i + 1, gtk.EXPAND | gtk.FILL, 0, 0, 0)

        funclist = self.construct_function_menu(param, form)
        widget = utils.create_option_menu(funclist)

        formula = form.formula

        def set_selected_function():
            try:
                selected_func_name = form.get_func_value(name)
                index = funclist.index(selected_func_name)
            except ValueError, err:
                # func.cname not in list
                # print "bad cname"
                return

            utils.set_selected(widget, index)
Esempio n. 11
0
    def add_warpmenu(self,tip):
        self.warpmenu = utils.create_option_menu(["None"])
        
        def update_warp_param(menu, f):
            param = utils.get_selected_value(menu)
            if param == "None":
                param = None

            f.set_warp_param(param)                
            self.on_formula_change(f)
            
        #self.populate_warpmenu(self.f,warpmenu)

        self.f.connect('formula-changed', self.populate_warpmenu)

        self.warpmenu.connect("changed", update_warp_param, self.f)
        
        self.toolbar.add_widget(
            self.warpmenu,
            tip,
            None)
    def __init__(self, main_window, f):
        dialog.T.__init__(self, _("Upload to Flickr"), main_window,
                          gtk.DIALOG_DESTROY_WITH_PARENT,
                          (gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE))

        self.f = f
        self.main_window = main_window
        self.controls = gtk.VBox()
        self.vbox.pack_start(self.controls)
        self.slave = None

        table = gtk.Table(5, 2, False)
        self.controls.pack_start(table)

        self.title_entry = gtk.Entry()
        table.attach(self.title_entry, 1, 2, 0, 1, gtk.EXPAND | gtk.FILL, 0, 2,
                     2)
        title_label = gtk.Label(_("Tit_le:"))
        title_label.set_mnemonic_widget(self.title_entry)
        title_label.set_use_underline(True)
        table.attach(title_label, 0, 1, 0, 1, gtk.EXPAND | gtk.FILL, 0, 2, 2)

        self.tags = gtk.Entry()
        table.attach(self.tags, 1, 2, 1, 2, gtk.EXPAND | gtk.FILL, 0, 2, 2)
        tag_label = gtk.Label(_("Ta_gs:"))
        tag_label.set_mnemonic_widget(self.tags)
        tag_label.set_use_underline(True)
        table.attach(tag_label, 0, 1, 1, 2, gtk.EXPAND | gtk.FILL, 0, 2, 2)

        self.description = gtk.TextView()
        self.description.set_wrap_mode(gtk.WRAP_WORD)

        sw = gtk.ScrolledWindow()
        sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        sw.add(self.description)

        table.attach(sw, 1, 2, 2, 3, gtk.EXPAND | gtk.FILL, 0, 2, 2)
        desc_label = gtk.Label(_("_Description:"))
        desc_label.set_mnemonic_widget(self.description)
        desc_label.set_use_underline(True)
        table.attach(desc_label, 0, 1, 2, 3, gtk.EXPAND | gtk.FILL, 0, 2, 2)

        self.include_params = gtk.CheckButton(
            _("_Include parameters in description"))
        table.attach(self.include_params, 0, 2, 3, 4, gtk.EXPAND | gtk.FILL, 0,
                     2, 2)

        self.blog_menu = utils.create_option_menu([_("<None>")])
        table.attach(self.blog_menu, 1, 2, 4, 5, gtk.EXPAND | gtk.FILL, 0, 2,
                     2)

        self.get_blogs()

        blog_label = gtk.Label(_("_Blog To:"))
        blog_label.set_mnemonic_widget(self.blog_menu)
        blog_label.set_use_underline(True)
        table.attach(blog_label, 0, 1, 4, 5, gtk.EXPAND | gtk.FILL, 0, 2, 2)

        self.upload_button = gtk.Button(_("_Upload"))
        self.upload_button.connect("clicked", self.onUpload)
        table.attach(self.upload_button, 0, 2, 5, 6, gtk.EXPAND | gtk.FILL, 0,
                     2, 2)

        self.cancel_button = gtk.Button(_("_Cancel Upload"))
        self.cancel_button.connect("clicked", self.onCancelUpload)
        table.attach(self.cancel_button, 0, 2, 6, 7, gtk.EXPAND | gtk.FILL, 0,
                     2, 2)
        self.set_upload_mode(True)

        self.bar = gtk.ProgressBar()
        self.vbox.pack_end(self.bar, False, False)
    def __init__(self, main_window, f):        
        dialog.T.__init__(
            self,
            _("Upload to Flickr"),
            main_window,
            gtk.DIALOG_DESTROY_WITH_PARENT,
            (gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE))

        self.f = f
        self.main_window = main_window
        self.controls = gtk.VBox()
        self.vbox.pack_start(self.controls)
        self.slave = None
        
        table = gtk.Table(5,2,False)
        self.controls.pack_start(table)

        self.title_entry = gtk.Entry()
        table.attach(self.title_entry,1,2,0,1,gtk.EXPAND | gtk.FILL, 0, 2, 2)
        title_label = gtk.Label(_("Tit_le:"))
        title_label.set_mnemonic_widget(self.title_entry)
        title_label.set_use_underline(True)
        table.attach(title_label,0,1,0,1,gtk.EXPAND | gtk.FILL, 0, 2, 2)

        self.tags = gtk.Entry()
        table.attach(self.tags,1,2,1,2,gtk.EXPAND | gtk.FILL, 0, 2, 2)
        tag_label = gtk.Label(_("Ta_gs:"))
        tag_label.set_mnemonic_widget(self.tags)
        tag_label.set_use_underline(True)
        table.attach(tag_label,0,1,1,2,gtk.EXPAND | gtk.FILL, 0, 2, 2)
        
        self.description = gtk.TextView()
        self.description.set_wrap_mode(gtk.WRAP_WORD)

        sw = gtk.ScrolledWindow ()
        sw.set_shadow_type (gtk.SHADOW_ETCHED_IN)
        sw.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        sw.add(self.description)
        
        table.attach(sw,1,2,2,3,gtk.EXPAND | gtk.FILL, 0, 2, 2)
        desc_label = gtk.Label(_("_Description:"))
        desc_label.set_mnemonic_widget(self.description)
        desc_label.set_use_underline(True)
        table.attach(desc_label,0,1,2,3,gtk.EXPAND | gtk.FILL, 0, 2, 2)

        self.include_params = gtk.CheckButton(
            _("_Include parameters in description"))
        table.attach(self.include_params,0,2,3,4,gtk.EXPAND | gtk.FILL, 0, 2, 2)

        self.blog_menu = utils.create_option_menu([_("<None>")])
        table.attach(self.blog_menu, 1,2,4,5,gtk.EXPAND | gtk.FILL, 0, 2, 2)
        
        self.get_blogs()
    
        blog_label = gtk.Label(_("_Blog To:"))
        blog_label.set_mnemonic_widget(self.blog_menu)
        blog_label.set_use_underline(True)
        table.attach(blog_label,0,1,4,5,gtk.EXPAND | gtk.FILL, 0, 2, 2)

        self.upload_button = gtk.Button(_("_Upload"))
        self.upload_button.connect("clicked", self.onUpload)
        table.attach(self.upload_button, 0,2,5,6,gtk.EXPAND | gtk.FILL, 0, 2, 2)

        self.cancel_button = gtk.Button(_("_Cancel Upload"))
        self.cancel_button.connect("clicked", self.onCancelUpload)
        table.attach(self.cancel_button, 0,2,6,7,gtk.EXPAND | gtk.FILL, 0, 2, 2)
        self.set_upload_mode(True)


        self.bar = gtk.ProgressBar()
        self.vbox.pack_end(self.bar,False,False)
Esempio n. 14
0
    def create_panes(self):
        # option menu for choosing Inner/Outer/Fractal
        self.funcTypeMenu = utils.create_option_menu(
            [_("Fractal Function"),
             _("Outer Coloring Function"),
             _("Inner Coloring Function"),
             _("Transform Function"),
             _("Gradient")])

        utils.set_selected(self.funcTypeMenu,self.model.current_type)
        
        self.funcTypeMenu.set_tooltip_text(
            _("Which formula of the current fractal to change"))

        self.funcTypeMenu.connect('changed',self.set_type_cb)

        # label for the menu
        hbox = gtk.HBox()
        label = gtk.Label(_("Function _Type to Modify : "))
        label.set_use_underline(True)
        label.set_mnemonic_widget(self.funcTypeMenu)
        
        hbox.pack_start(label, False, False)
                
        hbox.pack_start(self.funcTypeMenu,True, True)
        self.vbox.pack_start(hbox,False, False)
        
        # 3 panes: files, formulas, formula contents
        panes1 = gtk.HPaned()
        self.vbox.pack_start(panes1, True, True)
        panes1.set_border_width(5)

        file_list = self.create_file_list()
        formula_list = self.create_formula_list()
        
        panes2 = gtk.HPaned()
        # left-hand pane displays file list
        panes2.add1(file_list)
        # middle is formula list for that file
        panes2.add2(formula_list)        
        panes1.add1(panes2)

        # right-hand pane is details of current formula
        notebook = gtk.Notebook()

        # preview
        label = gtk.Label(_('_Preview'))
        label.set_use_underline(True)
        notebook.append_page(self.preview.widget, label)
        
        # source
        (self.sourcetext,sw) = self.create_scrolled_textview(
            _("The contents of the currently selected formula file"))
        
        label = gtk.Label(_('_Source'))
        label.set_use_underline(True)
        notebook.append_page(sw, label)

        # messages
        (self.msgtext, sw) = self.create_scrolled_textview(
            _("Any compiler warnings or errors in the current function"))
        
        label = gtk.Label(_('_Messages'))
        label.set_use_underline(True)
        notebook.append_page(sw, label)

        panes1.add2(notebook)