/* Copyright (C) 2012 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include #include #include #include class wxTreeCtrl; class wxDatePickerCtrl; class wxTimePickerCtrl; class wxDirPickerCtrl; class DirPickerCtrl; class Cinema; class Screen; class KDMDialog : public wxDialog { public: KDMDialog (wxWindow *); std::list > screens () const; boost::posix_time::ptime from () const; boost::posix_time::ptime until () const; std::string directory () const; private: void add_cinema (boost::shared_ptr); void add_screen (boost::shared_ptr, boost::shared_ptr); void targets_selection_changed (wxCommandEvent &); void add_cinema_clicked (wxCommandEvent &); void edit_cinema_clicked (wxCommandEvent &); void remove_cinema_clicked (wxCommandEvent &); void add_screen_clicked (wxCommandEvent &); void edit_screen_clicked (wxCommandEvent &); void remove_screen_clicked (wxCommandEvent &); std::list > > selected_cinemas () const; std::list > > selected_screens () const; void setup_sensitivity (); static boost::posix_time::ptime posix_time (wxDatePickerCtrl *, wxTimePickerCtrl *); wxTreeCtrl* _targets; wxButton* _add_cinema; wxButton* _edit_cinema; wxButton* _remove_cinema; wxButton* _add_screen; wxButton* _edit_screen; wxButton* _remove_screen; wxDatePickerCtrl* _from_date; wxDatePickerCtrl* _until_date; wxTimePickerCtrl* _from_time; wxTimePickerCtrl* _until_time; #ifdef __WXMSW__ DirPickerCtrl* _folder; #else wxDirPickerCtrl* _folder; #endif wxTreeItemId _root; std::map > _cinemas; std::map > _screens; };