class ExportGeneralTimetableDialog
include Contracts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Public Class Methods
new(initial_date, parent = nil)
click to toggle source
Calls superclass method
# File lib/tmis/interface/forms/export_general_timetable.rb, line 18 def initialize(initial_date, parent = nil) super parent @ui = Ui::ExportGeneralTimetableDialog.new @ui.setup_ui self @ui.dateDateEdit.setDate Qt::Date.fromString(initial_date.to_s, Qt::ISODate) end
Public Instance Methods
export(date, path)
click to toggle source
# File lib/tmis/interface/forms/export_general_timetable.rb, line 49 def export(date, path) if path.exist? path.delete spreadsheet = SpreadsheetCreater.create path.to_s else spreadsheet = SpreadsheetCreater.create path.to_s end if @ui.weeklyRadioButton.isChecked TimetableExporter.new(spreadsheet, GeneralTimetableExportStratagy.new(date.monday..date.monday + 5)).export.save else TimetableExporter.new(spreadsheet, GeneralTimetableExportStratagy.new([date])).export.save end end
on_browsePushButton_clicked()
click to toggle source
# File lib/tmis/interface/forms/export_general_timetable.rb, line 25 def on_browsePushButton_clicked @ui.pathLineEdit.text = Qt::FileDialog::getSaveFileName(self, 'Save File', "#{Dir.home}/NewTimetable", 'XLS Spreadsheet(*.xls)') end
on_exportButtonBox_accepted()
click to toggle source
# File lib/tmis/interface/forms/export_general_timetable.rb, line 29 def on_exportButtonBox_accepted filename = @ui.pathLineEdit.text.force_encoding 'UTF-8' if filename.empty? show_message 'Выберите путь к файлу' else path = Pathname.new(filename) if path.dirname.writable? date = Date.parse @ui.dateDateEdit.date.toString(Qt::ISODate) export(date, path) close else show_message 'Файл не может быть записан!' end end end
on_exportButtonBox_rejected()
click to toggle source
# File lib/tmis/interface/forms/export_general_timetable.rb, line 45 def on_exportButtonBox_rejected close end
show_message(text)
click to toggle source
# File lib/tmis/interface/forms/export_general_timetable.rb, line 63 def show_message(text) box = Qt::MessageBox.new box.setText text box.exec end