1 // -*- C++ -*- 2 3 /* 4 * Gnome Crystal 5 * cleavagesdlg.h 6 * 7 * Copyright (C) 2002-2011 Jean Bréfort <jean.brefort@normalesup.org> 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 3 of the 12 * License, or (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program; if not, write to the Free Software 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 22 * USA 23 */ 24 25 #ifndef GCR_CLEAVAGESDLG_H 26 #define GCR_CLEAVAGESDLG_H 27 28 #include <gcugtk/dialog.h> 29 #include "grid.h" 30 #include <vector> 31 32 /*!\file*/ 33 namespace gcu { 34 class Application; 35 } 36 37 namespace gcr { 38 39 class Document; 40 class Application; 41 class Cleavage; 42 43 /*!\class CleavagesDlg gcr/cleavagesdlg.h 44 \brief GCrystal cleavages dialog class. 45 46 This class wraps the dialog used to define cleavages inside a crystal model. 47 */ 48 class CleavagesDlg: public gcugtk::Dialog 49 { 50 friend class CleavagesDlgPrivate; 51 public: 52 /*! 53 @param App the application running the dialog. 54 @param pDoc the document. 55 56 Creates the dialog. 57 */ 58 CleavagesDlg (gcr::Application *App, gcr::Document* pDoc); 59 /*! 60 The destructor. 61 */ 62 virtual ~CleavagesDlg (); 63 64 /*! 65 Reloads the cleavages list from the document. The list might have changed after 66 simplification following duplicates detection. 67 */ 68 void ReloadData (); 69 70 private: 71 void Closed (); 72 73 private: 74 Document *m_pDoc; 75 std::vector < Cleavage * > m_Cleavages; 76 GtkWidget *DeleteBtn, *DeleteAllBtn; 77 GtkWidget *m_Grid; 78 int m_CurRow; 79 bool m_Closing; 80 }; 81 82 } // namespace gcr 83 84 #endif //GCR_CLEAVAGESDLG_H 85