diff --git a/api/mdp/module.py b/api/mdp/module.py index b00410bc..29927e38 100644 --- a/api/mdp/module.py +++ b/api/mdp/module.py @@ -406,7 +406,7 @@ class Module(object): else: raise RuntimeError("in %s: invalid annotation '%s'" % (pfunc.name, a,)) if param.type is None: - raise RuntimeError('in %s: param type missing' % pfunc.name) + raise RuntimeError('in %s: type of param "%s" is missing' % (pfunc.name, param.name)) return param def __add_vmethod(self, pfunc): diff --git a/api/mpi/docbookwriter.py b/api/mpi/docbookwriter.py index 60994271..1ac57d8d 100644 --- a/api/mpi/docbookwriter.py +++ b/api/mpi/docbookwriter.py @@ -120,6 +120,9 @@ class Writer(object): elif isinstance(sym, Type): return '%(name)s' % \ dict(symbol=name, mode=self.mode, name=self.__make_class_name(sym)) + elif isinstance(sym, Method): + return '%(Class)s.%(method)s()' % \ + dict(symbol=name, mode=self.mode, Class=self.__make_class_name(sym.cls), method=sym.name) else: oops(name) if self.mode == 'python': diff --git a/moo/plugins/support/moocmdview.c b/moo/plugins/support/moocmdview.c index 9b25943d..91b3a31e 100644 --- a/moo/plugins/support/moocmdview.c +++ b/moo/plugins/support/moocmdview.c @@ -14,7 +14,7 @@ */ /** - * class:MooCmdView: (parent MooLineView) (constructable) (moo.private 1) + * class:MooCmdView: (parent MooLineView) (constructable) **/ #include "moocmdview.h" @@ -256,7 +256,7 @@ moo_cmd_view_set_filter (MooCmdView *view, } /** - * moo_cmd_view_set_filter_by_id: (moo.lua 0) + * moo_cmd_view_set_filter_by_id: * * @view: * @id: (type const-utf8) @@ -335,11 +335,11 @@ stderr_line_cb (MooCmd *cmd, /** - * moo_cmd_view_run_command: (moo.lua 0) + * moo_cmd_view_run_command: * * @view: - * @cmd: (type filename) - * @working_dir: (type filename) (allow-none) (default NULL) + * @cmd: (type const-filename) + * @working_dir: (type const-filename) (allow-none) (default NULL) * @job_name: (type const-utf8) (allow-none) (default NULL) */ gboolean @@ -569,6 +569,35 @@ moo_cmd_view_abort (MooCmdView *view) } +/** + * moo_cmd_view_write_with_filter: + * + * @view: + * @text: (type const-utf8) + * @error: (allow-none) (default FALSE) + */ +void +moo_cmd_view_write_with_filter (MooCmdView *view, + const char *text, + gboolean error) +{ + char **lines; + char **p; + + lines = moo_splitlines (text); + + for (p = lines; p && *p; ++p) + { + if (error) + moo_cmd_view_stderr_line (view, *p); + else + moo_cmd_view_stdout_line (view, *p); + } + + g_strfreev (lines); +} + + static gboolean moo_cmd_view_stdout_line (MooCmdView *view, const char *line) diff --git a/moo/plugins/support/moocmdview.h b/moo/plugins/support/moocmdview.h index f7fc29ee..c02e8df3 100644 --- a/moo/plugins/support/moocmdview.h +++ b/moo/plugins/support/moocmdview.h @@ -75,6 +75,10 @@ void moo_cmd_view_set_filter_by_id (MooCmdView *view, void moo_cmd_view_add_filter_dirs (MooCmdView *view, char **dirs); +void moo_cmd_view_write_with_filter (MooCmdView *view, + const char *text, + gboolean error); + gboolean moo_cmd_view_run_command (MooCmdView *view, const char *cmd, const char *working_dir, diff --git a/moo/plugins/support/mooeditwindowoutput.c b/moo/plugins/support/mooeditwindowoutput.c index c73bfe19..67ca6382 100644 --- a/moo/plugins/support/mooeditwindowoutput.c +++ b/moo/plugins/support/mooeditwindowoutput.c @@ -3,6 +3,20 @@ #include "mooutils/moostock.h" #include "mooutils/mooi18n.h" +#define MOO_EDIT_WINDOW_OUTPUT "moo-edit-window-output" +#define MOO_OUTPUT "moo-output" + +/** + * moo_edit_window_get_output: + * + * @window: + * + * Returns: an output pane, as #MooCmdView object. + * + * Get the output pane, create it if necessary. This function + * does not open the pane, use #moo_edit_window_present_output + * for that. + */ GtkWidget * moo_edit_window_get_output (MooEditWindow *window) { @@ -12,7 +26,7 @@ moo_edit_window_get_output (MooEditWindow *window) g_return_val_if_fail (MOO_IS_EDIT_WINDOW (window), NULL); - scrolled_window = moo_edit_window_get_pane (window, "moo-edit-window-output"); + scrolled_window = moo_edit_window_get_pane (window, MOO_EDIT_WINDOW_OUTPUT); if (!scrolled_window) { @@ -26,14 +40,14 @@ moo_edit_window_get_output (MooEditWindow *window) moo_text_view_set_font_from_string (MOO_TEXT_VIEW (cmd_view), "Monospace"); gtk_container_add (GTK_CONTAINER (scrolled_window), cmd_view); gtk_widget_show_all (scrolled_window); - g_object_set_data (G_OBJECT (scrolled_window), "moo-output", cmd_view); + g_object_set_data (G_OBJECT (scrolled_window), MOO_OUTPUT, cmd_view); label = moo_pane_label_new (MOO_STOCK_TERMINAL, NULL, /* label of Output window pane */ C_("window-pane", "Output"), C_("window-pane", "Output")); - if (!moo_edit_window_add_pane (window, "moo-edit-window-output", + if (!moo_edit_window_add_pane (window, MOO_EDIT_WINDOW_OUTPUT, scrolled_window, label, MOO_PANE_POS_BOTTOM)) { g_critical ("oops"); @@ -47,18 +61,25 @@ moo_edit_window_get_output (MooEditWindow *window) return cmd_view; } - return g_object_get_data (G_OBJECT (scrolled_window), "moo-output"); + return g_object_get_data (G_OBJECT (scrolled_window), MOO_OUTPUT); } -GtkWidget * +static GtkWidget * moo_edit_window_get_output_pane (MooEditWindow *window) { g_return_val_if_fail (MOO_IS_EDIT_WINDOW (window), NULL); - return moo_edit_window_get_pane (window, "moo-edit-window-output"); + return moo_edit_window_get_pane (window, MOO_EDIT_WINDOW_OUTPUT); } +/** + * moo_edit_window_present_output: + * + * @window: + * + * Open the output pane. + */ void moo_edit_window_present_output (MooEditWindow *window) { diff --git a/moo/plugins/support/mooeditwindowoutput.h b/moo/plugins/support/mooeditwindowoutput.h index b4387efb..13c5a692 100644 --- a/moo/plugins/support/mooeditwindowoutput.h +++ b/moo/plugins/support/mooeditwindowoutput.h @@ -7,7 +7,6 @@ G_BEGIN_DECLS void moo_edit_window_present_output (MooEditWindow *window); GtkWidget *moo_edit_window_get_output (MooEditWindow *window); -GtkWidget *moo_edit_window_get_output_pane (MooEditWindow *window); G_END_DECLS