"Fossies" - the Fresh Open Source Software Archive

Member "saga-9.0.2/saga-gis/src/saga_core/saga_gui/active_attributes_control.h" (25 May 2023, 5141 Bytes) of package /linux/misc/saga-9.0.2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 
    2 ///////////////////////////////////////////////////////////
    3 //                                                       //
    4 //                         SAGA                          //
    5 //                                                       //
    6 //      System for Automated Geoscientific Analyses      //
    7 //                                                       //
    8 //                    User Interface                     //
    9 //                                                       //
   10 //                    Program: SAGA                      //
   11 //                                                       //
   12 //-------------------------------------------------------//
   13 //                                                       //
   14 //              active_attributes_control.h              //
   15 //                                                       //
   16 //          Copyright (C) 2015 by Olaf Conrad            //
   17 //                                                       //
   18 //-------------------------------------------------------//
   19 //                                                       //
   20 // This file is part of 'SAGA - System for Automated     //
   21 // Geoscientific Analyses'. SAGA is free software; you   //
   22 // can redistribute it and/or modify it under the terms  //
   23 // of the GNU General Public License as published by the //
   24 // Free Software Foundation, either version 2 of the     //
   25 // License, or (at your option) any later version.       //
   26 //                                                       //
   27 // SAGA is distributed in the hope that it will be       //
   28 // useful, but WITHOUT ANY WARRANTY; without even the    //
   29 // implied warranty of MERCHANTABILITY or FITNESS FOR A  //
   30 // PARTICULAR PURPOSE. See the GNU General Public        //
   31 // License for more details.                             //
   32 //                                                       //
   33 // You should have received a copy of the GNU General    //
   34 // Public License along with this program; if not, see   //
   35 // <http://www.gnu.org/licenses/>.                       //
   36 //                                                       //
   37 //-------------------------------------------------------//
   38 //                                                       //
   39 //    contact:    Olaf Conrad                            //
   40 //                Institute of Geography                 //
   41 //                University of Hamburg                  //
   42 //                Germany                                //
   43 //                                                       //
   44 //    e-mail:     oconrad@saga-gis.org                   //
   45 //                                                       //
   46 ///////////////////////////////////////////////////////////
   47 
   48 //---------------------------------------------------------
   49 #ifndef _HEADER_INCLUDED__SAGA_GUI__active_attributes_control_H
   50 #define _HEADER_INCLUDED__SAGA_GUI__active_attributes_control_H
   51 
   52 
   53 ///////////////////////////////////////////////////////////
   54 //                                                       //
   55 //                                                       //
   56 //                                                       //
   57 ///////////////////////////////////////////////////////////
   58 
   59 //---------------------------------------------------------
   60 #include <wx/grid.h>
   61 
   62 
   63 ///////////////////////////////////////////////////////////
   64 //                                                       //
   65 //                                                       //
   66 //                                                       //
   67 ///////////////////////////////////////////////////////////
   68 
   69 //---------------------------------------------------------
   70 class CActive_Attributes_Control : public wxGrid
   71 {
   72     DECLARE_CLASS(CActive_Attributes_Control)
   73 
   74 public:
   75     CActive_Attributes_Control(wxWindow *pParent);
   76     virtual ~CActive_Attributes_Control(void);
   77 
   78     CSG_Table &                 Get_Table           (void)  {   return( m_Table );  }
   79 
   80     void                        Set_Row_Labeling    (bool bOn);
   81 
   82     bool                        Update_Table        (void);
   83 
   84 
   85 protected:
   86 
   87     void                        On_Key              (wxKeyEvent      &event);
   88 
   89     void                        On_Edit_Start       (wxGridEvent     &event);
   90     void                        On_Edit_Stop        (wxGridEvent     &event);
   91     void                        On_Changed          (wxGridEvent     &event);
   92 
   93     void                        On_LClick           (wxGridEvent     &event);
   94     void                        On_LDClick          (wxGridEvent     &event);
   95     void                        On_LClick_Label     (wxGridEvent     &event);
   96     void                        On_RClick           (wxGridEvent     &event);
   97     void                        On_RClick_Label     (wxGridEvent     &event);
   98 
   99     void                        On_Autosize_Cols    (wxCommandEvent  &event);
  100     void                        On_Autosize_Rows    (wxCommandEvent  &event);
  101 
  102     void                        On_Cell_Open        (wxCommandEvent  &event);
  103 
  104     void                        On_Field_Add        (wxCommandEvent  &event);
  105     void                        On_Field_Del        (wxCommandEvent  &event);
  106     void                        On_Field_Rename     (wxCommandEvent  &event);
  107     void                        On_Field_Type       (wxCommandEvent  &event);
  108 
  109     void                        On_ToClipboard      (wxCommandEvent  &event);
  110 
  111 
  112 private:
  113 
  114     bool                        m_bEditing;
  115 
  116     CSG_Table                   m_Table;
  117 
  118     class CVIEW_Table_Data      *m_pData;
  119 
  120 
  121     bool                        _Update_Records     (void);
  122 
  123     CSG_Grids *                 _Get_Grids          (void);
  124 
  125 
  126     DECLARE_EVENT_TABLE()
  127 };
  128 
  129 
  130 ///////////////////////////////////////////////////////////
  131 //                                                       //
  132 //                                                       //
  133 //                                                       //
  134 ///////////////////////////////////////////////////////////
  135 
  136 //---------------------------------------------------------
  137 #endif // #ifndef _HEADER_INCLUDED__SAGA_GUI__active_attributes_control_H