Re: [PATCH] New Layout Manager and 3 additionals new layouts



Hello Fabien,

Fabien Parent <parent f gmail com> a écrit:

> 	* configure.ac: Add directives to enable/disable the building of the
> 	dynamic layout.
> 	* data/schemas/gconf/nemiver-dbgperspective.schemas: Add new configuration
> 	keys for the new layouts.
> 	* data/schemas/gsettings/org.nemiver.gschema.xml: Likewise
> 	* src/confmgr/nmv-conf-keys.h: Likewise
> 	* src/confmgr/nmv-gconf-keys-defs.cc: Likewise
> 	* src/confmgr/nmv-gsettings-keys-defs.c: Likewise
> 	* src/persp/dbgperspective/Makefile.am: Add new source files
> 	* src/persp/dbgperspective/nmv-dbg-perspective-default-layout.cc: New API
> 	* src/persp/dbgperspective/nmv-dbg-perspective-default-layout.h: Likewise
> 	* src/persp/dbgperspective/nmv-dbg-perspective-dynamic-layout.cc: Likewise
> 	* src/persp/dbgperspective/nmv-dbg-perspective-dynamic-layout.h: Likewise
> 	* src/persp/dbgperspective/nmv-dbg-perspective-two-pane-layout.cc: Likewise
> 	* src/persp/dbgperspective/nmv-dbg-perspective-two-pane-layout.h: Likewise
> 	* src/persp/dbgperspective/nmv-dbg-perspective-wide-layout.cc: Likewise
> 	* src/persp/dbgperspective/nmv-dbg-perspective-wide-layout.h: Likewise.
> 	* src/persp/dbgperspective/nmv-dbg-perspective.cc
> 	(DBGPerspective::on_layout_changed): New API
> 	(DBGPerspective::init_perspective_menu_entries): Removed
> 	(DBGPerspective::register_layouts): New API
> 	(DBGPerspective::get_source_view_widget): New API
> 	(DBGPerspective::set_show_context_view): Removed
> 	(DBGPerspective::set_show_terminal_view): Likewise
> 	(DBGPerspective::set_show_breakpoints_view): Likewise
> 	(DBGPerspective::set_show_registers_view): Likewise
> 	(DBGPerspective::set_show_memory_view): Likewise
> 	(DBGPerspective::activate_status_view): Removed. Implemented in each Layout.
> 	(DBGPerspective::Priv::Priv):
> 	(DBGPerspective::Priv::layout): New API
> 	(DBGPerspective::on_shutdown_signal): Call the layout's save_configuration
> 	method.
> 	(DBGPerspective::on_debugger_running_signal): Check pointer before using it
> 	(DBGPerspective::on_activate_context_view): Use the new Layout Manager API
> 	(DBGPerspective::on_activate_target_terminal_view): Likewise
> 	(DBGPerspective::on_activate_breakpoints_view): Likewise
> 	(DBGPerspective::on_activate_registers_view): Likewise
> 	(DBGPerspective::on_activate_memory_view): Likewise
> 	(DBGPerspective::init_actions): Use Renamed ViewsIndex's elements.
> 	(DBGPerspective::init_body): Move status views initialization into the new
> 	Layout API.
> 	(DBGPerspective::init_signals): Connect signal
> 	to DBGPerspective::on_layout_changed when the layout has changed.
> 	(DBGPerspective::bring_source_as_current): Check pointer before using it.
> 	(DBGPerspective::do_init): Call register_layouts to initialize the layout
> 	manager.
> 	(DBGPerspective::get_body): Use the Layout Manager to get the perspective's
> 	body.
> 	(DBGPerspective::edit_workbench_menu): Remove comment
> 	(DBGPerspective::update_file_maps): Check pointer before using it.
> 	(DBGPerspective::edit_preferences): Adapt to the new PreferencesDialog's
> 	constructor prototype.
> 	(DBGPerspective::layout_changed_signal): New API
> 	(DBGPerspective::add_views_to_layout): New API
> 	* src/persp/dbgperspective/nmv-dbg-perspective.h
> 	(DBGPerspective::get_source_view_widget): New API
> 	(DBGPerspective::get_conf_mgr): Add the method to the interface
> 	(DBGPerspective::layout_changed_signal): New API
> 	* src/persp/dbgperspective/nmv-preferences-dialog.cc
> 	(PreferencesDialog::Priv::Priv): Take the Perspective and the LayoutManager
> 	as parameters instead of a Workbench.
> 	(PreferencesDialog::Priv::init): Add the LayoutSelector widget to the
> 	preferences dialog.
> 	(PreferencesDialog::Priv::conf_manager): Use the IPerspective to get the
> 	configuration manager instead of the workbench.
> 	(PreferencesDialog::PreferencesDialog): Take the Perspective and
> 	the LayoutManager as parameters instead of a Workbench.
> 	* src/persp/dbgperspective/nmv-preferences-dialog.h
> 	(PreferencesDialog::PreferencesDialog): Take the Perspective and
> 	the LayoutManager as parameters instead of a Workbench.
> 	* src/persp/dbgperspective/ui/Makefile.am: Remove bodycontainer.ui file
> 	* src/persp/dbgperspective/ui/bodycontainer.ui: Removed
> 	* src/persp/dbgperspective/ui/preferencesdialog.ui: Add Layout tab
> 	* src/persp/nmv-i-perspective.h: Add a signal when the layout changed.
> 	* src/uicommon/Makefile.am: Add new source files and add new include
> 	directories.
> 	* src/uicommon/nmv-layout-manager.cc: New API
> 	* src/uicommon/nmv-layout-manager.h: Likewise
> 	* src/uicommon/nmv-layout-selector.cc: Likewise
> 	* src/uicommon/nmv-layout-selector.h: Likewise
> 	* src/uicommon/nmv-layout.h: Likewise
> 	* src/workbench/nmv-workbench.cc
> 	(Workbench::on_perspective_body_changed_signal): New API
> 	(Workbench::disconnect_all_perspective_signals): New API
> 	(Workbench::~Workbench): Disconnect perspectives layout_changed_signal
> 	(Workbench::do_init): Attach the signal 'layout_changed_signal' when
> 	the layout changed to the Workbench::on_perspective_layout_changed_signal
> 	method.

This patch is OK to commit to gtk2-branch.  I pre-approve its variant to
be committed to master at the same time.

Thank you very much for this great work.  I guess this is a proof of
your excellent work during this Google Summer of Code.  In case you
didn't know, you can be proud of yourself.  :-)

-- 
		Dodji


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]