static std::string xml_node_name();
+ sigc::signal0<void> signal_map;
+ sigc::signal0<void> signal_unmap;
+
protected:
std::string _name;
std::string _menu_name;
StateMask _state_mask;
sigc::connection delete_connection;
sigc::connection configure_connection;
+ sigc::connection map_connection;
+ sigc::connection unmap_connection;
void save_pos_and_size ();
virtual bool delete_event_handler (GdkEventAny *ev);
virtual bool configure_handler (GdkEventConfigure*);
-
+ void map_handler ();
+ void unmap_handler ();
virtual void setup ();
void toggle ();
};
if (_window) {
delete_connection.disconnect ();
configure_connection.disconnect ();
+ map_connection.disconnect ();
+ unmap_connection.disconnect ();
_window->hide ();
delete _window;
_window = 0;
delete_connection = _window->signal_delete_event().connect (sigc::mem_fun (*this, &WindowProxy::delete_event_handler));
configure_connection = _window->signal_configure_event().connect (sigc::mem_fun (*this, &WindowProxy::configure_handler), false);
+ map_connection = _window->signal_map().connect (sigc::mem_fun (*this, &WindowProxy::map_handler), false);
+ unmap_connection = _window->signal_unmap().connect (sigc::mem_fun (*this, &WindowProxy::unmap_handler), false);
set_pos_and_size ();
}
+void
+WindowProxy::map_handler ()
+{
+ /* emit our own signal */
+ signal_map ();
+}
+
+void
+WindowProxy::unmap_handler ()
+{
+ /* emit out own signal */
+ signal_unmap ();
+}
+
bool
WindowProxy::configure_handler (GdkEventConfigure* ev)
{