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