Index: trunk/doc/conf/tree/design.html =================================================================== --- trunk/doc/conf/tree/design.html (revision 7041) +++ trunk/doc/conf/tree/design.html (revision 7042) @@ -17,6 +17,7 @@ min_drill coord 0 min_ring coord 0 text_scale integer 0 text scaling in % + text_font_id integer 0 poly_isle_area real 0 polygon min area default_layer_name string 0 fab_author string 0 Full name of author for FAB drawings Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 7041) +++ trunk/scconfig/Rev.h (revision 7042) @@ -1 +1 @@ -static const int myrev = 7022; +static const int myrev = 7042; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 7041) +++ trunk/scconfig/Rev.tab (revision 7042) @@ -1,3 +1,4 @@ +7042 configure gtk splitup 7022 configure multifont support: new actions 6980 configure gtk splitup: preferences dialog 6924 configure new import plugins Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 7041) +++ trunk/src/Makefile.dep (revision 7042) @@ -972,7 +972,7 @@ plug_footprint.h vtlibrary.h plug_io.h misc_util.h layer.h compat_nls.h \ layer_vis.h ../src_plugins/hid_gtk/gtkhid-main.h conf_hid.h \ ../src_plugins/hid_gtk/gui-drc-window.h \ - ../src_plugins/hid_gtk/gui-log-window.h \ + ../src_plugins/lib_gtk_common/dlg_log.h \ ../src_plugins/hid_gtk/gui-library-window.h \ ../src_plugins/hid_gtk/gui-command-window.h \ ../src_plugins/hid_gtk/gui-top-window.h \ @@ -1089,9 +1089,9 @@ ../src_plugins/lib_gtk_common/in_mouse.h hid_cfg_input.h hid_cfg.h \ ../src_plugins/lib_gtk_common/win_place.h \ ../src_plugins/lib_gtk_config/hid_gtk_conf.h conf.h -../src_plugins/hid_gtk/gui-log-window.o: \ - ../src_plugins/hid_gtk/gui-log-window.c ../config.h \ - ../src_plugins/hid_gtk/gui-log-window.h pcb_bool.h error.h conf_core.h \ +../src_plugins/lib_gtk_common/dlg_log.o: \ + ../src_plugins/lib_gtk_common/dlg_log.c ../config.h \ + ../src_plugins/lib_gtk_common/dlg_log.h pcb_bool.h error.h conf_core.h \ conf.h global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h ../src_3rd/liblihata/lihata.h \ Index: trunk/src_plugins/hid_gtk/gui-log-window.c =================================================================== --- trunk/src_plugins/hid_gtk/gui-log-window.c (revision 7041) +++ trunk/src_plugins/hid_gtk/gui-log-window.c (nonexistent) @@ -1,210 +0,0 @@ -/* - * COPYRIGHT - * - * PCB, interactive printed circuit board design - * Copyright (C) 1994,1995,1996 Thomas Nau - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Contact addresses for paper mail and Email: - * Thomas Nau, Schlehenweg 15, 88471 Baustetten, Germany - * Thomas.Nau@rz.uni-ulm.de - * - */ - -/* This file written by Bill Wilson for the PCB Gtk port -*/ - -#include "config.h" -#include -#include - -#include "gui-log-window.h" - -#include "conf_core.h" -#include "conf_hid.h" - -#include "pcb-printf.h" -#include "hid_actions.h" -#include "compat_nls.h" -#include "gtkhid-main.h" - -#include "../src_plugins/lib_gtk_common/win_place.h" -#include "../src_plugins/lib_gtk_common/bu_text_view.h" -#include "../src_plugins/lib_gtk_config/hid_gtk_conf.h" - -static GtkWidget *log_window, *log_text; -static pcb_bool log_show_on_append = FALSE; - -/* Remember user window resizes. */ -static gint log_window_configure_event_cb(GtkWidget * widget, GdkEventConfigure * ev, gpointer data) -{ - wplc_config_event(widget, &hid_gtk_wgeo.log_x, &hid_gtk_wgeo.log_y, &hid_gtk_wgeo.log_width, &hid_gtk_wgeo.log_height); - return FALSE; -} - -static void log_close_cb(gpointer data) -{ - gtk_widget_destroy(log_window); - log_window = NULL; -} - -static void log_destroy_cb(GtkWidget * widget, gpointer data) -{ - log_window = NULL; -} - -void ghid_log_window_create() -{ - GtkWidget *vbox, *hbox, *button; - extern int gtkhid_active; - - if ((log_window) || (!gtkhid_active)) - return; - - log_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - g_signal_connect(G_OBJECT(log_window), "destroy", G_CALLBACK(log_destroy_cb), NULL); - g_signal_connect(G_OBJECT(log_window), "configure_event", G_CALLBACK(log_window_configure_event_cb), NULL); - gtk_window_set_title(GTK_WINDOW(log_window), _("pcb-rnd Log")); - gtk_window_set_wmclass(GTK_WINDOW(log_window), "PCB_Log", "PCB"); - gtk_window_set_default_size(GTK_WINDOW(log_window), hid_gtk_wgeo.log_width, hid_gtk_wgeo.log_height); - - vbox = gtk_vbox_new(FALSE, 0); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); - gtk_container_add(GTK_CONTAINER(log_window), vbox); - - log_text = ghid_scrolled_text_view(vbox, NULL, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - hbox = gtk_hbutton_box_new(); - gtk_button_box_set_layout(GTK_BUTTON_BOX(hbox), GTK_BUTTONBOX_END); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(log_close_cb), NULL); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - - wplc_place(WPLC_LOG, log_window); - - gtk_widget_realize(log_window); -} - -void ghid_log_window_show(pcb_bool raise) -{ - ghid_log_window_create(); - gtk_widget_show_all(log_window); - if (raise) - gtk_window_present(GTK_WINDOW(log_window)); -} - -typedef struct log_pending_s log_pending_t; -struct log_pending_s { - log_pending_t *next; - enum pcb_message_level level; - char msg[1]; -}; - -log_pending_t *log_pending_first = NULL, *log_pending_last = NULL; - -static void ghid_log_append_string_(enum pcb_message_level level, gchar *msg) -{ - const char *tag; - int popup; - - conf_loglevel_props(level, &tag, &popup); - if (tag != NULL) - ghid_text_view_append(log_text, (gchar *)tag); - - ghid_text_view_append(log_text, msg); - - if (popup) - pcb_hid_actionl("DoWindows", "Log", "false", NULL); -} - -static void ghid_log_append_string(enum pcb_message_level level, gchar *s) -{ - extern int gtkhid_active; - log_pending_t *m, *next; - - if (!gtkhid_active) { - /* GUI not initialized yet - save these messages for later - NOTE: no need to free this at quit: the GUI will be inited and then it'll be freed */ - m = malloc(sizeof(log_pending_t) + strlen(s)); - strcpy(m->msg, s); - m->level = level; - m->next = NULL; - if (log_pending_last != NULL) - log_pending_last->next = m; - log_pending_last = m; - if (log_pending_first == NULL) - log_pending_first = m; - return; - } - - if (!log_show_on_append) { - ghid_log_window_create(); - /* display and free pending messages */ - for(m = log_pending_first; m != NULL; m = next) { - next = m->next; - ghid_log_append_string_(m->level, m->msg); - free(m); - } - log_pending_last = log_pending_first = NULL; - } - else - ghid_log_window_show(FALSE); - - ghid_log_append_string_(level, s); -} - -void ghid_log(const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - ghid_logv(PCB_MSG_INFO, fmt, ap); - va_end(ap); -} - -void ghid_logv(enum pcb_message_level level, const char *fmt, va_list args) -{ - char *msg = pcb_strdup_vprintf(fmt, args); - ghid_log_append_string(level, msg); - free(msg); -} - -static const char logshowonappend_syntax[] = "LogShowOnAppend(true|false)"; - -static const char logshowonappend_help[] = "If true, the log window will be shown whenever something is appended \ -to it. If false, the log will still be updated, but the window won't \ -be shown."; - -static gint GhidLogShowOnAppend(int argc, const char **argv, pcb_coord_t x, pcb_coord_t y) -{ - const char *a = argc == 1 ? argv[0] : ""; - - if (tolower(*a) == 't') { - log_show_on_append = TRUE; - } - else if (tolower(*a) == 'f') { - log_show_on_append = FALSE; - } - return 0; -} - -pcb_hid_action_t ghid_log_action_list[] = { - {"LogShowOnAppend", 0, GhidLogShowOnAppend, - logshowonappend_help, logshowonappend_syntax} - , -}; - -PCB_REGISTER_ACTIONS(ghid_log_action_list, ghid_cookie) Index: trunk/src_plugins/hid_gtk/gui-log-window.h =================================================================== --- trunk/src_plugins/hid_gtk/gui-log-window.h (revision 7041) +++ trunk/src_plugins/hid_gtk/gui-log-window.h (nonexistent) @@ -1,10 +0,0 @@ -#include "pcb_bool.h" -#include "error.h" - -void ghid_log_window_create(); -void ghid_log_window_show(pcb_bool raise); -void ghid_log(const char *fmt, ...); -void ghid_logv(enum pcb_message_level level, const char *fmt, va_list args); - -/* Temporary back reference to hid_gtk */ -extern const char *ghid_cookie; \ No newline at end of file Index: trunk/src_plugins/hid_gtk/Plug.tmpasm =================================================================== --- trunk/src_plugins/hid_gtk/Plug.tmpasm (revision 7041) +++ trunk/src_plugins/hid_gtk/Plug.tmpasm (revision 7042) @@ -6,7 +6,6 @@ $(PLUGDIR)/hid_gtk/gui-command-window.o $(PLUGDIR)/hid_gtk/gui-drc-window.o $(PLUGDIR)/hid_gtk/gui-library-window.o - $(PLUGDIR)/hid_gtk/gui-log-window.o $(PLUGDIR)/hid_gtk/gui-netlist-window.o $(PLUGDIR)/hid_gtk/gui-output-events.o $(PLUGDIR)/hid_gtk/gui-top-window.o Index: trunk/src_plugins/hid_gtk/gtkhid-main.c =================================================================== --- trunk/src_plugins/hid_gtk/gtkhid-main.c (revision 7041) +++ trunk/src_plugins/hid_gtk/gtkhid-main.c (revision 7042) @@ -32,7 +32,6 @@ #include "gtkhid-main.h" #include "ghid-main-menu.h" #include "gui-drc-window.h" -#include "gui-log-window.h" #include "gui-library-window.h" #include "gui-command-window.h" #include "gui-top-window.h" @@ -51,6 +50,7 @@ #include "../src_plugins/lib_gtk_common/dlg_export.h" #include "../src_plugins/lib_gtk_common/dlg_file_chooser.h" #include "../src_plugins/lib_gtk_common/dlg_input.h" +#include "../src_plugins/lib_gtk_common/dlg_log.h" #include "../src_plugins/lib_gtk_common/dlg_message.h" #include "../src_plugins/lib_gtk_common/dlg_print.h" #include "../src_plugins/lib_gtk_common/dlg_progress.h" Index: trunk/src_plugins/lib_gtk_common/Plug.tmpasm =================================================================== --- trunk/src_plugins/lib_gtk_common/Plug.tmpasm (revision 7041) +++ trunk/src_plugins/lib_gtk_common/Plug.tmpasm (revision 7042) @@ -21,6 +21,7 @@ $(PLUGDIR)/lib_gtk_common/dlg_export.o $(PLUGDIR)/lib_gtk_common/dlg_file_chooser.o $(PLUGDIR)/lib_gtk_common/dlg_input.o + $(PLUGDIR)/lib_gtk_common/dlg_log.o $(PLUGDIR)/lib_gtk_common/dlg_message.o $(PLUGDIR)/lib_gtk_common/dlg_pinout.o $(PLUGDIR)/lib_gtk_common/dlg_print.o