File indexing completed on 2024-05-12 17:05:51
0001 #ifndef oxygentreeviewengine_h 0002 #define oxygentreeviewengine_h 0003 /* 0004 * this file is part of the oxygen gtk engine 0005 * SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0006 * SPDX-FileCopyrightText: 2010 Ruslan Kabatsayev <b7.10110111@gmail.com> 0007 * 0008 * SPDX-License-Identifier: LGPL-2.0-or-later 0009 */ 0010 0011 #include "oxygengenericengine.h" 0012 #include "oxygendatamap.h" 0013 #include "oxygentreeviewdata.h" 0014 0015 #include <gtk/gtk.h> 0016 0017 namespace Oxygen 0018 { 0019 //! forward declaration 0020 class Animations; 0021 0022 //! stores data associated to editable comboboxes 0023 /*! 0024 ensures that the text entry and the button of editable comboboxes 0025 gets hovered and focus flags at the same time 0026 */ 0027 class TreeViewEngine: public GenericEngine<TreeViewData> 0028 { 0029 0030 public: 0031 0032 //! constructor 0033 TreeViewEngine( Animations* ); 0034 0035 //! destructor 0036 virtual ~TreeViewEngine( void ); 0037 0038 //! register widget 0039 virtual bool registerWidget( GtkWidget* ); 0040 0041 //! true if widget is hovered 0042 bool hovered( GtkWidget* widget ) 0043 { return data().value( widget ).hovered(); } 0044 0045 //! true if treeview data is dirty 0046 bool isDirty( GtkWidget* widget ) 0047 { return data().value( widget ).isDirty(); } 0048 0049 //! update hovered cell for given widget 0050 void updateHoveredCell( GtkWidget* widget ) 0051 { return data().value( widget ).updateHoveredCell(); } 0052 0053 //! true if given cell is hovered 0054 bool isCellHovered( GtkWidget* widget, const Gtk::CellInfo& info ) 0055 { return data().value( widget ).isCellHovered( info ); } 0056 0057 bool isCellHovered( GtkWidget* widget, const Gtk::CellInfo& info, bool fullWidth ) 0058 { return data().value( widget ).isCellHovered( info, fullWidth ); } 0059 0060 private: 0061 0062 //! cursor 0063 bool _cursorLoaded; 0064 GdkCursor* _cursor; 0065 }; 0066 0067 } 0068 0069 #endif