Class: Cosmos::LoggingTab
- Defined in:
- lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb
Overview
Implements the logging tab in the Command and Telemetry Server GUI
Instance Method Summary collapse
-
#initialize(production) ⇒ LoggingTab
constructor
A new instance of LoggingTab.
-
#populate(tab_widget) ⇒ Object
Create the logging tab and add it to the tab_widget.
- #update ⇒ Object
Constructor Details
#initialize(production) ⇒ LoggingTab
Returns a new instance of LoggingTab.
19 20 21 22 |
# File 'lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb', line 19 def initialize(production) @production = production @logging_layouts = {} end |
Instance Method Details
#populate(tab_widget) ⇒ Object
Create the logging tab and add it to the tab_widget
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb', line 27 def populate() scroll = Qt::ScrollArea.new = Qt::Widget.new layout = Qt::VBoxLayout.new() # Since the layout will be inside a scroll area # make sure it respects the sizes we set layout.setSizeConstraint(Qt::Layout::SetMinAndMaxSize) populate_logging_actions(layout) # Add the cmd/tlm log files information populate_log_file_info(layout) # Set the scroll area widget last now that all the items have been layed out scroll.setWidget() .addTab(scroll, "Logging") end |
#update ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb', line 45 def update CmdTlmServer.packet_logging.all.each do |packet_log_writer_pair_name, packet_log_writer_pair| @logging_layouts[packet_log_writer_pair_name].itemAt(1, Qt::FormLayout::FieldRole)..setText(packet_log_writer_pair.cmd_log_writer.logging_enabled.to_s) @logging_layouts[packet_log_writer_pair_name].itemAt(2, Qt::FormLayout::FieldRole)..setText(packet_log_writer_pair.cmd_log_writer.queue.size.to_s) @logging_layouts[packet_log_writer_pair_name].itemAt(3, Qt::FormLayout::FieldRole)..setText(packet_log_writer_pair.cmd_log_writer.filename) file_size = 0 begin file_size = File.size(packet_log_writer_pair.cmd_log_writer.filename) if packet_log_writer_pair.cmd_log_writer.filename rescue Exception # Do nothing on error end @logging_layouts[packet_log_writer_pair_name].itemAt(4, Qt::FormLayout::FieldRole)..setText(file_size.to_s) @logging_layouts[packet_log_writer_pair_name].itemAt(5, Qt::FormLayout::FieldRole)..setText(packet_log_writer_pair.tlm_log_writer.logging_enabled.to_s) @logging_layouts[packet_log_writer_pair_name].itemAt(6, Qt::FormLayout::FieldRole)..setText(packet_log_writer_pair.tlm_log_writer.queue.size.to_s) @logging_layouts[packet_log_writer_pair_name].itemAt(7, Qt::FormLayout::FieldRole)..setText(packet_log_writer_pair.tlm_log_writer.filename) file_size = 0 begin file_size = File.size(packet_log_writer_pair.tlm_log_writer.filename) if packet_log_writer_pair.tlm_log_writer.filename rescue Exception # Do nothing on error end @logging_layouts[packet_log_writer_pair_name].itemAt(8, Qt::FormLayout::FieldRole)..setText(file_size.to_s) end end |