From a4ccfdcc0fce0db232082538344483d325f980fc Mon Sep 17 00:00:00 2001 From: TimePath Date: Sat, 22 Jul 2017 17:28:44 +1000 Subject: [PATCH] Remove from radiant/textureentry.h --- radiant/entityinspector.cpp | 1 + radiant/textureentry.cpp | 52 ++++++++++++++++ radiant/textureentry.h | 117 +++++++++++++++--------------------- 3 files changed, 101 insertions(+), 69 deletions(-) diff --git a/radiant/entityinspector.cpp b/radiant/entityinspector.cpp index cc0c2008..75a1c8fd 100644 --- a/radiant/entityinspector.cpp +++ b/radiant/entityinspector.cpp @@ -22,6 +22,7 @@ #include "entityinspector.h" #include "debugging/debugging.h" +#include #include "ientity.h" #include "ifilesystem.h" diff --git a/radiant/textureentry.cpp b/radiant/textureentry.cpp index 781dcbe4..f692717e 100644 --- a/radiant/textureentry.cpp +++ b/radiant/textureentry.cpp @@ -20,3 +20,55 @@ */ #include "textureentry.h" + +#include + +template +class EntryCompletion; + +template +class EntryCompletion; + +template +void EntryCompletion::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); +} + +template +void EntryCompletion::append(const char *string) +{ + GtkTreeIter iter; + gtk_list_store_append(m_store, &iter); + gtk_list_store_set(m_store, &iter, 0, string, -1); +} + +template +void EntryCompletion::fill() +{ + StringList().forEach(AppendCaller(*this)); +} + +template +void EntryCompletion::clear() +{ + gtk_list_store_clear(m_store); +} + +template +void EntryCompletion::update() +{ + clear(); + fill(); +} diff --git a/radiant/textureentry.h b/radiant/textureentry.h index 67238a60..7045b29a 100644 --- a/radiant/textureentry.h +++ b/radiant/textureentry.h @@ -22,8 +22,6 @@ #if !defined( INCLUDED_TEXTUREENTRY_H ) #define INCLUDED_TEXTUREENTRY_H - -#include #include "gtkutil/idledraw.h" #include "generic/static.h" @@ -33,84 +31,65 @@ #include "texwindow.h" template -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 AppendCaller; - -void fill(){ - StringList().forEach( AppendCaller( *this ) ); -} - -void clear(){ - gtk_list_store_clear( m_store ); -} - -void update(){ - clear(); - fill(); -} -typedef MemberCaller UpdateCaller; + EntryCompletion() : m_store(0), m_idleUpdate(UpdateCaller(*this)) + { + } + + void connect(ui::Entry entry); + + void append(const char *string); + + typedef MemberCaller1 AppendCaller; + + void fill(); + + void clear(); + + void update(); + + typedef MemberCaller 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 > GlobalTextureEntryCompletion; +typedef Static > 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 > GlobalShaderEntryCompletion; +typedef Static > GlobalShaderEntryCompletion; #endif -- 2.39.2