summaryrefslogtreecommitdiffstats
path: root/app/main.qml
blob: 796ec52c1a044c5574dbc3901a69b2abdb4d2a5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import TaskManager 1.0

Window {
	id: root
	visible: true
	width: 745
	height: 480

	TaskManager {
		id: taskmng

		onUpdateProcess: {
			var index = findId(tid_);
			libraryModel.set(index, {"cmd": cmd_, "tid": tid_, "user": euid_, "system_cpu": scpu_, 
									 "user_cpu": ucpu_, "resident_memory": resident_memory_, "state": state_});
		}

		onAddProcess: {
			libraryModel.append({"cmd": cmd_, "tid": tid_, "user": euid_, "system_cpu": scpu_, 
								 "user_cpu": ucpu_, "resident_memory": resident_memory_, "state": state_});
		}

		onRemoveProcess: {
			var index = findId(tid_);
			libraryModel.remove(index);
		}

		function findId(tid) {
			for(var i = 0; i < libraryModel.count; i++) {
				if(tid == libraryModel.get(i).tid) {
	  				return i;
	  			}
			}
		}

		Component.onCompleted: {
			taskmng.open(bindingAddress);
		}
	}

	ListModel {
		id: libraryModel
	}



	TableView {
		width: root.width
		height: root.height

		TableViewColumn {
			role: "cmd"
			title: "Process"
			width: 150
		}
		TableViewColumn {
			role: "tid"
			title: "ID"
			width: 80
		}
		TableViewColumn {
			role: "user"
			title: "User"
			width: 80
		}
		TableViewColumn {
			role: "system_cpu"
			title: "System %"
			width: 100
		}
		TableViewColumn {
			role: "user_cpu"
			title: "User %"
			width: 100
		}
		TableViewColumn {
			role: "resident_memory"
			title: "Memory"
			width: 100
		}
		TableViewColumn {
			role: "state"
			title: "State"
			width: 90
		}
		model: libraryModel
	}

}