Expose output pane to scripts
This commit is contained in:
parent
43b8539458
commit
554dcd93a6
@ -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):
|
||||
|
@ -120,6 +120,9 @@ class Writer(object):
|
||||
elif isinstance(sym, Type):
|
||||
return '<constant><link linkend="%(mode)s.%(symbol)s">%(name)s</link></constant>' % \
|
||||
dict(symbol=name, mode=self.mode, name=self.__make_class_name(sym))
|
||||
elif isinstance(sym, Method):
|
||||
return '<constant><link linkend="%(mode)s.%(symbol)s">%(Class)s.%(method)s()</link></constant>' % \
|
||||
dict(symbol=name, mode=self.mode, Class=self.__make_class_name(sym.cls), method=sym.name)
|
||||
else:
|
||||
oops(name)
|
||||
if self.mode == 'python':
|
||||
|
@ -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)
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user