commit
						96b0102f04
					
				|  | @ -99,3 +99,4 @@ ENV/ | ||||||
| 
 | 
 | ||||||
| # mypy | # mypy | ||||||
| .mypy_cache/ | .mypy_cache/ | ||||||
|  | .vscode/settings.json | ||||||
|  |  | ||||||
|  | @ -18,8 +18,9 @@ | ||||||
| Annotations for ur faces. | Annotations for ur faces. | ||||||
| 
 | 
 | ||||||
| """ | """ | ||||||
|  | import PyQt5 | ||||||
| from PyQt5 import QtCore, QtGui | from PyQt5 import QtCore, QtGui | ||||||
| from PyQt5.QtGui import QGraphicsPathItem | from PyQt5.QtWidgets import QGraphicsPathItem | ||||||
| from pyqtgraph import Point, functions as fn, Color | from pyqtgraph import Point, functions as fn, Color | ||||||
| import numpy as np | import numpy as np | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -47,7 +47,7 @@ class Axis(pg.AxisItem): | ||||||
|         super().__init__(**kwargs) |         super().__init__(**kwargs) | ||||||
| 
 | 
 | ||||||
|         # XXX: pretty sure this makes things slower |         # XXX: pretty sure this makes things slower | ||||||
|         # self.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) |         # self.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
| 
 | 
 | ||||||
|         self.linkedsplits = linkedsplits |         self.linkedsplits = linkedsplits | ||||||
|         self._min_tick = min_tick |         self._min_tick = min_tick | ||||||
|  | @ -185,7 +185,7 @@ class AxisLabel(pg.GraphicsObject): | ||||||
|         self.setFlag(self.ItemIgnoresTransformations) |         self.setFlag(self.ItemIgnoresTransformations) | ||||||
| 
 | 
 | ||||||
|         # XXX: pretty sure this is faster |         # XXX: pretty sure this is faster | ||||||
|         self.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) |         self.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
| 
 | 
 | ||||||
|         self._parent = parent |         self._parent = parent | ||||||
| 
 | 
 | ||||||
|  | @ -218,7 +218,7 @@ class AxisLabel(pg.GraphicsObject): | ||||||
|         Subtypes can customize further by overloading ``.draw()``. |         Subtypes can customize further by overloading ``.draw()``. | ||||||
| 
 | 
 | ||||||
|         """ |         """ | ||||||
|         # p.setCompositionMode(QtGui.QPainter.CompositionMode_SourceOver) |         # p.setCompositionMode(QtWidgets.QPainter.CompositionMode_SourceOver) | ||||||
| 
 | 
 | ||||||
|         if self.label_str: |         if self.label_str: | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -23,7 +23,7 @@ from typing import Tuple, Dict, Any, Optional | ||||||
| from types import ModuleType | from types import ModuleType | ||||||
| from functools import partial | from functools import partial | ||||||
| 
 | 
 | ||||||
| from PyQt5 import QtCore, QtGui | from PyQt5 import QtCore, QtGui, QtWidgets | ||||||
| from PyQt5.QtCore import Qt | from PyQt5.QtCore import Qt | ||||||
| from PyQt5.QtCore import QEvent | from PyQt5.QtCore import QEvent | ||||||
| import numpy as np | import numpy as np | ||||||
|  | @ -73,7 +73,7 @@ from ..data import feed | ||||||
| log = get_logger(__name__) | log = get_logger(__name__) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class GodWidget(QtGui.QWidget): | class GodWidget(QtWidgets.QWidget): | ||||||
|     ''' |     ''' | ||||||
|     "Our lord and savior, the holy child of window-shua, there is no |     "Our lord and savior, the holy child of window-shua, there is no | ||||||
|     widget above thee." - 6|6 |     widget above thee." - 6|6 | ||||||
|  | @ -92,17 +92,17 @@ class GodWidget(QtGui.QWidget): | ||||||
| 
 | 
 | ||||||
|         super().__init__(parent) |         super().__init__(parent) | ||||||
| 
 | 
 | ||||||
|         self.hbox = QtGui.QHBoxLayout(self) |         self.hbox = QtWidgets.QHBoxLayout(self) | ||||||
|         self.hbox.setContentsMargins(0, 0, 0, 0) |         self.hbox.setContentsMargins(0, 0, 0, 0) | ||||||
|         self.hbox.setSpacing(2) |         self.hbox.setSpacing(2) | ||||||
| 
 | 
 | ||||||
|         self.vbox = QtGui.QVBoxLayout() |         self.vbox = QtWidgets.QVBoxLayout() | ||||||
|         self.vbox.setContentsMargins(0, 0, 0, 0) |         self.vbox.setContentsMargins(0, 0, 0, 0) | ||||||
|         self.vbox.setSpacing(2) |         self.vbox.setSpacing(2) | ||||||
| 
 | 
 | ||||||
|         self.hbox.addLayout(self.vbox) |         self.hbox.addLayout(self.vbox) | ||||||
| 
 | 
 | ||||||
|         # self.toolbar_layout = QtGui.QHBoxLayout() |         # self.toolbar_layout = QtWidgets.QHBoxLayout() | ||||||
|         # self.toolbar_layout.setContentsMargins(0, 0, 0, 0) |         # self.toolbar_layout.setContentsMargins(0, 0, 0, 0) | ||||||
|         # self.vbox.addLayout(self.toolbar_layout) |         # self.vbox.addLayout(self.toolbar_layout) | ||||||
| 
 | 
 | ||||||
|  | @ -134,7 +134,7 @@ class GodWidget(QtGui.QWidget): | ||||||
|         return self._chart_cache.get(symbol_key) |         return self._chart_cache.get(symbol_key) | ||||||
| 
 | 
 | ||||||
|     # def init_timeframes_ui(self): |     # def init_timeframes_ui(self): | ||||||
|     #     self.tf_layout = QtGui.QHBoxLayout() |     #     self.tf_layout = QtWidgets.QHBoxLayout() | ||||||
|     #     self.tf_layout.setSpacing(0) |     #     self.tf_layout.setSpacing(0) | ||||||
|     #     self.tf_layout.setContentsMargins(0, 12, 0, 0) |     #     self.tf_layout.setContentsMargins(0, 12, 0, 0) | ||||||
|     #     time_frames = ('1M', '5M', '15M', '30M', '1H', '1D', '1W', 'MN') |     #     time_frames = ('1M', '5M', '15M', '30M', '1H', '1D', '1W', 'MN') | ||||||
|  | @ -142,7 +142,7 @@ class GodWidget(QtGui.QWidget): | ||||||
| 
 | 
 | ||||||
|     #     for tf in time_frames: |     #     for tf in time_frames: | ||||||
|     #         btn_name = ''.join([btn_prefix, tf]) |     #         btn_name = ''.join([btn_prefix, tf]) | ||||||
|     #         btn = QtGui.QPushButton(tf) |     #         btn = QtWidgets.QPushButton(tf) | ||||||
|     #         # TODO: |     #         # TODO: | ||||||
|     #         btn.setEnabled(False) |     #         btn.setEnabled(False) | ||||||
|     #         setattr(self, btn_name, btn) |     #         setattr(self, btn_name, btn) | ||||||
|  | @ -233,7 +233,7 @@ class GodWidget(QtGui.QWidget): | ||||||
|         return order_mode_started |         return order_mode_started | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class LinkedSplits(QtGui.QWidget): | class LinkedSplits(QtWidgets.QWidget): | ||||||
|     ''' |     ''' | ||||||
|     Widget that holds a central chart plus derived |     Widget that holds a central chart plus derived | ||||||
|     subcharts computed from the original data set apart |     subcharts computed from the original data set apart | ||||||
|  | @ -279,11 +279,11 @@ class LinkedSplits(QtGui.QWidget): | ||||||
|         #     self.xaxis_ind.setStyle(showValues=False) |         #     self.xaxis_ind.setStyle(showValues=False) | ||||||
|         #     self.xaxis.hide() |         #     self.xaxis.hide() | ||||||
| 
 | 
 | ||||||
|         self.splitter = QtGui.QSplitter(QtCore.Qt.Vertical) |         self.splitter = QtWidgets.QSplitter(QtCore.Qt.Vertical) | ||||||
|         self.splitter.setMidLineWidth(2) |         self.splitter.setMidLineWidth(2) | ||||||
|         self.splitter.setHandleWidth(0) |         self.splitter.setHandleWidth(0) | ||||||
| 
 | 
 | ||||||
|         self.layout = QtGui.QVBoxLayout(self) |         self.layout = QtWidgets.QVBoxLayout(self) | ||||||
|         self.layout.setContentsMargins(0, 0, 0, 0) |         self.layout.setContentsMargins(0, 0, 0, 0) | ||||||
|         self.layout.addWidget(self.splitter) |         self.layout.addWidget(self.splitter) | ||||||
| 
 | 
 | ||||||
|  | @ -344,7 +344,7 @@ class LinkedSplits(QtGui.QWidget): | ||||||
|             self.chart.hideAxis('bottom') |             self.chart.hideAxis('bottom') | ||||||
| 
 | 
 | ||||||
|         # style? |         # style? | ||||||
|         self.chart.setFrameStyle(QtGui.QFrame.StyledPanel | QtGui.QFrame.Plain) |         self.chart.setFrameStyle(QtWidgets.QFrame.StyledPanel | QtWidgets.QFrame.Plain) | ||||||
| 
 | 
 | ||||||
|         return self.chart |         return self.chart | ||||||
| 
 | 
 | ||||||
|  | @ -402,7 +402,7 @@ class LinkedSplits(QtGui.QWidget): | ||||||
|         cv.chart = cpw |         cv.chart = cpw | ||||||
| 
 | 
 | ||||||
|         cpw.plotItem.vb.linkedsplits = self |         cpw.plotItem.vb.linkedsplits = self | ||||||
|         cpw.setFrameStyle(QtGui.QFrame.StyledPanel)  # | QtGui.QFrame.Plain) |         cpw.setFrameStyle(QtWidgets.QFrame.StyledPanel)  # | QtWidgets.QFrame.Plain) | ||||||
|         cpw.hideButtons() |         cpw.hideButtons() | ||||||
|         # XXX: gives us outline on backside of y-axis |         # XXX: gives us outline on backside of y-axis | ||||||
|         cpw.getPlotItem().setContentsMargins(*CHART_MARGINS) |         cpw.getPlotItem().setContentsMargins(*CHART_MARGINS) | ||||||
|  | @ -452,8 +452,8 @@ class ChartPlotWidget(pg.PlotWidget): | ||||||
|     eventually want multiple plots managed together?) |     eventually want multiple plots managed together?) | ||||||
| 
 | 
 | ||||||
|     ''' |     ''' | ||||||
|     sig_mouse_leave = QtCore.Signal(object) |     sig_mouse_leave = QtCore.pyqtSignal(object) | ||||||
|     sig_mouse_enter = QtCore.Signal(object) |     sig_mouse_enter = QtCore.pyqtSignal(object) | ||||||
| 
 | 
 | ||||||
|     _l1_labels: L1Labels = None |     _l1_labels: L1Labels = None | ||||||
| 
 | 
 | ||||||
|  | @ -690,11 +690,11 @@ class ChartPlotWidget(pg.PlotWidget): | ||||||
|         # https://stackoverflow.com/a/39410081 |         # https://stackoverflow.com/a/39410081 | ||||||
|         # seems to only be useful if we don't re-generate the entire |         # seems to only be useful if we don't re-generate the entire | ||||||
|         # QPainterPath every time |         # QPainterPath every time | ||||||
|         # curve.curve.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) |         # curve.curve.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
| 
 | 
 | ||||||
|         # don't ever use this - it's a colossal nightmare of artefacts |         # don't ever use this - it's a colossal nightmare of artefacts | ||||||
|         # and is disastrous for performance. |         # and is disastrous for performance. | ||||||
|         # curve.setCacheMode(QtGui.QGraphicsItem.ItemCoordinateCache) |         # curve.setCacheMode(QtWidgets.QGraphicsItem.ItemCoordinateCache) | ||||||
| 
 | 
 | ||||||
|         self.addItem(curve) |         self.addItem(curve) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -23,7 +23,7 @@ from typing import Callable | ||||||
| 
 | 
 | ||||||
| from PyQt5 import QtCore | from PyQt5 import QtCore | ||||||
| from PyQt5.QtCore import QEvent | from PyQt5.QtCore import QEvent | ||||||
| from PyQt5.QtGui import QWidget | from PyQt5.QtWidgets import QWidget | ||||||
| import trio | import trio | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -24,7 +24,7 @@ from typing import Optional, Callable | ||||||
| import inspect | import inspect | ||||||
| import numpy as np | import numpy as np | ||||||
| import pyqtgraph as pg | import pyqtgraph as pg | ||||||
| from PyQt5 import QtCore, QtGui | from PyQt5 import QtCore, QtGui, QtWidgets | ||||||
| from PyQt5.QtCore import QPointF, QRectF | from PyQt5.QtCore import QPointF, QRectF | ||||||
| 
 | 
 | ||||||
| from .._style import ( | from .._style import ( | ||||||
|  | @ -74,7 +74,7 @@ class LineDot(pg.CurvePoint): | ||||||
|         brush = pg.mkBrush(cdefault) |         brush = pg.mkBrush(cdefault) | ||||||
| 
 | 
 | ||||||
|         # presuming this is fast since it's built in? |         # presuming this is fast since it's built in? | ||||||
|         dot = self.dot = QtGui.QGraphicsEllipseItem( |         dot = self.dot = QtWidgets.QGraphicsEllipseItem( | ||||||
|             QtCore.QRectF(-size / 2, -size / 2, size, size) |             QtCore.QRectF(-size / 2, -size / 2, size, size) | ||||||
|         ) |         ) | ||||||
|         # if we needed transformable dot? |         # if we needed transformable dot? | ||||||
|  | @ -103,7 +103,7 @@ class LineDot(pg.CurvePoint): | ||||||
|         i = index - x[0] |         i = index - x[0] | ||||||
|         if i > 0 and i < len(y): |         if i > 0 and i < len(y): | ||||||
|             newPos = (index, y[i]) |             newPos = (index, y[i]) | ||||||
|             QtGui.QGraphicsItem.setPos(self, *newPos) |             QtWidgets.QGraphicsItem.setPos(self, *newPos) | ||||||
|             return True |             return True | ||||||
| 
 | 
 | ||||||
|         return False |         return False | ||||||
|  | @ -358,10 +358,10 @@ class Cursor(pg.GraphicsObject): | ||||||
|         # vertical and horizonal lines and a y-axis label |         # vertical and horizonal lines and a y-axis label | ||||||
| 
 | 
 | ||||||
|         vl = plot.addLine(x=0, pen=self.lines_pen, movable=False) |         vl = plot.addLine(x=0, pen=self.lines_pen, movable=False) | ||||||
|         vl.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) |         vl.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
| 
 | 
 | ||||||
|         hl = plot.addLine(y=0, pen=self.lines_pen, movable=False) |         hl = plot.addLine(y=0, pen=self.lines_pen, movable=False) | ||||||
|         hl.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) |         hl.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
|         hl.hide() |         hl.hide() | ||||||
| 
 | 
 | ||||||
|         yl = YAxisLabel( |         yl = YAxisLabel( | ||||||
|  |  | ||||||
|  | @ -42,7 +42,7 @@ class FastAppendCurve(pg.PlotCurveItem): | ||||||
|         # interactions slower (such as zooming) and if so maybe if/when |         # interactions slower (such as zooming) and if so maybe if/when | ||||||
|         # we implement a "history" mode for the view we disable this in |         # we implement a "history" mode for the view we disable this in | ||||||
|         # that mode? |         # that mode? | ||||||
|         self.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) |         self.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
| 
 | 
 | ||||||
|     def update_from_array( |     def update_from_array( | ||||||
|         self, |         self, | ||||||
|  | @ -101,7 +101,7 @@ class FastAppendCurve(pg.PlotCurveItem): | ||||||
| 
 | 
 | ||||||
|             # XXX: pretty annoying but, without this there's little |             # XXX: pretty annoying but, without this there's little | ||||||
|             # artefacts on the append updates to the curve... |             # artefacts on the append updates to the curve... | ||||||
|             self.setCacheMode(QtGui.QGraphicsItem.NoCache) |             self.setCacheMode(QtWidgets.QGraphicsItem.NoCache) | ||||||
|             self.prepareGeometryChange() |             self.prepareGeometryChange() | ||||||
|             flip_cache = True |             flip_cache = True | ||||||
| 
 | 
 | ||||||
|  | @ -121,7 +121,7 @@ class FastAppendCurve(pg.PlotCurveItem): | ||||||
|         self.update() |         self.update() | ||||||
| 
 | 
 | ||||||
|         if flip_cache: |         if flip_cache: | ||||||
|             self.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) |             self.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
| 
 | 
 | ||||||
|     def boundingRect(self): |     def boundingRect(self): | ||||||
|         if self.path is None: |         if self.path is None: | ||||||
|  |  | ||||||
|  | @ -435,7 +435,7 @@ class LevelLine(pg.InfiniteLine): | ||||||
| 
 | 
 | ||||||
|     def add_marker( |     def add_marker( | ||||||
|         self, |         self, | ||||||
|         path: QtGui.QGraphicsPathItem, |         path: QtWidgets.QGraphicsPathItem, | ||||||
|     ) -> None: |     ) -> None: | ||||||
| 
 | 
 | ||||||
|         # chart = self._chart |         # chart = self._chart | ||||||
|  | @ -527,7 +527,7 @@ class LevelLine(pg.InfiniteLine): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def level_line( | def level_line( | ||||||
|     chart: 'ChartPlogWidget',  # noqa |     chart: 'ChartPlotWidget',  # noqa | ||||||
|     level: float, |     level: float, | ||||||
|     color: str = 'default', |     color: str = 'default', | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -172,7 +172,7 @@ def gen_qpath( | ||||||
| class BarItems(pg.GraphicsObject): | class BarItems(pg.GraphicsObject): | ||||||
|     """Price range bars graphics rendered from a OHLC sequence. |     """Price range bars graphics rendered from a OHLC sequence. | ||||||
|     """ |     """ | ||||||
|     sigPlotChanged = QtCore.Signal(object) |     sigPlotChanged = QtCore.pyqtSignal(object) | ||||||
| 
 | 
 | ||||||
|     # 0.5 is no overlap between arms, 1.0 is full overlap |     # 0.5 is no overlap between arms, 1.0 is full overlap | ||||||
|     w: float = 0.43 |     w: float = 0.43 | ||||||
|  | @ -196,7 +196,7 @@ class BarItems(pg.GraphicsObject): | ||||||
|         # interactions slower (such as zooming) and if so maybe if/when |         # interactions slower (such as zooming) and if so maybe if/when | ||||||
|         # we implement a "history" mode for the view we disable this in |         # we implement a "history" mode for the view we disable this in | ||||||
|         # that mode? |         # that mode? | ||||||
|         self.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) |         self.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
| 
 | 
 | ||||||
|         # not sure if this is actually impoving anything but figured it |         # not sure if this is actually impoving anything but figured it | ||||||
|         # was worth a shot: |         # was worth a shot: | ||||||
|  | @ -314,7 +314,7 @@ class BarItems(pg.GraphicsObject): | ||||||
| 
 | 
 | ||||||
|             # trigger redraw despite caching |             # trigger redraw despite caching | ||||||
|             self.prepareGeometryChange() |             self.prepareGeometryChange() | ||||||
|             self.setCacheMode(QtGui.QGraphicsItem.NoCache) |             self.setCacheMode(QtWidgets.QGraphicsItem.NoCache) | ||||||
|             flip_cache = True |             flip_cache = True | ||||||
| 
 | 
 | ||||||
|         self._xrange = first_index, last_index |         self._xrange = first_index, last_index | ||||||
|  | @ -352,7 +352,7 @@ class BarItems(pg.GraphicsObject): | ||||||
|         self.update() |         self.update() | ||||||
| 
 | 
 | ||||||
|         if flip_cache: |         if flip_cache: | ||||||
|             self.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) |             self.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
| 
 | 
 | ||||||
|     def paint( |     def paint( | ||||||
|         self, |         self, | ||||||
|  |  | ||||||
|  | @ -22,7 +22,7 @@ from inspect import isfunction | ||||||
| from typing import Callable | from typing import Callable | ||||||
| 
 | 
 | ||||||
| import pyqtgraph as pg | import pyqtgraph as pg | ||||||
| from PyQt5 import QtGui | from PyQt5 import QtGui, QtWidgets | ||||||
| from PyQt5.QtCore import QPointF, QRectF | from PyQt5.QtCore import QPointF, QRectF | ||||||
| 
 | 
 | ||||||
| from ._style import ( | from ._style import ( | ||||||
|  | @ -105,6 +105,7 @@ class Label: | ||||||
|     production grade UIs... |     production grade UIs... | ||||||
| 
 | 
 | ||||||
|     """ |     """ | ||||||
|  | 
 | ||||||
|     def __init__( |     def __init__( | ||||||
| 
 | 
 | ||||||
|         self, |         self, | ||||||
|  | @ -125,7 +126,7 @@ class Label: | ||||||
| 
 | 
 | ||||||
|         self._x_offset = x_offset |         self._x_offset = x_offset | ||||||
| 
 | 
 | ||||||
|         txt = self.txt = QtGui.QGraphicsTextItem() |         txt = self.txt = QtWidgets.QGraphicsTextItem() | ||||||
|         vb.scene().addItem(txt) |         vb.scene().addItem(txt) | ||||||
| 
 | 
 | ||||||
|         # configure font size based on DPI |         # configure font size based on DPI | ||||||
|  | @ -149,7 +150,7 @@ class Label: | ||||||
|         self._anchor_func = self.txt.pos().x |         self._anchor_func = self.txt.pos().x | ||||||
| 
 | 
 | ||||||
|         # not sure if this makes a diff |         # not sure if this makes a diff | ||||||
|         self.txt.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) |         self.txt.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
| 
 | 
 | ||||||
|         # TODO: edit and selection support |         # TODO: edit and selection support | ||||||
|         # https://doc.qt.io/qt-5/qt.html#TextInteractionFlag-enum |         # https://doc.qt.io/qt-5/qt.html#TextInteractionFlag-enum | ||||||
|  |  | ||||||
|  | @ -511,17 +511,17 @@ class SearchWidget(QtWidgets.QWidget): | ||||||
| 
 | 
 | ||||||
|         self.godwidget = godwidget |         self.godwidget = godwidget | ||||||
| 
 | 
 | ||||||
|         self.vbox = QtGui.QVBoxLayout(self) |         self.vbox = QtWidgets.QVBoxLayout(self) | ||||||
|         self.vbox.setContentsMargins(0, 0, 0, 0) |         self.vbox.setContentsMargins(0, 0, 0, 0) | ||||||
|         self.vbox.setSpacing(4) |         self.vbox.setSpacing(4) | ||||||
| 
 | 
 | ||||||
|         # split layout for the (label:| search bar entry) |         # split layout for the (label:| search bar entry) | ||||||
|         self.bar_hbox = QtGui.QHBoxLayout() |         self.bar_hbox = QtWidgets.QHBoxLayout() | ||||||
|         self.bar_hbox.setContentsMargins(0, 0, 0, 0) |         self.bar_hbox.setContentsMargins(0, 0, 0, 0) | ||||||
|         self.bar_hbox.setSpacing(4) |         self.bar_hbox.setSpacing(4) | ||||||
| 
 | 
 | ||||||
|         # add label to left of search bar |         # add label to left of search bar | ||||||
|         self.label = label = QtGui.QLabel(parent=self) |         self.label = label = QtWidgets.QLabel(parent=self) | ||||||
|         label.setTextFormat(3)  # markdown |         label.setTextFormat(3)  # markdown | ||||||
|         label.setFont(_font.font) |         label.setFont(_font.font) | ||||||
|         label.setMargin(4) |         label.setMargin(4) | ||||||
|  | @ -653,7 +653,7 @@ async def pack_matches( | ||||||
| 
 | 
 | ||||||
|     view: CompleterView, |     view: CompleterView, | ||||||
|     has_results: dict[str, set[str]], |     has_results: dict[str, set[str]], | ||||||
|     matches: dict[(str, str), [str]], |     matches: dict[(str, str), List[str]], | ||||||
|     provider: str, |     provider: str, | ||||||
|     pattern: str, |     pattern: str, | ||||||
|     search: Callable[..., Awaitable[dict]], |     search: Callable[..., Awaitable[dict]], | ||||||
|  |  | ||||||
|  | @ -23,7 +23,7 @@ WARNING: this code likely doesn't work at all (yet) | ||||||
| """ | """ | ||||||
| import numpy as np | import numpy as np | ||||||
| import pyqtgraph as pg | import pyqtgraph as pg | ||||||
| from PyQt5 import QtCore, QtGui | from PyQt5 import QtCore, QtGui, QtWidgets | ||||||
| 
 | 
 | ||||||
| from .quantdom.charts import CenteredTextItem | from .quantdom.charts import CenteredTextItem | ||||||
| from .quantdom.base import Quotes | from .quantdom.base import Quotes | ||||||
|  | @ -57,8 +57,8 @@ class SignallingApi(object): | ||||||
|         self.signals_visible = False |         self.signals_visible = False | ||||||
| 
 | 
 | ||||||
|     def add_signals(self): |     def add_signals(self): | ||||||
|         self.signals_group_text = QtGui.QGraphicsItemGroup() |         self.signals_group_text = QtWidgets.QGraphicsItemGroup() | ||||||
|         self.signals_group_arrow = QtGui.QGraphicsItemGroup() |         self.signals_group_arrow = QtWidgets.QGraphicsItemGroup() | ||||||
|         self.signals_text_items = np.empty(len(Quotes), dtype=object) |         self.signals_text_items = np.empty(len(Quotes), dtype=object) | ||||||
| 
 | 
 | ||||||
|         for p in Portfolio.positions: |         for p in Portfolio.positions: | ||||||
|  |  | ||||||
|  | @ -25,8 +25,8 @@ from typing import Callable, Optional, Union | ||||||
| import uuid | import uuid | ||||||
| 
 | 
 | ||||||
| from pyqtgraph import QtGui | from pyqtgraph import QtGui | ||||||
| from PyQt5 import QtCore | from PyQt5 import QtCore, QtWidgets | ||||||
| from PyQt5.QtGui import QLabel, QStatusBar | from PyQt5.QtWidgets import QLabel, QStatusBar | ||||||
| 
 | 
 | ||||||
| from ..log import get_logger | from ..log import get_logger | ||||||
| from ._style import _font_small, hcolor | from ._style import _font_small, hcolor | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue