#include "XCCalendarListAccountCtrl.h"
+BEGIN_EVENT_TABLE(XCCalendarListAccountCtrl, wxPanel)
+END_EVENT_TABLE()
+
using namespace std;
XCCalendarListAccountCtrl::XCCalendarListAccountCtrl(wxWindow* parent, string accountName) :
accountFont.MakeBold();
lblAccountName->SetFont(accountFont);
+ // Connect events to the controls.
+
+ chkShowAll->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxMouseEventHandler(XCCalendarListAccountCtrl::ShowAllCheckboxClick), NULL, this);
+ chkShowAll->SetValue(wxCHK_CHECKED);
+
// Connect them to the sizer.
szrMain->Add(chkShowAll, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
// Delete the calendar controls.
+ for (std::vector<XCCalendarListCalendarCtrl*>::iterator calendarIter = calendarControlList.begin();
+ calendarIter != calendarControlList.end(); calendarIter++){
+
+ delete *calendarIter;
+
+ }
+
+ // Clear the list of deleted controls.
+
+ calendarControlList.clear();
+
+ // Clear the widget controls.
+
}
void XCCalendarListAccountCtrl::AddCalendar(XCCalendarListCalendarCtrl *calendarControl){
calendarControlList.push_back(calendarControl);
+}
+
+void XCCalendarListAccountCtrl::ShowAllCheckboxClick( wxMouseEvent &mouseEvent ){
+
+ if (chkShowAll->Get3StateValue() == wxCHK_CHECKED){
+
+ wxCommandEvent event(XCCALENDARCTRL_SHOWACCOUNTENTRIES);
+ event.SetInt(accountID);
+ event.SetId(ID_SHOWENTRIES);
+ wxPostEvent(this->GetParent()->GetParent()->GetParent(), event);
+
+ } else {
+
+ wxCommandEvent event(XCCALENDARCTRL_HIDEACCOUNTENTRIES);
+ event.SetInt(accountID);
+ event.SetId(ID_HIDEENTRIES);
+ wxPostEvent(this->GetParent()->GetParent()->GetParent(), event);
+
+ }
+
+}
+
+wxCheckBoxState XCCalendarListAccountCtrl::GetShowCheckboxState(){
+
+ return chkShowAll->Get3StateValue();
+
+}
+
+int XCCalendarListAccountCtrl::GetAccountID(){
+
+ return accountID;
+
+}
+
+void XCCalendarListAccountCtrl::SetAccountID(int accountID){
+
+ this->accountID = accountID;
+
+}
+
+void XCCalendarListAccountCtrl::SetAccountPreferencesID(int accountID){
+
+ this->accountPreferencesID = accountPreferencesID;
+
+}
+
+vector<int> XCCalendarListAccountCtrl::GetHiddenCalendarList(){
+
+ vector<int> calendarList;
+
+ for (vector<XCCalendarListCalendarCtrl*>::iterator calendarControlListIter = calendarControlList.begin();
+ calendarControlListIter != calendarControlList.end(); calendarControlListIter++){
+
+ if ((*calendarControlListIter)->GetShowCheckboxState() == wxCHK_UNCHECKED){
+
+ calendarList.push_back((*calendarControlListIter)->GetCalendarID());
+
+ }
+
+ }
+
+ return calendarList;
+
+}
+
+void XCCalendarListAccountCtrl::SetCheckBoxValue(wxCheckBoxState newValue){
+
+ if (newValue == wxCHK_CHECKED){
+ showAccounts = true;
+ } else {
+ showAccounts = false;
+ }
+
+ chkShowAll->SetValue(newValue);
+
}
\ No newline at end of file