# -*- coding: UTF-8 -*-
#
# generated by wxGlade
#

import wx

# begin wxGlade: dependencies
import gettext
# end wxGlade

# begin wxGlade: extracode
from Gnumed.wxpython.gmPhraseWheel import cPhraseWheel
from Gnumed.wxpython.gmDateTimeInput import cDateInputPhraseWheel
from Gnumed.wxpython.gmDateTimeInput import cIntervalPhraseWheel
from Gnumed.wxpython.gmMedicationWidgets import cSubstanceAimPhraseWheel
from Gnumed.wxpython.gmMedicationWidgets import cSubstanceSchedulePhraseWheel
from Gnumed.wxpython.gmEMRStructWidgets import cEpisodeSelectionPhraseWheel
from Gnumed.wxpython.gmMedicationWidgets import cSubstanceIntakeObjectPhraseWheel
# end wxGlade


class wxgCurrentMedicationEAPnl(wx.ScrolledWindow):
	def __init__(self, *args, **kwds):
		# begin wxGlade: wxgCurrentMedicationEAPnl.__init__
		kwds["style"] = kwds.get("style", 0) | wx.BORDER_NONE | wx.TAB_TRAVERSAL
		wx.ScrolledWindow.__init__(self, *args, **kwds)
		self._LBL_allergies = wx.StaticText(self, wx.ID_ANY, "")
		self._PRW_drug = cSubstanceIntakeObjectPhraseWheel(self, wx.ID_ANY, "")
		self._LBL_drug_details = wx.StaticText(self, wx.ID_ANY, "")
		self._BTN_heart = wx.Button(self, wx.ID_ANY, _(u"\u2665"), style=wx.BU_EXACTFIT)
		self._BTN_kidneys = wx.Button(self, wx.ID_ANY, _("Kidneys"), style=wx.BU_EXACTFIT)
		self._BTN_manage_products = wx.Button(self, wx.ID_ANY, _("Drugs"), style=wx.BU_EXACTFIT)
		self._BTN_manage_component = wx.Button(self, wx.ID_ANY, _("Components"), style=wx.BU_EXACTFIT)
		self._BTN_manage_doses = wx.Button(self, wx.ID_ANY, _("Doses"), style=wx.BU_EXACTFIT)
		self._BTN_manage_substance = wx.Button(self, wx.ID_ANY, _("Substances"), style=wx.BU_EXACTFIT)
		self._CHBOX_start_unknown = wx.CheckBox(self, wx.ID_ANY, _("&Unknown - or Date:"))
		self._DP_started = cDateInputPhraseWheel(self, wx.ID_ANY, "")
		self._PRW_start_certainty = cPhraseWheel(self, wx.ID_ANY, "")
		self._CHBOX_approved = wx.CheckBox(self, wx.ID_ANY, _("Approved of"))
		self._PRW_episode = cEpisodeSelectionPhraseWheel(self, wx.ID_ANY, "")
		self._PRW_schedule = cSubstanceSchedulePhraseWheel(self, wx.ID_ANY, "")
		self._PRW_duration = cIntervalPhraseWheel(self, wx.ID_ANY, "")
		self._CHBOX_long_term = wx.CheckBox(self, wx.ID_ANY, _("Long-term"))
		self._PRW_aim = cSubstanceAimPhraseWheel(self, wx.ID_ANY, "")
		self._PRW_notes = cPhraseWheel(self, wx.ID_ANY, "")
		self._DP_discontinued = cDateInputPhraseWheel(self, wx.ID_ANY, "")
		self._BTN_discontinued_as_planned = wx.Button(self, wx.ID_ANY, _("Per plan"), style=wx.BU_EXACTFIT)
		self._LBL_reason = wx.StaticText(self, wx.ID_ANY, _("... Reason"))
		self._PRW_discontinue_reason = cPhraseWheel(self, wx.ID_ANY, "")

		self.__set_properties()
		self.__do_layout()

		self.Bind(wx.EVT_BUTTON, self._on_heart_button_pressed, self._BTN_heart)
		self.Bind(wx.EVT_BUTTON, self._on_kidneys_button_pressed, self._BTN_kidneys)
		self.Bind(wx.EVT_BUTTON, self._on_manage_drug_products_button_pressed, self._BTN_manage_products)
		self.Bind(wx.EVT_BUTTON, self._on_manage_components_button_pressed, self._BTN_manage_component)
		self.Bind(wx.EVT_BUTTON, self._on_manage_doses_button_pressed, self._BTN_manage_doses)
		self.Bind(wx.EVT_BUTTON, self._on_manage_substances_button_pressed, self._BTN_manage_substance)
		self.Bind(wx.EVT_CHECKBOX, self._on_start_unknown_checked, self._CHBOX_start_unknown)
		self.Bind(wx.EVT_CHECKBOX, self._on_chbox_long_term_checked, self._CHBOX_long_term)
		self.Bind(wx.EVT_BUTTON, self._on_discontinued_as_planned_button_pressed, self._BTN_discontinued_as_planned)
		# end wxGlade

	def __set_properties(self):
		# begin wxGlade: wxgCurrentMedicationEAPnl.__set_properties
		self.SetScrollRate(10, 10)
		self._PRW_drug.SetToolTip(_("A drug the patient is taking.\n\nLookup and select a (real or generic) drug product by either of\n- a generic substance name\n- a drug product name\n- an active ingredient of a drug\n\nNote that all components of multi-component drugs will be displayed and automatically added to the patient's list."))
		self._BTN_heart.SetToolTip(_("Show cardiac information relevant to substance selection."))
		self._BTN_kidneys.SetToolTip(_("Show renal insufficiency information related to substance selection."))
		self._BTN_manage_products.SetToolTip(_("Manage drug products.\n\nNote that this will not select a component for you. What it does is to let you manage (add/edit/delete) the drug products known to GNUmed from which you can select a component."))
		self._BTN_manage_component.SetToolTip(_("Manage drug components."))
		self._BTN_manage_doses.SetToolTip(_("Manage substance doses."))
		self._BTN_manage_substance.SetToolTip(_("Manage substances."))
		self._CHBOX_start_unknown.SetToolTip(_("Check here if the start date simply isn't known."))
		self._CHBOX_start_unknown.SetValue(1)
		self._DP_started.SetToolTip(_("When was this substance started to be consumed or - if not known - the earliest it is known to have been be consumed."))
		self._DP_started.Enable(False)
		self._PRW_start_certainty.SetToolTip(_("A coment on the certainty of the start date, such as \"+/- 3 weeks\", \"spring of 2002\", \"shortly after Easter 1996\", ...."))
		self._PRW_start_certainty.Enable(False)
		self._CHBOX_approved.SetToolTip(_("Whether this substance is taken by advice."))
		self._CHBOX_approved.SetValue(1)
		self._PRW_episode.SetToolTip(_("Select, or enter for creation, the episode to which this substance will relate."))
		self._PRW_schedule.SetToolTip(_("The schedule for taking this substance."))
		self._PRW_duration.SetToolTip(_("How long is this substance supposed to be taken."))
		self._CHBOX_long_term.SetToolTip(_("Whether this substance is to be taken for the rest of the patient's life."))
		self._PRW_aim.SetToolTip(_("The aim of consuming this substance."))
		self._PRW_notes.SetToolTip(_("Any clinical notes, comments, or instructions on this substance intake."))
		self._DP_discontinued.SetToolTip(_("When was intake of this substance discontinued ?"))
		self._BTN_discontinued_as_planned.SetToolTip(_("Discontinued as planned (start + duration)."))
		self._PRW_discontinue_reason.SetToolTip(_("Reason for discontinuation."))
		self._PRW_discontinue_reason.Enable(False)
		# end wxGlade

	def __do_layout(self):
		# begin wxGlade: wxgCurrentMedicationEAPnl.__do_layout
		__szr_main = wx.BoxSizer(wx.VERTICAL)
		__gszr_main = wx.FlexGridSizer(12, 2, 1, 3)
		__szr_discontinued_date = wx.BoxSizer(wx.HORIZONTAL)
		__szr_duration = wx.BoxSizer(wx.HORIZONTAL)
		__szr_started = wx.BoxSizer(wx.HORIZONTAL)
		__szr_mgmt_buttons = wx.BoxSizer(wx.HORIZONTAL)
		__szr_main.Add(self._LBL_allergies, 0, wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.EXPAND, 2)
		__sline_top = wx.StaticLine(self, wx.ID_ANY)
		__szr_main.Add(__sline_top, 0, wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.EXPAND, 3)
		_LBL_drug = wx.StaticText(self, wx.ID_ANY, _("Drug"))
		_LBL_drug.SetForegroundColour(wx.Colour(255, 0, 0))
		__gszr_main.Add(_LBL_drug, 0, wx.ALIGN_CENTER_VERTICAL, 0)
		__gszr_main.Add(self._PRW_drug, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 5)
		__gszr_main.Add((20, 20), 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)
		__gszr_main.Add(self._LBL_drug_details, 1, wx.EXPAND, 0)
		__gszr_main.Add((20, 20), 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)
		__lbl_research = wx.StaticText(self, wx.ID_ANY, _("Research:"))
		__szr_mgmt_buttons.Add(__lbl_research, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 3)
		__szr_mgmt_buttons.Add(self._BTN_heart, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND | wx.RIGHT, 3)
		__szr_mgmt_buttons.Add(self._BTN_kidneys, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)
		__szr_mgmt_buttons.Add((20, 20), 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)
		__lbl_manage = wx.StaticText(self, wx.ID_ANY, _("Manage:"))
		__szr_mgmt_buttons.Add(__lbl_manage, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 3)
		__szr_mgmt_buttons.Add(self._BTN_manage_products, 0, wx.ALIGN_CENTER | wx.RIGHT, 3)
		__szr_mgmt_buttons.Add(self._BTN_manage_component, 0, wx.ALIGN_CENTER | wx.RIGHT, 3)
		__szr_mgmt_buttons.Add(self._BTN_manage_doses, 0, wx.ALIGN_CENTER | wx.RIGHT, 3)
		__szr_mgmt_buttons.Add(self._BTN_manage_substance, 0, wx.ALIGN_CENTER, 3)
		__gszr_main.Add(__szr_mgmt_buttons, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)
		__gszr_main.Add((20, 20), 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)
		__line_top = wx.StaticLine(self, wx.ID_ANY)
		__gszr_main.Add(__line_top, 0, wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.EXPAND | wx.TOP, 3)
		__lbl_started = wx.StaticText(self, wx.ID_ANY, _("Started"))
		__lbl_started.SetForegroundColour(wx.Colour(255, 0, 0))
		__gszr_main.Add(__lbl_started, 0, wx.ALIGN_CENTER_VERTICAL, 0)
		__szr_started.Add(self._CHBOX_start_unknown, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND | wx.RIGHT, 3)
		__szr_started.Add(self._DP_started, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND | wx.RIGHT, 5)
		__LBL_start_certainty = wx.StaticText(self, wx.ID_ANY, _("Certainty:"))
		__szr_started.Add(__LBL_start_certainty, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 3)
		__szr_started.Add(self._PRW_start_certainty, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND | wx.RIGHT, 5)
		__szr_started.Add(self._CHBOX_approved, 0, wx.ALIGN_CENTER_VERTICAL, 0)
		__gszr_main.Add(__szr_started, 1, wx.EXPAND, 0)
		__lbl_episode = wx.StaticText(self, wx.ID_ANY, _("Episode"))
		__lbl_episode.SetForegroundColour(wx.Colour(255, 127, 0))
		__gszr_main.Add(__lbl_episode, 0, wx.ALIGN_CENTER_VERTICAL, 0)
		__gszr_main.Add(self._PRW_episode, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)
		__lbl_schedule = wx.StaticText(self, wx.ID_ANY, _("Schedule"))
		__gszr_main.Add(__lbl_schedule, 0, wx.ALIGN_CENTER_VERTICAL, 0)
		__gszr_main.Add(self._PRW_schedule, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)
		__lbl_duration = wx.StaticText(self, wx.ID_ANY, _("Duration"))
		__gszr_main.Add(__lbl_duration, 0, wx.ALIGN_CENTER_VERTICAL, 0)
		__szr_duration.Add(self._PRW_duration, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND | wx.RIGHT, 10)
		__szr_duration.Add(self._CHBOX_long_term, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 2)
		__gszr_main.Add(__szr_duration, 1, wx.EXPAND, 0)
		__lbl_aim = wx.StaticText(self, wx.ID_ANY, _("Aim"))
		__gszr_main.Add(__lbl_aim, 0, wx.ALIGN_CENTER_VERTICAL, 0)
		__gszr_main.Add(self._PRW_aim, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)
		__lbl_notes = wx.StaticText(self, wx.ID_ANY, _("Advice"))
		__gszr_main.Add(__lbl_notes, 0, wx.ALIGN_CENTER_VERTICAL, 0)
		__gszr_main.Add(self._PRW_notes, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)
		__lbl_discontinued = wx.StaticText(self, wx.ID_ANY, _("Discontinued"))
		__gszr_main.Add(__lbl_discontinued, 0, wx.ALIGN_CENTER_VERTICAL, 5)
		__szr_discontinued_date.Add(self._DP_discontinued, 4, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND | wx.RIGHT, 3)
		__szr_discontinued_date.Add(self._BTN_discontinued_as_planned, 1, wx.ALIGN_CENTER_VERTICAL, 3)
		__szr_discontinued_date.Add((20, 20), 1, wx.EXPAND, 0)
		__gszr_main.Add(__szr_discontinued_date, 1, wx.EXPAND, 0)
		__gszr_main.Add(self._LBL_reason, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT, 5)
		__gszr_main.Add(self._PRW_discontinue_reason, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 5)
		__gszr_main.AddGrowableCol(1)
		__szr_main.Add(__gszr_main, 1, wx.EXPAND, 0)
		self.SetSizer(__szr_main)
		__szr_main.Fit(self)
		self.Layout()
		# end wxGlade

	def _on_heart_button_pressed(self, event):  # wxGlade: wxgCurrentMedicationEAPnl.<event_handler>
		print("Event handler '_on_heart_button_pressed' not implemented!")
		event.Skip()

	def _on_kidneys_button_pressed(self, event):  # wxGlade: wxgCurrentMedicationEAPnl.<event_handler>
		print("Event handler '_on_kidneys_button_pressed' not implemented!")
		event.Skip()

	def _on_manage_drug_products_button_pressed(self, event):  # wxGlade: wxgCurrentMedicationEAPnl.<event_handler>
		print("Event handler '_on_manage_drug_products_button_pressed' not implemented!")
		event.Skip()

	def _on_manage_components_button_pressed(self, event):  # wxGlade: wxgCurrentMedicationEAPnl.<event_handler>
		print("Event handler '_on_manage_components_button_pressed' not implemented!")
		event.Skip()

	def _on_manage_doses_button_pressed(self, event):  # wxGlade: wxgCurrentMedicationEAPnl.<event_handler>
		print("Event handler '_on_manage_doses_button_pressed' not implemented!")
		event.Skip()

	def _on_manage_substances_button_pressed(self, event):  # wxGlade: wxgCurrentMedicationEAPnl.<event_handler>
		print("Event handler '_on_manage_substances_button_pressed' not implemented!")
		event.Skip()

	def _on_start_unknown_checked(self, event):  # wxGlade: wxgCurrentMedicationEAPnl.<event_handler>
		print("Event handler '_on_start_unknown_checked' not implemented!")
		event.Skip()

	def _on_chbox_long_term_checked(self, event):  # wxGlade: wxgCurrentMedicationEAPnl.<event_handler>
		print("Event handler '_on_chbox_long_term_checked' not implemented!")
		event.Skip()

	def _on_discontinued_as_planned_button_pressed(self, event):  # wxGlade: wxgCurrentMedicationEAPnl.<event_handler>
		print("Event handler '_on_discontinued_as_planned_button_pressed' not implemented!")
		event.Skip()

# end of class wxgCurrentMedicationEAPnl
