From dec8f83f342ed76611d7dff156ab29b8df554a00 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 7 Apr 2007 00:52:22 +0000 Subject: Fix for overly loopy connections over short distances. Auto-arrange support for modules/ports. Added auto-arrange to Patchage and Ingen. git-svn-id: http://svn.drobilla.net/lad/patchage@408 a436a847-0d15-0410-975c-d299462d15a1 --- src/LashDriver.cpp | 7 +++---- src/Patchage.cpp | 11 +++++++++++ src/Patchage.h | 2 ++ src/patchage.glade | 49 ++++++++++++++++++++++++++++++++++++------------- 4 files changed, 52 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/LashDriver.cpp b/src/LashDriver.cpp index 1608139..db8a51d 100644 --- a/src/LashDriver.cpp +++ b/src/LashDriver.cpp @@ -56,11 +56,8 @@ LashDriver::attach(bool launch_daemon) _args, PACKAGE_NAME, lash_flags); if (_server_interface) { - /*_server_interface->signal_save_file.connect(sigc::mem_fun(this, LashDriver::on_save_file)); - _server_interface->signal_restore_file.connect(sigc::mem_fun(this, LashDriver::on_restore_file)); - _server_interface->signal_quit.connect(sigc::mem_fun(this, LashDriver::on_quit));*/ _server_interface->signal_project_add.connect(sigc::mem_fun(this, &LashDriver::on_project_add)); - + _server_interface->signal_quit.connect(sigc::mem_fun(this, &LashDriver::on_quit)); signal_attached.emit(); _app->status_message("[LASH] Attached"); } else { @@ -82,6 +79,8 @@ void LashDriver::on_project_add(const SharedPtr project) { _project_name = project->name(); + project->signal_save_file.connect(sigc::mem_fun(this, &LashDriver::on_save_file)); + project->signal_restore_file.connect(sigc::mem_fun(this, &LashDriver::on_restore_file)); } diff --git a/src/Patchage.cpp b/src/Patchage.cpp index 266913d..cdd21f8 100644 --- a/src/Patchage.cpp +++ b/src/Patchage.cpp @@ -146,6 +146,7 @@ Patchage::Patchage(int argc, char** argv) xml->get_widget("store_positions_menuitem", _menu_store_positions); xml->get_widget("file_quit_menuitem", _menu_file_quit); xml->get_widget("view_refresh_menuitem", _menu_view_refresh); + xml->get_widget("view_arrange_menuitem", _menu_view_arrange); xml->get_widget("view_messages_menuitem", _menu_view_messages); xml->get_widget("view_toolbar_menuitem", _menu_view_toolbar); xml->get_widget("help_about_menuitem", _menu_help_about); @@ -219,6 +220,7 @@ Patchage::Patchage(int argc, char** argv) _menu_store_positions->signal_activate().connect(sigc::mem_fun(this, &Patchage::menu_store_positions)); _menu_file_quit->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_file_quit)); _menu_view_refresh->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_view_refresh)); + _menu_view_arrange->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_view_arrange)); _menu_view_toolbar->signal_activate().connect( sigc::mem_fun(this, &Patchage::view_toolbar_toggled)); _menu_view_messages->signal_toggled().connect( sigc::mem_fun(this, &Patchage::show_messages_toggled)); _menu_help_about->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_help_about)); @@ -694,6 +696,15 @@ Patchage::menu_view_refresh() } +void +Patchage::menu_view_arrange() +{ + assert(_canvas); + + _canvas->arrange(); +} + + void Patchage::view_toolbar_toggled() { diff --git a/src/Patchage.h b/src/Patchage.h index 6f726df..a647c1c 100644 --- a/src/Patchage.h +++ b/src/Patchage.h @@ -74,6 +74,7 @@ protected: void show_messages_toggled(); void view_toolbar_toggled(); void menu_view_refresh(); + void menu_view_arrange(); void menu_help_about(); void zoom(double z); void zoom_changed(); @@ -141,6 +142,7 @@ protected: Gtk::CheckMenuItem* _menu_view_toolbar; Gtk::CheckMenuItem* _menu_view_messages; Gtk::MenuItem* _menu_view_refresh; + Gtk::MenuItem* _menu_view_arrange; Gtk::MenuItem* _menu_help_about; Gtk::Toolbar* _toolbar; Gtk::ScrolledWindow* _canvas_scrolledwindow; diff --git a/src/patchage.glade b/src/patchage.glade index dcbb5a4..835919c 100644 --- a/src/patchage.glade +++ b/src/patchage.glade @@ -52,7 +52,7 @@ - + True gtk-open 1 @@ -74,7 +74,7 @@ - + True gtk-save 1 @@ -96,7 +96,7 @@ - + True gtk-save-as 1 @@ -117,7 +117,7 @@ - + True gtk-close 1 @@ -145,7 +145,7 @@ - + True gtk-save 1 @@ -195,7 +195,7 @@ - + True gtk-preferences 1 @@ -223,7 +223,7 @@ - + True gtk-connect 1 @@ -246,7 +246,7 @@ - + True gtk-disconnect 1 @@ -274,7 +274,7 @@ - + True gtk-connect 1 @@ -297,7 +297,7 @@ - + True gtk-disconnect 1 @@ -325,7 +325,7 @@ - + True gtk-connect 1 @@ -348,7 +348,7 @@ - + True gtk-disconnect 1 @@ -406,7 +406,7 @@ - + True gtk-refresh 1 @@ -418,6 +418,29 @@ + + + + True + Automatically organize canvas + _Arrange + True + + + + + + True + gtk-sort-ascending + 1 + 0.5 + 0.5 + 0 + 0 + + + + -- cgit v1.2.1