コード例 #1
0
ファイル: gui.py プロジェクト: xirxa/pynastran-locr
    def setupFrame(self):
        """
        --------------------------------
        |        VERTICAL(VMAIN)       |
        |   -------------------------  |
        |   |                       |  |
        |   |        toolbar        |  |
        |   |                       |  |
        |   -------------------------  |
        |   |       HORIZ           |  |
        |   |         |  VERTICAL   |  |
        |   |         |             |  |
        |   |   GUI   |  sidewindow |  |
        |   |         |             |  |
        |   |         |             |  |
        |   |         |             |  |
        |   -------------------------  |
        |   |                       |  |
        |   |       statusbar       |  |
        |   |                       |  |
        |   -------------------------  |
        |                              |
        --------------------------------
        """
        # Must call before any event handler is referenced.
        self.eventsHandler = EventsHandler(self,
                                           isNodal=self.isNodal,
                                           isCentroidal=self.isCentroidal)

        self.frmPanel = Pan(self,
                            isEdges=self.isEdges,
                            isNodal=self.isNodal,
                            isCentroidal=self.isCentroidal,
                            size=(100, 200))

        self.buildMenuBar()
        self.buildToolBar()
        self.buildStatusBar()

        self.SetMenuBar(self.menubar)

        self.frmPanel.bdfFileName = self.bdfFileName
        self.frmPanel.buildVTK(self.bdfFileName)

        windowName = self.frmPanel.getWindowName()
        self.SetTitle(windowName)
        #self.SetSize([600,600])
        #self.Centre()

        # Add them to sizer.
        hbox = wx.BoxSizer(wx.HORIZONTAL)
        hbox.Add(self.frmPanel.widget, 1, wx.EXPAND | wx.ALL, 1)

        # Add buttons in their own sizer
        if 0:
            self.redBtn = wx.Button(self.frmPanel, label='Red')
            self.greenBtn = wx.Button(self.frmPanel, label='Green')
            self.exitBtn = wx.Button(self.frmPanel, label='Exit')

            vRight = wx.BoxSizer(wx.VERTICAL)
            vRight.AddStretchSpacer()
            vRight.Add(self.greenBtn,
                       proportion=0,
                       flag=wx.EXPAND | wx.ALL,
                       border=5)
            vRight.Add(self.exitBtn,
                       proportion=0,
                       flag=wx.EXPAND | wx.ALL,
                       border=5)
            vRight.Add(self.redBtn,
                       proportion=0,
                       flag=wx.EXPAND | wx.ALL,
                       border=5)
            vRight.AddStretchSpacer()
            hbox.Add(vRight, 1, wx.EXPAND)

        if 0:
            tree = self.buildTree(self.frmPanel)
            vRight = wx.BoxSizer(wx.VERTICAL)
            vRight.AddStretchSpacer()
            vRight.Add(tree, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
            vRight.AddStretchSpacer()
            hbox.Add(vRight, 1, wx.EXPAND)

        # best guess at tree
        if 0:
            #self.tree  = wx.Button( self.frmPanel, label='Tree' )

            vRight = wx.BoxSizer(wx.VERTICAL)

            scroll = wx.ScrolledWindow(self, -1)
            panelRight = wx.Panel(scroll, -1)

            panelRight = wx.Panel(self, wx.EXPAND)
            tree = self.buildTree(panelRight)
            vRight.Add(tree, flag=wx.EXPAND | wx.ALL)
            #vRight.Add(tree, 1, wx.EXPAND)
            #hbox.Add(panel1, 1, wx.EXPAND)

            vRight.Add(scroll, 1, wx.EXPAND | wx.ALL)
            #panelRight.SetSizer(vRight)
            panelRight.Layout()

            hbox.Add(vRight, 1, wx.EXPAND)
            #hbox.Add(panelRight, 1, wx.EXPAND | wx.ALL)

            # SetSizer both sizers in the most senior control that has sizers in it.
            self.vMain = wx.BoxSizer(wx.VERTICAL | wx.EXPAND)
            self.vMain.Add(hbox, 1, wx.EXPAND, 5)

        #self.vMain.AddStretchSpacer()
        #self.vMain.Add(self.frmPanel.widget, 0, wx.EXPAND)
        #self.vMain.Add(self.toolbar1, 0, wx.EXPAND)
        #self.vMain.AddStretchSpacer()
        #self.vMain.Add(hbox, 0, wx.EXPAND|wx.ALL, 5)
        self.frmPanel.SetSizer(hbox)
        #self.frmPanel.SetSizer(self.vMain)
        self.frmPanel.Layout()
        #self.toolbar1.Realize()

        events = self.eventsHandler
        # Bind Controls
        #self.Bind(wx.EVT_RIGHT_DOWN, events.OnRightDown)

        # Bind View Menu
        self.Bind(wx.EVT_MENU,
                  self.frmPanel.widget.onTakePicture,
                  id=ID_CAMERA)
        self.Bind(wx.EVT_MENU, self.frmPanel.onSetToWireframe, id=ID_WIREFRAME)
        self.Bind(wx.EVT_MENU, self.frmPanel.onSetToSurface, id=ID_SURFACE)

        #self.Bind(wx.EVT_MENU, self.frmPanel.onSetToFlatShading,    self.flatShading)
        #self.Bind(wx.EVT_MENU, self.frmPanel.onSetToGouraudShading, self.gouraudShading)
        #self.Bind(wx.EVT_MENU, self.frmPanel.onSetToPhongShading,   self.phongShading)

        self.Bind(wx.EVT_MENU, events.onBackgroundColor, self.bkgColorView)
        #self.Bind(wx.EVT_MENU, events.onToggleStatusBar, self.showStatusBar)
        #self.Bind(wx.EVT_MENU, events.onToggleToolBar, self.showToolBar)

        # Bind Help Menu
        self.Bind(wx.EVT_MENU, events.onAbout, id=ID_ABOUT)