def __init__(self, parent = None, style = NoButtons, **kw):
     if parent is 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', (-.05, 0.05, -.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
Exemple #2
0
    def enterDisplayPage(self):
        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
 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)
Exemple #4
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)

        # Let's update the turret count.
        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()