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