Skip to content

Instantly share code, notes, and snippets.

View zedtux's full-sized avatar

Guillaume Hain zedtux

View GitHub Profile
@zedtux
zedtux / model_columns.h
Created January 12, 2014 18:56
ModelColumns class declaration
class ModelColumns : public Gtk::TreeModel::ColumnRecord
{
public:
ModelColumns()
{
add(columnId);
add(columnName);
add(icon);
}
@zedtux
zedtux / derived_wmain.cpp
Created January 12, 2014 18:57
Update DerivedWMain class initializer
DerivedWMain::DerivedWMain(BaseObjectType* cobject, const Glib::RefPtr& refGlade) :
Gtk::Window(cobject),
refXmlGlade(refGlade)
{
...
refTreeStore = Gtk::TreeStore::create( modelColumns );
gtkTreeViewConfigList->set_model( refTreeStore );
gtkTreeViewConfigList->append_column( "Icon", modelColumns.icon );
gtkTreeViewConfigList->append_column( "ID", modelColumns.columnId );
@zedtux
zedtux / main.cpp
Created January 12, 2014 18:58
Add a row containing an image
Gtk::TreeModel::Row row = *( refTreeStore->append() );
row[ modelColumns.icon ] = Gdk::Pixbuf::create_from_file("/path/to/the/image/file.ext", 50, 50, true);
row[ modelColumns.columnId ] = 1;
row[ modelColumns.columnName ] = "Test";
@zedtux
zedtux / DerivedWMain.cpp
Created January 12, 2014 18:59
Clear button to remove all the lines from a Gtk::TreeStore
void DerivedWMain::gtkButtonClear_Click()
{
refTreeStore->clear();
}
@zedtux
zedtux / main.cpp
Created January 12, 2014 19:01
Remove only the selected line from a Gtk::TreeModel
void DerivedWMain::gtkButtonDelete_Click()
{
//~ Check selected row
if ( const Gtk::TreeModel::iterator iter = refTreeSelection->get_selected() )
{
refTreeStore->erase(iter);
}
}
@zedtux
zedtux / yml2sql.rb
Created January 12, 2014 19:50
Convert an YML fixture file into an SQL file
#!/usr/bin/env ruby
require 'yaml'
def show_usage
puts "Usage: #{$0} YML-FILE-PATH [DESTINATION]"
puts
end
def isNumeric(s)
begin
@zedtux
zedtux / class_a.h
Last active January 3, 2016 02:59
Boost: boost::bind calling multiple times the object destructor - Signal creation - Class A
class ClassA
{
public:
typedef boost::signals2::signal<void(User*)> signalUserCreated;
typedef signalUserCreated::slot_type signalUserCreatedType;
...
private:
static signalUserCreated user_created;
};
@zedtux
zedtux / class_a.cpp
Last active January 3, 2016 02:59
Boost: boost::bind calling multiple times the object destructor - Signal creation - Class A (cpp)
boost::signals2::connection ClassA::connect(const signalUserCreatedType &slot)
{
std::cout << "ClassA::connect" << std::endl;
return user_created.connect(slot);
}
ClassA::signalUserCreated ClassA::user_created;
@zedtux
zedtux / main.cpp
Created January 13, 2014 12:33
Boost: boost::bind calling multiple times the object destructor - Signal creation - main.cpp extract
ClassA class_a;
ClassB class_b;
class_a.connect(boost::bind(&ClassB::on_new_user, &class_b, _1));
@zedtux
zedtux / class_a.cpp
Created January 13, 2014 12:35
Boost: boost::bind calling multiple times the object destructor - Fire the signal! - class_a.cpp
void ClassA::create_new_user(std::string name, int age)
{
std::cout << "ClassA::create_new_user" << std::endl;
// Instanciate a new User
User new_user(name, age);
// Pass a reference of this user to all subscribed objects
user_created(&new_user);
}