Example #1
0
    def afterInit(self):
        self.Caption = _("Properties")
        pnl = dabo.ui.dPanel(self)
        self.Sizer.append1x(pnl)
        sz = pnl.Sizer = dabo.ui.dSizer("v")

        txt = dabo.ui.dTextBox(pnl, ReadOnly=True, RegID="txtObj")
        hsz = dabo.ui.dSizer("h")
        hsz.append1x(txt)
        self.treeBtn = dabo.ui.dToggleButton(pnl,
                                             Height=txt.Height,
                                             Width=txt.Height,
                                             Caption="",
                                             Picture="downTriangleBlack",
                                             DownPicture="upTriangleBlack")
        self.treeBtn.bindEvent(dEvents.Hit, self.onToggleTree)
        hsz.append(self.treeBtn)

        brdr = 10
        sz.appendSpacer(brdr)
        sz.DefaultBorderLeft = sz.DefaultBorderRight = True
        sz.DefaultBorder = brdr
        sz.append(hsz, "x")
        sz.appendSpacer(5)

        self.mainPager = mp = dabo.ui.dPageFrameNoTabs(
            pnl, PageClass=dabo.ui.dPanel)
        mp.PageCount = 2
        mp.bindEvent(dEvents.PageChanged, self.onMainPageChanged)
        sz.append1x(mp)
        sz.appendSpacer(brdr)
        self.propPage = pp = mp.Pages[0]
        self.treePage = tp = mp.Pages[1]
        psz = pp.Sizer = dabo.ui.dSizer("v")
        tsz = tp.Sizer = dabo.ui.dSizer("v")

        # Add the PropSheet
        ps = PropSheet(self.propPage,
                       RegID="_propSheet",
                       Controller=self.Controller)
        self.propPage.Sizer = dabo.ui.dSizer("v")
        self.propPage.Sizer.append1x(ps)

        # Create the tree
        self._tree = TreeSheet(tp,
                               MultipleSelect=False,
                               Controller=self.Controller)
        self._tree.MultipleSelect = False
        dabo.ui.callAfterInterval(500, self._tree.expandAll)
        tp.Sizer.append1x(self._tree, border=10)
        mp.SelectedPage = pp
        self.layout()
Example #2
0
    def afterInit(self):
        self._defaultLeft = 610
        self._defaultTop = 50
        self._defaultWidth = 370
        self._defaultHeight = 580

        self.Caption = _("Object Info")
        pnl = dabo.ui.dPanel(self)
        self.Sizer.append1x(pnl)
        sz = pnl.Sizer = dabo.ui.dSizer("v")

        txt = dabo.ui.dTextBox(pnl, ReadOnly=True, RegID="txtObj")
        hsz = dabo.ui.dSizer("h")
        hsz.append1x(txt)
        self.treeBtn = dabo.ui.dToggleButton(pnl,
                                             Height=txt.Height,
                                             Width=txt.Height,
                                             Caption="",
                                             Picture="downTriangleBlack",
                                             DownPicture="upTriangleBlack")
        self.treeBtn.bindEvent(dEvents.Hit, self.onToggleTree)
        hsz.append(self.treeBtn)

        brdr = 10
        sz.appendSpacer(brdr)
        sz.DefaultBorderLeft = sz.DefaultBorderRight = True
        sz.DefaultBorder = brdr
        sz.append(hsz, "x")
        sz.appendSpacer(5)

        self.mainPager = mp = dabo.ui.dPageFrameNoTabs(
            pnl, PageClass=dabo.ui.dPanel)
        mp.PageCount = 2
        mp.bindEvent(dEvents.PageChanged, self.onMainPageChanged)
        sz.append1x(mp)
        sz.appendSpacer(brdr)
        self.pemPage = pp = mp.Pages[0]
        self.treePage = tp = mp.Pages[1]
        psz = pp.Sizer = dabo.ui.dSizer("v")
        tsz = tp.Sizer = dabo.ui.dSizer("v")

        dabo.ui.dSlidePanelControl(pp,
                                   SingleClick=True,
                                   Singleton=True,
                                   CollapseToBottom=True,
                                   RegID="mainContainer")
        psz.append1x(self.mainContainer)
        # This helps restore the sash position on the prop grid page
        self._propSashPct = 80
        # Bind to panel changes
        self.mainContainer.bindEvent(dEvents.SlidePanelChange,
                                     self.onPanelChange)
        dabo.ui.dSlidePanel(self.mainContainer,
                            Caption=_("Properties"),
                            RegID="propPage",
                            CaptionForeColor="blue")
        dabo.ui.dSlidePanel(self.mainContainer,
                            Caption=_("Methods"),
                            RegID="methodPage",
                            CaptionForeColor="blue")
        dabo.ui.dSlidePanel(self.mainContainer,
                            Caption=_("Custom Properties"),
                            RegID="objPropPage",
                            CaptionForeColor="blue")

        # Add the PropSheet
        ps = PropSheet(self.propPage, RegID="_propSheet")
        self.propPage.Sizer = dabo.ui.dSizer("v")
        self.propPage.Sizer.appendSpacer(self.propPage.CaptionHeight)
        self.propPage.Sizer.append1x(ps)

        # Create the MethodSheet
        ms = MethodSheet(self.methodPage, RegID="_methodSheet")
        self.methodPage.Sizer = dabo.ui.dSizer("v")
        self.methodPage.Sizer.appendSpacer(self.methodPage.CaptionHeight)
        self.methodPage.Sizer.append1x(ms)
        self._methodList = ms.MethodList

        # Create the tree
        self._tree = TreeSheet(tp)
        tp.Sizer.append1x(self._tree, border=10)

        # Create the Object Properties sheet
        ops = ObjectPropertySheet(self.objPropPage, RegID="_objPropSheet")
        self.objPropPage.Sizer = dabo.ui.dSizer("v")
        self.objPropPage.Sizer.appendSpacer(self.methodPage.CaptionHeight)
        self.objPropPage.Sizer.append1x(ops)

        mp.SelectedPage = pp

        ps.Controller = ms.Controller = self._tree.Controller = ops.Controller = self.Controller
        self.layout()
        dabo.ui.callAfter(self.mainContainer.expand, self.propPage)