Source code for lib_openmolar.client.qt4.client_session_widget

#! /usr/bin/env python
# -*- coding: utf-8 -*-

###############################################################################
##                                                                           ##
##  Copyright 2010-2012, Neil Wallace <neil@openmolar.com>                   ##
##                                                                           ##
##  This program is free software: you can redistribute it and/or modify     ##
##  it under the terms of the GNU General Public License as published by     ##
##  the Free Software Foundation, either version 3 of the License, or        ##
##  (at your option) any later version.                                      ##
##                                                                           ##
##  This program is distributed in the hope that it will be useful,          ##
##  but WITHOUT ANY WARRANTY; without even the implied warranty of           ##
##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            ##
##  GNU General Public License for more details.                             ##
##                                                                           ##
##  You should have received a copy of the GNU General Public License        ##
##  along with this program.  If not, see <http://www.gnu.org/licenses/>.    ##
##                                                                           ##
###############################################################################

from PyQt4 import QtGui, QtCore

from lib_openmolar.common.qt4.postgres.postgres_session_widget import \
    PostgresSessionWidget

[docs]class ClientSessionWidget(QtGui.QStackedWidget, PostgresSessionWidget): ''' This widget is both the central widget for the client gui, and a Session Widget. '''
[docs] def __init__(self, parent=None): QtGui.QStackedWidget.__init__(self, parent) PostgresSessionWidget.__init__(self, parent)
[docs] def setup_ui(self): pass
[docs] def add(self, widget, session_name): ''' the addTab method ''' QtGui.QStackedWidget.addWidget(self, widget) LOGGER.debug("added widget %s for session %s"% (widget, session_name))
[docs] def update_status(self): ''' let the user know the connection state ''' brief, verbose = self.get_session_status() try: self.parent().setWindowTitle(brief) except: LOGGER.warning("unable to set client session widget title")
[docs] def set_session(self, session): PostgresSessionWidget.set_session(self, session) self.update_status()
def _test(): from lib_openmolar.client.connect import DemoClientConnection app = QtGui.QApplication([]) session = DemoClientConnection() session.connect() csw = ClientSessionWidget() csw.set_session(session) csw.show() app.exec_() if __name__ == "__main__": import logging LOGGER = logging.getLogger("test") import gettext gettext.install("openmolar") _test()