Example #1
0
 def __init__(self, parent=None, style=NoButtons, **kw):
     if parent == None:
         parent = aspect2d
     self.style = style
     if self.style == YesNo or self.style == YesCancel:
         okButtons = CIGlobals.getOkayBtnGeom()
         cancelButtons = CIGlobals.getCancelBtnGeom()
         buttonImage = [okButtons, cancelButtons]
         buttonValues = [DGG.DIALOG_OK, DGG.DIALOG_CANCEL]
         if 'buttonText' in kw:
             buttonText = kw['buttonText']
             del kw['buttonText']
         else:
             buttonText = [CIGlobals.DialogYes]
             if self.style == YesNo:
                 buttonText.append(CIGlobals.DialogNo)
             elif self.style == YesCancel:
                 buttonText.append(CIGlobals.DialogCancel)
     else:
         if self.style == Ok:
             okButtons = CIGlobals.getOkayBtnGeom()
             buttonImage = [okButtons]
             buttonText = [CIGlobals.DialogOk]
             buttonValues = [DGG.DIALOG_OK]
         else:
             if self.style == Cancel:
                 cancelButtons = CIGlobals.getCancelBtnGeom()
                 buttonImage = [cancelButtons]
                 buttonText = [CIGlobals.DialogCancel]
                 buttonValues = [DGG.DIALOG_CANCEL]
             else:
                 if self.style == NoButtons:
                     buttonImage = []
                     buttonText = []
                     buttonValues = []
                 else:
                     self.notify.error('Style %s does not exist.' %
                                       self.style)
     optiondefs = (('buttonImageList', buttonImage, DGG.INITOPT),
                   ('buttonTextList', buttonText, DGG.INITOPT),
                   ('buttonValueList', buttonValues,
                    DGG.INITOPT), ('buttonPadSF', 2.2, DGG.INITOPT),
                   ('text_font', DGG.getDefaultFont(),
                    None), ('text_wordwrap', 18, None), ('text_scale', 0.07,
                                                         None),
                   ('buttonSize', (-0.05, 0.05, -0.05, 0.05),
                    None), ('button_pad', (0, 0), None), ('button_relief',
                                                          None, None),
                   ('button_text_pos', (0, -0.1),
                    None), ('fadeScreen', 0.5,
                            None), ('image_color', CIGlobals.DialogColor,
                                    None), ('image',
                                            DGG.getDefaultDialogGeom(),
                                            None), ('relief', None, None))
     self.defineoptions(kw, optiondefs)
     DirectDialog.__init__(self, parent)
     self.initialiseoptions(Dialog)
     return
Example #2
0
 def __init__(self, parent=None, style=NoButtons, **kw):
     if parent == None:
         parent = aspect2d
     self.style = style
     if self.style == YesNo or self.style == YesCancel:
         okButtons = CIGlobals.getOkayBtnGeom()
         cancelButtons = CIGlobals.getCancelBtnGeom()
         buttonImage = [okButtons, cancelButtons]
         buttonValues = [DGG.DIALOG_OK, DGG.DIALOG_CANCEL]
         if "buttonText" in kw:
             buttonText = kw["buttonText"]
             del kw["buttonText"]
         else:
             buttonText = [CIGlobals.DialogYes]
             if self.style == YesNo:
                 buttonText.append(CIGlobals.DialogNo)
             elif self.style == YesCancel:
                 buttonText.append(CIGlobals.DialogCancel)
     elif self.style == Ok:
         okButtons = CIGlobals.getOkayBtnGeom()
         buttonImage = [okButtons]
         buttonText = [CIGlobals.DialogOk]
         buttonValues = [DGG.DIALOG_OK]
     elif self.style == Cancel:
         cancelButtons = CIGlobals.getCancelBtnGeom()
         buttonImage = [cancelButtons]
         buttonText = [CIGlobals.DialogCancel]
         buttonValues = [DGG.DIALOG_CANCEL]
     elif self.style == NoButtons:
         buttonImage = []
         buttonText = []
         buttonValues = []
     else:
         self.notify.error("Style %s does not exist." % self.style)
     optiondefs = (
         ("buttonImageList", buttonImage, DGG.INITOPT),
         ("buttonTextList", buttonText, DGG.INITOPT),
         ("buttonValueList", buttonValues, DGG.INITOPT),
         ("buttonPadSF", 2.2, DGG.INITOPT),
         ("text_font", DGG.getDefaultFont(), None),
         ("text_wordwrap", 18, None),
         ("text_scale", 0.07, None),
         ("buttonSize", (-0.05, 0.05, -0.05, 0.05), None),
         ("button_pad", (0, 0), None),
         ("button_relief", None, None),
         ("button_text_pos", (0, -0.1), None),
         ("fadeScreen", 0.5, None),
         ("image_color", CIGlobals.DialogColor, None),
         ("image", DGG.getDefaultDialogGeom(), None),
         ("relief", None, None),
     )
     self.defineoptions(kw, optiondefs)
     DirectDialog.__init__(self, parent)
     self.initialiseoptions(Dialog)
     return
Example #3
0
    def enterDisplayPage(self):
        self.book.createPageButtons(False, False)
        self.book.setTitle('Display Options')
        dialog_gui = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui.bam')
        width, height, fs, music, sfx, tex_detail, model_detail, aa, af = SettingsManager().getSettings('settings.json')
        self.width = width
        self.height = height
        self.windowType = [fs]
        self.buttons = [DirectRadioButton(text='Windowed', variable=self.windowType, value=[False], scale=0.1, pos=(-0.45, 0.15, 0.15)), DirectRadioButton(text='Fullscreen', variable=self.windowType, value=[True], scale=0.1, pos=(-0.45, -0.15, -0.15))]
        for button in self.buttons:
            button.setOthers(self.buttons)

        self.resoLbl = DirectLabel(text='%sx%s' % (width, height), scale=0.08, relief=None, pos=(0.25, 0, 0))
        self.resSlider = DirectSlider(range=(0, 200), pageSize=50, command=self.setResoText, scale=0.3, orientation=DGG.VERTICAL, pos=(0.6, 0, 0))
        self.okBtn = DirectButton(text='OK', geom=CIGlobals.getOkayBtnGeom(), relief=None, pos=(-0.5, -0.5, -0.5), text_scale=0.05, text_pos=(0, -0.11), command=self.applyDisplaySettings)
        self.cancelBtn = DirectButton(text='Cancel', geom=CIGlobals.getCancelBtnGeom(), relief=None, pos=(-0.3, -0.5, -0.5), text_scale=0.05, text_pos=(0, -0.11), command=self.cancelDisplaySettings)
        if self.resoLbl['text'] == '640x480':
            self.resSlider['value'] = 0
        elif self.resoLbl['text'] == '800x600':
            self.resSlider['value'] = 50
        elif self.resoLbl['text'] == '1024x768':
            self.resSlider['value'] = 100
        elif self.resoLbl['text'] == '1280x1024':
            self.resSlider['value'] = 150
        elif self.resoLbl['text'] == '1600x1200':
            self.resSlider['value'] = 200
        return
 def makeMoreDetailsPanel(self):
     self.actionFSM.request('off')
     self.removeMoreDetailsPanel()
     self.removeActionPanel()
     self.makeActionPanel()
     zoneId = self.avatarInfo[5]
     shardId = self.avatarInfo[6]
     isOnline = self.avatarInfo[7]
     shardName = 'Unknown District'
     hoodName = ZoneUtil.getHoodId(zoneId, 1)
     for district in base.cr.activeDistricts.values():
         if district.doId == shardId:
             shardName = district.getDistrictName()
             break
     if not isOnline:
         hoodName = 'Offline'
         shardName = 'Offline'
     self.locationText = OnscreenText('Location: {0}'.format(hoodName),
                                      parent=self.actionFrame,
                                      pos=(-0.3, 0.05, 0),
                                      align=TextNode.ALeft,
                                      scale=0.04)
     self.shardText = OnscreenText('District: {0}'.format(shardName),
                                   parent=self.actionFrame,
                                   pos=(-0.3, 0.0, 0),
                                   align=TextNode.ALeft,
                                   scale=0.04)
     self.detailsExitBtn = DirectButton(geom=CIGlobals.getCancelBtnGeom(),
                                        parent=self.actionFrame,
                                        relief=None,
                                        scale=0.8,
                                        pos=(-0.3, 0.0, -0.175),
                                        command=self.removeMoreDetailsPanel)
Example #5
0
    def enterDisplayPage(self):
        self.book.createPageButtons(False, False)
        self.book.setTitle("Display Options")
        dialog_gui = loader.loadModel(
            "phase_3/models/gui/dialog_box_buttons_gui.bam")
        width, height, fs, music, sfx, tex_detail, model_detail, aa, af = SettingsManager(
        ).getSettings("settings.json")
        self.width = width
        self.height = height
        self.windowType = [fs]
        self.buttons = [
            DirectRadioButton(text="Windowed",
                              variable=self.windowType,
                              value=[False],
                              scale=0.1,
                              pos=(-0.45, 0.15, 0.15)),
            DirectRadioButton(text="Fullscreen",
                              variable=self.windowType,
                              value=[True],
                              scale=0.1,
                              pos=(-0.45, -0.15, -0.15))
        ]

        for button in self.buttons:
            button.setOthers(self.buttons)

        self.resoLbl = DirectLabel(text="%sx%s" % (width, height),
                                   scale=0.08,
                                   relief=None,
                                   pos=(0.25, 0, 0))
        self.resSlider = DirectSlider(range=(0, 200),
                                      pageSize=50,
                                      command=self.setResoText,
                                      scale=0.3,
                                      orientation=DGG.VERTICAL,
                                      pos=(0.6, 0, 0))
        self.okBtn = DirectButton(text="OK",
                                  geom=CIGlobals.getOkayBtnGeom(),
                                  relief=None,
                                  pos=(-0.5, -0.5, -0.5),
                                  text_scale=0.05,
                                  text_pos=(0, -0.11),
                                  command=self.applyDisplaySettings)
        self.cancelBtn = DirectButton(text="Cancel",
                                      geom=CIGlobals.getCancelBtnGeom(),
                                      relief=None,
                                      pos=(-0.3, -0.5, -0.5),
                                      text_scale=0.05,
                                      text_pos=(0, -0.11),
                                      command=self.cancelDisplaySettings)
        if self.resoLbl['text'] == "640x480":
            self.resSlider['value'] = 0
        elif self.resoLbl['text'] == "800x600":
            self.resSlider['value'] = 50
        elif self.resoLbl['text'] == "1024x768":
            self.resSlider['value'] = 100
        elif self.resoLbl['text'] == "1280x1024":
            self.resSlider['value'] = 150
        elif self.resoLbl['text'] == "1600x1200":
            self.resSlider['value'] = 200
Example #6
0
 def __init__(self):
     DirectFrame.__init__(self, parent=base.a2dTopRight, pos=(-0.25, 0.0, -0.46))
     gui = loader.loadModel('phase_3.5/models/gui/friendslist_gui.bam')
     self['image'] = gui.find('**/FriendsBox_Open')
     self.headingText = OnscreenText(text='', parent=self, pos=(0.01, 0.2), fg=(0.1, 0.1, 0.4, 1.0), scale=0.04)
     self.frameForNames = DirectScrolledList(frameSize=(0.0, 0.35, 0, 0.35), incButton_geom=(gui.find('**/FndsLst_ScrollUp'),
      gui.find('**/FndsLst_ScrollDN'),
      gui.find('**/FndsLst_ScrollUp_Rllvr'),
      gui.find('**/FndsLst_ScrollUp')), incButton_relief=None, incButton_hpr=(0, 0, 180), incButton_pos=(0.17, 0, -0.04), decButton_geom=(gui.find('**/FndsLst_ScrollUp'),
      gui.find('**/FndsLst_ScrollDN'),
      gui.find('**/FndsLst_ScrollUp_Rllvr'),
      gui.find('**/FndsLst_ScrollUp')), decButton_relief=None, decButton_pos=(0.17, 0, 0.395), pos=(-0.1625, 0.0, -0.27), parent=self, numItemsVisible=9, forceHeight=0.04, itemFrame_frameSize=(-0.15, 0.15, 0, -0.35), itemFrame_pos=(0, 0, 0.3275), itemFrame_relief=None, relief=None)
     self.fwdBtn = DirectButton(geom=(gui.find('**/Horiz_Arrow_UP'),
      gui.find('**/Horiz_Arrow_DN'),
      gui.find('**/Horiz_Arrow_Rllvr'),
      gui.find('**/Horiz_Arrow_UP')), relief=None, parent=self, pos=(0.17, 0.0, -0.38), command=self.doState)
     self.backBtn = DirectButton(geom=(gui.find('**/Horiz_Arrow_UP'),
      gui.find('**/Horiz_Arrow_DN'),
      gui.find('**/Horiz_Arrow_Rllvr'),
      gui.find('**/Horiz_Arrow_UP')), relief=None, parent=self, pos=(-0.15, 0.0, -0.38), hpr=(180, 0, 0), command=self.doState)
     self.closeBtn = DirectButton(geom=CIGlobals.getCancelBtnGeom(), relief=None, parent=self, command=self.exitClicked)
     self.closeBtn.setPos(0.015, 0.0, -0.375)
     gui.removeNode()
     del gui
     self.hide()
     self.friends = {}
     self.onlineFriends = {}
     self.fsm = ClassicFSM.ClassicFSM('FriendsList', [State.State('off', self.enterOff, self.exitOff), State.State('onlineFriendsList', self.enterOnlineFriendsList, self.exitOnlineFriendsList), State.State('allFriendsList', self.enterAllFriendsList, self.exitAllFriendsList)], 'off', 'off')
     self.fsm.enterInitialState()
     self.accept('gotFriendsList', self.handleFriendsList)
     return
Example #7
0
 def enterPanel(self):
     self.nameText = OnscreenText(text=self.avatarInfo[1], parent=self, pos=(0, 0.2), scale=0.035, wordwrap=8)
     self.nameText.setBin('gui-popup', 60)
     dna = ToonDNA.ToonDNA()
     dna.setDNAStrand(self.avatarInfo[2])
     self.head = ToonHead.ToonHead(base.cr)
     self.head.generateHead(dna.gender, dna.animal, dna.head, 1)
     self.head.setHeadColor(dna.headcolor)
     self.head.reparentTo(self)
     self.head.setDepthWrite(1)
     self.head.setDepthTest(1)
     self.head.setH(180)
     self.head.setScale(self.animal2HeadData[dna.animal][0])
     self.head.setZ(self.animal2HeadData[dna.animal][1])
     self.laffMeter = LaffOMeter()
     r, g, b, _ = dna.headcolor
     self.laffMeter.generate(r, g, b, dna.animal, self.avatarInfo[3], self.avatarInfo[4])
     self.laffMeter.reparentTo(self)
     self.laffMeter.setBin('gui-popup', 60)
     self.laffMeter.setScale(0.045)
     self.laffMeter.setPos(0, 0, -0.1)
     self.friendButton = DirectButton(geom=CIGlobals.getDefaultBtnGeom(), text='Add Friend', scale=0.58, relief=None, text_scale=0.058, geom_scale=(1.25, 0, 0.9), text_pos=(0, -0.0125), parent=self, pos=(0, 0, -0.12), command=self.doAction, extraArgs=['waitOnAvatarFriendListResponse'])
     self.friendButton.setPos(0, 0.0, -0.225)
     self.maybeUpdateFriendButton()
     self.teleportButton = DirectButton(geom=CIGlobals.getDefaultBtnGeom(), text='Teleport', scale=0.58, relief=None, text_scale=0.058, geom_scale=(1.25, 0, 0.9), text_pos=(0, -0.0125), parent=self, pos=(0, 0, -0.12), command=self.doAction, extraArgs=['waitOnAvatarTeleportResponse'])
     self.teleportButton.setPos(0, 0, -0.275)
     self.exitButton = DirectButton(geom=CIGlobals.getCancelBtnGeom(), parent=self, relief=None, scale=0.6, pos=(-0.127, 0.0, -0.3425), command=self.exitClicked)
     return
 def setup(self, title='CHOOSE WHAT YOU WANT TO BUY'):
     font = CIGlobals.getMickeyFont()
     txtFg = (0, 0, 0, 1)
     txtScale = 0.05
     txtPos = (0, -0.1)
     buttons = loader.loadModel('phase_3.5/models/gui/QT_buttons.bam')
     self.window = OnscreenImage(image=self.bgImage,
                                 scale=(0.9, 1, 0.7),
                                 parent=self)
     self.title = DirectLabel(text=title,
                              relief=None,
                              pos=(0, 0, 0.5),
                              text_wordwrap=10,
                              text_font=font,
                              text_fg=(1, 1, 0, 1),
                              scale=0.1,
                              parent=self)
     self.updateTurretCount()
     self.infoLbl = DirectLabel(text='Welcome!',
                                relief=None,
                                text_scale=0.075,
                                text_fg=txtFg,
                                text_shadow=(0, 0, 0, 0),
                                pos=(0, 0, 0.215))
     self.okBtn = DirectButton(geom=CIGlobals.getOkayBtnGeom(),
                               relief=None,
                               text='OK',
                               text_fg=txtFg,
                               text_scale=txtScale,
                               text_pos=txtPos,
                               pos=(-0.1, 0, -0.5),
                               parent=self)
     self.clBtn = DirectButton(geom=CIGlobals.getCancelBtnGeom(),
                               relief=None,
                               text='Cancel',
                               text_fg=txtFg,
                               text_scale=txtScale,
                               text_pos=txtPos,
                               pos=(0.1, 0, -0.5),
                               parent=self)
     buttonGeom = (buttons.find('**/QT_back'), buttons.find('**/QT_back'),
                   buttons.find('**/QT_back'), buttons.find('**/QT_back'))
     self.backBtn = DirectButton(geom=buttonGeom,
                                 relief=None,
                                 scale=0.05,
                                 pos=(-0.3, 0, -0.25),
                                 parent=self,
                                 command=self.changePage,
                                 extraArgs=[0])
     self.nextBtn = DirectButton(geom=buttonGeom,
                                 relief=None,
                                 scale=0.05,
                                 pos=(0.3, 0, -0.25),
                                 hpr=(0, 0, 180),
                                 command=self.changePage,
                                 extraArgs=[1],
                                 parent=self)
     self.hideInfo()
     return
Example #9
0
 def askTutorial(self):
     self.firstTimeMsg = YesNoDialog(text=CIGlobals.FirstTimeMsg,
                                     text_scale=0.07,
                                     text_wordwrap=18,
                                     buttonGeomList=[
                                         CIGlobals.getOkayBtnGeom(),
                                         CIGlobals.getCancelBtnGeom()
                                     ],
                                     button_relief=None,
                                     button_text_pos=(0, -0.1),
                                     command=self.handleTutorialDecision,
                                     image_color=CIGlobals.DialogColor,
                                     fadeScreen=1)
Example #10
0
 def setup(self, title = 'CHOOSE WHAT YOU WANT TO BUY'):
     font = CIGlobals.getMickeyFont()
     txtFg = (0, 0, 0, 1)
     txtScale = 0.05
     txtPos = (0, -0.1)
     buttons = loader.loadModel('phase_3.5/models/gui/QT_buttons.bam')
     self.window = OnscreenImage(image=self.bgImage, scale=(0.9, 1, 0.7), parent=self)
     self.title = DirectLabel(text=title, relief=None, pos=(0, 0, 0.5), text_wordwrap=10, text_font=font, text_fg=(1, 1, 0, 1), scale=0.1, parent=self)
     self.infoLbl = DirectLabel(text='Welcome!', relief=None, text_scale=0.075, text_fg=txtFg, text_shadow=(0, 0, 0, 0), pos=(0, 0, 0.215))
     self.okBtn = DirectButton(geom=CIGlobals.getOkayBtnGeom(), relief=None, text='OK', text_fg=txtFg, text_scale=txtScale, text_pos=txtPos, pos=(-0.1, 0, -0.5), parent=self)
     self.clBtn = DirectButton(geom=CIGlobals.getCancelBtnGeom(), relief=None, text='Cancel', text_fg=txtFg, text_scale=txtScale, text_pos=txtPos, pos=(0.1, 0, -0.5), parent=self)
     buttonGeom = (buttons.find('**/QT_back'),
      buttons.find('**/QT_back'),
      buttons.find('**/QT_back'),
      buttons.find('**/QT_back'))
     self.backBtn = DirectButton(geom=buttonGeom, relief=None, scale=0.05, pos=(-0.3, 0, -0.25), parent=self, command=self.changePage, extraArgs=[0])
     self.nextBtn = DirectButton(geom=buttonGeom, relief=None, scale=0.05, pos=(0.3, 0, -0.25), hpr=(0, 0, 180), command=self.changePage, extraArgs=[1], parent=self)
     self.hideInfo()
     return
    def enterPanel(self):
        adminToken = self.avatarInfo[8]
        text_color = CIGlobals.TextColorByAdminToken[adminToken]
        self.nameText = OnscreenText(text=self.avatarInfo[1],
                                     parent=self,
                                     pos=(0, 0.2),
                                     scale=0.035,
                                     wordwrap=8,
                                     fg=text_color)
        self.nameText.setBin('gui-popup', 60)

        dna = ToonDNA.ToonDNA()
        dna.setDNAStrand(self.avatarInfo[2])

        self.head = ToonHead.ToonHead(base.cr)
        self.head.generateHead(dna.gender, dna.animal, dna.head, 1)
        self.head.setHeadColor(dna.headcolor)
        self.head.reparentTo(self)
        self.head.setDepthWrite(1)
        self.head.setDepthTest(1)
        self.head.setH(180)
        self.head.setScale(self.animal2HeadData[dna.animal][0])
        self.head.setZ(self.animal2HeadData[dna.animal][1])

        self.laffMeter = LaffOMeter()
        r, g, b, _ = dna.headcolor
        self.laffMeter.generate(r, g, b, dna.animal, self.avatarInfo[3],
                                self.avatarInfo[4])
        self.laffMeter.reparentTo(self)
        self.laffMeter.setBin('gui-popup', 60)
        self.laffMeter.setScale(0.045)
        self.laffMeter.setPos(0, 0, -0.1)

        self.friendButton = DirectButton(
            geom=CIGlobals.getDefaultBtnGeom(),
            text="Add Friend",
            scale=0.58,
            relief=None,
            text_scale=0.058,
            geom_scale=(1.25, 0, 0.9),
            text_pos=(0, -0.0125),
            parent=self,
            pos=(0, 0, -0.12),
            command=self.doAction,
            extraArgs=['waitOnAvatarFriendListResponse'])
        self.friendButton.setPos(0, 0.0, -0.225)
        self.maybeUpdateFriendButton()

        self.teleportButton = DirectButton(
            geom=CIGlobals.getDefaultBtnGeom(),
            text="Teleport",
            scale=0.58,
            relief=None,
            text_scale=0.058,
            geom_scale=(1.25, 0, 0.9),
            text_pos=(0, -0.0125),
            parent=self,
            pos=(0, 0, -0.12),
            command=self.doAction,
            extraArgs=['waitOnAvatarTeleportResponse'])
        self.teleportButton.setPos(0, 0, -0.275)

        self.whisperButton = DirectButton(
            geom=CIGlobals.getDefaultBtnGeom(),
            text="Whisper",
            scale=0.58,
            relief=None,
            text_scale=0.058,
            geom_scale=(1.25, 0, 0.9),
            text_pos=(0, -0.0125),
            parent=self,
            pos=(0, 0, -0.12),
            command=base.localAvatar.handleClickedWhisper,
            extraArgs=[self.avatarInfo[1], self.avatarInfo[0], 1])
        self.whisperButton.setPos(0, 0, -0.325)

        self.exitButton = DirectButton(geom=CIGlobals.getCancelBtnGeom(),
                                       parent=self,
                                       relief=None,
                                       scale=0.6,
                                       pos=(0, 0.0, -0.39),
                                       command=self.exitClicked)
        gui = loader.loadModel("phase_3.5/models/gui/friendslist_gui.bam")
        self.moreDetailsBtn = DirectButton(
            geom=(gui.find('**/Horiz_Arrow_UP'), gui.find('**/Horiz_Arrow_DN'),
                  gui.find('**/Horiz_Arrow_Rllvr'),
                  gui.find('**/Horiz_Arrow_UP')),
            relief=None,
            parent=self,
            pos=(-0.127, 0.0, -0.39),
            geom_hpr=(180, 0, 0),
            command=self.makeMoreDetailsPanel,
            scale=0.77,
            text=('', 'More Details', 'More Details', ''),
            text_scale=0.045,
            text_fg=(1, 1, 1, 1),
            text_shadow=(0, 0, 0, 1),
            text_pos=(-0.08, -0.01),
            text_align=TextNode.ARight)
Example #12
0
 def askTutorial(self):
     self.firstTimeMsg = YesNoDialog(text=CIGlobals.FirstTimeMsg, text_scale=0.07, text_wordwrap=18, buttonGeomList=[CIGlobals.getOkayBtnGeom(), CIGlobals.getCancelBtnGeom()], button_relief=None, button_text_pos=(0, -0.1), command=self.handleTutorialDecision, image_color=CIGlobals.DialogColor, fadeScreen=1)
     return
Example #13
0
 def __init__(self):
     DirectFrame.__init__(self,
                          parent=base.a2dTopRight,
                          pos=(-0.25, 0.0, -0.46))
     gui = loader.loadModel('phase_3.5/models/gui/friendslist_gui.bam')
     self['image'] = gui.find('**/FriendsBox_Open')
     self.headingText = OnscreenText(text='',
                                     parent=self,
                                     pos=(0.01, 0.2),
                                     fg=(0.1, 0.1, 0.4, 1.0),
                                     scale=0.04)
     self.frameForNames = DirectScrolledList(
         frameSize=(0.0, 0.35, 0, 0.35),
         incButton_geom=(gui.find('**/FndsLst_ScrollUp'),
                         gui.find('**/FndsLst_ScrollDN'),
                         gui.find('**/FndsLst_ScrollUp_Rllvr'),
                         gui.find('**/FndsLst_ScrollUp')),
         incButton_relief=None,
         incButton_hpr=(0, 0, 180),
         incButton_pos=(0.17, 0, -0.04),
         decButton_geom=(gui.find('**/FndsLst_ScrollUp'),
                         gui.find('**/FndsLst_ScrollDN'),
                         gui.find('**/FndsLst_ScrollUp_Rllvr'),
                         gui.find('**/FndsLst_ScrollUp')),
         decButton_relief=None,
         decButton_pos=(0.17, 0, 0.395),
         pos=(-0.1625, 0.0, -0.27),
         parent=self,
         numItemsVisible=9,
         forceHeight=0.04,
         itemFrame_frameSize=(-0.15, 0.15, 0, -0.35),
         itemFrame_pos=(0, 0, 0.3275),
         itemFrame_relief=None,
         relief=None)
     self.fwdBtn = DirectButton(geom=(gui.find('**/Horiz_Arrow_UP'),
                                      gui.find('**/Horiz_Arrow_DN'),
                                      gui.find('**/Horiz_Arrow_Rllvr'),
                                      gui.find('**/Horiz_Arrow_UP')),
                                relief=None,
                                parent=self,
                                pos=(0.17, 0.0, -0.38),
                                command=self.doState)
     self.backBtn = DirectButton(geom=(gui.find('**/Horiz_Arrow_UP'),
                                       gui.find('**/Horiz_Arrow_DN'),
                                       gui.find('**/Horiz_Arrow_Rllvr'),
                                       gui.find('**/Horiz_Arrow_UP')),
                                 relief=None,
                                 parent=self,
                                 pos=(-0.15, 0.0, -0.38),
                                 hpr=(180, 0, 0),
                                 command=self.doState)
     self.closeBtn = DirectButton(geom=CIGlobals.getCancelBtnGeom(),
                                  relief=None,
                                  parent=self,
                                  command=self.exitClicked)
     self.closeBtn.setPos(0.015, 0.0, -0.375)
     gui.removeNode()
     del gui
     self.hide()
     self.friends = {}
     self.onlineFriends = {}
     self.fsm = ClassicFSM.ClassicFSM('FriendsList', [
         State.State('off', self.enterOff, self.exitOff),
         State.State('onlineFriendsList', self.enterOnlineFriendsList,
                     self.exitOnlineFriendsList),
         State.State('allFriendsList', self.enterAllFriendsList,
                     self.exitAllFriendsList)
     ], 'off', 'off')
     self.fsm.enterInitialState()
     self.accept('gotFriendsList', self.handleFriendsList)
     return