def testGenFileFilters(self): """Test getting the file filter list""" filters = syntax.GenFileFilters() self.assertTrue(isinstance(filters, list)) for f in filters: self.assertTrue(isinstance(f, basestring)) self.assertTrue(filters[-1][-1] != u"|")
def DoOpen(self, evt, fname=u''): """ Do the work of opening a file and placing it in a new notebook page. @keyword fname: can be optionally specified to open a file without opening a FileDialog @type fname: string """ try: e_id = evt.GetId() except AttributeError: e_id = evt if e_id == ID_OPEN: fdir = self.GetNotebook().GetCurrentCtrl().GetFileName() if len(fdir): fdir = os.path.dirname(fdir) elif not hasattr(sys, 'frozen'): fdir = os.curdir dlg = wx.FileDialog(self, _("Choose a File"), fdir, "", ''.join(syntax.GenFileFilters()), wx.OPEN | wx.MULTIPLE) dlg.SetFilterIndex(_PGET('FFILTER', 'int', 0)) if dlg.ShowModal() == wx.ID_OK: _PSET('FFILTER', dlg.GetFilterIndex()) for path in dlg.GetPaths(): if _PGET('OPEN_NW', default=False): wx.GetApp().OpenNewWindow(path) else: self.nb.OpenPage(util.GetPathName(path), util.GetFileName(path)) self.nb.GoCurrentPage() dlg.Destroy() else: self.LOG("[ed_main][info] CMD Open File: %s" % fname) self.nb.OpenPage(util.GetPathName(fname), util.GetFileName(fname), quiet=True) self.Raise()
def OnSaveAs(self, evt, title=u'', page=None): """Save File Using a new/different name @param evt: Event fired that called this handler @type evt: wxMenuEvent """ if page: ctrl = page else: ctrl = self.nb.GetCurrentCtrl() if title == u'': title = os.path.split(ctrl.GetFileName())[1] dlg = wx.FileDialog(self, _("Choose a Save Location"), os.path.dirname(ctrl.GetFileName()), title.lstrip("*"), ''.join(syntax.GenFileFilters()), wx.SAVE | wx.OVERWRITE_PROMPT) if dlg.ShowModal() == wx.ID_OK: path = dlg.GetPath() dlg.Destroy() result = ctrl.SaveFile(path) fname = util.GetFileName(ctrl.GetFileName()) if not result: err = ctrl.GetDocument().GetLastError() ed_mdlg.SaveErrorDlg(self, fname, err) ctrl.GetDocument().ResetAll() self.PushStatusText( _("ERROR: Failed to save %s") % fname, SB_INFO) else: self.PushStatusText(_("Saved File As: %s") % fname, SB_INFO) self.SetTitle("%s - file://%s" % (fname, ctrl.GetFileName())) self.nb.SetPageText(self.nb.GetSelection(), fname) self.nb.GetCurrentCtrl().FindLexer() self.nb.UpdatePageImage() return result else: dlg.Destroy()
def DoOpen(self, evt, fname=u''): """ Do the work of opening a file and placing it in a new notebook page. @keyword fname: can be optionally specified to open a file without opening a FileDialog @type fname: string """ result = wx.ID_CANCEL try: e_id = evt.GetId() except AttributeError: e_id = evt if e_id == ID_OPEN: dlg = wx.FileDialog(self, _("Choose a File"), '', "", ''.join(syntax.GenFileFilters()), wx.OPEN | wx.MULTIPLE) dlg.SetFilterIndex(_PGET('FFILTER', 'int', 0)) result = dlg.ShowModal() _PSET('FFILTER', dlg.GetFilterIndex()) paths = dlg.GetPaths() dlg.Destroy() if result != wx.ID_OK: self.LOG('[mainw][info] Canceled Opening File') else: for path in paths: if _PGET('OPEN_NW', default=False): wx.GetApp().OpenNewWindow(path) else: dirname = util.GetPathName(path) filename = util.GetFileName(path) self.nb.OpenPage(dirname, filename) self.nb.GoCurrentPage() else: self.LOG("[mainw][info] CMD Open File: %s" % fname) filename = util.GetFileName(fname) dirname = util.GetPathName(fname) self.nb.OpenPage(dirname, filename)
def OnSaveAs(self, evt, title=u'', page=None): """Save File Using a new/different name @param evt: Event fired that called this handler @type evt: wxMenuEvent """ dlg = wx.FileDialog(self, _("Choose a Save Location"), u'', title.lstrip(u"*"), ''.join(syntax.GenFileFilters()), wx.SAVE | wx.OVERWRITE_PROMPT) if dlg.ShowModal() == wx.ID_OK: path = dlg.GetPath() dlg.Destroy() if page: ctrl = page else: ctrl = self.nb.GetCurrentCtrl() result = ctrl.SaveFile(path) fname = util.GetFileName(ctrl.GetFileName()) if not result: dlg = wx.MessageDialog(self, _("Failed to save file: %s\n\nError:\n%d") % \ (fname, result), _("Save Error"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.PushStatusText( _("ERROR: Failed to save %s") % fname, SB_INFO) else: self.PushStatusText(_("Saved File As: %s") % fname, SB_INFO) self.SetTitle(u"%s - file://%s" % (fname, ctrl.GetFileName())) self.nb.SetPageText(self.nb.GetSelection(), fname) self.nb.GetCurrentCtrl().FindLexer() self.nb.UpdatePageImage() return result else: dlg.Destroy()