def __init__(self, parent, grand_parent): wx.Panel.__init__(self, parent, -1, style=wx.NO_FULL_REPAINT_ON_RESIZE) self.lessons_dir = conf.getLessonsNlDir() self.parent = parent self.grand_parent = grand_parent self.html = html.HtmlWindow(self, -1, style=wx.NO_FULL_REPAINT_ON_RESIZE) btn_size = (32, 32) spacer_large = (125, 36) spacer_small = (4, 4) self.tip_list = [_("Go back in browser history"), _("Home"), _("Go forward in browser history")] tip_list = [] for tooltip in self.tip_list: tip_list.append(_(tooltip)) button_list = [ [None, False, None, None, spacer_small, None], [wx.NewId(), True, self.OnBack, getImage(images.BACK), btn_size, tip_list[0]], [None, False, None, None, spacer_small, None], [wx.NewId(), True, self.OnHome, getImage(images.HOME), btn_size, tip_list[1]], [None, False, None, None, spacer_small, None], [wx.NewId(), True, self.OnForward, getImage(images.FORWARD), btn_size, tip_list[2]], [None, False, None, None, spacer_small, None] ] self.box = wx.BoxSizer(wx.VERTICAL) subbox = wx.BoxSizer(wx.HORIZONTAL) self.btn_list = [] for id, button, action, img, size, tip in button_list: if button: name = wx.lib.buttons.GenBitmapButton(self, id, img, size=size) name.SetToolTipString(tip) wx.EVT_BUTTON(self, id, action) subbox.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create a list for later reference else: subbox.Add(size, 0, wx.EXPAND) self.box.Add(subbox, 0, wx.GROW) self.box.Add(self.html, 1, wx.GROW) self.SetSizer(self.box) self.SetAutoLayout(True) if 'write' not in sys.argv: self.name = os.path.join(self.lessons_dir, 'instr.htm') else: self.name = os.path.join(self.lessons_dir, 'wrtinstr.htm') self.html.LoadPage(self.name)
def __init__(self, excpt): MyDialogs.__init__(self, None, -1, _("Success!"), excpt.mesg, "Ok", getImage(images.MINI_SPLASH), modal=False) self.timer = wx.Timer(self) self.timer.Start(2000) self.Bind(wx.EVT_TIMER, self.OnCloseMe)
def __init__(self, parent, ID, title): wx.Frame.__init__(self, None, -1, title=title) self.SetBackgroundColour("wheat") self.parent = parent self.world = parent.world self.WorldDisplay = parent.WorldDisplay self.robot = parent.world.robot_dict mesg = _("""Select the desired world dimensions (streets and avenues). The existing walls and beepers will be removed.""") label = wx.StaticText(self, -1, mesg, (0,0)) min_avenues = 5 min_streets = 5 max_avenues = 30 max_streets = 30 self.streets = parent.world.st self.avenues = parent.world.av world_image = wx.StaticBitmap(self, -1, getImage(images.EDIT_WORLD), (60, 90)) length, height = world_image.GetSize() self.slider_street = wx.Slider( # id, value, min, max, (x, y), (length, height) self, -1, self.streets, min_streets, max_streets, (0, 0), (-1, height), wx.SL_VERTICAL | wx.SL_LABELS | wx.SL_AUTOTICKS ) self.slider_street.SetTickFreq(1, 1) self.slider_avenue = wx.Slider( # id, value, min, max, (x, y), (length, height) self, -1, self.avenues, min_avenues, max_avenues, (0, 0), (length, -1), wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | wx.SL_LABELS ) self.slider_avenue.SetTickFreq(1, 1) # btnId = wx.NewId() button = wx.Button(self, btnId, "ok") wx.EVT_BUTTON(self, btnId, self.OnCloseMe) wx.EVT_CLOSE(self, self.OnCloseWindow) gbs = wx.GridBagSizer(10, 10) gbs.Add(label, (0, 2), (1, 4)) gbs.Add(self.slider_avenue, (1, 2), (1, 4)) gbs.Add(world_image, (2, 2), (1, 4)) gbs.Add(self.slider_street, (2, 1)) gbs.Add(button, (3, 3)) self.SetSizerAndFit(gbs) self.Show()
def sendToXbmc(self): ''' sendToXbmc() DESCRIPTION: Sends the menu to XBMC. ''' for item in self.listing: # create item to add to menu icon = images.getImage(item['image_key']) listItem = xbmcgui.ListItem(item['name'], iconImage=icon) # assemble link url params = shared.__params__ params['addr'] = item['node_addr'] params['type'] = item['node_type'] params['cmd'] = item['node_action'] params['parent'] = item['node_parent'] params['browsing'] = item['browsing'] url = urls.CreateUrl(shared.__path__, **params) # create the item's context menu context = [] for context_item in item['context_menu']: context_url = urls.CreateUrl( shared.__path__, addr=item['node_addr'], type=item['node_type'], cmd=context_item[1], parent=item['node_parent']) context.append((context_item[0], 'XBMC.RunPlugin(' + context_url + ')')) listItem.addContextMenuItems(context, replaceItems=True) # add item to menu xbmcplugin.addDirectoryItem( handle=self.handle, url=url, listitem=listItem, isFolder=item['node_action'] is None)
def add_orphan_cont(cont_uuid): container = Container(cont_uuid) print("In add_orphan_cont") if container: container.updatedetails() cont_details = container.properties logger.debug(cont_details) image_details = getImage(cont_details['ImageName']) db.container_data.insert( name=cont_details['Name'][1:], RAM=int(int(cont_details['Memory']) / 1024 / 1024), vCPU=1, UUID=cont_uuid, image_id=image_details['templateid'], image_profile=image_details['type'], restart_policy=None, requester_id=SYSTEM_USER, owner_id=SYSTEM_USER, purpose='Added by System', status=cont_state_to_status(cont_details['State'])) return
def add_orphan_cont(cont_uuid): container = Container(cont_uuid); print("In add_orphan_cont") if container: container.updatedetails() cont_details = container.properties logger.debug(cont_details) image_details = getImage(cont_details['ImageName']) db.container_data.insert( name = cont_details['Name'][1:], RAM = int(int(cont_details['Memory'])/1024/1024), vCPU = 1, UUID = cont_uuid, image_id = image_details['templateid'], image_profile = image_details['type'], restart_policy = None, requester_id = SYSTEM_USER, owner_id = SYSTEM_USER, purpose = 'Added by System', status = cont_state_to_status(cont_details['State'])) return
def __init__(self, excpt): MyDialogs.__init__(self, None, -1, _("Error"), excpt.mesg, _("Turn off"), getImage(images.HIT_WALL_IMAGE))
def __init__(self, parent, grand_parent): wx.Panel.__init__(self, parent, -1, style=wx.NO_FULL_REPAINT_ON_RESIZE) self.lessons_dir = conf.getLessonsNlDir() self.parent = parent self.grand_parent = grand_parent self.html = html.HtmlWindow(self, -1, style=wx.NO_FULL_REPAINT_ON_RESIZE) btn_size = (32, 32) spacer_large = (125, 36) spacer_small = (4, 4) tip_list = [ _("Open local html file"), _("Go back in browser history"), _("Home"), _("Go forward in browser history"), _("Select a language") ] button_list = [[None, False, None, None, spacer_small, None], [ wx.NewId(), True, self.OnLoadFile, getImage(images.OPEN_HTML), btn_size, tip_list[0] ], [None, False, None, None, spacer_large, None], [ wx.NewId(), True, self.OnBack, getImage(images.BACK), btn_size, tip_list[1] ], [None, False, None, None, spacer_small, None], [ wx.NewId(), True, self.OnHome, getImage(images.HOME), btn_size, tip_list[2] ], [None, False, None, None, spacer_small, None], [ wx.NewId(), True, self.OnForward, getImage(images.FORWARD), btn_size, tip_list[3] ], [None, False, None, None, spacer_large, None], [ wx.NewId(), True, None, getImage(images.LANGUAGES), (58, 34), tip_list[4] ], [None, False, None, None, spacer_small, None]] self.box = wx.BoxSizer(wx.VERTICAL) subbox = wx.BoxSizer(wx.HORIZONTAL) self.btn_list = [] for id, button, action, img, size, tip in button_list: if button: name = wx.lib.buttons.GenBitmapButton(self, id, img, size=size) name.SetToolTipString(tip) wx.EVT_BUTTON(self, id, action) subbox.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create a list for later reference else: subbox.Add(size, 0, wx.EXPAND) languageList = [] for language in conf.getAvailableLanguages(): languageList.append(translation.languages[language][2]) languageList.sort() self.ch = wx.Choice(self, -1, choices=languageList) # set index of current language try: langnum = languageList.index( translation.languages[conf.getLanguage()][2]) except ValueError: langnum = languageList.index(translation.languages['en'][2]) self.ch.SetSelection(langnum) self.Bind(wx.EVT_CHOICE, self.ChooseLanguage, self.ch) subbox.Add(self.ch, 0, wx.SHAPED) self.box.Add(subbox, 0, wx.GROW) self.box.Add(self.html, 1, wx.GROW) self.SetSizer(self.box) self.SetAutoLayout(True) name = os.path.join(self.lessons_dir, 'rur.htm') self.html.LoadPage(name)
def generateSlidesSubCategory(wikiPage,SLIDES,DECK_ID,title,content): #Slide1 print('** Get slide objects, search for image placeholder') slide1 = SLIDES.presentations().get(presentationId=DECK_ID, fields='slides').execute().get('slides')[1] obj = None print(len(slide1['pageElements'])) for obj in slide1['pageElements']: try: if 'RECTANGLE' in obj['shape']['shapeType']: break except: print('n tem') print('** Replacing placeholder text and icon') #Slide2 print('** Get slide objects, search for image placeholder') slide2 = SLIDES.presentations().get(presentationId=DECK_ID, fields='slides').execute().get('slides')[2] obj = None print(len(slide2['pageElements'])) for obj in slide2['pageElements']: try: if 'RECTANGLE' in obj['shape']['shapeType']: break except: print('n tem') img_url = getImage(wikiPage,title) # img_url= 'https://www.prefeitura.sp.gov.br/cidade/upload/Casa_Imagem_1334844048.jpg' print('** Replacing placeholder text and icon') pageId = slide1['objectId'] lista = [str(slide1['objectId']) , str(slide2['objectId'])] slideModel = random.choice(lista) reqs = [ { "duplicateObject": { "objectId": slideModel, "objectIds": { pageId: str(uuid.uuid1()) } } } ] r = SLIDES.presentations().batchUpdate(body={'requests': reqs},presentationId=DECK_ID).execute() r print((r)) current_slide = (r['replies'][0]["duplicateObject"]["objectId"]) print(current_slide) slides = SLIDES.presentations().get(presentationId=DECK_ID, fields='slides').execute().get('slides') for s in slides: if current_slide in s["objectId"]: slidenovo = s continue # print(slidenovo["objectId"]) obj = None for obj in slidenovo['pageElements']: try: if 'RECTANGLE' in obj['shape']['shapeType']: break except: print('n tem') reqs = [ {'replaceAllText': { 'containsText': {'text': '{{title}}'}, 'replaceText': title, 'pageObjectIds': current_slide }}, {'replaceAllText': { 'containsText': {'text': '{{content}}'}, 'replaceText': content, 'pageObjectIds': current_slide }}, {'createImage': { 'url': img_url, 'elementProperties': { 'pageObjectId': current_slide, 'size': obj['size'], 'transform': obj['transform'], } }}, {'deleteObject': {'objectId': obj['objectId']}}, ] SLIDES.presentations().batchUpdate(body={'requests': reqs},presentationId=DECK_ID, ).execute() print('tamanho ' + str((len(SLIDES.presentations().get(presentationId=DECK_ID,fields='slides').execute().get('slides'))))) reqs = [ { "updateSlidesPosition": { "slideObjectIds": [ current_slide ], "insertionIndex": int((len(SLIDES.presentations().get(presentationId=DECK_ID,fields='slides').execute().get('slides')))-1) } } ] SLIDES.presentations().batchUpdate(body={'requests': reqs},presentationId=DECK_ID ).execute() print('DONE')
def __init__(self, parent, editor): wx.Panel.__init__(self, parent, -1) btn_size = (32, 32) spacer_small = (4, 4) spacer_large = (25, 25) tip_list = [_("Open Python file"), _("Save Python file"), _("Run Python program"), _("Run program with argument list"), _("Help"), _("Go to line number"), _("Hide or show output window"), _("Change layout"), _("Clear text")] helpId = wx.NewId() openId = wx.NewId() saveId = wx.NewId() runId = wx.NewId() runWithId = wx.NewId() goToId = wx.NewId() showId = wx.NewId() clearId = wx.NewId() switchId = wx.NewId() widget_list = [ [None, SPACER, None, None, spacer_small, None], [openId, BUTTON, editor.openFile, getImage(images.OPEN_PYTHON), btn_size, tip_list[0]], [None, SPACER, None, None, spacer_small, None], [saveId, BUTTON, editor.saveFile, getImage(images.SAVE_PYTHON), btn_size, tip_list[1]], [None, SPACER, None, None, spacer_large, None], [runId, BUTTON, editor.run, getImage(images.RUN_PROGRAM), btn_size, tip_list[2]], [None, SPACER, None, None, spacer_small, None], [runWithId, BUTTON, editor.run_with, getImage(images.RUN_WITH), btn_size, tip_list[3]], [None, SPACER, None, None, spacer_large, None], [helpId, BUTTON, editor.help, getImage(images.HELP), btn_size, tip_list[4]], [None, SPACER, None, None, spacer_large, None], [goToId, BUTTON, editor.goToLine, getImage(images.GOTO), btn_size, tip_list[5]], [None, SPACER, None, None, spacer_large, None], [showId, BUTTON, editor.show, getImage(images.SHOW_HIDE), btn_size, tip_list[6]], [None, SPACER, None, None, spacer_large, None], [switchId, BUTTON, editor.switch_layout, getImage(images.LAYOUT), btn_size, tip_list[7]], [None, SPACER, None, None, spacer_large, None], [clearId, BUTTON, editor.clear, getImage(images.CLEAR_TEXT), btn_size, tip_list[8]] ] box = wx.BoxSizer(wx.HORIZONTAL) self.btn_list = [] for id, widget, action, img, size, tip in widget_list: if widget == BUTTON: btn = wx.BitmapButton(self, id, img, size=size) #btn = wx.lib.buttons.GenBitmapButton(self, id, img, size=size) #btn = wx.Button(self, id, tip[:7], size=size) btn.SetToolTipString(tip) self.Bind(wx.EVT_BUTTON, action, btn) box.Add(btn, 0, wx.SHAPED) self.btn_list.append(btn) # create a list for later reference elif widget == BITMAP: name = wx.StaticBitmap(self, -1, img, size=size) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == SPACER: box.Add(size, 0, wx.EXPAND) self.SetSizer(box) aTable = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('O'), openId), (wx.ACCEL_CTRL, ord('S'), saveId), (wx.ACCEL_CTRL, ord('R'), runId), (wx.ACCEL_NORMAL, wx.WXK_F5, runWithId), (wx.ACCEL_CTRL, ord('E'), clearId), (wx.ACCEL_NORMAL, wx.WXK_F1, helpId), (wx.ACCEL_CTRL, ord('H'), showId), (wx.ACCEL_CTRL, ord('G'), goToId), (wx.ACCEL_CTRL, ord('L'), switchId)]) editor.SetAcceleratorTable(aTable)
def __init__(self, parent, great_grand_parent): settings = conf.getSettings() wx.ScrolledWindow.__init__(self, parent, -1) self.ggp = great_grand_parent # rurApp instance! btn_size = (32, 32) self.ggp.BUTTON_HEIGHT = btn_size[0] + 8 spacer_large = (settings.SCREEN[9], settings.SCREEN[9]) tip_list = [_("Opens existing robot program"), _("Saves robot program"), _("Opens existing world file"), _("Saves world file"), _("Resets world - from open file"), _("Runs robot program"), _("Steps through robot program instructions"), _("Pause program"), _("Stops program"), _("Adjust robot speed"), _("Edit walls"), _("Resize world"), _("Give beepers to robot"), _("Remove/add robot from/to world"), _("Toggle world file view"), _("Load new images for robot")] widget_list1 = [ [wx.NewId(), BUTTON, self.ggp.OpenProgramFile, getImage(images.OPEN_PROGRAM), btn_size, tip_list[0]], [wx.NewId(), BUTTON, self.ggp.SaveProgramFile, getImage(images.SAVE_PROGRAM), btn_size, tip_list[1]], [None, SPACER, None, None, spacer_large, None], [wx.NewId(), BUTTON, self.ggp.OpenWorldFile, getImage(images.OPEN_WORLD), btn_size, tip_list[2]], [wx.NewId(), BUTTON, self.ggp.SaveWorldFile, getImage(images.SAVE_WORLD), btn_size, tip_list[3]], [wx.NewId(), BUTTON, self.ggp.ResetWorld, getImage(images.RESET_WORLD), btn_size, tip_list[4]], [None, SPACER, None, None, spacer_large, None], [wx.NewId(), BUTTON, self.ggp.RunProgram, getImage(images.RUN_PROGRAM), btn_size, tip_list[5]], [wx.NewId(), BUTTON, self.ggp.Step, getImage(images.STEP), btn_size, tip_list[6]], [wx.NewId(), BUTTON, self.ggp.Pause, getImage(images.PAUSE), btn_size, tip_list[7]], [wx.NewId(), BUTTON, self.ggp.StopProgram, getImage(images.STOP), btn_size, tip_list[8]], [None, SPACER, None, None, spacer_large, None], [wx.NewId(), BITMAP, None, getImage(images.SPEED), btn_size, tip_list[9]] ] widget_list2 =[ [None, SPACER, None, None, spacer_large, None], [wx.NewId(), BUTTON, self.ggp.EditWalls, getImage(images.WALL), btn_size, tip_list[10]], [wx.NewId(), BUTTON, self.ggp.ResizeWorld, getImage(images.RESIZE), btn_size, tip_list[11]], [wx.NewId(), BUTTON, self.ggp.BeepersToRobot, getImage(images.BEEPERS_ROBOT), btn_size, tip_list[12]], [None, SPACER, None, None, spacer_large, None], [wx.NewId(), BUTTON, self.ggp.AddRemoveRobot, getImage(images.ADD_REMOVE_ROBOT), btn_size, tip_list[13]], [None, SPACER, None, None, spacer_large, None], [wx.NewId(), BUTTON, self.ggp.ToggleWorldWindow, getImage(images.SHOW_WORLD_FILE), btn_size, tip_list[14]], [None, SPACER, None, None, spacer_large, None], [wx.NewId(), BUTTON, self.ggp.load_images, getImage(images.NEW_ROBOT_IMAGES), btn_size, tip_list[15]], ] box = wx.BoxSizer(wx.HORIZONTAL) self.btn_list = [] for id, widget, action, img, size, tip in widget_list1: if widget == BUTTON: name = wx.lib.buttons.GenBitmapButton(self, id, img, size=size) name.SetToolTipString(tip) wx.EVT_BUTTON(self, id, action) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == BITMAP: name = wx.StaticBitmap(self, -1, img, size=size) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == SPACER: box.Add(size, 0, wx.EXPAND) min_speed = 0 max_speed = 8 default_speed = 3 self.ggp.slider_speed = wx.Slider( # id, value, min, max, (x, y), (length, height) self, -1, default_speed, min_speed, max_speed, (-1, -1), (100, -1), wx.SL_HORIZONTAL | wx.SL_AUTOTICKS #| wx.SL_LABELS ) self.ggp.slider_speed.SetTickFreq(1, 1) self.ggp.slider_speed.SetToolTipString(tip_list[9]) box.Add(self.ggp.slider_speed, 0, wx.SHAPED) self.ggp.slider_speed.SetFocus() # to make it same colour as background for id, widget, action, img, size, tip in widget_list2: if widget == BUTTON: name = wx.lib.buttons.GenBitmapButton(self, id, img, size=size) name.SetToolTipString(tip) wx.EVT_BUTTON(self, id, action) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == BITMAP: name = wx.StaticBitmap(self, -1, img, size=size) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == SPACER: box.Add(size, 0, wx.EXPAND) self.SetSizer(box) self.SetScrollRate(10, 0)
def __init__(self, parent, grand_parent): wx.Panel.__init__(self, parent, -1, style=wx.NO_FULL_REPAINT_ON_RESIZE) self.lessons_dir = conf.getLessonsNlDir() self.parent = parent self.grand_parent = grand_parent self.html = html.HtmlWindow(self, -1, style=wx.NO_FULL_REPAINT_ON_RESIZE) btn_size = (32, 32) spacer_large = (125, 36) spacer_small = (4, 4) tip_list = [_("Open local html file"), _("Go back in browser history"), _("Home"), _("Go forward in browser history"), _("Select a language")] button_list = [ [None, False, None, None, spacer_small, None], [wx.NewId(), True, self.OnLoadFile, getImage(images.OPEN_HTML), btn_size, tip_list[0]], [None, False, None, None, spacer_large, None], [wx.NewId(), True, self.OnBack, getImage(images.BACK), btn_size, tip_list[1]], [None, False, None, None, spacer_small, None], [wx.NewId(), True, self.OnHome, getImage(images.HOME), btn_size, tip_list[2]], [None, False, None, None, spacer_small, None], [wx.NewId(), True, self.OnForward, getImage(images.FORWARD), btn_size, tip_list[3]], [None, False, None, None, spacer_large, None], [wx.NewId(), True, None, getImage(images.LANGUAGES), (58,34), tip_list[4]], [None, False, None, None, spacer_small, None] ] self.box = wx.BoxSizer(wx.VERTICAL) subbox = wx.BoxSizer(wx.HORIZONTAL) self.btn_list = [] for id, button, action, img, size, tip in button_list: if button: name = wx.lib.buttons.GenBitmapButton(self, id, img, size=size) name.SetToolTipString(tip) wx.EVT_BUTTON(self, id, action) subbox.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create a list for later reference else: subbox.Add(size, 0, wx.EXPAND) languageList = [] for language in conf.getAvailableLanguages(): languageList.append(translation.languages[language][2]) languageList.sort() self.ch = wx.Choice(self, -1, choices = languageList) # set index of current language try: langnum = languageList.index(translation.languages[ conf.getLanguage()][2]) except ValueError: langnum = languageList.index(translation.languages['en'][2]) self.ch.SetSelection(langnum) self.Bind(wx.EVT_CHOICE, self.ChooseLanguage, self.ch) subbox.Add(self.ch, 0, wx.SHAPED) self.box.Add(subbox, 0, wx.GROW) self.box.Add(self.html, 1, wx.GROW) self.SetSizer(self.box) self.SetAutoLayout(True) name = os.path.join(self.lessons_dir, 'rur.htm') self.html.LoadPage(name)
def __init__(self, parent, ID, title): wx.Frame.__init__(self, None, -1, title=title) self.SetBackgroundColour("wheat") self.parent = parent self.world = parent.world self.WorldDisplay = parent.WorldDisplay self.robot = parent.world.robot_dict mesg = _("""Select the desired world dimensions (streets and avenues). The existing walls and beepers will be removed.""") label = wx.StaticText(self, -1, mesg, (0, 0)) min_avenues = 5 min_streets = 5 max_avenues = 30 max_streets = 30 self.streets = parent.world.st self.avenues = parent.world.av world_image = wx.StaticBitmap(self, -1, getImage(images.EDIT_WORLD), (60, 90)) length, height = world_image.GetSize() self.slider_street = wx.Slider( # id, value, min, max, (x, y), (length, height) self, -1, self.streets, min_streets, max_streets, (0, 0), (-1, height), wx.SL_VERTICAL | wx.SL_LABELS | wx.SL_AUTOTICKS) self.slider_street.SetTickFreq(1, 1) self.slider_avenue = wx.Slider( # id, value, min, max, (x, y), (length, height) self, -1, self.avenues, min_avenues, max_avenues, (0, 0), (length, -1), wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | wx.SL_LABELS) self.slider_avenue.SetTickFreq(1, 1) # btnId = wx.NewId() button = wx.Button(self, btnId, "ok") wx.EVT_BUTTON(self, btnId, self.OnCloseMe) wx.EVT_CLOSE(self, self.OnCloseWindow) gbs = wx.GridBagSizer(10, 10) gbs.Add(label, (0, 2), (1, 4)) gbs.Add(self.slider_avenue, (1, 2), (1, 4)) gbs.Add(world_image, (2, 2), (1, 4)) gbs.Add(self.slider_street, (2, 1)) gbs.Add(button, (3, 3)) self.SetSizerAndFit(gbs) self.Show()
def __init__(self, parent, great_grand_parent): settings = conf.getSettings() wx.ScrolledWindow.__init__(self, parent, -1) self.ggp = great_grand_parent # rurApp instance! btn_size = (32, 32) self.ggp.BUTTON_HEIGHT = btn_size[0] + 8 spacer_large = (settings.SCREEN[9], settings.SCREEN[9]) tip_list = [_("Submits Answer & proceeds to next question"), _("Resets World"), _("Tests the program"), _("Steps through robot program instructions"), _("Pause program"), _("Stops program"), _("Bring up instructions"), _("Adjust robot speed")] widget_list1 = [ [None, SPACER, None, None, spacer_large, None], [wx.NewId(), BUTTON, self.ggp.Submit, getImage(images.CHECK_MARK), btn_size, tip_list[0]], [None, SPACER, None, None, spacer_large, None], [None, SPACER, None, None, spacer_large, None], [None, SPACER, None, None, spacer_large, None], [None, SPACER, None, None, spacer_large, None], [None, SPACER, None, None, spacer_large, None], [None, SPACER, None, None, spacer_large, None], [wx.NewId(), BUTTON, self.ggp.Reset, getImage(images.RESET_WORLD), btn_size, tip_list[1]], [wx.NewId(), BUTTON, self.ggp.RunProgram, getImage(images.RUN_PROGRAM), btn_size, tip_list[2]], [wx.NewId(), BUTTON, self.ggp.Step, getImage(images.STEP), btn_size, tip_list[3]], [wx.NewId(), BUTTON, self.ggp.Pause, getImage(images.PAUSE), btn_size, tip_list[4]], [wx.NewId(), BUTTON, self.ggp.StopProgram, getImage(images.STOP), btn_size, tip_list[5]], [wx.NewId(), BUTTON, self.ggp.InstructionSheet, getImage(images.HELP), btn_size, tip_list[6]], [None, SPACER, None, None, spacer_large, None]] box = wx.BoxSizer(wx.HORIZONTAL) self.btn_list = [] for id, widget, action, img, size, tip in widget_list1: if widget == BUTTON: name = wx.lib.buttons.GenBitmapButton(self, id, img, size=size) name.SetToolTipString(tip) wx.EVT_BUTTON(self, id, action) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == BITMAP: name = wx.StaticBitmap(self, -1, img, size=size) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == SPACER: box.Add(size, 0, wx.EXPAND) min_speed = 0 max_speed = 8 default_speed = 4 self.ggp.slider_speed = wx.Slider( # id, value, min, max, (x, y), (length, height) self, -1, default_speed, min_speed, max_speed, (-1, -1), (100, -1), wx.SL_HORIZONTAL | wx.SL_AUTOTICKS #| wx.SL_LABELS ) self.ggp.slider_speed.SetTickFreq(1, 1) self.ggp.slider_speed.SetToolTipString(tip_list[7]) box.Add(self.ggp.slider_speed, 0, wx.SHAPED) self.ggp.slider_speed.SetFocus() # to make it same colour as background self.SetSizer(box) self.SetScrollRate(10, 0)
def __init__(self, parent, editor): wx.Panel.__init__(self, parent, -1) btn_size = (32, 32) spacer_small = (4, 4) spacer_large = (25, 25) tip_list = [ _("Open Python file"), _("Save Python file"), _("Run Python program"), _("Run program with argument list"), _("Help"), _("Go to line number"), _("Hide or show output window"), _("Change layout"), _("Clear text") ] helpId = wx.NewId() openId = wx.NewId() saveId = wx.NewId() runId = wx.NewId() runWithId = wx.NewId() goToId = wx.NewId() showId = wx.NewId() clearId = wx.NewId() switchId = wx.NewId() widget_list = [[None, SPACER, None, None, spacer_small, None], [ openId, BUTTON, editor.openFile, getImage(images.OPEN_PYTHON), btn_size, tip_list[0] ], [None, SPACER, None, None, spacer_small, None], [ saveId, BUTTON, editor.saveFile, getImage(images.SAVE_PYTHON), btn_size, tip_list[1] ], [None, SPACER, None, None, spacer_large, None], [ runId, BUTTON, editor.run, getImage(images.RUN_PROGRAM), btn_size, tip_list[2] ], [None, SPACER, None, None, spacer_small, None], [ runWithId, BUTTON, editor.run_with, getImage(images.RUN_WITH), btn_size, tip_list[3] ], [None, SPACER, None, None, spacer_large, None], [ helpId, BUTTON, editor.help, getImage(images.HELP), btn_size, tip_list[4] ], [None, SPACER, None, None, spacer_large, None], [ goToId, BUTTON, editor.goToLine, getImage(images.GOTO), btn_size, tip_list[5] ], [None, SPACER, None, None, spacer_large, None], [ showId, BUTTON, editor.show, getImage(images.SHOW_HIDE), btn_size, tip_list[6] ], [None, SPACER, None, None, spacer_large, None], [ switchId, BUTTON, editor.switch_layout, getImage(images.LAYOUT), btn_size, tip_list[7] ], [None, SPACER, None, None, spacer_large, None], [ clearId, BUTTON, editor.clear, getImage(images.CLEAR_TEXT), btn_size, tip_list[8] ]] box = wx.BoxSizer(wx.HORIZONTAL) self.btn_list = [] for id, widget, action, img, size, tip in widget_list: if widget == BUTTON: btn = wx.BitmapButton(self, id, img, size=size) #btn = wx.lib.buttons.GenBitmapButton(self, id, img, size=size) #btn = wx.Button(self, id, tip[:7], size=size) btn.SetToolTipString(tip) self.Bind(wx.EVT_BUTTON, action, btn) box.Add(btn, 0, wx.SHAPED) self.btn_list.append(btn) # create a list for later reference elif widget == BITMAP: name = wx.StaticBitmap(self, -1, img, size=size) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == SPACER: box.Add(size, 0, wx.EXPAND) self.SetSizer(box) aTable = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('O'), openId), (wx.ACCEL_CTRL, ord('S'), saveId), (wx.ACCEL_CTRL, ord('R'), runId), (wx.ACCEL_NORMAL, wx.WXK_F5, runWithId), (wx.ACCEL_CTRL, ord('E'), clearId), (wx.ACCEL_NORMAL, wx.WXK_F1, helpId), (wx.ACCEL_CTRL, ord('H'), showId), (wx.ACCEL_CTRL, ord('G'), goToId), (wx.ACCEL_CTRL, ord('L'), switchId)]) editor.SetAcceleratorTable(aTable)
def __init__(self, parent, great_grand_parent): settings = conf.getSettings() wx.ScrolledWindow.__init__(self, parent, -1) self.ggp = great_grand_parent # rurApp instance! btn_size = (32, 32) self.ggp.BUTTON_HEIGHT = btn_size[0] + 8 spacer_large = (settings.SCREEN[9], settings.SCREEN[9]) tip_list = [ _("Opens existing robot program"), _("Saves robot program"), _("Opens existing world file"), _("Saves world file"), _("Resets world - from open file"), _("Runs robot program"), _("Steps through robot program instructions"), _("Pause program"), _("Stops program"), _("Adjust robot speed"), _("Edit walls"), _("Resize world"), _("Give beepers to robot"), _("Remove/add robot from/to world"), _("Toggle world file view"), _("Load new images for robot") ] widget_list1 = [[ wx.NewId(), BUTTON, self.ggp.OpenProgramFile, getImage(images.OPEN_PROGRAM), btn_size, tip_list[0] ], [ wx.NewId(), BUTTON, self.ggp.SaveProgramFile, getImage(images.SAVE_PROGRAM), btn_size, tip_list[1] ], [None, SPACER, None, None, spacer_large, None], [ wx.NewId(), BUTTON, self.ggp.OpenWorldFile, getImage(images.OPEN_WORLD), btn_size, tip_list[2] ], [ wx.NewId(), BUTTON, self.ggp.SaveWorldFile, getImage(images.SAVE_WORLD), btn_size, tip_list[3] ], [ wx.NewId(), BUTTON, self.ggp.ResetWorld, getImage(images.RESET_WORLD), btn_size, tip_list[4] ], [None, SPACER, None, None, spacer_large, None], [ wx.NewId(), BUTTON, self.ggp.RunProgram, getImage(images.RUN_PROGRAM), btn_size, tip_list[5] ], [ wx.NewId(), BUTTON, self.ggp.Step, getImage(images.STEP), btn_size, tip_list[6] ], [ wx.NewId(), BUTTON, self.ggp.Pause, getImage(images.PAUSE), btn_size, tip_list[7] ], [ wx.NewId(), BUTTON, self.ggp.StopProgram, getImage(images.STOP), btn_size, tip_list[8] ], [None, SPACER, None, None, spacer_large, None], [ wx.NewId(), BITMAP, None, getImage(images.SPEED), btn_size, tip_list[9] ]] widget_list2 = [ [None, SPACER, None, None, spacer_large, None], [ wx.NewId(), BUTTON, self.ggp.EditWalls, getImage(images.WALL), btn_size, tip_list[10] ], [ wx.NewId(), BUTTON, self.ggp.ResizeWorld, getImage(images.RESIZE), btn_size, tip_list[11] ], [ wx.NewId(), BUTTON, self.ggp.BeepersToRobot, getImage(images.BEEPERS_ROBOT), btn_size, tip_list[12] ], [None, SPACER, None, None, spacer_large, None], [ wx.NewId(), BUTTON, self.ggp.AddRemoveRobot, getImage(images.ADD_REMOVE_ROBOT), btn_size, tip_list[13] ], [None, SPACER, None, None, spacer_large, None], [ wx.NewId(), BUTTON, self.ggp.ToggleWorldWindow, getImage(images.SHOW_WORLD_FILE), btn_size, tip_list[14] ], [None, SPACER, None, None, spacer_large, None], [ wx.NewId(), BUTTON, self.ggp.load_images, getImage(images.NEW_ROBOT_IMAGES), btn_size, tip_list[15] ], ] box = wx.BoxSizer(wx.HORIZONTAL) self.btn_list = [] for id, widget, action, img, size, tip in widget_list1: if widget == BUTTON: name = wx.lib.buttons.GenBitmapButton(self, id, img, size=size) name.SetToolTipString(tip) wx.EVT_BUTTON(self, id, action) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == BITMAP: name = wx.StaticBitmap(self, -1, img, size=size) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == SPACER: box.Add(size, 0, wx.EXPAND) min_speed = 0 max_speed = 8 default_speed = 3 self.ggp.slider_speed = wx.Slider( # id, value, min, max, (x, y), (length, height) self, -1, default_speed, min_speed, max_speed, (-1, -1), (100, -1), wx.SL_HORIZONTAL | wx.SL_AUTOTICKS #| wx.SL_LABELS ) self.ggp.slider_speed.SetTickFreq(1, 1) self.ggp.slider_speed.SetToolTipString(tip_list[9]) box.Add(self.ggp.slider_speed, 0, wx.SHAPED) self.ggp.slider_speed.SetFocus( ) # to make it same colour as background for id, widget, action, img, size, tip in widget_list2: if widget == BUTTON: name = wx.lib.buttons.GenBitmapButton(self, id, img, size=size) name.SetToolTipString(tip) wx.EVT_BUTTON(self, id, action) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == BITMAP: name = wx.StaticBitmap(self, -1, img, size=size) box.Add(name, 0, wx.SHAPED) self.btn_list.append(name) # create lists for later reference elif widget == SPACER: box.Add(size, 0, wx.EXPAND) self.SetSizer(box) self.SetScrollRate(10, 0)
def __init__(self, avenues=1, streets=1, orient_key = 'E', beepers=0, name = 'robot', colour = 'grey', parent=None): Robot_brain2.__init__(self, parent, avenues, streets, orient_key, beepers) self._delay = 0.3 self.name = name self.colour = colour.lower() # The following are used to follow the robot trail self.line_trace = [] self.set_trace_style(1, "sea green") # default #--- Robot images # create a list of four objects if self.colour == 'yellow': self._image = [getImage(images.YELLOW_ROBOT_N), getImage(images.YELLOW_ROBOT_W), getImage(images.YELLOW_ROBOT_S), getImage(images.YELLOW_ROBOT_E)] elif self.colour == 'blue': self._image = [getImage(images.BLUE_ROBOT_N), getImage(images.BLUE_ROBOT_W), getImage(images.BLUE_ROBOT_S), getImage(images.BLUE_ROBOT_E)] elif self.colour == 'light blue': self._image = [getImage(images.LIGHT_BLUE_ROBOT_N), getImage(images.LIGHT_BLUE_ROBOT_W), getImage(images.LIGHT_BLUE_ROBOT_S), getImage(images.LIGHT_BLUE_ROBOT_E)] elif self.colour == 'purple': self._image = [getImage(images.PURPLE_ROBOT_N), getImage(images.PURPLE_ROBOT_W), getImage(images.PURPLE_ROBOT_S), getImage(images.PURPLE_ROBOT_E)] elif self.colour == 'green': self._image = [getImage(images.GREEN_ROBOT_N), getImage(images.GREEN_ROBOT_W), getImage(images.GREEN_ROBOT_S), getImage(images.GREEN_ROBOT_E)] else: self._image = [getImage(images.GREY_ROBOT_N), getImage(images.GREY_ROBOT_W), getImage(images.GREY_ROBOT_S), getImage(images.GREY_ROBOT_E)] self.imageOffset = (settings.SCREEN[7], settings.SCREEN[8]) # image size (x, y) [all images equal]; for use in automatic scrolling self._image_size = self._image[0].GetWidth(), \ self._image[0].GetHeight() ## Note: for some reason, GetSize() did not work using ## wxPython 2.4, which is why I used GetWidth() and GetHeight() # selecting the right image based on initial orientation self.robot_image = self._image[self._facing]
def __init__(self, avenues=1, streets=1, orient_key='E', beepers=0, name='robot', colour='grey', parent=None): Robot_brain2.__init__(self, parent, avenues, streets, orient_key, beepers) self._delay = 0.3 self.name = name self.colour = colour.lower() # The following are used to follow the robot trail self.line_trace = [] self.set_trace_style(1, "sea green") # default #--- Robot images # create a list of four objects if self.colour == 'yellow': self._image = [ getImage(images.YELLOW_ROBOT_N), getImage(images.YELLOW_ROBOT_W), getImage(images.YELLOW_ROBOT_S), getImage(images.YELLOW_ROBOT_E) ] elif self.colour == 'blue': self._image = [ getImage(images.BLUE_ROBOT_N), getImage(images.BLUE_ROBOT_W), getImage(images.BLUE_ROBOT_S), getImage(images.BLUE_ROBOT_E) ] elif self.colour == 'light blue': self._image = [ getImage(images.LIGHT_BLUE_ROBOT_N), getImage(images.LIGHT_BLUE_ROBOT_W), getImage(images.LIGHT_BLUE_ROBOT_S), getImage(images.LIGHT_BLUE_ROBOT_E) ] elif self.colour == 'purple': self._image = [ getImage(images.PURPLE_ROBOT_N), getImage(images.PURPLE_ROBOT_W), getImage(images.PURPLE_ROBOT_S), getImage(images.PURPLE_ROBOT_E) ] elif self.colour == 'green': self._image = [ getImage(images.GREEN_ROBOT_N), getImage(images.GREEN_ROBOT_W), getImage(images.GREEN_ROBOT_S), getImage(images.GREEN_ROBOT_E) ] else: self._image = [ getImage(images.GREY_ROBOT_N), getImage(images.GREY_ROBOT_W), getImage(images.GREY_ROBOT_S), getImage(images.GREY_ROBOT_E) ] self.imageOffset = (settings.SCREEN[7], settings.SCREEN[8]) # image size (x, y) [all images equal]; for use in automatic scrolling self._image_size = self._image[0].GetWidth(), \ self._image[0].GetHeight() ## Note: for some reason, GetSize() did not work using ## wxPython 2.4, which is why I used GetWidth() and GetHeight() # selecting the right image based on initial orientation self.robot_image = self._image[self._facing]