Source code for AFL.automation.prepare.PrepareWidget
import numpy as np
import pandas as pd
from math import sqrt
import plotly.graph_objects as go
import plotly.express as px
import ipywidgets
from ipywidgets import Dropdown,Layout,Label,Button,Checkbox,VBox,HBox,Text
import pickle
import AFL.automation.prepare
from AFL.automation.shared.units import units
from AFL.automation.prepare.StockBuilderWidget import StockBuilderWidget
from AFL.automation.prepare.SweepBuilderWidget import SweepBuilderWidget
from AFL.automation.prepare.DeckBuilderWidget import DeckBuilderWidget
from AFL.automation.prepare.SampleSeriesWidget import SampleSeriesWidget
[docs]
class PrepareWidget:
[docs]
def __init__(self):
self.data_model = PrepareWidget_Model()
self.data_view = PrepareWidget_View()
self.deck_builder = DeckBuilderWidget()
self.stock_builder = None
self.sweep_builder = None
self.sample_series_tool = None
[docs]
def SweepBuilder_reset_cb(self,event):
deck = self.stock_builder.add_stocks_to_deck()
self.sweep_builder = SweepBuilderWidget(deck)
widget = self.sweep_builder.start()
self.data_view.SweepBuilder_Container.children = [
self.data_view.reset_SweepBuilder_button,
widget
]
[docs]
def StockBuilder_reset_cb(self,event):
deck = self.deck_builder.build_deck_object()
self.stock_builder = StockBuilderWidget(deck)
widget = self.stock_builder.start()
self.data_view.StockBuilder_Container.children = [
self.data_view.reset_StockBuilder_button,
widget
]
[docs]
def SampleSeriesTool_reset_cb(self,event):
deck = self.sweep_builder.get_deck()
self.sample_series_tool = SampleSeriesWidget(deck)
widget = self.sample_series_tool.start()
self.data_view.SampleSeriesTool_Container.children = [
self.data_view.reset_SampleSeriesTool_button,
widget
]
[docs]
def start(self):
widget = self.data_view.start( self.deck_builder.start() )
self.data_view.reset_StockBuilder_button.on_click(self.StockBuilder_reset_cb)
self.data_view.reset_SweepBuilder_button.on_click(self.SweepBuilder_reset_cb)
self.data_view.reset_SampleSeriesTool_button.on_click(self.SampleSeriesTool_reset_cb)
return widget
[docs]
class PrepareWidget_View:
[docs]
def start(self,deck_builder_widget):
self.tabs = ipywidgets.Tab()
self.reset_StockBuilder_button = Button(description='Reset Tool')
self.reset_SweepBuilder_button = Button(description='Reset Tool')
self.reset_SampleSeriesTool_button = Button(description='Reset Tool')
self.StockBuilder_Container = VBox([self.reset_StockBuilder_button])
self.SweepBuilder_Container = VBox([self.reset_SweepBuilder_button])
self.SampleSeriesTool_Container = VBox([self.reset_SampleSeriesTool_button])
self.tabs.children = [
deck_builder_widget,
self.StockBuilder_Container,
self.SweepBuilder_Container,
self.SampleSeriesTool_Container,
]
self.tabs.set_title(0,'Deck Setup')
self.tabs.set_title(1,'Stock Setup')
self.tabs.set_title(2,'Sweep Setup')
self.tabs.set_title(3,'Sweep Submit')
return self.tabs