mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
patch from Angus and patch from Kayvan
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@930 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
bc6d7e361b
commit
338bca184c
42
ChangeLog
42
ChangeLog
@ -1,3 +1,45 @@
|
|||||||
|
2000-07-26 Kayvan A. Sylvan <kayvan@sylvan.com>
|
||||||
|
|
||||||
|
* development/lyx.spec.in
|
||||||
|
* Makefile.am: Fix buglet for LyX RPM generation resulting from
|
||||||
|
file/directory re-organization.
|
||||||
|
|
||||||
|
2000-07-26 Angus Leeming <a.leeming@ic.ac.uk>
|
||||||
|
|
||||||
|
* src/insets/insetcommand.[Ch]: moved the string data and
|
||||||
|
associated manipulation methods into a new stand-alone class
|
||||||
|
InsetCommandParams. This class has two additional methods
|
||||||
|
getAsString() and setFromString() allowing the contents to be
|
||||||
|
moved around as a single string.
|
||||||
|
(addContents) method removed.
|
||||||
|
(setContents) method no longer virtual.
|
||||||
|
|
||||||
|
* src/buffer.C (readInset): made use of new InsetCitation,
|
||||||
|
InsetUrl constructors based on InsetCommandParams.
|
||||||
|
|
||||||
|
* src/commandtags.h: add LFUN_INSERT_URL
|
||||||
|
|
||||||
|
* src/lyxfunc.C (Dispatch): changed to accomadate GUI-
|
||||||
|
independent InsetUrl and use InsetCommandParams to extract
|
||||||
|
string info and create new Insets.
|
||||||
|
|
||||||
|
* src/frontends/Dialogs.h: add signals showUrl, createUrl.
|
||||||
|
|
||||||
|
* src/frontends/xforms/FormCitation.C (apply): uses
|
||||||
|
InsetCommandParams.
|
||||||
|
|
||||||
|
* src/frontends/xforms/form_url.C
|
||||||
|
* src/frontends/xforms/form_url.h
|
||||||
|
* src/frontends/xforms/FormUrl.h
|
||||||
|
* src/frontends/xforms/FormUrl.C
|
||||||
|
* src/frontends/xforms/forms/form_url.fd: new files
|
||||||
|
|
||||||
|
* src/insets/insetcite.[Ch]: removed unused constructors.
|
||||||
|
|
||||||
|
* src/insets/insetinclude.[Ch]: no longer store filename
|
||||||
|
|
||||||
|
* src/insets/inseturl.[Ch]: GUI-independent.
|
||||||
|
|
||||||
2000-07-26 Juergen Vigna <jug@sad.it>
|
2000-07-26 Juergen Vigna <jug@sad.it>
|
||||||
* renamed frontend from gtk to gnome as it is that what is realized
|
* renamed frontend from gtk to gnome as it is that what is realized
|
||||||
and did the necessary changes in the files.
|
and did the necessary changes in the files.
|
||||||
|
@ -25,7 +25,7 @@ dist-hook:
|
|||||||
rm -rf `find images -name \*CVS\*`
|
rm -rf `find images -name \*CVS\*`
|
||||||
|
|
||||||
rpmdist: dist
|
rpmdist: dist
|
||||||
ln -s images/lyx.xpm . ; \
|
ln -s lib/images/lyx.xpm . ; \
|
||||||
rpm -ta ${PACKAGE}-${VERSION}.tar.gz ; \
|
rpm -ta ${PACKAGE}-${VERSION}.tar.gz ; \
|
||||||
rm lyx.xpm
|
rm lyx.xpm
|
||||||
|
|
||||||
|
@ -38,8 +38,17 @@ place that the Redhat tetex package is installed and would see it.
|
|||||||
%build
|
%build
|
||||||
unset LINGUAS || true
|
unset LINGUAS || true
|
||||||
CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" \
|
CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" \
|
||||||
./configure --prefix=/usr --without-warnings
|
./configure --prefix=/usr --without-warnings --with-included-string
|
||||||
|
# The following check is to ensure that lyx RPMs generated on RH 6.X machines
|
||||||
|
# with gcc-2.95 still run against older Redhat OS/compiler combinations.
|
||||||
|
# It will eventually be ripped out.
|
||||||
|
if [ -r /usr/lib/libstdc++-libc6.1-1.so.2 ]
|
||||||
|
then
|
||||||
|
make CXX=gcc LYX_LIBS='/usr/lib/libstdc++-libc6.1-1.so.2 -lforms -lXpm'
|
||||||
|
else
|
||||||
make
|
make
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
unset LINGUAS || true
|
unset LINGUAS || true
|
||||||
@ -59,7 +68,7 @@ cp -r ${RPM_BUILD_ROOT}/usr/share/lyx/tex \
|
|||||||
#
|
#
|
||||||
# Miscellaneous files
|
# Miscellaneous files
|
||||||
#
|
#
|
||||||
cp -a images/lyx.xpm ${RPM_BUILD_ROOT}/usr/share/lyx/images/
|
cp -a lib/images/lyx.xpm ${RPM_BUILD_ROOT}/usr/share/lyx/images/
|
||||||
cp lib/reLyX/README README.reLyX
|
cp lib/reLyX/README README.reLyX
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
|
250
forms/cite.fd
250
forms/cite.fd
@ -1,250 +0,0 @@
|
|||||||
Magic: 13000
|
|
||||||
|
|
||||||
Internal Form Definition File
|
|
||||||
(do not change)
|
|
||||||
|
|
||||||
Number of forms: 1
|
|
||||||
Unit of measure: FL_COORD_PIXEL
|
|
||||||
|
|
||||||
=============== FORM ===============
|
|
||||||
Name: citation_form
|
|
||||||
Width: 440
|
|
||||||
Height: 790
|
|
||||||
Number of Objects: 13
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BOX
|
|
||||||
type: UP_BOX
|
|
||||||
box: 0 0 440 790
|
|
||||||
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_X
|
|
||||||
gravity: FL_NoGravity FL_NoGravity
|
|
||||||
name: box
|
|
||||||
callback:
|
|
||||||
argument:
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BROWSER
|
|
||||||
type: HOLD_BROWSER
|
|
||||||
box: 20 40 170 370
|
|
||||||
boxtype: FL_DOWN_BOX
|
|
||||||
colors: FL_COL1 FL_YELLOW
|
|
||||||
alignment: FL_ALIGN_TOP_LEFT
|
|
||||||
style: FL_NORMAL_STYLE
|
|
||||||
size: FL_DEFAULT_SIZE
|
|
||||||
lcol: FL_BLACK
|
|
||||||
label: Inset keys
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_X
|
|
||||||
gravity: FL_NoGravity FL_NoGravity
|
|
||||||
name: citeBrsr
|
|
||||||
callback: citation_cb
|
|
||||||
argument: InsetCitation::CITEBRSR
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BROWSER
|
|
||||||
type: HOLD_BROWSER
|
|
||||||
box: 250 40 170 370
|
|
||||||
boxtype: FL_DOWN_BOX
|
|
||||||
colors: FL_COL1 FL_YELLOW
|
|
||||||
alignment: FL_ALIGN_TOP_LEFT
|
|
||||||
style: FL_NORMAL_STYLE
|
|
||||||
size: FL_DEFAULT_SIZE
|
|
||||||
lcol: FL_BLACK
|
|
||||||
label: Bibliography keys
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_X
|
|
||||||
gravity: FL_NoGravity FL_NoGravity
|
|
||||||
name: bibBrsr
|
|
||||||
callback: citation_cb
|
|
||||||
argument: InsetCitation::BIBBRSR
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BUTTON
|
|
||||||
type: NORMAL_BUTTON
|
|
||||||
box: 200 40 40 40
|
|
||||||
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: @4->
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_ALL
|
|
||||||
gravity: FL_NoGravity FL_NoGravity
|
|
||||||
name: bibBrsr
|
|
||||||
callback: citation_cb
|
|
||||||
argument: InsetCitation::BIBBRSR
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BUTTON
|
|
||||||
type: NORMAL_BUTTON
|
|
||||||
box: 200 40 40 40
|
|
||||||
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: Button
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_ALL
|
|
||||||
gravity: FL_South FL_South
|
|
||||||
name: bibBrsr
|
|
||||||
callback: citation_cb
|
|
||||||
argument: InsetCitation::BIBBRSR
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BUTTON
|
|
||||||
type: NORMAL_BUTTON
|
|
||||||
box: 200 90 40 40
|
|
||||||
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: @9+
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_ALL
|
|
||||||
gravity: FL_NoGravity FL_NoGravity
|
|
||||||
name: bibBrsr
|
|
||||||
callback: citation_cb
|
|
||||||
argument: InsetCitation::BIBBRSR
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BUTTON
|
|
||||||
type: NORMAL_BUTTON
|
|
||||||
box: 200 90 40 40
|
|
||||||
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: Button
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_ALL
|
|
||||||
gravity: FL_South FL_South
|
|
||||||
name: bibBrsr
|
|
||||||
callback: citation_cb
|
|
||||||
argument: InsetCitation::BIBBRSR
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BUTTON
|
|
||||||
type: NORMAL_BUTTON
|
|
||||||
box: 200 140 40 40
|
|
||||||
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: @8->
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_ALL
|
|
||||||
gravity: FL_NoGravity FL_NoGravity
|
|
||||||
name: bibBrsr
|
|
||||||
callback: citation_cb
|
|
||||||
argument: InsetCitation::BIBBRSR
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BUTTON
|
|
||||||
type: NORMAL_BUTTON
|
|
||||||
box: 200 140 40 40
|
|
||||||
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: Button
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_ALL
|
|
||||||
gravity: FL_South FL_South
|
|
||||||
name: bibBrsr
|
|
||||||
callback: citation_cb
|
|
||||||
argument: InsetCitation::BIBBRSR
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BUTTON
|
|
||||||
type: NORMAL_BUTTON
|
|
||||||
box: 200 190 40 40
|
|
||||||
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: @2->
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_ALL
|
|
||||||
gravity: FL_NoGravity FL_NoGravity
|
|
||||||
name: bibBrsr
|
|
||||||
callback: citation_cb
|
|
||||||
argument: InsetCitation::BIBBRSR
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BUTTON
|
|
||||||
type: NORMAL_BUTTON
|
|
||||||
box: 200 190 40 40
|
|
||||||
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: Button
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_ALL
|
|
||||||
gravity: FL_South FL_South
|
|
||||||
name: bibBrsr
|
|
||||||
callback: citation_cb
|
|
||||||
argument: InsetCitation::BIBBRSR
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_BROWSER
|
|
||||||
type: NORMAL_BROWSER
|
|
||||||
box: 20 440 400 110
|
|
||||||
boxtype: FL_DOWN_BOX
|
|
||||||
colors: FL_COL1 FL_YELLOW
|
|
||||||
alignment: FL_ALIGN_TOP_LEFT
|
|
||||||
style: FL_NORMAL_STYLE
|
|
||||||
size: FL_DEFAULT_SIZE
|
|
||||||
lcol: FL_BLACK
|
|
||||||
label: Info
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_X
|
|
||||||
gravity: FL_NoGravity FL_NoGravity
|
|
||||||
name: infoBrsr
|
|
||||||
callback:
|
|
||||||
argument:
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
class: FL_CHOICE
|
|
||||||
type: NORMAL_CHOICE
|
|
||||||
box: 160 570 130 30
|
|
||||||
boxtype: FL_DOWN_BOX
|
|
||||||
colors: FL_COL1 FL_BLACK
|
|
||||||
alignment: FL_ALIGN_LEFT
|
|
||||||
style: FL_NORMAL_STYLE
|
|
||||||
size: FL_DEFAULT_SIZE
|
|
||||||
lcol: FL_BLACK
|
|
||||||
label: Citation style
|
|
||||||
shortcut:
|
|
||||||
resize: FL_RESIZE_X
|
|
||||||
gravity: FL_NoGravity FL_NoGravity
|
|
||||||
name: style
|
|
||||||
callback:
|
|
||||||
argument:
|
|
||||||
|
|
||||||
==============================
|
|
||||||
--------------------
|
|
@ -34,13 +34,9 @@ src/frontends/xforms/FormPreferences.C
|
|||||||
src/frontends/xforms/form_preferences.C
|
src/frontends/xforms/form_preferences.C
|
||||||
src/frontends/xforms/FormPrint.C
|
src/frontends/xforms/FormPrint.C
|
||||||
src/frontends/xforms/form_print.C
|
src/frontends/xforms/form_print.C
|
||||||
src/frontends/xforms/forms/form_citation.C
|
|
||||||
src/frontends/xforms/forms/form_copyright.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/FormTabular.C
|
src/frontends/xforms/FormTabular.C
|
||||||
src/frontends/xforms/form_tabular.C
|
src/frontends/xforms/form_tabular.C
|
||||||
|
src/frontends/xforms/FormUrl.C
|
||||||
src/frontends/xforms/Menubar_pimpl.C
|
src/frontends/xforms/Menubar_pimpl.C
|
||||||
src/gettext.h
|
src/gettext.h
|
||||||
src/insets/figinset.C
|
src/insets/figinset.C
|
||||||
|
@ -957,7 +957,7 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, LyXParagraph *& par,
|
|||||||
inscmd.Read(this, lex);
|
inscmd.Read(this, lex);
|
||||||
Inset * inset = 0;
|
Inset * inset = 0;
|
||||||
if (inscmd.getCmdName() == "cite") {
|
if (inscmd.getCmdName() == "cite") {
|
||||||
inset = new InsetCitation(inscmd.getContents(), inscmd.getOptions());
|
inset = new InsetCitation(inscmd.params());
|
||||||
} else if (inscmd.getCmdName() == "bibitem") {
|
} else if (inscmd.getCmdName() == "bibitem") {
|
||||||
lex.printError("Wrong place for bibitem");
|
lex.printError("Wrong place for bibitem");
|
||||||
inset = inscmd.Clone();
|
inset = inscmd.Clone();
|
||||||
@ -971,7 +971,7 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, LyXParagraph *& par,
|
|||||||
inset = new InsetLabel(inscmd.getCommand());
|
inset = new InsetLabel(inscmd.getCommand());
|
||||||
} else if (inscmd.getCmdName() == "url"
|
} else if (inscmd.getCmdName() == "url"
|
||||||
|| inscmd.getCmdName() == "htmlurl") {
|
|| inscmd.getCmdName() == "htmlurl") {
|
||||||
inset = new InsetUrl(inscmd.getCommand());
|
inset = new InsetUrl(inscmd.params());
|
||||||
} else if (inscmd.getCmdName() == "ref"
|
} else if (inscmd.getCmdName() == "ref"
|
||||||
|| inscmd.getCmdName() == "pageref"
|
|| inscmd.getCmdName() == "pageref"
|
||||||
|| inscmd.getCmdName() == "vref"
|
|| inscmd.getCmdName() == "vref"
|
||||||
@ -1190,8 +1190,7 @@ void Buffer::readInset(LyXLex & lex, LyXParagraph *& par,
|
|||||||
inscmd.Read(this, lex);
|
inscmd.Read(this, lex);
|
||||||
Inset * inset = 0;
|
Inset * inset = 0;
|
||||||
if (inscmd.getCmdName() == "cite") {
|
if (inscmd.getCmdName() == "cite") {
|
||||||
inset = new InsetCitation(inscmd.getContents(),
|
inset = new InsetCitation(inscmd.params());
|
||||||
inscmd.getOptions());
|
|
||||||
} else if (inscmd.getCmdName() == "bibitem") {
|
} else if (inscmd.getCmdName() == "bibitem") {
|
||||||
lex.printError("Wrong place for bibitem");
|
lex.printError("Wrong place for bibitem");
|
||||||
inset = inscmd.Clone();
|
inset = inscmd.Clone();
|
||||||
@ -1206,7 +1205,7 @@ void Buffer::readInset(LyXLex & lex, LyXParagraph *& par,
|
|||||||
inset = new InsetLabel(inscmd.getCommand());
|
inset = new InsetLabel(inscmd.getCommand());
|
||||||
} else if (inscmd.getCmdName() == "url"
|
} else if (inscmd.getCmdName() == "url"
|
||||||
|| inscmd.getCmdName() == "htmlurl") {
|
|| inscmd.getCmdName() == "htmlurl") {
|
||||||
inset = new InsetUrl(inscmd.getCommand());
|
inset = new InsetUrl(inscmd.params());
|
||||||
} else if (inscmd.getCmdName() == "ref"
|
} else if (inscmd.getCmdName() == "ref"
|
||||||
|| inscmd.getCmdName() == "pageref"
|
|| inscmd.getCmdName() == "pageref"
|
||||||
|| inscmd.getCmdName() == "vref"
|
|| inscmd.getCmdName() == "vref"
|
||||||
|
@ -269,13 +269,9 @@ enum kb_action {
|
|||||||
LFUN_CREATE_CITATION, // Angus 20000705
|
LFUN_CREATE_CITATION, // Angus 20000705
|
||||||
LFUN_INSET_CAPTION, // Lgb 20000718
|
LFUN_INSET_CAPTION, // Lgb 20000718
|
||||||
LFUN_SWITCHBUFFER, // and where is this comming from?
|
LFUN_SWITCHBUFFER, // and where is this comming from?
|
||||||
|
LFUN_INSERT_URL, // Angus 20000726
|
||||||
LFUN_LASTACTION /* this marks the end of the table */
|
LFUN_LASTACTION /* this marks the end of the table */
|
||||||
};
|
};
|
||||||
|
|
||||||
std::ostream & operator<<(std::ostream &, kb_action);
|
std::ostream & operator<<(std::ostream &, kb_action);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ _("Options|O");
|
|||||||
_("Documents|D");
|
_("Documents|D");
|
||||||
_("Help|H");
|
_("Help|H");
|
||||||
_("File|F");
|
_("File|F");
|
||||||
_("File|F");
|
|
||||||
_("Options|O");
|
_("Options|O");
|
||||||
_("Help|H");
|
_("Help|H");
|
||||||
_("New...|N");
|
_("New...|N");
|
||||||
|
@ -35,13 +35,14 @@ class DialogBase;
|
|||||||
// Maybe this should be a UIFunc modelled on LyXFunc
|
// Maybe this should be a UIFunc modelled on LyXFunc
|
||||||
class LyXView;
|
class LyXView;
|
||||||
|
|
||||||
|
class InsetBibKey;
|
||||||
|
class InsetBibtex;
|
||||||
|
class InsetCitation;
|
||||||
class InsetInclude;
|
class InsetInclude;
|
||||||
class InsetIndex;
|
class InsetIndex;
|
||||||
class InsetBibKey;
|
|
||||||
class InsetCitation;
|
|
||||||
class InsetBibtex;
|
|
||||||
class InsetInfo;
|
class InsetInfo;
|
||||||
class InsetTabular;
|
class InsetTabular;
|
||||||
|
class InsetUrl;
|
||||||
|
|
||||||
/** Container of all dialogs and signals a LyXView needs or uses to access them
|
/** Container of all dialogs and signals a LyXView needs or uses to access them
|
||||||
The list of dialog signals isn't comprehensive but should be a good guide
|
The list of dialog signals isn't comprehensive but should be a good guide
|
||||||
@ -113,6 +114,10 @@ public:
|
|||||||
///
|
///
|
||||||
Signal1<void, string const &> createCitation;
|
Signal1<void, string const &> createCitation;
|
||||||
///
|
///
|
||||||
|
Signal1<void, InsetUrl *> showUrl;
|
||||||
|
///
|
||||||
|
Signal1<void, string const &> createUrl;
|
||||||
|
///
|
||||||
Signal1<void, InsetBibtex *> showBibtex;
|
Signal1<void, InsetBibtex *> showBibtex;
|
||||||
///
|
///
|
||||||
Signal1<void, InsetInfo *> showInfo;
|
Signal1<void, InsetInfo *> showInfo;
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "FormPreferences.h"
|
#include "FormPreferences.h"
|
||||||
#include "FormPrint.h"
|
#include "FormPrint.h"
|
||||||
#include "FormTabular.h"
|
#include "FormTabular.h"
|
||||||
|
#include "FormUrl.h"
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma implementation
|
#pragma implementation
|
||||||
@ -20,6 +21,7 @@ Dialogs::Dialogs(LyXView * lv)
|
|||||||
dialogs_.push_back(new FormPreferences(lv, this));
|
dialogs_.push_back(new FormPreferences(lv, this));
|
||||||
dialogs_.push_back(new FormPrint(lv, this));
|
dialogs_.push_back(new FormPrint(lv, this));
|
||||||
dialogs_.push_back(new FormTabular(lv, this));
|
dialogs_.push_back(new FormTabular(lv, this));
|
||||||
|
dialogs_.push_back(new FormUrl(lv, this));
|
||||||
|
|
||||||
// reduce the number of connections needed in
|
// reduce the number of connections needed in
|
||||||
// dialogs by a simple connection here.
|
// dialogs by a simple connection here.
|
||||||
|
@ -10,19 +10,17 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <algorithm>
|
|
||||||
|
|
||||||
#include "gettext.h"
|
#include "gettext.h"
|
||||||
#include FORMS_H_LOCATION
|
#include FORMS_H_LOCATION
|
||||||
#include "xform_macros.h"
|
|
||||||
#include "FormCitation.h"
|
|
||||||
#include "Dialogs.h"
|
|
||||||
#include "LyXView.h"
|
|
||||||
#include "lyxfunc.h"
|
|
||||||
#include "insets/insetcite.h"
|
|
||||||
#include "form_citation.h"
|
|
||||||
#include "buffer.h"
|
|
||||||
#include "BufferView.h"
|
#include "BufferView.h"
|
||||||
|
#include "Dialogs.h"
|
||||||
|
#include "FormCitation.h"
|
||||||
|
#include "LyXView.h"
|
||||||
|
#include "buffer.h"
|
||||||
|
#include "form_citation.h"
|
||||||
|
#include "lyxfunc.h"
|
||||||
|
#include "xform_macros.h"
|
||||||
|
#include "insets/insetcite.h"
|
||||||
#include "support/filetools.h"
|
#include "support/filetools.h"
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
@ -41,7 +39,8 @@ C_GENERICCB(FormCitation, CancelCB)
|
|||||||
C_GENERICCB(FormCitation, InputCB)
|
C_GENERICCB(FormCitation, InputCB)
|
||||||
|
|
||||||
FormCitation::FormCitation(LyXView * lv, Dialogs * d)
|
FormCitation::FormCitation(LyXView * lv, Dialogs * d)
|
||||||
: dialog_(0), lv_(lv), d_(d), h_(0), inset_(0), dialogIsOpen(false)
|
: dialog_(0), lv_(lv), d_(d), u_(0), h_(0), ih_(0),
|
||||||
|
inset_(0), dialogIsOpen(false)
|
||||||
{
|
{
|
||||||
// let the dialog be shown
|
// let the dialog be shown
|
||||||
// These are permanent connections so we won't bother
|
// These are permanent connections so we won't bother
|
||||||
@ -449,22 +448,23 @@ void FormCitation::apply()
|
|||||||
{
|
{
|
||||||
if( lv_->buffer()->isReadonly() ) return;
|
if( lv_->buffer()->isReadonly() ) return;
|
||||||
|
|
||||||
string tmp;
|
string contents;
|
||||||
for( unsigned int i = 0; i < citekeys.size(); ++i ) {
|
for( unsigned int i = 0; i < citekeys.size(); ++i ) {
|
||||||
if (i > 0) tmp += ", ";
|
if (i > 0) contents += ", ";
|
||||||
tmp += citekeys[i];
|
contents += citekeys[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
textAfter = fl_get_input(dialog_->textAftr);
|
textAfter = fl_get_input(dialog_->textAftr);
|
||||||
|
|
||||||
if( inset_ != 0 )
|
if( inset_ != 0 )
|
||||||
{
|
{
|
||||||
inset_->setContents( tmp );
|
inset_->setContents( contents );
|
||||||
inset_->setOptions( textAfter );
|
inset_->setOptions( textAfter );
|
||||||
lv_->view()->updateInset( inset_, true );
|
lv_->view()->updateInset( inset_, true );
|
||||||
} else {
|
} else {
|
||||||
string arg = tmp + '|' + textAfter;
|
InsetCommandParams p( "cite", contents, textAfter );
|
||||||
lv_->getLyXFunc()->Dispatch( LFUN_INSERT_CITATION, arg.c_str() );
|
lv_->getLyXFunc()->Dispatch( LFUN_INSERT_CITATION,
|
||||||
|
p.getAsString().c_str() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ private:
|
|||||||
void show();
|
void show();
|
||||||
/// Hide the dialog.
|
/// Hide the dialog.
|
||||||
void hide();
|
void hide();
|
||||||
/// Not used but we've got to implement it.
|
///
|
||||||
void update();
|
void update();
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
|
208
src/frontends/xforms/FormUrl.C
Normal file
208
src/frontends/xforms/FormUrl.C
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
// -*- C++ -*-
|
||||||
|
/* This file is part of
|
||||||
|
* ======================================================
|
||||||
|
*
|
||||||
|
* LyX, The Document Processor
|
||||||
|
*
|
||||||
|
* Copyright 2000 The LyX Team.
|
||||||
|
*
|
||||||
|
* ======================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include "gettext.h"
|
||||||
|
#include FORMS_H_LOCATION
|
||||||
|
#include "BufferView.h"
|
||||||
|
#include "Dialogs.h"
|
||||||
|
#include "FormUrl.h"
|
||||||
|
#include "LyXView.h"
|
||||||
|
#include "buffer.h"
|
||||||
|
#include "form_url.h"
|
||||||
|
#include "lyxfunc.h"
|
||||||
|
#include "xform_macros.h"
|
||||||
|
#include "insets/insetcommand.h"
|
||||||
|
#include "insets/inseturl.h"
|
||||||
|
#include "support/filetools.h"
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma implementation
|
||||||
|
#endif
|
||||||
|
|
||||||
|
C_RETURNCB(FormUrl, WMHideCB)
|
||||||
|
C_GENERICCB(FormUrl, OKCB)
|
||||||
|
C_GENERICCB(FormUrl, CancelCB)
|
||||||
|
|
||||||
|
FormUrl::FormUrl(LyXView * lv, Dialogs * d)
|
||||||
|
: dialog_(0), lv_(lv), d_(d), u_(0), h_(0), ih_(0),
|
||||||
|
inset_(0), dialogIsOpen(false)
|
||||||
|
{
|
||||||
|
// let the dialog be shown
|
||||||
|
// These are permanent connections so we won't bother
|
||||||
|
// storing a copy because we won't be disconnecting.
|
||||||
|
d->showUrl.connect(slot(this, &FormUrl::showInset));
|
||||||
|
d->createUrl.connect(slot(this, &FormUrl::createInset));
|
||||||
|
params = new InsetCommandParams();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FormUrl::~FormUrl()
|
||||||
|
{
|
||||||
|
free();
|
||||||
|
delete params;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FormUrl::build()
|
||||||
|
{
|
||||||
|
dialog_ = build_url();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FormUrl::showInset( InsetUrl * inset )
|
||||||
|
{
|
||||||
|
if( dialogIsOpen || inset == 0 ) return;
|
||||||
|
|
||||||
|
inset_ = inset;
|
||||||
|
ih_ = inset_->hide.connect(slot(this, &FormUrl::hide));
|
||||||
|
|
||||||
|
(*params) = inset->params();
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FormUrl::createInset( string const & arg )
|
||||||
|
{
|
||||||
|
if( dialogIsOpen ) return;
|
||||||
|
|
||||||
|
params->setFromString( arg );
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FormUrl::show()
|
||||||
|
{
|
||||||
|
if (!dialog_) {
|
||||||
|
build();
|
||||||
|
fl_set_form_atclose(dialog_->form_url,
|
||||||
|
C_FormUrlWMHideCB, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
update(); // make sure its up-to-date
|
||||||
|
|
||||||
|
dialogIsOpen = true;
|
||||||
|
if (dialog_->form_url->visible) {
|
||||||
|
fl_raise_form(dialog_->form_url);
|
||||||
|
} else {
|
||||||
|
fl_show_form(dialog_->form_url,
|
||||||
|
FL_PLACE_MOUSE | FL_FREE_SIZE,
|
||||||
|
FL_TRANSIENT,
|
||||||
|
_("Url"));
|
||||||
|
u_ = d_->updateBufferDependent.
|
||||||
|
connect(slot(this, &FormUrl::update));
|
||||||
|
h_ = d_->hideBufferDependent.
|
||||||
|
connect(slot(this, &FormUrl::hide));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FormUrl::update()
|
||||||
|
{
|
||||||
|
fl_set_input(dialog_->url, params->getContents().c_str());
|
||||||
|
fl_set_input(dialog_->name, params->getOptions().c_str());
|
||||||
|
|
||||||
|
if ( params->getCmdName() == "url" )
|
||||||
|
fl_set_button(dialog_->radio_html, 0);
|
||||||
|
else
|
||||||
|
fl_set_button(dialog_->radio_html, 1);
|
||||||
|
|
||||||
|
static int ow = -1, oh;
|
||||||
|
|
||||||
|
if (ow < 0) {
|
||||||
|
ow = dialog_->form_url->w;
|
||||||
|
oh = dialog_->form_url->h;
|
||||||
|
}
|
||||||
|
|
||||||
|
fl_set_form_minsize(dialog_->form_url, ow, oh);
|
||||||
|
fl_set_form_maxsize(dialog_->form_url, 2*ow, oh);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FormUrl::apply()
|
||||||
|
{
|
||||||
|
if( lv_->buffer()->isReadonly() ) return;
|
||||||
|
|
||||||
|
params->setContents( fl_get_input(dialog_->url) );
|
||||||
|
params->setOptions( fl_get_input(dialog_->name) );
|
||||||
|
|
||||||
|
if (fl_get_button(dialog_->radio_html))
|
||||||
|
params->setCmdName("htmlurl");
|
||||||
|
else
|
||||||
|
params->setCmdName("url");
|
||||||
|
|
||||||
|
if( inset_ != 0 )
|
||||||
|
{
|
||||||
|
inset_->setParams( *params );
|
||||||
|
lv_->view()->updateInset( inset_, true );
|
||||||
|
} else {
|
||||||
|
lv_->getLyXFunc()->Dispatch( LFUN_INSERT_URL,
|
||||||
|
params->getAsString().c_str() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FormUrl::hide()
|
||||||
|
{
|
||||||
|
if (dialog_
|
||||||
|
&& dialog_->form_url
|
||||||
|
&& dialog_->form_url->visible) {
|
||||||
|
fl_hide_form(dialog_->form_url);
|
||||||
|
u_.disconnect();
|
||||||
|
h_.disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
// free up the dialog for another inset
|
||||||
|
inset_ = 0;
|
||||||
|
ih_.disconnect();
|
||||||
|
dialogIsOpen = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FormUrl::free()
|
||||||
|
{
|
||||||
|
// we don't need to delete u and h here because
|
||||||
|
// hide() does that after disconnecting.
|
||||||
|
if (dialog_) {
|
||||||
|
if (dialog_->form_url
|
||||||
|
&& dialog_->form_url->visible) {
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
fl_free_form(dialog_->form_url);
|
||||||
|
delete dialog_;
|
||||||
|
dialog_ = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int FormUrl::WMHideCB(FL_FORM * form, void *)
|
||||||
|
{
|
||||||
|
// Ensure that the signals (u and h) are disconnected even if the
|
||||||
|
// window manager is used to close the dialog.
|
||||||
|
FormUrl * pre = static_cast<FormUrl*>(form->u_vdata);
|
||||||
|
pre->hide();
|
||||||
|
return FL_CANCEL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FormUrl::OKCB(FL_OBJECT * ob, long)
|
||||||
|
{
|
||||||
|
FormUrl * pre = static_cast<FormUrl*>(ob->form->u_vdata);
|
||||||
|
pre->apply();
|
||||||
|
pre->hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FormUrl::CancelCB(FL_OBJECT * ob, long)
|
||||||
|
{
|
||||||
|
FormUrl * pre = static_cast<FormUrl*>(ob->form->u_vdata);
|
||||||
|
pre->hide();
|
||||||
|
}
|
101
src/frontends/xforms/FormUrl.h
Normal file
101
src/frontends/xforms/FormUrl.h
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
// -*- C++ -*-
|
||||||
|
/* This file is part of
|
||||||
|
* ======================================================
|
||||||
|
*
|
||||||
|
* LyX, The Document Processor
|
||||||
|
*
|
||||||
|
* Copyright 2000 The LyX Team.
|
||||||
|
*
|
||||||
|
* ======================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef FORMURL_H
|
||||||
|
#define FORMURL_H
|
||||||
|
|
||||||
|
#include "DialogBase.h"
|
||||||
|
#include "LString.h"
|
||||||
|
|
||||||
|
class Dialogs;
|
||||||
|
class LyXView;
|
||||||
|
class InsetCommandParams;
|
||||||
|
class InsetUrl;
|
||||||
|
struct FD_form_url;
|
||||||
|
|
||||||
|
/** This class provides an XForms implementation of the FormUrl Dialog.
|
||||||
|
*/
|
||||||
|
class FormUrl : public DialogBase {
|
||||||
|
public:
|
||||||
|
/**@name Constructors and Destructors */
|
||||||
|
//@{
|
||||||
|
///
|
||||||
|
FormUrl(LyXView *, Dialogs *);
|
||||||
|
///
|
||||||
|
~FormUrl();
|
||||||
|
//@}
|
||||||
|
|
||||||
|
/**@name Real per-instance Callback Methods */
|
||||||
|
//@{
|
||||||
|
static int WMHideCB(FL_FORM *, void *);
|
||||||
|
static void OKCB(FL_OBJECT *, long);
|
||||||
|
static void CancelCB(FL_OBJECT *, long);
|
||||||
|
//@}
|
||||||
|
|
||||||
|
private:
|
||||||
|
FormUrl() {}
|
||||||
|
FormUrl(FormUrl &) : DialogBase() {}
|
||||||
|
|
||||||
|
/**@name Slot Methods */
|
||||||
|
//@{
|
||||||
|
/// Create the dialog if necessary, update it and display it.
|
||||||
|
void createInset( string const & );
|
||||||
|
///
|
||||||
|
void showInset( InsetUrl * );
|
||||||
|
///
|
||||||
|
void show();
|
||||||
|
/// Hide the dialog.
|
||||||
|
void hide();
|
||||||
|
///
|
||||||
|
void update();
|
||||||
|
//@}
|
||||||
|
|
||||||
|
/**@name Dialog internal methods */
|
||||||
|
//@{
|
||||||
|
/// Apply from dialog
|
||||||
|
void apply();
|
||||||
|
/// Build the dialog
|
||||||
|
void build();
|
||||||
|
///
|
||||||
|
FD_form_url * build_url();
|
||||||
|
/// Explicitly free the dialog.
|
||||||
|
void free();
|
||||||
|
//@}
|
||||||
|
|
||||||
|
/**@name Private Data */
|
||||||
|
//@{
|
||||||
|
/// Real GUI implementation.
|
||||||
|
FD_form_url * dialog_;
|
||||||
|
/** Which LyXFunc do we use?
|
||||||
|
We could modify Dialogs to have a visible LyXFunc* instead and
|
||||||
|
save a couple of bytes per dialog.
|
||||||
|
*/
|
||||||
|
LyXView * lv_;
|
||||||
|
/** Which Dialogs do we belong to?
|
||||||
|
Used so we can get at the signals we have to connect to.
|
||||||
|
*/
|
||||||
|
Dialogs * d_;
|
||||||
|
/// Update connection.
|
||||||
|
Connection u_;
|
||||||
|
/// Hide connection.
|
||||||
|
Connection h_;
|
||||||
|
/// inset::hide connection.
|
||||||
|
Connection ih_;
|
||||||
|
///
|
||||||
|
InsetUrl * inset_;
|
||||||
|
///
|
||||||
|
bool dialogIsOpen;
|
||||||
|
///
|
||||||
|
InsetCommandParams * params;
|
||||||
|
//@}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -10,7 +10,7 @@ Unit of measure: FL_COORD_PIXEL
|
|||||||
Name: form_url
|
Name: form_url
|
||||||
Width: 520
|
Width: 520
|
||||||
Height: 140
|
Height: 140
|
||||||
Number of Objects: 5
|
Number of Objects: 6
|
||||||
|
|
||||||
--------------------
|
--------------------
|
||||||
class: FL_BOX
|
class: FL_BOX
|
||||||
@ -44,7 +44,7 @@ label: URL
|
|||||||
shortcut: Url|#U
|
shortcut: Url|#U
|
||||||
resize: FL_RESIZE_X
|
resize: FL_RESIZE_X
|
||||||
gravity: FL_NorthWest FL_NorthEast
|
gravity: FL_NorthWest FL_NorthEast
|
||||||
name: url_name
|
name: url
|
||||||
callback:
|
callback:
|
||||||
argument:
|
argument:
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ label: Name
|
|||||||
shortcut: Name|#N
|
shortcut: Name|#N
|
||||||
resize: FL_RESIZE_X
|
resize: FL_RESIZE_X
|
||||||
gravity: FL_NorthWest FL_NorthEast
|
gravity: FL_NorthWest FL_NorthEast
|
||||||
name: name_name
|
name: name
|
||||||
callback:
|
callback:
|
||||||
argument:
|
argument:
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ argument:
|
|||||||
|
|
||||||
--------------------
|
--------------------
|
||||||
class: FL_BUTTON
|
class: FL_BUTTON
|
||||||
type: RETURN_BUTTON
|
type: NORMAL_BUTTON
|
||||||
box: 410 100 100 30
|
box: 410 100 100 30
|
||||||
boxtype: FL_UP_BOX
|
boxtype: FL_UP_BOX
|
||||||
colors: FL_COL1 FL_COL1
|
colors: FL_COL1 FL_COL1
|
||||||
@ -94,12 +94,30 @@ alignment: FL_ALIGN_CENTER
|
|||||||
style: FL_NORMAL_STYLE
|
style: FL_NORMAL_STYLE
|
||||||
size: FL_NORMAL_SIZE
|
size: FL_NORMAL_SIZE
|
||||||
lcol: FL_BLACK
|
lcol: FL_BLACK
|
||||||
label: Close|#C^[
|
label: Cancel
|
||||||
shortcut: ^M
|
shortcut: ^[
|
||||||
resize: FL_RESIZE_NONE
|
resize: FL_RESIZE_NONE
|
||||||
gravity: FL_SouthEast FL_SouthEast
|
gravity: FL_SouthEast FL_SouthEast
|
||||||
name: button_close
|
name: cancel
|
||||||
callback: C_InsetUrl_CloseUrlCB
|
callback: C_FormUrlCancelCB
|
||||||
|
argument: 0
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
class: FL_BUTTON
|
||||||
|
type: RETURN_BUTTON
|
||||||
|
box: 300 100 100 30
|
||||||
|
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: OK
|
||||||
|
shortcut: ^M
|
||||||
|
resize: FL_RESIZE_ALL
|
||||||
|
gravity: FL_SouthEast FL_SouthEast
|
||||||
|
name: ok
|
||||||
|
callback: C_FormUrlOKCB
|
||||||
argument: 0
|
argument: 0
|
||||||
|
|
||||||
==============================
|
==============================
|
@ -23,7 +23,8 @@ SRCS := form_citation.fd \
|
|||||||
form_copyright.fd \
|
form_copyright.fd \
|
||||||
form_preferences.fd \
|
form_preferences.fd \
|
||||||
form_print.fd \
|
form_print.fd \
|
||||||
form_tabular.fd
|
form_tabular.fd \
|
||||||
|
form_url.fd
|
||||||
|
|
||||||
|
|
||||||
OBJS := $(SRCS:.fd=.c)
|
OBJS := $(SRCS:.fd=.c)
|
||||||
|
@ -14,8 +14,6 @@ libinsets_la_SOURCES = \
|
|||||||
figinset.h \
|
figinset.h \
|
||||||
form_graphics.C \
|
form_graphics.C \
|
||||||
form_graphics.h \
|
form_graphics.h \
|
||||||
form_url.C \
|
|
||||||
form_url.h \
|
|
||||||
inset.C \
|
inset.C \
|
||||||
insetbib.C \
|
insetbib.C \
|
||||||
insetbib.h \
|
insetbib.h \
|
||||||
|
@ -350,10 +350,11 @@ void InsetBibtex::Edit(BufferView * bv, int, int, unsigned int)
|
|||||||
|
|
||||||
bool InsetBibtex::addDatabase(string const & db)
|
bool InsetBibtex::addDatabase(string const & db)
|
||||||
{
|
{
|
||||||
if (!contains(getContents(), db.c_str())) {
|
string contents(getContents());
|
||||||
if (!getContents().empty())
|
if (!contains(contents, db.c_str())) {
|
||||||
addContents(",");
|
if (!contents.empty())
|
||||||
addContents(db);
|
contents += ",";
|
||||||
|
setContents(contents + db);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -20,8 +20,8 @@
|
|||||||
#include "frontends/Dialogs.h"
|
#include "frontends/Dialogs.h"
|
||||||
#include "support/lstrings.h"
|
#include "support/lstrings.h"
|
||||||
|
|
||||||
InsetCitation::InsetCitation(string const & key, string const & note)
|
InsetCitation::InsetCitation(InsetCommandParams const & p)
|
||||||
: InsetCommand("cite", key, note)
|
: InsetCommand(p)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
InsetCitation::~InsetCitation()
|
InsetCitation::~InsetCitation()
|
||||||
|
@ -18,26 +18,21 @@
|
|||||||
#include "insetcommand.h"
|
#include "insetcommand.h"
|
||||||
#include <sigc++/signal_system.h>
|
#include <sigc++/signal_system.h>
|
||||||
|
|
||||||
class Dialogs;
|
|
||||||
|
|
||||||
#ifdef SIGC_CXX_NAMESPACES
|
#ifdef SIGC_CXX_NAMESPACES
|
||||||
using SigC::Signal0;
|
using SigC::Signal0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/** Used to insert citations
|
/** Used to insert citations
|
||||||
*/
|
*/
|
||||||
class InsetCitation : public InsetCommand {
|
class InsetCitation : public InsetCommand {
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
explicit
|
explicit
|
||||||
InsetCitation(string const & key, string const & note = string());
|
InsetCitation(InsetCommandParams const &);
|
||||||
///
|
///
|
||||||
~InsetCitation();
|
~InsetCitation();
|
||||||
///
|
///
|
||||||
Inset * Clone() const {
|
Inset * Clone() const { return new InsetCitation(params()); }
|
||||||
return new InsetCitation(getContents(), getOptions());
|
|
||||||
}
|
|
||||||
///
|
///
|
||||||
string getScreenLabel() const;
|
string getScreenLabel() const;
|
||||||
///
|
///
|
||||||
|
@ -22,16 +22,67 @@ using std::ostream;
|
|||||||
using std::endl;
|
using std::endl;
|
||||||
|
|
||||||
|
|
||||||
|
InsetCommandParams::InsetCommandParams()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
InsetCommandParams::InsetCommandParams( string const & n,
|
||||||
|
string const & c,
|
||||||
|
string const & o )
|
||||||
|
: cmdname(n), contents(c), options(o)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
string InsetCommandParams::getAsString() const
|
||||||
|
{
|
||||||
|
string b(cmdname);
|
||||||
|
b += "|++|" + options + "|++|" + contents;
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void InsetCommandParams::setFromString( string const & b )
|
||||||
|
{
|
||||||
|
string::size_type idx = b.find("|++|");
|
||||||
|
if( idx == string::npos ) return;
|
||||||
|
|
||||||
|
cmdname = b.substr(0, idx);
|
||||||
|
string tmp = b.substr(idx+4);
|
||||||
|
|
||||||
|
idx = tmp.find("|++|");
|
||||||
|
if( idx == string::npos ) {
|
||||||
|
options = tmp;
|
||||||
|
} else {
|
||||||
|
options = tmp.substr(0, idx);
|
||||||
|
contents = tmp.substr(idx+4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
InsetCommand::InsetCommand()
|
InsetCommand::InsetCommand()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
InsetCommand::InsetCommand(string const & cmd, string const & arg,
|
InsetCommand::InsetCommand( string const & n,
|
||||||
string const & opt)
|
string const & c,
|
||||||
: cmdname(cmd), options(opt), contents(arg)
|
string const & o )
|
||||||
|
: p_(n, c, o)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
InsetCommand::InsetCommand( InsetCommandParams const & p )
|
||||||
|
: p_( p.getCmdName(), p.getContents(), p.getOptions() )
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
void InsetCommand::setParams(InsetCommandParams const & p )
|
||||||
|
{
|
||||||
|
p_.setCmdName( p.getCmdName() );
|
||||||
|
p_.setContents( p.getContents() );
|
||||||
|
p_.setOptions( p.getOptions() );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// In lyxf3 this will be just LaTeX
|
// In lyxf3 this will be just LaTeX
|
||||||
void InsetCommand::Write(Buffer const *, ostream & os) const
|
void InsetCommand::Write(Buffer const *, ostream & os) const
|
||||||
{
|
{
|
||||||
@ -88,10 +139,9 @@ void InsetCommand::scanCommand(string const & cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Don't mess with this.
|
// Don't mess with this.
|
||||||
if (!tcmdname.empty()) cmdname = tcmdname;
|
if (!tcmdname.empty()) setCmdName( tcmdname );
|
||||||
if (!toptions.empty()) options = toptions;
|
if (!toptions.empty()) setOptions( toptions );
|
||||||
if (!tcontents.empty()) setContents( tcontents );
|
if (!tcontents.empty()) setContents( tcontents );
|
||||||
// setContents is overloaded in InsetInclude
|
|
||||||
|
|
||||||
if (lyxerr.debugging(Debug::PARSER))
|
if (lyxerr.debugging(Debug::PARSER))
|
||||||
lyxerr << "Command <" << cmd
|
lyxerr << "Command <" << cmd
|
||||||
@ -153,15 +203,15 @@ int InsetCommand::DocBook(Buffer const *, ostream &) const
|
|||||||
|
|
||||||
Inset * InsetCommand::Clone() const
|
Inset * InsetCommand::Clone() const
|
||||||
{
|
{
|
||||||
return new InsetCommand(cmdname, contents, options);
|
return new InsetCommand(getCmdName(), getContents(), getOptions());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
string InsetCommand::getCommand() const
|
string InsetCommand::getCommand() const
|
||||||
{
|
{
|
||||||
string s;
|
string s;
|
||||||
if (!cmdname.empty()) s += "\\"+cmdname;
|
if (!getCmdName().empty()) s += "\\"+getCmdName();
|
||||||
if (!options.empty()) s += "["+options+']';
|
if (!getOptions().empty()) s += "["+getOptions()+']';
|
||||||
s += "{"+contents+'}';
|
s += "{"+getContents()+'}';
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
@ -24,14 +24,54 @@
|
|||||||
* Similar to InsetLaTeX but having control of the basic structure of a
|
* Similar to InsetLaTeX but having control of the basic structure of a
|
||||||
* LaTeX command: \name[options]{contents}.
|
* LaTeX command: \name[options]{contents}.
|
||||||
*/
|
*/
|
||||||
|
class InsetCommandParams {
|
||||||
|
public:
|
||||||
|
///
|
||||||
|
InsetCommandParams();
|
||||||
|
///
|
||||||
|
explicit
|
||||||
|
InsetCommandParams( string const & n,
|
||||||
|
string const & c = string(),
|
||||||
|
string const & o = string());
|
||||||
|
///
|
||||||
|
string const & getCmdName() const { return cmdname; }
|
||||||
|
///
|
||||||
|
string const & getOptions() const { return options; }
|
||||||
|
///
|
||||||
|
string const & getContents() const { return contents; }
|
||||||
|
///
|
||||||
|
void setCmdName( string const & n ) { cmdname = n; }
|
||||||
|
///
|
||||||
|
void setOptions(string const & o) { options = o; }
|
||||||
|
///
|
||||||
|
void setContents(string const & c) { contents = c; }
|
||||||
|
///
|
||||||
|
string getAsString() const;
|
||||||
|
///
|
||||||
|
void setFromString( string const & );
|
||||||
|
|
||||||
|
private:
|
||||||
|
///
|
||||||
|
string cmdname;
|
||||||
|
///
|
||||||
|
string contents;
|
||||||
|
///
|
||||||
|
string options;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class InsetCommand : public InsetButton {
|
class InsetCommand : public InsetButton {
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
InsetCommand();
|
InsetCommand();
|
||||||
///
|
///
|
||||||
explicit
|
explicit
|
||||||
InsetCommand(string const & name, string const & arg = string(),
|
InsetCommand(string const & n,
|
||||||
string const & opt = string());
|
string const & c = string(),
|
||||||
|
string const & o = string());
|
||||||
|
///
|
||||||
|
explicit
|
||||||
|
InsetCommand(InsetCommandParams const &);
|
||||||
///
|
///
|
||||||
void Write(Buffer const *, std::ostream &) const;
|
void Write(Buffer const *, std::ostream &) const;
|
||||||
|
|
||||||
@ -62,48 +102,28 @@ public:
|
|||||||
confusion with lyxinset::getLabel(int), but I've seen that
|
confusion with lyxinset::getLabel(int), but I've seen that
|
||||||
it wasn't. I hope you never confuse again both methods. (ale)
|
it wasn't. I hope you never confuse again both methods. (ale)
|
||||||
*/
|
*/
|
||||||
virtual string getScreenLabel() const
|
virtual string getScreenLabel() const { return getCommand(); }
|
||||||
{
|
|
||||||
return getCommand();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Build the complete LaTeX command
|
/// Build the complete LaTeX command
|
||||||
string getCommand() const;
|
string getCommand() const;
|
||||||
///
|
///
|
||||||
string const & getCmdName() const {
|
string const & getCmdName() const { return p_.getCmdName(); }
|
||||||
return cmdname;
|
|
||||||
}
|
|
||||||
///
|
///
|
||||||
string const & getOptions() const {
|
string const & getOptions() const { return p_.getOptions(); }
|
||||||
return options;
|
|
||||||
}
|
|
||||||
///
|
///
|
||||||
string const & getContents() const {
|
string const & getContents() const { return p_.getContents(); }
|
||||||
return contents;
|
|
||||||
}
|
|
||||||
///
|
///
|
||||||
void setCmdName(string const & n) {
|
void setCmdName(string const & n) { p_.setCmdName(n); }
|
||||||
cmdname = n;
|
|
||||||
}
|
|
||||||
///
|
///
|
||||||
void setOptions(string const & o) {
|
void setOptions(string const & o) { p_.setOptions(o); }
|
||||||
options = o;
|
|
||||||
}
|
|
||||||
///
|
///
|
||||||
virtual void setContents(string const & c) {
|
void setContents(string const & c) { p_.setContents(c); }
|
||||||
contents = c;
|
|
||||||
}
|
|
||||||
///
|
///
|
||||||
void addContents(string const & c) {
|
InsetCommandParams const & params() const { return p_; }
|
||||||
contents += c;
|
///
|
||||||
}
|
void setParams(InsetCommandParams const &);
|
||||||
private:
|
private:
|
||||||
///
|
///
|
||||||
string cmdname;
|
InsetCommandParams p_;
|
||||||
///
|
|
||||||
string options;
|
|
||||||
///
|
|
||||||
string contents;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
@ -334,14 +335,19 @@ string InsetInclude::getScreenLabel() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetInclude::setContents(string const & c)
|
string InsetInclude::getFileName() const
|
||||||
{
|
{
|
||||||
InsetCommand::setContents(c);
|
return MakeAbsPath(getContents(),
|
||||||
filename = MakeAbsPath(getContents(),
|
|
||||||
OnlyPath(getMasterFilename()));
|
OnlyPath(getMasterFilename()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
string InsetInclude::getMasterFilename() const
|
||||||
|
{
|
||||||
|
return master->fileName();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool InsetInclude::loadIfNeeded() const
|
bool InsetInclude::loadIfNeeded() const
|
||||||
{
|
{
|
||||||
if (isNoLoad() || isVerb()) return false;
|
if (isNoLoad() || isVerb()) return false;
|
||||||
|
@ -16,9 +16,8 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "insetcommand.h"
|
#include "insetcommand.h"
|
||||||
#include "buffer.h"
|
|
||||||
#include "support/filetools.h"
|
|
||||||
|
|
||||||
|
class Buffer;
|
||||||
struct LaTeXFeatures;
|
struct LaTeXFeatures;
|
||||||
|
|
||||||
// Created by AAS 970521
|
// Created by AAS 970521
|
||||||
@ -73,15 +72,10 @@ public:
|
|||||||
///
|
///
|
||||||
string getScreenLabel() const;
|
string getScreenLabel() const;
|
||||||
///
|
///
|
||||||
void setContents(string const & c);
|
string getMasterFilename() const;
|
||||||
///
|
///
|
||||||
void setFilename(string const & n) { setContents(n); }
|
string getFileName() const;
|
||||||
///
|
|
||||||
string getMasterFilename() const { return master->fileName(); }
|
|
||||||
///
|
|
||||||
string getFileName() const {
|
|
||||||
return filename;
|
|
||||||
}
|
|
||||||
/// In "input" mode uses \input instead of \include.
|
/// In "input" mode uses \input instead of \include.
|
||||||
bool isInput() const { return flag == InsetInclude::INPUT; }
|
bool isInput() const { return flag == InsetInclude::INPUT; }
|
||||||
/// If this is true, the child file shouldn't be loaded by lyx
|
/// If this is true, the child file shouldn't be loaded by lyx
|
||||||
@ -129,8 +123,6 @@ private:
|
|||||||
///
|
///
|
||||||
Buffer * master;
|
Buffer * master;
|
||||||
///
|
///
|
||||||
string filename;
|
|
||||||
///
|
|
||||||
mutable string include_label;
|
mutable string include_label;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,115 +1,27 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include <cstdlib>
|
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma implementation
|
#pragma implementation
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include FORMS_H_LOCATION
|
|
||||||
#include "inseturl.h"
|
#include "inseturl.h"
|
||||||
#include "LString.h"
|
#include "BufferView.h"
|
||||||
#include "commandtags.h"
|
|
||||||
#include "debug.h"
|
|
||||||
#include "gettext.h"
|
|
||||||
#include "LaTeXFeatures.h"
|
#include "LaTeXFeatures.h"
|
||||||
#include "lyx_gui_misc.h" // CancelCloseBoxCB
|
#include "LyXView.h"
|
||||||
|
#include "debug.h"
|
||||||
|
#include "frontends/Dialogs.h"
|
||||||
|
|
||||||
using std::ostream;
|
using std::ostream;
|
||||||
|
|
||||||
|
|
||||||
InsetUrl::InsetUrl(string const & cmd)
|
InsetUrl::InsetUrl(InsetCommandParams const & p)
|
||||||
: fd_form_url(0)
|
: InsetCommand(p)
|
||||||
{
|
{}
|
||||||
scanCommand(cmd);
|
|
||||||
if (getCmdName() == "url")
|
|
||||||
flag = InsetUrl::URL;
|
|
||||||
else
|
|
||||||
flag = InsetUrl::HTML_URL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
InsetUrl::InsetUrl(InsetCommand const & inscmd)
|
|
||||||
: fd_form_url(0)
|
|
||||||
{
|
|
||||||
setCmdName(inscmd.getCmdName());
|
|
||||||
setContents(inscmd.getContents());
|
|
||||||
setOptions(inscmd.getOptions());
|
|
||||||
if (getCmdName() == "url")
|
|
||||||
flag = InsetUrl::URL;
|
|
||||||
else
|
|
||||||
flag = InsetUrl::HTML_URL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
InsetUrl::InsetUrl(string const & ins_name, string const & ins_cont,
|
|
||||||
string const & ins_opt)
|
|
||||||
: fd_form_url(0)
|
|
||||||
{
|
|
||||||
setCmdName(ins_name);
|
|
||||||
setContents(ins_cont);
|
|
||||||
setOptions(ins_opt);
|
|
||||||
if (ins_name == "url")
|
|
||||||
flag = InsetUrl::URL;
|
|
||||||
else
|
|
||||||
flag = InsetUrl::HTML_URL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
InsetUrl::~InsetUrl()
|
InsetUrl::~InsetUrl()
|
||||||
{
|
{
|
||||||
if (fd_form_url) {
|
hide();
|
||||||
fl_hide_form(fd_form_url->form_url);
|
|
||||||
fl_free_form(fd_form_url->form_url);
|
|
||||||
fd_form_url = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void InsetUrl::CloseUrlCB(FL_OBJECT * ob, long)
|
|
||||||
{
|
|
||||||
Holder * holder = static_cast<Holder*>(ob->u_vdata);
|
|
||||||
|
|
||||||
InsetUrl * inset = holder->inset;
|
|
||||||
BufferView * bv = holder->view;
|
|
||||||
|
|
||||||
string url = fl_get_input(inset->fd_form_url->url_name);
|
|
||||||
string name = fl_get_input(inset->fd_form_url->name_name);
|
|
||||||
string cmdname;
|
|
||||||
if (fl_get_button(inset->fd_form_url->radio_html))
|
|
||||||
cmdname = "htmlurl";
|
|
||||||
else
|
|
||||||
cmdname = "url";
|
|
||||||
|
|
||||||
Buffer * buffer = bv->buffer();
|
|
||||||
|
|
||||||
if ((url != inset->getContents() ||
|
|
||||||
name != inset->getOptions() ||
|
|
||||||
cmdname != inset->getCmdName())
|
|
||||||
&& !(buffer->isReadonly()) ) {
|
|
||||||
buffer->markDirty();
|
|
||||||
inset->setContents(url);
|
|
||||||
inset->setOptions(name);
|
|
||||||
inset->setCmdName(cmdname);
|
|
||||||
if (cmdname == "url")
|
|
||||||
inset->flag = InsetUrl::URL;
|
|
||||||
else
|
|
||||||
inset->flag = InsetUrl::HTML_URL;
|
|
||||||
bv->updateInset(inset, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (inset->fd_form_url) {
|
|
||||||
fl_hide_form(inset->fd_form_url->form_url);
|
|
||||||
fl_free_form(inset->fd_form_url->form_url);
|
|
||||||
inset->fd_form_url = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
extern "C"
|
|
||||||
void C_InsetUrl_CloseUrlCB(FL_OBJECT * ob, long data)
|
|
||||||
{
|
|
||||||
InsetUrl::CloseUrlCB(ob, data);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -121,57 +33,23 @@ char const * InsetUrl::EditMessage() const
|
|||||||
|
|
||||||
void InsetUrl::Edit(BufferView * bv, int, int, unsigned int)
|
void InsetUrl::Edit(BufferView * bv, int, int, unsigned int)
|
||||||
{
|
{
|
||||||
static int ow = -1, oh;
|
bv->owner()->getDialogs()->showUrl( this );
|
||||||
|
|
||||||
if(bv->buffer()->isReadonly())
|
|
||||||
WarnReadonly(bv->buffer()->fileName());
|
|
||||||
|
|
||||||
if (!fd_form_url) {
|
|
||||||
fd_form_url = create_form_form_url();
|
|
||||||
holder.inset = this;
|
|
||||||
fd_form_url->button_close->u_vdata = &holder;
|
|
||||||
fl_set_form_atclose(fd_form_url->form_url,
|
|
||||||
CancelCloseBoxCB, 0);
|
|
||||||
}
|
|
||||||
holder.view = bv;
|
|
||||||
fl_set_input(fd_form_url->url_name, getContents().c_str());
|
|
||||||
fl_set_input(fd_form_url->name_name, getOptions().c_str());
|
|
||||||
switch(flag) {
|
|
||||||
case InsetUrl::URL:
|
|
||||||
fl_set_button(fd_form_url->radio_html, 0);
|
|
||||||
break;
|
|
||||||
case InsetUrl::HTML_URL:
|
|
||||||
fl_set_button(fd_form_url->radio_html, 1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fd_form_url->form_url->visible) {
|
|
||||||
fl_raise_form(fd_form_url->form_url);
|
|
||||||
} else {
|
|
||||||
fl_show_form(fd_form_url->form_url,
|
|
||||||
FL_PLACE_MOUSE | FL_FREE_SIZE,
|
|
||||||
FL_FULLBORDER, _("Insert Url"));
|
|
||||||
if (ow < 0) {
|
|
||||||
ow = fd_form_url->form_url->w;
|
|
||||||
oh = fd_form_url->form_url->h;
|
|
||||||
}
|
|
||||||
fl_set_form_minsize(fd_form_url->form_url, ow, oh);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
string InsetUrl::getScreenLabel() const
|
string InsetUrl::getScreenLabel() const
|
||||||
{
|
{
|
||||||
string temp;
|
string temp;
|
||||||
if (flag == InsetUrl::HTML_URL)
|
if( getCmdName() == "url" )
|
||||||
temp += _("HtmlUrl: ");
|
temp = _("Url: ");
|
||||||
else
|
else
|
||||||
temp += _("Url: ");
|
temp = _("HtmlUrl: ");
|
||||||
if(!getOptions().empty()) {
|
|
||||||
|
if(!getOptions().empty())
|
||||||
temp += getOptions();
|
temp += getOptions();
|
||||||
} else {
|
else
|
||||||
temp += getContents();
|
temp += getContents();
|
||||||
}
|
|
||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,62 +16,40 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "insetcommand.h"
|
#include "insetcommand.h"
|
||||||
#include "buffer.h"
|
#include <sigc++/signal_system.h>
|
||||||
#include "form_url.h"
|
|
||||||
|
|
||||||
struct LaTeXFeatures;
|
struct LaTeXFeatures;
|
||||||
|
|
||||||
|
#ifdef SIGC_CXX_NAMESPACES
|
||||||
|
using SigC::Signal0;
|
||||||
|
#endif
|
||||||
|
|
||||||
/** The url inset
|
/** The url inset
|
||||||
*/
|
*/
|
||||||
class InsetUrl : public InsetCommand {
|
class InsetUrl : public InsetCommand {
|
||||||
public:
|
public:
|
||||||
///
|
|
||||||
enum Url_Flags {
|
|
||||||
///
|
|
||||||
URL,
|
|
||||||
///
|
|
||||||
HTML_URL
|
|
||||||
};
|
|
||||||
|
|
||||||
///
|
|
||||||
InsetUrl() : InsetCommand("url"), fd_form_url(0) {
|
|
||||||
flag = InsetUrl::URL;
|
|
||||||
}
|
|
||||||
///
|
///
|
||||||
explicit
|
explicit
|
||||||
InsetUrl(string const &);
|
InsetUrl(InsetCommandParams const &);
|
||||||
///
|
|
||||||
explicit
|
|
||||||
InsetUrl(InsetCommand const &);
|
|
||||||
///
|
|
||||||
InsetUrl(string const &, string const &, string const &);
|
|
||||||
///
|
///
|
||||||
~InsetUrl();
|
~InsetUrl();
|
||||||
///
|
///
|
||||||
Inset * Clone() const { return new InsetUrl(getCommand()); }
|
Inset * Clone() const { return new InsetUrl(params()); }
|
||||||
///
|
///
|
||||||
Inset::Code LyxCode() const { return Inset::URL_CODE; }
|
Inset::Code LyxCode() const { return Inset::URL_CODE; }
|
||||||
///
|
///
|
||||||
void Validate(LaTeXFeatures &) const;
|
void Validate(LaTeXFeatures &) const;
|
||||||
///
|
///
|
||||||
void Edit(BufferView *, int, int, unsigned int);
|
string getScreenLabel() const;
|
||||||
///
|
///
|
||||||
EDITABLE Editable() const {
|
EDITABLE Editable() const { return IS_EDITABLE; }
|
||||||
return IS_EDITABLE;
|
|
||||||
}
|
|
||||||
///
|
///
|
||||||
char const * EditMessage() const;
|
char const * EditMessage() const;
|
||||||
///
|
///
|
||||||
|
void Edit(BufferView *, int, int, unsigned int);
|
||||||
|
///
|
||||||
bool display() const { return false; }
|
bool display() const { return false; }
|
||||||
///
|
///
|
||||||
string getScreenLabel() const;
|
|
||||||
///
|
|
||||||
InsetUrl::Url_Flags getFlag() const { return flag; }
|
|
||||||
///
|
|
||||||
void setFlag(InsetUrl::Url_Flags f) { flag = f; }
|
|
||||||
///
|
|
||||||
void gotoLabel();
|
|
||||||
///
|
|
||||||
int Latex(Buffer const *, std::ostream &,
|
int Latex(Buffer const *, std::ostream &,
|
||||||
bool fragile, bool free_spc) const;
|
bool fragile, bool free_spc) const;
|
||||||
///
|
///
|
||||||
@ -81,20 +59,7 @@ public:
|
|||||||
///
|
///
|
||||||
int DocBook(Buffer const *, std::ostream &) const;
|
int DocBook(Buffer const *, std::ostream &) const;
|
||||||
///
|
///
|
||||||
static void CloseUrlCB(FL_OBJECT *, long data);
|
Signal0<void> hide;
|
||||||
private:
|
|
||||||
///
|
|
||||||
struct Holder {
|
|
||||||
InsetUrl * inset;
|
|
||||||
BufferView * view;
|
|
||||||
};
|
|
||||||
///
|
|
||||||
Holder holder;
|
|
||||||
|
|
||||||
///
|
|
||||||
Url_Flags flag;
|
|
||||||
///
|
|
||||||
FD_form_url * fd_form_url;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -2071,15 +2071,25 @@ string LyXFunc::Dispatch(int ac,
|
|||||||
case LFUN_HTMLURL:
|
case LFUN_HTMLURL:
|
||||||
case LFUN_URL:
|
case LFUN_URL:
|
||||||
{
|
{
|
||||||
InsetCommand * new_inset;
|
InsetCommandParams p;
|
||||||
if (action == LFUN_HTMLURL)
|
if (action == LFUN_HTMLURL)
|
||||||
new_inset = new InsetUrl("htmlurl", "", "");
|
p.setCmdName("htmlurl");
|
||||||
else
|
else
|
||||||
new_inset = new InsetUrl("url", "", "");
|
p.setCmdName("url");
|
||||||
if (owner->view()->insertInset(new_inset))
|
owner->getDialogs()->createUrl( p.getAsString() );
|
||||||
new_inset->Edit(owner->view(), 0, 0, 0);
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case LFUN_INSERT_URL:
|
||||||
|
{
|
||||||
|
InsetCommandParams p;
|
||||||
|
p.setFromString( argument );
|
||||||
|
|
||||||
|
InsetUrl * inset = new InsetUrl( p );
|
||||||
|
if (!owner->view()->insertInset(inset))
|
||||||
|
delete inset;
|
||||||
else
|
else
|
||||||
delete new_inset;
|
owner->view()->updateInset( inset, true );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -2493,10 +2503,10 @@ string LyXFunc::Dispatch(int ac,
|
|||||||
|
|
||||||
case LFUN_INSERT_CITATION:
|
case LFUN_INSERT_CITATION:
|
||||||
{
|
{
|
||||||
string keys = token(argument, '|', 0);
|
InsetCommandParams p;
|
||||||
string text = token(argument, '|', 1);
|
p.setFromString( argument );
|
||||||
|
|
||||||
InsetCitation * inset = new InsetCitation( keys, text );
|
InsetCitation * inset = new InsetCitation( p );
|
||||||
if (!owner->view()->insertInset(inset))
|
if (!owner->view()->insertInset(inset))
|
||||||
delete inset;
|
delete inset;
|
||||||
else
|
else
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "lyxrc.h"
|
#include "lyxrc.h"
|
||||||
#include "layout.h"
|
#include "layout.h"
|
||||||
#include "tex-strings.h"
|
#include "tex-strings.h"
|
||||||
|
#include "buffer.h"
|
||||||
#include "bufferparams.h"
|
#include "bufferparams.h"
|
||||||
#include "support/FileInfo.h"
|
#include "support/FileInfo.h"
|
||||||
#include "support/LAssert.h"
|
#include "support/LAssert.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user