ProcessTableView.cpp 990 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "ProcessTableView.h"
  2. #include "ProcessTableModel.h"
  3. ProcessTableView::ProcessTableView(GWidget* parent)
  4. : GTableView(parent)
  5. {
  6. set_model(make<ProcessTableModel>());
  7. start_timer(1000);
  8. model().update();
  9. }
  10. ProcessTableView::~ProcessTableView()
  11. {
  12. }
  13. void ProcessTableView::timer_event(GTimerEvent&)
  14. {
  15. model().update();
  16. }
  17. void ProcessTableView::model_notification(const GModelNotification& notification)
  18. {
  19. if (notification.type() == GModelNotification::ModelUpdated) {
  20. if (on_status_message)
  21. on_status_message(String::format("%d processes", model().row_count()));
  22. return;
  23. }
  24. }
  25. pid_t ProcessTableView::selected_pid() const
  26. {
  27. return model().selected_pid();
  28. }
  29. inline ProcessTableModel& ProcessTableView::model()
  30. {
  31. return static_cast<ProcessTableModel&>(*GTableView::model());
  32. }
  33. inline const ProcessTableModel& ProcessTableView::model() const
  34. {
  35. return static_cast<const ProcessTableModel&>(*GTableView::model());
  36. }