Beispiel #1
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)
        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)
Beispiel #2
0
 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)
Beispiel #3
0
    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()
Beispiel #4
0
    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)
Beispiel #5
0
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
Beispiel #7
0
 def __init__(self, excpt):
     MyDialogs.__init__(self, None, -1, _("Error"), excpt.mesg,
                           _("Turn off"), getImage(images.HIT_WALL_IMAGE))
Beispiel #8
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)
Beispiel #9
0
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')
Beispiel #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)      
Beispiel #11
0
    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)
Beispiel #12
0
 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)
Beispiel #13
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)
Beispiel #14
0
 def __init__(self, excpt):
     MyDialogs.__init__(self, None, -1, _("Error"), excpt.mesg,
                        _("Turn off"), getImage(images.HIT_WALL_IMAGE))
Beispiel #15
0
    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()
Beispiel #16
0
    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)
Beispiel #17
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)
Beispiel #18
0
    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)
Beispiel #19
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]
Beispiel #20
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]