You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(59) |
Nov
(43) |
Dec
(34) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(83) |
Feb
(10) |
Mar
(50) |
Apr
(69) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-23 10:33:07
|
Update of /cvsroot/numexp/gnumexp/src/xygraph In directory usw-pr-cvs1:/tmp/cvs-serv16432 Modified Files: Makefile.am Log Message: After generating numexp-xygraph from numexp-xygraph.in, also make it executable. Index: Makefile.am =================================================================== RCS file: /cvsroot/numexp/gnumexp/src/xygraph/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -U4 -r1.5 -r1.6 --- Makefile.am 20 Apr 2002 15:59:23 -0000 1.5 +++ Makefile.am 23 Apr 2002 09:54:28 -0000 1.6 @@ -16,9 +16,11 @@ script_dot_in=numexp-xygraph $(script_dot_in): $(script_dot_in).in - sed -e "s|\@prefix\@|$(prefix)|" $< > $@ + sed -e "s|\@prefix\@|$(prefix)|" $< > $@ && \ + chmod a+x $@ + bin_SCRIPTS = numexp-xygraph CLEANFILES += numexp-xygraph |
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-23 10:29:47
|
Update of /cvsroot/numexp/gnumexp/src/console
In directory usw-pr-cvs1:/tmp/cvs-serv24855
Modified Files:
console-completion.c console-document.c console-entry.c
console-entry.h console-view.c cst-numexp.c numexp-console.c
test-console.c
Log Message:
console-entry.[ch]:
- Rename ConsoleHistory to ConsoleEntryHistory;
- Add a method to set the console syntax table;
- Apply the syntax table to the text view when it changes, after a timeout.
console-view.c:
- use the supplied syntax table to highlight the entered text and result in the display text view, and also to be set as the console entry's systax table.
console-view.c console-document.c test-console.c:
- Fixed some CORBA and local reference count bugs.
cst-numexp.c:
- Removed setting new font size in the default style.
Index: console-completion.c
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/console/console-completion.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -U4 -r1.5 -r1.6
--- console-completion.c 10 Jan 2002 10:31:59 -0000 1.5
+++ console-completion.c 23 Apr 2002 10:29:42 -0000 1.6
@@ -41,19 +41,21 @@
*cc = console_completion_full_complete(self, last, &ns_prefix, &prefix);
/* FIXME: MAKE THIS CODE CLEANER!!! AND MAYBE QUICKER*/
if (ns_prefix && prefix) {
- asprintf(&full_prefix, "%s%s", ns_prefix, prefix);
+ full_prefix = g_strdup_printf("%s%s", ns_prefix, prefix);
g_free(ns_prefix);
g_free(prefix);
} else {
if (prefix) {
- asprintf(&full_prefix, "%s", prefix);
- g_free(prefix);
+/* asprintf(&full_prefix, "%s", prefix); */
+/* g_free(prefix); */
+ full_prefix = prefix; prefix = NULL;
}
if (ns_prefix) {
- asprintf(&full_prefix, "%s", ns_prefix);
- g_free(ns_prefix);
+/* asprintf(&full_prefix, "%s", ns_prefix); */
+/* g_free(ns_prefix); */
+ full_prefix = ns_prefix; ns_prefix = NULL;
}
}
if (full_prefix) {
Index: console-document.c
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/console/console-document.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -U4 -r1.3 -r1.4
--- console-document.c 16 Dec 2001 21:21:07 -0000 1.3
+++ console-document.c 23 Apr 2002 10:29:43 -0000 1.4
@@ -48,17 +48,13 @@
ConsoleDocument *console_document_new(Numexp_Kernel kernel)
{
- CORBA_Environment ev;
ConsoleDocument *self;
GTypeInstance *instance =
g_type_create_instance(console_document_get_type());
self = CONSOLE_DOCUMENT(instance);
- CORBA_exception_init(&ev);
- Numexp_Kernel_ref(kernel, &ev);
- CORBA_exception_free(&ev);
- self->kernel = kernel;
+ self->kernel = bonobo_object_dup_ref(kernel, NULL);
return self;
}
@@ -86,18 +82,16 @@
static void console_document_shutdown(GObject *object)
{
- CORBA_Environment ev;
ConsoleDocument *self = CONSOLE_DOCUMENT(object);
g_message(__FUNCTION__);
- if (self->kernel != CORBA_OBJECT_NIL) {
- CORBA_exception_init(&ev);
- Numexp_Kernel_unref(self->kernel, &ev);
- CORBA_exception_free(&ev);
- }
- self->kernel = CORBA_OBJECT_NIL;
+
+ if (self->kernel != CORBA_OBJECT_NIL)
+ self->kernel = bonobo_object_release_unref(self->kernel, NULL);
+
g_object_unref(self->var_tree_model);
+
if (G_OBJECT_CLASS(parent_class)->finalize)
G_OBJECT_CLASS(parent_class)->finalize(object);
}
Index: console-entry.c
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/console/console-entry.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -U4 -r1.12 -r1.13
--- console-entry.c 13 Jan 2002 14:24:54 -0000 1.12
+++ console-entry.c 23 Apr 2002 10:29:43 -0000 1.13
@@ -5,12 +5,14 @@
#include <gdk/gdkkeysyms.h>
#define HISTORY_SIZE 100
#define HISTORY_FILE "/tmp/gnumexp.history" /* FIXME: this should be ~/.gnumexp_history */
+#define CST_TIMEOUT 500 /* time to wait after the text buffer
+ * changes before applying the cst
+ * engine */
-
-struct _ConsoleHistory
+struct _ConsoleEntryHistory
{
gboolean keep_dups;
guint max_size, cur_size;
GList *data;
@@ -18,8 +20,18 @@
gboolean last_op_was_an_add;
};
+typedef struct _ConsoleEntryBinding ConsoleEntryBinding;
+
+struct _ConsoleEntryBinding {
+ guint keyval, state;
+ gpointer user_data;
+ ConsoleEntryBindingFunc func;
+};
+
+
+
/** some tunable parameters that control the size of the 'Enter' button **/
gboolean console_entry_enable_icon_scaling = 1;
GdkInterpType console_entry_icon_scaling_mode = GDK_INTERP_HYPER;
@@ -42,42 +54,46 @@
static guint signals[LAST_SIGNAL] = { 0 };
static gpointer parent_class = NULL;
-static void console_entry_init (ConsoleEntry *instance,
- gpointer g_class);
-static void console_entry_class_base_init (ConsoleEntryClass *class);
-static void console_entry_class_init (ConsoleEntryClass *class,
- gpointer data);
-static gint console_entry_text_entered (ConsoleEntry *self,
- gchar *text);
-static void text_view_activate (GtkWidget *wid,
- ConsoleEntry *self);
-static gint entry_activate (GtkWidget *wid,
- ConsoleEntry *self);
-static void console_entry_shutdown (GObject *object);
-static gint text_view_key_press (GtkWidget *wid,
- GdkEventKey *event,
- ConsoleEntry *self);
-static void console_entry_toggle_expanded (gpointer foo,
- ConsoleEntry *self);
+static void console_entry_init (ConsoleEntry *instance,
+ gpointer g_class);
+static void console_entry_class_base_init (ConsoleEntryClass *class);
+static void console_entry_class_init (ConsoleEntryClass *class,
+ gpointer data);
+static gint console_entry_text_entered (ConsoleEntry *self,
+ gchar *text);
+static void text_view_activate (GtkWidget *wid,
+ ConsoleEntry *self);
+static gint entry_activate (GtkWidget *wid,
+ ConsoleEntry *self);
+static void console_entry_shutdown (GObject *object);
+static gint text_view_key_press (GtkWidget *wid,
+ GdkEventKey *event,
+ ConsoleEntry *self);
+static void console_entry_toggle_expanded (gpointer foo,
+ ConsoleEntry *self);
+
/* History */
-static ConsoleHistory* console_entry_history_new (guint size,
- gboolean keep_dups);
-static void console_entry_history_destroy (ConsoleHistory *self);
-static ConsoleHistory* console_entry_history_add (ConsoleHistory *self,
- const char *line);
-static ConsoleHistory* console_entry_history_resize (ConsoleHistory *self,
- guint new_size);
-static const char* console_entry_history_previous (ConsoleHistory *self);
-static const char* console_entry_history_next (ConsoleHistory *self);
+static ConsoleEntryHistory* console_entry_history_new (guint size,
+ gboolean keep_dups);
+static void console_entry_history_destroy (ConsoleEntryHistory *self);
+static ConsoleEntryHistory* console_entry_history_add (ConsoleEntryHistory *self,
+ const char *line);
+static ConsoleEntryHistory* console_entry_history_resize (ConsoleEntryHistory *self,
+ guint new_size);
+static const char* console_entry_history_previous (ConsoleEntryHistory *self);
+static const char* console_entry_history_next (ConsoleEntryHistory *self);
+
/* NOTE: this will overwrite the file! */
-static gboolean console_entry_history_save (ConsoleHistory *self,
- const char *filename);
-static ConsoleHistory* console_entry_history_load (const char *filename);
+static gboolean console_entry_history_save (ConsoleEntryHistory *self,
+ const char *filename);
+static ConsoleEntryHistory* console_entry_history_load (const char *filename);
+static void text_view_changed (GtkTextView *text_view,
+ ConsoleEntry *entry);
@@ -149,13 +165,10 @@
instance = g_type_create_instance(console_entry_get_type());
self = CONSOLE_ENTRY(instance);
- if (syntax_table) {
- cst_syntax_table_ref(syntax_table);
- self->syntax_table = syntax_table;
- cst_install_tags(syntax_table, gtk_text_view_get_buffer(GTK_TEXT_VIEW(self->text_view)));
- }
+ console_entry_set_syntax_table(self, syntax_table);
+
return GTK_WIDGET(self);
}
@@ -226,8 +239,10 @@
GtkIconSet *icon_set;
GtkSizeGroup *size_group;
/* GtkObject *adjustment; */
+ self->syntax_table = NULL;
+ self->cst_timeout_id = 0;
/* console history */
self->history = console_entry_history_load(HISTORY_FILE);
if (!self->history)
self->history = console_entry_history_new(HISTORY_SIZE, FALSE);
@@ -241,8 +256,10 @@
/* Text view */
self->text_view = gtk_text_view_new();
gtk_signal_connect(GTK_OBJECT(self->text_view), "key-press-event",
GTK_SIGNAL_FUNC(text_view_key_press), self);
+ g_signal_connect(gtk_text_view_get_buffer(GTK_TEXT_VIEW(self->text_view)), "changed",
+ G_CALLBACK(text_view_changed), self);
/* adjustment = gtk_adjustment_new(0, 0, 1, .1, .1, .1); */
/* self->scrollbar = gtk_vscrollbar_new(GTK_ADJUSTMENT(adjustment)); */
/* sw = gtk_scrolled_window_new(NULL, GTK_ADJUSTMENT(adjustment)); */
sw = gtk_scrolled_window_new(NULL, NULL);
@@ -358,9 +375,8 @@
g_cclosure_marshal_VOID__BOOLEAN,
G_TYPE_NONE, 1, expand_toggled_types);
gtk_rc_parse_string(
"style \"console_entry\" {\n"
-/* " text[NORMAL] = \"#6ba5e7\"\n" /\* testing *\/ */
" font_name = \"monospace\"\n"
"}\n"
"widget_class \"*.ConsoleEntry.*.GtkEntry\" style \"console_entry\"\n"
"widget_class \"*.ConsoleEntry.*.GtkTextView\" style \"console_entry\"\n"
@@ -483,8 +499,14 @@
if (!console_entry_history_save(self->history, HISTORY_FILE)) {
g_warning("error saving history file");
}
+ if (self->cst_timeout_id)
+ gtk_timeout_remove(self->cst_timeout_id);
+
+ if (self->syntax_table)
+ cst_syntax_table_unref(self->syntax_table);
+
if (G_OBJECT_CLASS(parent_class)->finalize)
G_OBJECT_CLASS(parent_class)->finalize(object);
}
@@ -597,18 +619,18 @@
}
}
/* NOT TESTED YET */
-static void console_entry_history_destroy(ConsoleHistory *self)
+static void console_entry_history_destroy(ConsoleEntryHistory *self)
{
GList *list;
for(list = self->data; list; list = g_list_next(list))
g_free(list->data);
g_list_free(list);
}
/* NOT TESTED YET */
-static ConsoleHistory* console_entry_history_resize(ConsoleHistory *self, guint new_size)
+static ConsoleEntryHistory* console_entry_history_resize(ConsoleEntryHistory *self, guint new_size)
{
if (self->max_size <= new_size)
{
self->max_size = new_size;
@@ -646,15 +668,15 @@
g_string_free(str, FALSE);
return s;
}
-static ConsoleHistory* console_entry_history_load(const char* filename)
+static ConsoleEntryHistory* console_entry_history_load(const char* filename)
{
FILE *fname;
char *buffer, *expanded;
int keep_dups, max_size, log;
- ConsoleHistory* chistory;
+ ConsoleEntryHistory* chistory;
fname = fopen(filename, "rt");
if (!fname) return NULL;
@@ -672,9 +694,9 @@
return chistory;
}
-static gboolean console_entry_history_save(ConsoleHistory* self, const char* filename)
+static gboolean console_entry_history_save(ConsoleEntryHistory* self, const char* filename)
{
FILE* fname;
char* tmp;
GList* l;
@@ -692,9 +714,9 @@
fclose(fname);
return TRUE;
}
-static const char* console_entry_history_next(ConsoleHistory* self)
+static const char* console_entry_history_next(ConsoleEntryHistory* self)
{
const char* line;
if (self->current) {
self->current = g_list_next(self->current)?g_list_next(self->current):self->current;
@@ -704,9 +726,9 @@
return NULL;
}
}
-static const char* console_entry_history_previous(ConsoleHistory* self)
+static const char* console_entry_history_previous(ConsoleEntryHistory* self)
{
const char* line;
if (self->current) {
@@ -722,9 +744,9 @@
return NULL;
}
}
-static ConsoleHistory* console_entry_history_add(ConsoleHistory* self, const char* line)
+static ConsoleEntryHistory* console_entry_history_add(ConsoleEntryHistory* self, const char* line)
{
if (self->cur_size == self->max_size) {
self->data = g_list_remove(self->data, g_list_first(self->data)->data);
self->cur_size--;
@@ -749,12 +771,12 @@
return self;
}
-static ConsoleHistory* console_entry_history_new(guint size, gboolean keep_dups)
+static ConsoleEntryHistory* console_entry_history_new(guint size, gboolean keep_dups)
{
- ConsoleHistory* self;
- self = g_new0(ConsoleHistory, 1);
+ ConsoleEntryHistory* self;
+ self = g_new0(ConsoleEntryHistory, 1);
self->last_op_was_an_add = FALSE;
self->keep_dups = keep_dups;
self->max_size = size;
@@ -763,4 +785,54 @@
self->cur_size = 0;
return self;
}
+
+
+
+/**
+ * console_entry_set_syntax_table:
+ * @entry: a #ConsoleEntry instance
+ * @syntax_table: a pointer to a #CSTSyntaxTable; ownership is not
+ * taken by this function, only a reference is kept
+ *
+ * Sets a syntax highlighting engine to be used in the expanded mode.
+ **/
+void console_entry_set_syntax_table(ConsoleEntry *entry, CSTSyntaxTable *syntax_table)
+{
+ if (entry->syntax_table)
+ cst_syntax_table_unref(entry->syntax_table);
+ entry->syntax_table = syntax_table;
+ if (syntax_table) {
+ cst_syntax_table_ref(syntax_table);
+ cst_install_tags(syntax_table, gtk_text_view_get_buffer(GTK_TEXT_VIEW(entry->text_view)));
+ }
+}
+
+
+static gboolean text_view_changed_timeout(gpointer data)
+{
+ ConsoleEntry *self = CONSOLE_ENTRY(data);
+ GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(self->text_view));
+ GtkTextIter start, end;
+ g_message(__FUNCTION__);
+ /* this function will return FALSE in any case and the timeout
+ * will be removed, so we should set cst_timeout_id to zero */
+ self->cst_timeout_id = 0;
+ if (!self->syntax_table)
+ return FALSE;
+ gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(buffer), &start, &end);
+ cst_fontify_region(self->syntax_table, &start, &end, 0);
+ return FALSE;
+}
+
+
+
+static void text_view_changed(GtkTextView *text_view, ConsoleEntry *self)
+{
+ if (self->cst_timeout_id)
+ gtk_timeout_remove(self->cst_timeout_id);
+ self->cst_timeout_id =
+ gtk_timeout_add(CST_TIMEOUT, text_view_changed_timeout, self);
+}
+
+
Index: console-entry.h
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/console/console-entry.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -U4 -r1.11 -r1.12
--- console-entry.h 13 Jan 2002 14:24:54 -0000 1.11
+++ console-entry.h 23 Apr 2002 10:29:43 -0000 1.12
@@ -21,25 +21,25 @@
#define CONSOLE_ENTRY_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
#define CONSOLE_ENTRY_CLASS_NAME(class) (g_type_name (CONSOLE_ENTRY_CLASS_TYPE (class)))
-typedef struct _ConsoleHistory ConsoleHistory;
-typedef struct _ConsoleEntry ConsoleEntry;
-typedef struct _ConsoleEntryClass ConsoleEntryClass;
+typedef struct _ConsoleEntryHistory ConsoleEntryHistory;
+typedef struct _ConsoleEntry ConsoleEntry;
+typedef struct _ConsoleEntryClass ConsoleEntryClass;
struct _ConsoleEntry
{
- GtkHBox base;
- GtkWidget *text_view, *text_view_frame;
- GtkWidget *entry;
- GtkWidget *arrow;
- GtkWidget *enter_button;
- CSTSyntaxTable *syntax_table;
- gboolean expanded:1;
- ConsoleHistory *history;
-
- GList* bindings;
+ GtkHBox base;
+ GtkWidget *text_view, *text_view_frame;
+ GtkWidget *entry;
+ GtkWidget *arrow;
+ GtkWidget *enter_button;
+ CSTSyntaxTable *syntax_table;
+ gboolean expanded:1;
+ ConsoleEntryHistory *history;
+ GList* bindings; /* list of key bindings */
+ guint cst_timeout_id;
};
struct _ConsoleEntryClass
@@ -56,17 +56,8 @@
typedef gboolean (*ConsoleEntryBindingFunc) (ConsoleEntry *entry, guint keyval,
guint state, gpointer user_data);
-typedef struct _ConsoleEntryBinding ConsoleEntryBinding;
-
-struct _ConsoleEntryBinding {
- guint keyval, state;
- gpointer user_data;
- ConsoleEntryBindingFunc func;
-};
-
-
char* console_entry_get_text (ConsoleEntry *self);
guint console_entry_get_cursor_position (ConsoleEntry *self);
@@ -82,8 +73,10 @@
guint keyval,
guint state,
ConsoleEntryBindingFunc func,
gpointer user_data);
+void console_entry_set_syntax_table (ConsoleEntry *entry,
+ CSTSyntaxTable *syntax_table);
G_END_DECLS
Index: console-view.c
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/console/console-view.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -U4 -r1.15 -r1.16
--- console-view.c 25 Mar 2002 09:00:26 -0000 1.15
+++ console-view.c 23 Apr 2002 10:29:43 -0000 1.16
@@ -51,8 +51,11 @@
static gboolean console_tab_handler (ConsoleEntry *entry,
guint keyval,
guint state,
gpointer user_data);
+static gint console_view_get_width (ConsoleView *self,
+ GtkTextTag *tag);
+
static GTypeInfo typeinfo =
@@ -107,14 +110,19 @@
/* create text_view */
self->text_view = gtk_text_view_new_with_buffer(doc->textbuf);
gtk_widget_show(self->text_view);
-
+ if (syntax_table) {
+ cst_syntax_table_ref(syntax_table);
+ self->syntax_table = syntax_table;
+ cst_install_tags(syntax_table, gtk_text_view_get_buffer(GTK_TEXT_VIEW(self->text_view)));
+ }
/* create the editor */
self->editor = console_entry_new(NULL);
console_entry_bind_key(CONSOLE_ENTRY(self->editor),
GDK_Tab, 0, console_tab_handler,
self);
+ console_entry_set_syntax_table(CONSOLE_ENTRY(self->editor), syntax_table);
gtk_signal_connect(GTK_OBJECT(self->editor),
"text_entered",
GTK_SIGNAL_FUNC(console_entry_text_entered),
self);
@@ -297,41 +305,8 @@
}
-static gint editor_changed(GtkWidget *wid, ConsoleView *self)
-{
- GtkTextIter start, end;
- if (!self->syntax_table)
- return FALSE;
- gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(wid), &start, &end);
- cst_fontify_region(self->syntax_table, &start, &end, 0);
- return FALSE;
-}
-
-
-#if 0
-static gint key_press(GtkWidget *wid, GdkEventKey *event, ConsoleView *self)
-{
- g_return_val_if_fail(IS_CONSOLE_VIEW(self), FALSE);
- if (event->keyval == GDK_Return && event->state&GDK_CONTROL_MASK)
- {
- GtkTextBuffer *textbuf;
- GtkTextIter start, end;
- gchar *text;
- //g_message("activate!");
- textbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(self->editor));
- gtk_text_buffer_get_bounds(textbuf, &start, &end);
- text = gtk_text_buffer_get_text(textbuf, &start, &end, TRUE);
- gtk_text_buffer_delete(textbuf, &start, &end);
- console_view_text_entered(self, text);
- return TRUE;
- }
- return FALSE;
-}
-#endif
-
-
static void console_view_init2(ConsoleView *self)
{
GtkWidget *wid, *sw;
@@ -478,11 +453,19 @@
static void console_view_shutdown(GObject *object)
{
ConsoleView *self = CONSOLE_VIEW(object);
+ CORBA_Environment ev;
+
+ if (self->syntax_table)
+ cst_syntax_table_unref(self->syntax_table);
+
+ CORBA_exception_init(&ev);
+ Numexp_Kernel_setClient(self->client->kernel, CORBA_OBJECT_NIL, &ev);
+ CORBA_exception_free(&ev);
+ bonobo_object_unref(self->client);
g_object_unref(self->doc);
- g_object_unref(self->client);
if (G_OBJECT_CLASS(parent_class)->finalize)
G_OBJECT_CLASS(parent_class)->finalize(object);
}
@@ -584,15 +567,14 @@
return TRUE;
}
-gint console_view_get_width(ConsoleView *self, GtkTextTag *tag)
+static gint console_view_get_width(ConsoleView *self, GtkTextTag *tag)
{
PangoFontDescription *fdesc;
PangoFontMetrics *metrics;
PangoContext *context;
GtkWidget *widget;
- GValue *value;
int char_width;
int width_in_chars;
return 0;
Index: cst-numexp.c
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/console/cst-numexp.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -U4 -r1.2 -r1.3
--- cst-numexp.c 19 Dec 2001 08:28:49 -0000 1.2
+++ cst-numexp.c 23 Apr 2002 10:29:43 -0000 1.3
@@ -18,9 +18,9 @@
CSTSyntaxElement *elem;
/* default style */
table = cst_syntax_table_new("NumExp");
- g_object_set(table->default_style, "family", "monospace", "size", 16, NULL);
+ g_object_set(table->default_style, "family", "monospace", /*"size", 16,*/ NULL);
/* name */
elem = cst_syntax_table_add_element(table, "name");
g_object_set(elem->tag, "foreground", "#808020", NULL);
Index: numexp-console.c
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/console/numexp-console.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -U4 -r1.4 -r1.5
--- numexp-console.c 15 Dec 2001 16:30:10 -0000 1.4
+++ numexp-console.c 23 Apr 2002 10:29:43 -0000 1.5
@@ -1,5 +1,5 @@
-/* -*- Mode: C; c-file-style: "bsd"; -*- */
+/* -*- Mode: C; c-file-style: "stroustrup"; -*- */
#define _GNU_SOURCE
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
Index: test-console.c
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/console/test-console.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -U4 -r1.8 -r1.9
--- test-console.c 10 Jan 2002 10:31:59 -0000 1.8
+++ test-console.c 23 Apr 2002 10:29:43 -0000 1.9
@@ -199,13 +199,9 @@
void exit_func(void)
{
- CORBA_Environment ev;
- CORBA_exception_init(&ev);
- Numexp_Kernel_unref(kernel, &ev);
- CORBA_exception_free(&ev);
- kernel = CORBA_OBJECT_NIL;
+ kernel = bonobo_object_release_unref(kernel, NULL);
}
static gboolean delayed_init(gpointer data)
|
|
From: Alberto M. Brand?o Sim?es <am...@us...> - 2002-04-22 08:08:06
|
Update of /cvsroot/numexp/numexp-core/modules/gsl
In directory usw-pr-cvs1:/tmp/cvs-serv19491/modules/gsl
Modified Files:
Makefile.am STATUS gsl.c rng.in rng.xml
Added Files:
qrng.in qrng.xml
Log Message:
- Added error message when chdir'ing to an invalid namespace;
- Unix random number generators;
- Numerical Recipes generators;
- Other random number generators;
- Added qrng.{in,xml} for quasi-random number generators;
- Quasi-random number generation initialization;
- Sampling from a quasi-random number generator;
- Quasi-random number generator algorithms;
--- NEW FILE ---
/* -*- c -*- */
#include <gsl/gsl_qrng.h>
#include "nxp_kernel.h"
#include "gsl.h"
/* STATUS: done */
#NAMESPACE gsl::qRNG
#PROTOTYPE <STRING> qrng_name() WITH NAME current
static NxpElement* nxp_gsl_qrng_name(ETC) {
gsl_qrng *qrng = nxp_eval_context_get_user_data(context, "qRNG");
if (qrng) {
NxpElement *el = nxp_element_string_new(gsl_qrng_name(qrng));
GSL_RETURN(el);
} else {
return nxp_element_string_new("-none-");
}
}
#PROTOTYPE <INT> qrng_size() WITH NAME currentSize
static NxpElement* nxp_gsl_qrng_size(ETC) {
gsl_qrng *qrng = nxp_eval_context_get_user_data(context, "qRNG");
if (qrng) {
unsigned int *usize = nxp_eval_context_get_user_data(context, "qRNG-size");
NxpElement *el = nxp_element_int_new(*usize);
GSL_RETURN(el);
} else {
return nxp_element_int_new(0);
}
}
#PROTOTYPE <VECTOR> qrng_init_get(<VOID>) WITH NAME sample
static NxpElement* nxp_gsl_qrng_init_get(ETC) {
double* buffer;
gsl_qrng *qrng = nxp_eval_context_get_user_data(context, "qRNG");
if (qrng) {
unsigned int *usize = nxp_eval_context_get_user_data(context, "qRNG-size");
NxpElement *vec;
buffer = g_new(double, *usize);
gsl_qrng_get(qrng, buffer);
vec = nxp_double_buffer_to_vector(buffer, *usize);
GSL_RETURN(vec);
} else {
return NULL;
}
}
#PROTOTYPE <VOID> qrng_init_niederreiter_2(<INT>) WITH NAME init_niederreiter2
static NxpElement* nxp_gsl_qrng_init_niederreiter_2(NxpElementInt *dimension, ETC) {
unsigned int *usize = g_new(unsigned int, 1);
gsl_qrng *qrng = nxp_eval_context_get_user_data(context, "qRNG");
if (qrng) {
/* Free it */
gsl_qrng_free(qrng);
g_free(nxp_eval_context_get_user_data(context, "qRNG-size"));
qrng = NULL;
}
*usize = (unsigned int)ABS(dimension->value);
qrng = gsl_qrng_alloc(gsl_qrng_niederreiter_2, *usize);
nxp_eval_context_set_user_data(context, "qRNG", qrng);
nxp_eval_context_set_user_data(context, "qRNG-size", usize);
GSL_RETURN(nxp_element_void_new());
}
//#PROTOTYPE <VOID> qrng_reset() WITH NAME reset
//static NxpElement* nxp_gsl_qrng_reset(ETC) {
// gsl_qrng *qrng = nxp_eval_context_get_user_data(context, "qRNG");
// // if (qrng) gsl_qrng_init(qrng);
// GSL_RETURN(nxp_element_void_new());
//}
#PROTOTYPE <VOID> qrng_init_sobol(<INT>) WITH NAME init_sobol
static NxpElement* nxp_gsl_qrng_init_sobol(NxpElementInt *dimension, ETC) {
unsigned int *usize = g_new(unsigned int, 1);
gsl_qrng *qrng = nxp_eval_context_get_user_data(context, "qRNG");
if (qrng) {
/* Free it */
gsl_qrng_free(qrng);
g_free(nxp_eval_context_get_user_data(context, "qRNG-size"));
qrng = NULL;
}
*usize = (unsigned int)ABS(dimension->value);
qrng = gsl_qrng_alloc(gsl_qrng_sobol, *usize);
nxp_eval_context_set_user_data(context, "qRNG", qrng);
nxp_eval_context_set_user_data(context, "qRNG-size", usize);
GSL_RETURN(nxp_element_void_new());
}
void nxp_gsl_qrng_init(NxpEvalContext * context) {
gsl_qrng* qrng;
NxpIdentifier *id;
unsigned int *size;
/* it starts empty!! This means that I don't know when to free it :-/ */
qrng = NULL;
size = g_new(unsigned int, 1);
*size = 0;
nxp_eval_context_set_user_data(context, "qRNG", qrng);
nxp_eval_context_set_user_data(context, "qRNG-size", size);
#PROTOTYPES
}
--- NEW FILE ---
<namespace name="::gsl::qRNG::">
<description>
</description>
</namespace>
Index: Makefile.am
===================================================================
RCS file: /cvsroot/numexp/numexp-core/modules/gsl/Makefile.am,v
retrieving revision 1.33
retrieving revision 1.34
diff -U4 -r1.33 -r1.34
--- Makefile.am 9 Apr 2002 06:59:09 -0000 1.33
+++ Makefile.am 22 Apr 2002 07:39:38 -0000 1.34
@@ -17,9 +17,9 @@
sf_gegenbauer.in sf_hyperg.in sf_laguerre.in \
sf_lambert.in sf_legendre.in sf_log.in sf_psi.in \
sf_synchrotron.in sf_transport.in sf_trig.in sf_zeta.in\
permutation.in multifit_nlin.in linalg.in stats.in \
- randist.in rng.in
+ randist.in rng.in qrng.in
BUILT_SOURCES = physical.c basics.c complexes.c sf_airy.c sf_bessel.c \
sf_clausen.c poly_roots.c sf_coulomb.c sf_coupling.c \
sf_dawson.c sf_debye.c sf_dilog.c sf_ellint.c \
@@ -27,9 +27,9 @@
sf_fermi_dirac.c sf_gamma.c sf_gegenbauer.c \
sf_hyperg.c sf_laguerre.c sf_lambert.c sf_legendre.c \
sf_log.c sf_psi.c sf_synchrotron.c sf_transport.c \
sf_trig.c sf_zeta.c permutation.c multifit_nlin.c \
- linalg.c stats.c randist.c rng.c
+ linalg.c stats.c randist.c rng.c qrng.c
EXTRA_DIST = $(GSL_IN_FILES) $(MODULE_DOCS) gsl-proto-gen.pl gslpermut-prototypes.in header.xml
PROTO_FILES_C = gslpermut-prototypes.generated.c
@@ -53,9 +53,9 @@
sf_hyperg.xml sf_laguerre.xml sf_lambert.xml \
sf_legendre.xml sf_log.xml sf_psi.xml sf_synchrotron.xml\
sf_transport.xml sf_trig.xml sf_zeta.xml permutation.xml\
multifit_nlin.xml linalg.xml stats.xml randist.xml \
- rng.xml \
+ rng.xml qrng.xml\
physical.xml
gsl.xml: header.xml $(MODULE_DOCS)
@echo Constructing gsl.xml document file...
Index: STATUS
===================================================================
RCS file: /cvsroot/numexp/numexp-core/modules/gsl/STATUS,v
retrieving revision 1.4
retrieving revision 1.5
diff -U4 -r1.4 -r1.5
--- STATUS 20 Apr 2002 11:58:39 -0000 1.4
+++ STATUS 22 Apr 2002 07:39:38 -0000 1.5
@@ -108,25 +108,25 @@
* QAWS adaptive integration for singular functions
* QAWO adaptive integration for oscillatory functions
* QAWF adaptive integration for Fourier integrals
-* Random Number Generation
+* [TODO:DOCUMENTATION] Random Number Generation
* [DONE] Random number generator initialization
* [DONE] Sampling from a random number generator
* [IGORED] Auxiliary random number generator functions
* [IGORED] Random number environment variables
* [IGORED] Saving and restoring random number generator state
* [DONE] Random number generator algorithms
- * Unix random number generators
- * Numerical Recipes generators
- * Other random number generators
+ * [DONE] Unix random number generators
+ * [DONE] Numerical Recipes generators
+ * [DONE] Other random number generators
-* Quasi-Random Sequences
- * Quasi-random number generator initialization
- * Sampling from a quasi-random number generator
- * Auxiliary quasi-random number generator functions
- * Saving and resorting quasi-random number generator state
- * Quasi-random number generator algorithms
+* [TODO:DOCUMENTATION] Quasi-Random Sequences
+ * [DONE] Quasi-random number generator initialization
+ * [DONE] Sampling from a quasi-random number generator
+ * [IGNORED] Auxiliary quasi-random number generator functions
+ * [IGNORED] Saving and resorting quasi-random number generator state
+ * [DONE] Quasi-random number generator algorithms
* Random Number Distributions
* The Gaussian Distribution
* The Gaussian Tail Distribution
Index: gsl.c
===================================================================
RCS file: /cvsroot/numexp/numexp-core/modules/gsl/gsl.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -U4 -r1.12 -r1.13
--- gsl.c 20 Apr 2002 08:26:20 -0000 1.12
+++ gsl.c 22 Apr 2002 07:39:38 -0000 1.13
@@ -22,8 +22,9 @@
void nxp_gsl_permutation_init(NxpEvalContext*);
void nxp_gsl_linalg_init(NxpEvalContext*);
void nxp_gsl_stats_init(NxpEvalContext*);
void nxp_gsl_rng_init(NxpEvalContext*);
+void nxp_gsl_qrng_init(NxpEvalContext*);
void nxp_module_init(NxpEvalContext *context)
{
gsl_is_on_error = 0;
@@ -38,8 +39,9 @@
nxp_gsl_permutation_init(context);
nxp_gsl_linalg_init(context);
nxp_gsl_stats_init(context);
nxp_gsl_rng_init(context);
+ nxp_gsl_qrng_init(context);
nxp_gsl_physical_init(context);
}
Index: rng.in
===================================================================
RCS file: /cvsroot/numexp/numexp-core/modules/gsl/rng.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -U4 -r1.3 -r1.4
--- rng.in 20 Apr 2002 11:58:39 -0000 1.3
+++ rng.in 22 Apr 2002 07:39:38 -0000 1.4
@@ -120,8 +120,134 @@
change(context, gsl_rng_ranlxs2);
return nxp_element_void_new();
}
+#PROTOTYPE <VOID> rng_rand() WITH NAME init_stdRand
+static NxpElement* nxp_gsl_rng_rand(ETC) {
+ change(context, gsl_rng_rand);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_random_bsd() WITH NAME init_bsdRand
+static NxpElement* nxp_gsl_rng_random_bsd(ETC) {
+ change(context, gsl_rng_random_bsd);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_random_libc5() WITH NAME init_libc5Rand
+static NxpElement* nxp_gsl_rng_random_libc5(ETC) {
+ change(context, gsl_rng_random_libc5);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_random_glibc2() WITH NAME init_glibc2Rand
+static NxpElement* nxp_gsl_rng_random_glibc2(ETC) {
+ change(context, gsl_rng_random_glibc2);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_rand48() WITH NAME init_rand48
+static NxpElement* nxp_gsl_rng_rand48(ETC) {
+ change(context, gsl_rng_rand48);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ran0() WITH NAME init_ran0
+static NxpElement* nxp_gsl_rng_ran0(ETC) {
+ change(context, gsl_rng_ran0);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ran1() WITH NAME init_ran1
+static NxpElement* nxp_gsl_rng_ran1(ETC) {
+ change(context, gsl_rng_ran1);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ran2() WITH NAME init_ran2
+static NxpElement* nxp_gsl_rng_ran2(ETC) {
+ change(context, gsl_rng_ran2);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ran3() WITH NAME init_ran3
+static NxpElement* nxp_gsl_rng_ran3(ETC) {
+ change(context, gsl_rng_ran3);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ranf() WITH NAME init_ranf
+static NxpElement* nxp_gsl_rng_ranf(ETC) {
+ change(context, gsl_rng_ranf);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ranmar() WITH NAME init_ranmar
+static NxpElement* nxp_gsl_rng_ranmar(ETC) {
+ change(context, gsl_rng_ranmar);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_r250() WITH NAME init_r250
+static NxpElement* nxp_gsl_rng_r250(ETC) {
+ change(context, gsl_rng_r250);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_tt800() WITH NAME init_tt800
+static NxpElement* nxp_gsl_rng_tt800(ETC) {
+ change(context, gsl_rng_tt800);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_vax() WITH NAME init_vax
+static NxpElement* nxp_gsl_rng_vax(ETC) {
+ change(context, gsl_rng_vax);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_transputer() WITH NAME init_transputer
+static NxpElement* nxp_gsl_rng_transputer(ETC) {
+ change(context, gsl_rng_transputer);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_randu() WITH NAME init_randu
+static NxpElement* nxp_gsl_rng_randu(ETC) {
+ change(context, gsl_rng_randu);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_minstd() WITH NAME init_minstd
+static NxpElement* nxp_gsl_rng_minstd(ETC) {
+ change(context, gsl_rng_minstd);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_uni() WITH NAME init_uni
+static NxpElement* nxp_gsl_rng_uni(ETC) {
+ change(context, gsl_rng_uni);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_uni32() WITH NAME init_uni32
+static NxpElement* nxp_gsl_rng_uni32(ETC) {
+ change(context, gsl_rng_uni32);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_slatec() WITH NAME init_slatec
+static NxpElement* nxp_gsl_rng_slatec(ETC) {
+ change(context, gsl_rng_slatec);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_zuf() WITH NAME init_zuf
+static NxpElement* nxp_gsl_rng_zuf(ETC) {
+ change(context, gsl_rng_zuf);
+ return nxp_element_void_new();
+}
+
void nxp_gsl_rng_init(NxpEvalContext * context) {
gsl_rng* rng;
NxpIdentifier *id;
Index: rng.xml
===================================================================
RCS file: /cvsroot/numexp/numexp-core/modules/gsl/rng.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -U4 -r1.1 -r1.2
--- rng.xml 9 Apr 2002 06:59:09 -0000 1.1
+++ rng.xml 22 Apr 2002 07:39:38 -0000 1.2
@@ -1,5 +1,5 @@
- <namespace name="::gsl::randomGeneration::">
+ <namespace name="::gsl::RNG::">
<description>
</description>
|
|
From: Alberto M. Brand?o Sim?es <am...@us...> - 2002-04-22 08:08:06
|
Update of /cvsroot/numexp/numexp-core/functions
In directory usw-pr-cvs1:/tmp/cvs-serv19491/functions
Modified Files:
functions.c
Log Message:
- Added error message when chdir'ing to an invalid namespace;
- Unix random number generators;
- Numerical Recipes generators;
- Other random number generators;
- Added qrng.{in,xml} for quasi-random number generators;
- Quasi-random number generation initialization;
- Sampling from a quasi-random number generator;
- Quasi-random number generator algorithms;
Index: functions.c
===================================================================
RCS file: /cvsroot/numexp/numexp-core/functions/functions.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -U4 -r1.28 -r1.29
--- functions.c 15 Apr 2002 07:31:31 -0000 1.28
+++ functions.c 22 Apr 2002 07:39:38 -0000 1.29
@@ -261,8 +261,12 @@
nxp_identifier_resolve(ident, context, &child, &name);
context->cwd = child;
+ /* TODO: check if this can be changed to a GError message or if it
+ * doesn't worth the trouble */
+ if (child == ns) nxp_output_message("Invalid namespace");
+
/* Send message to the childrens */
Numexp_Kernel_to_Client_cwd_change(context);
return nxp_element_void_new();
|
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-20 16:06:55
|
Update of /cvsroot/numexp/gnumexp/src/nxplot
In directory usw-pr-cvs1:/tmp/cvs-serv5352
Modified Files:
nxpcanvas.c nxpcanvas.h
Log Message:
Created new function nxp_canvas_queue_update();
Call nxp_canvas_queue_update() inside nxp_canvas_add_object().
Index: nxpcanvas.c
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/nxplot/nxpcanvas.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -U4 -r1.13 -r1.14
--- nxpcanvas.c 13 Apr 2002 16:09:09 -0000 1.13
+++ nxpcanvas.c 20 Apr 2002 16:06:52 -0000 1.14
@@ -9,8 +9,12 @@
PROP_PLOTTER
};
+#define NXP_CANVAS_OVERLAY_PRIORITY G_PRIORITY_LOW
+#define NXP_CANVAS_UPDATE_PRIORITY (GTK_PRIORITY_RESIZE + 1)
+
+
/* static guint signals[LAST_SIGNAL] = { 0 }; */
static NxpCanvasClass *nxp_canvas_class = NULL;
static gpointer parent_class = NULL;
@@ -132,8 +136,10 @@
GTK_WIDGET_SET_FLAGS(GTK_WIDGET(self), GTK_CAN_FOCUS);
GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(self), GTK_DOUBLE_BUFFERED);
self->root = NULL;
+ self->overlay_idle_id = 0;
+ self->update_idle_id = 0;
}
static void nxp_canvas_class_base_init(NxpCanvasClass *class)
{
@@ -174,11 +180,18 @@
if (self->update_sigid) {
g_signal_handler_disconnect(self->plotter, self->update_sigid);
self->update_sigid = 0;
}
+ /* remove overlay drawing idle function */
if (self->overlay_idle_id)
gtk_idle_remove(self->overlay_idle_id);
self->overlay_idle_id = 0;
+
+ /* remove update idle function */
+ if (self->update_idle_id)
+ gtk_idle_remove(self->update_idle_id);
+ self->update_idle_id = 0;
+
/* delete plotter */
if (self->plotter)
g_object_unref(self->plotter);
self->plotter = NULL;
@@ -218,8 +231,13 @@
g_return_if_fail(NXP_IS_CANVAS(self));
g_return_if_fail(IS_NXPLOT(pl));
g_return_if_fail(pl == self->plotter);
+ /* remove update idle function */
+ if (self->update_idle_id)
+ gtk_idle_remove(self->update_idle_id);
+ self->update_idle_id = 0;
+
/* Make sure all overlays are hidden, carefully so that do not try
to hide themselves (they would only end up drawing
themselves). */
for (l = self->overlays; l; l = l->next) {
@@ -334,8 +352,28 @@
g_slist_length(self->drawable_objects));
}
+static gboolean _nxp_canvas_update_idle_func(NxpCanvas *self)
+{
+ g_return_val_if_fail(NXP_IS_CANVAS(self), FALSE);
+ self->update_idle_id = 0;
+ if (self->plotter)
+ nxp_canvas_update(self->plotter, self);
+ return FALSE;
+}
+
+
+void nxp_canvas_queue_update(NxpCanvas *self)
+{
+ if (!self->update_idle_id)
+ self->update_idle_id =
+ gtk_idle_add_priority(NXP_CANVAS_UPDATE_PRIORITY,
+ (GtkFunction) _nxp_canvas_update_idle_func,
+ self);
+}
+
+
void nxp_canvas_add_object(NxpCanvas *self, NxpCanvasObject *object)
{
g_return_if_fail(NXP_IS_CANVAS(self));
g_return_if_fail(NXP_IS_CANVAS_OBJECT(object));
@@ -348,8 +386,9 @@
if (self->plotter)
nxplot_close(self->plotter);
recompute_drawable_objects_list(self);
+ nxp_canvas_queue_update(self);
}
static gint button_press_event(GtkWidget *widget, GdkEventButton *event)
@@ -547,9 +586,8 @@
g_return_if_fail(self->xor_gc);
nxp_canvas_overlay_draw(overlay, GTK_WIDGET(self)->window, self->xor_gc, 0);
}
-#define NXP_CANVAS_OVERLAY_PRIORITY G_PRIORITY_LOW
void nxp_canvas_queue_draw_overlay(NxpCanvas *self, NxpCanvasOverlay *overlay,
gboolean generate_expose)
{
Index: nxpcanvas.h
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/nxplot/nxpcanvas.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -U4 -r1.9 -r1.10
--- nxpcanvas.h 25 Mar 2002 23:13:30 -0000 1.9
+++ nxpcanvas.h 20 Apr 2002 16:06:52 -0000 1.10
@@ -40,8 +40,9 @@
GSList *overlays;
GdkGC *xor_gc;
gulong update_sigid;
guint overlay_idle_id;
+ guint update_idle_id;
GdkCursor *current_cursor;
};
@@ -67,16 +68,18 @@
double y2);
void nxp_canvas_add_object (NxpCanvas *self,
NxpCanvasObject *object);
+
/* overlay management */
void nxp_canvas_add_overlay (NxpCanvas *self,
NxpCanvasOverlay *overlay);
void nxp_canvas_remove_overlay (NxpCanvas *self,
NxpCanvasOverlay *overlay);
void nxp_canvas_draw_overlay (NxpCanvas *self,
NxpCanvasOverlay *overlay);
+
/* */
void nxp_canvas_redraw_area (NxpCanvas *self,
NxplotRect *area);
void nxp_canvas_set_cursor (NxpCanvas *self,
@@ -84,8 +87,9 @@
void nxp_canvas_get_pointer (NxpCanvas *self,
gint *x,
gint *y,
GdkModifierType *state);
+void nxp_canvas_queue_update (NxpCanvas *self);
|
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-20 16:06:55
|
Update of /cvsroot/numexp/gnumexp/src/nxplot/python
In directory usw-pr-cvs1:/tmp/cvs-serv5352/python
Modified Files:
nxplot.defs
Log Message:
Created new function nxp_canvas_queue_update();
Call nxp_canvas_queue_update() inside nxp_canvas_add_object().
Index: nxplot.defs
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/nxplot/python/nxplot.defs,v
retrieving revision 1.6
retrieving revision 1.7
diff -U4 -r1.6 -r1.7
--- nxplot.defs 13 Apr 2002 16:10:11 -0000 1.6
+++ nxplot.defs 20 Apr 2002 16:06:52 -0000 1.7
@@ -410,8 +410,13 @@
(return-type "none")
(parameters
'("NxplotRect*" "area")))
+(define-method queue_update
+ (of-object "NxpCanvas")
+ (c-name "nxp_canvas_queue_update")
+ (return-type "none"))
+
;; *** NxpCanvasObject's methods ***
(define-method _set_visible
|
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-20 15:59:44
|
Update of /cvsroot/numexp/gnumexp/src/xygraph
In directory usw-pr-cvs1:/tmp/cvs-serv3410
Modified Files:
Bonobo_Sample_Hello.xml Makefile.am Numexp_XYGraph-ui.xml
Added Files:
numexp-xygraph.in
Removed Files:
numexp-xygraph
Log Message:
Some UI-related fixes.
--- NEW FILE ---
#! /usr/bin/env python
import bonobo.activation
import bonobo
import bonobo.ui, Bonobo, Numexp
from Numexp_XYGraph import *
EXECUTABLE_NAME = 'numexp-xygraph'
VERSION = '0.0.1'
FACTORY_IID = 'OAFIID:Numexp_XYGraphFactory'
CONTROL_IID = 'OAFIID:Numexp_XYGraph'
UIDIR = '@prefix@/share/gnome-2.0/ui/'
def create_function(generic_factory, iid):
print "create_function: iid=" + iid + "\n\n"
if iid == CONTROL_IID:
xy = XYGraphControl()
return xy
## At the time of this writing, the bonobo python bindings were
## incomplete, so this didn't work.
#bonobo.bonobo_generic_factory_main(FACTORY_IID, create_function)
factory = bonobo.GenericFactory(FACTORY_IID, create_function)
bonobo.running_context_auto_exit_unref(factory)
class XYGraphControl(bonobo.ui.Control):
def __init__(self):
self.xygraph = xygraph = XYGraphView()
lineattr = LineAttr(color=Color(0, 0, 0), thickness=.2, mode=Linemode.SOLID)
func = Function(lineattr, "Test function", "sin(x)+4", 'x')
func2 = Function(lineattr, "Test function", "cos(x)+4", 'x')
xygraph.plot_area.add_plot_object(func)
xygraph.plot_area.add_plot_object(func2)
bonobo.ui.Control.__init__(self, xygraph.get_toplevel_widget())
self.connect('set-frame', self.sample_merge_bonobo_items_cb)
#self.sample_merge_bonobo_items_cb(self, None)
def sample_merge_bonobo_items_cb(self, foo):
self.set_automerge(1)
ui_component = bonobo.ui.Component('xygraph')
ui_component.set_container(self.get_remote_ui_container())
bonobo.ui.util_set_ui(ui_component, '',
UIDIR + '/Numexp_XYGraph-ui.xml',
'numexp-xygraph')
self.set_ui_component(ui_component)
verbs = [ ('AddObject', self.add_object_callback) ]
ui_component.add_verb_list(verbs)
def add_object_callback(self, *args):
# TODO: this is would be where an AddObject dialog would popup
lineattr = LineAttr(color=Color(0, 0, 0), thickness=.2, mode=Linemode.SOLID)
func = Function(lineattr, "Test function", "sin(x)^2+4", 'x')
self.xygraph.plot_area.add_plot_object(func)
bonobo.main()
Index: Bonobo_Sample_Hello.xml
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/xygraph/Bonobo_Sample_Hello.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -U4 -r1.1 -r1.2
--- Bonobo_Sample_Hello.xml 14 Apr 2002 17:36:33 -0000 1.1
+++ Bonobo_Sample_Hello.xml 20 Apr 2002 15:59:23 -0000 1.2
@@ -47,8 +47,11 @@
<submenu name="Help" stockid="gtk-help">
<menuitem name="HelpAbout" verb=""/>
</submenu>
+
+ <placeholder/>
+
</menu>
<dockitem name="Toolbar" relief="none" homogeneous="1"
behavior="exclusive" look="text">
Index: Makefile.am
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/xygraph/Makefile.am,v
retrieving revision 1.4
retrieving revision 1.5
diff -U4 -r1.4 -r1.5
--- Makefile.am 7 Apr 2002 16:50:42 -0000 1.4
+++ Makefile.am 20 Apr 2002 15:59:23 -0000 1.5
@@ -1,15 +1,28 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = nxpruler Numexp_XYGraph
+CLEANFILES=
+
serverdir = $(libdir)/bonobo/servers
server_DATA = Numexp_XYGraph.server
idldir = $(datadir)/idl
idl_DATA = Numexp_XYGraph.idl
+
+uidir = $(datadir)/gnome-2.0/ui/
+ui_DATA = Numexp_XYGraph-ui.xml
+
+script_dot_in=numexp-xygraph
+
+$(script_dot_in): $(script_dot_in).in
+ sed -e "s|\@prefix\@|$(prefix)|" $< > $@
+
bin_SCRIPTS = numexp-xygraph
+CLEANFILES += numexp-xygraph
+
-EXTRA_DIST = $(server_DATA) $(idl_DATA)
+EXTRA_DIST = $(server_DATA) $(idl_DATA) $(script_dot_in) $(ui_DATA)
Index: Numexp_XYGraph-ui.xml
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/xygraph/Numexp_XYGraph-ui.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -U4 -r1.1 -r1.2
--- Numexp_XYGraph-ui.xml 15 Apr 2002 20:49:49 -0000 1.1
+++ Numexp_XYGraph-ui.xml 20 Apr 2002 15:59:23 -0000 1.2
@@ -6,9 +6,8 @@
<menu>
<submenu name="XYGraph" label="_XYGraph">
<menuitem name="AddObject" verb=""/>
</submenu>
-
</menu>
<dockitem name="Toolbar">
<toolitem name="AddObject" verb=""/>
--- numexp-xygraph DELETED ---
|
|
From: Alberto M. Brand?o Sim?es <am...@us...> - 2002-04-20 11:58:43
|
Update of /cvsroot/numexp/numexp-core/modules/gsl
In directory usw-pr-cvs1:/tmp/cvs-serv32616/modules/gsl
Modified Files:
STATUS rng.in
Log Message:
Random number generation initializers;
Random number generation for uniform distributions;
Index: STATUS
===================================================================
RCS file: /cvsroot/numexp/numexp-core/modules/gsl/STATUS,v
retrieving revision 1.3
retrieving revision 1.4
diff -U4 -r1.3 -r1.4
--- STATUS 9 Apr 2002 06:59:09 -0000 1.3
+++ STATUS 20 Apr 2002 11:58:39 -0000 1.4
@@ -109,14 +109,14 @@
* QAWO adaptive integration for oscillatory functions
* QAWF adaptive integration for Fourier integrals
* Random Number Generation
- * Random number generator initialization
- * Sampling from a random number generator
- * Auxiliary random number generator functions
- * Random number environment variables
- * Saving and restoring random number generator state
- * Random number generator algorithms
+ * [DONE] Random number generator initialization
+ * [DONE] Sampling from a random number generator
+ * [IGORED] Auxiliary random number generator functions
+ * [IGORED] Random number environment variables
+ * [IGORED] Saving and restoring random number generator state
+ * [DONE] Random number generator algorithms
* Unix random number generators
* Numerical Recipes generators
* Other random number generators
Index: rng.in
===================================================================
RCS file: /cvsroot/numexp/numexp-core/modules/gsl/rng.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -U4 -r1.2 -r1.3
--- rng.in 20 Apr 2002 08:26:20 -0000 1.2
+++ rng.in 20 Apr 2002 11:58:39 -0000 1.3
@@ -3,14 +3,123 @@
#include <time.h>
#include "nxp_kernel.h"
#include "gsl.h"
-#NAMESPACE gsl::randomGeneration
+#NAMESPACE gsl::RNG
#PROTOTYPE <REAL> rng_get() WITH NAME rand
static NxpElement* nxp_gsl_rng_get(ETC) {
gsl_rng *rng = nxp_eval_context_get_user_data(context, "RNG");
NxpElement *el = nxp_element_real_new(gsl_rng_get(rng));
GSL_RETURN(el);
+}
+
+#PROTOTYPE <VOID> rng_set(<INT>) WITH NAME seed
+static NxpElement* nxp_gsl_rng_set(NxpElementInt* seed, ETC) {
+ gsl_rng *rng = nxp_eval_context_get_user_data(context, "RNG");
+ gsl_rng_set(rng, seed->value);
+ GSL_RETURN(nxp_element_void_new());
+}
+
+#PROTOTYPE <REAL> rng_uniform() WITH NAME uniformRand
+static NxpElement* nxp_gsl_rng_uniform(ETC) {
+ gsl_rng *rng = nxp_eval_context_get_user_data(context, "RNG");
+ NxpElement *el = nxp_element_real_new(gsl_rng_uniform(rng));
+ GSL_RETURN(el);
+}
+
+#PROTOTYPE <REAL> rng_uniform_int(<INT>) WITH NAME uniformRand
+static NxpElement* nxp_gsl_rng_uniform_int(NxpElementInt* seed, ETC) {
+ gsl_rng *rng = nxp_eval_context_get_user_data(context, "RNG");
+ NxpElement *el = nxp_element_real_new(gsl_rng_uniform_int(rng,seed->value));
+ GSL_RETURN(el);
+}
+
+#PROTOTYPE <STRING> rng_name() WITH NAME current
+static NxpElement* nxp_gsl_rng_name(ETC) {
+ gsl_rng *rng = nxp_eval_context_get_user_data(context, "RNG");
+ NxpElement *el = nxp_element_string_new(gsl_rng_name(rng));
+ GSL_RETURN(el);
+}
+
+static void change(NxpEvalContext* context, const gsl_rng_type *T) {
+ gsl_rng *rng = nxp_eval_context_get_user_data(context, "RNG");
+ gsl_rng_free(rng);
+ rng = gsl_rng_alloc(T);
+ nxp_eval_context_set_user_data(context, "RNG", rng);
+
+
+}
+
+#PROTOTYPE <VOID> rng_mt19937() WITH NAME init_mt19937
+static NxpElement* nxp_gsl_rng_mt19937(ETC) {
+ change(context, gsl_rng_mt19937);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_taus() WITH NAME init_taus
+static NxpElement* nxp_gsl_rng_taus(ETC) {
+ change(context, gsl_rng_taus);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_mrg() WITH NAME init_mrg
+static NxpElement* nxp_gsl_rng_mrg(ETC) {
+ change(context, gsl_rng_mrg);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_cmrg() WITH NAME init_cmrg
+static NxpElement* nxp_gsl_rng_cmrg(ETC) {
+ change(context, gsl_rng_cmrg);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_gfsr4() WITH NAME init_gfsr4
+static NxpElement* nxp_gsl_rng_gfsr4(ETC) {
+ change(context, gsl_rng_gfsr4);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ranlux() WITH NAME init_ranlux
+static NxpElement* nxp_gsl_rng_ranlux(ETC) {
+ change(context, gsl_rng_ranlux);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ranlux389() WITH NAME init_ranlux389
+static NxpElement* nxp_gsl_rng_ranlux389(ETC) {
+ change(context, gsl_rng_ranlux389);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ranlxd1() WITH NAME init_ranlxd1
+static NxpElement* nxp_gsl_rng_ranlxd1(ETC) {
+ change(context, gsl_rng_ranlxd1);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ranlxd2() WITH NAME init_ranlxd2
+static NxpElement* nxp_gsl_rng_ranlxd2(ETC) {
+ change(context, gsl_rng_ranlxd2);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ranlxs0() WITH NAME init_ranlxs0
+static NxpElement* nxp_gsl_rng_ranlxs0(ETC) {
+ change(context, gsl_rng_ranlxs0);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ranlxs1() WITH NAME init_ranlxs1
+static NxpElement* nxp_gsl_rng_ranlxs1(ETC) {
+ change(context, gsl_rng_ranlxs1);
+ return nxp_element_void_new();
+}
+
+#PROTOTYPE <VOID> rng_ranlxs2() WITH NAME init_ranlxs2
+static NxpElement* nxp_gsl_rng_ranlxs2(ETC) {
+ change(context, gsl_rng_ranlxs2);
+ return nxp_element_void_new();
}
void nxp_gsl_rng_init(NxpEvalContext * context) {
gsl_rng* rng;
|
|
From: Alberto M. Brand?o Sim?es <am...@us...> - 2002-04-20 08:26:23
|
Update of /cvsroot/numexp/numexp-core/modules/gsl
In directory usw-pr-cvs1:/tmp/cvs-serv13060/modules/gsl
Modified Files:
gsl-proto-gen.pl gsl.c rng.in
Log Message:
- Added context information about the random number distribution;
- Corrected gsl-generation script to use VOID definitions;
Index: gsl-proto-gen.pl
===================================================================
RCS file: /cvsroot/numexp/numexp-core/modules/gsl/gsl-proto-gen.pl,v
retrieving revision 1.9
retrieving revision 1.10
diff -U4 -r1.9 -r1.10
--- gsl-proto-gen.pl 7 Mar 2002 17:06:30 -0000 1.9
+++ gsl-proto-gen.pl 20 Apr 2002 08:26:20 -0000 1.10
@@ -39,17 +39,17 @@
} elsif (/^#(FUNCTION|PROTOTYPE)\s+/) {
my $type = $1;
my $def = $';
### def --> <TYPE> func(<TYPE>,<TYPE>...)
- $def =~ m!<([^>]+)\>\s+(\[[a-zA-Z_]*\])?([a-zA-Z_][a-zA-Z0-9_]*)\(([^)]+)\)\s+(?:WITH\s+)?NAME\s+([a-zA-Z_][a-zA-Z0-9_]*)!;
+ $def =~ m!<([^>]+)\>\s+(\[[a-zA-Z_]*\])?([a-zA-Z_][a-zA-Z0-9_]*)\(([^)]*)\)\s+(?:WITH\s+)?NAME\s+([a-zA-Z_][a-zA-Z0-9_]*)!;
my ($return_type, $function_name, $arguments, $numexp_name) = ($1,$3,$4,$5);
my $gsl;
if (defined($2)) {
my $x = $2;
$x =~ /\[(.*)\]/;
$gsl = $1;
}
- if (!$return_type || !$function_name || !$arguments || !$numexp_name) {
+ if (!$return_type || !$function_name || !$numexp_name) {
print OUTPUT "/* --- error: $_ */";
#print STDERR ">>cannot parse '$_'\n";
#print STDERR ">>>returns(?) $return_type\n";
#print STDERR ">>>function(?) $function_name\n";
@@ -78,11 +78,11 @@
if ($current_namespace) {
if ($current_namespace =~ /::/) {
my @levels = split/::/,$current_namespace;
my $txt = (scalar(@levels)+1).",".join(",",map{"\"$_\""}@levels);
- push @prototypes, "id = nxp_identifier_new_with_full_path($txt, \"$numexp_name\");\n nxp_bifunc_define(id, &$ppp". join("_", map {m!^<U?(.*)>$!; $1 } grep { /^</ } @args).", nxp_gsl_$function_name, NULL, NULL, context, NULL); nxp_identifier_unref(id);\n";
+ push @prototypes, "id = nxp_identifier_new_with_full_path($txt, \"$numexp_name\");\n nxp_bifunc_define(id, &$ppp". join("_", (@args)?(map {m!^<U?(.*)>$!; $1 } grep { /^</ } @args):"VOID").", nxp_gsl_$function_name, NULL, NULL, context, NULL); nxp_identifier_unref(id);\n";
} else {
- push @prototypes, "id = NXP_ID_2(\"$current_namespace\", \"$numexp_name\");\n nxp_bifunc_define(id, &$ppp". join("_", map {m!^<U?(.*)>$!; $1 } grep { /^</ } @args).", nxp_gsl_$function_name, NULL, NULL, context, NULL); nxp_identifier_unref(id);\n";
+ push @prototypes, "id = NXP_ID_2(\"$current_namespace\", \"$numexp_name\");\n nxp_bifunc_define(id, &$ppp". join("_", (@args)?(map {m!^<U?(.*)>$!; $1 } grep { /^</ } @args):"VOID").", nxp_gsl_$function_name, NULL, NULL, context, NULL); nxp_identifier_unref(id);\n";
}
} else {
push @prototypes, "nxp_bifunc_define_global(\"$numexp_name\", &$ppp".
join("_", map { m!^<(.*)>$!; $1 } grep { /^</ } @args).
Index: gsl.c
===================================================================
RCS file: /cvsroot/numexp/numexp-core/modules/gsl/gsl.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -U4 -r1.11 -r1.12
--- gsl.c 5 Apr 2002 07:28:48 -0000 1.11
+++ gsl.c 20 Apr 2002 08:26:20 -0000 1.12
@@ -21,8 +21,9 @@
void nxp_gsl_complexes_init(NxpEvalContext*);
void nxp_gsl_permutation_init(NxpEvalContext*);
void nxp_gsl_linalg_init(NxpEvalContext*);
void nxp_gsl_stats_init(NxpEvalContext*);
+void nxp_gsl_rng_init(NxpEvalContext*);
void nxp_module_init(NxpEvalContext *context)
{
gsl_is_on_error = 0;
@@ -36,8 +37,9 @@
nxp_gsl_sf_init(context);
nxp_gsl_permutation_init(context);
nxp_gsl_linalg_init(context);
nxp_gsl_stats_init(context);
+ nxp_gsl_rng_init(context);
nxp_gsl_physical_init(context);
}
Index: rng.in
===================================================================
RCS file: /cvsroot/numexp/numexp-core/modules/gsl/rng.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -U4 -r1.1 -r1.2
--- rng.in 9 Apr 2002 06:59:09 -0000 1.1
+++ rng.in 20 Apr 2002 08:26:20 -0000 1.2
@@ -1,11 +1,25 @@
/* -*- c -*- */
-#include <gsl/gsl_randist.h>
+#include <gsl/gsl_rng.h>
+#include <time.h>
#include "nxp_kernel.h"
#include "gsl.h"
#NAMESPACE gsl::randomGeneration
+#PROTOTYPE <REAL> rng_get() WITH NAME rand
+static NxpElement* nxp_gsl_rng_get(ETC) {
+ gsl_rng *rng = nxp_eval_context_get_user_data(context, "RNG");
+ NxpElement *el = nxp_element_real_new(gsl_rng_get(rng));
+ GSL_RETURN(el);
+}
void nxp_gsl_rng_init(NxpEvalContext * context) {
-// NxpIdentifier *id;
+ gsl_rng* rng;
+ NxpIdentifier *id;
+
+ /* By default, a gsl_rng_taus (at least, at the moment) */
+ rng = gsl_rng_alloc(gsl_rng_taus);
+ gsl_rng_set(rng, time(NULL));
+ nxp_eval_context_set_user_data(context, "RNG", rng);
+
#PROTOTYPES
}
|
|
From: Alberto M. Brand?o Sim?es <am...@us...> - 2002-04-20 08:26:23
|
Update of /cvsroot/numexp/numexp-core In directory usw-pr-cvs1:/tmp/cvs-serv13060 Modified Files: configure.in Log Message: - Added context information about the random number distribution; - Corrected gsl-generation script to use VOID definitions; Index: configure.in =================================================================== RCS file: /cvsroot/numexp/numexp-core/configure.in,v retrieving revision 1.54 retrieving revision 1.55 diff -U4 -r1.54 -r1.55 --- configure.in 8 Apr 2002 23:27:10 -0000 1.54 +++ configure.in 20 Apr 2002 08:26:20 -0000 1.55 @@ -262,8 +262,9 @@ AC_HEADER_STDC AC_CHECK_HEADERS(complex.h) +AC_CHECK_HEADERS(time.h) AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ]) if test "x$with_html_dir" = "x" ; then @@ -272,9 +273,9 @@ HTML_DIR=$with_html_dir fi dnl Checks for library functions. -AC_CHECK_FUNCS(strdup strerror asprintf strtod) +AC_CHECK_FUNCS(strdup strerror asprintf strtod time) dnl ************************************************* dnl * gsl stuff * |
|
From: Alberto M. Brand?o Sim?es <am...@us...> - 2002-04-16 09:49:13
|
Update of /cvsroot/numexp/web-page
In directory usw-pr-cvs1:/tmp/cvs-serv579
Modified Files:
clients clients.xml docs latests.xml makefile
Log Message:
Some scripts enhancements;
Added publish option to makefile (not yet tested)
Index: clients
===================================================================
RCS file: /cvsroot/numexp/web-page/clients,v
retrieving revision 1.3
retrieving revision 1.4
diff -U4 -r1.3 -r1.4
--- clients 3 Jan 2002 08:34:53 -0000 1.3
+++ clients 16 Apr 2002 09:49:08 -0000 1.4
@@ -5,14 +5,17 @@
if (defined($makall)) {
my $template = shift;
my $clients = "clients.xml";
- my $data = {};
+ my $data;
my $i = 0;
+
dt($clients, (
'clients' => sub{ },
'description' => sub{ $data->{description} = $c; },
- 'shot' => sub{ $data->{shot}.="<img align='center' src='$c'>" },
+ 'shot' => sub{
+ $data->{shot}.="<img align='center' src='$v{file}'><br>$c<br><br>";
+ },
'manager' => sub {
if ($v{email}) {
$data->{manager} = "<a href='mailto:$v{email}'>$c</a>";
} else {
@@ -22,17 +25,23 @@
'client' => sub{
$i++;
my $name = $v{name};
open HTML, ">htdocs/client$i.html" or die "cannot open file: $!";
- print HTML dt($template, (
- '-default' => sub{ toxml },
- 'name' => sub{ $name },
- # Not beautifull, but works
- 'nospace' => sub{ " " },
- 'description' => sub{ $data->{description} },
- 'manager' => sub{ $data->{manager} },
- 'shot' => sub{ $data->{shot} },
- ));
+ print HTML dt($template,
+ (
+ '-default' => sub{ toxml },
+ 'name' => sub{ $name },
+ # Not beautifull, but works
+ 'nospace' => sub{ " " },
+ 'description' => sub{ $data->{description} },
+ 'manager' => sub{ $data->{manager} },
+ 'shot' => sub{
+ if ($data->{shot}) {
+ "<div align='left'><b>Screenshots</b></div><br>".$data->{shot}
+ } else {
+ ""
+ }},
+ ));
close HTML;
$data = {};
},
));
Index: clients.xml
===================================================================
RCS file: /cvsroot/numexp/web-page/clients.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -U4 -r1.6 -r1.7
--- clients.xml 14 Apr 2002 17:51:14 -0000 1.6
+++ clients.xml 16 Apr 2002 09:49:08 -0000 1.7
@@ -5,12 +5,12 @@
for more details.</description>
<manager>NumExp Team</manager>
</client>
- <client name="gnumexp">
+ <client name="Gnumexp">
<description>
-<p><b>gnumexp</b> is a gui frontend (or client, if you prefer) to the numexp
+<p><b>Gnumexp</b> is a gui frontend (or client, if you prefer) to the numexp
kernel (corba server). It has the same abilities as numexp-client, and
some extra features that only a gui can provide, such as:
<ul>
@@ -21,10 +21,10 @@
<li> plotting (not yet implemented);</li>
<li>etc.</li></ul></p>
</description>
- <shot>gnumexp.png</shot>
- <shot>xygraph2-shot1.png</shot>
+ <shot file="gnumexp.png">Gnumexp console.</shot>
+ <shot file="xygraph2-shot1.png">Gnumexp canvas drawing sine and cosine.</shot>
<manager email="gu...@us...">Gustavo Carneiro</manager>
</client>
<client name="nxperl-corba">
Index: docs
===================================================================
RCS file: /cvsroot/numexp/web-page/docs,v
retrieving revision 1.7
retrieving revision 1.8
diff -U4 -r1.7 -r1.8
--- docs 16 Jan 2002 08:25:59 -0000 1.7
+++ docs 16 Apr 2002 09:49:08 -0000 1.8
@@ -26,9 +26,8 @@
my $file = shift;
print <<"EOT";
<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "mathml.dtd">
EOT
print dt($file, ( '-default' => sub{toxml},
math => sub {
@@ -100,10 +99,15 @@
return $a;
},
module => sub {
$a = <<"EOT";
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "mathml.dtd">
+<?xml version="1.0"?>
+<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+ "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"
+[
+ <!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="../main.css" rel="stylesheet" type="text/css"/>
</head>
Index: latests.xml
===================================================================
RCS file: /cvsroot/numexp/web-page/latests.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -U4 -r1.5 -r1.6
--- latests.xml 3 Jan 2002 08:34:53 -0000 1.5
+++ latests.xml 16 Apr 2002 09:49:08 -0000 1.6
@@ -1,5 +1,19 @@
<news>
+ <new date="20020402">
+ <title>numexp-core 0.1 second beta</title>
+ <url>gz/numexp-core-0.1-beta-2.tar.gz</url>
+ <desc>Latest beta had many problems configuring. In this version.
+ we corrected that problems, and introduced some news, like
+ the online help system.</desc>
+ </new>
+
+ <new date="20020318">
+ <title>numexp-core 0.1 first beta</title>
+ <url>gz/numexp-core-0.1-beta-1.tar.gz</url>
+ <desc>Gnome 2 is becoming more stable, as well as numexp-core</desc>
+ </new>
+
<new date="20011227">
<title>numexp-core 0.1 second alpha</title>
<url>gz/numexp-core-0.1-alpha-2.tar.gz</url>
<desc>Some more code lines, some solved bugs, some bugs added! Soon
Index: makefile
===================================================================
RCS file: /cvsroot/numexp/web-page/makefile,v
retrieving revision 1.6
retrieving revision 1.7
diff -U4 -r1.6 -r1.7
--- makefile 23 Jan 2002 09:37:54 -0000 1.6
+++ makefile 16 Apr 2002 09:49:08 -0000 1.7
@@ -43,5 +43,9 @@
web_tgz: page
@ echo "- Creating tar.gz file"
@ tar zcvf nxp-web-page-`date +%Y%m%d`.tar.gz htdocs
+publish: page
+ @ echo "- Using '$(USER)' for scp."
+ @ scp -r htdocs $(USER)@shell1.sourceforge.net:/home/groups/n/nu/numexp
+
|
|
From: Alberto M. Brand?o Sim?es <am...@us...> - 2002-04-16 09:49:13
|
Update of /cvsroot/numexp/web-page/htmls
In directory usw-pr-cvs1:/tmp/cvs-serv579/htmls
Modified Files:
download.html syntax.html test.xml
Log Message:
Some scripts enhancements;
Added publish option to makefile (not yet tested)
Index: download.html
===================================================================
RCS file: /cvsroot/numexp/web-page/htmls/download.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -U4 -r1.7 -r1.8
--- download.html 16 Jan 2002 08:25:59 -0000 1.7
+++ download.html 16 Apr 2002 09:49:08 -0000 1.8
@@ -14,11 +14,17 @@
<img src="tr.png"></img>
</td></tr>
<tr><td colspan="3">
<table width="100%" cellspacing="5"><tr><td align="right">
+<b>Beta Versions</b><br/>
+<small>[<a href="gz/numexp-core-0.1-beta-2.tar.bz">bz2</a>]</small>
+<a href="gz/numexp-core-0.1-beta-2.tar.gz">numexp-core-0.1-beta-2</a> <small>(2002.03.18) </small>
+<br/>
+<a href="gz/numexp-core-0.1-beta-1.tar.gz">numexp-core-0.1-beta-1</a> <small>(2002.03.18)</small>
+<br/><br/>
<b>Alpha Versions</b><br/>
<a href="gz/numexp-core-0.1-alpha-3.tar.gz">numexp-core-0.1-alpha-3</a> <small>(2002.01.16)</small>
-<br>
+<br/>
<a href="gz/numexp-core-0.1-alpha-2.tar.gz">numexp-core-0.1-alpha-2</a> <small>(2001.12.27)</small>
<br/><br/>
<b>Snap Shots</b><br/>
<a href="gz/numexp-core-0.1-snap-shot-20020103.tar.gz">numexp-core snapshot</a> <small>(2002.01.03)</small>
@@ -42,12 +48,20 @@
<ul>
<li>
<b>Gnome 2</b> packages can be downloaded from <a
href="http://developer.gnome.org">gnome cvs</a>;</li>
+ <li>Some <b>Perl</b> modules are needed to construct dbfile online help cache:<ul>
+ <li><b>XML::Parser</b> and <b>XML::DT</b>: These can be downloaded, as
+ any module from the <a href="http://www.cpan.org">CPAN</a>. <b>XML::Parser</b>
+ needs <b>expat</b>. You can download it from the James Clark <a href="http://www.jclark.com">page</a>
+ or download the open-source version from <a href="http://expat.sourceforge.net">sourceforge</a>.</li>
+ <li><b>DB_File</b> module. It can be downloaded from <a href="http://www.cpan.org">CPAN</a>, too!
+ This module should be compiled with <b>db-3</b> version.</li></ul>
+ </li>
<li><b>GSL</b> library for numexp module;</li><!-- TODO: add a URL -->
<li><b>GMP</b> library for numexp multi-precision module can be downloaded from
- the <b>gnu</b> software <a href="ftp://ftp.gnu.org">ftp</a> and mirrors;</li>
- <!-- TODO: this url can be more direct... -->
+ the <b>gnu</b> software <a href="ftp://ftp.gnu.org/pub/gmp">ftp</a> and mirrors;</li>
+ <!-- TODO: this url can be more direct?... -->
</ul></p>
</td>
</tr>
Index: syntax.html
===================================================================
RCS file: /cvsroot/numexp/web-page/htmls/syntax.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -U4 -r1.1 -r1.2
--- syntax.html 3 Jan 2002 08:34:53 -0000 1.1
+++ syntax.html 16 Apr 2002 09:49:08 -0000 1.2
@@ -5,10 +5,58 @@
<body bgcolor="#ffffff">
<h3>Numexp Language Syntax</h3>
- <p>This documentation page presents the grammar for NumExp language. (well... will present soon!)</p>
+ <h4>Data types</h4>
+
+ <p>While Numexp language data types can be defined using modules, there are some built-in. These,
+ store basic mathmatical data as numbers, vectors and matrices. While there are types, the
+ language is lazy regarding types. In some places, you need some specific type but you cannot
+ declare a variable as containing a specific data type. This means that data types are inducted
+ from the syntax you use to define the variable, as we will see shortly.</p>
+
+ <b>Integers</b>
+
+ <p>Numexp integers are parsed as a sequence of digits with an optional sign. This means that
+ <i>1</i>, <i>-1000</i> or <i>+30</i> are integers. Meanwhile, <i>1.0</i> is parsed as a real
+ value.</p>
+
+ <p>Without using any module, this data type size depends on the machine architecture.</p>
+
+ <b>Reals</b>
+
+ <p>Real numbers can be written in any standard way, like <i>0.000</i>, <i>+30.0e20</i> or
+ <i>-3.40134</i>. In the same way as integers, <i>4</i> is not a real number, but as
+ Numexp contains a typecast policy, functions which work only with real numbers will
+ work in the same way with integers.</p>
+
+ <p>Without using any module, this data type size depends on the machine architecture.</p>
+
+ <b>Complexes</b>
+
+ <p>Not all builds of NumExp support complex numbers. These are handled by <i>libc</i> which
+ means it needs to support them. This means that the data type size depends on the
+ machine architecture, too!</p>
+
+ <p>If you have complex numbers, they are typed as we are used to, using the real and the
+ imaginary part. The imaginary symbol can be represented by <i>i</i> or <i>j</i>. By
+ default, answers will be shown using the <i>j</i> imaginary symbol. These are examples
+ for complex numbers: <i>3+i</i>, <i>j</i>, <i>-3-2i</i>.</p>
+
+ <b>Strings</b>
+
+ <p>Numexp supports strings, too! These are typed within double quotes. They can contain
+ any type of characters, and support special characters (like the double quote) escaping
+ them (backslashing them).</p>
+
+ <p>Examples: <i>"This is a string"</i> and <i>"This string contains \"quotes\""</i></p>
+
+ <b>Vectors</b>
+
+ <b>Matrices</b>
+
+ <h4>Operators</h4>
<div align="right"><font color="#aaaaaa" size="-1">© NumExp Team</font></div>
</body>
-</html>
\ No newline at end of file
+</html>
Index: test.xml
===================================================================
RCS file: /cvsroot/numexp/web-page/htmls/test.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -U4 -r1.1 -r1.2
--- test.xml 3 Jan 2002 08:34:53 -0000 1.1
+++ test.xml 16 Apr 2002 09:49:08 -0000 1.2
@@ -1,6 +1,11 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "mathml.dtd">
+<?xml version="1.0"?>
+<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+ "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"
+[
+ <!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="main.css" rel="stylesheet" type="text/css"/>
</head>
|
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-15 20:49:54
|
Update of /cvsroot/numexp/gnumexp/src/xygraph
In directory usw-pr-cvs1:/tmp/cvs-serv15365
Modified Files:
hello.py numexp-xygraph
Added Files:
Numexp_XYGraph-ui.xml
Log Message:
The xygraph component now provides its own UI items that are merged in the
container's main window.
--- NEW FILE ---
<Root>
<commands>
<cmd name="AddObject" stockid="gtk-new" label="Add object" />
</commands>
<menu>
<submenu name="XYGraph" label="_XYGraph">
<menuitem name="AddObject" verb=""/>
</submenu>
</menu>
<dockitem name="Toolbar">
<toolitem name="AddObject" verb=""/>
<placeholder/>
</dockitem>
</Root>
Index: hello.py
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/xygraph/hello.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -U4 -r1.1 -r1.2
--- hello.py 14 Apr 2002 17:36:33 -0000 1.1
+++ hello.py 15 Apr 2002 20:49:49 -0000 1.2
@@ -15,8 +15,9 @@
import sys
import bonobo
import bonobo.ui
+import Bonobo
import gtk
HELLO_UI_XML = "Bonobo_Sample_Hello.xml"
@@ -136,11 +137,11 @@
#frame.add (button)
frame.add(wid)
win.set_contents (frame)
-
+
win.connect ('delete_event', delete_event_cb)
-
+
app_list.append (win)
return win
Index: numexp-xygraph
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/xygraph/numexp-xygraph,v
retrieving revision 1.2
retrieving revision 1.3
diff -U4 -r1.2 -r1.3
--- numexp-xygraph 14 Apr 2002 17:34:03 -0000 1.2
+++ numexp-xygraph 15 Apr 2002 20:49:49 -0000 1.3
@@ -19,13 +19,27 @@
func2 = Function(lineattr, "Test function", "cos(x)+4", 'x')
xygraph.plot_area.add_plot_object(func)
xygraph.plot_area.add_plot_object(func2)
bonobo.ui.Control.__init__(self, xygraph.get_toplevel_widget())
- self.connect('activate', self.sample_merge_bonobo_items_cb)
-
+ self.connect('set-frame', self.sample_merge_bonobo_items_cb)
+ #self.sample_merge_bonobo_items_cb(self, None)
- def sample_merge_bonobo_items_cb(self, control, state):
- print sample_merge_bonobo_items_cb
+ def sample_merge_bonobo_items_cb(self, foo):
+
+ self.set_automerge(1)
+ ui_component = bonobo.ui.Component('xygraph')
+ ui_component.set_container(self.get_remote_ui_container())
+ bonobo.ui.util_set_ui(ui_component, '',
+ './Numexp_XYGraph-ui.xml',
+ 'numexp-xygraph')
+ self.set_ui_component(ui_component)
+ verbs = [ ('AddObject', self.add_object_callback) ]
+ ui_component.add_verb_list(verbs)
+
+
+ def add_object_callback(*args):
+ print "bonobo_sample_callback"
+
def create_function(generic_factory, iid):
print "create_function: iid=" + iid
|
|
From: Alberto M. Brand?o Sim?es <am...@us...> - 2002-04-15 07:31:37
|
Update of /cvsroot/numexp/numexp-core/bindings/bonobo
In directory usw-pr-cvs1:/tmp/cvs-serv16914/bindings/bonobo
Modified Files:
numexp-kernel.c
Log Message:
No changes at all... spaces, new lines... nothing more
Index: numexp-kernel.c
===================================================================
RCS file: /cvsroot/numexp/numexp-core/bindings/bonobo/numexp-kernel.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -U4 -r1.23 -r1.24
--- numexp-kernel.c 9 Apr 2002 06:59:09 -0000 1.23
+++ numexp-kernel.c 15 Apr 2002 07:31:31 -0000 1.24
@@ -516,12 +516,10 @@
Numexp_Client_namespaceNotify(self->client, &namespace, &ev1);
CORBA_exception_free(&ev1);
}
-
-
/* TODO: Define the function and call it under the cd[] definition */
-void Numexp_Kernel_to_Client_cwd_change(NxpEvalContext* context)
+void Numexp_Kernel_to_Client_cwd_change(NxpEvalContext *context)
{
CORBA_Environment ev1;
NumexpKernel *self = NUMEXP_KERNEL(nxp_eval_context_get_user_data(context, "kernel"));
GString *str = nxp_name_space_get_full_path_name(self->context->cwd);
|
|
From: Alberto M. Brand?o Sim?es <am...@us...> - 2002-04-15 07:31:36
|
Update of /cvsroot/numexp/numexp-core/functions
In directory usw-pr-cvs1:/tmp/cvs-serv16914/functions
Modified Files:
functions.c
Log Message:
No changes at all... spaces, new lines... nothing more
Index: functions.c
===================================================================
RCS file: /cvsroot/numexp/numexp-core/functions/functions.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -U4 -r1.27 -r1.28
--- functions.c 2 Apr 2002 07:56:38 -0000 1.27
+++ functions.c 15 Apr 2002 07:31:31 -0000 1.28
@@ -242,8 +242,11 @@
nxp_name_space_unlock(ns);
return nxp_element_void_new();
}
+// This is defined somewhere else...
+// -- numexpc implements it's own;
+// -- bonobo server implements the corba one;
void Numexp_Kernel_to_Client_cwd_change(NxpEvalContext *context);
NxpElement* bifunc_eval_cd(NxpElementVariable* str, NxpEvalContext *context, GError **error)
{
|
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-14 17:51:17
|
Update of /cvsroot/numexp/web-page In directory usw-pr-cvs1:/tmp/cvs-serv25158 Modified Files: clients.xml Log Message: Added XYGraph screenshot. Index: clients.xml =================================================================== RCS file: /cvsroot/numexp/web-page/clients.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -U4 -r1.5 -r1.6 --- clients.xml 16 Jan 2002 08:25:59 -0000 1.5 +++ clients.xml 14 Apr 2002 17:51:14 -0000 1.6 @@ -22,8 +22,9 @@ <li>etc.</li></ul></p> </description> <shot>gnumexp.png</shot> + <shot>xygraph2-shot1.png</shot> <manager email="gu...@us...">Gustavo Carneiro</manager> </client> <client name="nxperl-corba"> |
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-14 17:49:41
|
Update of /cvsroot/numexp/web-page/shots
In directory usw-pr-cvs1:/tmp/cvs-serv24654/shots
Added Files:
xygraph2-shot1.png
Log Message:
XYGraph as bonobo control!
--- NEW FILE ---
PNG
gÔSù
3ÛÈ#cbbÃ?wî¡c@À'è)...¯çËÌÌLt<zôý]Eμü%SU¤¿koo߯_?IÏD]»v=~üx3è$Iêt:IóòÑ£GJ¥Rêkí¤\K9
ôֲɱvíZêùõÚËà¶F£A¶QUU#EÜtѲeKî¶f¬ã...R4hAÐÍ;2'}§NüöÛotµZÍSNVV#¥¶¶
¥A
B£§^+(m_ÿ!ö¬~ñâEÆ[YYïÝ»'bê¶±±a¤Á&ô|¶1PZZÊ3~õÁÙÙÝt
XKkkkñ«wîÜa¤Ð-ÎìùÄÉÉ©k"{z,´±±a¤1ç'Of¤=z4ã×ñ² ÀËËKê¼lÓ¦
µ8?ƬY³)Ý»wiiÚ(??-áê=)))Ôóܹs
ËËËI¤§$ùòåý>êÛHUùãÆ7!Ó=¹
Áߦ6Mô¬7¸Ó¦M555øEÀ
^1\Ê¿x>þÔ3ÿENûNmÚµ²Óúü/}~\¶lN§&IòÃ?¤^½³ø»wWýØ{Ë>ï}Ç`JbbbmmíäÉ+**
$
k×® ]T*2Ë¡CÄÈJ¥ÒËËçîÍ7®åçç7ßÛ·oo¹ÛNQXX¸ÿ~Y½zõBF733±Þ÷íCÇj?~|gméÞ½;¼³_Óã_á×
1R1´zN´iÓÆ(½¬¢¢Â(JÎÑ£G
ÒÙ~$úöíËóvçÎ:.,,fÔ¨Q6;vì¤ñ÷÷7T¿|\±b
ôõk~ÄÆÆ²è?,YbtëÈqÍ@PPPuuu»víxh:tèPYY3ÍEkÎËË{òä>KKKµZ½}ûöË/M/:22Òßßß´/ÅÐ})8~ÕgLÀGÓ>);/HHH01Â|¤["LªÂÔññÊ+R>|-)L?tú>§¦Ì
'¯
\ðõÒa~£?{)ËÊʹÞRýÚÍÍÍÃÃC_wnݾ
=z4IThÔ &ðp§ª²J=fZåèº Ù2nCàÙDd#?Èd²Á·´iñöÇÛ·ï¹»éEz¦^ÍcÙ¢
Eff&
¤Ö<zpÏÚ¦ÕÇÜÿ
_¼x¤áNÆñoüþûï8²á7oæÉ'8WÔ#Û8>GGG{{ûÔÔT4CBBÅ)
Ì]£úðüùó®]»"É ¯ÑÝÝIinnn q¼f*SýãVÈ}||©ôìÙ³4TÄ´´4$quuµ!õÁ¹+&&>Ð72ùHßhLßE¦8ÿpfèª
í¤7älÞäÉ4W¯^Õ7 úVáuëÖ!˽á¯GH¹sçÒâØ¢?~,8ÿ}Oc¨ããÒ¥K
èöpGGGd¹pÓdee!i>ýôSúOÔ+DZkD
Z¥ùk>nÞ¼Þd@'b'¯9ݺ»oxïô:ô8£({S##åÔ©Sã®t08+ZV`
qÐ A@8pzqÛ¶mEñ
âù¥¥¥PöíÛ#³>#Û3.î9sæ2KQQÐýõø<¯PYY,As û
$\.§×GÇáR&(Eß,Bu£º μè8Ææ
¦Lù
çÏS")£! (Kòsÿ Xú)qøh;cêR⣠¢!7uC£@dâúãíܪʪêòêʪʪ÷s¦óàyUè[d¢2Öÿ¥µyÁ4A×®]ãäñéÄLSG3áÿÙ»ò°&®µf°£VETµ EÁpùDSR±X©¸T¯ò¨õ¢|"q»Å§XAÄ
UÁ*Òïª,([¬Ê&EIf&ßÓ¦1{2'½óû'Lμyçsλk@ßÎ6õÇ···3Á_Ëg
Ekkk]]];²ëÞÓË`¸õî
õùàÿþýoAjjjlmmÍÍÍy<^MMÍ)SÄ¿¥Î%ÑxÄ
uúiÊpÝñJ¯siuYAd.áBUUÕÔ©S÷îÝ+U-WQ70õqçÎgÏÉn?dɪÿCâr¢VVVZs@îÏÙÚÚÚÚÚúúúÖ××+é¢Ã¥øL
²wL"îªC\å?5ëÕ«W+·zÐhhèoDô(<ÒL³4kñÜîää$&éñÆÞÑÞÞÌÌ:wîÜãÇÅEiÐèq<xpTTTqqqJJ¿¿?Íý¹X£(J%Ì=^©iôóì( z¦1Ä~^¬Å[·jÚQ
³c[[¯¯oSS¯¯/-4úyv$[¾HZ¡A«24èÙQ©Dª& HJJjnnöññùè£Þ%îüøã÷ïß3fÌúõë© ®¬¬<sæ¹¹yXX~º}ë8'%%555M8188Æô¢¤úR[[áííÍf³ÙlöÍ7·Îظq£ìqÃÁ0Lôv¢¯¯EQ d¿
>räú¤Pår¹²ÇSSSDo-vîܹvíZÙã
F/[¶¬Mýñ8uýúuõéØÙÙ½Kïª>ܶmF¬®Ñcnn>vìX
EMLñÆ0L±NUL&Íþã?¨_åµk×9Ò/7¥ÒÒÒÈÈH©G%I%¢££¡¬EÚÁÔÔôÌ3Ôé0LY5±°°ðûï¿×@{{{¥êv1gÎèèh(7l`` Î¥×§O¥ImVVTõT8Ë=®)jkkû¥îСC5²/*B`` \û¢ÁxýúµZõ¼yóîÞ½ÄI ÅÍÙÙYϪ"ÍBÇÐÐPÉ·ÝÝÝ?üðZ¸p¡>ù«¾ÇY ÊËËïÞ½«djÍÏçoذ¡©©Ëåvvv*|²å õ¨®®ÎÀÀ@oï=¢P:;;+w2577S1CJ®Úzë¸øúõk(SòþýûÝÝÝxôè|["»£ÙôHr8(¶=¼÷«VB'++ëåËê466ò¾¾¾úG
Vj vîÜ©®ÝÑõ/ÈýÖÑÑqïÞ½P.£Fâóù:}ïÛÚÚ>ýôS(¤òóó
¦ÎHçââBý
¨G*Uà/^P§³lÙ25XXXH=zÕ%£Äµ÷dÁ`0p§~º±°¶¶~öìG#Ñ£G¡ÄFDGGCyÿå"33ÓßßðàÁé´¶¶ûi¨sss±F[TTôÆìX__/ÖÏb-2&&:;úúúÈ4]ÀÊÊ
,±k
ÊfT.¨Ë"
jæÊ2ÊyòäÉÊÊJèÎÍÍ¥î»
çÏOýÊËË¡,b0ÌóçÏS§ãååÕÑÑAå2 ÜQtt´v3¢7fÌ(¤öïßO
ØG¯°dFäV¯^ÝÖÖfaaAñ®333¡xK¡(ì555JZê?-MÕ ¹3gç`jj
Å3QÕÌI¨ãǧ~5
WS×ò ØG,YâååEH$Z¿~=u:õõõÔéÌ?,&''+ñPǨ¨(&YWW§)¡(AÝ1 Hbb"õ±´´¬©©Åk777(vaaaqq1
---TÊâKâÞ½{cXµq*ÂÙ³goݺEýpÓúôÐÐP(Ûó²
&L ;?Sí!²è
q444´±±±±± ÓqãÆrZï´x<¬`ÊS§NQß
ËjÇ>>>ÔéiïââÒÜÜLýÂÃá70P«]ɨ²²2SSSêJ±±±Ú¹|,--¡ÄÁr8Éb÷îÝ<pvv¦Hì_´qãFÎ*))¹téõ»PâèT«2$´.õêÕ+©ÎEZ/ÙÖ'<y2Yܱc\`ðöö00Z} hBCݰatæ@(%CCCX¶±[·>|øPÍZsúôi(ïý#Äm¯uêêêAQOÖÙ·oF³¸Õ
äbâÄ
ãgu4;RÁÞ½{ua×~øá%KÔHÐ þó@Çhoo?xð 5DÍ-[¶@Å«W¯æææê-º
Ó¦M£N§²²R/ PxdccѦ,K @Ù$&&VTT(ÓÑÑ1iÒ$(W~âÄ ·L
)EéåååPòäËÕsEt.ûÞ{ïQ§óóÏ?+ñ°X,(ùºrÓ¹8
e
züø1è'¨Üü©{÷îI-999¢N¹³³S$Á·R-d«o
¯]»6vìXXyÄ7oÞDQzr#ÃÁ0LÓf]z¤úÆkkkoܸaXhh¨/hüøñPÒY,¯¯/x¡¼¶¶ú9sæ
UF¡[o6p4EË«ê0 à !âþãÆF6ªsøKJÖõNÿç
¡P()°âyQh%æ
|¹jÇ>úUB¡pÚ4?±àoÑÂ/ç½½½É¾â
3g®d l#£ôújR" ^¯eö08±gÛ?¶
вÈ+§¼¼D"}ÒA/
cCCNonn
ãâ¶m¬4vÌ9¿««7þHGU¢c^ÁùÚú
4)߬úÊËËûþýû詸¸¸¯¿þ%Ͷ¶¶6mßaVz
«íììÄ]1iÒ$¨&OÊÊJ4ú-YÊ«¡Ê >бahÊ@¨ eíææöWÔP!9þy@@
Ät:P¥Ñh»wïV=
PXíèêê
ÄG=¨çøÂè(äB¡à¾£ "kGèB¡Dtt¡£<
¦£ Ú¤P]( !oÊZÙ¬eC~~~^^ÁPSSûרÍf;vìùóçNNN-Y III
óæÍÃ"G ]XX8nÜ8&5ÃÈÈȤ¤$A¢jS6mÚ4{öìöövtMôÒÔÔ¨8jjj
"®èJJJ<<<.\¸0 (6e|}}$RWW÷îf̱iÓ¦ÕÒõæÍ>,9
Fáëë+á4ðdrOO¦O¾aÃØØXÉr´µµE~Õd¦´ÃÑ£GE
ÒÕÕåp8¾÷ܹs³²²jjjLMMUBÑ%%%FFFÒmq¹Ü#F¼~ýZäÙØØXq©ÑÖÖ¦®®Îf³U
ÃW/
}fff]]¸ïÍÑÑñTæ}èaaaèFss³HoðØØØÛ·oKùö ùÎK.ݾ}»TccDbNN¸¼:::ÒpÅâG¡QrìÙ³§Ô?q8tè¸0¤wîÜñððÐÖÖ!!!vvv666wîÜé?Îåróóó×ÅbYXX(¿®ÇÓÔÔ$ýõsçÎMLLùÝwvvJ/J¥=º¥¥EÉõÃår&N(ý-ïÞ½ÉHggg???©ÆµµµÓo
ýÔÕÕå7n¬®®633SZ]Kî+DYYPÝÙÙ9nÜ8
2(9D"QFP R©2t*ìÙ³g¿yóað7n\ºtI²~ýz%W·½½½l±ÿ+++ùÍ
än¾8ÔÕÕÅÇÇ÷ÝwÊ©¢¢¢üü|nüöÛo¾»»ÛÆÆf¢æÏ/Ûÿihh¡úÂÂÂþùçÙîõòò<y2ºýç^½zU69FFFñññJû¹.\¸Pæ¢ojjâ½®®î·TtollùÿFDD(§®ÓÓÓ"óíUUUééé
rðàAåÑunn..4Z¶lÙd³=û3{ãÆJ¢ää䪪*ìrêêê2338@`<99¹¹¹û1L´ã¯ß=.U~eeeAAÁ¤IÐ,qA"222ëÖÓ××Ç.ÇÂÂbùòåÒ½TÞ྾¾¸L®zxx(®CBBpÉÝdeeåää
\^wÅrÖ5ÇÆE%îûöí¼hKúî£ü/^¼NÂrss%ØjÒÒqÿþý|çmwaa¡ôkA$4;vì§®ét:?DÆÝ¯¿þ*áìÃa(ä¿Ò¯úxǾØqõplð#ÁÃÜÜÈAÎ>§²y³÷ävo±CÉM?
¸tuu9rDò5â¼Bß=L&ãà5Þ{îܹ¶¶6ùèúÉ'W®\Á.A+uGGGìÏÒÐÐ@gØä6Ë&WW×ARSSEýGt466666&ÉÆÆÆd¥¤¤ Ar1bÕªU¸xH'''[[[ìrÖ¯_? =
r[Óihhääd);âb
!!!òY´°wï^\^¸´´4ï¿ìyX×ÚÀϰÈâ¢Ò§W¹øõ«ZZ¨¸\pCä±Ô**¢( ¬@Ûîk«R)¸|¥`)B©êQ°²B}Ú+¨hAA¶H2I¾?Æe2óèíùýáÉ3oÞ9ówÉË£s¦ÒÌb5§À¥K@"GÔváÂörhÈ
8*d¡¨¨(
f|ðÁ4À.^¼XXXHWÕ7
³µµ
ºG¨aåÊê>诮è¯CBB@Q__¯Óù!Ir÷îÝ ¢èW
°³³[°`]uÔØ"3??ä2©Ä´ÜÌ=xð ÓÝÝ]é2v~hÑølªtcP=³8}þ«MOO?qâîæzûöíìåܺuKÛ;>Í|躬TÁªU«
¤Õ¥OJJQG777:©166
ÒÝ\ÇÅÅÁ^ª2Hª8|ø0&åää\»vMGóÓØØxöìÙ>¹ªTGù])õkGÎÎN¯¬£¹H$ ;1!õu²~ýú+V|´5xzzúóx<w!EK$ѳX:µÁ«««¡s¢££uâïï"'33³±±Á
p¹\9µêüùóÌôXæææ´´4ðù©ªª*)))ËøÒ«0oI§¯[RvìØ^嬣£ªèââa|+ôööf?ÁëÂþá:99±ÂxgäµbòÖÑÓÓ²AйYK¥ÒgÏeeeüRaúóçÏsôèQ@Àøí Ãðññ·ãÇC·+·ò-2iª¶¥¥¥È/ÜÝG=±ñn¥¤¤hÑ«W¯fee±ÓÕÕ¥ª¼¶¨l©Çd(Ç{õê/ϳgÏ ü,ýPÎÎÎãÆc¶l``
µÙZ¸p!H±ÎZ«£BLú¾øäädö[´-IVDy{{_¿~dQËÞ&Aù±u!$«ÊvbÔP3ÉÄÄ$
INN¦Úë²äñãǰ'µÎ$TEXXÈÒÓÓëêêØHàóù þ$ë£1ªû|®
LBUÄÇÇI}c&@¢;sæì\óÍ7 ®Ð
6°q«íÙ³dï´ªª
*£\¹:ÒÌ$T£ ûÎYYYt²ÑâkooWeÏ AVZµ¤aüÞÍ7C¥Å¼ÿþû:TGÙe&+""$ÖÞÞqÍÒ¥KAüPw4y ú³¦¤¤¼|ùÙ{¡*Ã2|~8°âAäXYY1{ã3@Ð3É
j~8À^³"GááátòÄ5RPP
¡þè(ÿV_
²³³A¿6lØ ~Ë-4öªçòåË?ÿüsߨ#bêqöìY¼Éüü|55g÷ïßl{ïÞ=]»Ð××
U^^®æU¨vwww¨¢#LÔu¤vAGj:¡
i4t6mê]9"ØË¹víªO>
ʪڪn)¬SéZTC\\I=[[[¡ôQ¯³~ýzgggöÑC¶¶¶ãÆSÚ¤{êÔ© dÁÁÁ U[ûæÉ¢
ggç
Bù;¡GwïÞUºü¾ÿ~ö¹ýÌ(,,é qàÀ1Pñññ îÆÒÒRªSG__ß«FyRSS={Æ^ÏWeÜ·oß+WØK®®®L\×sss¨5YOÉCpqqÏCЬwîÜAíÙ³äÂÇÇÇÁÁ½¥Ò6mÚ²9îääCÎS§N555Ø0ù%GMM
ÍCêH$ºÐü(JÕ÷ôéÓüñ¥¥%å¹té{R©tíÚµ¨Oñõõµ±±aßbäÈ/ A7ÝÝÝA¦ZkëHuàp8,Ýàò;wdW`Å2÷{ï½çêêÊ^æÌ3{¹q¬R¦O"çÌ3Tó$iFhDi·¶Þ°åååsçÎ}þüyJJ
bí§¸¸DT*
P!þ n?5òööfßßeùòåC}þüùÔ©Sù|>ûÅÄÄ@im9Î?üÀçó)E| ©¬¬I`KLL9s¦½½=HÎÐÐТ¢"Ô?jmîççG$TÖéúFu©©)T h6aÔHff&È'·oß)»µoß¾¡Cø
u3Ñ7ꪩÅ!n?hËöíÛ{y®5,¸\¨|(ª} {9AAA 5ú£:Z[[³Ï J¥#GY\;vÌÄÄõ'<x°yófB-[ÖÔÔ¤m¿º<yªpTGÐÃé.«aܸqEEE³fÍb#çO>ùý÷ßQ?ÃÐÐ}tR]]AS§N%Iàà`f¥ÀÔðÙE)l¶°ÛÛÛÝÝÝ©¿¬¬ØL÷åË¡òË`©©©aÓàÛÑÑÚILL>|8c9½éßQ®òÑàj~»óÙ
&Ý;{öìСCÉqppP ØaddĬ|c[[¼ÿr×®]Óq233µjæ¶VPGY"e)Á5Ãá1B$iý¥ÐÐ=%%¥¸¸XÛ´¦¦&úÙw}¹sçØÚÚªíÍÍÍåõØßßËå2¸ØÙÙõÕC·ç_©±$))IOOOÛ<ËÀÀ@
P///333m÷Á¬¬¬ R<uÇO?ý¶téRü;÷ïßW8ØÜܼlÙ2ÊmÚ´©¯¾¸â£_@@
oÖ¬^;bðÚéÅ56~¤Ø:búlím!¦YGUi5x0ºæ·ÞúÓ:;V×1õ¼ùæ!î<¯¤X"HdÿÅbüÏbÉùS5f1k4¢,Oе|èçÃë@
4B½¦!¸mûu²×D¤XDIbH,"Å!ª©]ÏT:]þ^ö ýg>µ:ím!5{§úßÕ¿¤P,]H*!EB±XDD$ìBÕÖÖj5³ø8³Áà%Xi½<lÑ75jÁáp´-2lذm»z£a"Áôd¹·ëÐAº-leeÅE
BÁ`þBP¥ý'NÃÑóPuDyó&!Õ"´Û8ÊJøNê§G(v½K^[*Ò¯ù{²c«¿ìï¨_ËP˵óë'c0j"ô%
NJ$HJ @B!WÞr|ÿÛy?¸»Î½qÚ´iqqqW¯^¥
¸¸¸øøxêB¨«««Û8D"q$ôÛ_½¦wËo9Nü¦¬¬l G¼sQKDBRBÄ$ê¿ kd:H¡þV8Ñd¥Ý&hçè£;e¿È,BÔºó#!íäJIùæ
ùùù®®®\.7&&ÆÈÈ(77722ÇãÅÇÇóx¼ÂÂÂI&QëÅnãØÕÕ%ëð'´ ª«º?L,çääDH$ïØùJ/F#òz²!öüKÔm_';
C±DÚm¤ÔRQfB$RI ¤Ð¾4''gÞ¼y|>?77$É899ñx<{{{ºO¦Yt?Vÿù~)º[~+;'W^!ÖW0Í-mø
aÔã»a·Ò¿£ê¦'"øÏõTJT*DÀAq8\$EHÊ7\.
ßÿ}||<u0&&fóæÍÝ÷éÎÎnã(:::¨£©©©55¿r9¯ÕCû,Z(ÊÎA½xÙ¯é$I# 8%¹UAP!; 7\§N¢×òx<GU^¹råg}Æãñîß¿O¡ºøçÒ¥KZuu¶>jävø
a0¾âf®Ô××óx<.B¨¦¦F«î?wïÞEè"¾<æ¿*´jll?~|}}=ó7ÇÆÆfþüùÖÅóÁ`þæ$'wÇt¿VÔjÁ`0C®\¹üõ×ÝÞ¸
<zô(33322R6.fhh(|§C@ÀÚee/¿9þäRVÁþwþ9é'~Ùú:Ï=¦5ÿîó/Çéãÿ§ÔÊ"±¦b]P P(¤"HBÏ?WøÖ$I¦§§Ï;W©q%Ó«
Bá1cäºBàÔ©SåååCY²d|
ötvv>}úÎ;¦¦¦Ã
SFHHHee%ÃY½zõìÙ³.]JGæW_h}ùü·ß~«~ü<º%táµá[B---7]ÌúÖ²óÕ?þïtdôç˯077§#VÍ<üúë¯ ³fÍ*..ÖÓÓ={ö¼yó°"b0Uã¸xñb*MgàÀiii¡¶¶¶$eçðùüüüü Ptttbbâ_~É`X=?ÏçûûûçååI¥ÒððpêLÙ0;Æ`åêxùÒÌÔìÿ¾½ õôô¤Ré£GB$×èéÓºæÔÚPÕ8\åa¥ó@9.e7oÞ_|JOOwpp(..I1Ì_É8¦§§«ÎEUUUËj¢½óÎ;úúúÌÕóã*++mmm©ÌG fÌqåÊöß?dýúàÐO¿;ü¶|çÔÞ½:ÞÏz©úÈçÇßãÁ2Òÿ{çßÍÔRÕ8;;;iÎÃÿ³wæQQû¯^faX0¢" 0Ácd ²¹Dá58ê1
>OôÃæª<ô+î轸 ,&Êô
"õA¢²PA}ºûý1ÉÜÉÈ&òûüÕSS]SõëoÿªºúW3gÎÔøúúÆÄÄ<zôH»±
oUv>¶þípÔ_ ¦¥R VËeÃC#G®fsãÒ²fýWk{Ç2?áÝ»w0´FUT?}ÚØÜÜøë¯ÍµuuÏZ[5_åäܬÓËË
ú=
¹ pE24CÓÌ,ð§(úQm×ÈÅfáÆápØAmm-³ü?*..æp8]JÞ={RRR6lØzøð¡···¿¿ÿ¶mÛ Í4(µº÷§°HB&éìò«Ë/ .]º4bÄ>ÿê\ŶËgäwùÓ¸enÌ«ñ³3>½Ûz{ÂÝ»wX,ý{1 qííêYs;ô{
©ø|~III .r¹\ã0á]G²³³Éd|ò A.Ô¤WUU;wîéÓ§£FZ¶lÙ¸qã¶oß>eÊàà`í¹ñññgÅ}
Ìt´Ëòÿ¡(Íý¡ÆÏó]ÜÉßãDRÒw)),YldÌaqX8À #Ba¨æ¶ )OÖ<¨½ÕÃ0Ys VSj5¥V©Je[[ǦÿÙç8ÎaÊä©ÚÕÕÕzq$]\\jkkmllº[RRÒeÙ~Uã4Rsl\.\¸ LL®fHDén¤%JÙfï0ó¤½kÏqÒ¤Iååår¹<111!!aܸqGÁq¼®®.&&!$H¦MvòäÉõë×ûøøXZZzyy!N>Þ× ÁÕuϳwùÕÕìÇ»g|kÊå± x á#MÓçhhxTñ !!L£Ñ4ùËÑ4CÓ4¥¦T*µR¥R*--íWÓnÌîe=ÒZ·ÀÀÀÀ}ûöO8QØÔÔTRR²eËLºÛCÙÀÀ@íALLÌýû÷{ö¼0)#S¨(Ü5¢ôÓ"øü#)¢(M!3QÉMr~Öì³èC;kKµLÚCFFFË/_¾|yJJÊܹs¿üòËíÛ·ÛØØ3ÇqDbjjúÝwß-Z´èÚµk555ß|óÍ70ëkà]Þ!rúBYYÛ¬¬$ÎÎN6ÍbsXl èñ
eÕýcî;bq´ÿE?ÈÆÆFë(!æÌ£áüùóá
Ò¤p¹\Ý{-[¦9Ð]²gaaÑ|JEQ¡å2)Í!Iö¯MýjmùU!ñLL]I1JÂÚSvYKii©ö£H$Òh}}}×[§Í¤mTÏMë%ééçÏwvvH~÷%I}}ýÏ??ȼy½½óÙHÆ&\#Åfá,ûÁÇì쬢J¥Rem5 !¦webIÏ763ãóy$IÔTWrrò¹ïú
ò-mísÿ3vìØU+W9
!Ä31355gs8ÏÛJîý(J
ämrDÑzímÁÐ* ½455544dfg^Ëùäâ\Çcë6Ê= pC¨9
^Af
766~ÿý÷O<áóùï¾û®aÖ³³³3--¶¶VÚÒÉÉ ÌýùEäryjjêçO>cƬäàxÒ¤>VÊËË{ÿý÷¯\¹RUUeP^}w_ïØ±#,,lË-kÖ¬),,
Vs±X2{öìÍ7¯^½úèÑ£¾¾¾Eì0ê0ïK»aöçªäëëµnÝ:{{ûèèhÃAö?þ¦Ì9nܸñþýû
,xSüÔÔTÝîîî¡Gi'O\¸páÒ¥K!ÇwïÞííí
æ
þ¬uÒ¿ýöÛ;vÄÇÇ×××[YYÍ7ï믿~k=G ª««ûíÊ¡^¯"êýb£ÊÊÊà?X±bB¨ÍË˦éýû÷O<Y¥Rµ¶¶VWW?{ö¬»ßzWÚº.«KCCP(\»ví+W,YbPonnF5J7qôèÑ¿ýöÛÐW©ÒôÌ;X?7è×íÏ¿üò^6X755!ø|¾X,NHHصkB¡8q¢V@Òà=çq8qbvv¶Au&@úwîÜAq¹Ü³gÏ®]»VËVóf$I8wYÞ£«Wݺ«¡¾¾ÞßßñâÅ¡ÜÜÜñãÇqGyi6Çoß¾ÍÓÚÚzïÞ½ & ôGcÞÀÀÀÃë÷uý3_M·?Ï?_¯?¬ÁÅÒDÒäñ÷÷?~¼V@^»ÁyXmmmaàþ<ñ³³ûwËIÒÂÂB7¥K^ûkË---/nll\¿~½««ë§~²³³{iå##£#G|öÙgׯ_G<xðرc.ôóó3ä^¡kÞ¸¸¸ææflhæ¬þüÚa³Ù§NZºtiFFBèܹsÇwtt4@ÁpŶ¶¶
"22²ßë!"
eee±X¬ñãÇK¥R´mÆííísçÎÅqæ^IIIl6{ýúõ` E
ªÕêçÏóx¼ÒÒÒþRYYijjZ]]MQTPPÐ@ê3räÈÇGEEìÛ·®õ+"33Åb
B©T:sæÌåááÑÑÑáëëKDjjjÿ
imm=zôñãÇ
ETTToNÁpŶ¶¶
"22aÊÊÊîrÌ7/""B÷qfXÝe~¢|}}ÛÛÛY,Ö ^¥Ryyy!nݺÅf³¡/S§NuuuMMMÅ0lKV(®®®Ó¦MKNNîÓááá999ÅÅÅÖÖÖÿÏÞC¹¾ÿ{2¶N¨´¨eÉ!ÃdI$Y£¾Y2¶"Å1¸:!s,EAâ8e ¡(KNÙ²u8*[²Tã÷Ç\W?W!ÆyÂçOÞyÞÏû¼÷s¿ÏýÜuÖÈȨ¬¬¬¡¡gõÕSäUßßßÿìÙ3VVVª¯z(ZZZº }âççüøñc¹¿Á8NDDD]]}®zäª<qqq>¼}û¶µµõ< 544°±±¡P¨çÏSW3B ffæÊÊJGGGvvöªªªU¤
D"77w|||vv6u5#aeemooß²e[GGÇ|~ÒÛÛËÇÇÇËËÛÓÓCuÍ@ÒÒÒRSSùøøª¯W1jjjMMM¨«¿®z;;»5kÖTVVÎç'ãããRRR555£££skÆìêY2óyï<¯_¿ÎÎÎÞÚÚºÔǽÝÝÝÜÜÜh4zõä{°±±ÃáK}£ªª*FFƹ/ËÊÊB¡KÍg||@ÊÀ"qíÚ5Ú¬úÎÎN...??¿¹/{öì###¿ËnºCi)¾H$²±±qxxøZK8þþý{99¹ÕO7 H{÷îåççïîî¦ÁíöìÙóñãGQQÑßÿ}ÆkÜÜÜp8\?[j>¬¬¬mmmH$RZZº¶¶êVÎ
ѳgÏæörPBBBrrrÕÕÕÙÙÙ3^gggW__Oñ¡ù3dæ'H;wîüòåKSS
4ã×Íï'OxyyÅÄÄ>þ¼*¦ÂØØZnn.ÍnÊÂÂÒÕÕUUU¥¥¥5ãǵ ¯¯ñ+ÒÓÓQ(Àû÷ïW¥b¡;vì HÍÍÍ4ÐÓWýºuë$$$H$Ò÷WOOÏ÷ïß/ÆHIkÖÙÇÇÇEDD<Iû7B¡6mÚ422²*¯óÄ7oøøø|||®\¹Bã[C¡Ð
nnnYYÙéÂ-++;11Q[[ûÃ83ªFlܸò¡ÊÝ»wiw<o``
ã7ÀÍÌÌòòòÜÝÝ/^¼Hß·åââÂÈÈ@ ÚÚÚxyyWÅw6477KII¥¤¤Ð=¢>::ÚÙÙY\\
ª¨¨ÄÄÄÐH©Ý¶mÛª¨Ì¡}\¸p@ìÛ·orr²¬¬:;UFIKKÁ`t×d899 U âââ hF2ÂÂÂß¾}{óæMøhkkDYYÙ9b~W8Èâ
è®Épvvþûï¿©x¦GåXQQ±qãF}}}@Þ£££Ç-[FGGWåøôööJKKÇÅÅ
¹gÏ555$¹sçÎÙ
h#G$''oß¾ýõë׫2ó
ÈñügÏgª
`nnÎÊÊêïï/..þñãGªI×Ò®]»¶mÛvæÌèèh&ËÓÓshhHBBâõë×4óááa11±ÀÀ@+++@(éêêòð𤦦MZUUÕ@
B
IKKwtt¬aDÚ±c³³syyyKKÃÀÀÀÖ[©â7§C
>}ú477ÊáAAA_h2>þ¼}ûv@(>}º³³ók<@¢JªàÌ3.\X2:$--MÎd'%%544ÃBBBɹŠ(GÂÂÂRWWwãÆ¸¸8@&dz³³®Ê4QRRÚ¿PP |._¾[]]==U±²²²¬¬{Í××WGGg÷îÝ«ò@N<966¤¤$é½ðx<±±1ãÜAà0¬²²ÒÆÆ¦¨¨é+,,¬uww_ábmaa155S[[ûMÝ&&¦ÚÚÚððpº»¿"::×ÈÈh
¯¯oAAAyy9 |ª««ÍÍÍKJJÖ[÷Í¿>|øèÑ#Å¿`³üÀïïõ£´´tFFººz{{û¦Mè>ÕÕÕBBB+S¬óóó;;;áóôéSSSÓÇ
~ÿ_²²²;vHII)((
*..Þ°a|H$«««¹¹ùl×ðòòÈÉÉ3haVÝ?Î] F+**jjjòv·nÝ«¢¢244´¢Äº½½ÝÐÐ077WHH>SSSû÷ï·¶¶^tF?~ß¾}ßgÎÒüüü¦¦¦*¿0::ª¨¨Åb
@¬---WóúÓ§Oòòòþþþ3Öw ,,,xyyg+ÆóýiÀæÍ²N-(++***)RSS300ppp
WÀ_ý»ìÅÁ<þ¨ªª*''§ÒÒÒéQ?KQQ§§gII ÔÕÕµâRRRbcc§wÖ£/úúúôôôRSS
ôÃÂÂÂäädGMåHîkÃÃÃ@ ({---77·CÆÅÅocc³¼Óf}||JJJ
ªªªËµ2îðð°®®îáÃ)>·:uê
Ç¿Ã
ûûû¥ó^ºtICCJgÏ]³fMhh(e?WRR
PSSûòå˼µã,=dTSïÍFFF888bccÁéw¡¡¡D"e+KKKpø`08¾È¾ì$ITTÔÃÃç²··Z"daa¡¨¨äädVVÖwïÞ-ruuuccãyöo-áîî>ÿ[ߣ°°
Ò ùÎ<166¶víÚÈÈÈe&Ö.]&Hð!×kll\üPmmmP(´
|õêÕ«Rñññ#G`±XªTÕF qqqÿþûïÚµkAxÀüü|aaaUUÕeã¿îìì´¶¶¾wï 444tuu?Ô5kDâ¡CÔÔÔ~ýõ×E9d¾"77wzÎÀgD@@
÷òåKp¾´Ç766G_/:::/^¤,t)pîÜ966¶%í
ííí
ÃÁ9Cؽ{·¯¯¯®®îOz~mdd¤©©¹D2K¨²²Ç/Ý-LMMHä«~VåH"®ú###@pss£J{Yª
RTTB¡§ÎÈÈÈuëÖ«ÔÚÚ
B>|x9Ût``
Ô××ÂçÓ§O×®]£ý!È7é³îgÚ7o¾ÿû"Ï
544Ö¯_OõhaðæÍàÌAAA<TlQQQzUEµ··¯ªªª®®d6rrrôõõ»»»gì H$wtt§®µµõ«W¯JKKéE ©©iúÎqVÌÈÈ×t;¼»»»¯¯/..îûã"qçλw捻¤
Àq/ãÂB£ÑIIImmmÌLyy¹íÝscrr788¾¾>ÉÊÊ¢/ùÕ´G|||yy9y,,,´´´LMM²;foofôòòĹÁ`899]]]yyù/
Á Aÿ«*¬¬¬]]]PÂãñEEEàtãÂ`0ýýý
B êêê
-7Ù\y¦µ·lÙ2ûìÇßß
´cGìLLL
#@zÃÆÆFQQðØ\¶¶¶ÈÃÏÏciiùãÇê×ÅbÁ`àíí=::
xD%999ÅÅÅôùØÑÃÃÊõÚÛÛËÉɹººÒÉÉÉ999iiiàINN.))gKëСCfÿþýT®×ÏÏopp'ÊÊÊ ðsÌvµÿÌ?mÆÅÓ"""fff?~dff¡³îÝ»'..nhh¨¦¦FÓÓÓÓÓÓA8+'ÓßßoggÎqç°²²Þ¹sÅrÇ955/!!ÁÎÎ:5VWW?¾¶¶'"hll²¨¦--GêpìØ1yyy@ä»téÉÄĪ´¶¶¾yó& =`jjºwï^ÝÏ}}}¤<¦ììì)))êíí¥BuSSS»ví
¤>@ N>
þà.ËÎÎÓéТrâÄ YYYê¸ãxqñâÅæææ¸¸8]Ý××wþüy@ä122:pà
z{{Òö»wïÞ¼ysæ+Êq¶ppp¤¤¤ØÙÙõõõ"Rff&[ì$¨aaaõõõà8^466zxxdggëx1
¹¹¹~~~UUUÓÓÓãï│µäääÄÇÇBãË/ûöíKLL\¿~ýr¤ÆÆÆ666à$MçääLII±µµ]<}ÝØØèææ&"HX,öܹsJJJ:DVV6$$ÄÐÐH$ñ«Bóòò|||ª««OíÝ»(MdjjjbbbeeE/ÃJR^¿~½««hkkëEÒ×$IOOïܹsÊÊÊ´×ÑÑþ§O
Þ¿_FFFWWwëÖèk??????ÊìààÀÇÇ&ÊÎÎëêêÐ9wïÞåååÕÑÑ$Ò§§çÃmmm)ùâÅuuuÚOêëëÝÝÝ+++
OåøÇoªéJ
Åb»»»Aèb(ZPP --££CA/333!!¡»»ñ188hiiyóæÍ
6лräââÊÌÌ455ݾ}; =ÙÙÙ|||:::4ñjkk=<<ªªªÀÙÑ×׿pá fÍ¢/«©àþ;§NB£Ñ{÷î¤ïHdDD£Hûöí»}û68ûDVVVàôù122rppÐÓÓD[[[JæD"Q__?88
0yyù--ÑÑÑy<N LMMSSSa0 -ÒÓÓ377§Úý_êciiyðàÁ;v
NÈ#WW×;vÍãÙ;v888Pjãrḹ¹õ÷÷ÇÇÇC4ÑÑÑà^Ãb±îîîf LMMåååÁÉTsíÚµ»wïÐõ¡WåÈÂÂR\\ìææV^^Hiii---sMpàÀ66¶ÈÈH@Zqùò奷ո;ÅÅÅ w37ÁÁÁp8|®K¢ààà
p¶kjj<y`ά9ñ÷=;`#¡P¨¸¸8mmíîînNNNÚÏ3PhYYWPPåå³nGG
E~~þðj
=RWWß²e´´4"Ý¿
8qb6ßôè··÷û÷ïg\MMFFF0LTT½¿(ÇO>¹»»÷ôô¬Y³FEEF¥:íííkjjTUU@èM½{÷îÖÖVaaá¿üòåK''§7oÞ°³³ üøø¸²²r@@
HjhhìÙ³gá'ï /«¬¬¼½½]\\&&&ddd={¡øâââç)õ÷÷WTTákýýý²²²H®««Á`ÀÙ·¢®®®FFFÈ#))¦««;sc"¨¨¨èááÎnõÁ§¦¦è.¨Ý|cnnnTTÔÏ(ÜH$üÂhåþGÀÉæzæÌ--NB§¦¦ÁãëääÔ××N®w*C`kk<{öì9}ú´Âäää¼¼<8Ã><<üÎ;¥¥¥KfTÌj¢¸¸XQQQYYyóæÍ¦¦¦ µ¹ººúÂ
8üø1+¾¾¾¤¤$ms½þJdddjjjEEÅr8ÒÒÒüüü@äñ÷÷WUUÕÔÔüã;Çã3336??ßÝݽ¾¾/ËÅUx<ÞÑÑqxxhjjVVV666öôôi3䬬ìÁ¿4urrêêêçl1//ïäɵµµô~¶¸@XXXêêê|}}SSS)55õSlhhhJJJMM
Ùû÷ï>|(""²Ä´2p8\PPÁØÙÙÉÈÈdggwwwã?(++§§§«¨¨´µµ
ðc{óæ
¹®×?}úȰ~ýúµÑóçÏáp8dÙ# P^^F£áp¸
"½xñ@x{{ÿô¦Æáp^^^mmmLf½½½²²² àxÔ/ºr@ ^^^^^^?ÿpAýûNMww·!=//omm-äååÕ××ÿ÷ß:;;A8%k%%¥´´´mÛ¶hF2òòòùùùjjj4gÕªU
üüüG-..¶°°xýú5Ó?A¡P¾¾¾àìSI9Ò#ÇÿòåDGG:HBBâåËh4:$$ÄÛÛûÝ»w#ëëëC W®\' $%%ÉÉɵµµp¡£©©ITTthhÈÇǧ°°ðÿû511!%%ekkN +Gð³ÍúúúKHH´··B^^>((ÈÓÓÃâöåË8îïïøðámø;û÷ïÿúõ+yñòòÒ\«££ãééùWçGê@$Q(ç\öÊVÀçDXXDÚ´iSKKËOW$ZA¾Ãmaañöí[IIIÚÊ388@ Î?êÔ©=8SSS¢££æÆþ»wïôõõ£££]\\Ðh4Í7¸&''Q(^Âc`øöã¥K P¨HGG
õcVV¹¹yCCÙg^JJª¼¼³úûû7nÜ4ËÛiËgggFFF8þþý{®¯kkkåååsrr°X¬®®®¤¤dbb"
ÓàLLLHHHDEE-í0OåøÓ~YKrssoذ¡µµ&aûÚÛÛ
Æ«W¯
tuu©/O{{»Tll,8ÞÎãàà°nÝ:aaáúúzü%%%Ï=SUU
@ ¢³³S\\üóçÏ...ÔgxxXLLìÀAAAKþíOëçØÙÙ©ªª:>]pæÌ°°0ööv*W}öìYÞÞ^²f$F£ñx¼ÉÕ«W©,Oee¥¨¨hNNÎfæææEEEH$òñãÇT®:11qçÎÍÍÍdÍHF@@àÓ§O!!!îîîTçÃ|||~~~ËA3Îd9222jiiý~9ÉÍÍ
@ ³ÄÞÞ^ZZZLL,++k2MÿÎîÝ»[ZZz{{"$$D àpx}}=Õ"ÄÄÄ<y²µµtºº:<~ü8u*õððHJJ"¿;¥±³³wuumÛ¶MKK«°°:ò<zôHWW·¨¨hºK;ËH9öõõ¥§§WVV®Y³Þ©¨¨H ÄÄÄlllìef¾~ýD"õõõ³³³§û;;{¿¡¡!
ª]ì#uKK˪ªª¯_¿«D£Ñ
|H$*))qppÌpY
¾xñÂÅÅ
¯µµu±íË/÷ôô
îß¿ÏÁÁqõêÕØØØ¿~9//ÏÕÕíÕ«W$O?777Okkëf\ ÌÌÌuuuâââ<<<X¼¾¾ÝÒÒ²°°ð¯×¨._¾²víÚ¬¬¬Egll
BUUU
.+ÍøÿS_\\yD"Ãí߸qãg
jmmÓLLL666ãããçû÷ï,,,<Ó555ÂÂÂbbbaeåKMzzzDDDª««çô`ii)²²òÐÐewx:ÄÂÂ;×lÞ¼¿¾¾~y¾ÊÙ.«g¨HàuuuÕÖÖÞºuQOOoµöäää76nÜ( °fÍÄÄÄU«VQP66¶üüüÑÑÑ¡¡!NNN11±´´´rufee111åææ¶···´´
µòZ!
õññsrr"HMMM³¼¬G¦]`)//ÉÈÈýõsQQQ;;;rªrjÊÓÖÖtëÖÎÎÎ_?ÒÔÔôóóûk&¯¨@øçâââ~ý\RRÒÂÂâÄTÞñ g!¿sçÎëׯý|ݺuGÅ`0Ë9üO¤¤¤âãã
µµµWã
+¬°ÂãL¾ouuuvvvlllMMM»wïþx
VXa 3rÄãñÖÖÖ999¿Ð766¾~ýúÿµwǬ Q
|
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-14 17:36:36
|
Update of /cvsroot/numexp/gnumexp/src/xygraph
In directory usw-pr-cvs1:/tmp/cvs-serv20848
Added Files:
Bonobo_Sample_Hello.xml hello.py
Log Message:
Copied a sample program from gnome-python's source and modified it to embebed
the xygraph control instead of a button.
--- NEW FILE ---
<Root>
<commands>
<cmd name="FileNew" stockid="gtk-new"/>
<cmd name="FileOpen" stockid="gtk-open" priority="1"/>
<cmd name="FileSave" stockid="gtk-save" priority="1"/>
<cmd name="FileSaveAs" stockid="gtk-save-as"/>
<cmd name="FileClose" stockid="gtk-close"/>
<cmd name="FileExit" stockid="gtk-quit"/>
<cmd name="EditUndo" stockid="gtk-undo"/>
<cmd name="EditRedo" stockid="gtk-redo"/>
<cmd name="EditCut" stockid="gtk-cut"/>
<cmd name="EditCopy" stockid="gtk-copy"/>
<cmd name="EditPaste" stockid="gtk-paste"/>
<cmd name="EditSelect" _label="_Select" _tip="Select"/>
<cmd name="EditClear" stockid="gtk-clear"/>
<cmd name="HelpAbout" _label="_About..."
_tip="About this application"
pixtype="stock" pixname="gtk-preferences"/>
</commands>
<menu>
<submenu name="File" _label="_File">
<placeholder/>
<separator/>
<menuitem name="FileNew" verb=""/>
<menuitem name="FileOpen" verb=""/>
<menuitem name="FileSave" verb=""/>
<menuitem name="FileSaveAs" verb=""/>
<menuitem name="FileClose" verb=""/>
<menuitem name="FileExit" verb=""/>
</submenu>
<submenu name="Edit" _label="_Edit">
<placeholder/>
<separator/>
<menuitem name="EditUndo" verb=""/>
<menuitem name="EditRedo" verb=""/>
<separator/>
<menuitem name="EditCut" verb=""/>
<menuitem name="EditCopy" verb=""/>
<menuitem name="EditPaste" verb=""/>
<menuitem name="EditSelect" verb=""/>
<menuitem name="EditClear" verb=""/>
</submenu>
<submenu name="Help" stockid="gtk-help">
<menuitem name="HelpAbout" verb=""/>
</submenu>
</menu>
<dockitem name="Toolbar" relief="none" homogeneous="1"
behavior="exclusive" look="text">
<toolitem name="FileOpen" verb=""/>
<toolitem name="FileSave" verb=""/>
<toolitem name="FileExit" verb=""/>
<placeholder/>
</dockitem>
</Root>
--- NEW FILE ---
#!/usr/bin/env python
#
# hello.py
#
# A hello world application using the Bonobo UI handler
#
# Original Authors:
# Michael Meeks <mi...@xi...>
# Murray Cumming <mu...@us...>
# Havoc Pennington <hp...@re...>
#
# Converted to Python by:
# Johan Dahlin <jd...@te...>
#
import sys
import bonobo
import bonobo.ui
import gtk
HELLO_UI_XML = "Bonobo_Sample_Hello.xml"
# Keep a list of all open application windows
app_list = []
def strreverse (text):
l = list (text)
l.reverse ()
return ''.join (l)
def show_nothing_dialog (widget):
dialog = gtk.MessageDialog (widget,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
gtk.MESSAGE_INFO, gtk.BUTTONS_OK,
'This does nothing; it is only a demonstration')
dialog.run ()
dialog.destroy ()
def hello_on_menu_file_new (uic, verbname, win):
hello = hello_new ()
hello.show_all ()
def hello_on_menu_file_open (uic, verbname, win):
show_nothing_dialog (win)
def hello_on_menu_file_save (uic, verbname, win):
show_nothing_dialog (win)
def hello_on_menu_file_saveas (uic, verbname, win):
show_nothing_dialog (win)
def hello_on_menu_file_exit (uic, verbname, win):
sys.exit (0)
def hello_on_menu_file_close (uic, verbname, win):
app_list.remove (app)
app.destroy ()
if not app_list:
hello_on_menu_file_exit (uic, verbname, win)
def hello_on_menu_edit_undo (uic, verbname, win):
show_nothing_dialog (win)
def hello_on_menu_edit_redo (uic, verbname, win):
show_nothing_dialog (win)
def hello_on_menu_help_about (uic, verbname, win):
dialog = gtk.MessageDialog (win,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
gtk.MESSAGE_INFO, gtk.BUTTONS_OK,
'BonoboUI-Hello')
dialog.run ()
dialog.destroy ()
def hello_on_button_click (w, label):
text = label.get_text ()
label.set_text (strreverse (text))
# These verb names are standard, see libonobobui/doc/std-ui.xml
# to find a list of standard verb names.
# The menu items are specified in Bonobo_Sample_Hello.xml and
# given names which map to these verbs here.
hello_verbs = [
('FileNew', hello_on_menu_file_new),
('FileOpen', hello_on_menu_file_open),
('FileSave', hello_on_menu_file_save),
('FileSaveAs', hello_on_menu_file_saveas),
('FileClose', hello_on_menu_file_close),
('FileExit', hello_on_menu_file_exit),
('EditUndo', hello_on_menu_edit_undo),
('EditRedo', hello_on_menu_edit_redo),
('HelpAbout', hello_on_menu_help_about)
]
def hello_create_main_window ():
window = bonobo.ui.Window ('Title', 'test')
window.show_all ()
ui_container = window.get_ui_container ()
engine = window.get_ui_engine ()
engine.config_set_path ('/hello-app/UIConfig/kvps')
ui_component = bonobo.ui.Component ('test')
ui_component.set_container (ui_container.corba_objref ())
bonobo.ui.util_set_ui (ui_component, '',
HELLO_UI_XML,
'bonobo-hello')
ui_component.add_verb_list (hello_verbs, window)
return window
def delete_event_cb (window, event):
return gtk.TRUE
def hello_new ():
win = hello_create_main_window ()
button = gtk.Button ()
button.set_border_width (10)
label = gtk.Label ('Hello World')
button.add (label)
button.connect ('clicked', hello_on_button_click, label)
win.set_size_request (250, 350)
win.set_resizable (gtk.TRUE)
win.set_property ('allow-shrink', gtk.FALSE)
frame = gtk.Frame ()
frame.set_shadow_type (gtk.SHADOW_IN)
xy = bonobo.get_object('OAFIID:Numexp_XYGraph', 'Bonobo/Control')
wid = bonobo.ui.bonobo_widget_new_control_from_objref(xy, win.get_ui_container().corba_objref())
#frame.add (button)
frame.add(wid)
win.set_contents (frame)
win.connect ('delete_event', delete_event_cb)
app_list.append (win)
return win
if __name__ == '__main__':
app = hello_new ()
app.show_all ()
bonobo.main ()
|
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-14 17:34:05
|
Update of /cvsroot/numexp/gnumexp/src/xygraph
In directory usw-pr-cvs1:/tmp/cvs-serv20316
Modified Files:
numexp-xygraph
Log Message:
Wrap xygraph as a Bonobo::Control.
Index: numexp-xygraph
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/xygraph/numexp-xygraph,v
retrieving revision 1.1
retrieving revision 1.2
diff -U4 -r1.1 -r1.2
--- numexp-xygraph 27 Mar 2002 12:01:55 -0000 1.1
+++ numexp-xygraph 14 Apr 2002 17:34:03 -0000 1.2
@@ -1,9 +1,48 @@
#! /usr/bin/env python
-import Numexp_XYGraph as xy
+from Numexp_XYGraph import *
+import bonobo, bonobo.ui, Bonobo, Numexp
+EXECUTABLE_NAME = 'numexp-xygraph'
+VERSION = '0.0.1'
+FACTORY_IID = 'OAFIID:Numexp_XYGraphFactory'
+CONTROL_IID = 'OAFIID:Numexp_XYGraph'
+#DATA_DIR = '/opt/gnome/share'
+class XYGraphControl(bonobo.ui.Control):
+ def __init__(self):
+ self.xygraph = xygraph = XYGraphView()
+ lineattr = LineAttr(color=Color(0, 0, 0), thickness=.2, mode=Linemode.SOLID)
+ func = Function(lineattr, "Test function", "sin(x)+4", 'x')
+ func2 = Function(lineattr, "Test function", "cos(x)+4", 'x')
+ xygraph.plot_area.add_plot_object(func)
+ xygraph.plot_area.add_plot_object(func2)
+ bonobo.ui.Control.__init__(self, xygraph.get_toplevel_widget())
+ self.connect('activate', self.sample_merge_bonobo_items_cb)
+
+
+ def sample_merge_bonobo_items_cb(self, control, state):
+ print sample_merge_bonobo_items_cb
+
+
+def create_function(generic_factory, iid):
+ print "create_function: iid=" + iid
+ if iid == 'OAFIID:Numexp_XYGraph':
+ return XYGraphControl()
+
+
+bonobo.activate()
+
+## At the time of this writing, the bonobo python bindings were
+## incomplete, so this didn't work.
+#bonobo.bonobo_generic_factory_main(FACTORY_IID, create_function)
+
+
+factory = bonobo.GenericFactory(FACTORY_IID, create_function)
+bonobo.running_context_auto_exit_unref(factory)
+print "XYGraph Control server activated"
+bonobo.main()
|
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-14 17:29:56
|
Update of /cvsroot/numexp/gnumexp/src/nxplot
In directory usw-pr-cvs1:/tmp/cvs-serv18982
Modified Files:
nxpcanvasobject.c
Log Message:
Remove warning in nxp_canvas_object_queue_draw() when object has no canvas yet.
Index: nxpcanvasobject.c
===================================================================
RCS file: /cvsroot/numexp/gnumexp/src/nxplot/nxpcanvasobject.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -U4 -r1.12 -r1.13
--- nxpcanvasobject.c 25 Mar 2002 23:13:30 -0000 1.12
+++ nxpcanvasobject.c 14 Apr 2002 17:29:32 -0000 1.13
@@ -351,9 +351,9 @@
void nxp_canvas_object_queue_draw(NxpCanvasObject *self)
{
g_return_if_fail(self);
g_return_if_fail(NXP_IS_CANVAS_OBJECT(self));
- g_return_if_fail(self->canvas);
+ if (!self->canvas) return;
nxp_canvas_redraw_area(self->canvas, &self->bbox);
}
|
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-13 16:36:43
|
Update of /cvsroot/numexp/numexp-core/modules/gmp In directory usw-pr-cvs1:/tmp/cvs-serv5714/modules/gmp Modified Files: .cvsignore Log Message: Index: .cvsignore =================================================================== RCS file: /cvsroot/numexp/numexp-core/modules/gmp/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -U4 -r1.1 -r1.2 --- .cvsignore 9 Apr 2001 22:10:05 -0000 1.1 +++ .cvsignore 13 Apr 2002 16:36:40 -0000 1.2 @@ -3,4 +3,6 @@ .libs .deps *.lo *.la +*.db + |
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-13 16:36:43
|
Update of /cvsroot/numexp/numexp-core/modules/latex In directory usw-pr-cvs1:/tmp/cvs-serv5714/modules/latex Modified Files: .cvsignore Log Message: Index: .cvsignore =================================================================== RCS file: /cvsroot/numexp/numexp-core/modules/latex/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -U4 -r1.1 -r1.2 --- .cvsignore 12 Oct 2001 21:22:58 -0000 1.1 +++ .cvsignore 13 Apr 2002 16:36:40 -0000 1.2 @@ -3,5 +3,6 @@ .libs Makefile.in *.la *.lo +*.db |
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-13 16:36:43
|
Update of /cvsroot/numexp/numexp-core/misc In directory usw-pr-cvs1:/tmp/cvs-serv5714/misc Added Files: .cvsignore Log Message: --- NEW FILE --- Makefile.in Makefile |
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-13 16:36:43
|
Update of /cvsroot/numexp/numexp-core/modules/mathml In directory usw-pr-cvs1:/tmp/cvs-serv5714/modules/mathml Modified Files: .cvsignore Log Message: Index: .cvsignore =================================================================== RCS file: /cvsroot/numexp/numexp-core/modules/mathml/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -U4 -r1.1 -r1.2 --- .cvsignore 12 Oct 2001 21:22:58 -0000 1.1 +++ .cvsignore 13 Apr 2002 16:36:40 -0000 1.2 @@ -3,5 +3,6 @@ .libs *.lo Makefile.in *.la +*.db |
|
From: Gustavo J. A. M. C. <gu...@us...> - 2002-04-13 16:36:42
|
Update of /cvsroot/numexp/numexp-core/functions In directory usw-pr-cvs1:/tmp/cvs-serv5714/functions Modified Files: .cvsignore Log Message: Index: .cvsignore =================================================================== RCS file: /cvsroot/numexp/numexp-core/functions/.cvsignore,v retrieving revision 1.2 retrieving revision 1.3 diff -U4 -r1.2 -r1.3 --- .cvsignore 20 Apr 2001 13:14:40 -0000 1.2 +++ .cvsignore 13 Apr 2002 16:36:40 -0000 1.3 @@ -3,4 +3,6 @@ *.lo *.la Makefile.in Makefile +*.db + |