-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
92 lines (70 loc) · 3.28 KB
/
main.py
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
# from pygame.locals import *
# import pygame
from DataGetters.SubnetFinder import SubnetFinder
from Resources.Colors import Colors as cl
from ScreenLayouts.Cpu import Cpu
from ScreenLayouts.Dashboard import Dashboard
from ScreenLayouts.FileBrowser import FileBrowser
from ScreenLayouts.Log import Log
from ScreenLayouts.Memory import Memory
from ScreenLayouts.Network import Network
from ScreenLayouts.Processes import Processes
from ScreenLayouts.Disks import Disks
from ScreenLayouts.Sharing import Sharing
from ScreenLayouts.Subnet import Subnet
from UIComponents.ScrollableTable import ScrollableTable
from UIComponents.SelectorButton import SelectorButton
from UIComponents.TextInput import TextInput
from UIComponents.TopMenu import TopMenu
if __name__ == '__main__':
from pygame.locals import *
import pygame
pygame.init()
SCREENWIDTH = 800
SCREENHEIGHT = 600
WINDOW = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT))
pygame.display.set_caption("Orange System Profiler")
pygame.display.init()
clock = pygame.time.Clock()
running = True
# ---> Main Loop
while running:
# ---> Events Processing
for event in pygame.event.get():
if event.type == pygame.QUIT: running = False
elif event.type == KEYDOWN:
if event.key == K_ESCAPE: running = False
elif event.key == K_SPACE:
if not TopMenu.isSelected('File Browser') and \
not TopMenu.isSelected('Log') and \
not TopMenu.isSelected('Subnet'):
TopMenu.setSelectionAsHome()
TopMenu.processEvents(event)
ScrollableTable.processEvents(event)
if TopMenu.isSelected('Sharing'):
SelectorButton.processEvents(event, ['local', 'remote', 'broadcast'])
TextInput.processEvents(event, ['broadcast_port', 'remote_host', 'remote_port'])
if TopMenu.isSelected('File Browser'): TextInput.processEvents(event, ['filebrowser'])
if TopMenu.isSelected('Subnet'): TextInput.processEvents(event, ['subnet'])
if TopMenu.isSelected('Log'): TextInput.processEvents(event, ['log'])
# ---> Draw graphics
WINDOW.fill(cl.MIDNIGHTBLUE)
TopMenu.draw(
window=WINDOW,
menuItems=['Dashboard', 'CPU', 'Memory', 'Disks', 'Processes',
'File Browser', 'Network', 'Subnet', 'Sharing', 'Log']
)
if TopMenu.isSelected('Dashboard'): Dashboard.draw(WINDOW)
elif TopMenu.isSelected('CPU'): Cpu.draw(WINDOW)
elif TopMenu.isSelected('Memory'): Memory.draw(WINDOW)
elif TopMenu.isSelected('Disks'): Disks.draw(WINDOW)
elif TopMenu.isSelected('Network'): Network.draw(WINDOW)
elif TopMenu.isSelected('Processes'): Processes.draw(WINDOW)
elif TopMenu.isSelected('File Browser'): FileBrowser.draw(WINDOW)
elif TopMenu.isSelected('Subnet'): Subnet.draw(WINDOW)
elif TopMenu.isSelected('Sharing'): Sharing.draw(WINDOW)
elif TopMenu.isSelected('Log'): Log.draw(WINDOW)
# ---> Update display and tick
pygame.display.update()
clock.tick(60)
pygame.display.quit()