色選択ダイアログ
概要
Gtk::ColorSelectionDialog により色選択ダイアログを表示する。基本的にはGtk::MessageDialogと同様にすれば良い。 初期の色はget_colorsel()->set_current_color()でセットし、 選択した色はget_colorsel()->get_current_color()で取得する。
ソース
colordiag.cpp
#include <gtkmm.h>
class MainWin : public Gtk::Window
{
public:
MainWin();
};
MainWin::MainWin()
{
resize( 200, 100 );
Gtk::ColorSelectionDialog diag( "色選択" );
// 初期の色セット
Gdk::Color col;
col.set_rgb( 65535, 65535, 0 );
diag.get_colorsel()->set_current_color( col );
switch( diag.run() ){
case Gtk::RESPONSE_OK:
// 背景色変更
modify_bg( Gtk::STATE_NORMAL, diag.get_colorsel()->get_current_color() );
break;
case Gtk::RESPONSE_CANCEL:
break;
}
}
int main( int argc, char *argv[] )
{
Gtk::Main kit( argc, argv );
MainWin mainwin;
Gtk::Main::run( mainwin );
return 0;
}
コンパイル
必要なコンパイルオプションは pkg-config を使って取得する。g++ colordiag.cpp -o colordiag `pkg-config gtkmm-2.4 --cflags --libs`
結果
実行すると色選択ダイアログが表示され、選択した色でウィジットが塗りつぶされる。