Пример #1
0
    def __init__(self, parent=None, name='Chart Window'):
        """ Constructor """

        QScrollView.__init__(self, parent, name)

        #fixme: for some reason, the following statement throws
        #error output, but still seems to work....
        self.setMinimumSize(800, 600)

        self.xsize = self.width()
        self.mYAxisSize = 60

        self.chartStyle = ['OHLC', 'Candle', 'Line']
        self.timeScale = [('3 Months',80), \
                          ('1 Year',260), \
                          ('2 Years',520), \
                          ('3 Years',780)]
        #self.numberOfBars = 80

        self.mData = DataSet()
        self.mProps = ChartProperties(self)
        self.connect(self.mProps, \
                     PYSIGNAL('propertiesChanged'), self.redraw)

        self.mIndCharts = []
        self.mNumIndCharts = 0
        self.mMaxNumIndCharts = 5

        self.setHScrollBarMode(QScrollView.AlwaysOn)
        self.setVScrollBarMode(QScrollView.AlwaysOff)
        self.splitter = QSplitter(Qt.Vertical, self.viewport())
        self.addChild(self.splitter, 0, 0)

        #X Axis
        self.mX = XAxis(self.mData, self.mYAxisSize, self.mProps, \
                        self.splitter, 'XAxis')
        self.splitter.setResizeMode(self.mX, \
                                    QSplitter.Stretch)

        # Price Chart
        self.mChart = PriceChart(self.mX, self.mData, \
                                 self.mYAxisSize, self.mProps,  \
                                 self.splitter, 'Main Chart')
        #self.splitter.setResizeMode(self.mChart, \
        #                            QSplitter.FollowSizeHint)

        self.splitter.moveToLast(self.mX)

        #self.mChart.AddThisIndicator('SMA')

        #for i in range(self.mMaxNumIndCharts):
        #    indchart = IndicatorChart(self.mX, self.mData, \
        #                              self.mYAxisSize, \
        #                              self.mProps, \
        #                              self.splitter, 'Indicator Chart')
        #self.splitter.setResizeMode(indchart, \
        #                            QSplitter.Stretch)
        #    indchart.hide()
        #    self.mIndCharts.append(indchart)

        self.newIndicatorChart('Volume')

        self.symbols = Avidus.ds.listSymbols()
        self.symbol_index = -1