File indexing completed on 2024-05-12 17:05:49
0001 #ifndef oxygenscrollbarengine_h 0002 #define oxygenscrollbarengine_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 * 0007 * SPDX-License-Identifier: LGPL-2.0-or-later 0008 */ 0009 0010 0011 #include "oxygengenericengine.h" 0012 #include "oxygendatamap.h" 0013 #include "oxygenscrollbardata.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 scrollbares 0023 /*! 0024 ensures that the text entry and the button of editable scrollbares 0025 gets hovered and focus flags at the same time 0026 */ 0027 class ScrollBarEngine: public GenericEngine<ScrollBarData> 0028 { 0029 0030 public: 0031 0032 //! constructor 0033 ScrollBarEngine( Animations* widget ): 0034 GenericEngine<ScrollBarData>( widget ) 0035 {} 0036 0037 //! destructor 0038 virtual ~ScrollBarEngine( void ) 0039 {} 0040 0041 //! register scrollbar from scrolled window 0042 inline void registerScrolledWindow( GtkWidget* ); 0043 0044 }; 0045 0046 //________________________________________________________________ 0047 void ScrollBarEngine::registerScrolledWindow( GtkWidget* widget ) 0048 { 0049 if( !GTK_IS_SCROLLED_WINDOW( widget ) ) return; 0050 GtkScrolledWindow* scrolledWindow( GTK_SCROLLED_WINDOW( widget ) ); 0051 0052 if( GtkWidget* hScrollBar = gtk_scrolled_window_get_hscrollbar( scrolledWindow ) ) 0053 { registerWidget( hScrollBar ); } 0054 0055 if( GtkWidget* vScrollBar = gtk_scrolled_window_get_vscrollbar( scrolledWindow ) ) 0056 { registerWidget( vScrollBar ); } 0057 0058 return; 0059 } 0060 0061 } 0062 0063 #endif