ProcessTableView.cpp 925 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "ProcessTableView.h"
  2. #include "ProcessModel.h"
  3. #include <LibGUI/GSortingProxyModel.h>
  4. #include <stdio.h>
  5. ProcessTableView::ProcessTableView(GWidget* parent)
  6. : GTableView(parent)
  7. {
  8. set_model(GSortingProxyModel::create(ProcessModel::create()));
  9. model()->set_key_column_and_sort_order(ProcessModel::Column::CPU, GSortOrder::Descending);
  10. refresh();
  11. }
  12. ProcessTableView::~ProcessTableView()
  13. {
  14. }
  15. void ProcessTableView::refresh()
  16. {
  17. model()->update();
  18. }
  19. void ProcessTableView::model_notification(const GModelNotification& notification)
  20. {
  21. if (notification.type() == GModelNotification::ModelUpdated) {
  22. // Do something?
  23. return;
  24. }
  25. }
  26. pid_t ProcessTableView::selected_pid() const
  27. {
  28. if (!model()->selected_index().is_valid())
  29. return -1;
  30. return model()->data(model()->index(model()->selected_index().row(), ProcessModel::Column::PID), GModel::Role::Sort).as_int();
  31. }