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 import wx
29
30 import gmGuiElement_HeadingCaptionPanel
31 import gmGuiElement_DividerCaptionPanel
32 import gmGuiElement_AlertCaptionPanel
33 import gmEditArea
34 import gmPlugin_Patient
35 from gmPatientHolder import PatientHolder
36
37 ID_REQUESTSLIST = wxNewId()
38 gmSECTION_REQUESTS = 9
39
40
41
42 requestdata = {
43 1 : ("Pathology - Douglas Hanly Moir - FBC;UEC;LFT's; Notes:'General tiredness",""),
44 2 : ("Radiology - Newcastle Diagnostic Imaging - CT Abdomen; Notes:'LIF mass'", "")
45 }
46
47 requestprompts = {
48 1:("Request Type"),
49 2:("Company"),
50 3:("Street"),
51 4:("Suburb"),
52 5:("Request(s)"),
53 6:("Notes on Form"),
54 7:("Medications"),
55 8:("Copy to"),
56 9:("Progress Notes"),
57 10:("")
58 }
59
60
63 wxPanel.__init__(self, parent, id,wxDefaultPosition,wxDefaultSize,wxRAISED_BORDER)
64 PatientHolder.__init__(self)
65
66
67
68 self.requestspanelheading = gmGuiElement_HeadingCaptionPanel.HeadingCaptionPanel(self,-1," REQUESTS ")
69
70
71
72 self.sizer_top = wxBoxSizer(wxHORIZONTAL)
73
74 self.txt_requestDate = wxTextCtrl(self, -1, "12/06/2002",wxDefaultPosition,wxDefaultSize)
75 self.spacer = wxWindow(self,-1, wxDefaultPosition,wxDefaultSize,0)
76 self.spacer.SetBackgroundColour(wxColor(222,222,222))
77 self.sizer_top.Add(self.spacer,6,wxEXPAND)
78 self.sizer_top.Add(self.txt_requestDate,1,wxEXPAND|wxALL,2)
79 self.sizer_top.Add(10,0,0)
80
81
82
83 self.editarea = gmEditArea.gmRequestEditArea(self,-1)
84
85
86
87 self.requestsgenerated_subheading = gmGuiElement_DividerCaptionPanel.DividerCaptionPanel(self,-1,_("Requests generated this consultation"))
88 self.sizer_requestsgenerated = wxBoxSizer(wxHORIZONTAL)
89 self.sizer_requestsgenerated.Add(self.requestsgenerated_subheading,1, wxEXPAND)
90
91
92
93
94
95
96
97
98
99 self.list_requests = wxListCtrl(self, ID_REQUESTSLIST, wxDefaultPosition, wxDefaultSize,wxLC_REPORT|wxLC_NO_HEADER|wxSUNKEN_BORDER)
100 self.list_requests.SetFont(wxFont(12,wxSWISS, wxNORMAL, wxNORMAL, False, ''))
101
102
103 self.list_requests.InsertColumn(0, _("Request summary"))
104 self.list_requests.InsertColumn(1, "")
105
106
107
108
109
110 items = requestdata.items()
111 for x in range(len(items)):
112 key, data = items[x]
113 self.list_requests.InsertItem(x, data[0])
114 self.list_requests.SetItem(x, 1, data[1])
115 self.list_requests.SetItemData(x, key)
116 self.list_requests.SetColumnWidth(0, wxLIST_AUTOSIZE)
117 self.list_requests.SetColumnWidth(1, wxLIST_AUTOSIZE)
118
119
120
121 self.alertpanel = gmGuiElement_AlertCaptionPanel.AlertCaptionPanel(self,-1," Alerts ")
122
123
124
125 self.mainsizer = wxBoxSizer(wxVERTICAL)
126
127 self.mainsizer.Add(self.requestspanelheading,0,wxEXPAND)
128 self.mainsizer.Add(0,5,0)
129 self.mainsizer.Add(self.sizer_top,0,wxEXPAND)
130 self.mainsizer.Add(self.editarea,9,wxEXPAND)
131 self.mainsizer.Add(self.requestsgenerated_subheading,0,wxEXPAND)
132 self.mainsizer.Add(self.list_requests,7,wxEXPAND)
133 self.mainsizer.Add(self.alertpanel,0,wxEXPAND)
134 self.SetSizer(self.mainsizer)
135 self.SetAutoLayout(True)
136 self.Show(True)
137
138
140 """
141 Plugin to encapsulate the requests window
142 """
143 __icons = {
144 """icon_blood_sample""": "x\xda}\x90=\x0b\xc3 \x10\x86\xf7\xfc\n\xc1\xc4\x14\x02r.\xd51\x18p\xacC\x96\
145 [K\xe9Vj\xff\xff\xd4\x9e\x1f\xa5g!\xea\xf2<\xbe/'\x9e\x1e/3\xec\xb39\x0b:F\
146 \x98y\xb8\xee\xf3*nBZg7\x80\xcc\x9a88\x80\xe02c\xbb\xb7\x85\xc7\xc2\x005\xbf\
147 \x94|h\xfd\x89\xd8\x01\xed\xcc\xaa\xf07/>|I\xcf{\x86\xd8\xcau\x98l\xc3k8\x11\
148 {\xe77\xefj\x99\xafNj\xfd/\xb5\xce\x96KL\xd92\x89)\xc6^\x92\xc3\xae\x8ei\x89\
149 \xd8M'\xb7vOB)\xe5\xd8\xbd\xf3\xd75\xc9\\\x95\x13sU*\xe6\x9aT\xea\xe0C\x8e\
150 \xa5~\x03\xa2\x9e`\x0c"
151 }
152
155
157 return ('view', '&Requests')
158
160 if anIconID == None:
161 return self.__icons[_("""icon_blood_sample""")]
162 else:
163 if anIconID in self.__icons:
164 return self.__icons[anIconID]
165 else:
166 return self.__icons[_("""icon_blood_sample""")]
167
170
171
172 if __name__ == "__main__":
173 app = wxPyWidgetTester(size = (600, 600))
174 app.SetWidget(RequestsPanel, -1)
175 app.MainLoop()
176