diff -crNP ../siag-3.3.1/ChangeLog ./ChangeLog *** ../siag-3.3.1/ChangeLog Thu Mar 23 10:10:02 2000 --- ./ChangeLog Mon Mar 27 21:13:59 2000 *************** *** 1,5 **** ! 000323 Include sys/types.h in common/common.h. 000321 Siag, PW, Egon, plugins, common, xcommon: fixed several missing or broken prototypes. --- 1,21 ---- ! 000327 PW: New Ruler widget. Removed rulerframe. ! Combo pops down if mouse button is clicked outside list. ! Russian translation by Sergey Korepanov . ! Released 3.3.2. ! ! 000326 Removed unused resources from Table. ! ! 000324 Made terminal depend on environment setting (see Tools menu). ! Added Calculator to Tools menu. ! Pedantically renamed everything called MenuButton in Nws ! to NwsMenuButton. ! ! 000323 Removed references to Xaw3d from the documentation. ! Include sys/types.h in common/common.h. Created the patch ! diff-3.3.0-3.3.1.gz and released 3.3.1. ! ! 000322 Released 3.3.0. 000321 Siag, PW, Egon, plugins, common, xcommon: fixed several missing or broken prototypes. diff -crNP ../siag-3.3.1/NLS ./NLS *** ../siag-3.3.1/NLS Tue Mar 14 07:08:10 2000 --- ./NLS Mon Mar 27 21:05:10 2000 *************** *** 10,15 **** --- 10,16 ---- German de Matthias Warkus Norwegian no BjЬrn-Ove Heimsund Polish pl Przemek Borys + Russian ru Sergey Korepanov Spanish es Willian Sanches Swedish sv Ulric Eriksson diff -crNP ../siag-3.3.1/Nws/MenuButton.c ./Nws/MenuButton.c *** ../siag-3.3.1/Nws/MenuButton.c Fri Mar 17 21:56:21 2000 --- ./Nws/MenuButton.c Fri Mar 24 21:02:09 2000 *************** *** 17,32 **** XtCMenu_name , XtRString , sizeof(String) , ! XtOffsetOf(MenuButtonRec,menuButton.menu_name) , XtRImmediate , (XtPointer) "menu" , }, }; ! static void PopupMenu(); static XtActionsRec action [] = { ! {"popup_menu",PopupMenu}, }; static char trans_tab [] = --- 17,32 ---- XtCMenu_name , XtRString , sizeof(String) , ! XtOffsetOf(NwsMenuButtonRec,nwsMenuButton.menu_name) , XtRImmediate , (XtPointer) "menu" , }, }; ! static void NwsPopupMenu(); static XtActionsRec action [] = { ! {"popup_menu",NwsPopupMenu}, }; static char trans_tab [] = *************** *** 44,55 **** static void ClassInitialize(); ! MenuButtonClassRec menuButtonClassRec = { /* core */ { /* superclass */ (WidgetClass) &buttonClassRec, ! /* class_name */ "MenuButton", ! /* widget_size */ sizeof(MenuButtonRec), /* class_initialize */ ClassInitialize, /* class_part_initialize */ NULL, /* class_inited */ FALSE, --- 44,55 ---- static void ClassInitialize(); ! NwsMenuButtonClassRec nwsMenuButtonClassRec = { /* core */ { /* superclass */ (WidgetClass) &buttonClassRec, ! /* class_name */ "NwsMenuButton", ! /* widget_size */ sizeof(NwsMenuButtonRec), /* class_initialize */ ClassInitialize, /* class_part_initialize */ NULL, /* class_inited */ FALSE, *************** *** 97,122 **** { /* empty */ 0 }, ! /* menuButton */ { /* empty */ 0 }, }; ! WidgetClass menuButtonWidgetClass = (WidgetClass) & menuButtonClassRec; static void ClassInitialize() { _InitializeWidgetSet(); } ! static void PopupMenu(w , event , params , num_params) Widget w; XEvent*event; String*params; Cardinal*num_params; { ! MenuButtonWidget cw = (MenuButtonWidget) w; Widget menu = NULL; Widget parent = w; #if 0 --- 97,122 ---- { /* empty */ 0 }, ! /* nwsMenuButton */ { /* empty */ 0 }, }; ! WidgetClass nwsMenuButtonWidgetClass = (WidgetClass) & nwsMenuButtonClassRec; static void ClassInitialize() { _InitializeWidgetSet(); } ! static void NwsPopupMenu(w , event , params , num_params) Widget w; XEvent*event; String*params; Cardinal*num_params; { ! NwsMenuButtonWidget cw = (NwsMenuButtonWidget) w; Widget menu = NULL; Widget parent = w; #if 0 *************** *** 133,139 **** while (parent != NULL && menu == NULL) { ! if ((menu = XtNameToWidget(parent , cw->menuButton.menu_name)) == NULL) parent = XtParent(parent); } --- 133,139 ---- while (parent != NULL && menu == NULL) { ! if ((menu = XtNameToWidget(parent , cw->nwsMenuButton.menu_name)) == NULL) parent = XtParent(parent); } diff -crNP ../siag-3.3.1/Nws/MenuButton.h ./Nws/MenuButton.h *** ../siag-3.3.1/Nws/MenuButton.h Tue Mar 11 16:50:08 1997 --- ./Nws/MenuButton.h Fri Mar 24 21:02:17 2000 *************** *** 5,12 **** /* Distributed under GPL 2 or later */ /***************************************************************************/ ! #ifndef _MenuButton_H_ ! #define _MenuButton_H_ #include --- 5,12 ---- /* Distributed under GPL 2 or later */ /***************************************************************************/ ! #ifndef _NwsMenuButton_H_ ! #define _NwsMenuButton_H_ #include *************** *** 17,25 **** #define XtCMenu_name "Menu_name" #endif ! typedef struct _MenuButtonClassRec *MenuButtonWidgetClass; ! typedef struct _MenuButtonRec *MenuButtonWidget; ! extern WidgetClass menuButtonWidgetClass; #endif --- 17,25 ---- #define XtCMenu_name "Menu_name" #endif ! typedef struct _NwsMenuButtonClassRec *NwsMenuButtonWidgetClass; ! typedef struct _NwsMenuButtonRec *NwsMenuButtonWidget; ! extern WidgetClass nwsMenuButtonWidgetClass; #endif diff -crNP ../siag-3.3.1/Nws/MenuButtonP.h ./Nws/MenuButtonP.h *** ../siag-3.3.1/Nws/MenuButtonP.h Tue Mar 11 16:49:58 1997 --- ./Nws/MenuButtonP.h Fri Mar 24 21:02:27 2000 *************** *** 5,40 **** /* Distributed under GPL 2 or later */ /***************************************************************************/ ! #ifndef _MenuButtonP_H_ ! #define _MenuButtonP_H_ #include #include typedef struct { char empty; ! } MenuButtonClassPart; ! typedef struct _MenuButtonClassRec { CoreClassPart core_class; BaseClassPart base_class; SButtonClassPart sButton_class; ButtonClassPart button_class; ! MenuButtonClassPart menuButton_class; ! } MenuButtonClassRec; typedef struct { /* resoureces */ String menu_name; /* private */ ! } MenuButtonPart; ! typedef struct _MenuButtonRec{ CorePart core; BasePart base; SButtonPart sButton; ButtonPart button; ! MenuButtonPart menuButton; ! } MenuButtonRec; #endif --- 5,40 ---- /* Distributed under GPL 2 or later */ /***************************************************************************/ ! #ifndef _NwsMenuButtonP_H_ ! #define _NwsMenuButtonP_H_ #include #include typedef struct { char empty; ! } NwsMenuButtonClassPart; ! typedef struct _NwsMenuButtonClassRec { CoreClassPart core_class; BaseClassPart base_class; SButtonClassPart sButton_class; ButtonClassPart button_class; ! NwsMenuButtonClassPart nwsMenuButton_class; ! } NwsMenuButtonClassRec; typedef struct { /* resoureces */ String menu_name; /* private */ ! } NwsMenuButtonPart; ! typedef struct _NwsMenuButtonRec{ CorePart core; BasePart base; SButtonPart sButton; ButtonPart button; ! NwsMenuButtonPart nwsMenuButton; ! } NwsMenuButtonRec; #endif diff -crNP ../siag-3.3.1/TODO ./TODO *** ../siag-3.3.1/TODO Wed Mar 22 07:20:28 2000 --- ./TODO Mon Mar 27 17:49:24 2000 *************** *** 1,7 **** ! Set up so the web site can be managed offline. - Remove bogus resources from Table Change plugin coordinates to use pixels rather than cells. --- 1,26 ---- ! PW: transfer control over the data from the application to the ! Richtext widget. This so that Richtext can be used on its own. ! Changes required: enormous. The sheet datastructure must be encapsulated ! in the widget rather than the application. Actions must be rewritten ! to not require SIOD. Yuk. ! The text must have a reasonable representation in the widget. I would ! prefer to have a single string of richtext characters with lines separated ! by newlines, but then we lose the styles. PW stores each line as ! height, style, adjustment, bop and richtext. The widget would need to ! do the same for each line. It would also need to store all this info: ! point row and column, mark row and column, top, block boundaries, ! number of allocated and used lines, the lines as specified above, ! and finally the plugins. Whew. ! ! PW: give one ruler, grid, hscroll and vscroll to ! each sheet. Move all the position tracking from pw to xcommon, ! i.e. remove point_pos, mark_pos, top, blku and blkl from ! struct sheet. ! ! OTOH, use one Richtext widget for each sheet. It looks like I'm ! about to wreck the "device independence". Change plugin coordinates to use pixels rather than cells. *************** *** 10,22 **** Unredirect stderr when executing child processes; unrelated popups are quite annoying. - Zombies from helper applications. Can be fixed by making them - children of init or by making sure sigchild handlers are installed. - - Update the web site. - - *Move* the web site, the ftp archive, the mailing list and everything - else. Put it on siag.nu for now, arrange a permanent solution later. Old bugs from before 3.2.0 follow. --- 29,34 ---- *************** *** 30,39 **** features in 3.7. Integrate libMagick and libxmagick. - - Another Combo bug: clicking outside the widget should pop down - the list. It did at one point in time, but that seems to be - broken now. Xedplus: Menu entry to send mail. Display row/column on status line. --- 42,47 ---- diff -crNP ../siag-3.3.1/common/Makefile.am ./common/Makefile.am *** ../siag-3.3.1/common/Makefile.am Wed Feb 16 08:02:11 2000 --- ./common/Makefile.am Mon Mar 27 20:19:45 2000 *************** *** 21,27 **** t1lib.config FontDataBase IsoLatin1.enc IsoLatin2.enc \ dictionary.sv dictionary.es dictionary.de dictionary.fr \ dictionary.no dictionary.hr dictionary.da dictionary.pl \ ! dictionary.gl common_SCRIPTS = any2xpm readpfa --- 21,27 ---- t1lib.config FontDataBase IsoLatin1.enc IsoLatin2.enc \ dictionary.sv dictionary.es dictionary.de dictionary.fr \ dictionary.no dictionary.hr dictionary.da dictionary.pl \ ! dictionary.gl dictionary.ru common_SCRIPTS = any2xpm readpfa *************** *** 40,69 **** colors.scm: rgb rgb.txt ./rgb < $(srcdir)/rgb.txt > colors.scm - #dictionary.sv: dictionary.sv.in - # $(srcdir)/makedict $@ - # - #dictionary.es: dictionary.es.in - # $(srcdir)/makedict $@ - # - #dictionary.de: dictionary.de.in - # $(srcdir)/makedict $@ - # - #dictionary.fr: dictionary.fr.in - # $(srcdir)/makedict $@ - # - #dictionary.no: dictionary.no.in - # $(srcdir)/makedict $@ - # - #dictionary.hr: dictionary.hr.in - # $(srcdir)/makedict $@ - # - #dictionary.da: dictionary.da.in - # $(srcdir)/makedict $@ - # - #dictionary.pl: dictionary.pl.in - # $(srcdir)/makedict $@ - # - #dictionary.gl: dictionary.gl.in - # $(srcdir)/makedict $@ - # --- 40,42 ---- diff -crNP ../siag-3.3.1/common/Makefile.in ./common/Makefile.in *** ../siag-3.3.1/common/Makefile.in Thu Mar 23 14:11:47 2000 --- ./common/Makefile.in Mon Mar 27 21:14:21 2000 *************** *** 98,104 **** CLEANFILES = rgb comments commondir = $(datadir)/siag/common ! common_DATA = colors.scm common.scm position.scm fonts.scm tools.scm t1lib.config FontDataBase IsoLatin1.enc IsoLatin2.enc dictionary.sv dictionary.es dictionary.de dictionary.fr dictionary.no dictionary.hr dictionary.da dictionary.pl dictionary.gl common_SCRIPTS = any2xpm readpfa --- 98,104 ---- CLEANFILES = rgb comments commondir = $(datadir)/siag/common ! common_DATA = colors.scm common.scm position.scm fonts.scm tools.scm t1lib.config FontDataBase IsoLatin1.enc IsoLatin2.enc dictionary.sv dictionary.es dictionary.de dictionary.fr dictionary.no dictionary.hr dictionary.da dictionary.pl dictionary.gl dictionary.ru common_SCRIPTS = any2xpm readpfa *************** *** 436,469 **** colors.scm: rgb rgb.txt ./rgb < $(srcdir)/rgb.txt > colors.scm - - #dictionary.sv: dictionary.sv.in - # $(srcdir)/makedict $@ - # - #dictionary.es: dictionary.es.in - # $(srcdir)/makedict $@ - # - #dictionary.de: dictionary.de.in - # $(srcdir)/makedict $@ - # - #dictionary.fr: dictionary.fr.in - # $(srcdir)/makedict $@ - # - #dictionary.no: dictionary.no.in - # $(srcdir)/makedict $@ - # - #dictionary.hr: dictionary.hr.in - # $(srcdir)/makedict $@ - # - #dictionary.da: dictionary.da.in - # $(srcdir)/makedict $@ - # - #dictionary.pl: dictionary.pl.in - # $(srcdir)/makedict $@ - # - #dictionary.gl: dictionary.gl.in - # $(srcdir)/makedict $@ - # # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. --- 436,441 ---- diff -crNP ../siag-3.3.1/common/common.scm ./common/common.scm *** ../siag-3.3.1/common/common.scm Tue Mar 14 18:08:17 2000 --- ./common/common.scm Thu Mar 23 23:02:54 2000 *************** *** 28,33 **** --- 28,35 ---- (define editor-command "xedplus") (define help-command siaghelp) (define filer-command "xfiler") + (define terminal-command "xterm -sb -sl 500 -j -ls -fn 7x14") + (define calculator-command "xcalc") (define homedir (string-append (getenv "HOME") "/.siag")) *************** *** 45,63 **** "(define lpr-command \"" lpr-command "\")\n" "(define editor-command \"" editor-command "\")\n" "(define help-command \"" help-command "\")\n" ! "(define filer-command \"" filer-command "\")\n") (fclose fp))) (if (stat appfile) (require appfile) (save-applications)) ! (define (set-applications viewer lpr editor help filer) (if (string? viewer) (set! viewer-command viewer)) (if (string? lpr) (set! lpr-command lpr)) (if (string? editor) (set! editor-command editor)) (if (string? help) (set! help-command help)) (if (string? filer) (set! filer-command filer)) (save-applications)) (define (set-environment int) --- 47,69 ---- "(define lpr-command \"" lpr-command "\")\n" "(define editor-command \"" editor-command "\")\n" "(define help-command \"" help-command "\")\n" ! "(define filer-command \"" filer-command "\")\n" ! "(define terminal-command \"" terminal-command "\")\n" ! "(define calculator-command \"" calculator-command "\")\n") (fclose fp))) (if (stat appfile) (require appfile) (save-applications)) ! (define (set-applications viewer lpr editor help filer term calc) (if (string? viewer) (set! viewer-command viewer)) (if (string? lpr) (set! lpr-command lpr)) (if (string? editor) (set! editor-command editor)) (if (string? help) (set! help-command help)) (if (string? filer) (set! filer-command filer)) + (if (string? term) (set! terminal-command term)) + (if (string? calc) (set! calculator-command calc)) (save-applications)) (define (set-environment int) *************** *** 66,72 **** (lpr lpr-command) (editor editor-command) (help help-command) ! (filer filer-command)) (cond ((equal? int "Defaults") (begin --- 72,80 ---- (lpr lpr-command) (editor editor-command) (help help-command) ! (filer filer-command) ! (term terminal-command) ! (calc calculator-command)) (cond ((equal? int "Defaults") (begin *************** *** 74,80 **** (set! lpr "lpr") (set! editor "xedplus") (set! help siaghelp) ! (set! filer "xfiler"))) ((equal? int "Gnome") (begin (set! viewer "ggv") --- 82,90 ---- (set! lpr "lpr") (set! editor "xedplus") (set! help siaghelp) ! (set! filer "xfiler") ! (set! term "xterm") ! (set! calc "xcalc"))) ((equal? int "Gnome") (begin (set! viewer "ggv") *************** *** 86,98 **** (set! viewer "kghostview") (set! editor "kedit") (set! help "kdehelp") ! (set! filer "kfm"))) ((equal? int "CDE") (begin (set! editor "dtpad") (set! filer "dtfile"))) (t nil)) ; keep all the defaults ! (set-applications viewer lpr editor help filer))) (define (edit-applications) (let ((new nil) --- 96,109 ---- (set! viewer "kghostview") (set! editor "kedit") (set! help "kdehelp") ! (set! term "konsole") ! (set! calc "kcalc"))) ((equal? int "CDE") (begin (set! editor "dtpad") (set! filer "dtfile"))) (t nil)) ; keep all the defaults ! (set-applications viewer lpr editor help filer term calc))) (define (edit-applications) (let ((new nil) *************** *** 101,123 **** (editor editor-command) (help help-command) (filer filer-command) (int "Custom")) (form-begin) - ; (form-label "Integration") - ; (form-properties XtNwidth 120) - ; (form-menu "int") - ; (form-menuentry "Defaults") - ; (form-menuentry "Gnome") - ; (form-menuentry "KDE") - ; (form-menuentry "CDE") - ; (form-menuentry "Custom") - ; (form-properties XtNlabel int XtNwidth 200) - ; (form-newline) (input-field "Previewer" 120 "viewer" 200 viewer) (input-field "Printer" 120 "lpr" 200 lpr) (input-field "Editor" 120 "editor" 200 editor) (input-field "Help browser" 120 "help" 200 help) (input-field "File manager" 120 "filer" 200 filer) (form-okbutton "OK") (form-cancelbutton "Cancel") (set! new (form-end)) --- 112,128 ---- (editor editor-command) (help help-command) (filer filer-command) + (term terminal-command) + (calc calculator-command) (int "Custom")) (form-begin) (input-field "Previewer" 120 "viewer" 200 viewer) (input-field "Printer" 120 "lpr" 200 lpr) (input-field "Editor" 120 "editor" 200 editor) (input-field "Help browser" 120 "help" 200 help) (input-field "File manager" 120 "filer" 200 filer) + (input-field "Terminal" 120 "term" 200 term) + (input-field "Calculator" 120 "calc" 200 calc) (form-okbutton "OK") (form-cancelbutton "Cancel") (set! new (form-end)) *************** *** 126,163 **** (set! editor (extract-string "editor" new)) (set! help (extract-string "help" new)) (set! filer (extract-string "filer" new)) ! ; (set! int (extract-string "int" new)) ! ; (cond ! ; ((equal? int "Defaults") ! ; (begin ! ; (set! viewer "gvu") ! ; (set! lpr "lpr") ! ; (set! editor "xedplus") ! ; (set! help siaghelp) ! ; (set! filer "xfiler"))) ! ; ((equal? int "Gnome") ! ; (begin ! ; (set! viewer "ggv") ! ; (set! editor "gedit") ! ; (set! help "gzilla") ! ; (set! filer "gmc"))) ! ; ((equal? int "KDE") ! ; (begin ! ; (set! viewer "kghostview") ! ; (set! editor "kedit") ! ; (set! help "kdehelp") ! ; (set! filer "kfm"))) ! ; ((equal? int "CDE") ! ; (begin ! ; (set! editor "dtpad") ! ; (set! filer "dtfile"))) ! ; (t nil)) ; keep all the defaults ! ; (if (string? viewer) (set! viewer-command viewer)) ! ; (if (string? lpr) (set! lpr-command lpr)) ! ; (if (string? editor) (set! editor-command editor)) ! ; (if (string? help) (set! help-command help)) ! ; (if (string? filer) (set! filer-command filer)))) ! (set-applications viewer lpr editor help filer))) (define (exec-siod) (execute-interpreter-command 'SIOD)) --- 131,139 ---- (set! editor (extract-string "editor" new)) (set! help (extract-string "help" new)) (set! filer (extract-string "filer" new)) ! (set! term (extract-string "term" new)) ! (set! calc (extract-string "calc" new)) ! (set-applications viewer lpr editor help filer term calc))) (define (exec-siod) (execute-interpreter-command 'SIOD)) diff -crNP ../siag-3.3.1/common/dictionary.ru ./common/dictionary.ru *** ../siag-3.3.1/common/dictionary.ru Thu Jan 1 01:00:00 1970 --- ./common/dictionary.ru Mon Mar 27 21:10:46 2000 *************** *** 0 **** --- 1,416 ---- + + Siag (Scheme In A Grid) %s. No Warranty. Siag (Scheme In A Grid) %s. Без гаранти + й. + File Файл + Edit Правка + Block Блок + Format Формат + Data Данные + Plugin Plugin + Window Окно + Plot Диаграмма + Tools Утилиты + Help Помощь + Start another instance of Siag Запустить другой экземпляр Siag + Open a Siag document Открыть Siag документ + Save the contents of the current buffer Сохранить содержимое буфера + Preview the contents of the current buffer Просмотр содержимого буфера + Print the contents of the current buffer Печать содержимого буфера + Spelling checker Проверка орфографии + Cut Вырезать + Copy Копировать + Paste Вставить + Undo Отменить + Sort ascending Восходящая сортировка + Sort descending Нисходящая сортировка + Plot the contents of the block using lines Графики + Add the contents of the block Суммировать содержимое блока + Display the Siag online documentation Просмотр документации + Display the Gnu general public license Просмотр лицензии GNU GPL + Change the font family Изменить семейство шрифтов + Change the font size Изменить размер шрифта + Change the display style Изменить стиль представления + Change the color Изменить цвет + Bold text Жирный шрифт + Italic text Наклонный шрифт + Left adjusted text Текст влево + Centered text Текст в центр + Right adjusted text Текст вправо + Draw grid lines in the block Нарисовать сетку в блоке + Draw borders around the block Нарисовать рамку вокруг блока + Underline the block Подчеркнуть блок + Remove grid lines from the block Удалить сетку из блока + Select everything Выбрать все + OK OK + Cancel Отмена + File Name: Имя файла: + Directory: Каталог: + Select File Выбор файла + Find Найти + Extra Экстра + Home Домой + Examples Примеры + Family Name Имя семейства + Size Размер + Attributes Атрибуты + Borders Рамки + Adjustment Выравнивание + Misc Разное + List Selection Список + New Новый + Open Открыть + Save Сохранить + Save As Сохранить как... + Preview Просмотр + Close Закрыть + Backup Copies Резервные копии + Settings Установки + Margins Границы + Paper Size Размер листа + Header and Footer Верхний и нижний колонтикулы + First Page Number Номер первой страницы + Style Стиль + Foreground Color Цвет переднего плана + Background Color Цвет подложки + Enter Date Ввод даты + Enter Time Ввод времени + Move Sheet Передвинуть таблицу + Up Вверх + Down Вниз + Edit Applications Редактирование приложений + Save Applications Сохранение приложений + Applets Апплеты + Resize Изменить размер + Print Печать + Print Format Формат печати + Orientation Ориентация + Portrait Портретная + Landscape Картинная + Cell Protection Защита ячейки + Respect Отношение + Ignore Игнорировать + Load External Загрузить внешний документ + Save External Сохранить внешний документ + Exit Выйти + Undo Отменить + Delete Удалить + Insert Line Вставить строку + Remove Line Удалить строку + Insert Column Вставить колонку + Remove Column Удалить колонку + Select All Выбрать все + Select everything Выбрать все + Find Поиск вперед + Find Backward Поиск назад + Label Метка + SIOD Expression Выражение SIOD + C Expression Выражение С + Guile Expression Выражение Guile + Tcl Expression Выражение Tcl + Change default interpreter Сменить интерпретатор по-умолчанию + Change Default Interpreter Сменить интерпретатор по-умолчанию + Other Другое + Add Property Добавить свойство + Embed Object Встроить объект + Remove Object Удалить объект + Open Object Открыть объект + Save Object Сохранить объект + Set Mark Установить маркер + Set Block Установить блок + Unset Block Отменить блок + Copy Block Копировать блок + Delete Block Удалить блок + Fill Block Заполнить блок + Smart Fill Block Быстро заполнить блок + Sort Сортировать + Rows Ascending as Text Строки как текст по возрастающей + Rows Ascending as Numbers Строки как числа по возрастающей + Rows Descending as Text Строки как текст по убывающей + Rows Descending as Numbers Строки как числа по убывающей + Columns Ascending as Text Колонки как текст по возрастающей + Columns Ascending as Numbers Колонки как числа по возрастающей + Columns Descending as Text Колонки как текст по убывающей + Columns Descending as Numbers Колонки как числа по убывающей + Block Sum Сумма элементов блока + Block Minimum Минимум блока + Block Maximum Максимум блока + Block Average Среднее блока + Borders Границы + Grid Сетка + Underline Подчеркнуть + None Ничего + Column Width Ширина колонки + Set Установить + Fit Block Установить блок + Set Default Сделать по-умолчанию + Fit Block Width Установить ширину блока + Row Height Высота строки + Fit Block Height Установить высоту блока + Set Default Format Установить формат по-умолчанию + Cell Format Формат ячейки + Block Format Формат блока + Cell Style Стиль ячейки + Block Style Стиль блока + Define Style Определить стиль + Cell Color Цвет ячейки + Block Color Цвет блока + Edit Record Редактировать запись + Data Entry Запись данных + Siag-net Сеть Siag + Identify Cell Идентифицировать ячейку + Recalculate Пересчитать + Change Buffer Сменить буфер + Delete Buffer Удалить буфер + Split Window Разбить окно + Remove Window Удалить окно + One Window Одно окно + Change Window Сменить окно + Add Sheet Добавить таблицу + Remove Sheet Удалить таблицу + Rename Sheet Переименовать таблицу + Protect Cells Защитить ячейки + Remove Protection Удалить защиту + Go To Идти на... + Beginning of buffer Начало буфера + End of buffer Конец буфера + Top of buffer Верх буфера + Bottom of buffer Низ буфера + Grid Lines Сетка + Show Показать + Hide Скрыть + Reference Style Стиль ссылки + Disable Helptexts Выключить подсказки + Helptexts Подсказки + Disable Выключить + Both Оба + Save Preferences Сохранить установки + Lines Линии + Points Крестики + Linespoints Пунктир + Impulses Импульсы + Dots Точки + Steps Шаги + Boxes Блоки + Surface Отдельно + Advanced Продвинутый + Contents Содержание + Search Поиск + Copying Права + About Siag О Siag + Help for Help Как пользоваться помощью + Links Ссылки + Siag Home Домашняя страница Siag + FTP Directory FTP-катклог + SIOD Command Команда SIOD + C Command Команда C + Guile Command Команда Guile + Tcl Command Команда Tcl + Web Server Web сервер + Mail Послать e-mail + File Manager Файл-менеджер + Form Test Тест формы + Another Form Test Тест другой формы + Yet Another Form Test Еще один тест формы + Another Form Test Still Еще тестик + Import Импорт... + Export Экспорт... + Link Ссылка + Move Переместить + Expression Выражение + Command Команда + Sum Сумма + Import Plugin Импортировать plugin + Move Plugin Переместить plugin + Quit Выход + External Program: Внешняя программа: + Local File Локальный файл + Compressed File Сжатый файл + Archive Архив + Compressed Archive Сжатый архив + Generic Общий + Search: Поиск: + Label: Метка: + SIOD expression: Выражение SIOD: + C expression: Выражение C: + Guile expression: Выражение Guile: + Tcl expression: Выражение Tcl: + New expression interpreter: Новый интерпретатор выражения: + Key Ключ + Value Значение + Object file: Объектный файл: + Width: Ширина: + Height: Высота: + Bold Утолщенный + Italic Наклонный + Top Верх + Bottom Низ + Left Лево + Right Право + Center Центр + Expression style: Стиль выражения: + Color: Цвет: + color цвет + Black Черный + Red Красный + Green Зеленый + Blue Голубой + Yellow Желтый + Magenta Магента? + Cyan Циановый? + White Белый + Select Plugin: Выбрать plugin: + Change Buffer: Сменить буфер: + Kill Buffer: Убить буфер: + SIOD command: Команда SIOD: + C command: Команда C: + Guile command: Команда Guile: + Tcl command: Команда Tcl: + To: К: + Enter user data Ввод пользовательских данных + First name Имя + Last name Фамилия + Address Адрес + Find pattern: Найти шаблон: + Go to: Идти на: + Pick one: Выбрать: + Yes Да + No Нет + Replace Заменить + Spell Проверить орфографию + Tab Distance Размер табуляции + Beginning of paragraph Начало параграфа + End of paragraph Конец параграфа + Line Height Высота линии + Segment Format Формат сегмента + Line Format Формат линии + Copy Копировать + Use Использовать + Cleanup Очистить + Segment Style Стиль сегмента + Line Style Стиль линии + Segment Color Цвет сегмента + Line Color Цвет линии + About Pathetic Writer О Pathetic Writer + Spell Test Тест проверки орфографии + Dump Words Выгрузить слова + Default По-умолчанию + Invisible Невидимый + Integer Целый + Scientific Научный + Fixed Постоянный + Date Дата + Time Время + Comma Запятая + Percent Процент + Hex Шестнадцатиричный + Currency Валюта + User 1 Пользовательский 1 + User 2 Пользовательский 2 + User 3 Пользовательский 3 + User 4 Пользовательский 4 + User 5 Пользовательский 5 + Header 1 Заголовок 1 + Header 2 Заголовок 2 + Header 3 Заголовок 3 + Header 4 Заголовок 4 + Header 5 Заголовок 5 + Header 6 Заголовок 6 + Title Заглавие + Abstract Абстрактный + Preformatted Форматированный + Embed Встроенный + Start another instance of Pathetic Writer Запустить другой экземпляр Pathetic Wr + iter + Open a Pathetic Writer document Открыть документ Pathetic Writer + Display the PW online documentation Показать документацию PW + Underlined text Подчеркнутый текст + Superscript Верхний индекс + Subscript Нижний индекс + Show Editor Показать редактор + Hide Editor Скрыть редактор + Show editor Показать редактор + Hide editor Скрыть редактор + Begin Empty Animation Начать пустую анимацию + Add Object Добавить объект + Line Линия + Image Изображение + Delete Object Удалить объект + Change Object Type Сменить тип объекта + Add tick Добавить отметку + Delete Tick Удалить отметку + Edit Properties Редактировать свойства + Set Background Установить цвет фона + Timing Расчет времени + Set Geometry Установить геом. размеры + Play Animation Играть анимацию + Box Animation Demo Демо Box Animation + Circle Animation Demo Демо Circle Animation + Line Animation Demo Демо Line Animation + Combo Animation Demo Демо Combo Animation + Box Коробка + Circle Круг + Combo Combo + About Egon Animator O Egon Animator + Start another instance of Egon Animator Запустить другой экземпляр Egon Animator + Open an Egon Animator document Открыть документ Egon Animator + Pop down animation Закрыть анимацию + Pause the animation Пауза + Previous animation frame Предыдущий фрейм + Play the animation Играть анимацию + Next animation frame Следующий фрейм + Display the Egon online documentation Показать документацию Egon + Rectangle Прямоугольник + Arc Дуга + Ellipse Эллипс + Pixmap Текстура + String Строка + Point Точка + Filled Rectangle Заполненный прямоугольник + Filled Arc Заполненная дуга + Filled Ellipse Заполненный эллипс + Open file Открыть файл + Save file Сохранить файл + Quit animation Выгрузить анимацию + Stop animation Остановить анимацию + Previous frame Предыдущий фрейм + Next frame Следующий фрейм + Play animation Играть анимацию + Quit Egon Выйти из Egon + No files found Файлов не найдено + File saved Файл сохранен + This window is too small to split Это окно слишком мало для разбиения + Couldn't save Не могу сохранить + Save %s? Сохранить %s? + Loading Загрузка + New file Новый файл + Load auto startup code? Загрузить автозапускаемый код? + Can't open loader file Не открыть загружаемый файл + Parameters: Параметры: + External program failed Ошибка внешней программы + Attempt to delete sole ordinary window Попытка удалить единственное окно + No such buffer Нет буфера + Overwrite existing %s? Перезаписать существующий %s? + Can't open saver file Не открыть сохраняемый файл + Couldn't kill last buffer Не убить последний буфер + %s command: %s команда: + %s expression: %s выражение: + Already defining kbd macro! Уже опреленный клавиатурный макрос! + Defining kbd macro... Определение клавиатурного макроса... + Not defining kbd macro Не определенный клавиатурный макрос + Keyboard macro defined Клавиатурный макрос определен + Can't execute anonymous macro while defining one Не выполнить клавиатурный макро + с + Input buffer overflow; macro execution terminated Буфер ввода переполнен, выполн + ение макроса прервано + Add Tick Добавить галочку + Add Line Добавить линию + Add Rectangle Добавить прямоугольник + Add Arc Добавить дугу + Add Ellipse Добавить эллипс + Add Image Добавить картинку + Add String Добавить строку + Add Point Добавить точку + Add Filled Rectangle Добавить заполненный прямоугольник + Add Filled Ellipse Добавить заполненный эллипс + Add Filled Arc Добавить заполненную дугу + Sheet %d Документ %d diff -crNP ../siag-3.3.1/common/fonts.h ./common/fonts.h *** ../siag-3.3.1/common/fonts.h Tue Feb 15 23:43:06 2000 --- ./common/fonts.h Fri Mar 24 07:16:17 2000 *************** *** 150,153 **** --- 150,155 ---- extern void ps_makefonts(FILE *); extern void ps_set_font(FILE *, int); + extern int scale_set(int); + #endif diff -crNP ../siag-3.3.1/common/tools.scm ./common/tools.scm *** ../siag-3.3.1/common/tools.scm Fri Feb 4 18:17:02 2000 --- ./common/tools.scm Thu Mar 23 22:59:55 2000 *************** *** 15,23 **** (add-menu-entry "Tools" "Scheme In A Grid" "(spawn \"siag\")")) (if (stat (string-append datadir "/egon/egon.scm")) (add-menu-entry "Tools" "Egon Animator" "(spawn \"egon\")")) ! (add-menu-entry "Tools" "Terminal" "(spawn \"xterm -sb -sl 500 -j -ls -fn 7x14\")") (add-menu-entry "Tools" "Editor" "(spawn editor-command)") (add-menu-entry "Tools" "File Manager" "(spawn filer-command)") (add-submenu "Tools" "Environment") (add-submenu-entry "Tools" "Environment" "Defaults" "(set-environment \"Defaults\")") --- 15,24 ---- (add-menu-entry "Tools" "Scheme In A Grid" "(spawn \"siag\")")) (if (stat (string-append datadir "/egon/egon.scm")) (add-menu-entry "Tools" "Egon Animator" "(spawn \"egon\")")) ! (add-menu-entry "Tools" "Terminal" "(spawn terminal-command)") (add-menu-entry "Tools" "Editor" "(spawn editor-command)") (add-menu-entry "Tools" "File Manager" "(spawn filer-command)") + (add-menu-entry "Tools" "Calculator" "(spawn calculator-command)") (add-submenu "Tools" "Environment") (add-submenu-entry "Tools" "Environment" "Defaults" "(set-environment \"Defaults\")") diff -crNP ../siag-3.3.1/configure ./configure *** ../siag-3.3.1/configure Thu Mar 23 10:10:10 2000 --- ./configure Mon Mar 27 14:01:58 2000 *************** *** 706,712 **** PACKAGE=siag ! VERSION=3.3.1 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } --- 706,712 ---- PACKAGE=siag ! VERSION=3.3.2 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } diff -crNP ../siag-3.3.1/configure.in ./configure.in *** ../siag-3.3.1/configure.in Thu Mar 23 10:09:30 2000 --- ./configure.in Mon Mar 27 14:01:15 2000 *************** *** 1,7 **** dnl Process this file with autoconf to produce a configure script. AC_INIT(README) AM_CONFIG_HEADER(config.h) ! AM_INIT_AUTOMAKE(siag, 3.3.1) dnl Set of available languages dnl ALL_LINGUAS="" --- 1,7 ---- dnl Process this file with autoconf to produce a configure script. AC_INIT(README) AM_CONFIG_HEADER(config.h) ! AM_INIT_AUTOMAKE(siag, 3.3.2) dnl Set of available languages dnl ALL_LINGUAS="" Binary files ../siag-3.3.1/diff-3.3.1.gz and ./diff-3.3.1.gz differ diff -crNP ../siag-3.3.1/gvu/Gvu.ad ./gvu/Gvu.ad *** ../siag-3.3.1/gvu/Gvu.ad Mon Jul 5 23:58:32 1999 --- ./gvu/Gvu.ad Sun Mar 26 07:54:32 2000 *************** *** 36,45 **** Gvu*menubar.shadowWidth: 1 Gvu*menubar.gridy: 0 - Gvu*menubar.SiagMenuButton.shadowWidth: 0 Gvu*menubox.orientation: horizontal Gvu*menubox.borderWidth: 0 - Gvu*menubox.SiagMenuButton.internalHeight: 6 Gvu*menubox.vSpace: 0 Gvu*menubox.hSpace: 0 --- 36,43 ---- *************** *** 96,126 **** Gvu*input: True Gvu*allowShellResize: True Gvu*ghostviewButton.label: Ghostview - !Gvu*help.label: Help... - !Gvu*copyright.label: Copyright... - !Gvu*quit.label: Quit - !Gvu*fileButton.label: File - !Gvu*open.label: Open... - !Gvu*reopen.label: Reopen - !Gvu*printwhole.label: Print... - !Gvu*printmarked.label: Print marked pages... - !Gvu*save.label: Save marked pages... - !Gvu*pageButton.label: Page - !Gvu*next.label: Next - !Gvu*show.label: Redisplay - !Gvu*prev.label: Previous - !Gvu*center.label: Center - !Gvu*mark.label: Mark - !Gvu*unmark.label: Unmark - !Gvu*magstepButton.label: Magstep - !Gvu*orientationButton.label: Orientation - !Gvu*portrait.label: Portrait - !Gvu*landscape.label: Landscape - !Gvu*upsidedown.label: Upside-down - !Gvu*seascape.label: Seascape - !Gvu*swap.label: Swap Landscape - !Gvu*pagemediaButton.label: Media - !Gvu*helpButton.label: Help Gvu*pageview.useBottom: True Gvu*pageview.useRight: True --- 94,99 ---- *************** *** 143,149 **** Gvu*dismiss.label: Dismiss Gvu*Ghostview.background: white - !Gvu*Ghostview.busyCursor: target Gvu.translations: #replace \n\ : GhostviewCheckFile() \n\ --- 116,121 ---- *************** *** 226,234 **** Right: GhostviewScrollRight() \n\ Down: GhostviewScrollDown() \n\ Left: GhostviewScrollLeft() - - ! Up: GhostviewDefault() GhostviewSetOrientation(portrait) \n\ - ! Right: GhostviewDefault() GhostviewSetOrientation(landscape) \n\ - ! Down: GhostviewDefault() GhostviewSetOrientation(upside-down) \n\ - ! Left: GhostviewDefault() GhostviewSetOrientation(seascape) --- 198,201 ---- diff -crNP ../siag-3.3.1/gvu/gvu-ad.h ./gvu/gvu-ad.h *** ../siag-3.3.1/gvu/gvu-ad.h Mon Jul 5 23:58:32 1999 --- ./gvu/gvu-ad.h Sun Mar 26 16:39:56 2000 *************** *** 3,12 **** "Gvu*topbox.yLayout: 30 30 100% 30", "Gvu*menubar.shadowWidth: 1", "Gvu*menubar.gridy: 0", - "Gvu*menubar.SiagMenuButton.shadowWidth: 0", "Gvu*menubox.orientation: horizontal", "Gvu*menubox.borderWidth: 0", - "Gvu*menubox.SiagMenuButton.internalHeight: 6", "Gvu*menubox.vSpace: 0", "Gvu*menubox.hSpace: 0", "Gvu*toolbar.shadowWidth: 1", --- 3,10 ---- diff -crNP ../siag-3.3.1/plugins/form-ad.h ./plugins/form-ad.h *** ../siag-3.3.1/plugins/form-ad.h Sun Mar 21 22:34:54 1999 --- ./plugins/form-ad.h Fri Mar 24 20:49:53 2000 *************** *** 1,6 **** "*background: grey", "*beNiceToColormap: False", - "*font: -*-helvetica-medium-r-*-12-*", "*borderWidth: 0", "*Label*justify: Left", "*Label*shadowWidth: 0", --- 1,5 ---- *************** *** 11,17 **** "*Toggle*shadowWidth: 1", "*Command*shadowWidth: 1", "*Repeater*shadowWidth: 1", - "*MenuButton*shadowWidth: 1", "*List*defaultColumns: 1", "*List*forceColumns: True", "*notebook.width: 450", --- 10,15 ---- diff -crNP ../siag-3.3.1/pw/pw.h ./pw/pw.h *** ../siag-3.3.1/pw/pw.h Wed Mar 22 12:57:37 2000 --- ./pw/pw.h Mon Mar 27 14:01:40 2000 *************** *** 70,77 **** position top; /* left top of visible part of buffer */ position blku, blkl; /* upper left & lower right block corners */ ! int alloc_lines; /* number of allocated lines */ ! int used_lines; /* number of used lines */ rich_text *text; /* one pointer for each line */ plugin_t *plugin; /* array of plugins */ int nplugin; /* number of plugins */ --- 70,77 ---- position top; /* left top of visible part of buffer */ position blku, blkl; /* upper left & lower right block corners */ ! int alloc_lines; /* number of allocated lines */ ! int used_lines; /* number of used lines */ rich_text *text; /* one pointer for each line */ plugin_t *plugin; /* array of plugins */ int nplugin; /* number of plugins */ *************** *** 120,133 **** #define block_upper(w) ((w)->buf->sht[(w)->bsht].blku) #define block_lower(w) ((w)->buf->sht[(w)->bsht].blkl) - /* from richchar.c */ - extern size_t rc_strlen(rich_char *); - extern rich_char *rc_strcpy(rich_char *, rich_char *); - extern rich_char *rc_strcat(rich_char *, rich_char *); - extern rich_char *rc_strdup(rich_char *); - extern rich_char *rc_strins(rich_char *, rich_char *, size_t); - extern rich_char *rc_makerich(unsigned char *, int); - extern unsigned char *rc_makeplain(rich_char *); /* from window.c */ extern window *w_list; --- 120,125 ---- diff -crNP ../siag-3.3.1/siag/calc.h ./siag/calc.h *** ../siag-3.3.1/siag/calc.h Wed Mar 22 12:24:00 2000 --- ./siag/calc.h Fri Mar 24 07:08:29 2000 *************** *** 75,81 **** --- 75,85 ---- } property_list; typedef struct plugin_t { + #if 1 /* cell based coords */ int row, col; /* geometry */ + #else /* pixel based coords */ + int x, y; /* geometry */ + #endif int ph; /* handle */ char *name; /* file name or whatever */ int displayed; /* has it been put up on the screen? */ diff -crNP ../siag-3.3.1/siag/cmds.c ./siag/cmds.c *** ../siag-3.3.1/siag/cmds.c Wed Mar 22 12:31:24 2000 --- ./siag/cmds.c Fri Mar 24 07:25:13 2000 *************** *** 2261,2266 **** --- 2261,2272 ---- return NIL; } + static LISP lscale_set(LISP p) + { + if FLONUMP(p) return flocons(scale_set(get_c_long(p))); + return NIL; + } + static LISP lTRACEME(LISP foo) { TRACEME((f, "%s", get_c_string(foo))); *************** *** 2353,2358 **** --- 2359,2365 ---- {"first-page-get", lfirst_page_get}, {"respect-prot-get", lrespect_prot_get}, {"make-backups", lmake_backups}, + {"scale-set", lscale_set}, {"TRACEME", lTRACEME}, {NULL, NULL} }; diff -crNP ../siag-3.3.1/tsiag/tsiag.c ./tsiag/tsiag.c *** ../siag-3.3.1/tsiag/tsiag.c Fri Feb 4 00:49:19 2000 --- ./tsiag/tsiag.c Mon Mar 27 14:06:39 2000 *************** *** 173,175 **** --- 173,179 ---- init_subr_3("plugin-register", lplugin_register); } + int scale_set(int x) + { + return x; + } diff -crNP ../siag-3.3.1/xcommon/Combo.c ./xcommon/Combo.c *** ../siag-3.3.1/xcommon/Combo.c Wed Mar 22 12:08:30 2000 --- ./xcommon/Combo.c Mon Mar 27 20:09:16 2000 *************** *** 1,5 **** /* ! Copyright (C) 1998-1999 Ulric Eriksson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public --- 1,5 ---- /* ! Copyright (C) 1998-2000 Ulric Eriksson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public *************** *** 204,210 **** XtPointer client_data, XtPointer call_data) { ComboWidget cw = (ComboWidget)XtParent(w); ! int x, y; Window child; Dimension height, width; --- 204,210 ---- XtPointer client_data, XtPointer call_data) { ComboWidget cw = (ComboWidget)XtParent(w); ! int x, y, xe, ye; Window child; Dimension height, width; *************** *** 233,239 **** while (combo_status == WAITING) { XEvent event; XtAppNextEvent(XtWidgetToApplicationContext(w), &event); ! if (event.type == KeyPress) combo_status = ABORT; XtDispatchEvent(&event); } XtPopdown(cw->combo.shell); --- 233,247 ---- while (combo_status == WAITING) { XEvent event; XtAppNextEvent(XtWidgetToApplicationContext(w), &event); ! if (event.type == ButtonPress) { ! xe = event.xbutton.x_root; ! ye = event.xbutton.y_root; ! if (xe <= x || xe >= (x+width) ! || ye <= y || ye >= (y+200)) ! combo_status = ABORT; ! } else if (event.type == KeyPress) { ! combo_status = ABORT; ! } XtDispatchEvent(&event); } XtPopdown(cw->combo.shell); diff -crNP ../siag-3.3.1/xcommon/Frame.c ./xcommon/Frame.c *** ../siag-3.3.1/xcommon/Frame.c Sun May 23 16:07:26 1999 --- ./xcommon/Frame.c Mon Mar 27 14:09:51 2000 *************** *** 294,299 **** --- 294,301 ---- * and allocate the GCs */ + #define superclass (&compositeClassRec) + static void FrameRealize(w, valueMask, attributes) Widget w; *************** *** 302,310 **** --- 304,316 ---- { FrameWidget fw = (FrameWidget) w; + #if 0 /* TODO: shouldn't this chain to the parent's realize instead? */ XtCreateWindow( w, (unsigned)InputOutput, (Visual *)CopyFromParent, *valueMask, attributes); + #else + (*superclass->core_class.realize)(w, valueMask, attributes); + #endif FrameAllocGCs(fw) ; } diff -crNP ../siag-3.3.1/xcommon/Makefile.am ./xcommon/Makefile.am *** ../siag-3.3.1/xcommon/Makefile.am Sat Mar 18 20:14:38 2000 --- ./xcommon/Makefile.am Sun Mar 26 21:53:30 2000 *************** *** 4,10 **** noinst_LIBRARIES = libxcommon.a libxcommon_a_SOURCES = dialogs.c filesel.c forminput.c embed.c fonts.c \ ! Animator.c Table.c Canvas.c Richtext.c Textframe.c \ TextField.c Tabbing.c Combo.c \ Frame.c Gcs.c Image.c Notebook.c Check.c \ Tabs.c Rudegrid.c Ghostview.c Handle.c \ --- 4,10 ---- noinst_LIBRARIES = libxcommon.a libxcommon_a_SOURCES = dialogs.c filesel.c forminput.c embed.c fonts.c \ ! Animator.c Table.c Canvas.c Ruler.c Richtext.c \ TextField.c Tabbing.c Combo.c \ Frame.c Gcs.c Image.c Notebook.c Check.c \ Tabs.c Rudegrid.c Ghostview.c Handle.c \ *************** *** 13,20 **** noinst_HEADERS = Animator.h AnimatorP.h Canvas.h CanvasP.h \ Combo.h ComboP.h combo.xpm DragAndDrop.h DragAndDropTypes.h \ ! Frame.h FrameP.h Gcs.h \ ! Richtext.h RichtextP.h Tabbing.h TabbingP.h Textframe.h TextframeP.h \ Table.h TableP.h TextField.h TextFieldP.h Image.h ImageP.h \ Notebook.h NotebookP.h Check.h CheckP.h \ Tabs.h TabsP.h Rudegrid.h RudegridP.h \ --- 13,20 ---- noinst_HEADERS = Animator.h AnimatorP.h Canvas.h CanvasP.h \ Combo.h ComboP.h combo.xpm DragAndDrop.h DragAndDropTypes.h \ ! Ruler.h RulerP.h Frame.h FrameP.h Gcs.h \ ! Richtext.h RichtextP.h Tabbing.h TabbingP.h \ Table.h TableP.h TextField.h TextFieldP.h Image.h ImageP.h \ Notebook.h NotebookP.h Check.h CheckP.h \ Tabs.h TabsP.h Rudegrid.h RudegridP.h \ diff -crNP ../siag-3.3.1/xcommon/Makefile.in ./xcommon/Makefile.in *** ../siag-3.3.1/xcommon/Makefile.in Thu Mar 23 14:12:06 2000 --- ./xcommon/Makefile.in Mon Mar 27 21:14:37 2000 *************** *** 87,96 **** noinst_LIBRARIES = libxcommon.a ! libxcommon_a_SOURCES = dialogs.c filesel.c forminput.c embed.c fonts.c Animator.c Table.c Canvas.c Richtext.c Textframe.c TextField.c Tabbing.c Combo.c Frame.c Gcs.c Image.c Notebook.c Check.c Tabs.c Rudegrid.c Ghostview.c Handle.c Tooltip.c DragAndDrop.c icon.c xcommon.c tooltip.c plugin.c ! noinst_HEADERS = Animator.h AnimatorP.h Canvas.h CanvasP.h Combo.h ComboP.h combo.xpm DragAndDrop.h DragAndDropTypes.h Frame.h FrameP.h Gcs.h Richtext.h RichtextP.h Tabbing.h TabbingP.h Textframe.h TextframeP.h Table.h TableP.h TextField.h TextFieldP.h Image.h ImageP.h Notebook.h NotebookP.h Check.h CheckP.h Tabs.h TabsP.h Rudegrid.h RudegridP.h Ghostview.h GhostviewP.h Handle.h HandleP.h Tooltip.h TooltipP.h dialogs.h embed.h filesel.h icon.h plugin.h resources.h xcommon.h xfonts.h filesel-ad.h dialogs-ad.h xcommon-ad.h nws-ad.h check_motif_off.xpm check_motif_on.xpm radio_16_off.xpm radio_16_on.xpm radio_motif_off.xpm radio_motif_on.xpm tickbox_off.xpm tickbox_on.xpm INCLUDES = $(DEBUG) @X_CFLAGS@ --- 87,96 ---- noinst_LIBRARIES = libxcommon.a ! libxcommon_a_SOURCES = dialogs.c filesel.c forminput.c embed.c fonts.c Animator.c Table.c Canvas.c Ruler.c Richtext.c TextField.c Tabbing.c Combo.c Frame.c Gcs.c Image.c Notebook.c Check.c Tabs.c Rudegrid.c Ghostview.c Handle.c Tooltip.c DragAndDrop.c icon.c xcommon.c tooltip.c plugin.c ! noinst_HEADERS = Animator.h AnimatorP.h Canvas.h CanvasP.h Combo.h ComboP.h combo.xpm DragAndDrop.h DragAndDropTypes.h Ruler.h RulerP.h Frame.h FrameP.h Gcs.h Richtext.h RichtextP.h Tabbing.h TabbingP.h Table.h TableP.h TextField.h TextFieldP.h Image.h ImageP.h Notebook.h NotebookP.h Check.h CheckP.h Tabs.h TabsP.h Rudegrid.h RudegridP.h Ghostview.h GhostviewP.h Handle.h HandleP.h Tooltip.h TooltipP.h dialogs.h embed.h filesel.h icon.h plugin.h resources.h xcommon.h xfonts.h filesel-ad.h dialogs-ad.h xcommon-ad.h nws-ad.h check_motif_off.xpm check_motif_on.xpm radio_16_off.xpm radio_16_on.xpm radio_motif_off.xpm radio_motif_on.xpm tickbox_off.xpm tickbox_on.xpm INCLUDES = $(DEBUG) @X_CFLAGS@ *************** *** 114,123 **** X_PRE_LIBS = @X_PRE_LIBS@ libxcommon_a_LIBADD = libxcommon_a_OBJECTS = dialogs.o filesel.o forminput.o embed.o fonts.o \ ! Animator.o Table.o Canvas.o Richtext.o Textframe.o TextField.o \ ! Tabbing.o Combo.o Frame.o Gcs.o Image.o Notebook.o Check.o Tabs.o \ ! Rudegrid.o Ghostview.o Handle.o Tooltip.o DragAndDrop.o icon.o \ ! xcommon.o tooltip.o plugin.o AR = ar CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) --- 114,123 ---- X_PRE_LIBS = @X_PRE_LIBS@ libxcommon_a_LIBADD = libxcommon_a_OBJECTS = dialogs.o filesel.o forminput.o embed.o fonts.o \ ! Animator.o Table.o Canvas.o Ruler.o Richtext.o TextField.o Tabbing.o \ ! Combo.o Frame.o Gcs.o Image.o Notebook.o Check.o Tabs.o Rudegrid.o \ ! Ghostview.o Handle.o Tooltip.o DragAndDrop.o icon.o xcommon.o tooltip.o \ ! plugin.o AR = ar CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) *************** *** 314,386 **** || exit 1; \ fi; \ done - Animator.o: Animator.c ../common/cmalloc.h ../common/common.h \ - ../common/fonts.h xfonts.h ../config.h ../common/richchar.h \ - AnimatorP.h Animator.h ../egon/types.h - Canvas.o: Canvas.c xfonts.h ../config.h ../common/richchar.h CanvasP.h \ - Canvas.h - Check.o: Check.c ../common/common.h ../common/cmalloc.h CheckP.h Check.h \ - check_motif_off.xpm check_motif_on.xpm radio_motif_off.xpm \ - radio_motif_on.xpm tickbox_off.xpm tickbox_on.xpm \ - radio_16_off.xpm radio_16_on.xpm Combo.o: Combo.c TextField.h ComboP.h Combo.h combo.xpm ! DragAndDrop.o: DragAndDrop.c DragAndDrop.h DragAndDropTypes.h \ ! cursor/file.xbm cursor/file_mask.xbm cursor/files.xbm \ ! cursor/files_mask.xbm cursor/dir.xbm cursor/dir_mask.xbm \ ! cursor/text.xbm cursor/text_mask.xbm cursor/grey.xbm \ ! cursor/grey_mask.xbm cursor/link.xbm cursor/link_mask.xbm \ ! cursor/app.xbm cursor/app_mask.xbm cursor/url.xbm \ ! cursor/url_mask.xbm cursor/mime.xbm cursor/mime_mask.xbm ! Frame.o: Frame.c FrameP.h Frame.h Gcs.h ! Gcs.o: Gcs.c Gcs.h ! Ghostview.o: Ghostview.c GhostviewP.h Ghostview.h ! Handle.o: Handle.c HandleP.h Handle.h ../XawM/Label.h ../XawM/Simple.h \ ! ../XawM/XawVersion.h ../XawM/LabelP.h ../XawM/ThreeDP.h \ ! ../XawM/ThreeD.h ../XawM/SimpleP.h xcommon.h ! Image.o: Image.c xfonts.h ../config.h ../common/richchar.h ImageP.h \ ! Image.h ! Notebook.o: Notebook.c ../common/common.h ../common/cmalloc.h \ ! NotebookP.h Notebook.h ! Primebox.o: Primebox.c PrimeboxP.h Primebox.h ! Richtext.o: Richtext.c ../common/cmalloc.h ../common/fonts.h xfonts.h \ ! ../config.h ../common/richchar.h embed.h ../common/traceme.h \ ! RichtextP.h Richtext.h ! Rudegrid.o: Rudegrid.c RudegridP.h Rudegrid.h ! Tabbing.o: Tabbing.c ../common/common.h ../common/cmalloc.h TabbingP.h \ ! Tabbing.h ! Table.o: Table.c ../common/cmalloc.h ../common/fonts.h xfonts.h \ ! ../config.h ../common/richchar.h embed.h TableP.h Table.h ! Tabs.o: Tabs.c TabsP.h Tabs.h Gcs.h ! TextField.o: TextField.c TextFieldP.h ../config.h TextField.h ! Textframe.o: Textframe.c ../common/cmalloc.h ../common/fonts.h xfonts.h \ ! ../config.h ../common/richchar.h embed.h ../common/traceme.h \ ! TextframeP.h Textframe.h ! Tooltip.o: Tooltip.c TooltipP.h Tooltip.h ../XawM/Cardinals.h \ ! ../XawM/Label.h ../XawM/Simple.h ../XawM/XawVersion.h \ ! ../common/cmalloc.h ! dialogs.o: dialogs.c ../common/common.h ../common/bitmaps/unknown.xpm \ ! dialogs.h xcommon.h TextField.h Rudegrid.h Frame.h Image.h ! embed.o: embed.c ../common/cmalloc.h embed.h ! filesel.o: filesel.c ../config.h ../Nws/Menu.h ../Nws/cvt.h \ ! ../Nws/MenuBar.h ../Nws/Row.h ../Nws/BaseConst.h \ ! ../Nws/MenuButton.h ../Nws/Button.h ../Nws/SButton.h \ ! ../Nws/Base.h ../Nws/LabelME.h ../Nws/BaseME.h ../Nws/LineME.h \ ! ../common/cmalloc.h ../common/common.h TextField.h xcommon.h \ ! dialogs.h filesel.h Rudegrid.h Frame.h ! fonts.o: fonts.c ../config.h ../common/common.h ../common/cmalloc.h \ ! ../common/oldfonts.h ../common/fonts.h ../common/richchar.h \ ! ../common/traceme.h xfonts.h ! forminput.o: forminput.c ../Nws/Menu.h ../Nws/cvt.h ../Nws/MenuBar.h \ ! ../Nws/Row.h ../Nws/BaseConst.h ../Nws/MenuButton.h \ ! ../Nws/Button.h ../Nws/SButton.h ../Nws/Base.h ../Nws/LabelME.h \ ! ../Nws/BaseME.h ../Nws/LineME.h ../Nws/SubME.h ../siod/siod.h \ ! ../common/cmalloc.h ../common/common.h TextField.h Check.h \ ! xcommon.h dialogs.h ! icon.o: icon.c ! plugin.o: plugin.c ../common/common.h ../common/cmalloc.h plugin.h \ ! ../common/plugin.h ../common/traceme.h ! tooltip.o: tooltip.c ../common/common.h xcommon.h ! xcommon.o: xcommon.c ../common/common.h info-am: info: info-recursive --- 314,322 ---- || exit 1; \ fi; \ done Combo.o: Combo.c TextField.h ComboP.h Combo.h combo.xpm ! Ruler.o: Ruler.c xfonts.h ../config.h ../common/richchar.h RulerP.h \ ! Ruler.h info-am: info: info-recursive diff -crNP ../siag-3.3.1/xcommon/Ruler.c ./xcommon/Ruler.c *** ../siag-3.3.1/xcommon/Ruler.c Thu Jan 1 01:00:00 1970 --- ./xcommon/Ruler.c Mon Mar 27 20:44:04 2000 *************** *** 0 **** --- 1,191 ---- + /* + Copyright (C) 2000 Ulric Eriksson + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the Licence, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + */ + + #include + #include + #include + #include + + #include + #include + + #include "xfonts.h" /* from common */ + #include + + #include "RulerP.h" + + #define offset(field) XtOffsetOf(RulerRec, ruler.field) + static XtResource resources[] = { + { + XtNleftMargin, + XtCLeftMargin, + XtRInt, + sizeof(int), + offset(left_margin), + XtRImmediate, + (XtPointer)72 + }, { + XtNrightMargin, + XtCRightMargin, + XtRInt, + sizeof(int), + offset(right_margin), + XtRImmediate, + (XtPointer)72 + }, { + XtNpaperWidth, + XtCPaperWidth, + XtRInt, + sizeof(int), + offset(paper_width), + XtRImmediate, + (XtPointer)595 + }, { + XtNtabDistance, + XtCTabDistance, + XtRInt, + sizeof(int), + offset(tab_distance), + XtRImmediate, + (XtPointer)36 + } + }; + #undef offset + + /* methods */ + static void Realize(Widget w, XtValueMask *, XSetWindowAttributes *); + static void Redisplay(Widget, XEvent *, Region); + static Boolean SetValues(Widget, Widget, Widget, ArgList, Cardinal *); + + /* actions */ + static void RulerAction(Widget, XEvent *, String *, Cardinal *); + + static XtActionsRec actions[] = + { + {"ruler", RulerAction}, + }; + + /* translations */ + static char translations[] = + ": ruler()\n"; + + RulerClassRec rulerClassRec = { + { /* core fields */ + /* superclass */ (WidgetClass) &widgetClassRec, + /* class_name */ "Ruler", + /* widget_size */ sizeof(RulerRec), + /* class_initialize */ NULL, + /* class_part_initialize */ NULL, + /* class_inited */ FALSE, + /* initialize */ NULL, + /* initialize_hook */ NULL, + /* realize */ Realize, + /* actions */ actions, + /* num_actions */ XtNumber(actions), + /* resources */ resources, + /* num_resources */ XtNumber(resources), + /* xrm_class */ NULLQUARK, + /* compress_motion */ TRUE, + /* compress_exposure */ TRUE, + /* compress_enterleave */ TRUE, + /* visible_interest */ FALSE, + /* destroy */ NULL, + /* resize */ NULL, + /* expose */ Redisplay, + /* set_values */ SetValues, + /* set_values_hook */ NULL, + /* set_values_almost */ XtInheritSetValuesAlmost, + /* get_values_hook */ NULL, + /* accept_focus */ NULL, + /* version */ XtVersion, + /* callback_private */ NULL, + /* tm_table */ translations, + /* query_geometry */ XtInheritQueryGeometry, + /* display_accelerator */ XtInheritDisplayAccelerator, + /* extension */ NULL + }, + { /* ruler fields */ + /* empty */ 0 + } + }; + + WidgetClass rulerWidgetClass = (WidgetClass)&rulerClassRec; + + + static void RulerAction(Widget w, XEvent *event, String *params, Cardinal *n) + { + ; + } + + #define superclass (&coreClassRec) + + static void Realize(Widget w, XtValueMask *v, XSetWindowAttributes *a) + { + RulerWidget rw = (RulerWidget)w; + unsigned long mask = 0; + XGCValues values; + (*superclass->core_class.realize)(w, v, a); + rw->ruler.gc = XCreateGC(XtDisplay(w), XtWindow(w), mask, &values); + } + + static void Redisplay(Widget w, XEvent *event, Region r) + { + RulerWidget aw = (RulerWidget)w; + int h = aw->core.height; + int w1 = aw->core.width; + Display *dpy = XtDisplay(w); + Screen *s = XtScreen(w); + Window wi = XtWindow(w); + int i, o; + GC gc = aw->ruler.gc; + unsigned long black = BlackPixelOfScreen(s); + unsigned long white = WhitePixelOfScreen(s); + + o = -1; + for (i = aw->ruler.left_margin+1; + i < aw->ruler.paper_width-aw->ruler.right_margin; + i += aw->ruler.tab_distance) { + XSetForeground(dpy, gc, white); + XDrawLine(dpy, wi, gc, i-2+o, 0, i-2+o, h-6); + XDrawLine(dpy, wi, gc, i-2+o, h-6, i+o, h-4); + XSetForeground(dpy, gc, black); + XDrawLine(dpy, wi, gc, i+2+o, 0, i+2+o, h-6); + XDrawLine(dpy, wi, gc, i+o, h-4, i+2+o, h-6); + + XDrawLine(dpy, wi, gc, 0, 0, 0, h-1); + XDrawLine(dpy, wi, gc, 0, 0, w1-1, 0); + XDrawLine(dpy, wi, gc, 0, h-1, w1-1, h-1); + XDrawLine(dpy, wi, gc, w1-1, 0, w1-1, h-1); + } + } + + static Boolean SetValues(Widget current, Widget request, Widget new, + ArgList args, Cardinal *nargs) + { + RulerWidget rw1 = (RulerWidget)current; + RulerWidget rw2 = (RulerWidget)new; + Boolean do_redisplay = + (rw1->ruler.tab_distance != rw2->ruler.tab_distance) + || (rw1->ruler.left_margin != rw2->ruler.left_margin) + || (rw1->ruler.right_margin != rw2->ruler.right_margin) + || (rw1->ruler.paper_width != rw2->ruler.paper_width); + + return do_redisplay; + } + diff -crNP ../siag-3.3.1/xcommon/Ruler.h ./xcommon/Ruler.h *** ../siag-3.3.1/xcommon/Ruler.h Thu Jan 1 01:00:00 1970 --- ./xcommon/Ruler.h Sun Mar 26 22:12:57 2000 *************** *** 0 **** --- 1,78 ---- + /* + Copyright (C) 2000 Ulric Eriksson + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the Licence, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + */ + + #ifndef s_Ruler_h + #define s_Ruler_h + + /**************************************************************** + * + * Ruler widget + * + ****************************************************************/ + + /* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + rulerData RulerData Pointer NULL + rulerExpose RulerExpose Pointer NULL + destroyCallback Callback Pointer NULL + height Height Dimension 0 + mappedWhenManaged MappedWhenManaged Boolean True + sensitive Sensitive Boolean True + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + + */ + + /* define any special resource names here that are not in */ + + #ifndef XtNleftMargin + #define XtNleftMargin "leftMargin" + #define XtCLeftMargin "LeftMargin" + #endif + #ifndef XtNrightMargin + #define XtNrightMargin "rightMargin" + #define XtCRightMargin "RightMargin" + #endif + #ifndef XtNpaperWidth + #define XtNpaperWidth "paperWidth" + #define XtCPaperWidth "PaperWidth" + #endif + #ifndef XtNtabDistance + #define XtNtabDistance "tabDistance" + #define XtCTabDistance "TabDistance" + #endif + + /* declare specific RulerWidget class and instance datatypes */ + + typedef struct s_RulerClassRec* RulerWidgetClass; + typedef struct s_RulerRec* RulerWidget; + + /* declare the class constant */ + + extern WidgetClass rulerWidgetClass; + + + #endif /* s_Ruler_h */ + diff -crNP ../siag-3.3.1/xcommon/RulerP.h ./xcommon/RulerP.h *** ../siag-3.3.1/xcommon/RulerP.h Thu Jan 1 01:00:00 1970 --- ./xcommon/RulerP.h Mon Mar 27 12:58:49 2000 *************** *** 0 **** --- 1,56 ---- + /* + Copyright (C) 2000 Ulric Eriksson + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the Licence, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + */ + + #ifndef s_RulerP_h + #define s_RulerP_h + + #include "Ruler.h" + /* include superclass private header file */ + #include + + /* define unique representation types not found in */ + + #define XtRRulerResource "RulerResource" + + typedef struct { + int empty; + } RulerClassPart; + + typedef struct s_RulerClassRec { + CoreClassPart core_class; + RulerClassPart ruler_class; + } RulerClassRec; + + extern RulerClassRec rulerClassRec; + + typedef struct { + /* resources */ + int left_margin, right_margin; + int paper_width; + int tab_distance; + /* private state */ + GC gc; + } RulerPart; + + typedef struct s_RulerRec { + CorePart core; + RulerPart ruler; + } RulerRec; + + #endif /* s_RulerP_h */ diff -crNP ../siag-3.3.1/xcommon/Table.c ./xcommon/Table.c *** ../siag-3.3.1/xcommon/Table.c Wed Mar 22 07:19:51 2000 --- ./xcommon/Table.c Sun Mar 26 16:10:47 2000 *************** *** 1,5 **** /* ! Copyright (C) 1996, 1997 Ulric Eriksson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public --- 1,5 ---- /* ! Copyright (C) 1996-2000 Ulric Eriksson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public *************** *** 190,261 **** XtRImmediate, (XtPointer)NULL }, { - #if 0 - XtNtableGC, - XtCTableGC, - XtRPointer, - sizeof(XtPointer), - offset(gc), - XtRImmediate, - (XtPointer)NULL - }, { - XtNtableAdjHoriz, - XtCTableAdjHoriz, - XtRPointer, - sizeof(XtPointer), - offset(adj_horiz), - XtRImmediate, - (XtPointer)NULL - }, { - XtNtableAdjVert, - XtCTableAdjVert, - XtRPointer, - sizeof(XtPointer), - offset(adj_vert), - XtRImmediate, - (XtPointer)NULL - }, { - XtNtableBackground, - XtCTableBackground, - XtRPixel, - sizeof(Pixel), - offset(background), - XtRString, - XtDefaultBackground - }, { - XtNtableForeground, - XtCTableForeground, - XtRPixel, - sizeof(Pixel), - offset(foreground), - XtRString, - XtDefaultForeground - }, { - XtNtableGrid, - XtCTableGrid, - XtRPixel, - sizeof(Pixel), - offset(grid), - XtRString, - XtDefaultForeground - }, { - XtNtableCursor, - XtCTableCursor, - XtRPixel, - sizeof(Pixel), - offset(cursor), - XtRString, - XtDefaultForeground - }, { - XtNtableHighlight, - XtCTableHighlight, - XtRPixel, - sizeof(Pixel), - offset(highlight), - XtRString, - XtDefaultForeground - }, { - #endif XtNtableData, XtCTableData, XtRPointer, --- 190,195 ---- diff -crNP ../siag-3.3.1/xcommon/Table.h ./xcommon/Table.h *** ../siag-3.3.1/xcommon/Table.h Tue Feb 15 23:54:04 2000 --- ./xcommon/Table.h Sun Mar 26 16:16:59 2000 *************** *** 1,5 **** /* ! Copyright (C) 1996, 1997 Ulric Eriksson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public --- 1,5 ---- /* ! Copyright (C) 1996-2000 Ulric Eriksson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public *************** *** 95,108 **** #define XtNtableType "tableType" #define XtNtableText "tableText" #define XtNtableFormat "tableFormat" - #define XtNtableGC "tableGC" - #define XtNtableAdjHoriz "tableAdjHoriz" - #define XtNtableAdjVert "tableAdjVert" - #define XtNtableBackground "tableBackground" - #define XtNtableForeground "tableForeground" - #define XtNtableGrid "tableGrid" - #define XtNtableCursor "tableCursor" - #define XtNtableHighlight "tableHighlight" #define XtNtableData "tableData" #define XtNtableRedisplay "tableRedisplay" #define XtNtableGridLines "tableGridLines" --- 95,100 ---- *************** *** 129,142 **** #define XtCTableType "TableType" #define XtCTableText "TableText" #define XtCTableFormat "TableFormat" - #define XtCTableGC "TableGC" - #define XtCTableAdjHoriz "TableAdjHoriz" - #define XtCTableAdjVert "TableAdjVert" - #define XtCTableBackground "TableBackground" - #define XtCTableForeground "TableForeground" - #define XtCTableGrid "TableGrid" - #define XtCTableCursor "TableCursor" - #define XtCTableHighlight "TableHighlight" #define XtCTableData "TableData" #define XtCTableRedisplay "TableRedisplay" #define XtCTableGridLines "TableGridLines" --- 121,126 ---- diff -crNP ../siag-3.3.1/xcommon/TableP.h ./xcommon/TableP.h *** ../siag-3.3.1/xcommon/TableP.h Wed Mar 22 07:17:10 2000 --- ./xcommon/TableP.h Sun Mar 26 16:11:06 2000 *************** *** 1,5 **** /* ! Copyright (C) 1996, 1997 Ulric Eriksson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public --- 1,5 ---- /* ! Copyright (C) 1996-2000 Ulric Eriksson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public *************** *** 54,69 **** int (*type)(XtPointer, int, int); char *(*text)(XtPointer, int, int); unsigned long (*format)(XtPointer, int, int); - #if 0 - void (*gc)(); - int (*adj_horiz)(); - int (*adj_vert)(); - Pixel background; - Pixel foreground; - Pixel grid; - Pixel cursor; - Pixel highlight; - #endif XtPointer data; Boolean redisplay; Boolean grid_lines; --- 54,59 ---- diff -crNP ../siag-3.3.1/xcommon/Textframe.c ./xcommon/Textframe.c *** ../siag-3.3.1/xcommon/Textframe.c Wed Mar 22 07:26:38 2000 --- ./xcommon/Textframe.c Thu Jan 1 01:00:00 1970 *************** *** 1,845 **** - /* - Copyright (C) 1998-1999 Ulric Eriksson - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the Licence, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - */ - - #include - #include - #include - #include - - #include - #include - - #include "../common/cmalloc.h" - #include "../common/fonts.h" - #include "xfonts.h" - #include - #include "embed.h" - - #include "../common/richchar.h" - #include "../common/traceme.h" - - #include "TextframeP.h" - - static void plugin_coords(Widget, XtPointer, int *, int *); - static Boolean default_bop(XtPointer, int); - - #define offset(field) XtOffsetOf(TextframeRec, textframe.field) - static XtResource resources[] = { - { - XtNtextframeTopRow, /* name */ - XtCTextframeTopRow, /* class */ - XtRInt, /* type */ - sizeof(int), /* size */ - offset(top_row), /* offset */ - XtRImmediate, /* default_type */ - (XtPointer)1 /* default_addr */ - }, { - XtNtextframeTopCol, - XtCTextframeTopCol, - XtRInt, - sizeof(int), - offset(top_col), - XtRImmediate, - (XtPointer)0 - }, { - XtNtextframeSelectTopRow, - XtCTextframeSelectTopRow, - XtRInt, - sizeof(int), - offset(sel_top_row), - XtRImmediate, - (XtPointer)0 - }, { - XtNtextframeSelectTopCol, - XtCTextframeSelectTopCol, - XtRInt, - sizeof(int), - offset(sel_top_col), - XtRImmediate, - (XtPointer)0 - }, { - XtNtextframeSelectBottomRow, - XtCTextframeSelectBottomRow, - XtRInt, - sizeof(int), - offset(sel_bottom_row), - XtRImmediate, - (XtPointer)0 - }, { - XtNtextframeSelectBottomCol, - XtCTextframeSelectBottomCol, - XtRInt, - sizeof(int), - offset(sel_bottom_col), - XtRImmediate, - (XtPointer)0 - }, { - XtNtextframePointRow, - XtCTextframePointRow, - XtRInt, - sizeof(int), - offset(point_row), - XtRImmediate, - (XtPointer)0 - }, { - XtNtextframePointCol, - XtCTextframePointCol, - XtRInt, - sizeof(int), - offset(point_col), - XtRImmediate, - (XtPointer)0 - }, { - XtNtextframeRowHeight, - XtCTextframeRowHeight, - XtRPointer, - sizeof(XtPointer), - offset(row_height), - XtRImmediate, - (XtPointer)NULL - }, { - XtNtextframeAdjHoriz, - XtCTextframeAdjHoriz, - XtRPointer, - sizeof(XtPointer), - offset(adj_horiz), - XtRImmediate, - (XtPointer)NULL - }, { - XtNtextframeStyle, - XtCTextframeStyle, - XtRPointer, - sizeof(XtPointer), - offset(style), - XtRImmediate, - (XtPointer)NULL - }, { - XtNtextframeBop, - XtCTextframeBop, - XtRPointer, - sizeof(XtPointer), - offset(bop), - XtRImmediate, - (XtPointer)default_bop - }, { - XtNtextframeText, - XtCTextframeText, - XtRPointer, - sizeof(XtPointer), - offset(text), - XtRImmediate, - (XtPointer)NULL - }, { - XtNtextframeData, - XtCTextframeData, - XtRPointer, - sizeof(XtPointer), - offset(data), - XtRImmediate, - (XtPointer) NULL - }, { - XtNtextframeRedisplay, - XtCTextframeRedisplay, - XtRBoolean, - sizeof(Boolean), - offset(redisplay), - XtRImmediate, - (XtPointer)False - }, { - XtNtextframeVisibleCursor, - XtCTextframeVisibleCursor, - XtRBoolean, - sizeof(Boolean), - offset(visible_cursor), - XtRImmediate, - (XtPointer)False - }, { - XtNtextframePaperWidth, - XtCTextframePaperWidth, - XtRInt, - sizeof(int), - offset(paper_width), - XtRImmediate, - (XtPointer)595 - }, { - XtNtextframeLeftMargin, - XtCTextframeLeftMargin, - XtRInt, - sizeof(int), - offset(left_margin), - XtRImmediate, - (XtPointer)72 - }, { - XtNtextframeRightMargin, - XtCTextframeRightMargin, - XtRInt, - sizeof(int), - offset(right_margin), - XtRImmediate, - (XtPointer)72 - }, { - XtNtextframeTabDistance, - XtCTextframeTabDistance, - XtRInt, - sizeof(int), - offset(tab_distance), - XtRImmediate, - (XtPointer)36 - }, { - XtNtextframePluginCoords, - XtCTextframePluginCoords, - XtRPointer, - sizeof(XtPointer), - offset(plugin_coords), - XtRImmediate, - (XtPointer)plugin_coords - } - }; - #undef offset - - /* methods */ - static void DoLayout(TextframeWidget); - static void Resize(Widget); - static XtGeometryResult GeometryManager(Widget, - XtWidgetGeometry *, XtWidgetGeometry *); - static void ChangeManaged(Widget); - static void Redisplay(Widget, XEvent *, Region); - static void Realize(Widget, XtValueMask *, XSetWindowAttributes *); - static void Destroy(Widget); - static Boolean SetValues(Widget, Widget, Widget, ArgList, Cardinal *); - - /* by default, do not display Beginning Of Paragraph marks */ - static Boolean default_bop(XtPointer p, int i) - { - return False; - } - - static void plugin_coords(Widget w, XtPointer p, int *x, int *y) - { - *x = *y = 0; - } - - /* actions */ - static void TextframeAction(Widget, XEvent *, String *, Cardinal *); - - static XtActionsRec actions[] = - { - {"textframe-action", TextframeAction}, - }; - - /* translations */ - static char translations[] = - ": self-insert-char()\n"; - - TextframeClassRec textframeClassRec = { - { /* core fields */ - /* superclass */ (WidgetClass) &compositeClassRec, - /* class_name */ "Textframe", - /* widget_size */ sizeof(TextframeRec), - /* class_initialize */ NULL, - /* class_part_initialize */ NULL, - /* class_inited */ FALSE, - /* initialize */ NULL, - /* initialize_hook */ NULL, - /* realize */ Realize, - /* actions */ actions, - /* num_actions */ XtNumber(actions), - /* resources */ resources, - /* num_resources */ XtNumber(resources), - /* xrm_class */ NULLQUARK, - /* compress_motion */ TRUE, - /* compress_exposure */ TRUE, - /* compress_enterleave */ TRUE, - /* visible_interest */ FALSE, - /* destroy */ Destroy, - /* resize */ Resize, - /* expose */ Redisplay, - /* set_values */ SetValues, - /* set_values_hook */ NULL, - /* set_values_almost */ XtInheritSetValuesAlmost, - /* get_values_hook */ NULL, - /* accept_focus */ NULL, - /* version */ XtVersion, - /* callback_private */ NULL, - /* tm_table */ translations, - /* query_geometry */ XtInheritQueryGeometry, - /* display_accelerator */ XtInheritDisplayAccelerator, - /* extension */ NULL - },{ - /* composite_class fields */ - /* geometry_manager */ GeometryManager, - /* change_managed */ ChangeManaged, - /* insert_child */ XtInheritInsertChild, - /* delete_child */ XtInheritDeleteChild, - /* extension */ NULL - }, { /* textframe fields */ - /* empty */ 0 - } - }; - - WidgetClass textframeWidgetClass = (WidgetClass)&textframeClassRec; - - - /* supporting code copied directly from window.c */ - - static void TextframeAction(Widget w, XEvent *event, String *params, Cardinal *n) - { - ; - } - - static GC get_gc(Widget w, unsigned long fg, unsigned long bg, Font font) - { - unsigned long valuemask = 0; - XGCValues values; - GC gc = XCreateGC(XtDisplay(w), XtWindow(w), valuemask, &values); - - XSetForeground(XtDisplay(w), gc, fg); - XSetBackground(XtDisplay(w), gc, bg); - if (font != -1) - XSetFont(XtDisplay(w), gc, font); - return gc; - } - - #define superclass (&coreClassRec) - static void Realize(Widget w, XtValueMask *valueMask, - XSetWindowAttributes *attributes) - { - TextframeWidget rtw = (TextframeWidget)w; - unsigned long fg, bg, blockbg; - XColor screen_color, exact_color; - Display *dpy; - char *name, *class; - XIMStyles *styles; - int i; - - (*superclass->core_class.realize)(w, valueMask, attributes); - fg = BlackPixelOfScreen(XtScreen(w)); - bg = rtw->core.background_pixel; - XAllocNamedColor(XtDisplay(w), - DefaultColormap(XtDisplay(w), DefaultScreen(XtDisplay(w))), - "grey", &screen_color, &exact_color); - blockbg = screen_color.pixel; - rtw->textframe.clear_gc = get_gc(w, bg, fg, -1); - rtw->textframe.cell_gc = get_gc(w, fg, blockbg, - -1/*get_font(0)*/); - rtw->textframe.cursor_gc = get_gc(w, fg^bg, 0, -1); - XSetFunction(XtDisplay(w), rtw->textframe.cursor_gc, GXxor); - XSetLineAttributes(XtDisplay(w), rtw->textframe.cursor_gc, - 1, LineSolid, CapButt, JoinMiter); - - #ifdef HAVE_XCREATEIC - /* Set up input methods */ - dpy = XtDisplay(w); - XtGetApplicationNameAndClass(dpy, &name, &class); - rtw->textframe.xim = XOpenIM(dpy, XtDatabase(dpy), name, class); - XGetIMValues(rtw->textframe.xim, - XNQueryInputStyle, &styles, - (char *)0); - for (i = 0; i < styles->count_styles; i++) { - if (styles->supported_styles[i] == - (XIMPreeditNothing | XIMStatusNothing)) break; - } - if (i == styles->count_styles) i = 0; - rtw->textframe.xic = XCreateIC(rtw->textframe.xim, - XNInputStyle, styles->supported_styles[i], - XNClientWindow, XtWindow(w), - (char *)0); - #endif - } - - static void Destroy(Widget w) - { - TextframeWidget rtw = (TextframeWidget)w; - - XFreeGC(XtDisplay(w), rtw->textframe.clear_gc); - XFreeGC(XtDisplay(w), rtw->textframe.cell_gc); - XFreeGC(XtDisplay(w), rtw->textframe.cursor_gc); - #ifdef HAVE_XCREATEIC - XDestroyIC(rtw->textframe.xic); - XCloseIM(rtw->textframe.xim); - #endif - } - - static Dimension row_height(TextframeWidget rtw, int row) - { - if (rtw->textframe.row_height) - return (*rtw->textframe.row_height)(rtw->textframe.data, row); - return 20; - } - - /* --- - forget about x for now - */ - - void textframe_global_coords(TextframeWidget tw, - int row, int col, int *x, int *y) - { - int i; - - *x = *y = 0; - - for (i = 1; i < row; i++) - *y += row_height(tw, i); - } - - /* --- - Check if we are in the block. - */ - - static int inblock(TextframeWidget rtw, int r, int c) - { - return ((r > rtw->textframe.sel_top_row || - (r == rtw->textframe.sel_top_row && - c >= rtw->textframe.sel_top_col)) && - (r < rtw->textframe.sel_bottom_row || - (r == rtw->textframe.sel_bottom_row && - c <= rtw->textframe.sel_bottom_col))); - } - - static int ret_hadj(TextframeWidget rtw, int row) - { - if (rtw->textframe.adj_horiz) - return (*rtw->textframe.adj_horiz)(rtw->textframe.data, row); - return HADJ_LEFT; - } - - static int ret_style(TextframeWidget rtw, int row) - { - if (rtw->textframe.style) - return (*rtw->textframe.style)(rtw->textframe.data, row); - return STY_DEFAULT; - } - - static rich_char *ret_text(TextframeWidget rtw, int row) - { - if (rtw->textframe.text) - return (*rtw->textframe.text)(rtw->textframe.data, row); - return NULL; - } - - static int line_width(TextframeWidget rtw, int row, int col) - { - rich_char *line; - char *p; - int i, l; - unsigned int width; - - line = ret_text(rtw, row); - if (line == NULL) return 0; - - p = (char *)rc_makeplain(line); - - if (ret_style(rtw, row) == STY_EMBED) { - if (col == 0) return 0; - embed_size(p, &width, NULL); - return width; - } - - l = rc_strlen(line); - if (col > l) col = l; - width = 0; /* accumulated width */ - for (i = 0; i < col && line[i].c; i++) { - if (line[i].c == '\t') { - width += rtw->textframe.tab_distance; - width -= (width % rtw->textframe.tab_distance); - } else { - width += rc_width(line[i]); - } - } - cfree(p); - return width; - } - - static int line_length(TextframeWidget rtw, int row) - { - rich_char *p; - int len; - p = ret_text(rtw, row); - if (p == NULL) return 0; - if (ret_style(rtw, row) == STY_EMBED) return 1; - len = rc_strlen(p); - return len; - } - - static int line_start(TextframeWidget rtw, int row) - { - int x = 0; - int w = rtw->textframe.paper_width-rtw->textframe.left_margin - -rtw->textframe.right_margin; - int hadj; - hadj = ret_hadj(rtw, row); - if (hadj == HADJ_CENTER) - x = (w-line_width(rtw, row, line_length(rtw, row))) / 2; - else if (hadj == HADJ_RIGHT) - x = w-line_width(rtw, row, line_length(rtw, row)); - - return x+rtw->textframe.left_margin; - } - - /* --- - */ - void textframe_char2coords(TextframeWidget rtw, - int cell_row, int cell_col, - int *cell_x, int *cell_y) - { - int r; - *cell_y = 0; - for (r = rtw->textframe.top_row; r < cell_row; r++) - *cell_y += row_height(rtw, r); - *cell_x = line_start(rtw, cell_row) - +line_width(rtw, cell_row, cell_col); - } - - /* --- - */ - void textframe_coords2char(TextframeWidget rtw, - int *cur_row, int *cur_col, - int cur_x, int cur_y) - { - int r, c, h; - - r = rtw->textframe.top_row; - h = row_height(rtw, r); - while (cur_y > h) { - r++; - h += row_height(rtw, r); - } - *cur_row = r; - - c = 0; - cur_x -= line_start(rtw, r); - cur_x += rtw->textframe.top_col; /* it's in pixels, y'know */ - - while (c < line_length(rtw, r) && - cur_x > line_width(rtw, r, c)) { - c++; - } - *cur_col = c; - } - - static Boolean move_top(TextframeWidget rtw) - { - Boolean pr_scr_flag = False; - int cur_x, cur_y; - unsigned int width, height; - if (rtw->textframe.point_row < rtw->textframe.top_row) { - rtw->textframe.top_row = rtw->textframe.point_row; - pr_scr_flag = True; - } - /* Figure out how big the window is */ - width = rtw->core.width; - height = rtw->core.height; - textframe_char2coords(rtw, - rtw->textframe.point_row, rtw->textframe.point_col, - &cur_x, &cur_y); - /* this isn't efficient, but it will work */ - while (cur_y < 0) { /* this should never happen */ - rtw->textframe.top_row--; - cur_y += row_height(rtw, rtw->textframe.top_row); - pr_scr_flag = TRUE; - } - while (cur_y + row_height(rtw, rtw->textframe.point_row) > height) { - cur_y -= row_height(rtw, rtw->textframe.top_row); - rtw->textframe.top_row++; - pr_scr_flag = TRUE; - } - return pr_scr_flag; - } - - static void toggle_cursor(TextframeWidget rtw) - { - int cur_x, cur_y; - - textframe_char2coords(rtw, - rtw->textframe.point_row, rtw->textframe.point_col, - &cur_x, &cur_y); - XDrawLine(XtDisplay((Widget)rtw), XtWindow((Widget)rtw), - rtw->textframe.cursor_gc, cur_x, cur_y, - cur_x, row_height(rtw, rtw->textframe.point_row)+cur_y); - } - - static void draw_line(TextframeWidget rtw, Drawable cell_win, - int y_base, int row, int clr) - { - int color_index; - int i; - unsigned long color; - int height = row_height(rtw, row); - int x_base = 0, old_x_base; - Display *display = XtDisplay(rtw); - rich_char *line = ret_text(rtw, row); - int bop; - - if (clr) { - /* the 4 is from trial and error; should be from font metrics */ - XClearArea(display, cell_win, 0, y_base+4, - rtw->core.width, height, FALSE); - } - - if (!line) return; - x_base = line_start(rtw, row); - - if (ret_style(rtw, row) == STY_EMBED) { - char *p = (char *)rc_makeplain(line); - embed_draw(cell_win, x_base, y_base, p); - cfree(p); - return; /* done */ - } - - /* draw bop marker */ - bop = rtw->textframe.bop(rtw->textframe.data, row); - switch (bop) { - XPoint points[3]; - case 0: /* do nothing */ - break; - default: /* beginning of paragraph */ - #if 1 - points[0].x = x_base-10; points[0].y = y_base+4; - points[1].x = 7; points[1].y = height/2-4; - points[2].x = -points[1].x; points[2].y = points[1].y; - XSetForeground(display, rtw->textframe.cell_gc, - BlackPixelOfScreen(XtScreen(rtw))); - XDrawLines(display, cell_win, rtw->textframe.cell_gc, - points, 3, CoordModePrevious); - #else - XDrawString(display, cell_win, rtw->textframe.cell_gc, - x_base-10, y_base+height, "╖", 1); - rich_char bm; - bm.fmt = 0; - bm.c = '╖'; - rc_draw(cell_win, rtw->textframe.cell_gc, - x_base-10, y_base+height, bm, 0); - #endif - break; - } - - for (i = 0; line[i].c; i++) { - int width; - char b[2]; - b[0] = line[i].c; - b[1] = '\0'; - - color_index = format_table[line[i].fmt].fg; - color = get_color(color_index); - old_x_base = x_base; - XSetForeground(display, rtw->textframe.cell_gc, color); - if (inblock(rtw, row, i)) { - rc_draw(cell_win, rtw->textframe.cell_gc, - x_base, y_base+height, line[i], 1); - } else { - rc_draw(cell_win, rtw->textframe.cell_gc, - x_base, y_base+height, line[i], 0); - } - if (b[0] == '\t') { - int new_x = x_base - rtw->textframe.left_margin; - new_x += rtw->textframe.tab_distance; - new_x -= new_x % rtw->textframe.tab_distance; - x_base = new_x + rtw->textframe.left_margin; - } else { - width = rc_width(line[i]); - x_base += width; - } - if (format_table[line[i].fmt].uline) { - XDrawLine(display, cell_win, - rtw->textframe.cell_gc, - old_x_base, y_base+height+1, - x_base, y_base+height+1); - } - } - } - - /* --- - */ - void rt_pr_line(Widget w, int row) - { - Window cell_win = XtWindow(w); - TextframeWidget rtw = (TextframeWidget)w; - int i; - int y_base = 0; - - for (i = rtw->textframe.top_row; i < row; i++) - y_base += row_height(rtw, i); - /* here i == row+1 and y_base is just right */ - if (rtw->textframe.visible_cursor) - toggle_cursor(rtw); - draw_line(rtw, cell_win, y_base, row, TRUE); - if (rtw->textframe.visible_cursor) - toggle_cursor(rtw); - } - - void draw_textframe(TextframeWidget rtw, Drawable d) - { - int i, y_base; - unsigned int height; - - height = rtw->core.height; - y_base = 0; - for (i = rtw->textframe.top_row; - /*i <= w->buf->used_lines &&*/ - y_base < height; i++) { - draw_line(rtw, d, y_base, i, FALSE); - y_base += row_height(rtw, i); - } - } - - /* --- - Draw onto a pixmap. - */ - - Pixmap textframe_pixmap(TextframeWidget rtw) - { - unsigned int width, height, depth; - Pixmap scribble; - Widget w = (Widget)rtw; - - width = rtw->core.width; - height = rtw->core.height; - depth = rtw->core.depth; - if (width > 2000 || height > 2000) return None; - - scribble = XCreatePixmap(XtDisplay(w), XtWindow(w), - width, height, depth); - XFillRectangle(XtDisplay(w), scribble, rtw->textframe.clear_gc, - 0, 0, width, height); - draw_textframe(rtw, scribble); - return scribble; - } - - static void Redisplay(Widget w, XEvent *xevent, Region r) - { - Pixmap scribble; - GC gc; - unsigned long valuemask = 0; - XGCValues values; - TextframeWidget rtw = (TextframeWidget)w; - - scribble = textframe_pixmap(rtw); - if (scribble == None) return; - gc = XCreateGC(XtDisplay(w), XtWindow(w), - valuemask, &values); - XCopyArea(XtDisplay(w), scribble, XtWindow(w), - gc, 0, 0, rtw->core.width, rtw->core.height, 0, 0); - XFreePixmap(XtDisplay(w), scribble); - XFreeGC(XtDisplay(w), gc); - if (rtw->textframe.visible_cursor) { - toggle_cursor(rtw); - } - /* update plugin positions */ - DoLayout(rtw); - } - - static Boolean SetValues(Widget current, Widget request, Widget new, - ArgList args, Cardinal *nargs) - { - TextframeWidget currtw = (TextframeWidget)current; - TextframeWidget newrtw = (TextframeWidget)new; - Boolean do_redisplay = False; - - do_redisplay = (currtw->textframe.sel_top_row != newrtw->textframe.sel_top_row - || currtw->textframe.sel_top_col != newrtw->textframe.sel_top_col - || currtw->textframe.sel_bottom_row != newrtw->textframe.sel_bottom_row - || currtw->textframe.sel_bottom_col != newrtw->textframe.sel_bottom_col); - if (newrtw->textframe.visible_cursor) - do_redisplay |= move_top(newrtw); - - if (newrtw->textframe.redisplay) { - do_redisplay = True; - newrtw->textframe.redisplay = False; - } - - /* can't let Xt handle this because it will flicker */ - if (do_redisplay) { - Redisplay((Widget)newrtw, NULL, None); - do_redisplay = False; - } else { - if (currtw->textframe.visible_cursor) - toggle_cursor(currtw); - if (newrtw->textframe.visible_cursor) - toggle_cursor(newrtw); - } - - return do_redisplay; - } - - /* - * Do a layout, actually assigning positions. - */ - - static void DoLayout(TextframeWidget sw) - { - int i; - int x, y, top_x, top_y; - - if (sw->composite.num_children) { - textframe_global_coords(sw, - sw->textframe.top_row, sw->textframe.top_col, - &top_x, &top_y); - } - for (i = 0; i < sw->composite.num_children; i++) { - (*sw->textframe.plugin_coords)(sw->composite.children[i], - sw->textframe.data, &x, &y); - x = (sw->textframe.left_margin - +sw->textframe.paper_width - -sw->textframe.right_margin - -sw->composite.children[i]->core.width)/2; - XtMoveWidget(sw->composite.children[i], - x-top_x, y-top_y); - } - } - - /* - * Actually layout the table - */ - - static void Resize(Widget w) - { - DoLayout((TextframeWidget)w); - } - - /* - * Geometry Manager - * - * 'reply' is unused; we say only yeay or nay, never almost. - */ - - static XtGeometryResult GeometryManager(Widget w, - XtWidgetGeometry *request, XtWidgetGeometry *reply) - { - return XtGeometryYes; - } - - static void ChangeManaged(Widget w) - { - DoLayout((TextframeWidget)w); - } - - int TextframeLookupString(Widget w, XEvent *event, char *buf, - int bufsiz, KeySym *keysym) - { - #ifdef HAVE_XCREATEIC - Status status; - return XmbLookupString(((TextframeWidget)w)->textframe.xic, - (XKeyEvent *)event, (char *)buf, bufsiz, - keysym, &status); - #else - return XLookupString((XKeyEvent *)event, (char *)buf, bufsiz, - keysym, NULL); - #endif - } - --- 0 ---- diff -crNP ../siag-3.3.1/xcommon/Textframe.h ./xcommon/Textframe.h *** ../siag-3.3.1/xcommon/Textframe.h Tue Feb 15 23:54:04 2000 --- ./xcommon/Textframe.h Thu Jan 1 01:00:00 1970 *************** *** 1,108 **** - /* - Copyright (C) 1998-1999 Ulric Eriksson - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the Licence, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - */ - - #ifndef s_Textframe_h - #define s_Textframe_h - - /**************************************************************** - * - * Textframe widget - * - ****************************************************************/ - - /* Resources: - - Name Class RepType Default Value - ---- ----- ------- ------------- - background Background Pixel XtDefaultBackground - border BorderColor Pixel XtDefaultForeground - borderWidth BorderWidth Dimension 1 - textframeData TextframeData Pointer NULL - textframeExpose TextframeExpose Pointer NULL - destroyCallback Callback Pointer NULL - height Height Dimension 0 - mappedWhenManaged MappedWhenManaged Boolean True - sensitive Sensitive Boolean True - width Width Dimension 0 - x Position Position 0 - y Position Position 0 - - */ - - /* define any special resource names here that are not in */ - - #define XtNtextframeTopRow "textframeTopRow" - #define XtNtextframeTopCol "textframeTopCol" - #define XtNtextframeSelectTopRow "textframeSelectTopRow" - #define XtNtextframeSelectTopCol "textframeSelectTopCol" - #define XtNtextframeSelectBottomRow "textframeSelectBottomRow" - #define XtNtextframeSelectBottomCol "textframeSelectBottomCol" - #define XtNtextframePointRow "textframePointRow" - #define XtNtextframePointCol "textframePointCol" - #define XtNtextframeRowHeight "textframeRowHeight" - #define XtNtextframeAdjHoriz "textframeAdjHoriz" - #define XtNtextframeStyle "textframeStyle" - #define XtNtextframeText "textframeText" - #define XtNtextframeData "textframeData" - #define XtNtextframeRedisplay "textframeRedisplay" - #define XtNtextframeVisibleCursor "textframeVisibleCursor" - #define XtNtextframePaperWidth "textframePaperWidth" - #define XtNtextframeLeftMargin "textframeLeftMargin" - #define XtNtextframeRightMargin "textframeRightMargin" - #define XtNtextframeTabDistance "textframeTabDistance" - #define XtNtextframePluginCoords "textframePluginCoords" - #define XtNtextframeBop "textframeBop" - - #define XtCTextframeTopRow "TextframeTopRow" - #define XtCTextframeTopCol "TextframeTopCol" - #define XtCTextframeSelectTopRow "TextframeSelectTopRow" - #define XtCTextframeSelectTopCol "TextframeSelectTopCol" - #define XtCTextframeSelectBottomRow "TextframeSelectBottomRow" - #define XtCTextframeSelectBottomCol "TextframeSelectBottomCol" - #define XtCTextframePointRow "TextframePointRow" - #define XtCTextframePointCol "TextframePointCol" - #define XtCTextframeRowHeight "TextframeRowHeight" - #define XtCTextframeAdjHoriz "TextframeAdjHoriz" - #define XtCTextframeStyle "TextframeStyle" - #define XtCTextframeText "TextframeText" - #define XtCTextframeData "TextframeData" - #define XtCTextframeRedisplay "TextframeRedisplay" - #define XtCTextframeVisibleCursor "TextframeVisibleCursor" - #define XtCTextframePaperWidth "TextframePaperWidth" - #define XtCTextframeLeftMargin "TextframeLeftMargin" - #define XtCTextframeRightMargin "TextframeRightMargin" - #define XtCTextframeTabDistance "TextframeTabDistance" - #define XtCTextframePluginCoords "TextframePluginCoords" - #define XtCTextframeBop "TextframeBop" - - /* declare specific TextframeWidget class and instance datatypes */ - - typedef struct s_TextframeClassRec* TextframeWidgetClass; - typedef struct s_TextframeRec* TextframeWidget; - - /* declare the class constant */ - - extern WidgetClass textframeWidgetClass; - - /* a few functions */ - extern void rt_pr_line(Widget, int); - extern int TextframeLookupString(Widget, XEvent *, char *, int, KeySym *); - - #endif /* s_Textframe_h */ - --- 0 ---- diff -crNP ../siag-3.3.1/xcommon/TextframeP.h ./xcommon/TextframeP.h *** ../siag-3.3.1/xcommon/TextframeP.h Tue Feb 15 23:54:04 2000 --- ./xcommon/TextframeP.h Thu Jan 1 01:00:00 1970 *************** *** 1,78 **** - /* - Copyright (C) 1998-1999 Ulric Eriksson - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the Licence, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - */ - - #ifndef s_TextframeP_h - #define s_TextframeP_h - - #include "../config.h" - - #include "Textframe.h" - /* include superclass private header file */ - #include - - /* define unique representation types not found in */ - - #define XtRTextframeResource "TextframeResource" - - typedef struct { - int empty; - } TextframeClassPart; - - typedef struct s_TextframeClassRec { - CoreClassPart core_class; - CompositeClassPart composite_class; - TextframeClassPart textframe_class; - } TextframeClassRec; - - extern TextframeClassRec textframeClassRec; - - typedef struct { - /* resources */ - int top_row, top_col; - int sel_top_row, sel_top_col; - int sel_bottom_row, sel_bottom_col; - int point_row, point_col; - int (*row_height)(XtPointer, int); - int (*style)(XtPointer, int); - int (*adj_horiz)(XtPointer, int); - rich_char *(*text)(XtPointer, int); - XtPointer data; - Boolean redisplay; - Boolean visible_cursor; - int paper_width, left_margin, right_margin; - int tab_distance; - void (*plugin_coords)(Widget, XtPointer, int *, int *); - Boolean (*bop)(XtPointer, int); - /* private state */ - GC clear_gc; - GC cell_gc; - GC cursor_gc; - #ifdef HAVE_XCREATEIC - XIM xim; - XIC xic; - #endif - } TextframePart; - - typedef struct s_TextframeRec { - CorePart core; - CompositePart composite; - TextframePart textframe; - } TextframeRec; - - #endif /* s_TextframeP_h */ --- 0 ---- diff -crNP ../siag-3.3.1/xcommon/filesel.c ./xcommon/filesel.c *** ../siag-3.3.1/xcommon/filesel.c Tue Feb 15 23:54:04 2000 --- ./xcommon/filesel.c Fri Mar 24 20:50:31 2000 *************** *** 548,554 **** label_set(fsel_formatlabel, "Format:"); fsel_formatbutton = XtVaCreateManagedWidget("fsel_formatbutton", ! menuButtonWidgetClass, fsel_form, XtNmenu_name, "fsel_formatmenu", XtNlabel, fileformats[0], (char *)0); --- 548,554 ---- label_set(fsel_formatlabel, "Format:"); fsel_formatbutton = XtVaCreateManagedWidget("fsel_formatbutton", ! nwsMenuButtonWidgetClass, fsel_form, XtNmenu_name, "fsel_formatmenu", XtNlabel, fileformats[0], (char *)0); *************** *** 558,564 **** label_set(fsel_dirlabel, "Directory:"); fsel_dirbutton = XtVaCreateManagedWidget("fsel_dirbutton", ! menuButtonWidgetClass, fsel_form, XtNmenu_name, "fsel_dirmenu", (char *)0); --- 558,564 ---- label_set(fsel_dirlabel, "Directory:"); fsel_dirbutton = XtVaCreateManagedWidget("fsel_dirbutton", ! nwsMenuButtonWidgetClass, fsel_form, XtNmenu_name, "fsel_dirmenu", (char *)0); diff -crNP ../siag-3.3.1/xcommon/fonts.c ./xcommon/fonts.c *** ../siag-3.3.1/xcommon/fonts.c Mon Mar 20 17:28:45 2000 --- ./xcommon/fonts.c Fri Mar 24 07:21:45 2000 *************** *** 1,5 **** /* ! Copyright (C) 1997-1999 Ulric Eriksson 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 --- 1,5 ---- /* ! Copyright (C) 1997-2000 Ulric Eriksson 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 *************** *** 53,58 **** --- 53,59 ---- static siag_fontname fontname_table[256]; siag_font font_table[256]; static int ncolor, nfontname, nfont; + static int scale = 1000; static struct { char *alias; *************** *** 380,385 **** --- 381,388 ---- #else /* cheat to get ps right */ res_x = res_y = 72; #endif + res_x = res_x*scale/1000; + res_y = res_y*scale/1000; if (bold) i += 2; if (italic) i += 1; *************** *** 644,650 **** int ps_fontsize(int fmt) { ! return font_table[format_table[fmt].font].size / 10; } static int lastfont; --- 647,653 ---- int ps_fontsize(int fmt) { ! return font_table[format_table[fmt].font].size / 10 * 1000 / scale; } static int lastfont; *************** *** 978,982 **** --- 981,995 ---- T1_CloseLib(); #endif return 0; + } + + int scale_set(int s) + { + int old = scale; + scale = s; + /* and now we should really delete all loaded fonts, + redraw stuff and so on. But not yet. + */ + return old; } diff -crNP ../siag-3.3.1/xcommon/forminput.c ./xcommon/forminput.c *** ../siag-3.3.1/xcommon/forminput.c Mon Mar 20 17:29:01 2000 --- ./xcommon/forminput.c Fri Mar 24 20:50:55 2000 *************** *** 211,217 **** control *c = new_control(MENU, name); c->w = lastw = XtVaCreateManagedWidget("form_menu", ! menuButtonWidgetClass, form_dialog, XtNmenu_name, name, XtNlabel, name, XtNheight, 20, --- 211,217 ---- control *c = new_control(MENU, name); c->w = lastw = XtVaCreateManagedWidget("form_menu", ! nwsMenuButtonWidgetClass, form_dialog, XtNmenu_name, name, XtNlabel, name, XtNheight, 20, *************** *** 232,238 **** name = XtName(mw); /* menu name */ if (!c) return NULL; do { ! if (XtClass(c->w) == menuButtonWidgetClass) { mnu = NULL; XtVaGetValues(c->w, XtNmenu_name, &mnu, (char *)0); if (mnu && !strcmp(mnu, name)) return c; --- 232,238 ---- name = XtName(mw); /* menu name */ if (!c) return NULL; do { ! if (XtClass(c->w) == nwsMenuButtonWidgetClass) { mnu = NULL; XtVaGetValues(c->w, XtNmenu_name, &mnu, (char *)0); if (mnu && !strcmp(mnu, name)) return c; diff -crNP ../siag-3.3.1/xcommon/nws-ad.h ./xcommon/nws-ad.h *** ../siag-3.3.1/xcommon/nws-ad.h Mon Mar 20 17:30:52 2000 --- ./xcommon/nws-ad.h Fri Mar 24 20:52:32 2000 *************** *** 63,68 **** "*Menu*cursor: hand2", "*MenuBar.box_width: 1", "*MenuBar.box_color: gray", ! "*MenuButton.highlight_on_enter: False", #endif --- 63,68 ---- "*Menu*cursor: hand2", "*MenuBar.box_width: 1", "*MenuBar.box_color: gray", ! "*NwsMenuButton.highlight_on_enter: False", #endif diff -crNP ../siag-3.3.1/xcommon/xcommon-ad.h ./xcommon/xcommon-ad.h *** ../siag-3.3.1/xcommon/xcommon-ad.h Mon Mar 20 17:29:50 2000 --- ./xcommon/xcommon-ad.h Fri Mar 24 20:52:07 2000 *************** *** 3,12 **** /* This is to avoid getting black borders from XawM */ "*highlightThickness: 0", ! #if 1 ! /*APPNAME*/ "*background: grey", ! /*APPNAME*/ "*foreground: black", ! #endif "*font: -*-helvetica-medium-r-*-12-*", APPNAME "*Combo*borderWidth: 0", APPNAME "*Combo*height: 18", --- 3,10 ---- /* This is to avoid getting black borders from XawM */ "*highlightThickness: 0", ! "*background: grey", ! "*foreground: black", "*font: -*-helvetica-medium-r-*-12-*", APPNAME "*Combo*borderWidth: 0", APPNAME "*Combo*height: 18", *************** *** 25,50 **** APPNAME "*List*defaultColumns: 1", APPNAME "*List*forceColumns: True", APPNAME "*topbox*List*background: white", - APPNAME "*MenuButton.shadowWidth: 0", - APPNAME "*SiagMenuButton.shadowWidth: 0", - APPNAME "*SiagMenuButton.translations: #override \\n\ - : siag-highlight() \\n\ - : siag-unhighlight()", - APPNAME "*menubox.SiagMenuButton.translations: #override \\n\ - : siag-highlight(1) \\n\ - : siag-unhighlight(0)", - APPNAME "*SmeBSB.rightMargin: 10", APPNAME "*Repeater.shadowWidth: 1", APPNAME "*Repeater.translations: #override \\n\ : siag-highlight() \\n\ : siag-unhighlight()", APPNAME "*Scrollbar*borderWidth: 0", - /* menu-motion removed because of introduction of Nws */ - APPNAME "*SimpleMenu.translations: #override \\n\ - :: highlight() \\n\ - :: unhighlight() \\n\ - :: highlight() \\n\ - :: MenuPopdown() notify() unhighlight()", APPNAME "*Text*background: white", APPNAME "*Text*Scrollbar.background: grey", APPNAME "*TextField*background: white", --- 23,33 ---- diff -crNP ../siag-3.3.1/xed/Xed.ad ./xed/Xed.ad *** ../siag-3.3.1/xed/Xed.ad Thu Jan 27 02:21:07 2000 --- ./xed/Xed.ad Sun Mar 26 07:54:03 2000 *************** *** 14,23 **** XedPlus*menubar.gridy: 0 XedPlus*menubox.orientation: horizontal XedPlus*menubox.borderWidth: 0 ! XedPlus*menubox.MenuButton.shadowWidth: 0 ! XedPlus*menubox.MenuButton.internalHeight: 6 ! XedPlus*menubox.SiagMenuButton.shadowWidth: 0 ! XedPlus*menubox.SiagMenuButton.internalHeight: 6 XedPlus*menubox.vSpace: 0 XedPlus*menubox.hSpace: 0 XedPlus*menubox.Command.borderWidth: 4 --- 14,21 ---- XedPlus*menubar.gridy: 0 XedPlus*menubox.orientation: horizontal XedPlus*menubox.borderWidth: 0 ! XedPlus*menubox.NwsMenuButton.shadowWidth: 0 ! XedPlus*menubox.NwsMenuButton.internalHeight: 6 XedPlus*menubox.vSpace: 0 XedPlus*menubox.hSpace: 0 XedPlus*menubox.Command.borderWidth: 4 *************** *** 45,53 **** XedPlus*editWindow.gridy: 2 XedPlus*editWindow*font: fixed - !XedPlus*labelWindow.gridy: 3 - !XedPlus*labelWindow.shadowWidth: 2 - !XedPlus*labelWindow.justify: left XedPlus*statusbox.borderWidth: 0 XedPlus*statusbox.gridy: 3 XedPlus*statusbox.xLayout: 4 100% 4 100 4 --- 43,48 ---- *************** *** 56,68 **** XedPlus*labelWindow.gridy: 1 XedPlus*labelWindow.shadowWidth: 1 XedPlus*labelWindow.justify: left - !XedPlus*menubox.dirty.borderWidth: 4 - !XedPlus*menubox.dirty.borderColor: grey XedPlus*dirty.gridx: 3 XedPlus*dirty.gridy: 1 XedPlus*dirty.shadowWidth: 1 XedPlus*dirty.font: -*-helvetica-bold-r-*-12-* - !XedPlus*menubox.dirty.internalHeight: 6 XedPlus*buttons*orientation: horizontal XedPlus*buttons*showGrip: False --- 51,60 ---- diff -crNP ../siag-3.3.1/xed/app-defaults.h ./xed/app-defaults.h *** ../siag-3.3.1/xed/app-defaults.h Thu Jan 27 02:21:09 2000 --- ./xed/app-defaults.h Sun Mar 26 16:39:31 2000 *************** *** 7,16 **** "XedPlus*menubar.gridy: 0", "XedPlus*menubox.orientation: horizontal", "XedPlus*menubox.borderWidth: 0", ! "XedPlus*menubox.MenuButton.shadowWidth: 0", ! "XedPlus*menubox.MenuButton.internalHeight: 6", ! "XedPlus*menubox.SiagMenuButton.shadowWidth: 0", ! "XedPlus*menubox.SiagMenuButton.internalHeight: 6", "XedPlus*menubox.vSpace: 0", "XedPlus*menubox.hSpace: 0", "XedPlus*menubox.Command.borderWidth: 4", --- 7,14 ---- "XedPlus*menubar.gridy: 0", "XedPlus*menubox.orientation: horizontal", "XedPlus*menubox.borderWidth: 0", ! "XedPlus*menubox.NwsMenuButton.shadowWidth: 0", ! "XedPlus*menubox.NwsMenuButton.internalHeight: 6", "XedPlus*menubox.vSpace: 0", "XedPlus*menubox.hSpace: 0", "XedPlus*menubox.Command.borderWidth: 4", diff -crNP ../siag-3.3.1/xegon/Egon.ad ./xegon/Egon.ad *** ../siag-3.3.1/xegon/Egon.ad Thu Feb 17 21:11:19 2000 --- ./xegon/Egon.ad Fri Mar 24 20:54:43 2000 *************** *** 22,37 **** Egon*topbox.yLayout: 30 30 30 30 100% 30 Egon*topbox*List*background: white ! Egon*topbox.MenuButton.shadowWidth: 0 Egon*topbox.Toggle.shadowWidth: 0 Egon*topbox.Command.shadowWidth: 0 Egon*menubar.gridy: 0 Egon*menubar.shadowWidth: 1 ! Egon*menubox.MenuButton.shadowWidth: 0 ! Egon*menubox.MenuButton.internalHeight: 6 ! Egon*menubox.SiagMenuButton.shadowWidth: 0 ! Egon*menubox.SiagMenuButton.internalHeight: 6 Egon*menubox.orientation: horizontal Egon*menubox.borderWidth: 0 Egon*menubox.vSpace: 0 --- 22,35 ---- Egon*topbox.yLayout: 30 30 30 30 100% 30 Egon*topbox*List*background: white ! Egon*topbox.NwsMenuButton.shadowWidth: 0 Egon*topbox.Toggle.shadowWidth: 0 Egon*topbox.Command.shadowWidth: 0 Egon*menubar.gridy: 0 Egon*menubar.shadowWidth: 1 ! Egon*menubox.NwsMenuButton.shadowWidth: 0 ! Egon*menubox.NwsMenuButton.internalHeight: 6 Egon*menubox.orientation: horizontal Egon*menubox.borderWidth: 0 Egon*menubox.vSpace: 0 *************** *** 325,329 **** Egon*listshell*viewport.borderWidth: 1 Egon*listshell*buttonbox.orientation: vertical ! Egon*form_shell*MenuButton.shadowWidth: 1 --- 323,327 ---- Egon*listshell*viewport.borderWidth: 1 Egon*listshell*buttonbox.orientation: vertical ! Egon*form_shell*NwsMenuButton.shadowWidth: 1 diff -crNP ../siag-3.3.1/xegon/app-defaults.h ./xegon/app-defaults.h *** ../siag-3.3.1/xegon/app-defaults.h Thu Feb 17 21:12:10 2000 --- ./xegon/app-defaults.h Fri Mar 24 21:04:05 2000 *************** *** 6,20 **** "Egon*topbox.xLayout: 100%", "Egon*topbox.yLayout: 30 30 30 30 100% 30", "Egon*topbox*List*background: white", ! "Egon*topbox.MenuButton.shadowWidth: 0", "Egon*topbox.Toggle.shadowWidth: 0", "Egon*topbox.Command.shadowWidth: 0", "Egon*menubar.gridy: 0", "Egon*menubar.shadowWidth: 1", ! "Egon*menubox.MenuButton.shadowWidth: 0", ! "Egon*menubox.MenuButton.internalHeight: 6", ! "Egon*menubox.SiagMenuButton.shadowWidth: 0", ! "Egon*menubox.SiagMenuButton.internalHeight: 6", "Egon*menubox.orientation: horizontal", "Egon*menubox.borderWidth: 0", "Egon*menubox.vSpace: 0", --- 6,18 ---- "Egon*topbox.xLayout: 100%", "Egon*topbox.yLayout: 30 30 30 30 100% 30", "Egon*topbox*List*background: white", ! "Egon*topbox.NwsMenuButton.shadowWidth: 0", "Egon*topbox.Toggle.shadowWidth: 0", "Egon*topbox.Command.shadowWidth: 0", "Egon*menubar.gridy: 0", "Egon*menubar.shadowWidth: 1", ! "Egon*menubox.NwsMenuButton.shadowWidth: 0", ! "Egon*menubox.NwsMenuButton.internalHeight: 6", "Egon*menubox.orientation: horizontal", "Egon*menubox.borderWidth: 0", "Egon*menubox.vSpace: 0", *************** *** 211,214 **** "Egon*listshell*listbox.orientation: vertical", "Egon*listshell*viewport.borderWidth: 1", "Egon*listshell*buttonbox.orientation: vertical", ! "Egon*form_shell*MenuButton.shadowWidth: 1", --- 209,212 ---- "Egon*listshell*listbox.orientation: vertical", "Egon*listshell*viewport.borderWidth: 1", "Egon*listshell*buttonbox.orientation: vertical", ! "Egon*form_shell*NwsMenuButton.shadowWidth: 1", diff -crNP ../siag-3.3.1/xfiler/Runcmd.ad ./xfiler/Runcmd.ad *** ../siag-3.3.1/xfiler/Runcmd.ad Wed Apr 28 14:02:18 1999 --- ./xfiler/Runcmd.ad Sun Mar 26 07:56:22 2000 *************** *** 2,24 **** ! Global resources Runcmd.geometry: 600x200 - !Runcmd*beNiceToColormap: False - !Runcmd*background: grey - !Runcmd*foreground: black - !Runcmd*font: -*-helvetica-medium-r-*-12-* ! Settings for widget classes, in alphabetic order Runcmd*Command.cursor: hand2 - !Runcmd*Command.shadowWidth: 1 - !Runcmd*Command.translations: #override \n\ - ! : siag-highlight() \n\ - ! : siag-unhighlight() - !Runcmd*Frame.shadowType: Raised - !Runcmd*Frame.allowResize: False - - !Runcmd*Text*Scrollbar.background: grey - !Runcmd*Text*font: fixed - !Runcmd*Text*background: white --- 2,10 ---- diff -crNP ../siag-3.3.1/xfiler/Xfiler.ad ./xfiler/Xfiler.ad *** ../siag-3.3.1/xfiler/Xfiler.ad Tue Nov 23 02:07:33 1999 --- ./xfiler/Xfiler.ad Sun Mar 26 07:55:56 2000 *************** *** 9,23 **** Xfiler*updateInterval: 10000 ! Geometry for application and initial file manager windows - !Xfiler.initGeometry: 400x350+5+70 Xfiler.initGeometry: 400x350 ! Geometry for subsequent file windows Xfiler.file window.Geometry: 400x350 Xfiler*Command*cursor: hand2 - !Xfiler*Scrollbar*background: grey - Xfiler*SimpleMenu*cursor: hand2 ! Settings for individual widgets --- 9,20 ---- *************** *** 29,38 **** Xfiler*menubar.gridy: 0 Xfiler*menubox.orientation: horizontal Xfiler*menubox.borderWidth: 0 ! Xfiler*menubox.MenuButton.shadowWidth: 0 ! Xfiler*menubox.MenuButton.internalHeight: 6 ! Xfiler*menubox.SiagMenuButton.shadowWidth: 0 ! Xfiler*menubox.SiagMenuButton.internalHeight: 6 Xfiler*menubox.vSpace: 0 Xfiler*menubox.hSpace: 0 --- 26,33 ---- Xfiler*menubar.gridy: 0 Xfiler*menubox.orientation: horizontal Xfiler*menubox.borderWidth: 0 ! Xfiler*menubox.NwsMenuButton.shadowWidth: 0 ! Xfiler*menubox.NwsMenuButton.internalHeight: 6 Xfiler*menubox.vSpace: 0 Xfiler*menubox.hSpace: 0 *************** *** 46,52 **** Xfiler*toolbox.hSpace: 0 Xfiler*cmdform.gridy: 2 - !Xfiler*cmdform.width: 400 Xfiler*cmdform.defaultDistance: 2 Xfiler*cmdframe.top: ChainTop Xfiler*cmdframe.left: ChainLeft --- 41,46 ---- *************** *** 110,121 **** ! Use these only if you have the 75dpi fonts. (recommended) Xfiler*boldFont: -*-helvetica-bold-r-*-*-14-* Xfiler*iconFont: -*-helvetica-medium-r-*-*-12-* - !Xfiler*buttonFont: -*-helvetica-*-r-*-*-12-* - !Xfiler*menuFont: -*-helvetica-*-r-*-*-12-* Xfiler*labelFont: -*-helvetica-medium-r-*-*-12-* - !Xfiler*statusFont: -*-helvetica-*-r-*-*-12-* ! This must be a fixed width font - !Xfiler*cellFont: -*-helvetica-medium-r-*-*-14-* Xfiler*cellFont: fixed ! Specify the sizes of the different icon toggles. The following values --- 104,111 ---- *************** *** 154,171 **** Xfiler*defaultSortType: SortByName ! The default editor to use - !Xfiler*defaultEditor: exec xedplus Xfiler*defaultEditor: xedplus - !Xfiler*defaultViewer: exec xedplus Xfiler*defaultViewer: xedplus ! The default terminal program to use - !Xfiler*defaultTerm: exec xterm Xfiler*defaultTerm: xterm ! The default filemanager to use with root dropped folders when tycoon is running; ! by default it is "files" but the options or FM can be changed as: - !Xfiler*defaultBrowser: exec xfiler -bg white !*********************************************************************** ! Miscellaneous settings (see also Main.c) --- 144,157 ---- *************** *** 173,179 **** !*********************************************************************** Xfiler*Command.cursor: hand2 ! Xfiler*MenuButton.cursor: hand2 Xfiler*viewport.allowHoriz: false Xfiler*viewport.forceBars: true --- 159,165 ---- !*********************************************************************** Xfiler*Command.cursor: hand2 ! Xfiler*NwsMenuButton.cursor: hand2 Xfiler*viewport.allowHoriz: false Xfiler*viewport.forceBars: true diff -crNP ../siag-3.3.1/xfiler/xfiler-ad.h ./xfiler/xfiler-ad.h *** ../siag-3.3.1/xfiler/xfiler-ad.h Tue Nov 23 02:07:35 1999 --- ./xfiler/xfiler-ad.h Sun Mar 26 16:39:45 2000 *************** *** 10,19 **** "Xfiler*menubar.gridy: 0", "Xfiler*menubox.orientation: horizontal", "Xfiler*menubox.borderWidth: 0", ! "Xfiler*menubox.MenuButton.shadowWidth: 0", ! "Xfiler*menubox.MenuButton.internalHeight: 6", ! "Xfiler*menubox.SiagMenuButton.shadowWidth: 0", ! "Xfiler*menubox.SiagMenuButton.internalHeight: 6", "Xfiler*menubox.vSpace: 0", "Xfiler*menubox.hSpace: 0", "Xfiler*toolbar.shadowWidth: 1", --- 10,17 ---- "Xfiler*menubar.gridy: 0", "Xfiler*menubox.orientation: horizontal", "Xfiler*menubox.borderWidth: 0", ! "Xfiler*menubox.NwsMenuButton.shadowWidth: 0", ! "Xfiler*menubox.NwsMenuButton.internalHeight: 6", "Xfiler*menubox.vSpace: 0", "Xfiler*menubox.hSpace: 0", "Xfiler*toolbar.shadowWidth: 1", *************** *** 96,102 **** "Xfiler*defaultViewer: xedplus", "Xfiler*defaultTerm: xterm", "Xfiler*Command.cursor: hand2", ! "Xfiler*MenuButton.cursor: hand2", "Xfiler*viewport.allowHoriz: false", "Xfiler*viewport.forceBars: true", "Xfiler*popup form*bitmap.borderWidth : 0", --- 94,100 ---- "Xfiler*defaultViewer: xedplus", "Xfiler*defaultTerm: xterm", "Xfiler*Command.cursor: hand2", ! "Xfiler*NwsMenuButton.cursor: hand2", "Xfiler*viewport.allowHoriz: false", "Xfiler*viewport.forceBars: true", "Xfiler*popup form*bitmap.borderWidth : 0", diff -crNP ../siag-3.3.1/xpw/Makefile.in ./xpw/Makefile.in *** ../siag-3.3.1/xpw/Makefile.in Thu Mar 23 14:12:39 2000 --- ./xpw/Makefile.in Mon Mar 27 21:15:02 2000 *************** *** 243,249 **** ../common/common.h ../common/cmalloc.h ../common/bitmaps/pw.xpm \ ../xcommon/xcommon.h ../xcommon/xfonts.h ../xcommon/../config.h \ ../xcommon/../common/richchar.h ../xcommon/embed.h \ ! ../xcommon/Canvas.h ../xcommon/Richtext.h ../xcommon/Combo.h \ ../xcommon/Frame.h ../xcommon/Tabbing.h ../xcommon/Rudegrid.h \ ../xcommon/DragAndDrop.h ../xcommon/DragAndDropTypes.h \ ../xcommon/plugin.h ../xcommon/../common/plugin.h \ --- 243,249 ---- ../common/common.h ../common/cmalloc.h ../common/bitmaps/pw.xpm \ ../xcommon/xcommon.h ../xcommon/xfonts.h ../xcommon/../config.h \ ../xcommon/../common/richchar.h ../xcommon/embed.h \ ! ../xcommon/Ruler.h ../xcommon/Richtext.h ../xcommon/Combo.h \ ../xcommon/Frame.h ../xcommon/Tabbing.h ../xcommon/Rudegrid.h \ ../xcommon/DragAndDrop.h ../xcommon/DragAndDropTypes.h \ ../xcommon/plugin.h ../xcommon/../common/plugin.h \ diff -crNP ../siag-3.3.1/xpw/Pw.ad ./xpw/Pw.ad *** ../siag-3.3.1/xpw/Pw.ad Thu Feb 17 21:10:11 2000 --- ./xpw/Pw.ad Mon Mar 27 09:33:35 2000 *************** *** 5,25 **** Pw*combo_viewport.allowHoriz: False - Pw*submenu.translations: #override \n\ - :: highlight() \n\ - :: MenuPopdown() unhighlight() \n\ - :: highlight() \n\ - :: popdown-submenu() notify() unhighlight() - ! Settings for individual widgets Pw*topbox.xLayout: 100% Pw*topbox.yLayout: 30 30 30 30 100% 30 Pw*topbox*List*background: white - !Pw*topbox.MenuButton.shadowWidth: 0 - !Pw*topbox.Toggle.shadowWidth: 0 - !Pw*topbox.Command.shadowWidth: 0 Pw*textframe.topShadowContrast: -40 Pw*textframe.bottomShadowContrast: -20 --- 5,16 ---- *************** *** 30,47 **** Pw*formatframe.borderWidth: 4 Pw*formatframe.borderColor: grey - Pw*Box.handle.width: 9 - Pw*Box.handle.height: 28 - Pw*Box.handle.label: - Pw*frame.shadowWidth: 1 Pw*menubar.shadowWidth: 1 Pw*menubar.gridy: 0 ! Pw*menubox.SiagMenuButton.shadowWidth: 0 ! Pw*menubox.SiagMenuButton.internalHeight: 6 ! Pw*menubox.MenuButton.shadowWidth: 0 ! Pw*menubox.MenuButton.internalHeight: 6 Pw*menubox.orientation: horizontal Pw*menubox.borderWidth: 0 Pw*menubox.vSpace: 0 --- 21,32 ---- Pw*formatframe.borderWidth: 4 Pw*formatframe.borderColor: grey Pw*frame.shadowWidth: 1 Pw*menubar.shadowWidth: 1 Pw*menubar.gridy: 0 ! Pw*menubox.NwsMenuButton.shadowWidth: 0 ! Pw*menubox.NwsMenuButton.internalHeight: 6 Pw*menubox.orientation: horizontal Pw*menubox.borderWidth: 0 Pw*menubox.vSpace: 0 *************** *** 91,100 **** Pw*viewport.xLayout: 25 25 50% 50% 15 Pw*viewport.yLayout: 20 100% 15 ! Pw*rulerframe.gridWidth: 4 ! Pw*rulerframe.shadowWidth: 1 ! Pw*rulerframe.shadowType: Solid ! Pw*ruler.borderWidth: 0 Pw*grid.gridy: 1 Pw*grid.gridWidth: 4 --- 76,85 ---- Pw*viewport.xLayout: 25 25 50% 50% 15 Pw*viewport.yLayout: 20 100% 15 ! Pw*ruler.gridWidth: 4 ! !Pw*ruler.shadowWidth: 1 ! !Pw*ruler.shadowType: Solid ! Pw*ruler.borderWidth: 1 Pw*grid.gridy: 1 Pw*grid.gridWidth: 4 *************** *** 139,152 **** : siag-highlight(1 1)\n\ : siag-unhighlight(0 1) - !Pw*formatbox*btnFont.width: 160 - - !Pw*formatbox*btnSize.width: 40 - - !Pw*formatbox*btnStyle.width: 100 - - !Pw*formatbox*btnColor.width: 80 - Pw*grid.translations:\ :: grid-button(point) \n\ :: grid-button(adjust) \n\ --- 124,129 ---- *************** *** 211,219 **** :A: self-insert-char() \n\ : self-insert-char() - ! diaeresis,:a: execute(special-char 228) \n\ - ! diaeresis,:A: execute(special-char 196) \n\ - Pw*plugin-parent.translations:\ : plugin-resize() \n\ :: plugin-cursor() --- 188,193 ---- *************** *** 235,239 **** Pw*listshell*viewport.borderWidth: 1 Pw*listshell*buttonbox.orientation: vertical ! Pw*form_shell*MenuButton.shadowWidth: 1 --- 209,213 ---- Pw*listshell*viewport.borderWidth: 1 Pw*listshell*buttonbox.orientation: vertical ! Pw*form_shell*NwsMenuButton.shadowWidth: 1 diff -crNP ../siag-3.3.1/xpw/app-defaults.h ./xpw/app-defaults.h *** ../siag-3.3.1/xpw/app-defaults.h Thu Feb 17 21:11:55 2000 --- ./xpw/app-defaults.h Mon Mar 27 09:33:37 2000 *************** *** 1,10 **** "Pw.geometry: 600x400", "Pw*combo_viewport.allowHoriz: False", - "Pw*submenu.translations: #override \\n\ - :: highlight() \\n\ - :: MenuPopdown() unhighlight() \\n\ - :: highlight() \\n\ - :: popdown-submenu() notify() unhighlight()", "Pw*topbox.xLayout: 100%", "Pw*topbox.yLayout: 30 30 30 30 100% 30", "Pw*topbox*List*background: white", --- 1,5 ---- *************** *** 16,31 **** "Pw*formatframe.height: 20", "Pw*formatframe.borderWidth: 4", "Pw*formatframe.borderColor: grey", - "Pw*Box.handle.width: 9", - "Pw*Box.handle.height: 28", - "Pw*Box.handle.label:", "Pw*frame.shadowWidth: 1", "Pw*menubar.shadowWidth: 1", "Pw*menubar.gridy: 0", ! "Pw*menubox.SiagMenuButton.shadowWidth: 0", ! "Pw*menubox.SiagMenuButton.internalHeight: 6", ! "Pw*menubox.MenuButton.shadowWidth: 0", ! "Pw*menubox.MenuButton.internalHeight: 6", "Pw*menubox.orientation: horizontal", "Pw*menubox.borderWidth: 0", "Pw*menubox.vSpace: 0", --- 11,21 ---- "Pw*formatframe.height: 20", "Pw*formatframe.borderWidth: 4", "Pw*formatframe.borderColor: grey", "Pw*frame.shadowWidth: 1", "Pw*menubar.shadowWidth: 1", "Pw*menubar.gridy: 0", ! "Pw*menubox.NwsMenuButton.shadowWidth: 0", ! "Pw*menubox.NwsMenuButton.internalHeight: 6", "Pw*menubox.orientation: horizontal", "Pw*menubox.borderWidth: 0", "Pw*menubox.vSpace: 0", *************** *** 66,75 **** "Pw*label3.gridy: 1", "Pw*viewport.xLayout: 25 25 50% 50% 15", "Pw*viewport.yLayout: 20 100% 15", ! "Pw*rulerframe.gridWidth: 4", ! "Pw*rulerframe.shadowWidth: 1", ! "Pw*rulerframe.shadowType: Solid", ! "Pw*ruler.borderWidth: 0", "Pw*grid.gridy: 1", "Pw*grid.gridWidth: 4", "Pw*grid.background: white", --- 56,63 ---- "Pw*label3.gridy: 1", "Pw*viewport.xLayout: 25 25 50% 50% 15", "Pw*viewport.yLayout: 20 100% 15", ! "Pw*ruler.gridWidth: 4", ! "Pw*ruler.borderWidth: 1", "Pw*grid.gridy: 1", "Pw*grid.gridWidth: 4", "Pw*grid.background: white", *************** *** 180,183 **** "Pw*listshell*listbox.orientation: vertical", "Pw*listshell*viewport.borderWidth: 1", "Pw*listshell*buttonbox.orientation: vertical", ! "Pw*form_shell*MenuButton.shadowWidth: 1", --- 168,171 ---- "Pw*listshell*listbox.orientation: vertical", "Pw*listshell*viewport.borderWidth: 1", "Pw*listshell*buttonbox.orientation: vertical", ! "Pw*form_shell*NwsMenuButton.shadowWidth: 1", diff -crNP ../siag-3.3.1/xpw/window.c ./xpw/window.c *** ../siag-3.3.1/xpw/window.c Wed Mar 22 12:55:27 2000 --- ./xpw/window.c Mon Mar 27 13:21:57 2000 *************** *** 63,69 **** #include "../xcommon/xcommon.h" #include "../xcommon/xfonts.h" #include "../xcommon/embed.h" ! #include "../xcommon/Canvas.h" #include "../xcommon/Richtext.h" --- 63,69 ---- #include "../xcommon/xcommon.h" #include "../xcommon/xfonts.h" #include "../xcommon/embed.h" ! #include "../xcommon/Ruler.h" #include "../xcommon/Richtext.h" *************** *** 150,156 **** Display *display; Window root; - static GC cursor_gc, cell_gc, clear_gc; static Cursor grid_cursor; static unsigned long blockbg, noblockbg; --- 150,155 ---- *************** *** 176,181 **** --- 175,186 ---- } XtVaSetValues(w->ui->tab, XtNtabbingSelected, tab, (char *)0); XtVaSetValues(topLevel, XtNtitle, b, (char *)0); + XtVaSetValues(w->ui->ruler, + XtNleftMargin, w->buf->left_margin, + XtNrightMargin, w->buf->right_margin, + XtNpaperWidth, w->buf->paper_width, + XtNtabDistance, w->buf->tab_distance, + (char *)0); XtVaSetValues(w->ui->grid, XtNrichtextData, w, (char *)0); *************** *** 386,406 **** (char *)0); } - static GC get_gc(Display * display, Window wind, - unsigned long fg, unsigned long bg, Font font) - { - unsigned long valuemask = 0/*GCFunction | GCForeground | GCBackground | - GCLineWidth | GCFont*/; - XGCValues values; - GC gc = XCreateGC(display, wind, valuemask, &values); - - XSetForeground(display, gc, fg); - XSetBackground(display, gc, bg); - if (font != -1) - XSetFont(display, gc, font); - return gc; - } - /* --- */ window *find_window_by_widget(Widget wdg) --- 391,396 ---- *************** *** 445,475 **** cfree(w); } - static void expose_ruler(Widget w, XtPointer p) - { - window *win = (window *)p; - buffer *buf = win->buf; - int i, o; - int h = height_get(w); - Display *dpy = XtDisplay(w); - Screen *s = XtScreen(w); - Window wi = XtWindow(w); - unsigned long black = BlackPixelOfScreen(s); - unsigned long white = WhitePixelOfScreen(s); - - o = -1; - for (i = buf->left_margin; - i < buf->paper_width-buf->right_margin; - i += buf->tab_distance) { - XSetForeground(dpy, cell_gc, white); - XDrawLine(dpy, wi, cell_gc, i-2+o, 0, i-2+o, h-6); - XDrawLine(dpy, wi, cell_gc, i-2+o, h-6, i+o, h-4); - XSetForeground(dpy, cell_gc, black); - XDrawLine(dpy, wi, cell_gc, i+2+o, 0, i+2+o, h-6); - XDrawLine(dpy, wi, cell_gc, i+o, h-4, i+2+o, h-6); - } - } - /* --- used for the XtNtablePluginCoords resource */ --- 435,440 ---- *************** *** 788,800 **** w1 = totalwidth-20; h1 = 20; - w->ui->rulerframe = XtVaCreateManagedWidget("rulerframe", - frameWidgetClass, w->ui->viewport, - (char *)0); w->ui->ruler = XtVaCreateManagedWidget("ruler", ! canvasWidgetClass, w->ui->rulerframe, ! XtNcanvasExpose, expose_ruler, ! XtNcanvasData, (XtPointer)w, (char *)0); h1 = formheight-height_get(w->ui->ruler)-20; --- 753,760 ---- w1 = totalwidth-20; h1 = 20; w->ui->ruler = XtVaCreateManagedWidget("ruler", ! rulerWidgetClass, w->ui->viewport/*rulerframe*/, (char *)0); h1 = formheight-height_get(w->ui->ruler)-20; *************** *** 1766,1780 **** XtVaGetValues(w_list->ui->grid, XtNbackground, &background, (char *)0); - clear_gc = get_gc(display, cell_win, background, foreground, -1); - - cell_gc = get_gc(display, cell_win, foreground, blockbg, - -1/*get_font(0)*/); - - cursor_gc = get_gc(display, cell_win, foreground ^ background, 0, -1); - XSetFunction(display, cursor_gc, GXxor); - XSetLineAttributes(display, cursor_gc, 1, LineSolid, CapButt, JoinMiter); - draw_scrollbars(display, w_list); draw_status(display, ""); --- 1726,1731 ---- *************** *** 1874,1881 **** } draw_scrollbars(display, w); draw_buffer(display, w); ! XClearWindow(XtDisplay(w->ui->ruler), XtWindow(w->ui->ruler)); ! expose_ruler(w->ui->ruler, w); /* check for nondisplayed plugins */ b = w->buf; s = w->sht; --- 1825,1833 ---- } draw_scrollbars(display, w); draw_buffer(display, w); ! XtVaSetValues(w->ui->ruler, ! XtNtabDistance, w->buf->tab_distance, ! (char *)0); /* check for nondisplayed plugins */ b = w->buf; s = w->sht; diff -crNP ../siag-3.3.1/xpw/xpw.h ./xpw/xpw.h *** ../siag-3.3.1/xpw/xpw.h Wed Mar 22 13:05:24 2000 --- ./xpw/xpw.h Mon Mar 27 13:36:16 2000 *************** *** 1,6 **** /* Pathetic Writer ! Copyright (C) 1997, 1998 Ulric Eriksson 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 --- 1,6 ---- /* Pathetic Writer ! Copyright (C) 1997-2000 Ulric Eriksson 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 *************** *** 26,32 **** typedef struct pw_ui { Widget viewport, /* really a form */ - rulerframe, /* a sunken frame for the ruler */ ruler, /* a canvas */ grid, /* cells */ hscroll, /* horizontal scrollbar */ --- 26,31 ---- diff -crNP ../siag-3.3.1/xsiag/Siag.ad ./xsiag/Siag.ad *** ../siag-3.3.1/xsiag/Siag.ad Fri Mar 17 19:33:12 2000 --- ./xsiag/Siag.ad Sun Mar 26 07:52:45 2000 *************** *** 86,93 **** : colnum-button(adjust) \n\ : colnum-button(select) - ! (2): execute(fit-block-width) \n\ - Siag*rownum.gridy: 1 Siag*rownum.gridWidth: 2 Siag*rownum.translations:\ --- 86,91 ---- *************** *** 95,102 **** : rownum-button(adjust) \n\ : rownum-button(select) - ! (2): execute(fit-block-height) \n\ - Siag*grid.gridx: 2 Siag*grid.gridy: 1 Siag*grid.gridWidth: 2 --- 93,98 ---- *************** *** 110,121 **** :F3: popup-shortcuts() \n\ :F1: execute(help-contents) \n\ : key-event() - - ! :F2: popup-menu(File) \n\ - ! :F3: place-shortcuts() XtMenuPopup(shortcuts) \n\ - - ! :: grid-button(adjust) \n\ - ! : destroy-notify() Siag*tabl.gridy: 2 Siag*tabl.label: << --- 106,111 ---- diff -crNP ../siag-3.3.1/xsiag/window.c ./xsiag/window.c *** ../siag-3.3.1/xsiag/window.c Wed Mar 22 12:23:57 2000 --- ./xsiag/window.c Fri Mar 24 15:04:20 2000 *************** *** 546,551 **** --- 546,552 ---- XtNinsertPosition, strlen(buffr), (char *)NULL); XtAddGrab(edit_text, False, False); + XtSetKeyboardFocus(topLevel, edit_text); XtVaSetValues(edit_text, *************** *** 2004,2010 **** --- 2005,2013 ---- } XtVaSetValues(topLevel, XtNtitle, b, (char *)NULL); XtVaSetValues(w->ui->grid, XtNtableVisibleCursor, True, (char *)NULL); + XtSetKeyboardFocus(topLevel, w->ui->grid); + /* and now the plugins */ buf = b_list; do {