Class: QTimetrap::TrackerControls::LayoutBuilder

Inherits:
Object
  • Object
show all
Includes:
QtUiHelpers, LayoutHelpers
Defined in:
app/components/tracker_controls/layout_builder.rb

Overview

Builds tracker controls widget tree and wires all button callbacks.

Constant Summary

Constants included from LayoutHelpers

QTimetrap::TrackerControls::LayoutHelpers::TITLE_SLOGANS

Instance Method Summary collapse

Constructor Details

#initialize(parent:, callbacks:) ⇒ LayoutBuilder

Returns a new instance of LayoutBuilder.



10
11
12
13
# File 'app/components/tracker_controls/layout_builder.rb', line 10

def initialize(parent:, callbacks:)
  @parent = parent
  @callbacks = callbacks
end

Instance Method Details

#buildObject



15
16
17
18
19
20
21
22
23
# File 'app/components/tracker_controls/layout_builder.rb', line 15

def build
  @widget = QWidget.new(parent)
  root = build_root_layout
  root.add_widget(build_topbar)
  start_button, stop_button = build_tracker_row(root)
  refresh_button = build_actions_row(root)
  connect_actions(start_button, stop_button, refresh_button)
  ui_payload
end