예제 #1
0
파일: gui.py 프로젝트: 453483289/hrdev
    def __init__(self, plugin, *args):

        QFrame.__init__(self, *args)
        self.plugin = plugin
        self.config_main = self.plugin.config_main
        self.config_theme = self.plugin.config_theme
        self.tools = self.plugin.tools
        self.lvars = self.plugin.lvars

        self.setFrameStyle(QFrame.StyledPanel | QFrame.Plain)

        self.edit = self.PlainTextEdit(self)
        self.number_bar = self.NumberBar(self.config_theme, self.edit)

        hbox = QHBoxLayout(self)
        hbox.setSpacing(0)
        hbox.addWidget(self.number_bar)
        hbox.addWidget(self.edit)

        self.edit.blockCountChanged.connect(self.number_bar.adjust_width)
        self.edit.updateRequest.connect(self.number_bar.update_contents)
        QtGui.QShortcut(QtGui.QKeySequence("Ctrl+S"), self).\
            activated.connect(self.save_file)
        QtGui.QShortcut(QtGui.QKeySequence("Ctrl+F"), self).\
            activated.connect(self.show_find)
        return
예제 #2
0
파일: gui.py 프로젝트: johnjohnsp1/hrdev
    def __init__(self, plugin, *args):

        QFrame.__init__(self, *args)
        self.plugin = plugin
        self.config_main = self.plugin.config_main
        self.config_theme = self.plugin.config_theme
        self.tools = self.plugin.tools

        self.setFrameStyle(QFrame.StyledPanel | QFrame.Plain)

        self.edit = self.PlainTextEdit(self)
        self.number_bar = self.NumberBar(self.config_theme, self.edit)

        hbox = QHBoxLayout(self)
        hbox.setSpacing(0)
        hbox.addWidget(self.number_bar)
        hbox.addWidget(self.edit)

        self.edit.blockCountChanged.connect(self.number_bar.adjust_width)
        self.edit.updateRequest.connect(self.number_bar.update_contents)
        QtGui.QShortcut(QtGui.QKeySequence("Ctrl+S"), self).\
            activated.connect(self.save_file)
        QtGui.QShortcut(QtGui.QKeySequence("Ctrl+F"), self).\
            activated.connect(self.show_find)
        return
예제 #3
0
 def __init__(self, adjacencyClue, fragilityClue, parent=None):
     """ Initialize the Adjacency Clue View """
     QFrame.__init__(self, parent)
     self.adjacencyClue = adjacencyClue
     self.fragilityClue = fragilityClue
     self.resize(34, 32)
     self.setupClueLabel()
예제 #4
0
 def __init__(self, weaponCautionClue, parent=None):
     """ Initialize the Weapon Caution Clue View """
     QFrame.__init__(self, parent)
     self.weaponCautionClue = weaponCautionClue
     self.resize(16, 15)
     self.loadImage()
     self.setVisible(False)
예제 #5
0
 def __init__(self, adjacencyClue, fragilityClue, parent=None):
     """ Initialize the Adjacency Clue View """
     QFrame.__init__(self, parent)
     self.adjacencyClue = adjacencyClue
     self.fragilityClue = fragilityClue
     self.resize(34, 32)
     self.setupClueLabel()
예제 #6
0
    def __init__(self, parent, level_selection):
        """ Initialize the Level Selection View """
        QFrame.__init__(self)#, parent)

        self.resize(640, 480)
        self.level_selection = level_selection

        self.setFocusPolicy(Qt.StrongFocus)
        
        self.color = QColor(200, 200, 200)
        self.setStyleSheet("QFrame { background-color: %s }" % self.color.name())
        
        self.levelDetailsView = LevelDetailsView(self.level_selection, parent=self)
        width = self.ENTRIES_PER_ROW*LevelOverviewView.WIDTH+32
        self.levelDetailsView.move(width, 0)
        self.levelDetailsView.resize(640-width, 480)
        
        self.levelOverviews = []
        for level in level_selection.levels:
            overview = LevelOverviewView(self, level, level_selection)
            self.levelOverviews.append(overview)
            
        for i in range(len(self.levelOverviews)):
            overview = self.levelOverviews[i]
            overview.move(16+(i%self.ENTRIES_PER_ROW)*LevelOverviewView.WIDTH, 32+i/self.ENTRIES_PER_ROW*LevelOverviewView.HEIGHT)
예제 #7
0
 def __init__(self, weaponCautionClue, parent=None):
     """ Initialize the Weapon Caution Clue View """
     QFrame.__init__(self, parent)
     self.weaponCautionClue = weaponCautionClue
     self.resize(16, 15)
     self.loadImage()
     self.setVisible(False)
예제 #8
0
    def __init__(self, parent, level_selection):
        """ Initialize the Level Selection View """
        QFrame.__init__(self)  #, parent)

        self.resize(640, 480)
        self.level_selection = level_selection

        self.setFocusPolicy(Qt.StrongFocus)

        self.color = QColor(200, 200, 200)
        self.setStyleSheet("QFrame { background-color: %s }" %
                           self.color.name())

        self.levelDetailsView = LevelDetailsView(self.level_selection,
                                                 parent=self)
        width = self.ENTRIES_PER_ROW * LevelOverviewView.WIDTH + 32
        self.levelDetailsView.move(width, 0)
        self.levelDetailsView.resize(640 - width, 480)

        self.levelOverviews = []
        for level in level_selection.levels:
            overview = LevelOverviewView(self, level, level_selection)
            self.levelOverviews.append(overview)

        for i in range(len(self.levelOverviews)):
            overview = self.levelOverviews[i]
            overview.move(
                16 + (i % self.ENTRIES_PER_ROW) * LevelOverviewView.WIDTH,
                32 + i / self.ENTRIES_PER_ROW * LevelOverviewView.HEIGHT)
예제 #9
0
 def __init__(self, level, width, height, parent=None):
     """ Initialize the Level Completion View """
     QFrame.__init__(self, parent)
     self.level = level
     
     self.setup()
     self.updateView()
     
     self.color = QColor(200, 200, 200)
     self.setStyleSheet("QFrame { background-color: %s }" % self.color.name()) 
     self.resize(width, height)
예제 #10
0
    def __init__(self, parent, level):
        """ Initialize the Level View """
        QFrame.__init__(self, parent)

        self.level = level
        self.background = BackgroundView()
        self.enemy_view = EnemyShipView(self.level.enemy)
        self.ship_view = HeroShipView(self.level.ship)
        self.laser_views = []

        self.setFocusPolicy(Qt.StrongFocus)
 def __init__(self, parent):
     """ Initialize the Kao Widget With Menu """
     QFrame.__init__(self)
     self.parentWidget = parent
     self.__left_widget__, self.__right_widget__ = self.setupWidgets()
     self.setPieceSizes()
     
     layout = QHBoxLayout(self)
     layout.addWidget(self.__left_widget__)
     layout.addWidget(self.__right_widget__)
     self.setLayout(layout)
예제 #12
0
 def __init__(self, minefield, drone, parent=None):
     """ Initialize the grid square view """
     QFrame.__init__(self, parent)
     
     self.minefield = minefield
     self.drone = drone
     
     self.row = 0
     self.column = 0
     
     self.setup()
     self.resize(self.getWidth(), self.getHeight())
예제 #13
0
    def __init__(self, minefield, drone, parent=None):
        """ Initialize the grid square view """
        QFrame.__init__(self, parent)

        self.minefield = minefield
        self.drone = drone

        self.row = 0
        self.column = 0

        self.setup()
        self.resize(self.getWidth(), self.getHeight())
예제 #14
0
    def __init__(self):
        QFrame.__init__(self)
        layout = QGridLayout()

        self.btnMonitor1 = OutputButton(ID=2)
        self.btnMonitor1.setText("Monitor 1")
        layout.addWidget(self.btnMonitor1, 0, 1)

        self.btnChurch = OutputButton(ID=4)
        self.btnChurch.setText("Church")
        layout.addWidget(self.btnChurch, 1, 0)
        self.btnSpecial = OutputButton(ID=7)
        self.btnSpecial.setText("Stage")
        layout.addWidget(self.btnSpecial, 1, 1)

        self.btnGallery = OutputButton(ID=6)
        self.btnGallery.setText("Gallery")
        layout.addWidget(self.btnGallery, 2, 0)
        self.btnWelcome = OutputButton(ID=5)
        self.btnWelcome.setText("Welcome")
        layout.addWidget(self.btnWelcome, 2, 1)

        self.btnFont = OutputButton(ID=3)
        self.btnFont.setText("Font")
        layout.addWidget(self.btnFont, 3, 0)
        self.btnRecord = OutputButton(ID=8)
        self.btnRecord.setText("Record")
        layout.addWidget(self.btnRecord, 3, 1)

        self.btnPCMix = OutputButton(ID=2)
        self.btnPCMix.setText("PC Mix")
        layout.addWidget(self.btnPCMix, 4, 0)
        self.btnAll = IDedButton(ID=0)
        self.btnAll.setText("All")
        layout.addWidget(self.btnAll, 4, 1)

        self.outputButtons = {
            2: self.btnMonitor1,
            3: self.btnFont,
            4: self.btnChurch,
            5: self.btnWelcome,
            6: self.btnGallery,
            7: self.btnSpecial,
            8: self.btnRecord,
        }

        layout.setColumnMinimumWidth(0, 100)
        layout.setColumnMinimumWidth(1, 100)
        layout.setColumnStretch(0, 1)
        layout.setColumnStretch(1, 1)

        self.setLayout(layout)
 def __init__(self, parent=None):
     """ Initialize the Transaction Menu Widget """
     QFrame.__init__(self, parent=parent)
     self.setFrameShape(QFrame.Panel)
     self.layout = QVBoxLayout(self)
     
     self.transaction = None
     self.forms = [SubtransactionForm(self)]
     
     self.setupHeader()
     for form in self.forms:
         form.setup()
     self.layout.addStretch()
예제 #16
0
    def __init__(self, parent, level, levelSelection):
        """ Initialize the Level Overview View """
        QFrame.__init__(self, parent)

        self.resize(self.WIDTH, self.HEIGHT)
        self.level = level
        self.levelSelection = levelSelection

        self.bigFont = QFont()
        self.bigFont.setPointSize(32)

        self.smallFont = QFont()
        self.smallFont.setPointSize(24)

        self.label = self.getLabel(self.smallFont)
예제 #17
0
    def __init__(self, parent, level):
        """ Initialize the Level View """
        QFrame.__init__(self, parent)

        self.resize(640, 480)
        self.level = level
        self.minefield_view = MinefieldView(self.level.minefield, self.level.drone, self)
        
        self.levelCompletionView = LevelCompletionView(self.level, self.minefield_view.getWidth(), 480-self.minefield_view.getHeight(), self)
        self.levelCompletionView.move(0, self.minefield_view.getHeight())
        
        self.gameStatusBar = GameStatusView(level, 640-self.minefield_view.getWidth(), 480, parent=self)
        self.gameStatusBar.move(self.minefield_view.getWidth(), 0)

        self.setFocusPolicy(Qt.StrongFocus)
예제 #18
0
    def __init__(self, parent, level, levelSelection):
        """ Initialize the Level Overview View """
        QFrame.__init__(self, parent)

        self.resize(self.WIDTH, self.HEIGHT)
        self.level = level
        self.levelSelection = levelSelection

        self.bigFont = QFont()
        self.bigFont.setPointSize(32)

        self.smallFont = QFont()
        self.smallFont.setPointSize(24)

        self.label = self.getLabel(self.smallFont)
예제 #19
0
 def __init__(self, minefield, drone, parent=None):
     """ Initialize the grid square view """
     QFrame.__init__(self, parent)
     
     self.minefield = minefield
     self.drone = drone
     self.minefield_grid = MinefieldGridView(minefield, drone, parent=self)
     
     self.borderWidth = GridSquareFrame.GRID_SQUARE_SIZE/2
     self.borderHeight = GridSquareFrame.GRID_SQUARE_SIZE/2
     
     self.setup()
     
     self.color = QColor(200, 200, 200)
     #self.setStyleSheet("QFrame { background-color: rgba(200, 200, 200, 100%) }")
     self.resize(self.getWidth(), self.getHeight())
     self.minefield_grid.move(self.borderWidth, self.borderHeight)
예제 #20
0
    def __init__(self, minefield, drone, parent=None):
        """ Initialize the grid square view """
        QFrame.__init__(self, parent)

        self.minefield = minefield
        self.drone = drone
        self.minefield_grid = MinefieldGridView(minefield, drone, parent=self)

        self.borderWidth = GridSquareFrame.GRID_SQUARE_SIZE / 2
        self.borderHeight = GridSquareFrame.GRID_SQUARE_SIZE / 2

        self.setup()

        self.color = QColor(200, 200, 200)
        #self.setStyleSheet("QFrame { background-color: rgba(200, 200, 200, 100%) }")
        self.resize(self.getWidth(), self.getHeight())
        self.minefield_grid.move(self.borderWidth, self.borderHeight)
예제 #21
0
    def __init__(self, levelSelection, parent=None):
        """ Initialize the Level Details View """
        QFrame.__init__(self, parent)

        #self.resize(self.WIDTH, self.HEIGHT)
        self.levelSelection = levelSelection
        
        self.smallFont = QFont()
        self.smallFont.setPointSize(14)
        
        self.bigFont = QFont()
        self.bigFont.setPointSize(24)
        
        self.detailsLabel = self.getLabel("Level Details", self.bigFont, alignment=Qt.AlignCenter)
        self.detailsLabel.move(32, 16)
        self.setupGridLabel()
        self.setupDefensesLabels()
        self.setupRatingsLabel()
    def __init__(self):
        QFrame.__init__(self)

        self._color = [220, 220, 220]

        self._font = QFont()
        self._font.setPixelSize(10)

        self._pen = QPen(QColor(100, 100, 100, 255))

        self.label = QLabel()
        self.label.setWordWrap(True)
        self.label.setFont(self._font)
        self.label.setMaximumWidth(300)
        self.label.setMaximumHeight(36)
        self.label.setMinimumHeight(36)

        layout = QGridLayout()
        layout.setSpacing(0)
        layout.addWidget(self.label)
        self.setLayout(layout)

        self.setMinimumWidth(360)
        self.setMaximumWidth(360)
예제 #23
0
	def __init__(self):
		QFrame.__init__(self)

		self._color = [220, 220, 220]

		self._font = QFont()
		self._font.setPixelSize(10)

		self._pen = QPen(QColor(100, 100, 100, 255))

		self.label = QLabel()
		self.label.setWordWrap(True)
		self.label.setFont(self._font)
		self.label.setMaximumWidth(300)
		self.label.setMaximumHeight(36)
		self.label.setMinimumHeight(36)

		layout = QGridLayout()
		layout.setSpacing(0)
		layout.addWidget(self.label)
		self.setLayout(layout)

		self.setMinimumWidth(360)
		self.setMaximumWidth(360)
예제 #24
0
    def __init__(self, parent=None):
        QFrame.__init__(self, parent)
        self.log = logging.getLogger(__name__)
        self.year = QLineEdit()
        self.month = QLineEdit()
        self.day = QLineEdit()
        self.hour = QLineEdit()

        year = QLabel('Year')
        month = QLabel('Month')
        day = QLabel('Day')
        hour = QLabel('Hour')

        grid = QGridLayout()
        grid.addWidget(year, 0, 0)
        grid.addWidget(month, 0, 1)
        grid.addWidget(day, 0, 2)
        grid.addWidget(hour, 0, 3)

        grid.addWidget(self.year, 1, 0)
        grid.addWidget(self.month, 1, 1)
        grid.addWidget(self.day, 1, 2)
        grid.addWidget(self.hour, 1, 3)
        self.setLayout(grid)
예제 #25
0
 def __init__(self):
     QFrame.__init__(self)
     self.setFrameShape(QFrame.HLine)
예제 #26
0
 def __init__(self, *args, **kwargs ):
     
     QFrame.__init__( self, *args, **kwargs )
     self.setFrameShape( QFrame.VLine );
     self.setFrameShadow( QFrame.Sunken );
예제 #27
0
 def __init__(self, parent=None):
     """ Initialize the Grid Square Frame """
     QFrame.__init__(self, parent)
     self.resize(self.GRID_SQUARE_SIZE, self.GRID_SQUARE_SIZE)
예제 #28
0
    def __init__(self, app=None):
        QFrame.__init__(self, None)

        self.svgGLViewer = None

        self.layerSliderValue = 0.5

        # load the draft.ui, a UI defination created on QT Creator.
        self.currentCom = ""

        USE_QTUITOOLS=False
        if USE_QTUITOOLS:
            import PySide.QtUiTools as QtUiTools
            QUiLoader = QtUiTools.QUiLoader()
            self.ui = QUiLoader.load('draft.ui')
        else:
            self.ui = draft_ui.Ui_Frame()
            self.ui.setupUi( self )
            def __findChild( *args):
                global _self
                _self = self
                ret =  eval("_self.ui.%s" % args[1])
                return ret
            self.ui.findChild = __findChild

        # main reprap object to comunicate with arduino
        self.reprap = reprap.device() #.cartesianClass()

        # fill combobox with available serial device names
        self.coms = self.ui.findChild(QComboBox, 'COMS')
        for each in self.reprap.comList:
            self.coms.addItem ( each, userData=self.reprap.comList[each] )

        # fill combobox with available displays to use for print ( the display connected to the projector)
        self.displays = self.ui.findChild(QComboBox, 'printDisplay')
        displayCount=1
        for each in pyglet.window.get_platform().get_default_display().get_screens():
            try: name = each.get_device_name().replace('\\\\.\\','')
            except:
                name = 'Display%d' % displayCount
                displayCount += 1
            menuOption = 'use %s-%dx%d' % (name, each.width, each.height)
            #print dir(each)
            print self.displays
            self.displays.addItem ( menuOption, each )

        # connect buttons to methods on this class
        self.connect(self.ui.findChild(QPushButton, 'loadGeo') , SIGNAL('clicked()'), lambda: self.loadGeo() )
#        self.connect(self.ui.findChild(QPushButton, 'sliceButton') , SIGNAL('clicked()'), lambda: self.sliceButton() )
        self.connect(self.ui.findChild(QPushButton, 'printButton') , SIGNAL('clicked()'), lambda: self.printButton() )
        self.connect(self.ui.findChild(QPushButton, 'connect') , SIGNAL('clicked()'), lambda: self.connectButton() )
        self.connect(self.ui.findChild(QToolButton, 'refil') , SIGNAL('clicked()'), lambda: self.refilButton() )

        self.connect(self.ui.findChild(QDial, 'sliceDial') , SIGNAL('sliderMoved(int)'), self.layerSlider )
#        self.connect(self.ui.findChild(QSlider, 'layer') , SIGNAL('sliderMoved(int)'), self.layerSlider )
#        self.connect(self.ui.findChild(QSlider, 'layer') , SIGNAL('valueChanged(int)'), self.layerSlider )


        # store those as direct children for easy access and save in config file.
        self.invertNormals          = self.ui.findChild(QCheckBox, 'invertNormals')
        self.expTime                = self.ui.findChild(QDoubleSpinBox, 'expTime')
        self.sliceThickness         = self.ui.findChild(QDoubleSpinBox, 'sliceThickness')
        self.axisSpeedSpinBox       = self.ui.findChild(QDoubleSpinBox, 'axisSpeed')

        self.connect(self.sliceThickness, SIGNAL('valueChanged(double)'), self.refreshGPU )
        self.connect(self.invertNormals, SIGNAL('clicked()'), self.refreshGPU )

        self.connect(self.axisSpeedSpinBox , SIGNAL('valueChanged(double)'), lambda: self.axisSpeed() )
        #self.axisSpeedSpinBox.valueChanged[float].connect(lambda: self.axisSpeed())
        self.axisSpeed()

        self.connect(self.ui.findChild(QToolButton, 'm10') , SIGNAL('clicked()'), lambda: self.moveZ(-10, True) )
        self.connect(self.ui.findChild(QToolButton, 'm1')  , SIGNAL('clicked()'), lambda: self.moveZ(-1, True) )
        self.connect(self.ui.findChild(QToolButton, 'm01') , SIGNAL('clicked()'), lambda: self.moveZ(-0.1, True) )

        self.connect(self.ui.findChild(QToolButton, 'p10') , SIGNAL('clicked()'), lambda: self.moveZ(10, True) )
        self.connect(self.ui.findChild(QToolButton, 'p1')  , SIGNAL('clicked()'), lambda: self.moveZ(1, True) )
        self.connect(self.ui.findChild(QToolButton, 'p01') , SIGNAL('clicked()'), lambda: self.moveZ(0.1, True) )

        #translate model
        self.modelTransform = struct()
        self.modelTransform.tx = self.ui.findChild(QDoubleSpinBox, 'modelMoveX')
        self.modelTransform.ty = self.ui.findChild(QDoubleSpinBox, 'modelMoveY')
        self.modelTransform.tz = self.ui.findChild(QDoubleSpinBox, 'modelMoveZ')
        self.modelTransform.rx = self.ui.findChild(QDoubleSpinBox, 'modelRotateX')
        self.modelTransform.ry = self.ui.findChild(QDoubleSpinBox, 'modelRotateY')
        self.modelTransform.rz = self.ui.findChild(QDoubleSpinBox, 'modelRotateZ')
        self.modelTransform.s = self.ui.findChild(QDoubleSpinBox, 'modelScale')

        def resetFunction( method, value, *sliders ):
            method( value,value,value, set=True)
            for each in sliders:
                each.setValue( value )

        moveFunction = lambda: self.moveModel(self.modelTransform.tx.value(), self.modelTransform.tz.value(), self.modelTransform.ty.value())
        self.connect(self.modelTransform.tx , SIGNAL('valueChanged(double)'), moveFunction )
        self.connect(self.modelTransform.ty , SIGNAL('valueChanged(double)'), moveFunction )
        self.connect(self.modelTransform.tz , SIGNAL('valueChanged(double)'), moveFunction )
        self.connect(self.ui.findChild(QPushButton, 'modelMoveReset') , SIGNAL('clicked()'), lambda: resetFunction( self.moveModel, 0.0, self.modelTransform.tx, self.modelTransform.ty, self.modelTransform.tz ) )

        rotateFunction = lambda: self.rotateModel(self.modelTransform.rx.value(), self.modelTransform.rz.value(), self.modelTransform.ry.value())
        self.connect(self.modelTransform.rx , SIGNAL('valueChanged(double)'), rotateFunction )
        self.connect(self.modelTransform.ry , SIGNAL('valueChanged(double)'), rotateFunction )
        self.connect(self.modelTransform.rz , SIGNAL('valueChanged(double)'), rotateFunction )
        self.connect(self.ui.findChild(QPushButton, 'modelRotateReset') , SIGNAL('clicked()'), lambda: resetFunction( self.rotateModel, 0.0, self.modelTransform.rx, self.modelTransform.ry, self.modelTransform.rz ) )

        scaleFunction = lambda: self.scaleModel(self.modelTransform.s.value(), self.modelTransform.s.value(), self.modelTransform.s.value())
        self.connect(self.modelTransform.s , SIGNAL('valueChanged(double)'), scaleFunction )
        self.connect(self.ui.findChild(QPushButton, 'modelScaleReset') , SIGNAL('clicked()'), lambda: resetFunction( self.scaleModel, 1.0, self.modelTransform.s ) )



        # VERY IMPORTANT!!! we MUST schedule glFrame to be deleted or else we get a thread fatal error in python!
        # this fix "Fatal Python error: PyEval_SaveThread: NULL tstate" error when using QtOpenGl Widgets!!
        def fix_PyEval_SaveThread_Fatal_Error_on_exit():
            self.glFrame.deleteLater()
            self.saveConfig()
        app.connect( app, SIGNAL('aboutToQuit()'), fix_PyEval_SaveThread_Fatal_Error_on_exit )

        # get light icon...
        self.comLight = self.ui.findChild(QGroupBox, 'ConnectLight')
        self.comLightState = 0
        self.setComIcon()

        # create a new GLWidget, parented to the ui main frame
        self.glFrame = GLWidget( self.ui.findChild(QWidget, 'frame') )
        self.glFrame.app = app

        # unit setup
        self.modelUnit = self.ui.findChild(QComboBox, 'modelUnit')
        unitz = prefs.units()
        unitzIndez = unitz.keys()
        unitzIndez.sort()
        for each in unitzIndez:
            self.modelUnit.addItem ( each, unitz[each] )
        self.modelUnit.setCurrentIndex( self.modelUnit.findText( 'mm' ) )
        def setCurrentUnit():
            self.glFrame.unit = unitz[str(self.modelUnit.currentText())]
            self.refreshGPU()
        self.connect( self.modelUnit , SIGNAL('currentIndexChanged(QString)'), setCurrentUnit )


        # load a default mesh into the opengl viewport
#        self.glFrame.addMesh( mesh('meshes/teapot.obj') )

        # add the glWidget to the framelayout of the main frame, so it resizes correctly.
        self.ui.findChild(QObject, 'frameLayout').addWidget( self.glFrame )

#        self.status = QStatusBar()
#        self.ui.findChild(QObject, 'statusBar').addWidget( self.status )
#        self.status.showMessage("Ready")

        self.logWin = self.ui.findChild(QPlainTextEdit, 'log')
        self.connect(self.logWin , SIGNAL('textChanged()'), lambda: self.logAppended() )
        self.logWin.setWordWrapMode( QTextOption.NoWrap )

        self.fileName = 'meshes/.'
        self.configFile = 'draft.config'

        self.loadConfig()

#        stdoutLog = log()
#        stderrLog = log(error=True)

        self.moveModel(0,0,0, set=True)
        self.rotateModel(0,0,0, set=True)
        self.scaleModel(1,1,1, set=True)