Make list pop out next to primary y-axis
parent
2c24c9ef2d
commit
51c61587d2
|
@ -24,6 +24,7 @@ from types import ModuleType
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui
|
from PyQt5 import QtCore, QtGui
|
||||||
|
from PyQt5.QtCore import Qt
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import pyqtgraph as pg
|
import pyqtgraph as pg
|
||||||
import tractor
|
import tractor
|
||||||
|
@ -55,7 +56,7 @@ from ._style import (
|
||||||
_bars_to_left_in_follow_mode,
|
_bars_to_left_in_follow_mode,
|
||||||
)
|
)
|
||||||
from . import _search
|
from . import _search
|
||||||
from ._search import FontSizedQLineEdit
|
from ._search import SearchBar, SearchWidget
|
||||||
from ._event import open_key_stream
|
from ._event import open_key_stream
|
||||||
from ..data._source import Symbol
|
from ..data._source import Symbol
|
||||||
from ..data._sharedmem import ShmArray
|
from ..data._sharedmem import ShmArray
|
||||||
|
@ -80,20 +81,24 @@ class ChartSpace(QtGui.QWidget):
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
|
||||||
self.vbox = QtGui.QVBoxLayout(self)
|
self.hbox = QtGui.QHBoxLayout(self)
|
||||||
|
self.hbox.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.hbox.setSpacing(2)
|
||||||
|
|
||||||
|
self.vbox = QtGui.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.toolbar_layout = QtGui.QHBoxLayout()
|
self.toolbar_layout = QtGui.QHBoxLayout()
|
||||||
self.toolbar_layout.setContentsMargins(0, 0, 0, 0)
|
self.toolbar_layout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
|
||||||
self.hbox = QtGui.QHBoxLayout()
|
|
||||||
self.hbox.setContentsMargins(0, 0, 0, 0)
|
|
||||||
|
|
||||||
# self.init_timeframes_ui()
|
# self.init_timeframes_ui()
|
||||||
# self.init_strategy_ui()
|
# self.init_strategy_ui()
|
||||||
self.vbox.addLayout(self.toolbar_layout)
|
self.vbox.addLayout(self.toolbar_layout)
|
||||||
self.vbox.addLayout(self.hbox)
|
# self.vbox.addLayout(self.hbox)
|
||||||
|
|
||||||
self._chart_cache = {}
|
self._chart_cache = {}
|
||||||
self.linkedcharts: 'LinkedSplitCharts' = None
|
self.linkedcharts: 'LinkedSplitCharts' = None
|
||||||
|
@ -1595,20 +1600,30 @@ async def _async_main(
|
||||||
# setup search widget
|
# setup search widget
|
||||||
# search.installEventFilter(self)
|
# search.installEventFilter(self)
|
||||||
|
|
||||||
search = _search.FontSizedQLineEdit(chart_app)
|
# search = _search.SearchBar(chart_app)
|
||||||
|
|
||||||
|
search = _search.SearchWidget(
|
||||||
|
chart_space=chart_app,
|
||||||
|
)
|
||||||
|
|
||||||
# the main chart's view is given focus at startup
|
# the main chart's view is given focus at startup
|
||||||
search.unfocus()
|
search.bar.unfocus()
|
||||||
|
|
||||||
# add search singleton to global chart-space widget
|
# add search singleton to global chart-space widget
|
||||||
chart_app.vbox.addWidget(search)
|
chart_app.hbox.addWidget(
|
||||||
chart_app.vbox.addWidget(search.view)
|
search,
|
||||||
|
|
||||||
|
# alights to top and uses minmial space based on
|
||||||
|
# search bar size hint (i think?)
|
||||||
|
alignment=Qt.AlignTop
|
||||||
|
)
|
||||||
chart_app.search = search
|
chart_app.search = search
|
||||||
|
|
||||||
# this internally starts a ``chart_symbol()`` task above
|
# this internally starts a ``chart_symbol()`` task above
|
||||||
chart_app.load_symbol(brokername, sym, loglevel)
|
chart_app.load_symbol(brokername, sym, loglevel)
|
||||||
|
|
||||||
async with open_key_stream(
|
async with open_key_stream(
|
||||||
search,
|
search.bar,
|
||||||
) as key_stream:
|
) as key_stream:
|
||||||
|
|
||||||
# start kb handling task for searcher
|
# start kb handling task for searcher
|
||||||
|
|
Loading…
Reference in New Issue