| Home | Trees | Indices | Help |
|
|---|
|
|
1 #!/usr/bin/python
2 ###############################################################
3 #
4 # gmGP_Recalls.py
5 # ----------------------------------
6 #
7 # This panel will hold all the recall details, and allow entry
8 # of those details via the editing area (gmEditArea.py)
9 #
10 # @author: Dr. Richard Terry
11 # @copyright: author
12 # @license: GPL v2 or later (details at http://www.gnu.org)
13 # @dependencies: wxPython (>= version 2.3.1)
14 # @change log:
15 # 0108.2002 rterry initial implementation, untested
16 #
17 # @TODO:
18 #
19 ###############################################################
20 try:
21 import wxversion
22 import wx
23 except ImportError:
24 from wxPython import wx
25
26 import gmGuiElement_HeadingCaptionPanel #panel class to display top headings
27 import gmGuiElement_DividerCaptionPanel #panel class to display sub-headings or divider headings
28 import gmGuiElement_AlertCaptionPanel #panel to hold flashing alert messages
29 import gmEditArea #panel class holding editing prompts and text boxes
30 import gmPlugin_Patient
31 from gmPatientHolder import PatientHolder
32 ID_RECALL_LIST = wxNewId()
33 gmSECTION_RECALLS = 12
34 #------------------------------------------------------------------
35 #Dummy data to simulate recall items
36 #this is best displayed as a concatenated string of edit area lines
37 #------------------------------------------------------------------
38 recalldata = {
39 1 : ("Rectal examination and prostate blood test on 10/11/2002 to see Dr R Terry (Letter)","NOT SAVED"),
40 2 : ("Screening Colonoscopy on 01/07/2004 to see Dr R Terry (Letter)", "RECALL LOGGED")
41 }
42
43 recallprompts = {
44 1:("To see Dr"),
45 2:("For"),
46 3:("Date Due"),
47 4:("Add Text"),
48 5:("Include Forms"),
49 6:("Contact By"),
50 7:("Progress Notes"),
51 8:("")
52 }
53
54
57 wxPanel.__init__(self, parent, id,wxDefaultPosition,wxDefaultSize,wxRAISED_BORDER)
58 PatientHolder.__init__(self)
59 #--------------------
60 #add the main heading
61 #--------------------
62 self.recallspanelheading = gmGuiElement_HeadingCaptionPanel.HeadingCaptionPanel(self,-1," RECALLS & REVIEWS ")
63 #--------------------------------------------
64 #dummy panel will later hold the editing area
65 #--------------------------------------------
66 self.dummypanel = wxPanel(self,-1,wxDefaultPosition,wxDefaultSize,0)
67 self.dummypanel.SetBackgroundColour(wxColor(222,222,222))
68 #----------------------------------------------
69 #now create the editarea specific for allergies
70 #----------------------------------------------
71 self.editarea = gmEditArea.gmRecallEditArea(self,-1)
72 self.dummypanel2 = wxPanel(self,-1,wxDefaultPosition,wxDefaultSize,0)
73 self.dummypanel2.SetBackgroundColour(wxColor(222,222,222))
74 #-----------------------------------------------
75 #add the divider headings below the editing area
76 #-----------------------------------------------
77 self.recall_subheading = gmGuiElement_DividerCaptionPanel.DividerCaptionPanel(self,-1,_("Recalls entered this consultation"))
78 self.sizer_divider_recalls = wxBoxSizer(wxHORIZONTAL)
79 self.sizer_divider_recalls.Add(self.recall_subheading,1, wxEXPAND)
80 #--------------------------------------------------------------------------------------
81 #add the list to contain the recalls entered this session
82 #
83 # c++ Default Constructor:
84 # wxListCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition,
85 # const wxSize& size = wxDefaultSize, long style = wxLC_ICON,
86 # const wxValidator& validator = wxDefaultValidator, const wxString& name = "listCtrl")
87 #
88 #--------------------------------------------------------------------------------------
89 self.list_recalls = wxListCtrl(self, ID_RECALL_LIST, wxDefaultPosition, wxDefaultSize,wxLC_REPORT|wxLC_NO_HEADER|wxSUNKEN_BORDER)
90 #self.list_recalls.SetForegroundColour(wxColor(131,129,131))
91 self.list_recalls.SetFont(wxFont(12,wxSWISS, wxNORMAL, wxNORMAL, False, ''))
92 #----------------------------------------
93 # add some dummy data to the allergy list
94 self.list_recalls.InsertColumn(0, _("Recall Details"))
95 self.list_recalls.InsertColumn(1, _("Status"))
96 #-------------------------------------------------------------
97 #loop through the scriptdata array and add to the list control
98 #note the different syntax for the first coloum of each row
99 #i.e. here > self.list_recalls.InsertStringItem(x, data[0])!!
100 #-------------------------------------------------------------
101 items = recalldata.items()
102 for x in range(len(items)):
103 key, data = items[x]
104 self.list_recalls.InsertStringItem(x, data[0])
105 self.list_recalls.SetStringItem(x, 1, data[1])
106 self.list_recalls.SetItemData(x, key)
107 self.list_recalls.SetColumnWidth(0, wxLIST_AUTOSIZE)
108 self.list_recalls.SetColumnWidth(1, wxLIST_AUTOSIZE)
109 #----------------------------------------
110 #add an alert caption panel to the bottom
111 #----------------------------------------
112 self.alertpanel = gmGuiElement_AlertCaptionPanel.AlertCaptionPanel(self,-1," Alerts ")
113 #---------------------------------------------
114 #add all elements to the main background sizer
115 #---------------------------------------------
116 self.mainsizer = wxBoxSizer(wxVERTICAL)
117 self.mainsizer.Add(self.recallspanelheading,0,wxEXPAND)
118 #self.mainsizer.Add(self.dummypanel,1,wxEXPAND)
119 self.mainsizer.Add(self.editarea,6,wxEXPAND)
120 #self.mainsizer.Add(self.dummypanel2,1,wxEXPAND)
121 self.mainsizer.Add(self.sizer_divider_recalls,0,wxEXPAND)
122 self.mainsizer.Add(self.list_recalls,4,wxEXPAND)
123 self.mainsizer.Add(self.alertpanel,0,wxEXPAND)
124 self.SetSizer(self.mainsizer)
125 self.mainsizer.Fit
126 self.SetAutoLayout(True)
127 self.Show(True)
128 #----------------------------------------------------------------------
130 """Plugin to encapsulate the immunisation window."""
131
132 __icons = {
133 """icon_talking_head""": 'x\xda\x8d\x8e=\x0b\xc3 \x10\x86\xf7\xfc\x8a\x03\x85\x14\x02\xa2Kc\xb7\xa0\
134 \x901\x0eY\\C\xe8\xd4P\xfb\xff\xa7z\xa7\xd1\xa6\xcd\xd0\xd3\xe5yx\xef\xe3\
135 \xb2\xbdT3\xb7\xea\n\xf1\xdf@\xb5\xcd2\xb7\x02V0\xdb\xb2>\x88X$\xd6\xeb\xdeJ\
136 I\xdc![\x89\x8f\xd8!\x8f\xba\xf0\xb0\xf3\xa8\x899\xb2\x96Z\xe6~\x88<\x85\xe7\
137 \x9d\xc0\xa7\xf0hs8 \x1bm\xacI\x0c"\x17\xa4J\xf7\xd5:\x95\xe2/\xe9}\xf8\x91\
138 \x1e\xe5\xd7\xcc\xe8\xbc8lw\xe8\xcaMI:G\xb9\xee\xd0\xee\x06Ou.\xc3\xe7v\x97\
139 \x83\xd11^\xb6\x97n^\x93\xfbH\xc6\x80\xefI\x9c\x86%\x80\xd5\x99\xe9H:3fQ\x8a\
140 7\x97\xb8jB'
141 }
142
145
148
150 if anIconID == None:
151 return self.__icons[_("""icon_talking_head""")]
152 else:
153 if self.__icons.has_key(anIconID):
154 return self.__icons[anIconID]
155 else:
156 return self.__icons[_("""icon_talking_head""")]
157
159 return RecallsPanel (parent, -1)
160 #----------------------------------------------------------------------
161 if __name__ == "__main__":
162 app = wxPyWidgetTester(size = (600, 600))
163 app.SetWidget(RecallsPanel, -1)
164 app.MainLoop()
165
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Sat Oct 5 03:56:25 2013 | http://epydoc.sourceforge.net |