def __init__(self, parent=None): super(OptionCalculator, self).__init__(parent) self.setupUi(self) #show self.show() #define signal&slot self.connect(self.fresh_quotes_button, SIGNAL('clicked()'), self.__onRefreshQuoteBtClicked) self.connect(self.edit_position_button, SIGNAL('clicked()'), self.__onEditPosBtClicked) self.connect(self.plot_button, SIGNAL('clicked()'), self.__onPlotBtClicked) self.connect(self, SIGNAL('PLOT_SENSIBILITY'), self.__plotGreeksSensibility) self.connect(self, SIGNAL('PLOT_EXERCISE_CURVE'), self.__plotExerciseCurve) self.connect(self, SIGNAL('SET_ETF_DISPLAY'), self.__setEtfDataDisplay) self.connect(self, SIGNAL('SET_CENTRAL_DISPLAY'), self.__setCentralTableDisplay) self.connect(self, SIGNAL('ENGINE_ERROR'), self.__notifyErrorOccur) #init position vtable self.option_data = MatrixModel(self) self.pos_deleg = AutoFormDelegate(self) self.position_vtable.setItemDelegate(self.pos_deleg) self.position_vtable.setModel(self.option_data) self.option_data.setSize(0, OPTION_DF_HEADERS) #init stock_position vtable self.stock_data = MatrixModel(self) self.stpos_deleg = AutoFormDelegate(self) self.stock_position_vtable.setItemDelegate(self.stpos_deleg) self.stock_position_vtable.setModel(self.stock_data) self.stock_data.setSize(0, STOCK_DF_HEADERS) #init portfolio vtable self.portfolio_data = MatrixModel(self) self.ptf_deleg = AutoFormDelegate(self) self.portfolio_vtable.setItemDelegate(self.ptf_deleg) self.portfolio_vtable.setModel(self.portfolio_data) self.portfolio_data.setSize(0, PORTFOLIO_DF_HEADERS) #gui communication self.msg = None self.msg_event = None self.msg_thread = None #data engine self.engine = None #flow control self.is_updating = False self.auto_refresh_timer = None #qt child self.edit_dialog = PosEditor(self) self.edit_dialog.setControler(self) return
def __init__(self, parent=None): super(PosEditor, self).__init__(parent) self.setupUi(self) self.setModal(True) #signal&slot self.connect(self.cancel_button, SIGNAL("clicked()"), self.onCancelBtClicked) self.connect(self.save_button, SIGNAL("clicked()"), self.onSaveAllBtClicked) self.connect(self.reload_button, SIGNAL("clicked()"), self.onReloadBtClicked) self.connect(self.save_csv_button, SIGNAL("clicked()"), self.onSaveCsvBtClicked) self.connect(self.addrow_button, SIGNAL("clicked()"), self.onAddrowBtClicked) self.connect(self.delrows_button, SIGNAL("clicked()"), self.onDelRowBtClicked) #init mvc impl self.model = MatrixModel(self) self.delegate = AutoFormDelegate(self) self.position_edit_vtable.setItemDelegate(self.delegate) self.position_edit_vtable.setModel(self.model) #init data self.controler = None self.model.setSize(0, PosEditor.EDIT_TABLE_HEADERS)