-
Notifications
You must be signed in to change notification settings - Fork 4
/
MainFrame.py
529 lines (412 loc) · 33.8 KB
/
MainFrame.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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Oct 10 2019)
## http://www.wxformbuilder.org/
##
## PLEASE DO *NOT* EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
import wx.stc
import wx.adv
###########################################################################
## Class MainFrame
###########################################################################
class MainFrame ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 994,600 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )
bSizer1 = wx.BoxSizer( wx.VERTICAL )
self.m_notebook2 = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_panel3 = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
gbSizer2 = wx.GridBagSizer( 20, 20 )
gbSizer2.SetFlexibleDirection( wx.BOTH )
gbSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
self.m_staticText1 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"*Room CSV File*\n-room_num, capacity\n-No Duplicates\n-Sort by room number", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText1.Wrap( -1 )
gbSizer2.Add( self.m_staticText1, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.room_csv_picker = wx.FilePickerCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.Size( -1,-1 ), wx.FLP_DEFAULT_STYLE )
gbSizer2.Add( self.room_csv_picker, wx.GBPosition( 0, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText2 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"*Exam CSV File*\n-course_code, course_title, Enrolment_Count, date (DD/MM/YY), start_time (HH:MM), end_time (HH:MM)\n-No Duplicates", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText2.Wrap( 490 )
gbSizer2.Add( self.m_staticText2, wx.GBPosition( 1, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.EXPAND, 5 )
self.room_exam_csv_picker = wx.FilePickerCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer2.Add( self.room_exam_csv_picker, wx.GBPosition( 1, 1 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER|wx.EXPAND, 5 )
room_algorithm_radioChoices = [ u"Single Course", u"Double Course" ]
self.room_algorithm_radio = wx.RadioBox( self.m_panel3, wx.ID_ANY, u"Allotment Algorithm", wx.DefaultPosition, wx.Size( -1,-1 ), room_algorithm_radioChoices, 2, wx.RA_SPECIFY_COLS )
self.room_algorithm_radio.SetSelection( 1 )
gbSizer2.Add( self.room_algorithm_radio, wx.GBPosition( 2, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.EXPAND, 5 )
self.room_generate_btn = wx.Button( self.m_panel3, wx.ID_ANY, u"Generate", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer2.Add( self.room_generate_btn, wx.GBPosition( 2, 1 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER|wx.ALL, 5 )
self.room_error_log_box = wx.stc.StyledTextCtrl(self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,-1 ), 0)
self.room_error_log_box.SetUseTabs ( True )
self.room_error_log_box.SetTabWidth ( 4 )
self.room_error_log_box.SetIndent ( 4 )
self.room_error_log_box.SetTabIndents( True )
self.room_error_log_box.SetBackSpaceUnIndents( True )
self.room_error_log_box.SetViewEOL( False )
self.room_error_log_box.SetViewWhiteSpace( False )
self.room_error_log_box.SetMarginWidth( 2, 0 )
self.room_error_log_box.SetIndentationGuides( True )
self.room_error_log_box.SetMarginWidth( 1, 0 )
self.room_error_log_box.SetMarginType( 0, wx.stc.STC_MARGIN_NUMBER );
self.room_error_log_box.SetMarginWidth( 0, self.room_error_log_box.TextWidth( wx.stc.STC_STYLE_LINENUMBER, "_99999" ) )
self.room_error_log_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDER, wx.stc.STC_MARK_BOXPLUS )
self.room_error_log_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDER, wx.BLACK)
self.room_error_log_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDER, wx.WHITE)
self.room_error_log_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.stc.STC_MARK_BOXMINUS )
self.room_error_log_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.BLACK )
self.room_error_log_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.WHITE )
self.room_error_log_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERSUB, wx.stc.STC_MARK_EMPTY )
self.room_error_log_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEREND, wx.stc.STC_MARK_BOXPLUS )
self.room_error_log_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEREND, wx.BLACK )
self.room_error_log_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEREND, wx.WHITE )
self.room_error_log_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.stc.STC_MARK_BOXMINUS )
self.room_error_log_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.BLACK)
self.room_error_log_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.WHITE)
self.room_error_log_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERMIDTAIL, wx.stc.STC_MARK_EMPTY )
self.room_error_log_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERTAIL, wx.stc.STC_MARK_EMPTY )
self.room_error_log_box.SetSelBackground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT ) )
self.room_error_log_box.SetSelForeground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT ) )
gbSizer2.Add( self.room_error_log_box, wx.GBPosition( 3, 0 ), wx.GBSpan( 1, 2 ), wx.EXPAND |wx.ALL, 5 )
gbSizer2.AddGrowableCol( 0 )
gbSizer2.AddGrowableCol( 1 )
gbSizer2.AddGrowableRow( 3 )
self.m_panel3.SetSizer( gbSizer2 )
self.m_panel3.Layout()
gbSizer2.Fit( self.m_panel3 )
self.m_notebook2.AddPage( self.m_panel3, u"Room Allotment", True )
self.m_panel4 = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
gbSizer21 = wx.GridBagSizer( 20, 20 )
gbSizer21.SetFlexibleDirection( wx.BOTH )
gbSizer21.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
self.m_staticText11 = wx.StaticText( self.m_panel4, wx.ID_ANY, u"Room Allotment CSV File", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText11.Wrap( -1 )
gbSizer21.Add( self.m_staticText11, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.seating_room_csv_picker = wx.FilePickerCtrl( self.m_panel4, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer21.Add( self.seating_room_csv_picker, wx.GBPosition( 0, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText21 = wx.StaticText( self.m_panel4, wx.ID_ANY, u"Registered Students CSV File\n-student_id, course_code", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText21.Wrap( 350 )
gbSizer21.Add( self.m_staticText21, wx.GBPosition( 1, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.seating_student_csv_picker = wx.FilePickerCtrl( self.m_panel4, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer21.Add( self.seating_student_csv_picker, wx.GBPosition( 1, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.seating_generate_btn = wx.Button( self.m_panel4, wx.ID_ANY, u"Generate", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer21.Add( self.seating_generate_btn, wx.GBPosition( 2, 0 ), wx.GBSpan( 1, 2 ), wx.ALIGN_CENTER|wx.ALL, 5 )
self.seating_error_box = wx.stc.StyledTextCtrl(self.m_panel4, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,-1 ), 0)
self.seating_error_box.SetUseTabs ( True )
self.seating_error_box.SetTabWidth ( 4 )
self.seating_error_box.SetIndent ( 4 )
self.seating_error_box.SetTabIndents( True )
self.seating_error_box.SetBackSpaceUnIndents( True )
self.seating_error_box.SetViewEOL( False )
self.seating_error_box.SetViewWhiteSpace( False )
self.seating_error_box.SetMarginWidth( 2, 0 )
self.seating_error_box.SetIndentationGuides( True )
self.seating_error_box.SetMarginWidth( 1, 0 )
self.seating_error_box.SetMarginType( 0, wx.stc.STC_MARGIN_NUMBER );
self.seating_error_box.SetMarginWidth( 0, self.seating_error_box.TextWidth( wx.stc.STC_STYLE_LINENUMBER, "_99999" ) )
self.seating_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDER, wx.stc.STC_MARK_BOXPLUS )
self.seating_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDER, wx.BLACK)
self.seating_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDER, wx.WHITE)
self.seating_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.stc.STC_MARK_BOXMINUS )
self.seating_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.BLACK )
self.seating_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.WHITE )
self.seating_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERSUB, wx.stc.STC_MARK_EMPTY )
self.seating_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEREND, wx.stc.STC_MARK_BOXPLUS )
self.seating_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEREND, wx.BLACK )
self.seating_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEREND, wx.WHITE )
self.seating_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.stc.STC_MARK_BOXMINUS )
self.seating_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.BLACK)
self.seating_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.WHITE)
self.seating_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERMIDTAIL, wx.stc.STC_MARK_EMPTY )
self.seating_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERTAIL, wx.stc.STC_MARK_EMPTY )
self.seating_error_box.SetSelBackground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT ) )
self.seating_error_box.SetSelForeground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT ) )
gbSizer21.Add( self.seating_error_box, wx.GBPosition( 3, 0 ), wx.GBSpan( 1, 2 ), wx.EXPAND |wx.ALL, 5 )
gbSizer21.AddGrowableCol( 0 )
gbSizer21.AddGrowableCol( 1 )
gbSizer21.AddGrowableRow( 3 )
self.m_panel4.SetSizer( gbSizer21 )
self.m_panel4.Layout()
gbSizer21.Fit( self.m_panel4 )
self.m_notebook2.AddPage( self.m_panel4, u"Seating Arrangement", False )
self.m_panel5 = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
gbSizer211 = wx.GridBagSizer( 4, 8 )
gbSizer211.SetFlexibleDirection( wx.BOTH )
gbSizer211.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
self.m_staticText111 = wx.StaticText( self.m_panel5, wx.ID_ANY, u"Room Allotment CSV File", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText111.Wrap( -1 )
gbSizer211.Add( self.m_staticText111, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.invig_room_csv_picker = wx.FilePickerCtrl( self.m_panel5, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer211.Add( self.invig_room_csv_picker, wx.GBPosition( 0, 1 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER|wx.EXPAND, 5 )
self.m_staticText211 = wx.StaticText( self.m_panel5, wx.ID_ANY, u"Faculty List\n-psrn, name, department, email", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText211.Wrap( 350 )
gbSizer211.Add( self.m_staticText211, wx.GBPosition( 1, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.invig_faculty_csv_picker = wx.FilePickerCtrl( self.m_panel5, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer211.Add( self.invig_faculty_csv_picker, wx.GBPosition( 1, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText19 = wx.StaticText( self.m_panel5, wx.ID_ANY, u"Scholar List\n-psrn, name, department, email", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText19.Wrap( -1 )
gbSizer211.Add( self.m_staticText19, wx.GBPosition( 2, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.invig_scholar_csv_picker = wx.FilePickerCtrl( self.m_panel5, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer211.Add( self.invig_scholar_csv_picker, wx.GBPosition( 2, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText20 = wx.StaticText( self.m_panel5, wx.ID_ANY, u"Faculty Chamber CSV\n-psrn, chamber", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText20.Wrap( -1 )
gbSizer211.Add( self.m_staticText20, wx.GBPosition( 3, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.invig_chamber_csv_picker = wx.FilePickerCtrl( self.m_panel5, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer211.Add( self.invig_chamber_csv_picker, wx.GBPosition( 3, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText212 = wx.StaticText( self.m_panel5, wx.ID_ANY, u"Timetable CSV\n-Course Code, Course Title, Class_Instructor, Course_admin", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText212.Wrap( -1 )
gbSizer211.Add( self.m_staticText212, wx.GBPosition( 4, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.invig_timetable_csv_picker = wx.FilePickerCtrl( self.m_panel5, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer211.Add( self.invig_timetable_csv_picker, wx.GBPosition( 4, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText22 = wx.StaticText( self.m_panel5, wx.ID_ANY, u"Leaves CSV\n-PSRN, start_date_time, end_date_time (DD/MM/YY HH:MM)", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText22.Wrap( -1 )
gbSizer211.Add( self.m_staticText22, wx.GBPosition( 5, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 )
self.invig_leaves_csv_picker = wx.FilePickerCtrl( self.m_panel5, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer211.Add( self.invig_leaves_csv_picker, wx.GBPosition( 5, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText23 = wx.StaticText( self.m_panel5, wx.ID_ANY, u"Max Duties CSV\n-PSRN, max_duties", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText23.Wrap( -1 )
gbSizer211.Add( self.m_staticText23, wx.GBPosition( 6, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 )
self.invig_duties_csv_picker = wx.FilePickerCtrl( self.m_panel5, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer211.Add( self.invig_duties_csv_picker, wx.GBPosition( 6, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText191 = wx.StaticText( self.m_panel5, wx.ID_ANY, u"Reserve duties per time slot", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText191.Wrap( -1 )
gbSizer211.Add( self.m_staticText191, wx.GBPosition( 7, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 )
self.invig_reserve_duties_box = wx.SpinCtrl( self.m_panel5, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 10, 0 )
gbSizer211.Add( self.invig_reserve_duties_box, wx.GBPosition( 7, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText201 = wx.StaticText( self.m_panel5, wx.ID_ANY, u"Big Course Cutoffs", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText201.Wrap( -1 )
gbSizer211.Add( self.m_staticText201, wx.GBPosition( 8, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 )
self.invig_big_course_cutoffs_box = wx.TextCtrl( self.m_panel5, wx.ID_ANY, u"150,300,500,1000", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer211.Add( self.invig_big_course_cutoffs_box, wx.GBPosition( 8, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.invig_generate_btn = wx.Button( self.m_panel5, wx.ID_ANY, u"Generate", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer211.Add( self.invig_generate_btn, wx.GBPosition( 9, 0 ), wx.GBSpan( 1, 2 ), wx.ALIGN_CENTER|wx.ALL, 5 )
self.invig_error_box = wx.stc.StyledTextCtrl(self.m_panel5, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,-1 ), 0)
self.invig_error_box.SetUseTabs ( True )
self.invig_error_box.SetTabWidth ( 4 )
self.invig_error_box.SetIndent ( 4 )
self.invig_error_box.SetTabIndents( True )
self.invig_error_box.SetBackSpaceUnIndents( True )
self.invig_error_box.SetViewEOL( False )
self.invig_error_box.SetViewWhiteSpace( False )
self.invig_error_box.SetMarginWidth( 2, 0 )
self.invig_error_box.SetIndentationGuides( True )
self.invig_error_box.SetMarginWidth( 1, 0 )
self.invig_error_box.SetMarginType( 0, wx.stc.STC_MARGIN_NUMBER );
self.invig_error_box.SetMarginWidth( 0, self.invig_error_box.TextWidth( wx.stc.STC_STYLE_LINENUMBER, "_99999" ) )
self.invig_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDER, wx.stc.STC_MARK_BOXPLUS )
self.invig_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDER, wx.BLACK)
self.invig_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDER, wx.WHITE)
self.invig_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.stc.STC_MARK_BOXMINUS )
self.invig_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.BLACK )
self.invig_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.WHITE )
self.invig_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERSUB, wx.stc.STC_MARK_EMPTY )
self.invig_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEREND, wx.stc.STC_MARK_BOXPLUS )
self.invig_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEREND, wx.BLACK )
self.invig_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEREND, wx.WHITE )
self.invig_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.stc.STC_MARK_BOXMINUS )
self.invig_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.BLACK)
self.invig_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.WHITE)
self.invig_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERMIDTAIL, wx.stc.STC_MARK_EMPTY )
self.invig_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERTAIL, wx.stc.STC_MARK_EMPTY )
self.invig_error_box.SetSelBackground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT ) )
self.invig_error_box.SetSelForeground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT ) )
gbSizer211.Add( self.invig_error_box, wx.GBPosition( 10, 0 ), wx.GBSpan( 1, 2 ), wx.EXPAND |wx.ALL, 5 )
gbSizer211.AddGrowableCol( 0 )
gbSizer211.AddGrowableCol( 1 )
gbSizer211.AddGrowableRow( 10 )
self.m_panel5.SetSizer( gbSizer211 )
self.m_panel5.Layout()
gbSizer211.Fit( self.m_panel5 )
self.m_notebook2.AddPage( self.m_panel5, u"Invigilation", False )
self.m_panel6 = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
gbSizer212 = wx.GridBagSizer( 20, 20 )
gbSizer212.SetFlexibleDirection( wx.BOTH )
gbSizer212.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
self.report_config_btn = wx.Button( self.m_panel6, wx.ID_ANY, u"Update Configuration (Application Restart Required)", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer212.Add( self.report_config_btn, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 3 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText112 = wx.StaticText( self.m_panel6, wx.ID_ANY, u"Invigilation CSV File", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText112.Wrap( -1 )
gbSizer212.Add( self.m_staticText112, wx.GBPosition( 1, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.report_invig_csv_picker = wx.FilePickerCtrl( self.m_panel6, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer212.Add( self.report_invig_csv_picker, wx.GBPosition( 1, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.report_invig_generate_btn = wx.Button( self.m_panel6, wx.ID_ANY, u"Generate Invigilation PDFs", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer212.Add( self.report_invig_generate_btn, wx.GBPosition( 1, 2 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 )
self.m_staticText213 = wx.StaticText( self.m_panel6, wx.ID_ANY, u"Room Allotment CSV", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText213.Wrap( 350 )
gbSizer212.Add( self.m_staticText213, wx.GBPosition( 2, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.report_room_csv_picker = wx.FilePickerCtrl( self.m_panel6, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer212.Add( self.report_room_csv_picker, wx.GBPosition( 2, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText31 = wx.StaticText( self.m_panel6, wx.ID_ANY, u"Registered Students CSV File\n-student_id, course_code", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText31.Wrap( -1 )
gbSizer212.Add( self.m_staticText31, wx.GBPosition( 3, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 )
self.report_students_csv_picker = wx.FilePickerCtrl( self.m_panel6, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer212.Add( self.report_students_csv_picker, wx.GBPosition( 3, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText32 = wx.StaticText( self.m_panel6, wx.ID_ANY, u"IC Email Course CSV\ncourse_code, ic_email", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText32.Wrap( -1 )
gbSizer212.Add( self.m_staticText32, wx.GBPosition( 4, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 )
self.report_ic_csv_picker = wx.FilePickerCtrl( self.m_panel6, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.csv", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer212.Add( self.report_ic_csv_picker, wx.GBPosition( 4, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.report_room_map_csv_picker = wx.FilePickerCtrl( self.m_panel6, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.*", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE )
gbSizer212.Add( self.report_room_map_csv_picker, wx.GBPosition( 5, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText214 = wx.StaticText( self.m_panel6, wx.ID_ANY, u"Room Map", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText214.Wrap( -1 )
gbSizer212.Add( self.m_staticText214, wx.GBPosition( 5, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 )
self.report_generate_seat_charts_btn = wx.Button( self.m_panel6, wx.ID_ANY, u"Generate Seating Charts", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer212.Add( self.report_generate_seat_charts_btn, wx.GBPosition( 2, 2 ), wx.GBSpan( 4, 1 ), wx.ALL|wx.EXPAND, 5 )
self.report_error_box = wx.stc.StyledTextCtrl(self.m_panel6, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,-1 ), 0)
self.report_error_box.SetUseTabs ( True )
self.report_error_box.SetTabWidth ( 4 )
self.report_error_box.SetIndent ( 4 )
self.report_error_box.SetTabIndents( True )
self.report_error_box.SetBackSpaceUnIndents( True )
self.report_error_box.SetViewEOL( False )
self.report_error_box.SetViewWhiteSpace( False )
self.report_error_box.SetMarginWidth( 2, 0 )
self.report_error_box.SetIndentationGuides( True )
self.report_error_box.SetMarginWidth( 1, 0 )
self.report_error_box.SetMarginType( 0, wx.stc.STC_MARGIN_NUMBER );
self.report_error_box.SetMarginWidth( 0, self.report_error_box.TextWidth( wx.stc.STC_STYLE_LINENUMBER, "_99999" ) )
self.report_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDER, wx.stc.STC_MARK_BOXPLUS )
self.report_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDER, wx.BLACK)
self.report_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDER, wx.WHITE)
self.report_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.stc.STC_MARK_BOXMINUS )
self.report_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.BLACK )
self.report_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.WHITE )
self.report_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERSUB, wx.stc.STC_MARK_EMPTY )
self.report_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEREND, wx.stc.STC_MARK_BOXPLUS )
self.report_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEREND, wx.BLACK )
self.report_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEREND, wx.WHITE )
self.report_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.stc.STC_MARK_BOXMINUS )
self.report_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.BLACK)
self.report_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.WHITE)
self.report_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERMIDTAIL, wx.stc.STC_MARK_EMPTY )
self.report_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERTAIL, wx.stc.STC_MARK_EMPTY )
self.report_error_box.SetSelBackground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT ) )
self.report_error_box.SetSelForeground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT ) )
gbSizer212.Add( self.report_error_box, wx.GBPosition( 6, 0 ), wx.GBSpan( 1, 3 ), wx.EXPAND |wx.ALL, 5 )
gbSizer212.AddGrowableCol( 0 )
gbSizer212.AddGrowableCol( 1 )
gbSizer212.AddGrowableRow( 6 )
self.m_panel6.SetSizer( gbSizer212 )
self.m_panel6.Layout()
gbSizer212.Fit( self.m_panel6 )
self.m_notebook2.AddPage( self.m_panel6, u"Reports", False )
self.m_panel7 = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
gbSizer15 = wx.GridBagSizer( 0, 0 )
gbSizer15.SetFlexibleDirection( wx.BOTH )
gbSizer15.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
self.mailer_login_btn = wx.Button( self.m_panel7, wx.ID_ANY, u"Login with Gmail", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer15.Add( self.mailer_login_btn, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 2 ), wx.ALIGN_CENTER|wx.ALL|wx.EXPAND, 5 )
self.m_staticText28 = wx.StaticText( self.m_panel7, wx.ID_ANY, u"Subject", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText28.Wrap( -1 )
gbSizer15.Add( self.m_staticText28, wx.GBPosition( 1, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.mailer_subject_box = wx.TextCtrl( self.m_panel7, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer15.Add( self.mailer_subject_box, wx.GBPosition( 1, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.m_staticText29 = wx.StaticText( self.m_panel7, wx.ID_ANY, u"Body", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText29.Wrap( -1 )
gbSizer15.Add( self.m_staticText29, wx.GBPosition( 2, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.mailer_body_box = wx.stc.StyledTextCtrl(self.m_panel7, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,225 ), 0)
self.mailer_body_box.SetUseTabs ( True )
self.mailer_body_box.SetTabWidth ( 4 )
self.mailer_body_box.SetIndent ( 4 )
self.mailer_body_box.SetTabIndents( True )
self.mailer_body_box.SetBackSpaceUnIndents( True )
self.mailer_body_box.SetViewEOL( False )
self.mailer_body_box.SetViewWhiteSpace( False )
self.mailer_body_box.SetMarginWidth( 2, 0 )
self.mailer_body_box.SetIndentationGuides( True )
self.mailer_body_box.SetMarginWidth( 1, 0 )
self.mailer_body_box.SetMarginWidth ( 0, 0 )
self.mailer_body_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDER, wx.stc.STC_MARK_BOXPLUS )
self.mailer_body_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDER, wx.BLACK)
self.mailer_body_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDER, wx.WHITE)
self.mailer_body_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.stc.STC_MARK_BOXMINUS )
self.mailer_body_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.BLACK )
self.mailer_body_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.WHITE )
self.mailer_body_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERSUB, wx.stc.STC_MARK_EMPTY )
self.mailer_body_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEREND, wx.stc.STC_MARK_BOXPLUS )
self.mailer_body_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEREND, wx.BLACK )
self.mailer_body_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEREND, wx.WHITE )
self.mailer_body_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.stc.STC_MARK_BOXMINUS )
self.mailer_body_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.BLACK)
self.mailer_body_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.WHITE)
self.mailer_body_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERMIDTAIL, wx.stc.STC_MARK_EMPTY )
self.mailer_body_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERTAIL, wx.stc.STC_MARK_EMPTY )
self.mailer_body_box.SetSelBackground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT ) )
self.mailer_body_box.SetSelForeground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT ) )
gbSizer15.Add( self.mailer_body_box, wx.GBPosition( 2, 1 ), wx.GBSpan( 1, 1 ), wx.EXPAND |wx.ALL, 5 )
self.m_staticText30 = wx.StaticText( self.m_panel7, wx.ID_ANY, u"Directory", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText30.Wrap( -1 )
gbSizer15.Add( self.m_staticText30, wx.GBPosition( 3, 0 ), wx.GBSpan( 1, 1 ), wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.mailer_dir_picker = wx.DirPickerCtrl( self.m_panel7, wx.ID_ANY, wx.EmptyString, u"Select a folder", wx.DefaultPosition, wx.DefaultSize, wx.DIRP_DEFAULT_STYLE )
gbSizer15.Add( self.mailer_dir_picker, wx.GBPosition( 3, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.EXPAND, 5 )
self.mailer_send_btn = wx.Button( self.m_panel7, wx.ID_ANY, u"Send Mails", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer15.Add( self.mailer_send_btn, wx.GBPosition( 4, 0 ), wx.GBSpan( 1, 2 ), wx.ALL|wx.EXPAND, 5 )
self.mailer_error_box = wx.stc.StyledTextCtrl(self.m_panel7, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0)
self.mailer_error_box.SetUseTabs ( True )
self.mailer_error_box.SetTabWidth ( 4 )
self.mailer_error_box.SetIndent ( 4 )
self.mailer_error_box.SetTabIndents( True )
self.mailer_error_box.SetBackSpaceUnIndents( True )
self.mailer_error_box.SetViewEOL( False )
self.mailer_error_box.SetViewWhiteSpace( False )
self.mailer_error_box.SetMarginWidth( 2, 0 )
self.mailer_error_box.SetIndentationGuides( True )
self.mailer_error_box.SetMarginType ( 1, wx.stc.STC_MARGIN_SYMBOL )
self.mailer_error_box.SetMarginMask ( 1, wx.stc.STC_MASK_FOLDERS )
self.mailer_error_box.SetMarginWidth ( 1, 16)
self.mailer_error_box.SetMarginSensitive( 1, True )
self.mailer_error_box.SetProperty ( "fold", "1" )
self.mailer_error_box.SetFoldFlags ( wx.stc.STC_FOLDFLAG_LINEBEFORE_CONTRACTED | wx.stc.STC_FOLDFLAG_LINEAFTER_CONTRACTED );
self.mailer_error_box.SetMarginType( 0, wx.stc.STC_MARGIN_NUMBER );
self.mailer_error_box.SetMarginWidth( 0, self.mailer_error_box.TextWidth( wx.stc.STC_STYLE_LINENUMBER, "_99999" ) )
self.mailer_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDER, wx.stc.STC_MARK_BOXPLUS )
self.mailer_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDER, wx.BLACK)
self.mailer_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDER, wx.WHITE)
self.mailer_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.stc.STC_MARK_BOXMINUS )
self.mailer_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.BLACK )
self.mailer_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.WHITE )
self.mailer_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERSUB, wx.stc.STC_MARK_EMPTY )
self.mailer_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEREND, wx.stc.STC_MARK_BOXPLUS )
self.mailer_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEREND, wx.BLACK )
self.mailer_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEREND, wx.WHITE )
self.mailer_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.stc.STC_MARK_BOXMINUS )
self.mailer_error_box.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.BLACK)
self.mailer_error_box.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.WHITE)
self.mailer_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERMIDTAIL, wx.stc.STC_MARK_EMPTY )
self.mailer_error_box.MarkerDefine( wx.stc.STC_MARKNUM_FOLDERTAIL, wx.stc.STC_MARK_EMPTY )
self.mailer_error_box.SetSelBackground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT ) )
self.mailer_error_box.SetSelForeground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT ) )
gbSizer15.Add( self.mailer_error_box, wx.GBPosition( 5, 0 ), wx.GBSpan( 1, 2 ), wx.EXPAND |wx.ALL, 5 )
gbSizer15.AddGrowableCol( 0 )
gbSizer15.AddGrowableCol( 1 )
gbSizer15.AddGrowableRow( 5 )
self.m_panel7.SetSizer( gbSizer15 )
self.m_panel7.Layout()
gbSizer15.Fit( self.m_panel7 )
self.m_notebook2.AddPage( self.m_panel7, u"Mailer", False )
self.m_panel61 = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
bSizer2 = wx.BoxSizer( wx.VERTICAL )
self.m_staticText25 = wx.StaticText( self.m_panel61, wx.ID_ANY, u"Developed for Timetable Division - BITS Pilani Hyderabad Campus", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText25.Wrap( -1 )
self.m_staticText25.SetFont( wx.Font( 15, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, wx.EmptyString ) )
bSizer2.Add( self.m_staticText25, 0, wx.ALL, 5 )
self.m_hyperlink1 = wx.adv.HyperlinkCtrl( self.m_panel61, wx.ID_ANY, u"https://github.com/ID-BPHC/Examination-Manager", u"https://github.com/ID-BPHC/Examination-Manager", wx.DefaultPosition, wx.DefaultSize, wx.adv.HL_DEFAULT_STYLE )
bSizer2.Add( self.m_hyperlink1, 0, wx.ALL, 5 )
self.m_bitmap2 = wx.StaticBitmap( self.m_panel61, wx.ID_ANY, wx.Bitmap( u"bits-logo.bmp", wx.BITMAP_TYPE_ANY ), wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer2.Add( self.m_bitmap2, 0, wx.ALL, 5 )
self.m_staticText27 = wx.StaticText( self.m_panel61, wx.ID_ANY, u"Developers:\n\nSohail Rajdev 2016AATS0158H\nVaibhav Kumar Tyagi 2016A7PS0141H", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText27.Wrap( -1 )
self.m_staticText27.SetFont( wx.Font( 10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, wx.EmptyString ) )
bSizer2.Add( self.m_staticText27, 0, wx.ALL, 5 )
self.m_panel61.SetSizer( bSizer2 )
self.m_panel61.Layout()
bSizer2.Fit( self.m_panel61 )
self.m_notebook2.AddPage( self.m_panel61, u"About", False )
bSizer1.Add( self.m_notebook2, 1, wx.EXPAND |wx.ALL, 5 )
self.SetSizer( bSizer1 )
self.Layout()
self.Centre( wx.BOTH )
def __del__( self ):
pass