mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-24 21:55:29 +00:00
major GUII cleanup + Baruchs patch + Angus's patch + removed a couple of generated files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@966 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
b7a16fc402
commit
f4d7b803f3
76
ChangeLog
76
ChangeLog
@ -1,3 +1,79 @@
|
||||
2000-08-14 Allan Rae <rae@lyx.org>
|
||||
|
||||
* lib/Makefile.am: listerrors cleaning
|
||||
|
||||
* lib/listerrors: removed -- generated file
|
||||
* acinclude.m4: ditto
|
||||
* sigc++/acinclude.m4: ditto
|
||||
|
||||
* src/frontends/xforms/forms/form_citation.fd:
|
||||
* src/frontends/xforms/FormCitation.C (setSize): Made the form a more
|
||||
manageable size.
|
||||
|
||||
* src/frontends/xforms/forms/makefile: I renamed the `install` target
|
||||
`updatesrc` and now we have a `test` target that does what `updatesrc`
|
||||
used to do. I didn't like having an install target that wasn't related
|
||||
to the dist.
|
||||
|
||||
* src/frontends/xforms/Form*.[hC]: Removed the free() member functions
|
||||
on all except FormGraphics. This may yet happen. Followed by a major
|
||||
cleanup including using FL_TRANSIENT for most of the dialogs. More
|
||||
changes to come when the ButtonController below is introduced.
|
||||
|
||||
* src/frontends/xforms/ButtonController.h: New file for managing up to
|
||||
four buttons on a dialog according to an externally defined policy.
|
||||
* src/frontends/xforms/Makefile.am: added above
|
||||
|
||||
* src/frontends/ButtonPolicies.[hC]: New files full of policies for Ok,
|
||||
Apply and Cancel/Close buttons and everything in between and beyond.
|
||||
* src/frontends/Makefile.am: added above.
|
||||
|
||||
* src/frontends/xforms/forms/form_preferences.fd:
|
||||
* src/frontends/xforms/FormPreferences.[hC]: Uses the ButtonController
|
||||
and removed variable 'status' as a result. Fixed the set_minsize thing.
|
||||
Use the new screen-font-update after checking screen fonts were changed
|
||||
Added a "Restore" button to restore the original lyxrc values while
|
||||
editing. This restores everything not just the last input changed.
|
||||
That's still a tricky one. As is the "LyX: this shouldn't happen..."
|
||||
|
||||
* src/LyXAction.C: screen-font-update added for updating buffers after
|
||||
screen font settings have been changed.
|
||||
* src/commandtags.h: ditto
|
||||
* src/lyxfunc.C: ditto
|
||||
|
||||
* forms/lyx.fd: removed screen fonts dialog.
|
||||
* src/lyx_gui.C: ditto
|
||||
* src/menus.[Ch]: ditto
|
||||
* src/lyx.[Ch]: ditto
|
||||
* src/lyx_cb.C: ditto + code from here moved to make screen-font-update.
|
||||
And people wonder why progress on GUII is slow. Look at how scattered
|
||||
this stuff was! It takes forever just find it all.
|
||||
|
||||
* forms/fdfix.sh: Fixup the spacing after commas.
|
||||
* forms/makefile: Remove date from generated files. Fewer clashes now.
|
||||
* forms/bullet_forms.C.patch: included someones handwritten changes
|
||||
|
||||
* src/lyxrc.[Ch]: Added a commented out system_lyxrc. Will use it RSN
|
||||
once I've discovered why LyXRC was made noncopyable.
|
||||
* src/lyx_main.C: ditto
|
||||
|
||||
2000-08-14 Angus Leeming <a.leeming@ic.ac.uk>
|
||||
|
||||
* src/frontends/xforms/forms/fdfix.sh:
|
||||
* src/frontends/xforms/forms/fdfixh.sed:
|
||||
* src/frontends/xforms/forms/fdfixc.sed: New file from Angus
|
||||
* src/frontends/xforms/Form*.[hC]:
|
||||
* src/frontends/xforms/form_*.[hC]: Massive rewrite of the generation
|
||||
scripts to rename all the "FL_OBJECT * form_xxxx" to "form" and to
|
||||
provide a destructor for the struct FD_form_xxxx. Another version of
|
||||
the set_[max|min]size workaround and a few other cleanups. Actually,
|
||||
Angus' patch from 20000809.
|
||||
|
||||
2000-08-13 Baruch Even <baruch.even@writeme.com>
|
||||
|
||||
* src/insets/insetgraphics.C (Clone): Added several fields that needed
|
||||
copying.
|
||||
|
||||
2000-08-11 Juergen Vigna <jug@sad.it>
|
||||
|
||||
* src/insets/insetgraphics.C (InsetGraphics): changing init
|
||||
|
4605
acinclude.m4
4605
acinclude.m4
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
--- bullet_forms.c.orig Fri Jun 9 17:38:18 2000
|
||||
+++ bullet_forms.c Fri Jun 9 17:39:31 2000
|
||||
--- bullet_forms.c.orig Thu Aug 10 00:38:18 2000
|
||||
+++ bullet_forms.c Thu Aug 10 00:38:18 2000
|
||||
@@ -3,6 +3,8 @@
|
||||
#include "forms.h"
|
||||
#include <stdlib.h>
|
||||
@ -28,7 +28,7 @@
|
||||
+ fl_set_object_boxtype(obj, FL_UP_BOX);
|
||||
+ fl_set_bmtable_pixmap_file(obj, 6, 6,
|
||||
+ LibFileSearch("images",
|
||||
+ "standard.xpm").c_str());
|
||||
+ "standard", "xpm").c_str());
|
||||
+
|
||||
+ fl_set_border_width(-1);
|
||||
obj = fl_add_frame(FL_ENGRAVED_FRAME,95,20,255,70,"");
|
||||
|
@ -74,12 +74,12 @@ echo >> $2
|
||||
# reported to its authors).
|
||||
#
|
||||
# -e 's/,\([^ ]\)/, \1/g' \
|
||||
# -e 's/\("[^"]*,\) \("\)/\1\2/g'
|
||||
# -e 's/\("[^"][^"]*,\) \("\)/\1\2/g'
|
||||
#
|
||||
# Someone got busy and put spaces in after commas but didn't allow for the
|
||||
# autogeneration of the files so their pretty formatting got lost. Not anymore.
|
||||
# The second rule cleans up one special case where a comma appears at the end
|
||||
# of a string.
|
||||
# of a string while ensuring "...", "..." isn't affected.
|
||||
#
|
||||
# -e 's/stdlib.h/cstdlib/'
|
||||
#
|
||||
@ -109,7 +109,7 @@ cat $1 | sed \
|
||||
-e 's/fdui->.*->fdui = fdui/\/\/&/' \
|
||||
-e 's/\(\(FD_[^ ]*\) \*fdui.*\)sizeof(\*fdui)/\1sizeof(\2)/' \
|
||||
-e 's/,\([^ ]\)/, \1/g' \
|
||||
-e 's/\("[^"]*,\) \("\)/\1\2/g' \
|
||||
-e 's/\("[^"][^"]*,\) \("\)/\1\2/g' \
|
||||
-e '/fl_.*"[^"]*%.*"/i\
|
||||
// xgettext:no-c-format' \
|
||||
-e 's/NULL/0/' \
|
||||
|
172
forms/lyx.fd
172
forms/lyx.fd
@ -3,7 +3,7 @@ Magic: 13000
|
||||
Internal Form Definition File
|
||||
(do not change)
|
||||
|
||||
Number of forms: 4
|
||||
Number of forms: 3
|
||||
Unit of measure: FL_COORD_PIXEL
|
||||
|
||||
=============== FORM ===============
|
||||
@ -93,7 +93,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_BEGIN_GROUP
|
||||
type: 0
|
||||
box: 0 10 10 0
|
||||
box: 0 0 0 0
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -234,174 +234,6 @@ name:
|
||||
callback:
|
||||
argument:
|
||||
|
||||
=============== FORM ===============
|
||||
Name: form_screen
|
||||
Width: 390
|
||||
Height: 220
|
||||
Number of Objects: 9
|
||||
|
||||
--------------------
|
||||
class: FL_BOX
|
||||
type: UP_BOX
|
||||
box: 0 0 390 220
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_DEFAULT_SIZE
|
||||
lcol: FL_BLACK
|
||||
label:
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
name:
|
||||
callback:
|
||||
argument:
|
||||
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 140 10 240 30
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Roman font|#R
|
||||
shortcut:
|
||||
resize: FL_RESIZE_X
|
||||
gravity: FL_NorthWest FL_NoGravity
|
||||
name: input_roman
|
||||
callback:
|
||||
argument:
|
||||
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 140 40 240 30
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Sans serif font|#S
|
||||
shortcut:
|
||||
resize: FL_RESIZE_X
|
||||
gravity: FL_NorthWest FL_NoGravity
|
||||
name: input_sans
|
||||
callback:
|
||||
argument:
|
||||
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 140 70 240 30
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Typewriter font|#T
|
||||
shortcut:
|
||||
resize: FL_RESIZE_X
|
||||
gravity: FL_NorthWest FL_NoGravity
|
||||
name: input_typewriter
|
||||
callback:
|
||||
argument:
|
||||
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 140 100 240 30
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Font norm|#N
|
||||
shortcut:
|
||||
resize: FL_RESIZE_X
|
||||
gravity: FL_NorthWest FL_NoGravity
|
||||
name: input_font_norm
|
||||
callback:
|
||||
argument:
|
||||
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: INT_INPUT
|
||||
box: 140 140 50 30
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Font zoom|#Z
|
||||
shortcut:
|
||||
resize: FL_RESIZE_X
|
||||
gravity: FL_NorthWest FL_NoGravity
|
||||
name: intinput_size
|
||||
callback:
|
||||
argument:
|
||||
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: RETURN_BUTTON
|
||||
box: 60 180 100 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: OK
|
||||
shortcut: ^M
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_SouthEast FL_SouthEast
|
||||
name:
|
||||
callback: ScreenOKCB
|
||||
argument: 0
|
||||
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 170 180 100 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Apply|#A
|
||||
shortcut:
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_SouthEast FL_SouthEast
|
||||
name:
|
||||
callback: ScreenApplyCB
|
||||
argument: 0
|
||||
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 280 180 100 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Cancel|^[
|
||||
shortcut:
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_SouthEast FL_SouthEast
|
||||
name:
|
||||
callback: ScreenCancelCB
|
||||
argument: 0
|
||||
|
||||
=============== FORM ===============
|
||||
Name: form_external
|
||||
Width: 560
|
||||
|
@ -43,6 +43,11 @@ d: c $(COBJS)
|
||||
#
|
||||
# We need the callbacks to all be declared as: extern "C" void
|
||||
#
|
||||
# -e 's,\(generated with fdesign\)\(.*\)\(\*\*/\),\1 \3,';\
|
||||
#
|
||||
# Clean up the line with the date in it. This means we'll have fewer false
|
||||
# updates (where the only thing that changed was the date).
|
||||
#
|
||||
e: c
|
||||
for hfil in *.h ; do \
|
||||
if [ -f "$$hfil.patch" ] ; then \
|
||||
@ -50,7 +55,8 @@ e: c
|
||||
patch -s $$hfil < $$hfil.patch) \
|
||||
fi; \
|
||||
sed < $$hfil > $$hfil.tmp \
|
||||
-e 's/\(extern\) \(void.*FL_OBJECT\)/\1 "C" \2/' ; \
|
||||
-e 's/\(extern\) \(void.*FL_OBJECT\)/\1 "C" \2/' \
|
||||
-e 's,\(generated with fdesign\)\(.*\)\(\*\*/\),\1 \3,';\
|
||||
mv $$hfil.tmp $$hfil; \
|
||||
done
|
||||
|
||||
|
@ -2,8 +2,8 @@ AUTOMAKE_OPTIONS = foreign
|
||||
DISTCLEANFILES = *.orig *.rej *~ *.bak core textclass.lst packages.lst \
|
||||
lyxrc.defaults doc/LyXConfig.lyx
|
||||
pkgdata_SCRIPTS = configure configure.cmd
|
||||
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
|
||||
SUBDIRS = reLyX
|
||||
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in listerrors
|
||||
SUBDIRS = reLyX
|
||||
bin_SCRIPTS = listerrors
|
||||
|
||||
BIND = bind/*.bind
|
||||
|
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
echo "This is NOT the listerrors program."
|
||||
echo ""
|
||||
echo "Here was the problem when we tried to build listerrors:"
|
||||
echo The NOWEB notangle was not found.
|
@ -30,6 +30,8 @@ src/frontends/xforms/FormCitation.C
|
||||
src/frontends/xforms/form_citation.C
|
||||
src/frontends/xforms/FormCopyright.C
|
||||
src/frontends/xforms/form_copyright.C
|
||||
src/frontends/xforms/FormDocument.C
|
||||
src/frontends/xforms/form_document.C
|
||||
src/frontends/xforms/FormGraphics.C
|
||||
src/frontends/xforms/form_graphics.C
|
||||
src/frontends/xforms/FormIndex.C
|
||||
@ -40,13 +42,6 @@ src/frontends/xforms/FormPrint.C
|
||||
src/frontends/xforms/form_print.C
|
||||
src/frontends/xforms/FormRef.C
|
||||
src/frontends/xforms/form_ref.C
|
||||
src/frontends/xforms/forms/form_citation.C
|
||||
src/frontends/xforms/forms/form_copyright.C
|
||||
src/frontends/xforms/forms/form_graphics.C
|
||||
src/frontends/xforms/forms/form_preferences.C
|
||||
src/frontends/xforms/forms/form_print.C
|
||||
src/frontends/xforms/forms/form_tabular.C
|
||||
src/frontends/xforms/forms/form_url.C
|
||||
src/frontends/xforms/FormTabular.C
|
||||
src/frontends/xforms/form_tabular.C
|
||||
src/frontends/xforms/FormToc.C
|
||||
|
@ -1,430 +0,0 @@
|
||||
## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
|
||||
## Copyright (C) 1996-1999 Free Software Foundation, Inc.
|
||||
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation; either version 2 of the License, or
|
||||
## (at your option) any later version.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful, but
|
||||
## WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
##
|
||||
## As a special exception to the GNU General Public License, if you
|
||||
## distribute this file as part of a program that contains a
|
||||
## configuration script generated by Autoconf, you may include it under
|
||||
## the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# serial 40 AC_PROG_LIBTOOL
|
||||
AC_DEFUN(AC_PROG_LIBTOOL,
|
||||
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
|
||||
|
||||
# Save cache, so that ltconfig can load it
|
||||
AC_CACHE_SAVE
|
||||
|
||||
# Actually configure libtool. ac_aux_dir is where install-sh is found.
|
||||
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
|
||||
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
|
||||
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
|
||||
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
|
||||
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
|
||||
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
|
||||
|| AC_MSG_ERROR([libtool configure failed])
|
||||
|
||||
# Reload cache, that may have been modified by ltconfig
|
||||
AC_CACHE_LOAD
|
||||
|
||||
# This can be used to rebuild libtool when needed
|
||||
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
|
||||
|
||||
# Always use our own libtool.
|
||||
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
||||
AC_SUBST(LIBTOOL)dnl
|
||||
|
||||
# Redirect the config.log output again, so that the ltconfig log is not
|
||||
# clobbered by the next message.
|
||||
exec 5>>./config.log
|
||||
])
|
||||
|
||||
AC_DEFUN(AC_LIBTOOL_SETUP,
|
||||
[AC_PREREQ(2.13)dnl
|
||||
AC_REQUIRE([AC_ENABLE_SHARED])dnl
|
||||
AC_REQUIRE([AC_ENABLE_STATIC])dnl
|
||||
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_PROG_LD])dnl
|
||||
AC_REQUIRE([AC_PROG_NM])dnl
|
||||
AC_REQUIRE([AC_PROG_LN_S])dnl
|
||||
dnl
|
||||
|
||||
case "$target" in
|
||||
NONE) lt_target="$host" ;;
|
||||
*) lt_target="$target" ;;
|
||||
esac
|
||||
|
||||
# Check for any special flags to pass to ltconfig.
|
||||
libtool_flags="--cache-file=$cache_file"
|
||||
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
|
||||
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
|
||||
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
|
||||
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
|
||||
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
|
||||
[libtool_flags="$libtool_flags --enable-dlopen"])
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
|
||||
[libtool_flags="$libtool_flags --enable-win32-dll"])
|
||||
AC_ARG_ENABLE(libtool-lock,
|
||||
[ --disable-libtool-lock avoid locking (might break parallel builds)])
|
||||
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
|
||||
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
|
||||
|
||||
# Some flags need to be propagated to the compiler or linker for good
|
||||
# libtool support.
|
||||
case "$lt_target" in
|
||||
*-*-irix6*)
|
||||
# Find out which ABI we are using.
|
||||
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case "`/usr/bin/file conftest.o`" in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -32"
|
||||
;;
|
||||
*N32*)
|
||||
LD="${LD-ld} -n32"
|
||||
;;
|
||||
*64-bit*)
|
||||
LD="${LD-ld} -64"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -rf conftest*
|
||||
;;
|
||||
|
||||
*-*-sco3.2v5*)
|
||||
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -belf"
|
||||
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
|
||||
[AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
|
||||
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
|
||||
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
fi
|
||||
;;
|
||||
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
|
||||
[*-*-cygwin* | *-*-mingw*)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
])
|
||||
esac
|
||||
])
|
||||
|
||||
# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
|
||||
AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
|
||||
|
||||
# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
|
||||
AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
|
||||
|
||||
# AC_ENABLE_SHARED - implement the --enable-shared flag
|
||||
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_SHARED, [dnl
|
||||
define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(shared,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
|
||||
AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_SHARED(no)])
|
||||
|
||||
# AC_ENABLE_STATIC - implement the --enable-static flag
|
||||
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_STATIC, [dnl
|
||||
define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(static,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_DISABLE_STATIC - set the default static flag to --disable-static
|
||||
AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_STATIC(no)])
|
||||
|
||||
|
||||
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
|
||||
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
|
||||
define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(fast-install,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
|
||||
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_FAST_INSTALL(no)])
|
||||
|
||||
# AC_PROG_LD - find the path to the GNU or non-GNU linker
|
||||
AC_DEFUN(AC_PROG_LD,
|
||||
[AC_ARG_WITH(gnu-ld,
|
||||
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
|
||||
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||
ac_prog=ld
|
||||
if test "$ac_cv_prog_gcc" = yes; then
|
||||
# Check if gcc -print-prog-name=ld gives a path.
|
||||
AC_MSG_CHECKING([for ld used by GCC])
|
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5`
|
||||
case "$ac_prog" in
|
||||
# Accept absolute paths.
|
||||
changequote(,)dnl
|
||||
[\\/]* | [A-Za-z]:[\\/]*)
|
||||
re_direlt='/[^/][^/]*/\.\./'
|
||||
changequote([,])dnl
|
||||
# Canonicalize the path of ld
|
||||
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
|
||||
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
|
||||
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
|
||||
done
|
||||
test -z "$LD" && LD="$ac_prog"
|
||||
;;
|
||||
"")
|
||||
# If it fails, then pretend we aren't using GCC.
|
||||
ac_prog=ld
|
||||
;;
|
||||
*)
|
||||
# If it is relative, then search for the first ld in PATH.
|
||||
with_gnu_ld=unknown
|
||||
;;
|
||||
esac
|
||||
elif test "$with_gnu_ld" = yes; then
|
||||
AC_MSG_CHECKING([for GNU ld])
|
||||
else
|
||||
AC_MSG_CHECKING([for non-GNU ld])
|
||||
fi
|
||||
AC_CACHE_VAL(ac_cv_path_LD,
|
||||
[if test -z "$LD"; then
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
||||
ac_cv_path_LD="$ac_dir/$ac_prog"
|
||||
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||
# but apparently some GNU ld's only accept -v.
|
||||
# Break only if it was the GNU/non-GNU ld that we prefer.
|
||||
if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
|
||||
test "$with_gnu_ld" != no && break
|
||||
else
|
||||
test "$with_gnu_ld" != yes && break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
else
|
||||
ac_cv_path_LD="$LD" # Let the user override the test with a path.
|
||||
fi])
|
||||
LD="$ac_cv_path_LD"
|
||||
if test -n "$LD"; then
|
||||
AC_MSG_RESULT($LD)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
|
||||
AC_PROG_LD_GNU
|
||||
])
|
||||
|
||||
AC_DEFUN(AC_PROG_LD_GNU,
|
||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
|
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
|
||||
ac_cv_prog_gnu_ld=yes
|
||||
else
|
||||
ac_cv_prog_gnu_ld=no
|
||||
fi])
|
||||
])
|
||||
|
||||
# AC_PROG_NM - find the path to a BSD-compatible name lister
|
||||
AC_DEFUN(AC_PROG_NM,
|
||||
[AC_MSG_CHECKING([for BSD-compatible nm])
|
||||
AC_CACHE_VAL(ac_cv_path_NM,
|
||||
[if test -n "$NM"; then
|
||||
# Let the user override the test.
|
||||
ac_cv_path_NM="$NM"
|
||||
else
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
|
||||
# Check to see if the nm accepts a BSD-compat flag.
|
||||
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
|
||||
# nm: unknown option "B" ignored
|
||||
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$ac_dir/nm -B"
|
||||
break
|
||||
elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$ac_dir/nm -p"
|
||||
break
|
||||
else
|
||||
ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
|
||||
continue # so that we can try to find one that supports BSD flags
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
|
||||
fi])
|
||||
NM="$ac_cv_path_NM"
|
||||
AC_MSG_RESULT([$NM])
|
||||
])
|
||||
|
||||
# AC_CHECK_LIBM - check for math library
|
||||
AC_DEFUN(AC_CHECK_LIBM,
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
LIBM=
|
||||
case "$lt_target" in
|
||||
*-*-beos* | *-*-cygwin*)
|
||||
# These system don't have libm
|
||||
;;
|
||||
*-ncr-sysv4.3*)
|
||||
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
|
||||
AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_LIB(m, main, LIBM="-lm")
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
|
||||
# the libltdl convenience library, adds --enable-ltdl-convenience to
|
||||
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
|
||||
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
|
||||
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
|
||||
# '${top_builddir}/' (note the single quotes!) if your package is not
|
||||
# flat, and, if you're not using automake, define top_builddir as
|
||||
# appropriate in the Makefiles.
|
||||
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
case "$enable_ltdl_convenience" in
|
||||
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
|
||||
"") enable_ltdl_convenience=yes
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
|
||||
esac
|
||||
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
|
||||
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
|
||||
])
|
||||
|
||||
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
|
||||
# the libltdl installable library, and adds --enable-ltdl-install to
|
||||
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
|
||||
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
|
||||
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
|
||||
# '${top_builddir}/' (note the single quotes!) if your package is not
|
||||
# flat, and, if you're not using automake, define top_builddir as
|
||||
# appropriate in the Makefiles.
|
||||
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
|
||||
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_CHECK_LIB(ltdl, main,
|
||||
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
|
||||
[if test x"$enable_ltdl_install" = xno; then
|
||||
AC_MSG_WARN([libltdl not installed, but installation disabled])
|
||||
else
|
||||
enable_ltdl_install=yes
|
||||
fi
|
||||
])
|
||||
if test x"$enable_ltdl_install" = x"yes"; then
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install"
|
||||
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
|
||||
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
|
||||
else
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
|
||||
LIBLTDL="-lltdl"
|
||||
INCLTDL=
|
||||
fi
|
||||
])
|
||||
|
||||
dnl old names
|
||||
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
|
||||
AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
|
||||
AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
|
||||
AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
|
||||
AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
|
||||
AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
|
||||
AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
|
||||
|
||||
dnl This is just to silence aclocal about the macro not being used
|
||||
ifelse([AC_DISABLE_FAST_INSTALL])dnl
|
@ -432,6 +432,7 @@ void LyXAction::init()
|
||||
{ LFUN_INSET_LIST, "list-insert", "", Noop },
|
||||
{ LFUN_INSET_THEOREM, "theorem-insert", "", Noop },
|
||||
{ LFUN_INSET_CAPTION, "caption-insert", "", Noop },
|
||||
{ LFUN_SCREEN_FONT_UPDATE, "screen-font-update", "", NoBuffer },
|
||||
{ LFUN_NOACTION, "", "", Noop }
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/** Header file generated with fdesign on Mon Jun 19 12:55:08 2000.**/
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_bullet_h_
|
||||
#define FD_form_bullet_h_
|
||||
|
@ -275,6 +275,7 @@ enum kb_action {
|
||||
LFUN_SCROLL_INSET, // Jug 20000801
|
||||
LFUN_INDEX_INSERT, // Angus 20000803
|
||||
LFUN_REF_CREATE, // Angus 20000807
|
||||
LFUN_SCREEN_FONT_UPDATE, // ARRae 20000813
|
||||
LFUN_LASTACTION /* this marks the end of the table */
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/** Header file generated with fdesign on Mon Jun 19 12:55:08 2000.**/
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_credits_h_
|
||||
#define FD_form_credits_h_
|
||||
|
@ -165,18 +165,17 @@ _("Credits...|e");
|
||||
_("Version...|V");
|
||||
_("");
|
||||
_("A&A");
|
||||
_("ACT");
|
||||
_("AT_RISE:");
|
||||
_("Abstract");
|
||||
_("Accepted");
|
||||
_("Acknowledgement");
|
||||
_("Acknowledgement(s)");
|
||||
_("Acknowledgement*");
|
||||
_("Acknowledgement-numbered");
|
||||
_("Acknowledgement-unnumbered");
|
||||
_("Acknowledgement(s)");
|
||||
_("Acknowledgements");
|
||||
_("Acknowledgement-unnumbered");
|
||||
_("Acknowledgments");
|
||||
_("Acnowledgement");
|
||||
_("ACT");
|
||||
_("Addchap");
|
||||
_("Addchap*");
|
||||
_("Addition");
|
||||
@ -194,15 +193,15 @@ _("Anlagen");
|
||||
_("Anrede");
|
||||
_("Appendices");
|
||||
_("Appendix");
|
||||
_("AT_RISE:");
|
||||
_("Author");
|
||||
_("AuthorRunning");
|
||||
_("Author_Email");
|
||||
_("Author_Running");
|
||||
_("AuthorRunning");
|
||||
_("Author_URL");
|
||||
_("Axiom");
|
||||
_("Axiom-numbered");
|
||||
_("Axiom-plain");
|
||||
_("BLZ");
|
||||
_("Backaddress");
|
||||
_("Bank");
|
||||
_("BankAccount");
|
||||
@ -210,12 +209,13 @@ _("BankCode");
|
||||
_("Betreff");
|
||||
_("Bibliography");
|
||||
_("Biography");
|
||||
_("BLZ");
|
||||
_("Brieftext");
|
||||
_("CC");
|
||||
_("CURTAIN");
|
||||
_("Caption");
|
||||
_("Case");
|
||||
_("Case-numbered");
|
||||
_("CC");
|
||||
_("cc");
|
||||
_("CenteredCaption");
|
||||
_("Chapter");
|
||||
_("Chapter*");
|
||||
@ -255,6 +255,7 @@ _("Criterion-plain");
|
||||
_("CrossList");
|
||||
_("Current");
|
||||
_("Current_Address");
|
||||
_("CURTAIN");
|
||||
_("Customer");
|
||||
_("Data");
|
||||
_("Date");
|
||||
@ -269,10 +270,10 @@ _("Definition-unnumbered");
|
||||
_("Description");
|
||||
_("Dialogue");
|
||||
_("EMail");
|
||||
_("EXT.");
|
||||
_("Email");
|
||||
_("Encl");
|
||||
_("Encl.");
|
||||
_("encl");
|
||||
_("End_All_Slides");
|
||||
_("Enumerate");
|
||||
_("Example");
|
||||
@ -283,43 +284,48 @@ _("Example-unnumbered");
|
||||
_("Exercise");
|
||||
_("Exercise-numbered");
|
||||
_("Exercise-plain");
|
||||
_("EXT.");
|
||||
_("Extratitle");
|
||||
_("FADE_IN:");
|
||||
_("FADE_OUT:");
|
||||
_("Fact");
|
||||
_("Fact*");
|
||||
_("Fact-numbered");
|
||||
_("Fact-plain");
|
||||
_("Fact-unnumbered");
|
||||
_("FADE_IN:");
|
||||
_("FADE_OUT:");
|
||||
_("FigCaption");
|
||||
_("first");
|
||||
_("FirstAuthor");
|
||||
_("FirstName");
|
||||
_("FitBitmap");
|
||||
_("FitFigure");
|
||||
_("Foilhead");
|
||||
_("foilhead");
|
||||
_("Footernote");
|
||||
_("FourAffiliations");
|
||||
_("FourAuthors");
|
||||
_("Gruss");
|
||||
_("HTTP");
|
||||
_("Headnote");
|
||||
_("INT.");
|
||||
_("HTTP");
|
||||
_("Idea");
|
||||
_("IhrSchreiben");
|
||||
_("IhrZeichen");
|
||||
_("Institute");
|
||||
_("Institution");
|
||||
_("INT.");
|
||||
_("InvisibleText");
|
||||
_("Invoice");
|
||||
_("Itemize");
|
||||
_("Journal");
|
||||
_("journal");
|
||||
_("Keywords");
|
||||
_("Konto");
|
||||
_("LaTeX");
|
||||
_("LaTeX_Title");
|
||||
_("Labeling");
|
||||
_("Land");
|
||||
_("landscape");
|
||||
_("LandscapeSlide");
|
||||
_("LaTeX");
|
||||
_("LaTeX_Title");
|
||||
_("Lemma");
|
||||
_("Lemma*");
|
||||
_("Lemma-numbered");
|
||||
@ -338,8 +344,10 @@ _("MarkBoth");
|
||||
_("MathLetters");
|
||||
_("MeinZeichen");
|
||||
_("Minisec");
|
||||
_("MyRef");
|
||||
_("modying");
|
||||
_("msnumber");
|
||||
_("My_Address");
|
||||
_("MyRef");
|
||||
_("Myref");
|
||||
_("Name");
|
||||
_("Narrative");
|
||||
@ -349,18 +357,18 @@ _("Note");
|
||||
_("Note*");
|
||||
_("Note-numbered");
|
||||
_("Note-plain");
|
||||
_("Note-unnumbered");
|
||||
_("NoteToEditor");
|
||||
_("Notetoeditor");
|
||||
_("Note-unnumbered");
|
||||
_("Offprint");
|
||||
_("Offprints");
|
||||
_("Offsets");
|
||||
_("offsets");
|
||||
_("Oggetto");
|
||||
_("Opening");
|
||||
_("Ort");
|
||||
_("Overlay");
|
||||
_("PACS");
|
||||
_("PS");
|
||||
_("Paragraph");
|
||||
_("Paragraph*");
|
||||
_("Paragraph-numbered");
|
||||
@ -371,8 +379,8 @@ _("Petit");
|
||||
_("Phone");
|
||||
_("Place");
|
||||
_("PlaceFigure");
|
||||
_("PlaceTable");
|
||||
_("Placefigure");
|
||||
_("PlaceTable");
|
||||
_("Placetable");
|
||||
_("PortraitSlide");
|
||||
_("PostalCommend");
|
||||
@ -389,11 +397,12 @@ _("Proposition*");
|
||||
_("Proposition-numbered");
|
||||
_("Proposition-plain");
|
||||
_("Proposition-unnumbered");
|
||||
_("PS");
|
||||
_("ps");
|
||||
_("Publishers");
|
||||
_("Question");
|
||||
_("Quotation");
|
||||
_("Quote");
|
||||
_("REVTEX_Title");
|
||||
_("Received");
|
||||
_("Recieved");
|
||||
_("Recieved/Accepted");
|
||||
@ -403,17 +412,17 @@ _("Remark");
|
||||
_("Remark*");
|
||||
_("Remark-numbered");
|
||||
_("Remark-plain");
|
||||
_("Remark-unnumbered");
|
||||
_("Remarks");
|
||||
_("Remark-unnumbered");
|
||||
_("RetourAdresse");
|
||||
_("ReturnAddress");
|
||||
_("RightHeader");
|
||||
_("REVTEX_Title");
|
||||
_("Right_Address");
|
||||
_("RightHeader");
|
||||
_("Rotatefoilhead");
|
||||
_("Running_LaTeX_Title");
|
||||
_("SCENE");
|
||||
_("SCENE*");
|
||||
_("SGML");
|
||||
_("Scrap");
|
||||
_("Section");
|
||||
_("Section*");
|
||||
@ -421,10 +430,11 @@ _("Section-numbered");
|
||||
_("Send");
|
||||
_("Send_To_Address");
|
||||
_("Seriate");
|
||||
_("SGML");
|
||||
_("ShortFoilhead");
|
||||
_("Shortfoilhead");
|
||||
_("ShortRotatefoilhead");
|
||||
_("ShortTitle");
|
||||
_("Shortfoilhead");
|
||||
_("Signature");
|
||||
_("Slide");
|
||||
_("Slide*");
|
||||
@ -440,26 +450,26 @@ _("State");
|
||||
_("Strasse");
|
||||
_("Street");
|
||||
_("Style");
|
||||
_("SubSection");
|
||||
_("SubTitle");
|
||||
_("style");
|
||||
_("Subitle");
|
||||
_("Subject");
|
||||
_("Subjectclass");
|
||||
_("Subparagraph");
|
||||
_("Subparagraph*");
|
||||
_("SubSection");
|
||||
_("Subsection");
|
||||
_("Subsection*");
|
||||
_("Subsection-numbered");
|
||||
_("Subsubsection");
|
||||
_("Subsubsection*");
|
||||
_("Subsubsection-numbered");
|
||||
_("SubTitle");
|
||||
_("Subtitle");
|
||||
_("Suggested");
|
||||
_("Summary");
|
||||
_("Summary-numbered");
|
||||
_("Surname");
|
||||
_("TOC_Author");
|
||||
_("TOC_Title");
|
||||
_("surname");
|
||||
_("TableComments");
|
||||
_("TableRefs");
|
||||
_("Telefax");
|
||||
@ -471,8 +481,8 @@ _("Theorem");
|
||||
_("Theorem*");
|
||||
_("Theorem-numbered");
|
||||
_("Theorem-plain");
|
||||
_("Theorem-unnumbered");
|
||||
_("TheoremTemplate");
|
||||
_("Theorem-unnumbered");
|
||||
_("Thesaurus");
|
||||
_("ThickLine");
|
||||
_("This");
|
||||
@ -480,39 +490,29 @@ _("ThreeAffiliations");
|
||||
_("ThreeAuthors");
|
||||
_("TickList");
|
||||
_("Title");
|
||||
_("Title_Running");
|
||||
_("Titlehead");
|
||||
_("Title_Running");
|
||||
_("TOC_Author");
|
||||
_("TOC_Title");
|
||||
_("Town");
|
||||
_("Trans_Keywords");
|
||||
_("Transition");
|
||||
_("Trans_Keywords");
|
||||
_("Translated");
|
||||
_("TranslatedAbstract");
|
||||
_("Translated_Title");
|
||||
_("Translator");
|
||||
_("TwoAffiliations");
|
||||
_("TwoAuthors");
|
||||
_("URL");
|
||||
_("Unterschrift");
|
||||
_("Uppertitleback");
|
||||
_("URL");
|
||||
_("Use");
|
||||
_("Verbatim");
|
||||
_("Verse");
|
||||
_("Verteiler");
|
||||
_("VisibleText");
|
||||
_("YourMail");
|
||||
_("YourRef");
|
||||
_("Yourmail");
|
||||
_("YourRef");
|
||||
_("Yourref");
|
||||
_("Zusatz");
|
||||
_("cc");
|
||||
_("encl");
|
||||
_("first");
|
||||
_("foilhead");
|
||||
_("journal");
|
||||
_("landscape");
|
||||
_("modying");
|
||||
_("msnumber");
|
||||
_("offsets");
|
||||
_("ps");
|
||||
_("style");
|
||||
_("surname");
|
||||
|
@ -1,4 +1,4 @@
|
||||
/** Header file generated with fdesign on Mon Jun 19 12:55:08 2000.**/
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_KeyMap_h_
|
||||
#define FD_KeyMap_h_
|
||||
|
503
src/frontends/ButtonPolicies.C
Normal file
503
src/frontends/ButtonPolicies.C
Normal file
@ -0,0 +1,503 @@
|
||||
// -*- C++ -*-
|
||||
/* ButtonPolicies.C
|
||||
* Provides a state machine implementation of the various button policies
|
||||
* used by the dialogs.
|
||||
* Author: Allan Rae <rae@lyx.org>
|
||||
* This file is part of
|
||||
* ======================================================
|
||||
*
|
||||
* LyX, The Document Processor
|
||||
*
|
||||
* Copyright 1995 Matthias Ettrich
|
||||
* Copyright 1995-2000 The LyX Team.
|
||||
*
|
||||
* This file Copyright 2000
|
||||
* Allan Rae
|
||||
* ======================================================
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include "ButtonPolicies.h"
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
// Helper function
|
||||
inline void nextState(ButtonPolicy::State & state,
|
||||
ButtonPolicy::SMInput in,
|
||||
ButtonPolicy::StateMachine s_m,
|
||||
char const * function_name = "nextState")
|
||||
{
|
||||
ButtonPolicy::State tmp = s_m[state][in];
|
||||
if (ButtonPolicy::BOGUS != tmp) {
|
||||
state = tmp;
|
||||
} else {
|
||||
lyxerr << function_name
|
||||
<< ": No transition for input "
|
||||
<< in
|
||||
<< " from state "
|
||||
<< state
|
||||
<< std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-----------------------------PreferencesPolicy-----------------------------*/
|
||||
|
||||
|
||||
PreferencesPolicy::PreferencesPolicy()
|
||||
: state_(INITIAL),
|
||||
outputs_(APPLIED+1, OKAY | APPLY | CANCEL | UNDO_ALL),
|
||||
state_machine_(APPLIED+1, StateArray(SMI_TOTAL, BOGUS))
|
||||
{
|
||||
// Build the state output map
|
||||
outputs_[INITIAL] = CLOSE;
|
||||
outputs_[VALID] = UNDO_ALL | OKAY | APPLY | CANCEL;
|
||||
outputs_[INVALID] = UNDO_ALL | CANCEL;
|
||||
outputs_[APPLIED] = OKAY | CLOSE;
|
||||
|
||||
// Build the state machine one state at a time
|
||||
// NOTE: Since CANCEL and HIDE always go to INITIAL they are
|
||||
// left out of the state machine and handled explicitly
|
||||
// in input(). This won't necessarily be true for all
|
||||
// policies though so I'll leave those two as distinct
|
||||
// inputs rather than merge them. For example, a dialog
|
||||
// that doesn't update it's input fields when reshown
|
||||
// after being hidden needs a policy where CANCEL and
|
||||
// HIDE are treated differently.
|
||||
//
|
||||
// State::INITIAL
|
||||
state_machine_[INITIAL][SMI_READ_ONLY] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_READ_WRITE] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_VALID] = VALID;
|
||||
state_machine_[INITIAL][SMI_INVALID] = INVALID;
|
||||
// State::VALID
|
||||
state_machine_[VALID][SMI_VALID] = VALID;
|
||||
state_machine_[VALID][SMI_READ_ONLY] = VALID;
|
||||
state_machine_[VALID][SMI_READ_WRITE] = VALID;
|
||||
state_machine_[VALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[VALID][SMI_APPLY] = APPLIED;
|
||||
state_machine_[VALID][SMI_OKAY] = INITIAL;
|
||||
state_machine_[VALID][SMI_UNDO_ALL] = INITIAL;
|
||||
// State::INVALID
|
||||
state_machine_[INVALID][SMI_VALID] = VALID;
|
||||
state_machine_[INVALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_ONLY] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
|
||||
state_machine_[INVALID][SMI_UNDO_ALL] = INITIAL;
|
||||
// State::APPLIED
|
||||
state_machine_[APPLIED][SMI_VALID] = VALID;
|
||||
state_machine_[APPLIED][SMI_INVALID] = INVALID;
|
||||
state_machine_[APPLIED][SMI_OKAY] = INITIAL;
|
||||
state_machine_[APPLIED][SMI_READ_ONLY] = APPLIED;
|
||||
state_machine_[APPLIED][SMI_READ_WRITE] = APPLIED;
|
||||
}
|
||||
|
||||
|
||||
void PreferencesPolicy::input(SMInput input)
|
||||
{
|
||||
// CANCEL and HIDE always take us to INITIAL for all cases.
|
||||
// Note that I didn't put that special case in the helper function
|
||||
// because it doesn't belong there. Some other
|
||||
// This is probably optimising for the wrong case since it occurs as the
|
||||
// dialog will be hidden. It would have saved a little memory in the
|
||||
// state machine if I could have gotten map working. ARRae 20000813
|
||||
if (SMI_CANCEL == input
|
||||
|| SMI_HIDE == input) {
|
||||
state_ = INITIAL;
|
||||
} else {
|
||||
nextState(state_,
|
||||
input,
|
||||
state_machine_,
|
||||
"PreferencesPolicy");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------OkCancelPolicy------------------------------*/
|
||||
|
||||
|
||||
OkCancelPolicy::OkCancelPolicy()
|
||||
: state_(INITIAL),
|
||||
outputs_(INVALID+1, OKAY | APPLY | CANCEL | UNDO_ALL),
|
||||
state_machine_(INVALID+1, StateArray(SMI_TOTAL, BOGUS))
|
||||
{
|
||||
// Build the state output map
|
||||
outputs_[INITIAL] = CLOSE;
|
||||
outputs_[VALID] = OKAY | CANCEL;
|
||||
outputs_[INVALID] = CANCEL;
|
||||
|
||||
// Build the state machine one state at a time
|
||||
// NOTE: Since CANCEL and HIDE always go to INITIAL they are
|
||||
// left out of the state machine and handled explicitly
|
||||
// in input()
|
||||
//
|
||||
// State::INITIAL
|
||||
state_machine_[INITIAL][SMI_READ_ONLY] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_READ_WRITE] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_VALID] = VALID;
|
||||
state_machine_[INITIAL][SMI_INVALID] = INVALID;
|
||||
// State::VALID
|
||||
state_machine_[VALID][SMI_VALID] = VALID;
|
||||
state_machine_[VALID][SMI_READ_ONLY] = VALID;
|
||||
state_machine_[VALID][SMI_READ_WRITE] = VALID;
|
||||
state_machine_[VALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[VALID][SMI_OKAY] = INITIAL;
|
||||
// State::INVALID
|
||||
state_machine_[INVALID][SMI_VALID] = VALID;
|
||||
state_machine_[INVALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_ONLY] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void OkCancelPolicy::input(SMInput input)
|
||||
{
|
||||
// CANCEL and HIDE always take us to INITIAL for all cases
|
||||
if (SMI_CANCEL == input
|
||||
|| SMI_HIDE == input) {
|
||||
state_ = INITIAL;
|
||||
} else {
|
||||
nextState(state_, input, state_machine_, "OkCancelPolicy");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------OkCancelReadOnlyPolicy-------------------------*/
|
||||
|
||||
|
||||
OkCancelReadOnlyPolicy::OkCancelReadOnlyPolicy()
|
||||
: state_(INITIAL),
|
||||
outputs_(RO_INVALID+1, OKAY | APPLY | CANCEL | UNDO_ALL),
|
||||
state_machine_(RO_INVALID+1, StateArray(SMI_TOTAL, BOGUS))
|
||||
{
|
||||
// Build the state output map
|
||||
outputs_[INITIAL] = CLOSE;
|
||||
outputs_[VALID] = OKAY | CANCEL;
|
||||
outputs_[INVALID] = CANCEL;
|
||||
outputs_[RO_INITIAL] = CLOSE;
|
||||
outputs_[RO_VALID] = CANCEL;
|
||||
outputs_[RO_INVALID] = CANCEL;
|
||||
|
||||
// Build the state machine one state at a time
|
||||
// NOTE: Since CANCEL and HIDE always go to INITIAL they are
|
||||
// left out of the state machine and handled explicitly
|
||||
// in input()
|
||||
//
|
||||
// State::INITIAL
|
||||
state_machine_[INITIAL][SMI_READ_WRITE] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_VALID] = VALID;
|
||||
state_machine_[INITIAL][SMI_INVALID] = INVALID;
|
||||
state_machine_[INITIAL][SMI_READ_ONLY] = RO_INITIAL;
|
||||
// State::VALID
|
||||
state_machine_[VALID][SMI_VALID] = VALID;
|
||||
state_machine_[VALID][SMI_READ_WRITE] = VALID;
|
||||
state_machine_[VALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[VALID][SMI_OKAY] = INITIAL;
|
||||
state_machine_[VALID][SMI_READ_ONLY] = RO_VALID;
|
||||
// State::INVALID
|
||||
state_machine_[INVALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
|
||||
state_machine_[INVALID][SMI_VALID] = VALID;
|
||||
state_machine_[INVALID][SMI_READ_ONLY] = RO_INVALID;
|
||||
// State::RO_INITIAL
|
||||
state_machine_[RO_INITIAL][SMI_READ_ONLY] = RO_INITIAL;
|
||||
state_machine_[RO_INITIAL][SMI_VALID] = RO_VALID;
|
||||
state_machine_[RO_INITIAL][SMI_INVALID] = RO_INVALID;
|
||||
state_machine_[RO_INITIAL][SMI_READ_WRITE] = INITIAL;
|
||||
// State::RO_VALID
|
||||
state_machine_[RO_VALID][SMI_VALID] = RO_VALID;
|
||||
state_machine_[RO_VALID][SMI_READ_ONLY] = RO_VALID;
|
||||
state_machine_[RO_VALID][SMI_INVALID] = RO_INVALID;
|
||||
state_machine_[RO_VALID][SMI_READ_WRITE] = VALID;
|
||||
// State::RO_INVALID
|
||||
state_machine_[RO_INVALID][SMI_READ_ONLY] = RO_INVALID;
|
||||
state_machine_[RO_INVALID][SMI_INVALID] = RO_INVALID;
|
||||
state_machine_[RO_INVALID][SMI_VALID] = RO_VALID;
|
||||
state_machine_[RO_INVALID][SMI_READ_WRITE] = INVALID;
|
||||
}
|
||||
|
||||
|
||||
void OkCancelReadOnlyPolicy::input(SMInput input)
|
||||
{
|
||||
// CANCEL and HIDE always take us to INITIAL for all cases
|
||||
if (SMI_CANCEL == input
|
||||
|| SMI_HIDE == input) {
|
||||
state_ = INITIAL;
|
||||
} else {
|
||||
nextState(state_,
|
||||
input,
|
||||
state_machine_,
|
||||
"OkCancelReadOnlyPolicy");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------------------NoRepeatedApplyReadOnlyPolicy----------------------*/
|
||||
|
||||
|
||||
NoRepeatedApplyReadOnlyPolicy::NoRepeatedApplyReadOnlyPolicy()
|
||||
: state_(INITIAL),
|
||||
outputs_(RO_INVALID+1, OKAY | APPLY | CANCEL | UNDO_ALL),
|
||||
state_machine_(RO_INVALID+1, StateArray(SMI_TOTAL, BOGUS))
|
||||
{
|
||||
// Build the state output map
|
||||
outputs_[INITIAL] = CLOSE;
|
||||
outputs_[VALID] = OKAY | APPLY | CANCEL;
|
||||
outputs_[INVALID] = CANCEL;
|
||||
outputs_[RO_INITIAL] = CLOSE;
|
||||
outputs_[RO_VALID] = CANCEL;
|
||||
outputs_[RO_INVALID] = CANCEL;
|
||||
|
||||
// Build the state machine one state at a time
|
||||
// NOTE: Since CANCEL and HIDE always go to INITIAL they are
|
||||
// left out of the state machine and handled explicitly
|
||||
// in input()
|
||||
//
|
||||
// State::INITIAL
|
||||
state_machine_[INITIAL][SMI_READ_WRITE] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_VALID] = VALID;
|
||||
state_machine_[INITIAL][SMI_INVALID] = INVALID;
|
||||
state_machine_[INITIAL][SMI_READ_ONLY] = RO_INITIAL;
|
||||
// State::VALID
|
||||
state_machine_[VALID][SMI_VALID] = VALID;
|
||||
state_machine_[VALID][SMI_READ_WRITE] = VALID;
|
||||
state_machine_[VALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[VALID][SMI_OKAY] = INITIAL;
|
||||
state_machine_[VALID][SMI_APPLY] = INITIAL;
|
||||
state_machine_[VALID][SMI_READ_ONLY] = RO_VALID;
|
||||
// State::INVALID
|
||||
state_machine_[INVALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
|
||||
state_machine_[INVALID][SMI_VALID] = VALID;
|
||||
state_machine_[INVALID][SMI_READ_ONLY] = RO_INVALID;
|
||||
// State::RO_INITIAL
|
||||
state_machine_[RO_INITIAL][SMI_READ_ONLY] = RO_INITIAL;
|
||||
state_machine_[RO_INITIAL][SMI_VALID] = RO_VALID;
|
||||
state_machine_[RO_INITIAL][SMI_INVALID] = RO_INVALID;
|
||||
state_machine_[RO_INITIAL][SMI_READ_WRITE] = INITIAL;
|
||||
// State::RO_VALID
|
||||
state_machine_[RO_VALID][SMI_VALID] = RO_VALID;
|
||||
state_machine_[RO_VALID][SMI_READ_ONLY] = RO_VALID;
|
||||
state_machine_[RO_VALID][SMI_INVALID] = RO_INVALID;
|
||||
state_machine_[RO_VALID][SMI_READ_WRITE] = VALID;
|
||||
// State::RO_INVALID
|
||||
state_machine_[RO_INVALID][SMI_INVALID] = RO_INVALID;
|
||||
state_machine_[RO_INVALID][SMI_READ_ONLY] = RO_INVALID;
|
||||
state_machine_[RO_INVALID][SMI_VALID] = RO_VALID;
|
||||
state_machine_[RO_INVALID][SMI_READ_WRITE] = INVALID;
|
||||
}
|
||||
|
||||
|
||||
void NoRepeatedApplyReadOnlyPolicy::input(SMInput input)
|
||||
{
|
||||
// CANCEL and HIDE always take us to INITIAL for all cases
|
||||
if (SMI_CANCEL == input
|
||||
|| SMI_HIDE == input) {
|
||||
state_ = INITIAL;
|
||||
} else {
|
||||
nextState(state_,
|
||||
input,
|
||||
state_machine_,
|
||||
"NoRepeatedApplyReadOnlyPolicy");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------------------OkApplyCancelReadOnlyPolicy----------------------*/
|
||||
|
||||
|
||||
OkApplyCancelReadOnlyPolicy::OkApplyCancelReadOnlyPolicy()
|
||||
: state_(INITIAL),
|
||||
outputs_(RO_APPLIED+1, OKAY | APPLY | CANCEL | UNDO_ALL),
|
||||
state_machine_(RO_APPLIED+1, StateArray(SMI_TOTAL, BOGUS))
|
||||
{
|
||||
// Build the state output map
|
||||
outputs_[INITIAL] = CLOSE;
|
||||
outputs_[VALID] = OKAY | APPLY | CANCEL;
|
||||
outputs_[INVALID] = CANCEL;
|
||||
outputs_[APPLIED] = OKAY | APPLY | CLOSE;
|
||||
outputs_[RO_INITIAL] = CLOSE;
|
||||
outputs_[RO_VALID] = CANCEL;
|
||||
outputs_[RO_INVALID] = CANCEL;
|
||||
outputs_[RO_APPLIED] = CANCEL;
|
||||
|
||||
// Build the state machine one state at a time
|
||||
// NOTE: Since CANCEL and HIDE always go to INITIAL they are
|
||||
// left out of the state machine and handled explicitly
|
||||
// in input()
|
||||
//
|
||||
// State::INITIAL
|
||||
state_machine_[INITIAL][SMI_READ_WRITE] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_VALID] = VALID;
|
||||
state_machine_[INITIAL][SMI_INVALID] = INVALID;
|
||||
state_machine_[INITIAL][SMI_READ_ONLY] = RO_INITIAL;
|
||||
// State::VALID
|
||||
state_machine_[VALID][SMI_VALID] = VALID;
|
||||
state_machine_[VALID][SMI_READ_WRITE] = VALID;
|
||||
state_machine_[VALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[VALID][SMI_OKAY] = INITIAL;
|
||||
state_machine_[VALID][SMI_APPLY] = APPLIED;
|
||||
state_machine_[VALID][SMI_READ_ONLY] = RO_VALID;
|
||||
// State::INVALID
|
||||
state_machine_[INVALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
|
||||
state_machine_[INVALID][SMI_VALID] = VALID;
|
||||
state_machine_[INVALID][SMI_READ_ONLY] = RO_INVALID;
|
||||
// State::APPLIED
|
||||
state_machine_[APPLIED][SMI_APPLY] = APPLIED;
|
||||
state_machine_[APPLIED][SMI_READ_WRITE] = APPLIED;
|
||||
state_machine_[APPLIED][SMI_VALID] = VALID;
|
||||
state_machine_[APPLIED][SMI_INVALID] = INVALID;
|
||||
state_machine_[APPLIED][SMI_OKAY] = INITIAL;
|
||||
state_machine_[APPLIED][SMI_READ_ONLY] = RO_APPLIED;
|
||||
// State::RO_INITIAL
|
||||
state_machine_[RO_INITIAL][SMI_READ_ONLY] = RO_INITIAL;
|
||||
state_machine_[RO_INITIAL][SMI_VALID] = RO_VALID;
|
||||
state_machine_[RO_INITIAL][SMI_INVALID] = RO_INVALID;
|
||||
state_machine_[RO_INITIAL][SMI_READ_WRITE] = INITIAL;
|
||||
// State::RO_VALID
|
||||
state_machine_[RO_VALID][SMI_VALID] = RO_VALID;
|
||||
state_machine_[RO_VALID][SMI_READ_ONLY] = RO_VALID;
|
||||
state_machine_[RO_VALID][SMI_INVALID] = RO_INVALID;
|
||||
state_machine_[RO_VALID][SMI_READ_WRITE] = VALID;
|
||||
// State::RO_INVALID
|
||||
state_machine_[RO_INVALID][SMI_INVALID] = RO_INVALID;
|
||||
state_machine_[RO_INVALID][SMI_READ_ONLY] = RO_INVALID;
|
||||
state_machine_[RO_INVALID][SMI_VALID] = RO_VALID;
|
||||
state_machine_[RO_INVALID][SMI_READ_WRITE] = INVALID;
|
||||
// State::RO_APPLIED
|
||||
state_machine_[RO_APPLIED][SMI_READ_ONLY] = RO_APPLIED;
|
||||
state_machine_[RO_APPLIED][SMI_INVALID] = RO_INVALID;
|
||||
state_machine_[RO_APPLIED][SMI_VALID] = RO_VALID;
|
||||
state_machine_[RO_APPLIED][SMI_READ_WRITE] = APPLIED;
|
||||
}
|
||||
|
||||
|
||||
void OkApplyCancelReadOnlyPolicy::input(SMInput input)
|
||||
{
|
||||
// CANCEL and HIDE always take us to INITIAL for all cases
|
||||
if (SMI_CANCEL == input
|
||||
|| SMI_HIDE == input) {
|
||||
state_ = INITIAL;
|
||||
} else {
|
||||
nextState(state_,
|
||||
input,
|
||||
state_machine_,
|
||||
"OkApplyCancelReadOnlyPolicy");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------------------OkApplyCancelPolicy----------------------*/
|
||||
|
||||
|
||||
OkApplyCancelPolicy::OkApplyCancelPolicy()
|
||||
: state_(INITIAL),
|
||||
outputs_(APPLIED+1, OKAY | APPLY | CANCEL | UNDO_ALL),
|
||||
state_machine_(APPLIED+1, StateArray(SMI_TOTAL, BOGUS))
|
||||
{
|
||||
// Build the state output map
|
||||
outputs_[INITIAL] = CLOSE;
|
||||
outputs_[VALID] = OKAY | APPLY | CANCEL;
|
||||
outputs_[INVALID] = CANCEL;
|
||||
outputs_[APPLIED] = OKAY | APPLY | CLOSE;
|
||||
|
||||
// Build the state machine one state at a time
|
||||
// NOTE: Since CANCEL and HIDE always go to INITIAL they are
|
||||
// left out of the state machine and handled explicitly
|
||||
// in input()
|
||||
//
|
||||
// State::INITIAL
|
||||
state_machine_[INITIAL][SMI_READ_ONLY] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_READ_WRITE] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_VALID] = VALID;
|
||||
state_machine_[INITIAL][SMI_INVALID] = INVALID;
|
||||
// State::VALID
|
||||
state_machine_[VALID][SMI_VALID] = VALID;
|
||||
state_machine_[VALID][SMI_READ_ONLY] = VALID;
|
||||
state_machine_[VALID][SMI_READ_WRITE] = VALID;
|
||||
state_machine_[VALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[VALID][SMI_OKAY] = INITIAL;
|
||||
state_machine_[VALID][SMI_APPLY] = APPLIED;
|
||||
// State::INVALID
|
||||
state_machine_[INVALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_ONLY] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
|
||||
state_machine_[INVALID][SMI_VALID] = VALID;
|
||||
// State::APPLIED
|
||||
state_machine_[APPLIED][SMI_APPLY] = APPLIED;
|
||||
state_machine_[APPLIED][SMI_READ_ONLY] = APPLIED;
|
||||
state_machine_[APPLIED][SMI_READ_WRITE] = APPLIED;
|
||||
state_machine_[APPLIED][SMI_VALID] = VALID;
|
||||
state_machine_[APPLIED][SMI_INVALID] = INVALID;
|
||||
state_machine_[APPLIED][SMI_OKAY] = INITIAL;
|
||||
}
|
||||
|
||||
|
||||
void OkApplyCancelPolicy::input(SMInput input)
|
||||
{
|
||||
// CANCEL and HIDE always take us to INITIAL for all cases
|
||||
if (SMI_CANCEL == input
|
||||
|| SMI_HIDE == input) {
|
||||
state_ = INITIAL;
|
||||
} else {
|
||||
nextState(state_,
|
||||
input,
|
||||
state_machine_,
|
||||
"OkApplyCancelPolicy");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------------------NoRepeatedApplyPolicy----------------------*/
|
||||
|
||||
|
||||
NoRepeatedApplyPolicy::NoRepeatedApplyPolicy()
|
||||
: state_(INITIAL),
|
||||
outputs_(INVALID+1, OKAY | APPLY | CANCEL | UNDO_ALL),
|
||||
state_machine_(INVALID+1, StateArray(SMI_TOTAL, BOGUS))
|
||||
{
|
||||
// Build the state output map
|
||||
outputs_[INITIAL] = CLOSE;
|
||||
outputs_[VALID] = OKAY | APPLY | CANCEL;
|
||||
outputs_[INVALID] = CANCEL;
|
||||
|
||||
// Build the state machine one state at a time
|
||||
// NOTE: Since CANCEL and HIDE always go to INITIAL they are
|
||||
// left out of the state machine and handled explicitly
|
||||
// in input()
|
||||
//
|
||||
// State::INITIAL
|
||||
state_machine_[INITIAL][SMI_READ_ONLY] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_READ_WRITE] = INITIAL;
|
||||
state_machine_[INITIAL][SMI_VALID] = VALID;
|
||||
state_machine_[INITIAL][SMI_INVALID] = INVALID;
|
||||
// State::VALID
|
||||
state_machine_[VALID][SMI_VALID] = VALID;
|
||||
state_machine_[VALID][SMI_READ_ONLY] = VALID;
|
||||
state_machine_[VALID][SMI_READ_WRITE] = VALID;
|
||||
state_machine_[VALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[VALID][SMI_OKAY] = INITIAL;
|
||||
state_machine_[VALID][SMI_APPLY] = INITIAL;
|
||||
// State::INVALID
|
||||
state_machine_[INVALID][SMI_INVALID] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_ONLY] = INVALID;
|
||||
state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
|
||||
state_machine_[INVALID][SMI_VALID] = VALID;
|
||||
}
|
||||
|
||||
|
||||
void NoRepeatedApplyPolicy::input(SMInput input)
|
||||
{
|
||||
// CANCEL and HIDE always take us to INITIAL for all cases
|
||||
if (SMI_CANCEL == input
|
||||
|| SMI_HIDE == input) {
|
||||
state_ = INITIAL;
|
||||
} else {
|
||||
nextState(state_,
|
||||
input,
|
||||
state_machine_,
|
||||
"NoRepeatedApplyPolicy");
|
||||
}
|
||||
}
|
370
src/frontends/ButtonPolicies.h
Normal file
370
src/frontends/ButtonPolicies.h
Normal file
@ -0,0 +1,370 @@
|
||||
// -*- C++ -*-
|
||||
/* ButtonPolicies.h
|
||||
* Provides a state machine implementation of the various button policies
|
||||
* used by the dialogs.
|
||||
* Author: Allan Rae <rae@lyx.org>
|
||||
* This file is part of
|
||||
* ======================================================
|
||||
*
|
||||
* LyX, The Document Processor
|
||||
*
|
||||
* Copyright 1995 Matthias Ettrich
|
||||
* Copyright 1995-2000 The LyX Team.
|
||||
*
|
||||
* This file Copyright 2000
|
||||
* Allan Rae
|
||||
* ======================================================
|
||||
*/
|
||||
|
||||
#ifndef BUTTONPOLICIES_H
|
||||
#define BUTTONPOLICIES_H
|
||||
|
||||
|
||||
#include <vector>
|
||||
#include "support/utility.hpp"
|
||||
|
||||
|
||||
/** An abstract base class for button policies.
|
||||
A state machine implementation of the various button policies used by the
|
||||
dialogs. Only the policy is implemented here. Separate ButtonController
|
||||
classes are needed for each GUI implementation.
|
||||
*/
|
||||
class ButtonPolicy : public noncopyable
|
||||
{
|
||||
public:
|
||||
/**@name Constructors and Deconstructors */
|
||||
//@{
|
||||
///
|
||||
virtual ~ButtonPolicy() {}
|
||||
//@}
|
||||
|
||||
/**@name Enums */
|
||||
//@{
|
||||
/** The various possible state names.
|
||||
Not all state-machines have this many states. However, we need
|
||||
to define them all here so we can share the code.
|
||||
*/
|
||||
enum State {
|
||||
INITIAL = 0,
|
||||
VALID,
|
||||
INVALID,
|
||||
APPLIED,
|
||||
RO_INITIAL,
|
||||
RO_VALID,
|
||||
RO_INVALID,
|
||||
RO_APPLIED,
|
||||
BOGUS = 55
|
||||
};
|
||||
/// The various button types.
|
||||
enum Button {
|
||||
CLOSE = 0, // Not a real button, but effectively !CANCEL
|
||||
OKAY = 1,
|
||||
APPLY = 2,
|
||||
CANCEL = 4,
|
||||
UNDO_ALL = 8
|
||||
};
|
||||
/** State machine inputs.
|
||||
All the policies so far have both CANCEL and HIDE always going to
|
||||
INITIAL. This won't necessarily be true for all [future] policies
|
||||
though so I'll leave those two as distinct inputs rather than merge
|
||||
them. For example, a dialog that doesn't update it's input fields
|
||||
when reshown after being hidden needs a policy where CANCEL and
|
||||
HIDE are treated differently.
|
||||
*/
|
||||
enum SMInput {
|
||||
SMI_VALID = 0,
|
||||
SMI_INVALID,
|
||||
SMI_OKAY,
|
||||
SMI_APPLY,
|
||||
SMI_CANCEL,
|
||||
SMI_UNDO_ALL,
|
||||
SMI_HIDE,
|
||||
SMI_READ_ONLY,
|
||||
SMI_READ_WRITE,
|
||||
SMI_TOTAL // not a real input
|
||||
};
|
||||
//@}
|
||||
|
||||
/**@name Access Functions */
|
||||
//@{
|
||||
/// Trigger a transition with this input.
|
||||
virtual void input(SMInput) = 0;
|
||||
/// Activation status of OK
|
||||
virtual bool buttonStatus(Button) = 0;
|
||||
//@}
|
||||
|
||||
/**@name Typedefs */
|
||||
//@{
|
||||
/// Transition map of the state machine.
|
||||
typedef std::vector<State> StateArray;
|
||||
typedef std::vector<StateArray> StateMachine;
|
||||
/// The state outputs are the status of the buttons.
|
||||
typedef std::vector<int> StateOutputs;
|
||||
//@}
|
||||
};
|
||||
|
||||
|
||||
/** Defines the policy used by the Preferences dialog.
|
||||
Four buttons: Ok (Save), Apply, Cancel/Close, Restore.
|
||||
Note: This scheme supports the relabelling of Cancel to Close and vice versa.
|
||||
This is based on the value of the bool state of the Button::CANCEL.
|
||||
true == Cancel, false == Close
|
||||
*/
|
||||
class PreferencesPolicy : public ButtonPolicy
|
||||
{
|
||||
public:
|
||||
///
|
||||
PreferencesPolicy();
|
||||
///
|
||||
virtual ~PreferencesPolicy() {}
|
||||
|
||||
/**@name Access Functions */
|
||||
//@{
|
||||
/// Trigger a transition with this input.
|
||||
virtual void input(SMInput);
|
||||
/** Activation status of a button.
|
||||
We assume that we haven't gotten into an undefined state.
|
||||
This is reasonable since we can only reach states defined
|
||||
in the state machine and they should all have been defined in
|
||||
the outputs_ variable. Perhaps we can do something at compile
|
||||
time to check that all the states have corresponding outputs.
|
||||
*/
|
||||
virtual bool buttonStatus(Button button)
|
||||
{ return button & outputs_[state_]; }
|
||||
//@}
|
||||
private:
|
||||
/**@name Private Data Members */
|
||||
//@{
|
||||
/// Current state.
|
||||
State state_;
|
||||
/// Which buttons are active for a given state.
|
||||
StateOutputs outputs_;
|
||||
///
|
||||
StateMachine state_machine_;
|
||||
//@}
|
||||
};
|
||||
|
||||
|
||||
|
||||
/** Ok and Cancel buttons for dialogs with read-only operation.
|
||||
Note: This scheme supports the relabelling of Cancel to Close and vice versa.
|
||||
This is based on the value of the bool state of the Button::CANCEL.
|
||||
true == Cancel, false == Close
|
||||
*/
|
||||
class OkCancelPolicy : public ButtonPolicy
|
||||
{
|
||||
public:
|
||||
///
|
||||
OkCancelPolicy();
|
||||
///
|
||||
virtual ~OkCancelPolicy() {}
|
||||
|
||||
/**@name Access Functions */
|
||||
//@{
|
||||
/// Trigger a transition with this input.
|
||||
virtual void input(SMInput);
|
||||
/// Activation status of a button.
|
||||
virtual bool buttonStatus(Button button)
|
||||
{ return button & outputs_[state_]; }
|
||||
//@}
|
||||
private:
|
||||
/**@name Private Data Members */
|
||||
//@{
|
||||
/// Current state.
|
||||
State state_;
|
||||
/// Which buttons are active for a given state.
|
||||
StateOutputs outputs_;
|
||||
///
|
||||
StateMachine state_machine_;
|
||||
//@}
|
||||
};
|
||||
|
||||
|
||||
/** Ok and Cancel buttons for dialogs where read-only operation is blocked.
|
||||
The state machine design for this policy allows changes to occur within
|
||||
the dialog while a file is read-only -- the okay button is disabled until
|
||||
a read-write input is given. When the file is made read-write the dialog
|
||||
will then be in the correct state (as if the file had always been read-write).
|
||||
Note: This scheme supports the relabelling of Cancel to Close and vice versa.
|
||||
This is based on the value of the bool state of the Button::CANCEL.
|
||||
true == Cancel, false == Close
|
||||
*/
|
||||
class OkCancelReadOnlyPolicy : public ButtonPolicy
|
||||
{
|
||||
public:
|
||||
///
|
||||
OkCancelReadOnlyPolicy();
|
||||
///
|
||||
virtual ~OkCancelReadOnlyPolicy() {}
|
||||
|
||||
/**@name Access Functions */
|
||||
//@{
|
||||
/// Trigger a transition with this input.
|
||||
virtual void input(SMInput);
|
||||
/// Activation status of a button.
|
||||
virtual bool buttonStatus(Button button)
|
||||
{ return button & outputs_[state_]; }
|
||||
//@}
|
||||
private:
|
||||
/**@name Private Data Members */
|
||||
//@{
|
||||
/// Current state.
|
||||
State state_;
|
||||
/// Which buttons are active for a given state.
|
||||
StateOutputs outputs_;
|
||||
///
|
||||
StateMachine state_machine_;
|
||||
//@}
|
||||
};
|
||||
|
||||
|
||||
/** Ok, Apply and Cancel buttons for dialogs where read-only operation is blocked.
|
||||
Repeated Apply are not allowed. Likewise, Ok cannot follow Apply without
|
||||
some valid input. That is, the dialog contents must change between each Apply
|
||||
or Apply and Ok.
|
||||
The state machine design for this policy allows changes to occur within
|
||||
the dialog while a file is read-only -- the Ok+Apply buttons are disabled
|
||||
until a read-write input is given. When the file is made read-write the
|
||||
dialog will then be in the correct state (as if the file had always been
|
||||
read-write).
|
||||
Note: This scheme supports the relabelling of Cancel to Close and vice versa.
|
||||
This is based on the value of the bool state of the Button::CANCEL.
|
||||
true == Cancel, false == Close
|
||||
*/
|
||||
class NoRepeatedApplyReadOnlyPolicy : public ButtonPolicy
|
||||
{
|
||||
public:
|
||||
///
|
||||
NoRepeatedApplyReadOnlyPolicy();
|
||||
///
|
||||
virtual ~NoRepeatedApplyReadOnlyPolicy() {}
|
||||
|
||||
/**@name Access Functions */
|
||||
//@{
|
||||
/// Trigger a transition with this input.
|
||||
virtual void input(SMInput);
|
||||
/// Activation status of a button.
|
||||
virtual bool buttonStatus(Button button)
|
||||
{ return button & outputs_[state_]; }
|
||||
//@}
|
||||
private:
|
||||
/**@name Private Data Members */
|
||||
//@{
|
||||
/// Current state.
|
||||
State state_;
|
||||
/// Which buttons are active for a given state.
|
||||
StateOutputs outputs_;
|
||||
///
|
||||
StateMachine state_machine_;
|
||||
//@}
|
||||
};
|
||||
|
||||
|
||||
/** Ok, Apply and Cancel buttons for dialogs where read-only operation is blocked.
|
||||
Repeated Apply is allowed. Likewise, Ok can follow Apply.
|
||||
The state machine design for this policy allows changes to occur within
|
||||
the dialog while a file is read-only -- the Ok+Apply buttons are disabled
|
||||
until a read-write input is given. When the file is made read-write the
|
||||
dialog will then be in the correct state (as if the file had always been
|
||||
read-write).
|
||||
Note: This scheme supports the relabelling of Cancel to Close and vice versa.
|
||||
This is based on the value of the bool state of the Button::CANCEL.
|
||||
true == Cancel, false == Close
|
||||
*/
|
||||
class OkApplyCancelReadOnlyPolicy : public ButtonPolicy
|
||||
{
|
||||
public:
|
||||
///
|
||||
OkApplyCancelReadOnlyPolicy();
|
||||
///
|
||||
virtual ~OkApplyCancelReadOnlyPolicy() {}
|
||||
|
||||
/**@name Access Functions */
|
||||
//@{
|
||||
/// Trigger a transition with this input.
|
||||
virtual void input(SMInput);
|
||||
/// Activation status of a button.
|
||||
virtual bool buttonStatus(Button button)
|
||||
{ return button & outputs_[state_]; }
|
||||
//@}
|
||||
private:
|
||||
/**@name Private Data Members */
|
||||
//@{
|
||||
/// Current state.
|
||||
State state_;
|
||||
/// Which buttons are active for a given state.
|
||||
StateOutputs outputs_;
|
||||
///
|
||||
StateMachine state_machine_;
|
||||
//@}
|
||||
};
|
||||
|
||||
|
||||
/** Ok, Apply and Cancel buttons for dialogs where repeated Apply is allowed.
|
||||
Note: This scheme supports the relabelling of Cancel to Close and vice versa.
|
||||
This is based on the value of the bool state of the Button::CANCEL.
|
||||
true == Cancel, false == Close
|
||||
*/
|
||||
class OkApplyCancelPolicy : public ButtonPolicy
|
||||
{
|
||||
public:
|
||||
///
|
||||
OkApplyCancelPolicy();
|
||||
///
|
||||
virtual ~OkApplyCancelPolicy() {}
|
||||
|
||||
/**@name Access Functions */
|
||||
//@{
|
||||
/// Trigger a transition with this input.
|
||||
virtual void input(SMInput);
|
||||
/// Activation status of a button.
|
||||
virtual bool buttonStatus(Button button)
|
||||
{ return button & outputs_[state_]; }
|
||||
//@}
|
||||
private:
|
||||
/**@name Private Data Members */
|
||||
//@{
|
||||
/// Current state.
|
||||
State state_;
|
||||
/// Which buttons are active for a given state.
|
||||
StateOutputs outputs_;
|
||||
///
|
||||
StateMachine state_machine_;
|
||||
//@}
|
||||
};
|
||||
|
||||
|
||||
/** Ok, Apply and Cancel buttons for dialogs with no repeated Apply.
|
||||
Note: This scheme supports the relabelling of Cancel to Close and vice versa.
|
||||
This is based on the value of the bool state of the Button::CANCEL.
|
||||
true == Cancel, false == Close
|
||||
*/
|
||||
class NoRepeatedApplyPolicy : public ButtonPolicy
|
||||
{
|
||||
public:
|
||||
///
|
||||
NoRepeatedApplyPolicy();
|
||||
///
|
||||
virtual ~NoRepeatedApplyPolicy() {}
|
||||
|
||||
/**@name Access Functions */
|
||||
//@{
|
||||
/// Trigger a transition with this input.
|
||||
virtual void input(SMInput);
|
||||
/// Activation status of a button.
|
||||
virtual bool buttonStatus(Button button)
|
||||
{ return button & outputs_[state_]; }
|
||||
//@}
|
||||
private:
|
||||
/**@name Private Data Members */
|
||||
//@{
|
||||
/// Current state.
|
||||
State state_;
|
||||
/// Which buttons are active for a given state.
|
||||
StateOutputs outputs_;
|
||||
///
|
||||
StateMachine state_machine_;
|
||||
//@}
|
||||
};
|
||||
|
||||
#endif
|
@ -48,15 +48,15 @@ class BufferParams;
|
||||
namespace Liason
|
||||
{
|
||||
#endif
|
||||
/**@name Global support functions */
|
||||
//@{
|
||||
/// get global printer parameters
|
||||
PrinterParams getPrinterParams(Buffer *);
|
||||
/// print the current buffer
|
||||
bool printBuffer(Buffer *, PrinterParams const &);
|
||||
/// set the minibuffer
|
||||
void setMinibuffer(LyXView *, char const * msg);
|
||||
//@}
|
||||
/**@name Global support functions */
|
||||
//@{
|
||||
/// get global printer parameters
|
||||
PrinterParams getPrinterParams(Buffer *);
|
||||
/// print the current buffer
|
||||
bool printBuffer(Buffer *, PrinterParams const &);
|
||||
/// set the minibuffer
|
||||
void setMinibuffer(LyXView *, char const * msg);
|
||||
//@}
|
||||
|
||||
#ifdef CXX_WORKING_NAMESPACES
|
||||
}
|
||||
|
@ -7,6 +7,8 @@ INCLUDES = ${FRONTEND_INCLUDES} -I${srcdir}/.. -I${srcdir}/@FRONTEND@ ${SIGC_CFL
|
||||
LIBS =
|
||||
noinst_LTLIBRARIES = libfrontends.la
|
||||
libfrontends_la_SOURCES=\
|
||||
ButtonPolicies.C \
|
||||
ButtonPolicies.h \
|
||||
Dialogs.h \
|
||||
DialogBase.h \
|
||||
Liason.C \
|
||||
|
189
src/frontends/xforms/ButtonController.h
Normal file
189
src/frontends/xforms/ButtonController.h
Normal file
@ -0,0 +1,189 @@
|
||||
// -*- C++ -*-
|
||||
/* ButtonController.h
|
||||
* Controls the activation of the OK, Apply and Cancel buttons.
|
||||
* Actually supports 4 buttons in all and it's up to the user to decide on
|
||||
* the activation policy and which buttons correspond to which output of the
|
||||
* state machine.
|
||||
* Author: Allan Rae <rae@lyx.org>
|
||||
* This file is part of
|
||||
* ======================================================
|
||||
*
|
||||
* LyX, The Document Processor
|
||||
*
|
||||
* Copyright 1995 Matthias Ettrich
|
||||
* Copyright 1995-2000 The LyX Team.
|
||||
*
|
||||
* This file Copyright 2000
|
||||
* Allan Rae
|
||||
* ======================================================
|
||||
*/
|
||||
|
||||
#ifndef BUTTONCONTROLLER_H
|
||||
#define BUTTONCONTROLLER_H
|
||||
|
||||
#include "ButtonPolicies.h"
|
||||
|
||||
/** General purpose button controller for up to four buttons.
|
||||
Controls the activation of the OK, Apply and Cancel buttons.
|
||||
Actually supports 4 buttons in all and it's up to the user to decide on
|
||||
the activation policy and which buttons correspond to which output of the
|
||||
state machine.
|
||||
*/
|
||||
template <class Policy>
|
||||
class ButtonController : public noncopyable
|
||||
{
|
||||
public:
|
||||
/**@name Constructors and Deconstructors */
|
||||
//@{
|
||||
/** Constructor.
|
||||
The cancel/close label entries are _not_ managed within the class
|
||||
thereby allowing you to reassign at will and to use static labels.
|
||||
It also means if you really don't want to have the Cancel button
|
||||
label be different when there is nothing changed in the dialog then
|
||||
you can just assign "Cancel" to both labels. Or even reuse this
|
||||
class for something completely different.
|
||||
*/
|
||||
ButtonController(char const * cancel, char const * close)
|
||||
: bp_(), okay_(0), apply_(0), cancel_(0), undo_all_(0),
|
||||
cancel_label(cancel), close_label(close) {}
|
||||
/// Somebody else owns the FL_OBJECTs we just manipulate them.
|
||||
~ButtonController() {}
|
||||
//@}
|
||||
|
||||
/**@name Initialise Button Functions */
|
||||
//@{
|
||||
/// Call refresh() when finished setting the buttons.
|
||||
void setOkay(FL_OBJECT * obj)
|
||||
{ okay_ = obj; }
|
||||
///
|
||||
void setApply(FL_OBJECT * obj)
|
||||
{ apply_ = obj; }
|
||||
///
|
||||
void setCancel(FL_OBJECT * obj)
|
||||
{ cancel_ = obj; }
|
||||
///
|
||||
void setUndoAll(FL_OBJECT * obj)
|
||||
{ undo_all_ = obj; }
|
||||
///
|
||||
void setCancelTrueLabel(char const * c)
|
||||
{ cancel_label = c; }
|
||||
///
|
||||
void setCancelFalseLabel(char const * c)
|
||||
{ close_label = c; }
|
||||
//@}
|
||||
|
||||
/**@name Action Functions */
|
||||
//@{
|
||||
///
|
||||
void input(ButtonPolicy::SMInput in)
|
||||
{
|
||||
bp_.input(in);
|
||||
refresh();
|
||||
}
|
||||
///
|
||||
void okay()
|
||||
{ input(ButtonPolicy::SMI_OKAY); }
|
||||
///
|
||||
void apply()
|
||||
{ input(ButtonPolicy::SMI_APPLY); }
|
||||
///
|
||||
void cancel()
|
||||
{ input(ButtonPolicy::SMI_CANCEL); }
|
||||
///
|
||||
void undoAll()
|
||||
{ input(ButtonPolicy::SMI_UNDO_ALL); }
|
||||
///
|
||||
void hide()
|
||||
{ input(ButtonPolicy::SMI_HIDE); }
|
||||
/// Passthrough function -- returns its input value
|
||||
bool read_only(bool ro = true)
|
||||
{
|
||||
if (ro) {
|
||||
input(ButtonPolicy::SMI_READ_ONLY);
|
||||
} else {
|
||||
input(ButtonPolicy::SMI_READ_WRITE);
|
||||
}
|
||||
return ro;
|
||||
}
|
||||
///
|
||||
void read_write()
|
||||
{ read_only(false); }
|
||||
/// Passthrough function -- returns its input value
|
||||
bool valid(bool v = true)
|
||||
{
|
||||
if (v) {
|
||||
input(ButtonPolicy::SMI_VALID);
|
||||
} else {
|
||||
input(ButtonPolicy::SMI_INVALID);
|
||||
}
|
||||
return v;
|
||||
}
|
||||
///
|
||||
void invalid()
|
||||
{ valid(false); }
|
||||
/// force a refresh of the buttons
|
||||
void refresh()
|
||||
{
|
||||
if (okay_) {
|
||||
if (bp_.buttonStatus(ButtonPolicy::OKAY)) {
|
||||
fl_activate_object(okay_);
|
||||
fl_set_object_lcol(okay_, FL_BLACK);
|
||||
} else {
|
||||
fl_deactivate_object(okay_);
|
||||
fl_set_object_lcol(okay_, FL_INACTIVE);
|
||||
}
|
||||
}
|
||||
if (apply_) {
|
||||
if (bp_.buttonStatus(ButtonPolicy::APPLY)) {
|
||||
fl_activate_object(apply_);
|
||||
fl_set_object_lcol(apply_, FL_BLACK);
|
||||
} else {
|
||||
fl_deactivate_object(apply_);
|
||||
fl_set_object_lcol(apply_, FL_INACTIVE);
|
||||
}
|
||||
}
|
||||
if (undo_all_) {
|
||||
if (bp_.buttonStatus(ButtonPolicy::UNDO_ALL)) {
|
||||
fl_activate_object(undo_all_);
|
||||
fl_set_object_lcol(undo_all_, FL_BLACK);
|
||||
} else {
|
||||
fl_deactivate_object(undo_all_);
|
||||
fl_set_object_lcol(undo_all_,
|
||||
FL_INACTIVE);
|
||||
}
|
||||
}
|
||||
if (cancel_) {
|
||||
if (bp_.buttonStatus(ButtonPolicy::CANCEL)) {
|
||||
fl_set_object_label(cancel_,
|
||||
cancel_label);
|
||||
} else {
|
||||
fl_set_object_label(cancel_,
|
||||
close_label);
|
||||
}
|
||||
}
|
||||
}
|
||||
//@}
|
||||
private:
|
||||
///
|
||||
Policy bp_;
|
||||
/**@name Button Widgets */
|
||||
//@{
|
||||
///
|
||||
FL_OBJECT * okay_;
|
||||
///
|
||||
FL_OBJECT * apply_;
|
||||
///
|
||||
FL_OBJECT * cancel_;
|
||||
///
|
||||
FL_OBJECT * undo_all_;
|
||||
//@}
|
||||
/**@name Cancel/Close Button Labels */
|
||||
//@{
|
||||
///
|
||||
char const * cancel_label;
|
||||
///
|
||||
char const * close_label;
|
||||
//@}
|
||||
};
|
||||
|
||||
#endif
|
@ -49,7 +49,6 @@ FormCitation::FormCitation(LyXView * lv, Dialogs * d)
|
||||
|
||||
FormCitation::~FormCitation()
|
||||
{
|
||||
free();
|
||||
delete dialog_;
|
||||
}
|
||||
|
||||
@ -70,8 +69,8 @@ void FormCitation::build()
|
||||
|
||||
FL_FORM * const FormCitation::form() const
|
||||
{
|
||||
if( dialog_ ) // no need to test for dialog_->citation
|
||||
return dialog_->form_citation;
|
||||
if( dialog_ ) // no need to test for dialog_->form
|
||||
return dialog_->form;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
@ -109,8 +108,8 @@ void FormCitation::update()
|
||||
|
||||
int noKeys = max( bibkeys.size(), citekeys.size() );
|
||||
|
||||
// Place bounds, so that 4 <= noKeys <= 15
|
||||
noKeys = max( 4, min(15, noKeys) );
|
||||
// Place bounds, so that 4 <= noKeys <= 10
|
||||
noKeys = max( 4, min(10, noKeys) );
|
||||
|
||||
// Re-size the form to accommodate the new browser size
|
||||
int size = 20 * noKeys;
|
||||
@ -200,15 +199,15 @@ void FormCitation::setSize( int hbrsr, bool bibPresent ) const
|
||||
int const hinfo = dialog_->infoBrsr->h;
|
||||
int const hother = 140;
|
||||
hbrsr = max( hbrsr, 175 );
|
||||
int wform = dialog_->form_citation->w;
|
||||
int wform = dialog_->form->w;
|
||||
int hform = hbrsr + hother;
|
||||
|
||||
if( bibPresent ) hform += hinfo + 30;
|
||||
fl_set_form_size( dialog_->form_citation, wform, hform );
|
||||
fl_set_form_size( dialog_->form, wform, hform );
|
||||
|
||||
// No resizing is alowed in the y-direction
|
||||
fl_set_form_minsize( dialog_->form_citation, wform, hform );
|
||||
fl_set_form_maxsize( dialog_->form_citation, 3*wform, hform );
|
||||
// No resizing is allowed in the y-direction
|
||||
fl_set_form_minsize( dialog_->form, wform, hform );
|
||||
fl_set_form_maxsize( dialog_->form, 3*wform, hform );
|
||||
|
||||
int y = 0;
|
||||
fl_set_object_geometry( dialog_->box, 0, y, wform, hform );
|
||||
|
@ -83,18 +83,6 @@ void FormCommand::show()
|
||||
}
|
||||
|
||||
|
||||
void FormCommand::free()
|
||||
{
|
||||
// we don't need to delete u and h here because
|
||||
// hide() does that after disconnecting.
|
||||
if( form() ) {
|
||||
if( form()->visible )
|
||||
hide();
|
||||
fl_free_form(form());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void FormCommand::hide()
|
||||
{
|
||||
if (form() && form()->visible) {
|
||||
|
@ -57,8 +57,6 @@ protected:
|
||||
virtual void update() = 0;
|
||||
/// Apply from dialog (modify or create inset)
|
||||
virtual void apply() = 0;
|
||||
/// Explicitly free the dialog.
|
||||
void free();
|
||||
/// delete derived class variables from hide()
|
||||
virtual void clearStore() {}
|
||||
/// Pointer to the actual instantiation of the xform's form
|
||||
|
@ -33,13 +33,15 @@ FormCopyright::FormCopyright(LyXView * lv, Dialogs * d)
|
||||
|
||||
FormCopyright::~FormCopyright()
|
||||
{
|
||||
free();
|
||||
delete dialog_;
|
||||
}
|
||||
|
||||
|
||||
void FormCopyright::build()
|
||||
{
|
||||
dialog_ = build_copyright();
|
||||
dialog_ = build_copyright();
|
||||
fl_set_form_atclose(dialog_->form,
|
||||
C_FormCopyrightWMHideCB, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -47,14 +49,12 @@ void FormCopyright::show()
|
||||
{
|
||||
if (!dialog_) {
|
||||
build();
|
||||
fl_set_form_atclose(dialog_->form_copyright,
|
||||
C_FormCopyrightWMHideCB, 0);
|
||||
}
|
||||
|
||||
if (dialog_->form_copyright->visible) {
|
||||
fl_raise_form(dialog_->form_copyright);
|
||||
if (dialog_->form->visible) {
|
||||
fl_raise_form(dialog_->form);
|
||||
} else {
|
||||
fl_show_form(dialog_->form_copyright,
|
||||
fl_show_form(dialog_->form,
|
||||
FL_PLACE_MOUSE,
|
||||
FL_FULLBORDER,
|
||||
_("Copyright and Warranty"));
|
||||
@ -66,28 +66,11 @@ void FormCopyright::show()
|
||||
void FormCopyright::hide()
|
||||
{
|
||||
if (dialog_
|
||||
&& dialog_->form_copyright
|
||||
&& dialog_->form_copyright->visible) {
|
||||
fl_hide_form(dialog_->form_copyright);
|
||||
&& dialog_->form
|
||||
&& dialog_->form->visible) {
|
||||
fl_hide_form(dialog_->form);
|
||||
h_.disconnect();
|
||||
}
|
||||
free();
|
||||
}
|
||||
|
||||
|
||||
void FormCopyright::free()
|
||||
{
|
||||
// we don't need to delete h here because
|
||||
// hide() does that after disconnecting.
|
||||
if (dialog_) {
|
||||
if (dialog_->form_copyright
|
||||
&& dialog_->form_copyright->visible) {
|
||||
hide();
|
||||
}
|
||||
fl_free_form(dialog_->form_copyright);
|
||||
delete dialog_;
|
||||
dialog_ = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -55,8 +55,6 @@ private:
|
||||
void build();
|
||||
///
|
||||
FD_form_copyright * build_copyright();
|
||||
/// Explicitly free the dialog.
|
||||
void free();
|
||||
|
||||
/// Real GUI implementation.
|
||||
FD_form_copyright * dialog_;
|
||||
|
@ -119,7 +119,7 @@ void FormDocument::build()
|
||||
|
||||
// The language is a combo-box and has to be inserted manually
|
||||
FL_OBJECT * obj = language_->choice_language;
|
||||
fl_addto_form(language_->form_doc_language);
|
||||
fl_addto_form(language_->form);
|
||||
combo_language = new Combox(FL_COMBOX_DROPLIST);
|
||||
combo_language->add(obj->x, obj->y, obj->w, obj->h, 200);
|
||||
combo_language->shortcut("#L",1);
|
||||
@ -156,18 +156,18 @@ void FormDocument::build()
|
||||
fl_set_input_return(bullets_->input_bullet_latex, FL_RETURN_CHANGED);
|
||||
fl_set_input_maxchars(bullets_->input_bullet_latex, 80);
|
||||
|
||||
fl_set_form_atclose(dialog_->form_tabbed_document,
|
||||
fl_set_form_atclose(dialog_->form,
|
||||
FormDocument::WMHideCB, 0);
|
||||
fl_addto_tabfolder(dialog_->tabbed_folder,_("Document"),
|
||||
class_->form_doc_class);
|
||||
class_->form);
|
||||
fl_addto_tabfolder(dialog_->tabbed_folder,_("Paper"),
|
||||
paper_->form_doc_paper);
|
||||
paper_->form);
|
||||
fl_addto_tabfolder(dialog_->tabbed_folder,_("Language"),
|
||||
language_->form_doc_language);
|
||||
language_->form);
|
||||
fl_addto_tabfolder(dialog_->tabbed_folder,_("Extra"),
|
||||
options_->form_doc_options);
|
||||
options_->form);
|
||||
fbullet = fl_addto_tabfolder(dialog_->tabbed_folder,_("Bullets"),
|
||||
bullets_->form_doc_bullet);
|
||||
bullets_->form);
|
||||
if ((XpmVersion < 4) || (XpmVersion == 4 && XpmRevision < 7)) {
|
||||
lyxerr << _("Your version of libXpm is older than 4.7.\n"
|
||||
"The `bullet' tab of the document popup "
|
||||
@ -183,10 +183,10 @@ void FormDocument::show()
|
||||
build();
|
||||
|
||||
update(); // make sure its up-to-date
|
||||
if (dialog_->form_tabbed_document->visible) {
|
||||
fl_raise_form(dialog_->form_tabbed_document);
|
||||
if (dialog_->form->visible) {
|
||||
fl_raise_form(dialog_->form);
|
||||
} else {
|
||||
fl_show_form(dialog_->form_tabbed_document,
|
||||
fl_show_form(dialog_->form,
|
||||
FL_PLACE_MOUSE | FL_FREE_SIZE,
|
||||
FL_TRANSIENT, _("Document Layout"));
|
||||
u_ = d_->updateBufferDependent.connect(
|
||||
@ -198,8 +198,8 @@ void FormDocument::show()
|
||||
|
||||
void FormDocument::hide()
|
||||
{
|
||||
if (dialog_->form_tabbed_document->visible) {
|
||||
fl_hide_form(dialog_->form_tabbed_document);
|
||||
if (dialog_->form->visible) {
|
||||
fl_hide_form(dialog_->form);
|
||||
u_.disconnect();
|
||||
h_.disconnect();
|
||||
}
|
||||
@ -645,7 +645,7 @@ void FormDocument::paper_update()
|
||||
fl_set_input(paper_->input_head_height, params.headheight.c_str());
|
||||
fl_set_input(paper_->input_head_sep, params.headsep.c_str());
|
||||
fl_set_input(paper_->input_foot_skip, params.footskip.c_str());
|
||||
fl_set_focus_object(paper_->form_doc_paper, paper_->choice_papersize2);
|
||||
fl_set_focus_object(paper_->form, paper_->choice_papersize2);
|
||||
}
|
||||
|
||||
void FormDocument::bullets_update()
|
||||
@ -686,32 +686,32 @@ void FormDocument::free()
|
||||
if (dialog_) {
|
||||
hide();
|
||||
if (class_) {
|
||||
fl_free_form(class_->form_doc_class);
|
||||
fl_free_form(class_->form);
|
||||
delete class_;
|
||||
class_ = 0;
|
||||
}
|
||||
if (paper_) {
|
||||
fl_free_form(paper_->form_doc_paper);
|
||||
fl_free_form(paper_->form);
|
||||
delete paper_;
|
||||
paper_ = 0;
|
||||
}
|
||||
if (language_) {
|
||||
delete combo_language;
|
||||
fl_free_form(language_->form_doc_language);
|
||||
fl_free_form(language_->form);
|
||||
delete language_;
|
||||
language_ = 0;
|
||||
}
|
||||
if (options_) {
|
||||
fl_free_form(options_->form_doc_options);
|
||||
fl_free_form(options_->form);
|
||||
delete options_;
|
||||
options_ = 0;
|
||||
}
|
||||
if (bullets_) {
|
||||
fl_free_form(bullets_->form_doc_bullet);
|
||||
fl_free_form(bullets_->form);
|
||||
delete bullets_;
|
||||
bullets_ = 0;
|
||||
}
|
||||
fl_free_form(dialog_->form_tabbed_document);
|
||||
fl_free_form(dialog_->form);
|
||||
delete dialog_;
|
||||
dialog_ = 0;
|
||||
}
|
||||
@ -933,7 +933,7 @@ void FormDocument::BulletPanel(FL_OBJECT * /*ob*/, long data)
|
||||
/* by the user. (eg. standard.xpm, psnfss1.xpm etc...) */
|
||||
|
||||
if (data != current_bullet_panel) {
|
||||
fl_freeze_form(bullets_->form_doc_bullet);
|
||||
fl_freeze_form(bullets_->form);
|
||||
current_bullet_panel = data;
|
||||
|
||||
/* free the current pixmap */
|
||||
@ -970,7 +970,7 @@ void FormDocument::BulletPanel(FL_OBJECT * /*ob*/, long data)
|
||||
fl_set_bmtable_pixmap_file(bullets_->bmtable_bullet_panel, 6, 6,
|
||||
LibFileSearch("images", new_panel.c_str()).c_str());
|
||||
fl_redraw_object(bullets_->bmtable_bullet_panel);
|
||||
fl_unfreeze_form(bullets_->form_doc_bullet);
|
||||
fl_unfreeze_form(bullets_->form);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -147,7 +147,7 @@ void FormGraphics::build()
|
||||
InsetGraphicsParams::NONE);
|
||||
|
||||
// Connect a signal to hide the window when the window manager orders it.
|
||||
fl_set_form_atclose(dialog_->form_graphics,
|
||||
fl_set_form_atclose(dialog_->form,
|
||||
C_FormGraphicsWMHideCB, 0);
|
||||
}
|
||||
|
||||
@ -162,12 +162,12 @@ void FormGraphics::show()
|
||||
update();
|
||||
|
||||
// If the form is visible
|
||||
if (dialog_->form_graphics->visible) {
|
||||
if (dialog_->form->visible) {
|
||||
// Raise it.
|
||||
fl_raise_form(dialog_->form_graphics);
|
||||
fl_raise_form(dialog_->form);
|
||||
} else {
|
||||
// Otherwise (invisible), show it.
|
||||
fl_show_form(dialog_->form_graphics,
|
||||
fl_show_form(dialog_->form,
|
||||
FL_PLACE_MOUSE,
|
||||
FL_FULLBORDER,
|
||||
_("Graphics"));
|
||||
@ -204,10 +204,10 @@ void FormGraphics::hide()
|
||||
{
|
||||
// If the dialog exists, and the form is allocated and visible.
|
||||
if (dialog_
|
||||
&& dialog_->form_graphics
|
||||
&& dialog_->form_graphics->visible) {
|
||||
&& dialog_->form
|
||||
&& dialog_->form->visible) {
|
||||
// Hide the form
|
||||
fl_hide_form(dialog_->form_graphics);
|
||||
fl_hide_form(dialog_->form);
|
||||
|
||||
// And disconnect the signals.
|
||||
u_.disconnect();
|
||||
@ -225,26 +225,14 @@ void FormGraphics::hide()
|
||||
|
||||
void FormGraphics::free()
|
||||
{
|
||||
// hide() will disconnect the signals so we need not worry about them.
|
||||
if (dialog_) {
|
||||
if (dialog_->form_graphics) {
|
||||
// If the dialog is visible, hide it.
|
||||
if (dialog_->form_graphics->visible) {
|
||||
hide();
|
||||
}
|
||||
|
||||
// Remove all associations for the radio buttons
|
||||
widthButtons.reset();
|
||||
heightButtons.reset();
|
||||
displayButtons.reset();
|
||||
// Remove all associations for the radio buttons
|
||||
widthButtons.reset();
|
||||
heightButtons.reset();
|
||||
displayButtons.reset();
|
||||
|
||||
// Free the form.
|
||||
fl_free_form(dialog_->form_graphics);
|
||||
}
|
||||
|
||||
delete dialog_;
|
||||
dialog_ = 0;
|
||||
}
|
||||
// Free the form.
|
||||
delete dialog_;
|
||||
dialog_ = 0;
|
||||
}
|
||||
|
||||
void FormGraphics::apply()
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include "lyxfunc.h"
|
||||
|
||||
FormIndex::FormIndex(LyXView * lv, Dialogs * d)
|
||||
: FormCommand(lv, d, _("Index")), dialog_(0), minh(0), minw(0)
|
||||
: FormCommand(lv, d, _("Index")), minh(0), minw(0), dialog_(0)
|
||||
{
|
||||
// let the dialog be shown
|
||||
// These are permanent connections so we won't bother
|
||||
@ -39,7 +39,6 @@ FormIndex::FormIndex(LyXView * lv, Dialogs * d)
|
||||
|
||||
FormIndex::~FormIndex()
|
||||
{
|
||||
free();
|
||||
delete dialog_;
|
||||
}
|
||||
|
||||
@ -56,8 +55,8 @@ void FormIndex::build()
|
||||
|
||||
FL_FORM * const FormIndex::form() const
|
||||
{
|
||||
if( dialog_ ) // no need to test for dialog_->form_index
|
||||
return dialog_->form_index;
|
||||
if( dialog_ ) // no need to test for dialog_->form
|
||||
return dialog_->form;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "support/filetools.h"
|
||||
#include "lyx_gui_misc.h"
|
||||
#include "gettext.h"
|
||||
#include "ButtonController.h"
|
||||
|
||||
#ifdef SIGC_CXX_NAMESPACES
|
||||
using SigC::slot;
|
||||
@ -33,29 +34,44 @@ C_GENERICCB(FormPreferences, OKCB)
|
||||
C_GENERICCB(FormPreferences, ApplyCB)
|
||||
C_GENERICCB(FormPreferences, CancelCB)
|
||||
C_GENERICCB(FormPreferences, InputCB)
|
||||
C_GENERICCB(FormPreferences, RestoreCB)
|
||||
|
||||
|
||||
FormPreferences::FormPreferences(LyXView * lv, Dialogs * d)
|
||||
: dialog_(0), bind_(0), misc_(0), screen_fonts_(0),
|
||||
interface_fonts_(0), printer_(0), paths_(0),
|
||||
lv_(lv), d_(d), u_(0), h_(0), status(DIALOG_UNMODIFIED)
|
||||
: dialog_(0), bind_(0), misc_(0), screen_fonts_(0), interface_fonts_(0),
|
||||
printer_(0), paths_(0), lv_(lv), d_(d), u_(0), h_(0),
|
||||
minw_(0), minh_(0),
|
||||
bc_(new ButtonController<PreferencesPolicy>(_("Cancel"), _("Close")))
|
||||
{
|
||||
// let the dialog be shown
|
||||
// This is a permanent connection so we won't bother
|
||||
// storing a copy because we won't be disconnecting.
|
||||
d->showPreferences.connect(slot(this,&FormPreferences::show));
|
||||
d->showPreferences.connect(slot(this, &FormPreferences::show));
|
||||
}
|
||||
|
||||
|
||||
FormPreferences::~FormPreferences()
|
||||
{
|
||||
free();
|
||||
delete dialog_;
|
||||
delete bc_;
|
||||
}
|
||||
|
||||
|
||||
void FormPreferences::build()
|
||||
{
|
||||
dialog_ = build_preferences();
|
||||
|
||||
// manage the restore, save, apply and cancel/close buttons
|
||||
bc_->setOkay(dialog_->button_ok);
|
||||
bc_->setApply(dialog_->button_apply);
|
||||
bc_->setCancel(dialog_->button_cancel);
|
||||
bc_->setUndoAll(dialog_->button_restore);
|
||||
bc_->refresh();
|
||||
|
||||
// Workaround dumb xforms sizing bug
|
||||
minw_ = dialog_->form->w;
|
||||
minh_ = dialog_->form->h;
|
||||
|
||||
bind_ = build_bind();
|
||||
screen_fonts_ = build_screen_fonts();
|
||||
interface_fonts_ = build_interface_fonts();
|
||||
@ -74,7 +90,8 @@ void FormPreferences::build()
|
||||
fl_set_input_return(screen_fonts_->input_sans, FL_RETURN_CHANGED);
|
||||
fl_set_input_return(screen_fonts_->input_typewriter,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(screen_fonts_->input_encoding, FL_RETURN_CHANGED);
|
||||
fl_set_input_return(screen_fonts_->input_screen_encoding,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_counter_return(screen_fonts_->counter_zoom, FL_RETURN_CHANGED);
|
||||
fl_set_input_return(screen_fonts_->input_tiny, FL_RETURN_CHANGED);
|
||||
fl_set_input_return(screen_fonts_->input_script, FL_RETURN_CHANGED);
|
||||
@ -91,7 +108,7 @@ void FormPreferences::build()
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(interface_fonts_->input_menu_font,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(interface_fonts_->input_encoding,
|
||||
fl_set_input_return(interface_fonts_->input_popup_encoding,
|
||||
FL_RETURN_CHANGED);
|
||||
// printer
|
||||
fl_set_input_return(printer_->input_command, FL_RETURN_CHANGED);
|
||||
@ -122,24 +139,24 @@ void FormPreferences::build()
|
||||
// Now add them to the tabfolder
|
||||
fl_addto_tabfolder(dialog_->tabfolder_prefs,
|
||||
_("Bindings"),
|
||||
bind_->form_bind);
|
||||
bind_->form);
|
||||
fl_addto_tabfolder(dialog_->tabfolder_prefs,
|
||||
_("Screen Fonts"),
|
||||
screen_fonts_->form_screen_fonts);
|
||||
screen_fonts_->form);
|
||||
fl_addto_tabfolder(dialog_->tabfolder_prefs,
|
||||
_("Interface Fonts"),
|
||||
interface_fonts_->form_interface_fonts);
|
||||
interface_fonts_->form);
|
||||
fl_addto_tabfolder(dialog_->tabfolder_prefs,
|
||||
_("Miscellaneous"),
|
||||
misc_->form_misc);
|
||||
misc_->form);
|
||||
fl_addto_tabfolder(dialog_->tabfolder_prefs,
|
||||
_("Printer"),
|
||||
printer_->form_printer);
|
||||
printer_->form);
|
||||
fl_addto_tabfolder(dialog_->tabfolder_prefs,
|
||||
_("Paths"),
|
||||
paths_->form_paths);
|
||||
paths_->form);
|
||||
|
||||
fl_set_form_atclose(dialog_->form_preferences,
|
||||
fl_set_form_atclose(dialog_->form,
|
||||
C_FormPreferencesWMHideCB, 0);
|
||||
|
||||
// deactivate the various browse buttons because they
|
||||
@ -166,18 +183,15 @@ void FormPreferences::show()
|
||||
}
|
||||
update(); // make sure its up-to-date
|
||||
|
||||
if (dialog_->form_preferences->visible) {
|
||||
fl_raise_form(dialog_->form_preferences);
|
||||
if (dialog_->form->visible) {
|
||||
fl_raise_form(dialog_->form);
|
||||
} else {
|
||||
status = DIALOG_UNMODIFIED;
|
||||
fl_deactivate_object(dialog_->button_ok);
|
||||
fl_deactivate_object(dialog_->button_apply);
|
||||
fl_set_object_lcol(dialog_->button_ok, FL_INACTIVE);
|
||||
fl_set_object_lcol(dialog_->button_apply, FL_INACTIVE);
|
||||
|
||||
fl_show_form(dialog_->form_preferences,
|
||||
fl_set_form_minsize(dialog_->form,
|
||||
minw_,
|
||||
minh_);
|
||||
fl_show_form(dialog_->form,
|
||||
FL_PLACE_MOUSE | FL_FREE_SIZE,
|
||||
FL_FULLBORDER,
|
||||
FL_TRANSIENT,
|
||||
_("Preferences"));
|
||||
}
|
||||
}
|
||||
@ -186,9 +200,10 @@ void FormPreferences::show()
|
||||
void FormPreferences::hide()
|
||||
{
|
||||
if (dialog_
|
||||
&& dialog_->form_preferences
|
||||
&& dialog_->form_preferences->visible) {
|
||||
fl_hide_form(dialog_->form_preferences);
|
||||
&& dialog_->form
|
||||
&& dialog_->form->visible) {
|
||||
bc_->hide();
|
||||
fl_hide_form(dialog_->form);
|
||||
}
|
||||
}
|
||||
|
||||
@ -200,7 +215,11 @@ void FormPreferences::apply()
|
||||
// is made. For example, screen zoom and font types. These could be
|
||||
// handled either by signals/slots in lyxrc or just directly call the
|
||||
// associated functions here.
|
||||
|
||||
// There are other problems with this scheme. We really should check
|
||||
// what we copy to make sure that it really is necessary to do things
|
||||
// like update the screen fonts because that flushes the textcache
|
||||
// and other stuff which may cost us a lot on slower/high-load machines.
|
||||
|
||||
// Bind tab
|
||||
lyxrc.bind_file = fl_get_input(bind_->input_bind);
|
||||
// Misc tab
|
||||
@ -214,41 +233,81 @@ void FormPreferences::apply()
|
||||
(fl_get_counter_value(misc_->counter_autosave));
|
||||
lyxrc.ascii_linelen = static_cast<unsigned int>
|
||||
(fl_get_counter_value(misc_->counter_line_len));
|
||||
// Screen fonts
|
||||
lyxrc.roman_font_name = fl_get_input(screen_fonts_->input_roman);
|
||||
lyxrc.sans_font_name = fl_get_input(screen_fonts_->input_sans);
|
||||
lyxrc.typewriter_font_name = fl_get_input(screen_fonts_->
|
||||
input_typewriter);
|
||||
lyxrc.font_norm = fl_get_input(screen_fonts_->input_encoding);
|
||||
lyxrc.use_scalable_fonts =
|
||||
fl_get_button(screen_fonts_->check_scalable);
|
||||
lyxrc.zoom = static_cast<unsigned int>
|
||||
(fl_get_counter_value(screen_fonts_->counter_zoom));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_TINY] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_tiny));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_SCRIPT] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_script));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_FOOTNOTE] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_footnote));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_SMALL] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_small));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_NORMAL] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_normal));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_LARGE] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_large));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_LARGER] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_larger));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_LARGEST] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_largest));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_HUGE] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_huge));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_HUGER] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_huger));
|
||||
// interface fonts
|
||||
// Interface fonts
|
||||
lyxrc.popup_font_name =
|
||||
fl_get_input(interface_fonts_->input_popup_font);
|
||||
lyxrc.menu_font_name = fl_get_input(interface_fonts_->input_menu_font);
|
||||
lyxrc.font_norm_menu = fl_get_input(interface_fonts_->input_encoding);
|
||||
lyxrc.font_norm_menu =
|
||||
fl_get_input(interface_fonts_->input_popup_encoding);
|
||||
// Screen fonts
|
||||
if (lyxrc.roman_font_name !=
|
||||
fl_get_input(screen_fonts_->input_roman) ||
|
||||
lyxrc.sans_font_name !=
|
||||
fl_get_input(screen_fonts_->input_sans) ||
|
||||
lyxrc.typewriter_font_name !=
|
||||
fl_get_input(screen_fonts_->input_typewriter) ||
|
||||
lyxrc.font_norm !=
|
||||
fl_get_input(screen_fonts_->input_screen_encoding) ||
|
||||
lyxrc.use_scalable_fonts !=
|
||||
fl_get_button(screen_fonts_->check_scalable) ||
|
||||
lyxrc.zoom != static_cast<unsigned int>
|
||||
(fl_get_counter_value(screen_fonts_->counter_zoom)) ||
|
||||
lyxrc.font_sizes[LyXFont::SIZE_TINY] !=
|
||||
strToDbl(fl_get_input(screen_fonts_->input_tiny)) ||
|
||||
lyxrc.font_sizes[LyXFont::SIZE_SCRIPT] !=
|
||||
strToDbl(fl_get_input(screen_fonts_->input_script)) ||
|
||||
lyxrc.font_sizes[LyXFont::SIZE_FOOTNOTE] !=
|
||||
strToDbl(fl_get_input(screen_fonts_->input_footnote)) ||
|
||||
lyxrc.font_sizes[LyXFont::SIZE_SMALL] !=
|
||||
strToDbl(fl_get_input(screen_fonts_->input_small)) ||
|
||||
lyxrc.font_sizes[LyXFont::SIZE_NORMAL] !=
|
||||
strToDbl(fl_get_input(screen_fonts_->input_normal)) ||
|
||||
lyxrc.font_sizes[LyXFont::SIZE_LARGE] !=
|
||||
strToDbl(fl_get_input(screen_fonts_->input_large)) ||
|
||||
lyxrc.font_sizes[LyXFont::SIZE_LARGER] !=
|
||||
strToDbl(fl_get_input(screen_fonts_->input_larger)) ||
|
||||
lyxrc.font_sizes[LyXFont::SIZE_LARGEST] !=
|
||||
strToDbl(fl_get_input(screen_fonts_->input_largest)) ||
|
||||
lyxrc.font_sizes[LyXFont::SIZE_HUGE] !=
|
||||
strToDbl(fl_get_input(screen_fonts_->input_huge)) ||
|
||||
lyxrc.font_sizes[LyXFont::SIZE_HUGER] !=
|
||||
strToDbl(fl_get_input(screen_fonts_->input_huger))) {
|
||||
// Something has changed so copy all of them and then force
|
||||
// an update of the screen fonts (ie. redraw every buffer)
|
||||
lyxrc.roman_font_name = fl_get_input(screen_fonts_->input_roman);
|
||||
lyxrc.sans_font_name = fl_get_input(screen_fonts_->input_sans);
|
||||
lyxrc.typewriter_font_name = fl_get_input(screen_fonts_->
|
||||
input_typewriter);
|
||||
lyxrc.font_norm = fl_get_input(screen_fonts_->
|
||||
input_screen_encoding);
|
||||
lyxrc.use_scalable_fonts =
|
||||
fl_get_button(screen_fonts_->check_scalable);
|
||||
lyxrc.zoom = static_cast<unsigned int>
|
||||
(fl_get_counter_value(screen_fonts_->counter_zoom));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_TINY] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_tiny));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_SCRIPT] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_script));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_FOOTNOTE] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_footnote));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_SMALL] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_small));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_NORMAL] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_normal));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_LARGE] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_large));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_LARGER] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_larger));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_LARGEST] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_largest));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_HUGE] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_huge));
|
||||
lyxrc.font_sizes[LyXFont::SIZE_HUGER] =
|
||||
strToDbl(fl_get_input(screen_fonts_->input_huger));
|
||||
// Now update the buffers
|
||||
// Can anything below here affect the redraw process?
|
||||
lv_->getLyXFunc()->Dispatch(LFUN_SCREEN_FONT_UPDATE);
|
||||
}
|
||||
// printer
|
||||
lyxrc.print_adapt_output = fl_get_button(printer_->check_adapt_output);
|
||||
lyxrc.print_command = fl_get_input(printer_->input_command);
|
||||
@ -284,6 +343,8 @@ void FormPreferences::apply()
|
||||
lyxrc.make_backup = fl_get_button(paths_->check_make_backups);
|
||||
lyxrc.num_lastfiles = static_cast<unsigned int>
|
||||
(fl_get_counter_value(paths_->counter_lastfiles));
|
||||
|
||||
bc_->apply();
|
||||
}
|
||||
|
||||
|
||||
@ -313,7 +374,7 @@ void FormPreferences::update()
|
||||
lyxrc.sans_font_name.c_str());
|
||||
fl_set_input(screen_fonts_->input_typewriter,
|
||||
lyxrc.typewriter_font_name.c_str());
|
||||
fl_set_input(screen_fonts_->input_encoding,
|
||||
fl_set_input(screen_fonts_->input_screen_encoding,
|
||||
lyxrc.font_norm.c_str());
|
||||
fl_set_button(screen_fonts_->check_scalable,
|
||||
lyxrc.use_scalable_fonts);
|
||||
@ -344,7 +405,7 @@ void FormPreferences::update()
|
||||
lyxrc.popup_font_name.c_str());
|
||||
fl_set_input(interface_fonts_->input_menu_font,
|
||||
lyxrc.menu_font_name.c_str());
|
||||
fl_set_input(interface_fonts_->input_encoding,
|
||||
fl_set_input(interface_fonts_->input_popup_encoding,
|
||||
lyxrc.font_norm_menu.c_str());
|
||||
// printer
|
||||
fl_set_button(printer_->check_adapt_output,
|
||||
@ -406,7 +467,7 @@ void FormPreferences::update()
|
||||
}
|
||||
|
||||
|
||||
void FormPreferences::input()
|
||||
bool FormPreferences::input()
|
||||
{
|
||||
bool activate = true;
|
||||
//
|
||||
@ -440,6 +501,7 @@ void FormPreferences::input()
|
||||
|| !AbsolutePath(fl_get_input(paths_->
|
||||
input_backup_path)))))) {
|
||||
activate = false;
|
||||
lyxerr[Debug::GUI] << "Preferences: Path is wrong\n";
|
||||
}
|
||||
|
||||
// fontsizes -- tiny < script < footnote etc.
|
||||
@ -456,6 +518,7 @@ void FormPreferences::input()
|
||||
// make sure they all have positive entries
|
||||
// Also note that an empty entry is returned as 0.0 by strToDbl
|
||||
activate = false;
|
||||
lyxerr[Debug::GUI] << "Preferences: Sizes are wrong\n";
|
||||
} else if (strToDbl(fl_get_input(screen_fonts_->input_tiny)) >
|
||||
strToDbl(fl_get_input(screen_fonts_->input_script)) ||
|
||||
strToDbl(fl_get_input(screen_fonts_->input_script)) >
|
||||
@ -475,40 +538,10 @@ void FormPreferences::input()
|
||||
strToDbl(fl_get_input(screen_fonts_->input_huge)) >
|
||||
strToDbl(fl_get_input(screen_fonts_->input_huger))) {
|
||||
activate = false;
|
||||
lyxerr[Debug::GUI] << "Preferences: Sizes are wrong\n";
|
||||
}
|
||||
|
||||
//
|
||||
// You can modify the dialog and still have the buttons disabled
|
||||
status = DIALOG_MODIFIED;
|
||||
|
||||
if (status == DIALOG_MODIFIED
|
||||
&& activate) {
|
||||
fl_activate_object(dialog_->button_ok);
|
||||
fl_activate_object(dialog_->button_apply);
|
||||
fl_set_object_lcol(dialog_->button_ok, FL_BLACK);
|
||||
fl_set_object_lcol(dialog_->button_apply, FL_BLACK);
|
||||
} else {
|
||||
fl_deactivate_object(dialog_->button_ok);
|
||||
fl_deactivate_object(dialog_->button_apply);
|
||||
fl_set_object_lcol(dialog_->button_ok, FL_INACTIVE);
|
||||
fl_set_object_lcol(dialog_->button_apply, FL_INACTIVE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void FormPreferences::free()
|
||||
{
|
||||
// we don't need to delete u and h here because
|
||||
// hide() does that after disconnecting.
|
||||
if (dialog_) {
|
||||
if (dialog_->form_preferences
|
||||
&& dialog_->form_preferences->visible) {
|
||||
hide();
|
||||
}
|
||||
fl_free_form(dialog_->form_preferences);
|
||||
delete dialog_;
|
||||
dialog_ = 0;
|
||||
}
|
||||
return activate;
|
||||
}
|
||||
|
||||
|
||||
@ -527,7 +560,7 @@ void FormPreferences::OKCB(FL_OBJECT * ob, long)
|
||||
FormPreferences * pre = static_cast<FormPreferences*>(ob->form->u_vdata);
|
||||
pre->apply();
|
||||
pre->hide();
|
||||
|
||||
|
||||
pre->lv_->getLyXFunc()->Dispatch(LFUN_SAVEPREFERENCES);
|
||||
}
|
||||
|
||||
@ -549,5 +582,14 @@ void FormPreferences::CancelCB(FL_OBJECT * ob, long)
|
||||
void FormPreferences::InputCB(FL_OBJECT * ob, long)
|
||||
{
|
||||
FormPreferences * pre = static_cast<FormPreferences*>(ob->form->u_vdata);
|
||||
pre->input();
|
||||
pre->bc_->valid(pre->input());
|
||||
}
|
||||
|
||||
|
||||
void FormPreferences::RestoreCB(FL_OBJECT * ob, long)
|
||||
{
|
||||
FormPreferences * pre = static_cast<FormPreferences*>(ob->form->u_vdata);
|
||||
pre->update();
|
||||
pre->input();
|
||||
pre->bc_->undoAll();
|
||||
}
|
||||
|
@ -26,6 +26,9 @@
|
||||
|
||||
class LyXView;
|
||||
class Dialogs;
|
||||
class PreferencesPolicy;
|
||||
template <class x> class ButtonController;
|
||||
|
||||
struct FD_form_preferences;
|
||||
struct FD_form_bind;
|
||||
struct FD_form_misc;
|
||||
@ -58,6 +61,7 @@ public:
|
||||
static void ApplyCB(FL_OBJECT *, long);
|
||||
static void CancelCB(FL_OBJECT *, long);
|
||||
static void InputCB(FL_OBJECT *, long);
|
||||
static void RestoreCB(FL_OBJECT *, long);
|
||||
//@}
|
||||
|
||||
private:
|
||||
@ -75,8 +79,8 @@ private:
|
||||
//@{
|
||||
/// Apply from dialog
|
||||
void apply();
|
||||
/// Filter the inputs
|
||||
void input();
|
||||
/// Filter the inputs -- return true if entries are valid
|
||||
bool input();
|
||||
/// Build the dialog
|
||||
void build();
|
||||
///
|
||||
@ -93,8 +97,6 @@ private:
|
||||
FD_form_printer * build_printer();
|
||||
///
|
||||
FD_form_paths * build_paths();
|
||||
/// Explicitly free the dialog.
|
||||
void free();
|
||||
//@}
|
||||
|
||||
/**@name Private Data */
|
||||
@ -115,13 +117,16 @@ private:
|
||||
FD_form_paths * paths_;
|
||||
/// Which LyXView do we belong to?
|
||||
LyXView * lv_;
|
||||
///
|
||||
Dialogs * d_;
|
||||
/// Update connection.
|
||||
Connection u_;
|
||||
/// Hide connection.
|
||||
Connection h_;
|
||||
/// Overcome a dumb xforms sizing bug
|
||||
int minw_, minh_;
|
||||
///
|
||||
EnumDialogStatus status;
|
||||
ButtonController<PreferencesPolicy> * bc_;
|
||||
//@}
|
||||
};
|
||||
|
||||
|
@ -48,19 +48,49 @@ FormPrint::FormPrint(LyXView * lv, Dialogs * d)
|
||||
// let the dialog be shown
|
||||
// This is a permanent connection so we won't bother
|
||||
// storing a copy because we won't be disconnecting.
|
||||
d->showPrint.connect(slot(this,&FormPrint::show));
|
||||
d->showPrint.connect(slot(this, &FormPrint::show));
|
||||
}
|
||||
|
||||
|
||||
FormPrint::~FormPrint()
|
||||
{
|
||||
free();
|
||||
delete dialog_;
|
||||
}
|
||||
|
||||
|
||||
void FormPrint::build()
|
||||
{
|
||||
dialog_ = build_print();
|
||||
|
||||
// allow controlling of input and ok/apply (de)activation
|
||||
fl_set_input_return(dialog_->input_printer,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_file,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_from_page,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_to_page,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_count,
|
||||
FL_RETURN_CHANGED);
|
||||
|
||||
// limit these inputs to unsigned integers
|
||||
fl_set_input_filter(dialog_->input_from_page,
|
||||
fl_unsigned_int_filter);
|
||||
fl_set_input_filter(dialog_->input_to_page,
|
||||
fl_unsigned_int_filter);
|
||||
fl_set_input_filter(dialog_->input_count,
|
||||
fl_unsigned_int_filter);
|
||||
|
||||
// what limits (if any) make sense for these?
|
||||
fl_set_input_maxchars(dialog_->input_printer, 255);
|
||||
fl_set_input_maxchars(dialog_->input_file, 255);
|
||||
fl_set_input_maxchars(dialog_->input_from_page, 4); // 9999
|
||||
fl_set_input_maxchars(dialog_->input_to_page, 4); // 9999
|
||||
fl_set_input_maxchars(dialog_->input_count, 4); // 9999
|
||||
|
||||
fl_set_form_atclose(dialog_->form,
|
||||
C_FormPrintWMHideCB, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -68,46 +98,20 @@ void FormPrint::show()
|
||||
{
|
||||
if (!dialog_) {
|
||||
build();
|
||||
// allow controlling of input and ok/apply (de)activation
|
||||
fl_set_input_return(dialog_->input_printer,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_file,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_from_page,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_to_page,
|
||||
FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_count,
|
||||
FL_RETURN_CHANGED);
|
||||
|
||||
// limit these inputs to unsigned integers
|
||||
fl_set_input_filter(dialog_->input_from_page,
|
||||
fl_unsigned_int_filter);
|
||||
fl_set_input_filter(dialog_->input_to_page,
|
||||
fl_unsigned_int_filter);
|
||||
fl_set_input_filter(dialog_->input_count,
|
||||
fl_unsigned_int_filter);
|
||||
|
||||
// what limits (if any) make sense for these?
|
||||
fl_set_input_maxchars(dialog_->input_printer, 255);
|
||||
fl_set_input_maxchars(dialog_->input_file, 255);
|
||||
fl_set_input_maxchars(dialog_->input_from_page, 4); // 9999
|
||||
fl_set_input_maxchars(dialog_->input_to_page, 4); // 9999
|
||||
fl_set_input_maxchars(dialog_->input_count, 4); // 9999
|
||||
|
||||
fl_set_form_atclose(dialog_->form_print,
|
||||
C_FormPrintWMHideCB, 0);
|
||||
}
|
||||
|
||||
update(); // make sure its up-to-date
|
||||
|
||||
if (dialog_->form_print->visible) {
|
||||
fl_raise_form(dialog_->form_print);
|
||||
if (dialog_->form->visible) {
|
||||
fl_raise_form(dialog_->form);
|
||||
} else {
|
||||
fl_show_form(dialog_->form_print,
|
||||
fl_show_form(dialog_->form,
|
||||
FL_PLACE_MOUSE | FL_FREE_SIZE,
|
||||
FL_FULLBORDER,
|
||||
FL_TRANSIENT,
|
||||
_("Print"));
|
||||
fl_set_form_minsize(dialog_->form,
|
||||
dialog_->form->w,
|
||||
dialog_->form->h);
|
||||
u_ = d_->updateBufferDependent.connect(slot(this,
|
||||
&FormPrint::update));
|
||||
h_ = d_->hideBufferDependent.connect(slot(this,
|
||||
@ -119,9 +123,9 @@ void FormPrint::show()
|
||||
void FormPrint::hide()
|
||||
{
|
||||
if (dialog_
|
||||
&& dialog_->form_print
|
||||
&& dialog_->form_print->visible) {
|
||||
fl_hide_form(dialog_->form_print);
|
||||
&& dialog_->form
|
||||
&& dialog_->form->visible) {
|
||||
fl_hide_form(dialog_->form);
|
||||
u_.disconnect();
|
||||
h_.disconnect();
|
||||
}
|
||||
@ -327,22 +331,6 @@ void FormPrint::input()
|
||||
}
|
||||
|
||||
|
||||
void FormPrint::free()
|
||||
{
|
||||
// we don't need to delete u and h here because
|
||||
// hide() does that after disconnecting.
|
||||
if (dialog_) {
|
||||
if (dialog_->form_print
|
||||
&& dialog_->form_print->visible) {
|
||||
hide();
|
||||
}
|
||||
fl_free_form(dialog_->form_print);
|
||||
delete dialog_;
|
||||
dialog_ = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int FormPrint::WMHideCB(FL_FORM * form, void *)
|
||||
{
|
||||
// Ensure that the signals (u and h) are disconnected even if the
|
||||
|
@ -75,8 +75,6 @@ private:
|
||||
void build();
|
||||
///
|
||||
FD_form_print * build_print();
|
||||
/// Explicitly free the dialog.
|
||||
void free();
|
||||
//@}
|
||||
|
||||
/**@name Private Data */
|
||||
@ -85,6 +83,7 @@ private:
|
||||
FD_form_print * dialog_;
|
||||
/// Which LyXView do we belong to?
|
||||
LyXView * lv_;
|
||||
///
|
||||
Dialogs * d_;
|
||||
/// Update connection.
|
||||
Connection u_;
|
||||
|
@ -35,8 +35,7 @@ static int formw;
|
||||
static int formh;
|
||||
|
||||
FormRef::FormRef(LyXView * lv, Dialogs * d)
|
||||
: FormCommand(lv, d, _("Reference")), dialog_(0),
|
||||
toggle(GOBACK)
|
||||
: FormCommand(lv, d, _("Reference")), toggle(GOBACK), dialog_(0)
|
||||
{
|
||||
// let the dialog be shown
|
||||
// These are permanent connections so we won't bother
|
||||
@ -48,7 +47,6 @@ FormRef::FormRef(LyXView * lv, Dialogs * d)
|
||||
|
||||
FormRef::~FormRef()
|
||||
{
|
||||
free();
|
||||
delete dialog_;
|
||||
}
|
||||
|
||||
@ -93,8 +91,8 @@ void FormRef::build()
|
||||
|
||||
FL_FORM * const FormRef::form() const
|
||||
{
|
||||
if( dialog_ ) // no need to test for dialog_->form_ref
|
||||
return dialog_->form_ref;
|
||||
if ( dialog_ ) // no need to test for dialog_->form_ref
|
||||
return dialog_->form;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
@ -65,13 +65,13 @@ private:
|
||||
///
|
||||
string getName( Type type ) const;
|
||||
|
||||
/// Real GUI implementation.
|
||||
FD_form_ref * dialog_;
|
||||
|
||||
///
|
||||
Goto toggle;
|
||||
///
|
||||
std::vector<string> refs;
|
||||
|
||||
/// Real GUI implementation.
|
||||
FD_form_ref * dialog_;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -49,7 +49,14 @@ FormTabular::FormTabular(LyXView * lv, Dialogs * d)
|
||||
|
||||
FormTabular::~FormTabular()
|
||||
{
|
||||
free();
|
||||
// we don't need to disconnect u and h here because
|
||||
// their destructors do that.
|
||||
delete dialog_;
|
||||
delete tabular_options_;
|
||||
delete column_options_;
|
||||
delete cell_options_;
|
||||
delete longtable_options_;
|
||||
delete create_tabular_;
|
||||
}
|
||||
|
||||
|
||||
@ -72,15 +79,15 @@ void FormTabular::build()
|
||||
FL_RETURN_CHANGED);
|
||||
|
||||
fl_addto_tabfolder(dialog_->tabFolder, _("Tabular"),
|
||||
tabular_options_->form_tabular_options);
|
||||
tabular_options_->form);
|
||||
fl_addto_tabfolder(dialog_->tabFolder, _("Column/Row"),
|
||||
column_options_->form_column_options);
|
||||
column_options_->form);
|
||||
fl_addto_tabfolder(dialog_->tabFolder, _("Cell"),
|
||||
cell_options_->form_cell_options);
|
||||
cell_options_->form);
|
||||
fl_addto_tabfolder(dialog_->tabFolder, _("LongTable"),
|
||||
longtable_options_->form_longtable_options);
|
||||
longtable_options_->form);
|
||||
|
||||
fl_set_form_atclose(dialog_->form_tabular,
|
||||
fl_set_form_atclose(dialog_->form,
|
||||
C_FormTabularWMHideCB, 0);
|
||||
|
||||
fl_set_slider_bounds(create_tabular_->slider_rows, 1, 50);
|
||||
@ -89,7 +96,7 @@ void FormTabular::build()
|
||||
fl_set_slider_value(create_tabular_->slider_columns, 5);
|
||||
fl_set_slider_precision(create_tabular_->slider_rows, 0);
|
||||
fl_set_slider_precision(create_tabular_->slider_columns, 0);
|
||||
fl_set_form_atclose(create_tabular_->form_create_tabular,
|
||||
fl_set_form_atclose(create_tabular_->form,
|
||||
C_FormTabularWMHideCB, 0);
|
||||
}
|
||||
|
||||
@ -101,10 +108,10 @@ void FormTabular::show()
|
||||
}
|
||||
update(); // make sure its up-to-date
|
||||
|
||||
if (dialog_->form_tabular->visible) {
|
||||
fl_raise_form(dialog_->form_tabular);
|
||||
if (dialog_->form->visible) {
|
||||
fl_raise_form(dialog_->form);
|
||||
} else {
|
||||
fl_show_form(dialog_->form_tabular,
|
||||
fl_show_form(dialog_->form,
|
||||
FL_PLACE_MOUSE | FL_FREE_SIZE,
|
||||
FL_TRANSIENT,
|
||||
_("Tabular Layout"));
|
||||
@ -125,8 +132,8 @@ void FormTabular::showInset(InsetTabular * ti)
|
||||
|
||||
void FormTabular::hide()
|
||||
{
|
||||
if (dialog_ && dialog_->form_tabular && dialog_->form_tabular->visible) {
|
||||
fl_hide_form(dialog_->form_tabular);
|
||||
if (dialog_ && dialog_->form && dialog_->form->visible) {
|
||||
fl_hide_form(dialog_->form);
|
||||
u_.disconnect();
|
||||
h_.disconnect();
|
||||
inset_ = 0;
|
||||
@ -153,49 +160,12 @@ void FormTabular::update()
|
||||
void FormTabular::updateInset(InsetTabular * ti)
|
||||
{
|
||||
inset_ = ti;
|
||||
if (ti && dialog_ && dialog_->form_tabular->visible) {
|
||||
if (ti && dialog_ && dialog_->form->visible) {
|
||||
update();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void FormTabular::free()
|
||||
{
|
||||
// we don't need to delete u and h here because
|
||||
// hide() does that after disconnecting.
|
||||
if (dialog_) {
|
||||
if (dialog_->form_tabular
|
||||
&& dialog_->form_tabular->visible) {
|
||||
hide();
|
||||
}
|
||||
fl_free_form(dialog_->form_tabular);
|
||||
delete dialog_;
|
||||
dialog_ = 0;
|
||||
|
||||
fl_free_form(tabular_options_->form_tabular_options);
|
||||
delete tabular_options_;
|
||||
tabular_options_ = 0;
|
||||
|
||||
fl_free_form(column_options_->form_column_options);
|
||||
delete column_options_;
|
||||
column_options_ = 0;
|
||||
|
||||
fl_free_form(cell_options_->form_cell_options);
|
||||
delete cell_options_;
|
||||
cell_options_ = 0;
|
||||
|
||||
fl_free_form(longtable_options_->form_longtable_options);
|
||||
delete longtable_options_;
|
||||
longtable_options_ = 0;
|
||||
|
||||
hide_create();
|
||||
fl_free_form(create_tabular_->form_create_tabular);
|
||||
delete create_tabular_;
|
||||
create_tabular_ = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int FormTabular::WMHideCB(FL_FORM * form, void *)
|
||||
{
|
||||
// Ensure that the signals (u and h) are disconnected even if the
|
||||
@ -718,24 +688,16 @@ void FormTabular::show_create()
|
||||
if (!dialog_) {
|
||||
build();
|
||||
}
|
||||
if (create_tabular_->form_create_tabular->visible) {
|
||||
fl_raise_form(create_tabular_->form_create_tabular);
|
||||
if (create_tabular_->form->visible) {
|
||||
fl_raise_form(create_tabular_->form);
|
||||
} else {
|
||||
fl_show_form(create_tabular_->form_create_tabular,
|
||||
fl_show_form(create_tabular_->form,
|
||||
FL_PLACE_MOUSE | FL_FREE_SIZE,
|
||||
FL_FULLBORDER, _("Insert Tabular"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void FormTabular::hide_create()
|
||||
{
|
||||
if (create_tabular_->form_create_tabular &&
|
||||
create_tabular_->form_create_tabular->visible)
|
||||
fl_hide_form(create_tabular_->form_create_tabular);
|
||||
}
|
||||
|
||||
|
||||
void FormTabular::apply_create()
|
||||
{
|
||||
int
|
||||
@ -752,6 +714,14 @@ void FormTabular::apply_create()
|
||||
}
|
||||
|
||||
|
||||
void FormTabular::hide_create()
|
||||
{
|
||||
if (create_tabular_->form &&
|
||||
create_tabular_->form->visible)
|
||||
fl_hide_form(create_tabular_->form);
|
||||
}
|
||||
|
||||
|
||||
void FormTabular::OKCB(FL_OBJECT * ob, long)
|
||||
{
|
||||
FormTabular * pre = (FormTabular*)ob->form->u_vdata;
|
||||
|
@ -18,6 +18,8 @@
|
||||
#define FORMTABULAR_H
|
||||
|
||||
#include "DialogBase.h"
|
||||
#include "support/utility.hpp"
|
||||
|
||||
#ifdef SIGC_CXX_NAMESPACES
|
||||
using SigC::Connection;
|
||||
#endif
|
||||
@ -35,7 +37,7 @@ struct FD_form_create_tabular;
|
||||
/** This class provides an XForms implementation of the FormTabular Dialog.
|
||||
The tabular dialog allows users to set/save their tabular.
|
||||
*/
|
||||
class FormTabular : public DialogBase {
|
||||
class FormTabular : public DialogBase, public noncopyable {
|
||||
public:
|
||||
/**@name Constructors and Destructors */
|
||||
//@{
|
||||
@ -56,9 +58,6 @@ public:
|
||||
//@}
|
||||
|
||||
private:
|
||||
FormTabular() {}
|
||||
FormTabular(FormTabular &) : DialogBase() {}
|
||||
|
||||
/**@name Slot Methods */
|
||||
//@{
|
||||
/// Create the dialog if necessary, update it and display it.
|
||||
@ -95,9 +94,6 @@ private:
|
||||
FD_form_longtable_options * build_longtable_options();
|
||||
///
|
||||
FD_form_create_tabular * build_create_tabular();
|
||||
///
|
||||
/// Explicitly free the dialog.
|
||||
void free();
|
||||
//@}
|
||||
|
||||
/**@name Private Data */
|
||||
@ -114,17 +110,20 @@ private:
|
||||
FD_form_longtable_options * longtable_options_;
|
||||
///
|
||||
FD_form_create_tabular * create_tabular_;
|
||||
///
|
||||
//
|
||||
/// Which LyXView do we belong to?
|
||||
LyXView * lv_;
|
||||
///
|
||||
Dialogs * d_;
|
||||
/// Update connection.
|
||||
Connection u_;
|
||||
/// Hide connection.
|
||||
Connection h_;
|
||||
//@}
|
||||
///
|
||||
InsetTabular * inset_;
|
||||
///
|
||||
int actCell_;
|
||||
//@}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -39,7 +39,6 @@ FormToc::FormToc(LyXView * lv, Dialogs * d)
|
||||
|
||||
FormToc::~FormToc()
|
||||
{
|
||||
free();
|
||||
delete dialog_;
|
||||
}
|
||||
|
||||
@ -62,8 +61,8 @@ void FormToc::build()
|
||||
|
||||
FL_FORM * const FormToc::form() const
|
||||
{
|
||||
if( dialog_ ) // no need to test for dialog_->form_toc
|
||||
return dialog_->form_toc;
|
||||
if ( dialog_ ) // no need to test for dialog_->form
|
||||
return dialog_->form;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
@ -27,9 +27,8 @@
|
||||
#include "lyxfunc.h"
|
||||
|
||||
FormUrl::FormUrl(LyXView * lv, Dialogs * d)
|
||||
: FormCommand(lv, d, _("Url")), dialog_(0), minh(0), minw(0)
|
||||
: FormCommand(lv, d, _("Url")), minh(0), minw(0), dialog_(0)
|
||||
{
|
||||
dialog_ = 0;
|
||||
// let the dialog be shown
|
||||
// These are permanent connections so we won't bother
|
||||
// storing a copy because we won't be disconnecting.
|
||||
@ -40,7 +39,6 @@ FormUrl::FormUrl(LyXView * lv, Dialogs * d)
|
||||
|
||||
FormUrl::~FormUrl()
|
||||
{
|
||||
free();
|
||||
delete dialog_;
|
||||
}
|
||||
|
||||
@ -57,8 +55,8 @@ void FormUrl::build()
|
||||
|
||||
FL_FORM * const FormUrl::form() const
|
||||
{
|
||||
if( dialog_ ) // no need to test for dialog_->form_url
|
||||
return dialog_->form_url;
|
||||
if( dialog_ ) // no need to test for dialog_->form
|
||||
return dialog_->form;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ LYXDATADIRS = forms
|
||||
ETAGS_ARGS = --lang=c++
|
||||
# Alphabetical order please. It makes it easier to figure out what's missing.
|
||||
libxforms_la_SOURCES = \
|
||||
ButtonController.h \
|
||||
Dialogs.C \
|
||||
FormCitation.C \
|
||||
FormCitation.h \
|
||||
|
@ -8,22 +8,29 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_citation.h"
|
||||
#include "FormCitation.h"
|
||||
#include "FormCitation.h"
|
||||
|
||||
FD_form_citation::~FD_form_citation()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_citation * FormCitation::build_citation()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_citation *fdui = new FD_form_citation;
|
||||
|
||||
fdui->form_citation = fl_bgn_form(FL_NO_BOX, 430, 770);
|
||||
fdui->form_citation->u_vdata = this;
|
||||
fdui->box = obj = fl_add_box(FL_UP_BOX, 0, 0, 430, 770, "");
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 435, 665);
|
||||
fdui->form->u_vdata = this;
|
||||
fdui->box = obj = fl_add_box(FL_UP_BOX, 0, 0, 435, 665, "");
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fdui->citeBrsr = obj = fl_add_browser(FL_HOLD_BROWSER, 10, 30, 180, 370, _("Inset keys"));
|
||||
fdui->citeBrsr = obj = fl_add_browser(FL_HOLD_BROWSER, 10, 30, 180, 300, _("Inset keys"));
|
||||
fl_set_object_lalign(obj, FL_ALIGN_TOP_LEFT);
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fl_set_object_callback(obj, C_FormCommandInputCB, CITEBRSR);
|
||||
fdui->bibBrsr = obj = fl_add_browser(FL_HOLD_BROWSER, 240, 30, 180, 370, _("Bibliography keys"));
|
||||
fdui->bibBrsr = obj = fl_add_browser(FL_HOLD_BROWSER, 240, 30, 180, 300, _("Bibliography keys"));
|
||||
fl_set_object_lalign(obj, FL_ALIGN_TOP_LEFT);
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fl_set_object_callback(obj, C_FormCommandInputCB, BIBBRSR);
|
||||
@ -39,26 +46,26 @@ FD_form_citation * FormCitation::build_citation()
|
||||
fdui->downBtn = obj = fl_add_button(FL_NORMAL_BUTTON, 200, 135, 30, 30, _("@2->"));
|
||||
fl_set_object_resize(obj, FL_RESIZE_NONE);
|
||||
fl_set_object_callback(obj, C_FormCommandInputCB, DOWN);
|
||||
fdui->infoBrsr = obj = fl_add_browser(FL_NORMAL_BROWSER, 10, 440, 410, 110, _("Info"));
|
||||
fdui->infoBrsr = obj = fl_add_browser(FL_NORMAL_BROWSER, 10, 360, 410, 80, _("Info"));
|
||||
fl_set_object_lalign(obj, FL_ALIGN_TOP_LEFT);
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fdui->style = obj = fl_add_choice(FL_NORMAL_CHOICE, 160, 570, 130, 30, _("Citation style"));
|
||||
fdui->style = obj = fl_add_choice(FL_NORMAL_CHOICE, 160, 470, 130, 30, _("Citation style"));
|
||||
fl_set_object_boxtype(obj, FL_DOWN_BOX);
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fdui->textBefore = obj = fl_add_input(FL_NORMAL_INPUT, 100, 620, 250, 30, _("Text before"));
|
||||
fdui->textBefore = obj = fl_add_input(FL_NORMAL_INPUT, 100, 520, 250, 30, _("Text before"));
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fdui->textAftr = obj = fl_add_input(FL_NORMAL_INPUT, 100, 660, 250, 30, _("Text after"));
|
||||
fdui->textAftr = obj = fl_add_input(FL_NORMAL_INPUT, 100, 570, 250, 30, _("Text after"));
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fdui->ok = obj = fl_add_button(FL_RETURN_BUTTON, 230, 730, 90, 30, _("OK"));
|
||||
fdui->ok = obj = fl_add_button(FL_RETURN_BUTTON, 230, 630, 90, 30, _("OK"));
|
||||
fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast);
|
||||
fl_set_object_callback(obj, C_FormCommandOKCB, 0);
|
||||
fdui->cancel = obj = fl_add_button(FL_NORMAL_BUTTON, 330, 730, 90, 30, _("Cancel"));
|
||||
fdui->cancel = obj = fl_add_button(FL_NORMAL_BUTTON, 330, 630, 90, 30, _("Cancel"));
|
||||
fl_set_button_shortcut(obj, _("^["), 1);
|
||||
fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast);
|
||||
fl_set_object_callback(obj, C_FormCommandCancelCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_citation->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Wed Aug 2 13:56:56 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_citation_h_
|
||||
#define FD_form_citation_h_
|
||||
@ -11,8 +12,9 @@ extern "C" void C_FormCommandCancelCB(FL_OBJECT *, long);
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_citation {
|
||||
~FD_form_citation();
|
||||
|
||||
FL_FORM *form_citation;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *box;
|
||||
FL_OBJECT *citeBrsr;
|
||||
FL_OBJECT *bibBrsr;
|
||||
|
@ -8,15 +8,22 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_copyright.h"
|
||||
#include "FormCopyright.h"
|
||||
#include "FormCopyright.h"
|
||||
|
||||
FD_form_copyright::~FD_form_copyright()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_copyright * FormCopyright::build_copyright()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_copyright *fdui = new FD_form_copyright;
|
||||
|
||||
fdui->form_copyright = fl_bgn_form(FL_NO_BOX, 450, 430);
|
||||
fdui->form_copyright->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 450, 430);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 450, 430, "");
|
||||
obj = fl_add_text(FL_NORMAL_TEXT, 10, 10, 430, 50, _("LyX is Copyright (C) 1995 by Matthias Ettrich, \n1995-2000 LyX Team"));
|
||||
fl_set_object_boxtype(obj, FL_FRAME_BOX);
|
||||
@ -38,7 +45,7 @@ FD_form_copyright * FormCopyright::build_copyright()
|
||||
fl_set_object_lalign(obj, FL_ALIGN_CENTER|FL_ALIGN_INSIDE);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_copyright->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Wed Aug 2 13:56:56 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_copyright_h_
|
||||
#define FD_form_copyright_h_
|
||||
@ -9,8 +10,9 @@ extern "C" void C_FormCopyrightOKCB(FL_OBJECT *, long);
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_copyright {
|
||||
~FD_form_copyright();
|
||||
|
||||
FL_FORM *form_copyright;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *button_ok;
|
||||
};
|
||||
|
||||
|
@ -8,17 +8,24 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_document.h"
|
||||
#include "FormDocument.h"
|
||||
#include "FormDocument.h"
|
||||
#include "bmtable.h"
|
||||
#include "support/filetools.h"
|
||||
|
||||
FD_form_tabbed_document::~FD_form_tabbed_document()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_tabbed_document * FormDocument::build_tabbed_document()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_tabbed_document *fdui = new FD_form_tabbed_document;
|
||||
|
||||
fdui->form_tabbed_document = fl_bgn_form(FL_NO_BOX, 465, 450);
|
||||
fdui->form_tabbed_document->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 465, 450);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 465, 450, "");
|
||||
fdui->tabbed_folder = obj = fl_add_tabfolder(FL_TOP_TABFOLDER, 20, 15, 435, 365, _("Tabbed folder"));
|
||||
fl_set_object_resize(obj, FL_RESIZE_ALL);
|
||||
@ -37,19 +44,26 @@ FD_form_tabbed_document * FormDocument::build_tabbed_document()
|
||||
fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_tabbed_document->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_doc_paper::~FD_form_doc_paper()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_doc_paper * FormDocument::build_doc_paper()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_doc_paper *fdui = new FD_form_doc_paper;
|
||||
|
||||
fdui->form_doc_paper = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form_doc_paper->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, "");
|
||||
obj = fl_add_frame(FL_ENGRAVED_FRAME, 230, 85, 200, 100, "");
|
||||
fl_set_object_color(obj, FL_COL1, FL_COL1);
|
||||
@ -148,19 +162,26 @@ FD_form_doc_paper * FormDocument::build_doc_paper()
|
||||
fl_set_object_lstyle(obj, FL_BOLD_STYLE);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_doc_paper->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_doc_class::~FD_form_doc_class()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_doc_class * FormDocument::build_doc_class()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_doc_class *fdui = new FD_form_doc_class;
|
||||
|
||||
fdui->form_doc_class = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form_doc_class->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, "");
|
||||
obj = fl_add_labelframe(FL_ENGRAVED_FRAME, 300, 200, 120, 80, _("Separation"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
@ -240,19 +261,26 @@ FD_form_doc_class * FormDocument::build_doc_class()
|
||||
fl_set_object_callback(obj, InputCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_doc_class->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_doc_language::~FD_form_doc_language()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_doc_language * FormDocument::build_doc_language()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_doc_language *fdui = new FD_form_doc_language;
|
||||
|
||||
fdui->form_doc_language = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form_doc_language->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, "");
|
||||
obj = fl_add_labelframe(FL_ENGRAVED_FRAME, 40, 120, 290, 110, _("Quote Style "));
|
||||
fdui->choice_inputenc = obj = fl_add_choice(FL_NORMAL_CHOICE, 120, 70, 190, 30, idex(_("Encoding:|#D")));
|
||||
@ -278,19 +306,26 @@ FD_form_doc_language * FormDocument::build_doc_language()
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_doc_language->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_doc_options::~FD_form_doc_options()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_doc_options * FormDocument::build_doc_options()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_doc_options *fdui = new FD_form_doc_options;
|
||||
|
||||
fdui->form_doc_options = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form_doc_options->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, "");
|
||||
fdui->input_float_placement = obj = fl_add_input(FL_NORMAL_INPUT, 155, 60, 120, 30, idex(_("Float Placement:|#L")));
|
||||
fl_set_button_shortcut(obj, scex(_("Float Placement:|#L")), 1);
|
||||
@ -310,19 +345,26 @@ FD_form_doc_options * FormDocument::build_doc_options()
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_doc_options->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_doc_bullet::~FD_form_doc_bullet()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_doc_bullet * FormDocument::build_doc_bullet()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_doc_bullet *fdui = new FD_form_doc_bullet;
|
||||
|
||||
fdui->form_doc_bullet = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form_doc_bullet->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form->u_vdata = this;
|
||||
fl_set_border_width(-1);
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, "");
|
||||
fl_set_border_width(-3);
|
||||
@ -331,7 +373,9 @@ FD_form_doc_bullet * FormDocument::build_doc_bullet()
|
||||
fl_set_object_lcol(obj, FL_BLUE);
|
||||
fl_set_object_boxtype(obj, FL_UP_BOX);
|
||||
fl_set_bmtable_pixmap_file(obj, 6, 6,
|
||||
LibFileSearch("images", "standard.xpm").c_str());
|
||||
LibFileSearch("images",
|
||||
"standard",
|
||||
"xpm").c_str());
|
||||
fl_set_border_width(-1);
|
||||
obj = fl_add_frame(FL_ENGRAVED_FRAME, 95, 20, 255, 70, "");
|
||||
fdui->choice_bullet_size = obj = fl_add_choice(FL_NORMAL_CHOICE, 15, 45, 65, 30, idex(_("Size|#z")));
|
||||
@ -344,8 +388,6 @@ FD_form_doc_bullet * FormDocument::build_doc_bullet()
|
||||
fl_set_button_shortcut(obj, scex(_("LaTeX|#L")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_lstyle(obj, FL_FIXED_STYLE);
|
||||
fl_set_input_return(obj, FL_RETURN_CHANGED);
|
||||
fl_set_input_maxchars(obj, 80);
|
||||
fl_set_object_callback(obj, InputBulletLaTeXCB, 0);
|
||||
|
||||
fdui->radio_bullet_depth = fl_bgn_group();
|
||||
@ -408,7 +450,7 @@ FD_form_doc_bullet * FormDocument::build_doc_bullet()
|
||||
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_doc_bullet->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Fri Aug 11 15:45:35 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_tabbed_document_h_
|
||||
#define FD_form_tabbed_document_h_
|
||||
@ -22,16 +23,18 @@ extern "C" void BulletPanelCB(FL_OBJECT *, long);
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_tabbed_document {
|
||||
~FD_form_tabbed_document();
|
||||
|
||||
FL_FORM *form_tabbed_document;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *tabbed_folder;
|
||||
FL_OBJECT *button_apply;
|
||||
FL_OBJECT *button_ok;
|
||||
FL_OBJECT *text_warning;
|
||||
};
|
||||
struct FD_form_doc_paper {
|
||||
~FD_form_doc_paper();
|
||||
|
||||
FL_FORM *form_doc_paper;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *choice_paperpackage;
|
||||
FL_OBJECT *greoup_radio_orientation;
|
||||
FL_OBJECT *radio_portrait;
|
||||
@ -50,8 +53,9 @@ struct FD_form_doc_paper {
|
||||
FL_OBJECT *text_warning;
|
||||
};
|
||||
struct FD_form_doc_class {
|
||||
~FD_form_doc_class();
|
||||
|
||||
FL_FORM *form_doc_class;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *choice_doc_fonts;
|
||||
FL_OBJECT *choice_doc_fontsize;
|
||||
FL_OBJECT *choice_doc_class;
|
||||
@ -72,8 +76,9 @@ struct FD_form_doc_class {
|
||||
FL_OBJECT *input_doc_spacing;
|
||||
};
|
||||
struct FD_form_doc_language {
|
||||
~FD_form_doc_language();
|
||||
|
||||
FL_FORM *form_doc_language;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *choice_inputenc;
|
||||
FL_OBJECT *choice_quotes_language;
|
||||
FL_OBJECT *radio_single;
|
||||
@ -81,8 +86,9 @@ struct FD_form_doc_language {
|
||||
FL_OBJECT *choice_language;
|
||||
};
|
||||
struct FD_form_doc_options {
|
||||
~FD_form_doc_options();
|
||||
|
||||
FL_FORM *form_doc_options;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *input_float_placement;
|
||||
FL_OBJECT *slider_secnumdepth;
|
||||
FL_OBJECT *slider_tocdepth;
|
||||
@ -90,8 +96,9 @@ struct FD_form_doc_options {
|
||||
FL_OBJECT *check_use_amsmath;
|
||||
};
|
||||
struct FD_form_doc_bullet {
|
||||
~FD_form_doc_bullet();
|
||||
|
||||
FL_FORM *form_doc_bullet;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *bmtable_bullet_panel;
|
||||
FL_OBJECT *choice_bullet_size;
|
||||
FL_OBJECT *input_bullet_latex;
|
||||
|
@ -1,6 +1,5 @@
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
#include <config.h>
|
||||
|
||||
#include "lyx_gui_misc.h"
|
||||
#include "gettext.h"
|
||||
|
||||
@ -9,15 +8,22 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_graphics.h"
|
||||
#include "FormGraphics.h"
|
||||
#include "FormGraphics.h"
|
||||
|
||||
FD_form_graphics::~FD_form_graphics()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_graphics * FormGraphics::build_graphics()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_graphics *fdui = new FD_form_graphics;
|
||||
|
||||
fdui->form_graphics = fl_bgn_form(FL_NO_BOX, 410, 390);
|
||||
fdui->form_graphics->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 410, 390);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 410, 390, "");
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_resize(obj, FL_RESIZE_NONE);
|
||||
@ -98,8 +104,9 @@ FD_form_graphics * FormGraphics::build_graphics()
|
||||
fl_set_object_callback(obj, C_FormGraphicsInputCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_graphics->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Wed Aug 2 13:56:57 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_graphics_h_
|
||||
#define FD_form_graphics_h_
|
||||
@ -13,8 +14,9 @@ extern "C" void C_FormGraphicsCancelCB(FL_OBJECT *, long);
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_graphics {
|
||||
~FD_form_graphics();
|
||||
|
||||
FL_FORM *form_graphics;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *input_filename;
|
||||
FL_OBJECT *button_browse;
|
||||
FL_OBJECT *input_width;
|
||||
|
@ -8,15 +8,22 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_index.h"
|
||||
#include "FormIndex.h"
|
||||
#include "FormIndex.h"
|
||||
|
||||
FD_form_index::~FD_form_index()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_index * FormIndex::build_index()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_index *fdui = new FD_form_index;
|
||||
|
||||
fdui->form_index = fl_bgn_form(FL_NO_BOX, 520, 100);
|
||||
fdui->form_index->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 520, 100);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 520, 100, "");
|
||||
fdui->key = obj = fl_add_input(FL_NORMAL_INPUT, 90, 10, 420, 30, _("Keyword"));
|
||||
fl_set_input_shortcut(obj, scex(_("Keyword|#K#k")), 1);
|
||||
@ -32,7 +39,7 @@ FD_form_index * FormIndex::build_index()
|
||||
fl_set_object_callback(obj, C_FormCommandOKCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_index->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Thu Aug 3 11:33:50 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_index_h_
|
||||
#define FD_form_index_h_
|
||||
@ -10,8 +11,9 @@ extern "C" void C_FormCommandOKCB(FL_OBJECT *, long);
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_index {
|
||||
~FD_form_index();
|
||||
|
||||
FL_FORM *form_index;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *key;
|
||||
FL_OBJECT *cancel;
|
||||
FL_OBJECT *ok;
|
||||
|
@ -8,15 +8,22 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_preferences.h"
|
||||
#include "FormPreferences.h"
|
||||
#include "FormPreferences.h"
|
||||
|
||||
FD_form_bind::~FD_form_bind()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_bind * FormPreferences::build_bind()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_bind *fdui = new FD_form_bind;
|
||||
|
||||
fdui->form_bind = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form_bind->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_FLAT_BOX, 0, 0, 450, 320, "");
|
||||
fdui->input_bind = obj = fl_add_input(FL_NORMAL_INPUT, 145, 80, 190, 30, _("Bind file"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
@ -25,19 +32,26 @@ FD_form_bind * FormPreferences::build_bind()
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_bind->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_misc::~FD_form_misc()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_misc * FormPreferences::build_misc()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_misc *fdui = new FD_form_misc;
|
||||
|
||||
fdui->form_misc = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form_misc->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_FLAT_BOX, 0, 0, 450, 320, "");
|
||||
fdui->check_banner = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 20, 30, 240, 30, _("Show banner"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
@ -73,19 +87,26 @@ FD_form_misc * FormPreferences::build_misc()
|
||||
fl_set_counter_step(obj, 1, 1);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_misc->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_screen_fonts::~FD_form_screen_fonts()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_screen_fonts * FormPreferences::build_screen_fonts()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_screen_fonts *fdui = new FD_form_screen_fonts;
|
||||
|
||||
fdui->form_screen_fonts = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form_screen_fonts->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_FLAT_BOX, 0, 0, 450, 320, "");
|
||||
fdui->input_roman = obj = fl_add_input(FL_NORMAL_INPUT, 210, 5, 200, 30, _("Roman"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
@ -108,7 +129,7 @@ FD_form_screen_fonts * FormPreferences::build_screen_fonts()
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormPreferencesInputCB, 0);
|
||||
fl_set_button(obj, 1);
|
||||
fdui->input_encoding = obj = fl_add_input(FL_NORMAL_INPUT, 210, 95, 200, 30, _("Encoding"));
|
||||
fdui->input_screen_encoding = obj = fl_add_input(FL_NORMAL_INPUT, 210, 95, 200, 30, _("Encoding"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormPreferencesInputCB, 0);
|
||||
fdui->input_tiny = obj = fl_add_input(FL_FLOAT_INPUT, 140, 165, 70, 30, _("tiny"));
|
||||
@ -143,19 +164,26 @@ FD_form_screen_fonts * FormPreferences::build_screen_fonts()
|
||||
fl_set_object_callback(obj, C_FormPreferencesInputCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_screen_fonts->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_interface_fonts::~FD_form_interface_fonts()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_interface_fonts * FormPreferences::build_interface_fonts()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_interface_fonts *fdui = new FD_form_interface_fonts;
|
||||
|
||||
fdui->form_interface_fonts = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form_interface_fonts->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_FLAT_BOX, 0, 0, 450, 320, "");
|
||||
fdui->input_popup_font = obj = fl_add_input(FL_NORMAL_INPUT, 215, 50, 200, 30, _("Popup"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
@ -163,24 +191,31 @@ FD_form_interface_fonts * FormPreferences::build_interface_fonts()
|
||||
fdui->input_menu_font = obj = fl_add_input(FL_NORMAL_INPUT, 215, 80, 200, 30, _("Menu"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormPreferencesInputCB, 0);
|
||||
fdui->input_encoding = obj = fl_add_input(FL_NORMAL_INPUT, 215, 110, 200, 30, _("Encoding"));
|
||||
fdui->input_popup_encoding = obj = fl_add_input(FL_NORMAL_INPUT, 215, 110, 200, 30, _("Encoding"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormPreferencesInputCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_interface_fonts->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_printer::~FD_form_printer()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_printer * FormPreferences::build_printer()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_printer *fdui = new FD_form_printer;
|
||||
|
||||
fdui->form_printer = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form_printer->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_FLAT_BOX, 0, 0, 450, 320, "");
|
||||
fdui->input_command = obj = fl_add_input(FL_NORMAL_INPUT, 130, 60, 80, 30, _("command"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
@ -238,19 +273,26 @@ FD_form_printer * FormPreferences::build_printer()
|
||||
fl_set_object_callback(obj, C_FormPreferencesInputCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_printer->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_paths::~FD_form_paths()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_paths * FormPreferences::build_paths()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_paths *fdui = new FD_form_paths;
|
||||
|
||||
fdui->form_paths = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form_paths->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 450, 320);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_FLAT_BOX, 0, 0, 450, 320, "");
|
||||
fdui->input_default_path = obj = fl_add_input(FL_NORMAL_INPUT, 170, 10, 170, 30, _("Default path"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
@ -300,36 +342,47 @@ FD_form_paths * FormPreferences::build_paths()
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_paths->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_preferences::~FD_form_preferences()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_preferences * FormPreferences::build_preferences()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_preferences *fdui = new FD_form_preferences;
|
||||
|
||||
fdui->form_preferences = fl_bgn_form(FL_NO_BOX, 460, 435);
|
||||
fdui->form_preferences->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 460, 435, "");
|
||||
fdui->button_apply = obj = fl_add_button(FL_NORMAL_BUTTON, 250, 395, 90, 30, idex(_("Apply|#A")));
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 475, 435);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 475, 435, "");
|
||||
fdui->button_apply = obj = fl_add_button(FL_NORMAL_BUTTON, 275, 395, 90, 30, idex(_("Apply|#A")));
|
||||
fl_set_button_shortcut(obj, scex(_("Apply|#A")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormPreferencesApplyCB, 0);
|
||||
fdui->button_cancel = obj = fl_add_button(FL_NORMAL_BUTTON, 350, 395, 90, 30, idex(_("Cancel|^[")));
|
||||
fdui->button_cancel = obj = fl_add_button(FL_NORMAL_BUTTON, 375, 395, 90, 30, idex(_("Cancel|^[")));
|
||||
fl_set_button_shortcut(obj, scex(_("Cancel|^[")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormPreferencesCancelCB, 0);
|
||||
fdui->button_ok = obj = fl_add_button(FL_RETURN_BUTTON, 150, 395, 90, 30, _("Ok"));
|
||||
fdui->button_ok = obj = fl_add_button(FL_RETURN_BUTTON, 175, 395, 90, 30, _("Ok"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormPreferencesOKCB, 0);
|
||||
fdui->tabfolder_prefs = obj = fl_add_tabfolder(FL_TOP_TABFOLDER, 5, 5, 450, 385, "");
|
||||
fl_set_object_boxtype(obj, FL_FLAT_BOX);
|
||||
fdui->button_restore = obj = fl_add_button(FL_NORMAL_BUTTON, 10, 395, 90, 30, idex(_("Restore|#R")));
|
||||
fl_set_button_shortcut(obj, scex(_("Restore|#R")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormPreferencesRestoreCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_preferences->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Wed Aug 2 13:56:57 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_bind_h_
|
||||
#define FD_form_bind_h_
|
||||
@ -19,18 +20,21 @@ extern "C" void C_FormPreferencesInputCB(FL_OBJECT *, long);
|
||||
extern "C" void C_FormPreferencesApplyCB(FL_OBJECT *, long);
|
||||
extern "C" void C_FormPreferencesCancelCB(FL_OBJECT *, long);
|
||||
extern "C" void C_FormPreferencesOKCB(FL_OBJECT *, long);
|
||||
extern "C" void C_FormPreferencesRestoreCB(FL_OBJECT *, long);
|
||||
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_bind {
|
||||
~FD_form_bind();
|
||||
|
||||
FL_FORM *form_bind;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *input_bind;
|
||||
FL_OBJECT *button_bind_file_browse;
|
||||
};
|
||||
struct FD_form_misc {
|
||||
~FD_form_misc();
|
||||
|
||||
FL_FORM *form_misc;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *check_banner;
|
||||
FL_OBJECT *check_auto_region_delete;
|
||||
FL_OBJECT *check_exit_confirm;
|
||||
@ -39,14 +43,15 @@ struct FD_form_misc {
|
||||
FL_OBJECT *counter_line_len;
|
||||
};
|
||||
struct FD_form_screen_fonts {
|
||||
~FD_form_screen_fonts();
|
||||
|
||||
FL_FORM *form_screen_fonts;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *input_roman;
|
||||
FL_OBJECT *input_sans;
|
||||
FL_OBJECT *input_typewriter;
|
||||
FL_OBJECT *counter_zoom;
|
||||
FL_OBJECT *check_scalable;
|
||||
FL_OBJECT *input_encoding;
|
||||
FL_OBJECT *input_screen_encoding;
|
||||
FL_OBJECT *input_tiny;
|
||||
FL_OBJECT *input_script;
|
||||
FL_OBJECT *input_footnote;
|
||||
@ -59,15 +64,17 @@ struct FD_form_screen_fonts {
|
||||
FL_OBJECT *input_huger;
|
||||
};
|
||||
struct FD_form_interface_fonts {
|
||||
~FD_form_interface_fonts();
|
||||
|
||||
FL_FORM *form_interface_fonts;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *input_popup_font;
|
||||
FL_OBJECT *input_menu_font;
|
||||
FL_OBJECT *input_encoding;
|
||||
FL_OBJECT *input_popup_encoding;
|
||||
};
|
||||
struct FD_form_printer {
|
||||
~FD_form_printer();
|
||||
|
||||
FL_FORM *form_printer;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *input_command;
|
||||
FL_OBJECT *input_page_range;
|
||||
FL_OBJECT *input_copies;
|
||||
@ -88,8 +95,9 @@ struct FD_form_printer {
|
||||
FL_OBJECT *check_adapt_output;
|
||||
};
|
||||
struct FD_form_paths {
|
||||
~FD_form_paths();
|
||||
|
||||
FL_FORM *form_paths;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *input_default_path;
|
||||
FL_OBJECT *button_document_browse;
|
||||
FL_OBJECT *counter_lastfiles;
|
||||
@ -106,12 +114,14 @@ struct FD_form_paths {
|
||||
FL_OBJECT *button_backup_path_browse;
|
||||
};
|
||||
struct FD_form_preferences {
|
||||
~FD_form_preferences();
|
||||
|
||||
FL_FORM *form_preferences;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *button_apply;
|
||||
FL_OBJECT *button_cancel;
|
||||
FL_OBJECT *button_ok;
|
||||
FL_OBJECT *tabfolder_prefs;
|
||||
FL_OBJECT *button_restore;
|
||||
};
|
||||
|
||||
#endif /* FD_form_bind_h_ */
|
||||
|
@ -8,15 +8,22 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_print.h"
|
||||
#include "FormPrint.h"
|
||||
#include "FormPrint.h"
|
||||
|
||||
FD_form_print::~FD_form_print()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_print * FormPrint::build_print()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_print *fdui = new FD_form_print;
|
||||
|
||||
fdui->form_print = fl_bgn_form(FL_NO_BOX, 340, 360);
|
||||
fdui->form_print->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 340, 360);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 340, 360, "");
|
||||
obj = fl_add_frame(FL_ENGRAVED_FRAME, 10, 215, 320, 90, "");
|
||||
fl_set_object_color(obj, FL_COL1, FL_COL1);
|
||||
@ -115,7 +122,7 @@ FD_form_print * FormPrint::build_print()
|
||||
fl_set_object_callback(obj, C_FormPrintInputCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_print->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Wed Aug 2 13:56:57 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_print_h_
|
||||
#define FD_form_print_h_
|
||||
@ -12,8 +13,9 @@ extern "C" void C_FormPrintCancelCB(FL_OBJECT *, long);
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_print {
|
||||
~FD_form_print();
|
||||
|
||||
FL_FORM *form_print;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *input_printer;
|
||||
FL_OBJECT *input_file;
|
||||
FL_OBJECT *group_radio_printto;
|
||||
|
@ -8,15 +8,22 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_ref.h"
|
||||
#include "FormRef.h"
|
||||
#include "FormRef.h"
|
||||
|
||||
FD_form_ref::~FD_form_ref()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_ref * FormRef::build_ref()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_ref *fdui = new FD_form_ref;
|
||||
|
||||
fdui->form_ref = fl_bgn_form(FL_NO_BOX, 530, 340);
|
||||
fdui->form_ref->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 530, 340);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 530, 340, "");
|
||||
fdui->browser = obj = fl_add_browser(FL_HOLD_BROWSER, 10, 10, 270, 280, "");
|
||||
fl_set_object_gravity(obj, FL_NorthWest, FL_NoGravity);
|
||||
@ -52,7 +59,7 @@ FD_form_ref * FormRef::build_ref()
|
||||
fl_set_object_callback(obj, C_FormCommandCancelCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_ref->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Mon Aug 7 17:11:47 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_ref_h_
|
||||
#define FD_form_ref_h_
|
||||
@ -11,8 +12,9 @@ extern "C" void C_FormCommandCancelCB(FL_OBJECT *, long);
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_ref {
|
||||
~FD_form_ref();
|
||||
|
||||
FL_FORM *form_ref;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *browser;
|
||||
FL_OBJECT *update;
|
||||
FL_OBJECT *sort;
|
||||
|
@ -8,15 +8,22 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_tabular.h"
|
||||
#include "FormTabular.h"
|
||||
#include "FormTabular.h"
|
||||
|
||||
FD_form_tabular::~FD_form_tabular()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_tabular * FormTabular::build_tabular()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_tabular *fdui = new FD_form_tabular;
|
||||
|
||||
fdui->form_tabular = fl_bgn_form(FL_NO_BOX, 510, 295);
|
||||
fdui->form_tabular->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 510, 295);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_FLAT_BOX, 0, 0, 510, 295, "");
|
||||
fdui->tabFolder = obj = fl_add_tabfolder(FL_TOP_TABFOLDER, 0, 0, 505, 250, _("Tabbed folder"));
|
||||
fl_set_object_resize(obj, FL_RESIZE_ALL);
|
||||
@ -36,19 +43,26 @@ FD_form_tabular * FormTabular::build_tabular()
|
||||
fl_set_object_lstyle(obj, FL_BOLD_STYLE);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_tabular->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_tabular_options::~FD_form_tabular_options()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_tabular_options * FormTabular::build_tabular_options()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_tabular_options *fdui = new FD_form_tabular_options;
|
||||
|
||||
fdui->form_tabular_options = fl_bgn_form(FL_NO_BOX, 505, 227);
|
||||
fdui->form_tabular_options->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 505, 227);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 505, 227, "");
|
||||
obj = fl_add_frame(FL_ENGRAVED_FRAME, 280, 20, 120, 75, "");
|
||||
fl_set_object_color(obj, FL_COL1, FL_COL1);
|
||||
@ -87,19 +101,26 @@ FD_form_tabular_options * FormTabular::build_tabular_options()
|
||||
fl_set_object_lstyle(obj, FL_BOLD_STYLE);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_tabular_options->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_column_options::~FD_form_column_options()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_column_options * FormTabular::build_column_options()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_column_options *fdui = new FD_form_column_options;
|
||||
|
||||
fdui->form_column_options = fl_bgn_form(FL_NO_BOX, 505, 227);
|
||||
fdui->form_column_options->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 505, 227);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 505, 227, "");
|
||||
obj = fl_add_frame(FL_ENGRAVED_FRAME, 20, 20, 170, 105, "");
|
||||
fl_set_object_color(obj, FL_COL1, FL_COL1);
|
||||
@ -179,19 +200,26 @@ FD_form_column_options * FormTabular::build_column_options()
|
||||
fl_set_object_callback(obj, C_FormTabularInputCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_column_options->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_cell_options::~FD_form_cell_options()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_cell_options * FormTabular::build_cell_options()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_cell_options *fdui = new FD_form_cell_options;
|
||||
|
||||
fdui->form_cell_options = fl_bgn_form(FL_NO_BOX, 505, 227);
|
||||
fdui->form_cell_options->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 505, 227);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 505, 227, "");
|
||||
obj = fl_add_frame(FL_ENGRAVED_FRAME, 335, 115, 155, 100, "");
|
||||
obj = fl_add_frame(FL_ENGRAVED_FRAME, 10, 115, 180, 100, "");
|
||||
@ -283,19 +311,26 @@ FD_form_cell_options * FormTabular::build_cell_options()
|
||||
fl_set_object_callback(obj, C_FormTabularInputCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_cell_options->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_longtable_options::~FD_form_longtable_options()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_longtable_options * FormTabular::build_longtable_options()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_longtable_options *fdui = new FD_form_longtable_options;
|
||||
|
||||
fdui->form_longtable_options = fl_bgn_form(FL_NO_BOX, 505, 227);
|
||||
fdui->form_longtable_options->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 505, 227);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 505, 227, "");
|
||||
obj = fl_add_frame(FL_ENGRAVED_FRAME, 10, 20, 100, 75, "");
|
||||
obj = fl_add_text(FL_NORMAL_TEXT, 15, 10, 85, 20, _("Header"));
|
||||
@ -324,19 +359,26 @@ FD_form_longtable_options * FormTabular::build_longtable_options()
|
||||
fl_set_object_callback(obj, C_FormTabularInputCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_longtable_options->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_create_tabular::~FD_form_create_tabular()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_create_tabular * FormTabular::build_create_tabular()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_create_tabular *fdui = new FD_form_create_tabular;
|
||||
|
||||
fdui->form_create_tabular = fl_bgn_form(FL_NO_BOX, 310, 130);
|
||||
fdui->form_create_tabular->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 310, 130);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 310, 130, "");
|
||||
fdui->button_ok = obj = fl_add_button(FL_RETURN_BUTTON, 10, 90, 90, 30, _("OK"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
@ -359,7 +401,7 @@ FD_form_create_tabular * FormTabular::build_create_tabular()
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_create_tabular->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Tue Aug 1 15:15:57 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_tabular_h_
|
||||
#define FD_form_tabular_h_
|
||||
@ -21,8 +22,9 @@ extern "C" void C_FormTabularCancelCB(FL_OBJECT *, long);
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_tabular {
|
||||
~FD_form_tabular();
|
||||
|
||||
FL_FORM *form_tabular;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *tabFolder;
|
||||
FL_OBJECT *button_close;
|
||||
FL_OBJECT *input_tabular_column;
|
||||
@ -30,8 +32,9 @@ struct FD_form_tabular {
|
||||
FL_OBJECT *text_warning;
|
||||
};
|
||||
struct FD_form_tabular_options {
|
||||
~FD_form_tabular_options();
|
||||
|
||||
FL_FORM *form_tabular_options;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *button_append_column;
|
||||
FL_OBJECT *button_delete_column;
|
||||
FL_OBJECT *button_append_row;
|
||||
@ -42,8 +45,9 @@ struct FD_form_tabular_options {
|
||||
FL_OBJECT *radio_rotate_tabular;
|
||||
};
|
||||
struct FD_form_column_options {
|
||||
~FD_form_column_options();
|
||||
|
||||
FL_FORM *form_column_options;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *radio_border_top;
|
||||
FL_OBJECT *radio_border_bottom;
|
||||
FL_OBJECT *radio_border_left;
|
||||
@ -58,8 +62,9 @@ struct FD_form_column_options {
|
||||
FL_OBJECT *radio_valign_bottom;
|
||||
};
|
||||
struct FD_form_cell_options {
|
||||
~FD_form_cell_options();
|
||||
|
||||
FL_FORM *form_cell_options;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *radio_multicolumn;
|
||||
FL_OBJECT *radio_rotate_cell;
|
||||
FL_OBJECT *input_special_multialign;
|
||||
@ -77,8 +82,9 @@ struct FD_form_cell_options {
|
||||
FL_OBJECT *radio_useminipage;
|
||||
};
|
||||
struct FD_form_longtable_options {
|
||||
~FD_form_longtable_options();
|
||||
|
||||
FL_FORM *form_longtable_options;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *radio_lt_firsthead;
|
||||
FL_OBJECT *radio_lt_head;
|
||||
FL_OBJECT *radio_lt_foot;
|
||||
@ -86,8 +92,9 @@ struct FD_form_longtable_options {
|
||||
FL_OBJECT *radio_lt_newpage;
|
||||
};
|
||||
struct FD_form_create_tabular {
|
||||
~FD_form_create_tabular();
|
||||
|
||||
FL_FORM *form_create_tabular;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *button_ok;
|
||||
FL_OBJECT *button_apply;
|
||||
FL_OBJECT *button_cancel;
|
||||
|
@ -8,15 +8,22 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_toc.h"
|
||||
#include "FormToc.h"
|
||||
#include "FormToc.h"
|
||||
|
||||
FD_form_toc::~FD_form_toc()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_toc * FormToc::build_toc()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_toc *fdui = new FD_form_toc;
|
||||
|
||||
fdui->form_toc = fl_bgn_form(FL_NO_BOX, 420, 340);
|
||||
fdui->form_toc->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 420, 340);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 420, 340, "");
|
||||
fdui->browser = obj = fl_add_browser(FL_HOLD_BROWSER, 10, 10, 400, 280, "");
|
||||
fl_set_object_gravity(obj, FL_NorthWest, FL_SouthEast);
|
||||
@ -37,7 +44,7 @@ FD_form_toc * FormToc::build_toc()
|
||||
fl_set_object_callback(obj, C_FormCommandApplyCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_toc->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Wed Aug 2 13:56:57 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_toc_h_
|
||||
#define FD_form_toc_h_
|
||||
@ -10,8 +11,9 @@ extern "C" void C_FormCommandCancelCB(FL_OBJECT *, long);
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_toc {
|
||||
~FD_form_toc();
|
||||
|
||||
FL_FORM *form_toc;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *browser;
|
||||
FL_OBJECT *type;
|
||||
};
|
||||
|
@ -8,15 +8,22 @@
|
||||
#include FORMS_H_LOCATION
|
||||
#include <stdlib.h>
|
||||
#include "form_url.h"
|
||||
#include "FormUrl.h"
|
||||
#include "FormUrl.h"
|
||||
|
||||
FD_form_url::~FD_form_url()
|
||||
{
|
||||
if( form->visible ) fl_hide_form( form );
|
||||
fl_free_form( form );
|
||||
}
|
||||
|
||||
|
||||
FD_form_url * FormUrl::build_url()
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_url *fdui = new FD_form_url;
|
||||
|
||||
fdui->form_url = fl_bgn_form(FL_NO_BOX, 520, 140);
|
||||
fdui->form_url->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 520, 140);
|
||||
fdui->form->u_vdata = this;
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 520, 140, "");
|
||||
fdui->url = obj = fl_add_input(FL_NORMAL_INPUT, 70, 20, 440, 30, _("URL"));
|
||||
fl_set_input_shortcut(obj, scex(_("Url|#U")), 1);
|
||||
@ -43,7 +50,7 @@ FD_form_url * FormUrl::build_url()
|
||||
fl_set_object_callback(obj, C_FormCommandOKCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
fdui->form_url->fdui = fdui;
|
||||
fdui->form->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
/** Header file generated with fdesign on Wed Aug 2 13:56:57 2000.**/
|
||||
// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_url_h_
|
||||
#define FD_form_url_h_
|
||||
@ -10,8 +11,9 @@ extern "C" void C_FormCommandOKCB(FL_OBJECT *, long);
|
||||
|
||||
/**** Forms and Objects ****/
|
||||
struct FD_form_url {
|
||||
~FD_form_url();
|
||||
|
||||
FL_FORM *form_url;
|
||||
FL_FORM *form;
|
||||
FL_OBJECT *url;
|
||||
FL_OBJECT *name;
|
||||
FL_OBJECT *radio_html;
|
||||
|
@ -3,109 +3,58 @@
|
||||
# NOTE: This is NOT the same fdfix.sh as in ${top_srcdir}/forms
|
||||
# It is a modified version to suit use for gui-indep.
|
||||
#
|
||||
if [ "$1" = "$2" ]; then
|
||||
echo "Input and Output file can not be the same."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f $2 ]; then
|
||||
echo "Output file already exists, overwrite?"
|
||||
read
|
||||
if [ "$REPLY" != "y" ]; then
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f $1 ]; then
|
||||
echo "Input file does not exist, can not continue"
|
||||
echo "Input file does not exist. Cannot continue"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# If there is a patch for the inputfile patch the input file with it.
|
||||
if [ -f "$1.patch" ]; then
|
||||
echo "Patching $1 with $1.patch"
|
||||
patch -s $1 < "$1.patch"
|
||||
FDESIGN=fdesign
|
||||
base=`basename $1 .fd`
|
||||
|
||||
if [ $1 = $base ]; then
|
||||
echo "Input file is not a .fd file. Cannot continue"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext" > $2
|
||||
echo "#include <config.h>" >> $2
|
||||
echo "#include \"lyx_gui_misc.h\"" >> $2
|
||||
echo "#include \"gettext.h\"" >> $2
|
||||
echo >> $2
|
||||
cin=$base.c
|
||||
cout=$base.C
|
||||
hin=$base.h
|
||||
hout=$base.H
|
||||
|
||||
# The commands to sed does this:
|
||||
#
|
||||
# -e 's/#include \"forms\.h\"/#include FORMS_H_LOCATION/'
|
||||
#
|
||||
# Replace "forms.h" by FORMS_H_LOCATION in #include directives. This
|
||||
# macro is defined in config.h and is either <forms.h> or
|
||||
# <X11/forms.h>.
|
||||
#
|
||||
# -e "/#include \"form_.*\"/a\\
|
||||
# #include \"$classname.h\" "
|
||||
#
|
||||
# For all lines containing "#include "form_*"", append a line
|
||||
# containing the header file of the parent class
|
||||
#
|
||||
# -e '/fl_/ s/".[^|]*"/_(&)/'
|
||||
#
|
||||
# For all lines containing "fl_" and a string _not_ containing |,
|
||||
# replace the string with _(string)
|
||||
#
|
||||
# -e '/shortcut/ s/".*[|].*"/scex(_(&))/'
|
||||
#
|
||||
# For all lines containing "shortcut" and a string containing |, replace
|
||||
# the string with scex(_(string))
|
||||
#
|
||||
# -e '/fl_add/ s/".*[|].*"/idex(_(&))/'
|
||||
#
|
||||
# For all lines containing "fl_add" and a string containing |, replace
|
||||
# the string with idex(_(string))
|
||||
#
|
||||
# -e '/fl_add/ s/idex("\(.*\)").*$/&\
|
||||
# fl_set_button_shortcut(obj,"\1",1);/'
|
||||
#
|
||||
# For all lines containing "fl_add" and a string containing |, add the
|
||||
# shortcut command after the end of this line
|
||||
#
|
||||
# -e 's/\(\(FD_[^ ]*\) \*fdui =\).*sizeof(\*fdui))/\1 new \2/'
|
||||
#
|
||||
# We use new/delete not malloc/free so change to suit.
|
||||
#
|
||||
# -e "s/\(FD_f\([^ _]*\)_\([^ ]*\)\) \*create_form_form[^ ]*/\1 * $classname::build_\3()/"
|
||||
#
|
||||
# Fixup the name of the create_form... function to have a signature matching
|
||||
# that of the method it will become.
|
||||
#
|
||||
# -e 's/\(fdui->form[^ ]*\)\(.*bgn_form.*\)/\1\2\
|
||||
# \1->u_vdata = this;/' \
|
||||
#
|
||||
# We need to store a pointer to the dialog in u_vdata so that the callbacks
|
||||
# will work.
|
||||
#
|
||||
# -e 's/,\([^ ]\)/, \1/g'
|
||||
#
|
||||
# Someone got busy and put spaces in after commas but didn't allow for the
|
||||
# autogeneration of the files so their pretty formatting got lost. Not anymore.
|
||||
#
|
||||
|
||||
classname=`basename $1 .c | cut -c6-`
|
||||
classname=`echo $base | cut -c6-`
|
||||
firstchar=`echo $classname | cut -c1 | tr a-z A-Z`
|
||||
rest=`echo $classname | cut -c2-`
|
||||
classname=Form$firstchar$rest
|
||||
export classname
|
||||
|
||||
cat $1 | sed \
|
||||
-e 's/#include \"forms\.h\"/#include FORMS_H_LOCATION/' \
|
||||
-e "/#include \"form_.*\"/a\\
|
||||
#include \"$classname.h\" " \
|
||||
-e '/fl_/ s/".[^|]*"/_(&)/' \
|
||||
-e '/shortcut/ s/".*[|].*"/scex(_(&))/' \
|
||||
-e '/fl_add/ s/".*[|].*"/idex(_(&))/' \
|
||||
-e '/fl_add/ s/idex(\(.*\)").*$/&\
|
||||
fl_set_button_shortcut(obj,scex(\1")),1);/' \
|
||||
-e 's/\(\(FD_[^ ]*\) \*fdui =\).*sizeof(\*fdui))/\1 new \2/' \
|
||||
-e "s/\(FD_f\([^ _]*\)_\([^ ]*\)\) \*create_form_form[^ ]*/\1 * $classname::build_\3()/" \
|
||||
-e 's/\(fdui->form[^ ]*\)\(.*bgn_form.*\)/\1\2\
|
||||
\1->u_vdata = this;/' \
|
||||
-e 's/,\([^ ]\)/, \1/g' >> $2
|
||||
# Create .c and .h files
|
||||
$FDESIGN -convert $1
|
||||
|
||||
# Modify .h file for use by LyX
|
||||
echo "// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext" > $hout
|
||||
sed -f fdfixh.sed < $hin >> $hout
|
||||
|
||||
# Patch the .h file if a patch exists
|
||||
if [ -f "$hout.patch" ] ; then
|
||||
echo "Patching $hout with $hout.patch"
|
||||
patch -s $hout < $hout.patch
|
||||
fi
|
||||
|
||||
# Modify .c file for use by LyX
|
||||
echo "// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext" > $cout
|
||||
echo "#include <config.h>" >> $cout
|
||||
echo "#include \"lyx_gui_misc.h\"" >> $cout
|
||||
echo "#include \"gettext.h\"" >> $cout
|
||||
echo >> $cout
|
||||
|
||||
sed -f fdfixc.sed < $cin | sed -e "s/CLASSNAME/$classname/" >> $cout
|
||||
|
||||
# Patch the .C file if a patch exists
|
||||
if [ -f "$cout.patch" ] ; then
|
||||
echo "Patching $cout with $cout.patch"
|
||||
patch -s $cout < $cout.patch
|
||||
fi
|
||||
|
||||
# Clean up, to leave .C and .h files
|
||||
rm -f $cin $hin
|
||||
mv $hout $hin
|
||||
|
78
src/frontends/xforms/forms/fdfixc.sed
Normal file
78
src/frontends/xforms/forms/fdfixc.sed
Normal file
@ -0,0 +1,78 @@
|
||||
# Can't seem to input $classname!
|
||||
# CLASSNAME will be swapped for the true classname later
|
||||
|
||||
# Create the destructor.
|
||||
/\(.*\) *create_form_form/{
|
||||
h
|
||||
s/\(.*\) \*create_form_form[^ ]*/\1::~\1()/p
|
||||
/\(.*\)::~\(.*\)()/{
|
||||
i\
|
||||
{\
|
||||
if( form->visible ) fl_hide_form( form );\
|
||||
fl_free_form( form );\
|
||||
}\
|
||||
\
|
||||
|
||||
}
|
||||
x
|
||||
}
|
||||
|
||||
# Rewrite "fdui->form_xxx->fdui = ..." as "fdui->form->fdui = ..."
|
||||
s/fdui->form_\([^ ]*\)->fdui =/fdui->form->fdui =/
|
||||
|
||||
# Rewrite "fdui->form_xxx = ..." as "fdui->form = ..."
|
||||
s/fdui->form_\([^ ]*\) =/fdui->form =/
|
||||
|
||||
# Rewrite "fdui->form_xxx->..." as "fdui->form->..."
|
||||
s/fdui->form_\([^ ]*\)->/fdui->form->/
|
||||
|
||||
# Replace "forms.h" by FORMS_H_LOCATION in #include directives. This
|
||||
# macro is defined in config.h and is either <forms.h> or
|
||||
# <X11/forms.h>.
|
||||
s/#include \"forms\.h\"/#include FORMS_H_LOCATION/
|
||||
|
||||
# For all lines containing "#include "form_*"", append a line
|
||||
# containing the header file of the parent class
|
||||
/#include \"form_.*\"/a\
|
||||
#include \"CLASSNAME.h\"
|
||||
|
||||
# For all lines containing "fl_" and a string _not_ containing |,
|
||||
# replace the string with _(string)
|
||||
/fl_/ s/".[^|]*"/_(&)/
|
||||
|
||||
# For all lines containing "shortcut" and a string containing |,
|
||||
# replace the string with scex(_(string))
|
||||
/shortcut/ s/".*[|].*"/scex(_(&))/
|
||||
|
||||
|
||||
# For all lines containing "fl_add" and a string containing |, replace
|
||||
# the string with idex(_(string))
|
||||
/fl_add/ s/".*[|].*"/idex(_(&))/
|
||||
|
||||
# For all lines containing "fl_add" and a string containing |, add the
|
||||
# shortcut command after the end of this line
|
||||
/fl_add/ s/idex(\(.*\)").*$/&\
|
||||
fl_set_button_shortcut(obj,scex(\1")),1);/
|
||||
|
||||
# We use new/delete not malloc/free so change to suit.
|
||||
s/\(\(FD_[^ ]*\) \*fdui =\).*sizeof(\*fdui))/\1 new \2/
|
||||
|
||||
# Fixup the name of the create_form... function to have a signature
|
||||
# matching that of the method it will become.
|
||||
s/\(FD_f\([^ _]*\)_\([^ ]*\)\) \*create_form_form[^ ]*/\1 * CLASSNAME::build_\3()/
|
||||
|
||||
# We need to store a pointer to the dialog in u_vdata so that the
|
||||
# callbacks will work.
|
||||
s/\(fdui->form\)\(.*bgn_form.*\)/\1\2\
|
||||
\1->u_vdata = this;/
|
||||
|
||||
# Someone got busy and put spaces in after commas but didn't allow for the
|
||||
# autogeneration of the files so their pretty formatting got lost. Not anymore.
|
||||
#
|
||||
s/,\([^ ]\)/, \1/g
|
||||
|
||||
# Clean up one special case where a comma appears at the end of a string
|
||||
# while ensuring "...", "..." isn't affected.
|
||||
#
|
||||
s/\("[^"]+,\) \("\)/\1\2/g
|
||||
|
@ -1,52 +1,61 @@
|
||||
# cat someFile.h | sed -f fdfixh.sed
|
||||
|
||||
# sed -f fdfixh.sed < somefile.h > fixedfile.h
|
||||
#
|
||||
# It contains the instructions that sed requires to manipulate
|
||||
# the header files produced by fdesign into a form usable by LyX
|
||||
|
||||
# In summary it...
|
||||
|
||||
# s/\(extern \)\(.*\)/\1 "C" \2/
|
||||
s/\(extern \)\(.*\)/\1 "C" \2/
|
||||
#
|
||||
# Replaces lines such as "extern void func(args);"
|
||||
# with "extern "C" void func(args);"
|
||||
|
||||
# /create_form_/d
|
||||
/create_form_/d
|
||||
#
|
||||
# Deletes lines containing "/create_form_/d"
|
||||
# Deletes lines containing "create_form_"
|
||||
|
||||
# Rewrites as
|
||||
# typedef struct { struct someStruct {
|
||||
# ... ...
|
||||
# void *vdata; ...
|
||||
# char *cdata; };
|
||||
# long ldata;
|
||||
# ...
|
||||
# } someStruct;
|
||||
s,\(generated with fdesign\)\(.*\)\(\*\*/\),\1 \3,
|
||||
#
|
||||
# Deletes the dated signature so we can rebuild everything as often
|
||||
# as we want without silly clashes due to the date.
|
||||
|
||||
# Rewrites as
|
||||
# typedef struct { struct FD_form_xxx {
|
||||
# FL_FORM *form_xxx; ~FD_form_xxx();
|
||||
# void *vdata;
|
||||
# char *cdata; FL_FORM *form;
|
||||
# long ldata; ...
|
||||
# ... }
|
||||
# } FD_form_xxx;
|
||||
#
|
||||
# This is detailed more closely below
|
||||
|
||||
s/\(extern \)\(.*\)/\1 "C" \2/
|
||||
/create_form_/d
|
||||
#Manipulate the struct
|
||||
#=====================
|
||||
/typedef struct {/,/} .*;/{
|
||||
|
||||
/typedef struct {/,/} .*;/{
|
||||
# delete lines containing ...
|
||||
/typedef struct {/d
|
||||
/vdata/d
|
||||
/cdata/d
|
||||
/ldata/d
|
||||
/typedef struct {/d
|
||||
/vdata/d
|
||||
/cdata/d
|
||||
/ldata/d
|
||||
|
||||
# rewrite "FL_FORM *form_xxx;" as "FL_FORM *form;"
|
||||
s/FL_FORM \(.*\);/FL_FORM *form;/
|
||||
|
||||
# copy remaining lines into the hold space
|
||||
H
|
||||
H
|
||||
|
||||
# rewrite "} someStruct;" as "struct someStruct {" and print
|
||||
s/} \(.*\);/struct \1 {/p
|
||||
# rewrite "} someStruct;" as "struct someStruct {" and print
|
||||
# " ~someStruct();"
|
||||
/} \(.*\);/{
|
||||
s/} \(.*\);/struct \1 {/p
|
||||
s/struct \(.*\) {/ ~\1();/p
|
||||
}
|
||||
|
||||
# delete line from pattern space
|
||||
d
|
||||
d
|
||||
}
|
||||
# swap the hold space back into the pattern space and...
|
||||
/^$/x
|
||||
{
|
||||
|
||||
# rewrite "} someStruct;" as "};"
|
||||
s/} \(.*\);/};/
|
||||
}
|
||||
|
@ -8,14 +8,14 @@ Unit of measure: FL_COORD_PIXEL
|
||||
|
||||
=============== FORM ===============
|
||||
Name: form_citation
|
||||
Width: 430
|
||||
Height: 770
|
||||
Width: 435
|
||||
Height: 665
|
||||
Number of Objects: 13
|
||||
|
||||
--------------------
|
||||
class: FL_BOX
|
||||
type: UP_BOX
|
||||
box: 0 0 430 770
|
||||
box: 0 0 435 665
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -33,7 +33,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_BROWSER
|
||||
type: HOLD_BROWSER
|
||||
box: 10 30 180 370
|
||||
box: 10 30 180 300
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_TOP_LEFT
|
||||
@ -51,7 +51,7 @@ argument: CITEBRSR
|
||||
--------------------
|
||||
class: FL_BROWSER
|
||||
type: HOLD_BROWSER
|
||||
box: 240 30 180 370
|
||||
box: 240 30 180 300
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_TOP_LEFT
|
||||
@ -141,7 +141,7 @@ argument: DOWN
|
||||
--------------------
|
||||
class: FL_BROWSER
|
||||
type: NORMAL_BROWSER
|
||||
box: 10 440 410 110
|
||||
box: 10 360 410 80
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_TOP_LEFT
|
||||
@ -159,7 +159,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_CHOICE
|
||||
type: NORMAL_CHOICE
|
||||
box: 160 570 130 30
|
||||
box: 160 470 130 30
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_BLACK
|
||||
alignment: FL_ALIGN_LEFT
|
||||
@ -177,7 +177,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 100 620 250 30
|
||||
box: 100 520 250 30
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
@ -195,7 +195,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 100 660 250 30
|
||||
box: 100 570 250 30
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
@ -213,7 +213,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: RETURN_BUTTON
|
||||
box: 230 730 90 30
|
||||
box: 230 630 90 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -231,7 +231,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 330 730 90 30
|
||||
box: 330 630 90 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
|
@ -1,18 +1,18 @@
|
||||
--- form_document.C.old Fri Aug 11 15:30:33 2000
|
||||
+++ form_document.C Fri Aug 11 15:32:41 2000
|
||||
--- form_document.C.orig Mon Aug 14 13:17:32 2000
|
||||
+++ form_document.C Mon Aug 14 13:22:59 2000
|
||||
@@ -9,6 +9,8 @@
|
||||
#include <stdlib.h>
|
||||
#include "form_document.h"
|
||||
#include "FormDocument.h"
|
||||
#include "FormDocument.h"
|
||||
+#include "bmtable.h"
|
||||
+#include "support/filetools.h"
|
||||
|
||||
FD_form_tabbed_document * FormDocument::build_tabbed_document()
|
||||
FD_form_tabbed_document::~FD_form_tabbed_document()
|
||||
{
|
||||
@@ -321,10 +323,16 @@
|
||||
@@ -363,10 +365,18 @@
|
||||
|
||||
fdui->form_doc_bullet = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form_doc_bullet->u_vdata = this;
|
||||
fdui->form = fl_bgn_form(FL_NO_BOX, 440, 345);
|
||||
fdui->form->u_vdata = this;
|
||||
+ fl_set_border_width(-1);
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, "");
|
||||
- fdui->bmtable_bullet_panel = obj = fl_add_pixmapbutton(FL_NORMAL_BUTTON, 90, 105, 260, 180, "");
|
||||
@ -24,17 +24,10 @@
|
||||
+ fl_set_object_lcol(obj, FL_BLUE);
|
||||
+ fl_set_object_boxtype(obj, FL_UP_BOX);
|
||||
+ fl_set_bmtable_pixmap_file(obj, 6, 6,
|
||||
+ LibFileSearch("images", "standard.xpm").c_str());
|
||||
+ LibFileSearch("images",
|
||||
+ "standard",
|
||||
+ "xpm").c_str());
|
||||
+ fl_set_border_width(-1);
|
||||
obj = fl_add_frame(FL_ENGRAVED_FRAME, 95, 20, 255, 70, "");
|
||||
fdui->choice_bullet_size = obj = fl_add_choice(FL_NORMAL_CHOICE, 15, 45, 65, 30, idex(_("Size|#z")));
|
||||
fl_set_button_shortcut(obj, scex(_("Size|#z")), 1);
|
||||
@@ -336,6 +344,8 @@
|
||||
fl_set_button_shortcut(obj, scex(_("LaTeX|#L")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_lstyle(obj, FL_FIXED_STYLE);
|
||||
+ fl_set_input_return(obj, FL_RETURN_CHANGED);
|
||||
+ fl_set_input_maxchars(obj, 80);
|
||||
fl_set_object_callback(obj, InputBulletLaTeXCB, 0);
|
||||
|
||||
fdui->radio_bullet_depth = fl_bgn_group();
|
||||
|
@ -344,7 +344,7 @@ label: Encoding
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
name: input_encoding
|
||||
name: input_screen_encoding
|
||||
callback: C_FormPreferencesInputCB
|
||||
argument: 0
|
||||
|
||||
@ -602,7 +602,7 @@ label: Encoding
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
name: input_encoding
|
||||
name: input_popup_encoding
|
||||
callback: C_FormPreferencesInputCB
|
||||
argument: 0
|
||||
|
||||
@ -1239,14 +1239,14 @@ argument:
|
||||
|
||||
=============== FORM ===============
|
||||
Name: form_preferences
|
||||
Width: 460
|
||||
Width: 475
|
||||
Height: 435
|
||||
Number of Objects: 5
|
||||
Number of Objects: 6
|
||||
|
||||
--------------------
|
||||
class: FL_BOX
|
||||
type: UP_BOX
|
||||
box: 0 0 460 435
|
||||
box: 0 0 475 435
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -1264,7 +1264,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 250 395 90 30
|
||||
box: 275 395 90 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -1282,7 +1282,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 350 395 90 30
|
||||
box: 375 395 90 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -1300,7 +1300,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: RETURN_BUTTON
|
||||
box: 150 395 90 30
|
||||
box: 175 395 90 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -1333,5 +1333,23 @@ name: tabfolder_prefs
|
||||
callback:
|
||||
argument:
|
||||
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 10 395 90 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Restore|#R
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
name: button_restore
|
||||
callback: C_FormPreferencesRestoreCB
|
||||
argument: 0
|
||||
|
||||
==============================
|
||||
create_the_forms
|
||||
|
@ -11,7 +11,7 @@
|
||||
###
|
||||
### Makefile by Lars Gullik Bjønnes (larsbj@ifi.uio.no)
|
||||
### Modified by Allan Rae <rae@lyx.org>
|
||||
###
|
||||
### Rewritten by Angus Leeming.
|
||||
|
||||
SHELL = /bin/sh
|
||||
.SUFFIXES: .fd .c
|
||||
@ -31,51 +31,23 @@ SRCS := form_citation.fd \
|
||||
form_toc.fd \
|
||||
form_url.fd
|
||||
|
||||
|
||||
OBJS := $(SRCS:.fd=.c)
|
||||
|
||||
COBJS := $(SRCS:.fd=.C)
|
||||
OBJS := $(SRCS:.fd=.C)
|
||||
|
||||
all:
|
||||
@echo "This is a makefile intended for the maintainer only."
|
||||
@echo "Only run it if you are absolutely sure about what you"
|
||||
@echo "are doing."
|
||||
|
||||
c: $(OBJS)
|
||||
test: clean $(OBJS)
|
||||
|
||||
d: c $(COBJS)
|
||||
updatesrc: test
|
||||
mv *.C *.h ..
|
||||
|
||||
|
||||
# Modify the header files using the instructions in fdfixh.sed
|
||||
e: c
|
||||
@echo "Modifying header files using the instructions in fdfixh.sed";\
|
||||
for hfil in *.h ; do \
|
||||
if [ -f "$$hfil.patch" ] ; then \
|
||||
(echo "Patching $$hfil with $$hfil.patch" ; \
|
||||
patch -s $$hfil < $$hfil.patch) \
|
||||
fi; \
|
||||
sed -f fdfixh.sed < $$hfil > $$hfil.tmp; \
|
||||
mv $$hfil.tmp $$hfil; \
|
||||
done
|
||||
|
||||
updatesrc: d e
|
||||
|
||||
.fd.c:
|
||||
$(FDESIGN) -convert $<
|
||||
|
||||
.c.C:
|
||||
${SHELL} ./fdfix.sh $< $@
|
||||
rm $<
|
||||
@if [ -f "$@.patch" ] ; then \
|
||||
(echo "Patching $@ with $@.patch" ; \
|
||||
patch -s $@ < $@.patch) \
|
||||
fi;
|
||||
.fd.C:
|
||||
${SHELL} ./fdfix.sh $<
|
||||
|
||||
clean:
|
||||
rm -f *.[hcC] *.bak
|
||||
|
||||
distclean: clean
|
||||
rm -f *.orig *.rej *~
|
||||
|
||||
install: clean updatesrc
|
||||
cp *.C *.h ..
|
||||
|
@ -670,8 +670,13 @@ InsetGraphicsParams InsetGraphics::getParams() const
|
||||
|
||||
Inset * InsetGraphics::Clone() const
|
||||
{
|
||||
InsetGraphics * newInset = new InsetGraphics;
|
||||
newInset->setParams(getParams());
|
||||
|
||||
InsetGraphics * newInset = new InsetGraphics;
|
||||
|
||||
newInset->cacheHandle = cacheHandle;
|
||||
newInset->pixmap = pixmap;
|
||||
newInset->pixmapInitialized = pixmapInitialized;
|
||||
|
||||
newInset->setParams(getParams());
|
||||
|
||||
return newInset;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/** Header file generated with fdesign on Mon Jun 19 12:55:08 2000.**/
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_document_h_
|
||||
#define FD_form_document_h_
|
||||
|
@ -1,4 +1,4 @@
|
||||
/** Header file generated with fdesign on Mon Jul 17 21:08:23 2000.**/
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_LaTeXLog_h_
|
||||
#define FD_LaTeXLog_h_
|
||||
|
47
src/lyx.C
47
src/lyx.C
@ -65,53 +65,6 @@ FD_form_figure *create_form_form_figure(void)
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_screen *create_form_form_screen(void)
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
FD_form_screen *fdui = (FD_form_screen *) fl_calloc(1, sizeof(FD_form_screen));
|
||||
|
||||
fdui->form_screen = fl_bgn_form(FL_NO_BOX, 390, 220);
|
||||
obj = fl_add_box(FL_UP_BOX, 0, 0, 390, 220, "");
|
||||
fdui->input_roman = obj = fl_add_input(FL_NORMAL_INPUT, 140, 10, 240, 30, idex(_("Roman font|#R")));fl_set_button_shortcut(obj, scex(_("Roman font|#R")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_gravity(obj, FL_NorthWest, FL_NoGravity);
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fdui->input_sans = obj = fl_add_input(FL_NORMAL_INPUT, 140, 40, 240, 30, idex(_("Sans serif font|#S")));fl_set_button_shortcut(obj, scex(_("Sans serif font|#S")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_gravity(obj, FL_NorthWest, FL_NoGravity);
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fdui->input_typewriter = obj = fl_add_input(FL_NORMAL_INPUT, 140, 70, 240, 30, idex(_("Typewriter font|#T")));fl_set_button_shortcut(obj, scex(_("Typewriter font|#T")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_gravity(obj, FL_NorthWest, FL_NoGravity);
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fdui->input_font_norm = obj = fl_add_input(FL_NORMAL_INPUT, 140, 100, 240, 30, idex(_("Font norm|#N")));fl_set_button_shortcut(obj, scex(_("Font norm|#N")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_gravity(obj, FL_NorthWest, FL_NoGravity);
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
fdui->intinput_size = obj = fl_add_input(FL_INT_INPUT, 140, 140, 50, 30, idex(_("Font zoom|#Z")));fl_set_button_shortcut(obj, scex(_("Font zoom|#Z")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_gravity(obj, FL_NorthWest, FL_NoGravity);
|
||||
fl_set_object_resize(obj, FL_RESIZE_X);
|
||||
obj = fl_add_button(FL_RETURN_BUTTON, 60, 180, 100, 30, _("OK"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast);
|
||||
fl_set_object_callback(obj, ScreenOKCB, 0);
|
||||
obj = fl_add_button(FL_NORMAL_BUTTON, 170, 180, 100, 30, idex(_("Apply|#A")));fl_set_button_shortcut(obj, scex(_("Apply|#A")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast);
|
||||
fl_set_object_callback(obj, ScreenApplyCB, 0);
|
||||
obj = fl_add_button(FL_NORMAL_BUTTON, 280, 180, 100, 30, idex(_("Cancel|^[")));fl_set_button_shortcut(obj, scex(_("Cancel|^[")), 1);
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast);
|
||||
fl_set_object_callback(obj, ScreenCancelCB, 0);
|
||||
fl_end_form();
|
||||
|
||||
//fdui->form_screen->fdui = fdui;
|
||||
|
||||
return fdui;
|
||||
}
|
||||
/*---------------------------------------*/
|
||||
|
||||
FD_form_external *create_form_form_external(void)
|
||||
{
|
||||
FL_OBJECT *obj;
|
||||
|
19
src/lyx.h
19
src/lyx.h
@ -1,4 +1,4 @@
|
||||
/** Header file generated with fdesign on Mon Jul 31 11:17:12 2000.**/
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_title_h_
|
||||
#define FD_form_title_h_
|
||||
@ -10,10 +10,6 @@ extern "C" void FigureOKCB(FL_OBJECT *, long);
|
||||
extern "C" void FigureApplyCB(FL_OBJECT *, long);
|
||||
extern "C" void FigureCancelCB(FL_OBJECT *, long);
|
||||
|
||||
extern "C" void ScreenOKCB(FL_OBJECT *, long);
|
||||
extern "C" void ScreenApplyCB(FL_OBJECT *, long);
|
||||
extern "C" void ScreenCancelCB(FL_OBJECT *, long);
|
||||
|
||||
extern "C" void ExternalTemplateCB(FL_OBJECT *, long);
|
||||
extern "C" void ExternalBrowseCB(FL_OBJECT *, long);
|
||||
extern "C" void ExternalEditCB(FL_OBJECT *, long);
|
||||
@ -44,19 +40,6 @@ typedef struct {
|
||||
} FD_form_figure;
|
||||
|
||||
extern FD_form_figure * create_form_form_figure(void);
|
||||
typedef struct {
|
||||
FL_FORM *form_screen;
|
||||
void *vdata;
|
||||
char *cdata;
|
||||
long ldata;
|
||||
FL_OBJECT *input_roman;
|
||||
FL_OBJECT *input_sans;
|
||||
FL_OBJECT *input_typewriter;
|
||||
FL_OBJECT *input_font_norm;
|
||||
FL_OBJECT *intinput_size;
|
||||
} FD_form_screen;
|
||||
|
||||
extern FD_form_screen * create_form_form_screen(void);
|
||||
typedef struct {
|
||||
FL_FORM *form_external;
|
||||
void *vdata;
|
||||
|
40
src/lyx_cb.C
40
src/lyx_cb.C
@ -40,11 +40,9 @@
|
||||
#include "support/filetools.h"
|
||||
#include "support/path.h"
|
||||
#include "lyxserver.h"
|
||||
#include "FontLoader.h"
|
||||
#include "lyxrc.h"
|
||||
#include "lyxtext.h"
|
||||
#include "CutAndPaste.h"
|
||||
#include "TextCache.h"
|
||||
|
||||
using std::ifstream;
|
||||
using std::copy;
|
||||
@ -70,7 +68,6 @@ extern FD_form_quotes * fd_form_quotes;
|
||||
extern FD_form_preamble * fd_form_preamble;
|
||||
extern FD_form_table * fd_form_table;
|
||||
extern FD_form_figure * fd_form_figure;
|
||||
extern FD_form_screen * fd_form_screen;
|
||||
extern FD_form_bullet * fd_form_bullet;
|
||||
|
||||
extern BufferView * current_view; // called too many times in this file...
|
||||
@ -2832,43 +2829,6 @@ extern "C" void FigureOKCB(FL_OBJECT * ob, long data)
|
||||
}
|
||||
|
||||
|
||||
extern "C" void ScreenApplyCB(FL_OBJECT *, long)
|
||||
{
|
||||
lyxrc.roman_font_name = fl_get_input(fd_form_screen->input_roman);
|
||||
lyxrc.sans_font_name = fl_get_input(fd_form_screen->input_sans);
|
||||
lyxrc.typewriter_font_name = fl_get_input(fd_form_screen->input_typewriter);
|
||||
lyxrc.font_norm = fl_get_input(fd_form_screen->input_font_norm);
|
||||
lyxrc.set_font_norm_type();
|
||||
lyxrc.zoom = atoi(fl_get_input(fd_form_screen->intinput_size));
|
||||
fontloader.update();
|
||||
|
||||
// Of course we should only to the resize and the textcahce.clear
|
||||
// if values really changed...but not very important right now. (Lgb)
|
||||
|
||||
// All buffers will need resize
|
||||
bufferlist.resize();
|
||||
// We also need to empty the textcache so that
|
||||
// the buffer will be formatted correctly after
|
||||
// a zoom change.
|
||||
textcache.clear();
|
||||
|
||||
current_view->owner()->getMiniBuffer()->Set(_("Screen options set"));
|
||||
}
|
||||
|
||||
|
||||
extern "C" void ScreenCancelCB(FL_OBJECT *, long)
|
||||
{
|
||||
fl_hide_form(fd_form_screen->form_screen);
|
||||
}
|
||||
|
||||
|
||||
extern "C" void ScreenOKCB(FL_OBJECT * ob, long data)
|
||||
{
|
||||
ScreenCancelCB(ob, data);
|
||||
ScreenApplyCB(ob, data);
|
||||
}
|
||||
|
||||
|
||||
// This function runs "configure" and then rereads lyx.defaults to
|
||||
// reconfigure the automatic settings.
|
||||
void Reconfigure(BufferView * bv)
|
||||
|
@ -63,7 +63,6 @@ FD_form_preamble * fd_form_preamble;
|
||||
FD_form_table * fd_form_table;
|
||||
FD_form_sendto * fd_form_sendto;
|
||||
FD_form_figure * fd_form_figure;
|
||||
FD_form_screen * fd_form_screen;
|
||||
FD_LaTeXLog * fd_latex_log; // from log_form.h
|
||||
Combox * combo_language;
|
||||
Combox * combo_language2;
|
||||
@ -525,11 +524,6 @@ void LyXGUI::create_forms()
|
||||
CancelCloseBoxCB, 0);
|
||||
fl_set_button(fd_form_figure->radio_postscript, 1);
|
||||
|
||||
// the screen form
|
||||
fd_form_screen = create_form_form_screen();
|
||||
fl_set_form_atclose(fd_form_screen->form_screen,
|
||||
CancelCloseBoxCB, 0);
|
||||
|
||||
// the latex log form
|
||||
fd_latex_log = create_form_LaTeXLog();
|
||||
fl_set_form_atclose(fd_latex_log->LaTeXLog,
|
||||
|
@ -403,6 +403,7 @@ void LyX::init(int */*argc*/, char **argv, bool gui)
|
||||
//
|
||||
|
||||
ReadRcFile("lyxrc.defaults");
|
||||
// system_lyxrc = lyxrc;
|
||||
// If there is a preferences file we read that instead
|
||||
// of the old lyxrc file.
|
||||
if (!ReadRcFile("preferences"))
|
||||
|
@ -1,4 +1,4 @@
|
||||
/** Header file generated with fdesign on Mon Jun 19 12:55:08 2000.**/
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_xsendfax_h_
|
||||
#define FD_xsendfax_h_
|
||||
|
@ -92,6 +92,8 @@ using std::istringstream;
|
||||
#include "menus.h"
|
||||
#endif
|
||||
#include "FloatList.h"
|
||||
#include "FontLoader.h"
|
||||
#include "TextCache.h"
|
||||
|
||||
using std::pair;
|
||||
using std::endl;
|
||||
@ -2844,6 +2846,22 @@ string LyXFunc::Dispatch(int ac,
|
||||
}
|
||||
break;
|
||||
|
||||
case LFUN_SCREEN_FONT_UPDATE:
|
||||
{
|
||||
// handle the screen font changes.
|
||||
//
|
||||
lyxrc.set_font_norm_type();
|
||||
fontloader.update();
|
||||
// Of course we should only do the resize and the textcache.clear
|
||||
// if values really changed...but not very important right now. (Lgb)
|
||||
// All buffers will need resize
|
||||
bufferlist.resize();
|
||||
// We also need to empty the textcache so that
|
||||
// the buffer will be formatted correctly after
|
||||
// a zoom change.
|
||||
textcache.clear();
|
||||
}
|
||||
|
||||
case LFUN_SET_COLOR:
|
||||
{
|
||||
string lyx_name, x11_name;
|
||||
|
@ -1553,3 +1553,6 @@ void LyXRC::set_font_norm_type()
|
||||
|
||||
// The global instance
|
||||
LyXRC lyxrc;
|
||||
|
||||
// The global copy of the system lyxrc entries (everything except preferences)
|
||||
//LyXRC system_lyxrc;
|
||||
|
@ -265,5 +265,6 @@ public:
|
||||
|
||||
///
|
||||
extern LyXRC lyxrc;
|
||||
|
||||
///
|
||||
//extern LyXRC system_lyxrc;
|
||||
#endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
/** Header file generated with fdesign on Mon Jun 19 12:55:08 2000.**/
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_panel_h_
|
||||
#define FD_panel_h_
|
||||
|
53
src/menus.C
53
src/menus.C
@ -60,7 +60,6 @@ using std::max;
|
||||
using std::min;
|
||||
using std::sort;
|
||||
|
||||
extern FD_form_screen * fd_form_screen;
|
||||
extern BufferList bufferlist;
|
||||
|
||||
// I would really prefere to see most or all of these 'extern's disappear.
|
||||
@ -455,37 +454,6 @@ void Menus::create_menus(int air)
|
||||
}
|
||||
|
||||
|
||||
void Menus::ScreenOptions()
|
||||
{
|
||||
static int ow = -1, oh;
|
||||
|
||||
// this is not very nice....
|
||||
fl_set_input(fd_form_screen->input_roman,
|
||||
lyxrc.roman_font_name.c_str());
|
||||
fl_set_input(fd_form_screen->input_sans,
|
||||
lyxrc.sans_font_name.c_str());
|
||||
fl_set_input(fd_form_screen->input_typewriter,
|
||||
lyxrc.typewriter_font_name.c_str());
|
||||
fl_set_input(fd_form_screen->input_font_norm,
|
||||
lyxrc.font_norm.c_str());
|
||||
char tmpstring[10];
|
||||
sprintf(tmpstring, "%d", lyxrc.zoom);
|
||||
fl_set_input(fd_form_screen->intinput_size, tmpstring);
|
||||
if (fd_form_screen->form_screen->visible) {
|
||||
fl_raise_form(fd_form_screen->form_screen);
|
||||
} else {
|
||||
fl_show_form(fd_form_screen->form_screen,
|
||||
FL_PLACE_MOUSE | FL_FREE_SIZE, FL_FULLBORDER,
|
||||
_("Screen Options"));
|
||||
if (ow < 0) {
|
||||
ow = fd_form_screen->form_screen->w;
|
||||
oh = fd_form_screen->form_screen->h;
|
||||
}
|
||||
fl_set_form_minsize(fd_form_screen->form_screen, ow, oh);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Here comes all the menu callbacks.
|
||||
//
|
||||
@ -2012,17 +1980,15 @@ void Menus::ShowOptionsMenu(FL_OBJECT * ob, long)
|
||||
LyXFunc * tmpfunc = men->_view->getLyXFunc();
|
||||
|
||||
int OptionsMenu = fl_defpup(FL_ObjWin(ob),
|
||||
_("Screen Fonts..."
|
||||
"|Spellchecker Options..."
|
||||
_("|Spellchecker Options..."
|
||||
"|Keyboard...%l"
|
||||
"|Reconfigure"
|
||||
"|Preferences"));
|
||||
|
||||
fl_setpup_shortcut(OptionsMenu, 1, scex(_("OM|Ff#f#F")));
|
||||
fl_setpup_shortcut(OptionsMenu, 2, scex(_("OM|Ss#s#S")));
|
||||
fl_setpup_shortcut(OptionsMenu, 3, scex(_("OM|Kk#k#K")));
|
||||
fl_setpup_shortcut(OptionsMenu, 4, scex(_("OM|Rr#r#R")));
|
||||
fl_setpup_shortcut(OptionsMenu, 5, scex(_("OM|Pp#p#P")));
|
||||
fl_setpup_shortcut(OptionsMenu, 1, scex(_("OM|Ss#s#S")));
|
||||
fl_setpup_shortcut(OptionsMenu, 2, scex(_("OM|Kk#k#K")));
|
||||
fl_setpup_shortcut(OptionsMenu, 3, scex(_("OM|Rr#r#R")));
|
||||
fl_setpup_shortcut(OptionsMenu, 4, scex(_("OM|Pp#p#P")));
|
||||
|
||||
if(lyxrc.isp_command == "none")
|
||||
fl_setpup_mode(OptionsMenu, 2, FL_PUP_GREY);
|
||||
@ -2037,11 +2003,10 @@ void Menus::ShowOptionsMenu(FL_OBJECT * ob, long)
|
||||
fl_set_object_boxtype(ob, FL_FLAT_BOX);
|
||||
fl_redraw_object(ob);
|
||||
switch (choice){
|
||||
case 1: men->ScreenOptions(); break;
|
||||
case 2: SpellCheckerOptions(); break;
|
||||
case 3: men->_view->getIntl()->MenuKeymap(); break;
|
||||
case 4: tmpfunc->Dispatch(LFUN_RECONFIGURE); break;
|
||||
case 5: men->_view->getDialogs()->showPreferences(); break;
|
||||
case 1: SpellCheckerOptions(); break;
|
||||
case 2: men->_view->getIntl()->MenuKeymap(); break;
|
||||
case 3: tmpfunc->Dispatch(LFUN_RECONFIGURE); break;
|
||||
case 4: men->_view->getDialogs()->showPreferences(); break;
|
||||
default: break;
|
||||
}
|
||||
fl_freepup(OptionsMenu);
|
||||
|
@ -61,8 +61,6 @@ private:
|
||||
///
|
||||
void create_menus(int air);
|
||||
///
|
||||
void ScreenOptions();
|
||||
///
|
||||
void showCopyright();
|
||||
///
|
||||
void showLicense();
|
||||
|
@ -1,4 +1,4 @@
|
||||
/** Header file generated with fdesign on Mon Jun 19 12:55:08 2000.**/
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_sendto_h_
|
||||
#define FD_form_sendto_h_
|
||||
|
@ -1,4 +1,4 @@
|
||||
/** Header file generated with fdesign on Mon Jun 19 12:55:08 2000.**/
|
||||
/** Header file generated with fdesign **/
|
||||
|
||||
#ifndef FD_form_spell_options_h_
|
||||
#define FD_form_spell_options_h_
|
||||
|
Loading…
Reference in New Issue
Block a user