def __init__(self, parent, id=-1, title='Pinguino', pos=wx.DefaultPosition ,size=(600, 600), style=wx.DEFAULT_FRAME_STYLE): # ---------------------------------------------------------------------- # load settings from config file # ---------------------------------------------------------------------- self.config = wx.FileConfig( localFilename = APP_CONFIG, style = wx.CONFIG_USE_LOCAL_FILE) self.filehistory = wx.FileHistory() self.filehistory.Load(self.config) framesize = ( self.config.ReadInt('Window/Width', -1), self.config.ReadInt('Window/Height', -1)) framepos = ( self.config.ReadInt('Window/Posx', -1), self.config.ReadInt('Window/Posy', -1)) outputsize = ( self.config.ReadInt('Output/Width', -1), self.config.ReadInt('Output/Height', -1)) self.theme = self.config.Read('Theme/name') if self.theme == '': self.theme = THEME_DEFAULT wx.Frame.__init__(self, parent, id, title, framepos, framesize, style) loc = locale.getdefaultlocale()[0][0:2] self.lang = gettext.translation('pinguino', sys.path[0]+'/locale', languages=[loc], fallback=True) _=self.lang.ugettext #self.SetTitle('Pinguino '+pinguino_version) self.SetTitle('Qubotic - www.roboticawilde.com.ar') _icon = wx.EmptyIcon() _icon.CopyFromBitmap(wx.Bitmap(sys.path[0]+"/logo.png", wx.BITMAP_TYPE_ANY)) self.SetIcon(_icon) self._mgr = wx.aui.AuiManager(self) self.menu = wx.MenuBar() # file menu self.file_menu = wx.Menu() self.NEW = wx.MenuItem(self.file_menu, wx.ID_NEW, _("New"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.NEW) self.OPEN = wx.MenuItem(self.file_menu, wx.ID_OPEN, _("Open"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.OPEN) self.SAVE = wx.MenuItem(self.file_menu, wx.ID_SAVE, _("Save"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.SAVE) self.SAVEAS = wx.MenuItem(self.file_menu, wx.ID_SAVEAS, _("Save as"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.SAVEAS) self.CLOSE = wx.MenuItem(self.file_menu, wx.ID_CLOSE, _("Close"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.CLOSE) self.EXIT = wx.MenuItem(self.file_menu, wx.ID_EXIT, _("Exit"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.EXIT) # ---file history------------------------------------------------------- self.filehistory.UseMenu(self.file_menu) self.filehistory.AddFilesToMenu() self.menu.Append(self.file_menu, _("File")) # edit menu self.edit_menu = wx.Menu() self.UNDO = wx.MenuItem(self.edit_menu, wx.ID_UNDO, _("Undo"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.UNDO) self.REDO = wx.MenuItem(self.edit_menu, wx.ID_REDO, _("Redo"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.REDO) self.edit_menu.AppendSeparator() self.FIND = wx.MenuItem(self.edit_menu, wx.ID_FIND, _("Find"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.FIND) self.REPLACE = wx.MenuItem(self.edit_menu, wx.ID_REPLACE, _("Replace"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.REPLACE) self.REPLACE.Enable(False) self.edit_menu.AppendSeparator() self.CUT = wx.MenuItem(self.edit_menu, wx.ID_CUT, _("Cut"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.CUT) self.COPY = wx.MenuItem(self.edit_menu, wx.ID_COPY, _("Copy"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.COPY) self.PASTE = wx.MenuItem(self.edit_menu, wx.ID_PASTE, _("Paste"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.PASTE) self.CLEAR = wx.MenuItem(self.edit_menu, wx.ID_CLEAR, _("Clear"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.CLEAR) self.SELECTALL = wx.MenuItem(self.edit_menu, wx.ID_SELECTALL, _("Select all"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.SELECTALL) self.menu.Append(self.edit_menu, _("Edit")) # preferences menu self.pref_menu = wx.Menu() # ---theme submenu self.theme_menu = wx.Menu() self.GetTheme() i = 0 for th in self.themeList: self.THEME.append(wx.MenuItem(self.theme_menu, self.ID_THEME1 + i, th, "", wx.ITEM_CHECK)) self.theme_menu.AppendItem(self.THEME[i]) i = i + 1 self.pref_menu.AppendMenu(self.ID_THEME, _("Themes"), self.theme_menu) # ---debug submenu self.debug_menu = wx.Menu() self.USBBULK = wx.MenuItem(self.debug_menu, self.ID_USBBULK, _("USB Bulk"), "", wx.ITEM_CHECK) self.debug_menu.AppendItem(self.USBBULK) self.USBBULK.Enable(False) self.CDC = wx.MenuItem(self.debug_menu, self.ID_CDC, _("CDC"), "", wx.ITEM_CHECK) self.debug_menu.AppendItem(self.CDC) self.CDC.Enable(False) self.pref_menu.AppendMenu(self.ID_DEBUG, _("Debug"), self.debug_menu) self.menu.Append(self.pref_menu, _("Preferences")) self.HELP = wx.Menu() self.ABOUT = wx.MenuItem(self.HELP, self.ID_WEBSITE, _("Website"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_BLOG, _("Blog"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_FORUM, _("Forum"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_GROUP, _("Group"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_WIKI, _("Wiki"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_TUTORIAL, _("Tutorial"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_ABOUT, _("About..."), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.menu.Append(self.HELP, _("Help")) self.SetMenuBar(self.menu) # ------------------------------------------------------------------------------ # Load toolbar icons # ------------------------------------------------------------------------------ self.DrawToolbar() # define output window self.logwindow = wx.TextCtrl(self, -1, "",wx.DefaultPosition,wx.Size(400,300), style=wx.TE_MULTILINE|wx.TE_READONLY) self.logwindow.SetBackgroundColour(wx.Colour(0, 0, 0)) self.logwindow.SetForegroundColour(wx.Colour(255, 255, 255)) # create a PaneInfo structure for output window PaneOutputInfo=wx.aui.AuiPaneInfo() PaneOutputInfo.CloseButton(False) PaneOutputInfo.MaximizeButton(True) PaneOutputInfo.MinimizeButton(True) PaneOutputInfo.Caption(_("Output")) PaneOutputInfo.Bottom() # create editor panel editorsize=self.GetSize()-self.logwindow.GetSize() editorsize=(editorsize[0],editorsize[1]) self.EditorPanel = wx.Panel(self,-1,wx.DefaultPosition,wx.Size(400,100)) self.pinguinobmp = wx.StaticBitmap(self.EditorPanel, -1, wx.Bitmap(sys.path[0]+"/theme/pinguinodesign.png", wx.BITMAP_TYPE_ANY)) self.pinguinobmp.CentreOnParent(wx.BOTH) # create a PaneInfo structure for editor window # this Paneinfo will be switched when loading a file self.PaneEditorInfo=wx.aui.AuiPaneInfo() self.PaneEditorInfo.CloseButton(False) self.PaneEditorInfo.MaximizeButton(True) self.PaneEditorInfo.Caption(_("Editor")) self.PaneEditorInfo.Top() # add the panes to the manager self._mgr.AddPane(self.toolbar, wx.aui.AuiPaneInfo(). Name("toolbar").Caption("Toolbar"). ToolbarPane().Top().Row(1). LeftDockable(False).RightDockable(False)) self._mgr.AddPane(self.logwindow, PaneOutputInfo, '') self._mgr.AddPane(self.EditorPanel, wx.CENTER , '') self.editor = editeur.editeur(self.EditorPanel, -1,self.EditorPanel.GetSize()) # tell the manager to 'commit' all the changes just made self._mgr.Update() # ------------------------------------------------------------------------------ # Event Management # ------------------------------------------------------------------------------ self.Bind(wx.EVT_CLOSE, self.OnExit) self.Bind(wx.EVT_SIZE, self.OnResize) self.Bind(wx.aui.EVT_AUI_RENDER, self.OnRender) # file menu self.Bind(wx.EVT_MENU, self.OnNew, self.NEW) self.Bind(wx.EVT_MENU, self.OnOpen, self.OPEN) self.Bind(wx.EVT_MENU_RANGE, self.OnFileHistory, id=wx.ID_FILE1, id2=wx.ID_FILE9) self.Bind(wx.EVT_MENU, self.OnSave, self.SAVE) self.Bind(wx.EVT_MENU, self.OnSaveAs, self.SAVEAS) self.Bind(wx.EVT_MENU, self.OnClose, self.CLOSE) self.Bind(wx.EVT_MENU, self.OnExit, self.EXIT) # edit menu self.Bind(wx.EVT_MENU, self.editor.copy, self.COPY) self.Bind(wx.EVT_MENU, self.editor.paste, self.PASTE) self.Bind(wx.EVT_MENU, self.editor.cut, self.CUT) self.Bind(wx.EVT_MENU, self.editor.clear, self.CLEAR) self.Bind(wx.EVT_MENU, self.editor.undo, self.UNDO) self.Bind(wx.EVT_MENU, self.editor.redo, self.REDO) self.Bind(wx.EVT_MENU, self.OnFind, self.FIND) self.Bind(wx.EVT_MENU, self.editor.selectall, self.SELECTALL) # pref menu self.Bind(wx.EVT_MENU_RANGE, self.OnTheme, id=self.ID_THEME1, id2=self.ID_THEME1 + self.themeNum) # icons bar self.Bind(wx.EVT_TOOL, self.OnVerify, id=self.ID_VERIFY) self.Bind(wx.EVT_TOOL, self.OnClose, id=wx.ID_CLOSE) self.Bind(wx.EVT_TOOL, self.OnNew, id=wx.ID_NEW) self.Bind(wx.EVT_TOOL, self.OnSave, id=wx.ID_SAVE) self.Bind(wx.EVT_TOOL, self.OnOpen, id=wx.ID_OPEN) self.Bind(wx.EVT_TOOL, self.OnUpload, id=self.ID_UPLOAD) self.Bind(wx.EVT_TOOL, self.OnFind, id=wx.ID_FIND) self.Bind(wx.EVT_TOOL, self.OnExit, id=wx.ID_EXIT) self.Bind(wx.EVT_TOOL, self.editor.undo, id=wx.ID_UNDO) self.Bind(wx.EVT_TOOL, self.editor.redo, id=wx.ID_REDO) self.Bind(wx.EVT_TOOL, self.editor.cut, id=wx.ID_CUT) self.Bind(wx.EVT_TOOL, self.editor.copy, id=wx.ID_COPY) self.Bind(wx.EVT_TOOL, self.editor.paste, id=wx.ID_PASTE) self.Bind(wx.EVT_TOOL, self.editor.clear, id=wx.ID_CLEAR) self.Bind(wx.EVT_TOOL, self.editor.selectall, id=wx.ID_SELECTALL) # help menu self.Bind(wx.EVT_TOOL, self.website, id=self.ID_WEBSITE) # website self.Bind(wx.EVT_TOOL, self.website, id=self.ID_BLOG) # blog self.Bind(wx.EVT_TOOL, self.website, id=self.ID_FORUM) # forum self.Bind(wx.EVT_TOOL, self.website, id=self.ID_GROUP) # group self.Bind(wx.EVT_TOOL, self.website, id=self.ID_WIKI) # wiki self.Bind(wx.EVT_TOOL, self.website, id=self.ID_TUTORIAL) # tutorial self.Bind(wx.EVT_MENU, self.OnAbout, self.ABOUT) # initialize all the lib pdl in /lib folder self.readlib() self.displaymsg(_("Welcome to ") + pinguino_version + "\n", 0); # check current theme in menu id = self.theme_menu.FindItem(self.theme) self.menu.Check(id, True)
def __init__(self, *args, **kwds): kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) loc = locale.getdefaultlocale()[0][0:2] lang = gettext.translation('pinguino', './locale', languages=[loc]) lang.install() self.menu = wx.MenuBar() wxglade_tmp_menu = wx.Menu() self.NEW = wx.MenuItem(wxglade_tmp_menu, 20, _("New"), "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendItem(self.NEW) self.OPEN = wx.MenuItem(wxglade_tmp_menu, 21, _("Open"), "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendItem(self.OPEN) self.SAVE = wx.MenuItem(wxglade_tmp_menu, 22, _("Save"), "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendItem(self.SAVE) wxglade_tmp_menu.AppendSeparator() self.CLOSE = wx.MenuItem(wxglade_tmp_menu, 23, _("Close"), "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendItem(self.CLOSE) self.EXIT = wx.MenuItem(wxglade_tmp_menu, 24, _("Exit"), "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendItem(self.EXIT) self.menu.Append(wxglade_tmp_menu, _("File")) self.LANGUAGE = wx.Menu() self.ENGLISH = wx.MenuItem(self.LANGUAGE, 26, _("English"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.ENGLISH) self.FRENCH = wx.MenuItem(self.LANGUAGE, 27, _("French"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.FRENCH) self.SPANISH = wx.MenuItem(self.LANGUAGE, 28, _("Spanish"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.SPANISH) self.PORTUGUESE = wx.MenuItem(self.LANGUAGE, 29, _("Portuguese"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.PORTUGUESE) self.DANISH = wx.MenuItem(self.LANGUAGE, 30, _("Danish"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.DANISH) self.CROATIAN = wx.MenuItem(self.LANGUAGE, 31, _("Croatian"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.CROATIAN) self.ITALIAN = wx.MenuItem(self.LANGUAGE, 32, _("Italian"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.ITALIAN) self.GERMANY = wx.MenuItem(self.LANGUAGE, 33, _("Germany"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.GERMANY) self.menu.Append(self.LANGUAGE, _("Language")) self.HELP = wx.Menu() self.ABOUT = wx.MenuItem(self.HELP, 25, _("About"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.menu.Append(self.HELP, _("Help")) self.SetMenuBar(self.menu) self.frame_1_statusbar = self.CreateStatusBar(1, 0) self.frame_1_toolbar = wx.ToolBar(self, -1) self.SetToolBar(self.frame_1_toolbar) self.frame_1_toolbar.AddLabelTool( 100, _("Verify"), wx.Bitmap(sys.path[0] + "/runw5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("Verify"), "") self.frame_1_toolbar.AddLabelTool( 101, _("Close"), wx.Bitmap(sys.path[0] + "/stop5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("Close"), "") self.frame_1_toolbar.AddSeparator() self.frame_1_toolbar.AddSeparator() self.frame_1_toolbar.AddSeparator() self.frame_1_toolbar.AddLabelTool( 102, _("New"), wx.Bitmap(sys.path[0] + "/new5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("New"), "") self.frame_1_toolbar.AddLabelTool( 103, _("Save"), wx.Bitmap(sys.path[0] + "/save5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("Save"), "") self.frame_1_toolbar.AddLabelTool( 104, _("Open"), wx.Bitmap(sys.path[0] + "/open5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("Open"), "") self.frame_1_toolbar.AddLabelTool( 105, _("Upload"), wx.Bitmap(sys.path[0] + "/dwn5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("Upload"), "") self.editor = editeur.editeur(self, -1) self.logwindow = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE | wx.TE_READONLY) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_MENU, self.New, self.NEW) self.Bind(wx.EVT_MENU, self.Open, self.OPEN) self.Bind(wx.EVT_MENU, self.Save, self.SAVE) self.Bind(wx.EVT_MENU, self.Close, self.CLOSE) self.Bind(wx.EVT_MENU, self.Exit, self.EXIT) self.Bind(wx.EVT_MENU, self.About, self.ABOUT) self.Bind(wx.EVT_TOOL, self.Verify, id=100) self.Bind(wx.EVT_TOOL, self.Close, id=101) self.Bind(wx.EVT_TOOL, self.New, id=102) self.Bind(wx.EVT_TOOL, self.Save, id=103) self.Bind(wx.EVT_TOOL, self.Open, id=104) self.Bind(wx.EVT_TOOL, self.Upload, id=105) self.Bind(wx.EVT_SIZE, self.onresize)
def __init__(self, *args, **kwds): kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) loc = locale.getdefaultlocale()[0][0:2] lang = gettext.translation('pinguino', './locale', languages=[loc]) lang.install() self.menu = wx.MenuBar() wxglade_tmp_menu = wx.Menu() self.NEW = wx.MenuItem(wxglade_tmp_menu, 20, _("New"), "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendItem(self.NEW) self.OPEN = wx.MenuItem(wxglade_tmp_menu, 21, _("Open"), "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendItem(self.OPEN) self.SAVE = wx.MenuItem(wxglade_tmp_menu, 22, _("Save"), "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendItem(self.SAVE) wxglade_tmp_menu.AppendSeparator() self.CLOSE = wx.MenuItem(wxglade_tmp_menu, 23, _("Close"), "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendItem(self.CLOSE) self.EXIT = wx.MenuItem(wxglade_tmp_menu, 24, _("Exit"), "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendItem(self.EXIT) self.menu.Append(wxglade_tmp_menu, _("File")) self.LANGUAGE = wx.Menu() self.ENGLISH = wx.MenuItem(self.LANGUAGE, 26, _("English"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.ENGLISH) self.FRENCH = wx.MenuItem(self.LANGUAGE, 27, _("French"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.FRENCH) self.SPANISH = wx.MenuItem(self.LANGUAGE, 28, _("Spanish"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.SPANISH) self.PORTUGUESE = wx.MenuItem(self.LANGUAGE, 29, _("Portuguese"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.PORTUGUESE) self.DANISH = wx.MenuItem(self.LANGUAGE, 30, _("Danish"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.DANISH) self.CROATIAN = wx.MenuItem(self.LANGUAGE, 31, _("Croatian"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.CROATIAN) self.ITALIAN = wx.MenuItem(self.LANGUAGE, 32, _("Italian"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.ITALIAN) self.GERMANY = wx.MenuItem(self.LANGUAGE, 33, _("Germany"), "", wx.ITEM_NORMAL) self.LANGUAGE.AppendItem(self.GERMANY) self.menu.Append(self.LANGUAGE, _("Language")) self.HELP = wx.Menu() self.ABOUT = wx.MenuItem(self.HELP, 25, _("About"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.menu.Append(self.HELP, _("Help")) self.SetMenuBar(self.menu) self.frame_1_statusbar = self.CreateStatusBar(1, 0) self.frame_1_toolbar = wx.ToolBar(self, -1) self.SetToolBar(self.frame_1_toolbar) self.frame_1_toolbar.AddLabelTool(100, _("Verify"), wx.Bitmap(sys.path[0]+"/runw5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("Verify"), "") self.frame_1_toolbar.AddLabelTool(101, _("Close"), wx.Bitmap(sys.path[0]+"/stop5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("Close"), "") self.frame_1_toolbar.AddSeparator() self.frame_1_toolbar.AddSeparator() self.frame_1_toolbar.AddSeparator() self.frame_1_toolbar.AddLabelTool(102, _("New"), wx.Bitmap(sys.path[0]+"/new5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("New"), "") self.frame_1_toolbar.AddLabelTool(103, _("Save"), wx.Bitmap(sys.path[0]+"/save5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("Save"), "") self.frame_1_toolbar.AddLabelTool(104, _("Open"), wx.Bitmap(sys.path[0]+"/open5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("Open"), "") self.frame_1_toolbar.AddLabelTool(105, _("Upload"), wx.Bitmap(sys.path[0]+"/dwn5050.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, _("Upload"), "") self.editor = editeur.editeur(self, -1) self.logwindow = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE|wx.TE_READONLY) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_MENU, self.New, self.NEW) self.Bind(wx.EVT_MENU, self.Open, self.OPEN) self.Bind(wx.EVT_MENU, self.Save, self.SAVE) self.Bind(wx.EVT_MENU, self.Close, self.CLOSE) self.Bind(wx.EVT_MENU, self.Exit, self.EXIT) self.Bind(wx.EVT_MENU,self.About,self.ABOUT) self.Bind(wx.EVT_TOOL, self.Verify, id=100) self.Bind(wx.EVT_TOOL, self.Close, id=101) self.Bind(wx.EVT_TOOL, self.New, id=102) self.Bind(wx.EVT_TOOL, self.Save, id=103) self.Bind(wx.EVT_TOOL, self.Open, id=104) self.Bind(wx.EVT_TOOL, self.Upload, id=105) self.Bind(wx.EVT_SIZE,self.onresize)
def __init__(self, parent, id=-1, title='Pinguino', pos=wx.DefaultPosition, size=(600, 600), style=wx.DEFAULT_FRAME_STYLE): # ---------------------------------------------------------------------- # load settings from config file # ---------------------------------------------------------------------- self.config = wx.FileConfig(localFilename=APP_CONFIG, style=wx.CONFIG_USE_LOCAL_FILE) self.filehistory = wx.FileHistory() self.filehistory.Load(self.config) framesize = (self.config.ReadInt('Window/Width', -1), self.config.ReadInt('Window/Height', -1)) framepos = (self.config.ReadInt('Window/Posx', -1), self.config.ReadInt('Window/Posy', -1)) outputsize = (self.config.ReadInt('Output/Width', -1), self.config.ReadInt('Output/Height', -1)) self.theme = self.config.Read('Theme/name') if self.theme == '': self.theme = THEME_DEFAULT wx.Frame.__init__(self, parent, id, title, framepos, framesize, style) loc = locale.getdefaultlocale()[0][0:2] self.lang = gettext.translation('pinguino', sys.path[0] + '/locale', languages=[loc], fallback=True) _ = self.lang.ugettext #self.SetTitle('Pinguino '+pinguino_version) self.SetTitle('Qubotic - www.roboticawilde.com.ar') _icon = wx.EmptyIcon() _icon.CopyFromBitmap( wx.Bitmap(sys.path[0] + "/logo.png", wx.BITMAP_TYPE_ANY)) self.SetIcon(_icon) self._mgr = wx.aui.AuiManager(self) self.menu = wx.MenuBar() # file menu self.file_menu = wx.Menu() self.NEW = wx.MenuItem(self.file_menu, wx.ID_NEW, _("New"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.NEW) self.OPEN = wx.MenuItem(self.file_menu, wx.ID_OPEN, _("Open"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.OPEN) self.SAVE = wx.MenuItem(self.file_menu, wx.ID_SAVE, _("Save"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.SAVE) self.SAVEAS = wx.MenuItem(self.file_menu, wx.ID_SAVEAS, _("Save as"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.SAVEAS) self.CLOSE = wx.MenuItem(self.file_menu, wx.ID_CLOSE, _("Close"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.CLOSE) self.EXIT = wx.MenuItem(self.file_menu, wx.ID_EXIT, _("Exit"), "", wx.ITEM_NORMAL) self.file_menu.AppendItem(self.EXIT) # ---file history------------------------------------------------------- self.filehistory.UseMenu(self.file_menu) self.filehistory.AddFilesToMenu() self.menu.Append(self.file_menu, _("File")) # edit menu self.edit_menu = wx.Menu() self.UNDO = wx.MenuItem(self.edit_menu, wx.ID_UNDO, _("Undo"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.UNDO) self.REDO = wx.MenuItem(self.edit_menu, wx.ID_REDO, _("Redo"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.REDO) self.edit_menu.AppendSeparator() self.FIND = wx.MenuItem(self.edit_menu, wx.ID_FIND, _("Find"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.FIND) self.REPLACE = wx.MenuItem(self.edit_menu, wx.ID_REPLACE, _("Replace"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.REPLACE) self.REPLACE.Enable(False) self.edit_menu.AppendSeparator() self.CUT = wx.MenuItem(self.edit_menu, wx.ID_CUT, _("Cut"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.CUT) self.COPY = wx.MenuItem(self.edit_menu, wx.ID_COPY, _("Copy"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.COPY) self.PASTE = wx.MenuItem(self.edit_menu, wx.ID_PASTE, _("Paste"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.PASTE) self.CLEAR = wx.MenuItem(self.edit_menu, wx.ID_CLEAR, _("Clear"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.CLEAR) self.SELECTALL = wx.MenuItem(self.edit_menu, wx.ID_SELECTALL, _("Select all"), "", wx.ITEM_NORMAL) self.edit_menu.AppendItem(self.SELECTALL) self.menu.Append(self.edit_menu, _("Edit")) # preferences menu self.pref_menu = wx.Menu() # ---theme submenu self.theme_menu = wx.Menu() self.GetTheme() i = 0 for th in self.themeList: self.THEME.append( wx.MenuItem(self.theme_menu, self.ID_THEME1 + i, th, "", wx.ITEM_CHECK)) self.theme_menu.AppendItem(self.THEME[i]) i = i + 1 self.pref_menu.AppendMenu(self.ID_THEME, _("Themes"), self.theme_menu) # ---debug submenu self.debug_menu = wx.Menu() self.USBBULK = wx.MenuItem(self.debug_menu, self.ID_USBBULK, _("USB Bulk"), "", wx.ITEM_CHECK) self.debug_menu.AppendItem(self.USBBULK) self.USBBULK.Enable(False) self.CDC = wx.MenuItem(self.debug_menu, self.ID_CDC, _("CDC"), "", wx.ITEM_CHECK) self.debug_menu.AppendItem(self.CDC) self.CDC.Enable(False) self.pref_menu.AppendMenu(self.ID_DEBUG, _("Debug"), self.debug_menu) self.menu.Append(self.pref_menu, _("Preferences")) self.HELP = wx.Menu() self.ABOUT = wx.MenuItem(self.HELP, self.ID_WEBSITE, _("Website"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_BLOG, _("Blog"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_FORUM, _("Forum"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_GROUP, _("Group"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_WIKI, _("Wiki"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_TUTORIAL, _("Tutorial"), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.ABOUT = wx.MenuItem(self.HELP, self.ID_ABOUT, _("About..."), "", wx.ITEM_NORMAL) self.HELP.AppendItem(self.ABOUT) self.menu.Append(self.HELP, _("Help")) self.SetMenuBar(self.menu) # ------------------------------------------------------------------------------ # Load toolbar icons # ------------------------------------------------------------------------------ self.DrawToolbar() # define output window self.logwindow = wx.TextCtrl(self, -1, "", wx.DefaultPosition, wx.Size(400, 300), style=wx.TE_MULTILINE | wx.TE_READONLY) self.logwindow.SetBackgroundColour(wx.Colour(0, 0, 0)) self.logwindow.SetForegroundColour(wx.Colour(255, 255, 255)) # create a PaneInfo structure for output window PaneOutputInfo = wx.aui.AuiPaneInfo() PaneOutputInfo.CloseButton(False) PaneOutputInfo.MaximizeButton(True) PaneOutputInfo.MinimizeButton(True) PaneOutputInfo.Caption(_("Output")) PaneOutputInfo.Bottom() # create editor panel editorsize = self.GetSize() - self.logwindow.GetSize() editorsize = (editorsize[0], editorsize[1]) self.EditorPanel = wx.Panel(self, -1, wx.DefaultPosition, wx.Size(400, 100)) self.pinguinobmp = wx.StaticBitmap( self.EditorPanel, -1, wx.Bitmap(sys.path[0] + "/theme/pinguinodesign.png", wx.BITMAP_TYPE_ANY)) self.pinguinobmp.CentreOnParent(wx.BOTH) # create a PaneInfo structure for editor window # this Paneinfo will be switched when loading a file self.PaneEditorInfo = wx.aui.AuiPaneInfo() self.PaneEditorInfo.CloseButton(False) self.PaneEditorInfo.MaximizeButton(True) self.PaneEditorInfo.Caption(_("Editor")) self.PaneEditorInfo.Top() # add the panes to the manager self._mgr.AddPane( self.toolbar, wx.aui.AuiPaneInfo().Name("toolbar").Caption( "Toolbar").ToolbarPane().Top().Row(1).LeftDockable( False).RightDockable(False)) self._mgr.AddPane(self.logwindow, PaneOutputInfo, '') self._mgr.AddPane(self.EditorPanel, wx.CENTER, '') self.editor = editeur.editeur(self.EditorPanel, -1, self.EditorPanel.GetSize()) # tell the manager to 'commit' all the changes just made self._mgr.Update() # ------------------------------------------------------------------------------ # Event Management # ------------------------------------------------------------------------------ self.Bind(wx.EVT_CLOSE, self.OnExit) self.Bind(wx.EVT_SIZE, self.OnResize) self.Bind(wx.aui.EVT_AUI_RENDER, self.OnRender) # file menu self.Bind(wx.EVT_MENU, self.OnNew, self.NEW) self.Bind(wx.EVT_MENU, self.OnOpen, self.OPEN) self.Bind(wx.EVT_MENU_RANGE, self.OnFileHistory, id=wx.ID_FILE1, id2=wx.ID_FILE9) self.Bind(wx.EVT_MENU, self.OnSave, self.SAVE) self.Bind(wx.EVT_MENU, self.OnSaveAs, self.SAVEAS) self.Bind(wx.EVT_MENU, self.OnClose, self.CLOSE) self.Bind(wx.EVT_MENU, self.OnExit, self.EXIT) # edit menu self.Bind(wx.EVT_MENU, self.editor.copy, self.COPY) self.Bind(wx.EVT_MENU, self.editor.paste, self.PASTE) self.Bind(wx.EVT_MENU, self.editor.cut, self.CUT) self.Bind(wx.EVT_MENU, self.editor.clear, self.CLEAR) self.Bind(wx.EVT_MENU, self.editor.undo, self.UNDO) self.Bind(wx.EVT_MENU, self.editor.redo, self.REDO) self.Bind(wx.EVT_MENU, self.OnFind, self.FIND) self.Bind(wx.EVT_MENU, self.editor.selectall, self.SELECTALL) # pref menu self.Bind(wx.EVT_MENU_RANGE, self.OnTheme, id=self.ID_THEME1, id2=self.ID_THEME1 + self.themeNum) # icons bar self.Bind(wx.EVT_TOOL, self.OnVerify, id=self.ID_VERIFY) self.Bind(wx.EVT_TOOL, self.OnClose, id=wx.ID_CLOSE) self.Bind(wx.EVT_TOOL, self.OnNew, id=wx.ID_NEW) self.Bind(wx.EVT_TOOL, self.OnSave, id=wx.ID_SAVE) self.Bind(wx.EVT_TOOL, self.OnOpen, id=wx.ID_OPEN) self.Bind(wx.EVT_TOOL, self.OnUpload, id=self.ID_UPLOAD) self.Bind(wx.EVT_TOOL, self.OnFind, id=wx.ID_FIND) self.Bind(wx.EVT_TOOL, self.OnExit, id=wx.ID_EXIT) self.Bind(wx.EVT_TOOL, self.editor.undo, id=wx.ID_UNDO) self.Bind(wx.EVT_TOOL, self.editor.redo, id=wx.ID_REDO) self.Bind(wx.EVT_TOOL, self.editor.cut, id=wx.ID_CUT) self.Bind(wx.EVT_TOOL, self.editor.copy, id=wx.ID_COPY) self.Bind(wx.EVT_TOOL, self.editor.paste, id=wx.ID_PASTE) self.Bind(wx.EVT_TOOL, self.editor.clear, id=wx.ID_CLEAR) self.Bind(wx.EVT_TOOL, self.editor.selectall, id=wx.ID_SELECTALL) # help menu self.Bind(wx.EVT_TOOL, self.website, id=self.ID_WEBSITE) # website self.Bind(wx.EVT_TOOL, self.website, id=self.ID_BLOG) # blog self.Bind(wx.EVT_TOOL, self.website, id=self.ID_FORUM) # forum self.Bind(wx.EVT_TOOL, self.website, id=self.ID_GROUP) # group self.Bind(wx.EVT_TOOL, self.website, id=self.ID_WIKI) # wiki self.Bind(wx.EVT_TOOL, self.website, id=self.ID_TUTORIAL) # tutorial self.Bind(wx.EVT_MENU, self.OnAbout, self.ABOUT) # initialize all the lib pdl in /lib folder self.readlib() self.displaymsg(_("Welcome to ") + pinguino_version + "\n", 0) # check current theme in menu id = self.theme_menu.FindItem(self.theme) self.menu.Check(id, True)