]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/textureentry.h
Remove <gtk/gtk.h> from radiant/textureentry.h
[xonotic/netradiant.git] / radiant / textureentry.h
index 67238a60a8bd82f985fef76ecaf3ea5f02db3f37..7045b29aef0d4a8c55d9e991d1a2bbd87bbe2d8c 100644 (file)
@@ -22,8 +22,6 @@
 #if !defined( INCLUDED_TEXTUREENTRY_H )
 #define INCLUDED_TEXTUREENTRY_H
 
-
-#include <gtk/gtk.h>
 #include "gtkutil/idledraw.h"
 
 #include "generic/static.h"
 #include "texwindow.h"
 
 template<typename StringList>
-class EntryCompletion
-{
-ui::ListStore m_store;
-IdleDraw m_idleUpdate;
+class EntryCompletion {
+    ui::ListStore m_store;
+    IdleDraw m_idleUpdate;
 public:
-EntryCompletion() : m_store( 0 ), m_idleUpdate( UpdateCaller( *this ) ){
-}
-
-void connect( ui::Entry entry ){
-       if ( !m_store ) {
-               m_store = ui::ListStore(gtk_list_store_new( 1, G_TYPE_STRING ));
-
-               fill();
-
-               StringList().connect( IdleDraw::QueueDrawCaller( m_idleUpdate ) );
-       }
-
-       auto completion = ui::EntryCompletion(gtk_entry_completion_new());
-       gtk_entry_set_completion( entry, completion );
-       gtk_entry_completion_set_model( completion, GTK_TREE_MODEL( m_store ) );
-       gtk_entry_completion_set_text_column( completion, 0 );
-}
-
-void append( const char* string ){
-       GtkTreeIter iter;
-       gtk_list_store_append( m_store, &iter );
-       gtk_list_store_set( m_store, &iter, 0, string, -1 );
-}
-typedef MemberCaller1<EntryCompletion, const char*, &EntryCompletion::append> AppendCaller;
-
-void fill(){
-       StringList().forEach( AppendCaller( *this ) );
-}
-
-void clear(){
-       gtk_list_store_clear( m_store );
-}
-
-void update(){
-       clear();
-       fill();
-}
-typedef MemberCaller<EntryCompletion, &EntryCompletion::update> UpdateCaller;
+    EntryCompletion() : m_store(0), m_idleUpdate(UpdateCaller(*this))
+    {
+    }
+
+    void connect(ui::Entry entry);
+
+    void append(const char *string);
+
+    typedef MemberCaller1<EntryCompletion, const char *, &EntryCompletion::append> AppendCaller;
+
+    void fill();
+
+    void clear();
+
+    void update();
+
+    typedef MemberCaller<EntryCompletion, &EntryCompletion::update> UpdateCaller;
 };
 
-class TextureNameList
-{
+class TextureNameList {
 public:
-void forEach( const ShaderNameCallback& callback ) const {
-       for ( QERApp_ActiveShaders_IteratorBegin(); !QERApp_ActiveShaders_IteratorAtEnd(); QERApp_ActiveShaders_IteratorIncrement() )
-       {
-               IShader *shader = QERApp_ActiveShaders_IteratorCurrent();
-
-               if ( shader_equal_prefix( shader->getName(), "textures/" ) ) {
-                       callback( shader->getName() + 9 );
-               }
-       }
-}
-void connect( const SignalHandler& update ) const {
-       TextureBrowser_addActiveShadersChangedCallback( update );
-}
+    void forEach(const ShaderNameCallback &callback) const
+    {
+        for (QERApp_ActiveShaders_IteratorBegin(); !QERApp_ActiveShaders_IteratorAtEnd(); QERApp_ActiveShaders_IteratorIncrement()) {
+            IShader *shader = QERApp_ActiveShaders_IteratorCurrent();
+
+            if (shader_equal_prefix(shader->getName(), "textures/")) {
+                callback(shader->getName() + 9);
+            }
+        }
+    }
+
+    void connect(const SignalHandler &update) const
+    {
+        TextureBrowser_addActiveShadersChangedCallback(update);
+    }
 };
 
-typedef Static< EntryCompletion<TextureNameList> > GlobalTextureEntryCompletion;
+typedef Static<EntryCompletion<TextureNameList> > GlobalTextureEntryCompletion;
 
 
-class ShaderList
-{
+class ShaderList {
 public:
-void forEach( const ShaderNameCallback& callback ) const {
-       GlobalShaderSystem().foreachShaderName( callback );
-}
-void connect( const SignalHandler& update ) const {
-       TextureBrowser_addShadersRealiseCallback( update );
-}
+    void forEach(const ShaderNameCallback &callback) const
+    {
+        GlobalShaderSystem().foreachShaderName(callback);
+    }
+
+    void connect(const SignalHandler &update) const
+    {
+        TextureBrowser_addShadersRealiseCallback(update);
+    }
 };
 
-typedef Static< EntryCompletion<ShaderList> > GlobalShaderEntryCompletion;
+typedef Static<EntryCompletion<ShaderList> > GlobalShaderEntryCompletion;
 
 
 #endif