Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
widgets: Updated and added widgets
[xestiacalendar/.git] / source / widgets / XCCalendarMonthView.cpp
index aa99d8b..64452d5 100644 (file)
 
 using namespace std;
 
-BEGIN_EVENT_TABLE(XCCalendarMonthView, wxFrame)
+BEGIN_EVENT_TABLE(XCCalendarMonthView, wxPanel)
 EVT_PAINT(XCCalendarMonthView::PaintFrameEvent)
 END_EVENT_TABLE()
 
-XCCalendarMonthView::XCCalendarMonthView(const wxString& title, const wxPoint& pos, const wxSize& size, XCCalendarMonthViewGrid *grid)
-        : wxFrame(NULL, wxID_ANY, title, pos, size){
+XCCalendarMonthView::XCCalendarMonthView(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size, XCCalendarMonthViewGrid *grid)
+        : wxPanel(parent, wxID_ANY, pos, size, wxTAB_TRAVERSAL){
+       
+       Connect(ID_MONTHVIEWCLEARSELECTION, XCCALENDARMONTH_DESELECTOTHERENTRIES, wxCommandEventHandler(XCCalendarMonthView::DeselectOthersEvent));
+               
+       MondayText = new XCCalendarMonthViewDayTitle(this, _("Monday"), wxDefaultPosition, wxDefaultSize);
+       TuesdayText = new XCCalendarMonthViewDayTitle(this, _("Tuesday"), wxDefaultPosition, wxDefaultSize);
+       WednesdayText = new XCCalendarMonthViewDayTitle(this, _("Wednesday"), wxDefaultPosition, wxDefaultSize);
+       ThursdayText = new XCCalendarMonthViewDayTitle(this, _("Thursday"), wxDefaultPosition, wxDefaultSize);
+       FridayText = new XCCalendarMonthViewDayTitle(this, _("Friday"), wxDefaultPosition, wxDefaultSize);
+       SaturdayText = new XCCalendarMonthViewDayTitle(this, _("Saturday"), wxDefaultPosition, wxDefaultSize);
+       SundayText = new XCCalendarMonthViewDayTitle(this, _("Sunday"), wxDefaultPosition, wxDefaultSize);
+       
+       WindowSizer->Add(MondayText, 1, wxEXPAND|wxALL, 0);
+       WindowSizer->Add(TuesdayText, 1, wxEXPAND|wxALL, 0);
+       WindowSizer->Add(WednesdayText, 1, wxEXPAND|wxALL, 0);
+       WindowSizer->Add(ThursdayText, 1, wxEXPAND|wxALL, 0);
+       WindowSizer->Add(FridayText, 1, wxEXPAND|wxALL, 0);
+       WindowSizer->Add(SaturdayText, 1, wxEXPAND|wxALL, 0);   
+       WindowSizer->Add(SundayText, 1, wxEXPAND|wxALL, 0);
+       
+       ProcessGrid(grid);
+       
+       // Setup the days.
+       
+       // Setup the growable rows and columns.
+       
+       WindowSizer->AddGrowableCol(0);
+       WindowSizer->AddGrowableCol(1);
+       WindowSizer->AddGrowableCol(2);
+       WindowSizer->AddGrowableCol(3);
+       WindowSizer->AddGrowableCol(4);
+       WindowSizer->AddGrowableCol(5); 
+       WindowSizer->AddGrowableCol(6);
+       WindowSizer->SetFlexibleDirection( wxBOTH );
+       WindowSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+       
+       this->SetSizer(WindowSizer);
+       WindowSizer->Fit(this);
+       this->Layout();
+       this->SetBackgroundColour(wxColour(0,0,0));
+       
+}
+
+XCCalendarMonthView::XCCalendarMonthView(XCCalendarMonthViewGrid *grid)
+        : wxPanel(NULL, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL){
        
        Connect(ID_MONTHVIEWCLEARSELECTION, XCCALENDARMONTH_DESELECTOTHERENTRIES, wxCommandEventHandler(XCCalendarMonthView::DeselectOthersEvent));
                
@@ -58,11 +102,6 @@ XCCalendarMonthView::XCCalendarMonthView(const wxString& title, const wxPoint& p
        WindowSizer->AddGrowableCol(4);
        WindowSizer->AddGrowableCol(5); 
        WindowSizer->AddGrowableCol(6);
-       WindowSizer->AddGrowableRow(1);
-       WindowSizer->AddGrowableRow(2);
-       WindowSizer->AddGrowableRow(3);
-       WindowSizer->AddGrowableRow(4);
-       WindowSizer->AddGrowableRow(5);
        WindowSizer->SetFlexibleDirection( wxBOTH );
        WindowSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
        
@@ -85,9 +124,13 @@ void XCCalendarMonthView::ProcessGrid(XCCalendarMonthViewGrid *grid){
        
        // Add the new calendar entries.
        
+       int Week = 0;
+       
        for (vector<XCCalendarMonthViewGridDayWeek>::iterator WeekIter = grid->WeekList.begin();
                WeekIter != grid->WeekList.end(); WeekIter++){
-               
+                       
+               Week++;
+                       
                for (vector<XCCalendarMonthViewGridDayData>::iterator DayIter = (*WeekIter).DayList.begin();
                        DayIter != (*WeekIter).DayList.end(); DayIter++){
                                
@@ -106,6 +149,14 @@ void XCCalendarMonthView::ProcessGrid(XCCalendarMonthViewGrid *grid){
                        
        }
        
+       // Add the Growable Rows.
+       
+       for (int WeekSeek = 0; WeekSeek < Week; WeekSeek++){
+               
+               WindowSizer->AddGrowableRow((WeekSeek + 1));
+               
+       }
+       
 }
 
 void XCCalendarMonthView::Repaint(){
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy