-ToggleShown( bool shown )
- : m_shownDeferred( shown ), m_widget( 0 ), m_item( ActiveCaller( *this ) ){
-}
-void update(){
- m_item.update();
-}
-bool active() const {
- if ( m_widget == 0 ) {
- return m_shownDeferred;
- }
- else
- {
- return GTK_WIDGET_VISIBLE( m_widget ) != FALSE;
- }
-}
-void exportActive( const BoolImportCallback& importCallback ){
- importCallback( active() );
-}
-typedef MemberCaller1<ToggleShown, const BoolImportCallback&, &ToggleShown::exportActive> ActiveCaller;
-void set( bool shown ){
- if ( m_widget == 0 ) {
- m_shownDeferred = shown;
- }
- else
- {
- widget_set_visible( m_widget, shown );
- }
-}
-void toggle(){
- widget_toggle_visible( m_widget );
-}
-typedef MemberCaller<ToggleShown, &ToggleShown::toggle> ToggleCaller;
-void connect( GtkWidget* widget ){
- m_widget = widget;
- widget_set_visible( m_widget, m_shownDeferred );
- g_signal_connect( G_OBJECT( m_widget ), "notify::visible", G_CALLBACK( notify_visible ), this );
- g_signal_connect( G_OBJECT( m_widget ), "destroy", G_CALLBACK( destroy ), this );
- update();
-}
+ void set(bool shown);
+
+ void toggle();
+
+ typedef MemberCaller<ToggleShown, void(), &ToggleShown::toggle> ToggleCaller;
+
+ void connect(ui::Widget widget);