Source code for lib_openmolar.client.qt4.widgets.add_notes_widget

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

###############################################################################
##                                                                           ##
##  Copyright 2010, Neil Wallace <rowinggolfer@googlemail.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/>.    ##
##                                                                           ##
###############################################################################

'''
This Module provides one class - AddNotesWidget
'''

from PyQt4 import QtCore, QtGui
from lib_openmolar.common.qt4 import widgets

[docs]class AddNotesWidget(QtGui.QWidget): ''' A custom widget to take text entry and signal when completed. '''
[docs] def __init__(self, parent=None): ''' AddNotesWidget.__init__(self, parent=None) ''' QtGui.QWidget.__init__(self, parent) self.setFocusPolicy(QtCore.Qt.NoFocus) #: a pointer to the :doc:`CompletionTextEdit` component self.text_edit = widgets.CompletionTextEdit(self) save_but = QtGui.QPushButton(_("&Save"), self) save_but.setSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding) layout = QtGui.QHBoxLayout(self) layout.setMargin(0) layout.addWidget(self.text_edit) layout.addWidget(save_but) save_but.clicked.connect(self.emit_save)
[docs] def minimumSizeHint(self): ''' overwrite the base class method return QtCore.QSize(200,50) ''' return QtCore.QSize(200,50)
[docs] def sizeHint(self): ''' overwrite the base class method return QtCore.QSize(500,120) ''' return QtCore.QSize(500, 120)
[docs] def emit_save(self): ''' this function is called when user clicks the save button >>> self.emit(QtCore.SIGNAL("Save Requested")) ''' self.emit(QtCore.SIGNAL("Save Requested"))
[docs] def set_text(self, text): ''' A convenience function to access :doc:`CompletionTextEdit` component's setText functionality ''' self.text_edit.setText(text)
@property
[docs] def text(self): ''' A convenience function to access :doc:`CompletionTextEdit` component's current text ''' return self.text_edit.document().toPlainText()
if __name__ == "__main__": def sig_catcher(): print "save request sent!" app = QtGui.QApplication([]) obj = AddNotesWidget() obj.connect(obj, QtCore.SIGNAL("Save Requested"), sig_catcher) obj.show() app.exec_() print obj.text