Exemple #1
0
    def CreateStructureMenu(self):
        """Creates the structure menu."""
        # Structure Menu ID's
        self.ID_STRUCT_CONVERT = wx.NewId()
        self.ID_STRUCT_VISUALIZE = wx.NewId()
        self.ID_STRUCT_SHOWBZ = wx.NewId()

        menu = wx.Menu()
        menu.Append(self.ID_STRUCT_CONVERT, "Convert", "Convert structure data to cif, POSCAR ...")
        self.Bind(wx.EVT_MENU, self.OnStructureConvert, id=self.ID_STRUCT_CONVERT)

        menu.Append(self.ID_STRUCT_SHOWBZ, "Show BZ", "Visualize the first Brillouin zone with matplotlib.")
        self.Bind(wx.EVT_MENU, self.OnStructureShowBz, id=self.ID_STRUCT_SHOWBZ)

        # Make sub-menu with the list of supported visualizers.
        visu_menu = wx.Menu()
        self._id2visuname = {}

        available_visus = [visu.name for visu in Visualizer.get_available()]

        for appname in available_visus:
            _id = wx.NewId()
            visu_menu.Append(_id, appname)
            self._id2visuname[_id] = appname
            self.Bind(wx.EVT_MENU, self.OnStructureVisualize, id=_id)

        menu.AppendMenu(-1, 'Visualize', visu_menu)
        return menu
Exemple #2
0
    def makeToolBar(self):
        """Creates the toolbar."""
        self.toolbar = toolbar = self.CreateToolBar()
        toolbar.SetToolBitmapSize(wx.Size(48, 48))

        def bitmap(path):
            return wx.Bitmap(awx.path_img(path))

        artBmp = wx.ArtProvider.GetBitmap
        toolbar.AddSimpleTool(wx.ID_OPEN,
                              artBmp(wx.ART_FILE_OPEN, wx.ART_TOOLBAR), "Open")
        toolbar.AddSeparator()

        # Combo box with the list of visualizers
        avail_visunames = [visu.name for visu in Visualizer.get_available()]
        value = avail_visunames[0] if avail_visunames else "None"
        self.visualizer_cbox = wx.ComboBox(toolbar,
                                           id=-1,
                                           name='visualizer',
                                           choices=avail_visunames,
                                           value=value,
                                           style=wx.CB_READONLY)
        toolbar.AddControl(control=self.visualizer_cbox)

        toolbar.Realize()
Exemple #3
0
    def CreateStructureMenu(self):
        """Creates the structure menu."""
        # Structure Menu ID's
        self.ID_STRUCT_CONVERT = wx.NewId()
        self.ID_STRUCT_VISUALIZE = wx.NewId()
        self.ID_STRUCT_SHOWBZ = wx.NewId()

        menu = wx.Menu()
        menu.Append(self.ID_STRUCT_CONVERT, "Convert", "Convert structure data to cif, POSCAR ...")
        self.Bind(wx.EVT_MENU, self.OnStructureConvert, id=self.ID_STRUCT_CONVERT)

        menu.Append(self.ID_STRUCT_SHOWBZ, "Show BZ", "Visualize the first Brillouin zone with matplotlib.")
        self.Bind(wx.EVT_MENU, self.OnStructureShowBz, id=self.ID_STRUCT_SHOWBZ)

        # Make sub-menu with the list of supported visualizers.
        visu_menu = wx.Menu()
        self._id2visuname = {}

        available_visus = [visu.name for visu in Visualizer.get_available()]

        for visu_name in available_visus:
            _id = wx.NewId()
            visu_menu.Append(_id, visu_name)
            self._id2visuname[_id] = visu_name
            self.Bind(wx.EVT_MENU, self.OnStructureVisualize, id=_id)
                                                                                                                     
        menu.AppendMenu(-1, 'Visualize', visu_menu)
        return menu
Exemple #4
0
    def test_visualizers(self):
        print("Available visualizers:")
        for vclass in Visualizer.get_available():
            print(vclass)

        assert Xcrysden.support_ext("xsf") and Xcrysden.support_ext(".xsf")

        assert Vesta is Visualizer.from_name("vesta")
        assert Vesta.support_ext(
            "xsf") and "xsf" in Vesta.supported_extensions()
        #assert Vesta.from_file("foo.xsf")
        with self.assertRaises(Visualizer.Error):
            Visualizer.from_name("foobar")

        assert len(Visualizer.all_visunames())

        assert V_Sim.support_ext("xsf")

        for cls in [Xcrysden, V_Sim, Vesta, Ovito, Avogadro]:
            visu = cls("foo.xsf")
            assert callable(visu)
            repr(visu)
            str(visu)
            # cmdarg is a string?
            assert visu.cmdarg + " "
            assert visu.is_available in (True, False)
Exemple #5
0
def showStructure(parent, filepath):
    ncfile = abiopen(filepath)
    visu_classes = Visualizer.get_available(ext="xsf")
    if not visu_classes:
        print("Not visualizer found for extension xsf")
        return
    vname = visu_classes[0].name

    visu = ncfile.structure.visualize(vname)

    thread = awx.WorkerThread(parent, target=visu)
    thread.start()
Exemple #6
0
def showStructure(parent, filepath):
    ncfile = abiopen(filepath)
    visu_classes = Visualizer.get_available(ext="xsf")
    if not visu_classes:
        print("Not visualizer found for extension xsf")
        return
    vname = visu_classes[0].name

    visu = ncfile.structure.visualize(vname)

    thread = awx.WorkerThread(parent, target=visu)
    thread.start()
Exemple #7
0
    def test_visualizers(self):
        print("Available visualizers:")
        for vclass in Visualizer.get_available():
            print(vclass)

        assert Xcrysden.support_ext("xsf") and Xcrysden.support_ext(".xsf")

        assert Vesta is Visualizer.from_name("vesta")
        assert Vesta.support_ext(
            "xsf") and "xsf" in Vesta.supported_extensions()
        #assert Vesta.from_file("foo.xsf")

        assert V_Sim.support_ext("xsf")
Exemple #8
0
    def makeToolBar(self):
        """Creates the toolbar."""
        self.toolbar = toolbar = self.CreateToolBar()
        toolbar.SetToolBitmapSize(wx.Size(48, 48))

        def bitmap(path):
            return wx.Bitmap(awx.path_img(path))

        artBmp = wx.ArtProvider.GetBitmap
        toolbar.AddSimpleTool(wx.ID_OPEN, artBmp(wx.ART_FILE_OPEN, wx.ART_TOOLBAR), "Open")
        toolbar.AddSeparator()

        # Combo box with the list of visualizers
        avail_visunames = [visu.name for visu in Visualizer.get_available()]
        value = avail_visunames[0] if avail_visunames else "None"
        self.visualizer_cbox = wx.ComboBox(toolbar, id=-1, name='visualizer', choices=avail_visunames, value=value, style=wx.CB_READONLY)  
        toolbar.AddControl(control=self.visualizer_cbox) 

        toolbar.Realize()