예제 #1
0
    def __init__(self, main_window, f, type=browser_model.FRACTAL):
        dialog.T.__init__(
            self, _("Formula Browser"), None,
            (Gtk.STOCK_REFRESH, BrowserDialog.RESPONSE_REFRESH,
             Gtk.STOCK_APPLY, Gtk.ResponseType.APPLY, Gtk.STOCK_OK,
             Gtk.ResponseType.OK, Gtk.STOCK_CLOSE, Gtk.ResponseType.CLOSE))

        self.set_default_response(Gtk.ResponseType.OK)

        self.model = browser_model.T(main_window.compiler)
        self.model.type_changed += self.on_type_changed
        self.model.file_changed += self.on_file_changed
        self.model.formula_changed += self.on_formula_changed

        self.file_list = Gtk.ListStore(str)
        self.formula_list = Gtk.ListStore(str)

        self.file_selection_changed_spec = None
        self.formula_selection_changed_spec = None

        self.f = f
        self.compiler = f.compiler

        self.ir = None
        self.set_size_request(600, 500)
        self.preview = gtkfractal.Preview(self.compiler)
        self.preview.f.auto_tolerance = False

        self.create_panes()
        self.vbox.show_all()

        self.set_type(type)
예제 #2
0
    def testExcludeList(self):
        bm = browser_model.T(Test.g_comp)
        bm.set_type(browser_model.INNER)
        bm.set_file("gf4d.cfrm")
        self.assertEqual(0, bm.current.formulas.count("default"))

        bm.set_type(browser_model.OUTER)
        bm.set_file("gf4d.cfrm")
        self.assertEqual(1, bm.current.formulas.count("default"))
예제 #3
0
    def testFuncMapping(self):
        bm = browser_model.T(Test.g_comp)
        ti = bm.get_type_info(browser_model.FRACTAL)

        self.assertEqual(fc.FormulaTypes.FRACTAL, ti.formula_type)

        self.assertEqual(None, ti.fname)
        self.assertEqual(None, ti.formula)
        self.assertEqual([], ti.formulas)

        ti2 = bm.get_type_info(browser_model.GRADIENT)

        self.assertEqual(fc.FormulaTypes.GRADIENT, ti2.formula_type)
예제 #4
0
    def testSetTypeUpdatesFnames(self):
        bm = browser_model.T(Test.g_comp)
        bm.set_type(browser_model.FRACTAL)

        bm.current.fname = "fish"
        bm.current.formula = "haddock"

        bm.set_type(browser_model.GRADIENT)

        self.assertEqual(None, bm.current.fname)
        self.assertEqual(None, bm.current.formula)

        bm.set_type(browser_model.FRACTAL)

        self.assertEqual("fish", bm.current.fname)
        self.assertEqual("haddock", bm.current.formula)
예제 #5
0
    def testApplyStatus(self):
        bm = browser_model.T(Test.g_comp)
        bm.set_type(browser_model.FRACTAL)
        self.assertEqual(False, bm.current.can_apply)

        bm.set_file("gf4d.frm")
        self.assertEqual(False, bm.current.can_apply)

        bm.set_formula("Mandelbrot")
        self.assertEqual(True, bm.current.can_apply)

        bm.set_type(browser_model.GRADIENT)
        self.assertEqual(False, bm.current.can_apply)

        bm.set_file("Gallet01.map")
        self.assertEqual(True, bm.current.can_apply)

        bm.set_file("blatte1.ugr")
        self.assertEqual(False, bm.current.can_apply)

        bm.update("test.frm", "test_error")
        self.assertEqual(False, bm.current.can_apply)
예제 #6
0
 def testFileList(self):
     bm = browser_model.T(Test.g_comp)
     bm.set_type(browser_model.FRACTAL)
     self.assertNotEqual(bm.current.files, [])
     self.assertListSorted(bm.current.files)
예제 #7
0
 def testCreation(self):
     bm = browser_model.T(Test.g_comp)
예제 #8
0
 def testUgrPresent(self):
     bm = browser_model.T(Test.g_comp)
     bm.set_type(browser_model.GRADIENT)
     files = bm.current.files
     self.assertEqual(1, files.count("blatte1.ugr"))
예제 #9
0
 def testFormulasSorted(self):
     bm = browser_model.T(Test.g_comp)
     bm.set_type(browser_model.FRACTAL)
     bm.set_file("gf4d.frm")
     self.assertListSorted(bm.current.formulas)
예제 #10
0
 def testSetBadFile(self):
     bm = browser_model.T(Test.g_comp)
     bm.set_type(browser_model.FRACTAL)
     self.assertRaises(IOError, bm.set_file, "nonexistent.frm")