mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 10:58:52 +00:00
support for sidewaysfloats and fix for bug 1016 (float placement allows impossible settings).
BTW: floats are still broken (dialogs do not get updated). No idea where this bug sits. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8557 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
374e280417
commit
4072a82b6e
@ -1,6 +1,19 @@
|
|||||||
LyX file-format changes
|
LyX file-format changes
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
2004-03-29 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
||||||
|
|
||||||
|
* format incremented to 231.
|
||||||
|
|
||||||
|
* Support for sidewaysfigure/sidewaystable (rotating package).
|
||||||
|
insetfloat has now a param \sideways [true|false] (default is false).
|
||||||
|
The param should be erased on downwards conversion, if it was true,
|
||||||
|
the inset should be replaced by
|
||||||
|
\begin{sidewaysfigure} <content> \end{sidewaysfigure}
|
||||||
|
resp.
|
||||||
|
\begin{sidewaystable} <content> \end{sidewaystable}
|
||||||
|
i.e. ERT.
|
||||||
|
|
||||||
2004-02-23 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
2004-02-23 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
||||||
|
|
||||||
* format incremented to 230.
|
* format incremented to 230.
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2004-03-29 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
||||||
|
|
||||||
|
* lyx2lyx: up the format to 231.
|
||||||
|
|
||||||
2004-03-26 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
2004-03-26 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
||||||
|
|
||||||
* lyxrevert_225.py (convert_frameless_box): fix minipage ERT output
|
* lyxrevert_225.py (convert_frameless_box): fix minipage ERT output
|
||||||
|
@ -40,7 +40,8 @@ opt.quiet = 0
|
|||||||
|
|
||||||
format = re.compile(r"(\d)[\.,]?(\d\d)")
|
format = re.compile(r"(\d)[\.,]?(\d\d)")
|
||||||
fileformat = re.compile(r"\\lyxformat\s*(\S*)")
|
fileformat = re.compile(r"\\lyxformat\s*(\S*)")
|
||||||
lst_ft = [210, 215, 216, 217, 218, 220, 221, 223, 224, 225, 226, 227, 228, 229, 230]
|
lst_ft = [210, 215, 216, 217, 218, 220, 221, 223, 224, 225, 226, 227, 228, 229,
|
||||||
|
230, 231]
|
||||||
|
|
||||||
def usage():
|
def usage():
|
||||||
print """Usage: lyx2lyx [options] [file]
|
print """Usage: lyx2lyx [options] [file]
|
||||||
|
29
lib/lyx2lyx/lyxconvert_230.py
Normal file
29
lib/lyx2lyx/lyxconvert_230.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# This file is part of lyx2lyx
|
||||||
|
# -*- coding: iso-8859-1 -*-
|
||||||
|
# Copyright (C) 2003 José Matos <jamatos@fep.up.pt>
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from parser_tools import find_token
|
||||||
|
|
||||||
|
|
||||||
|
def convert(header, body):
|
||||||
|
pass
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
pass
|
29
lib/lyx2lyx/lyxrevert_231.py
Normal file
29
lib/lyx2lyx/lyxrevert_231.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# This file is part of lyx2lyx
|
||||||
|
# -*- coding: iso-8859-1 -*-
|
||||||
|
# Copyright (C) 2003 José Matos <jamatos@fep.up.pt>
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from parser_tools import find_token
|
||||||
|
|
||||||
|
|
||||||
|
def convert(header, body):
|
||||||
|
pass
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
pass
|
@ -190,6 +190,8 @@ src/output_plaintext.C
|
|||||||
src/paragraph.C
|
src/paragraph.C
|
||||||
src/rowpainter.C
|
src/rowpainter.C
|
||||||
src/support/globbing.C
|
src/support/globbing.C
|
||||||
|
src/support/path_defines.C
|
||||||
|
src/tex2lyx/lengthcommon.C
|
||||||
src/text.C
|
src/text.C
|
||||||
src/text2.C
|
src/text2.C
|
||||||
src/text3.C
|
src/text3.C
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
2004-03-29 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
||||||
|
|
||||||
|
* buffer.C: increment file format to 231.
|
||||||
|
|
||||||
2004-03-28 Alfredo Braunstein <abraunst@lyx.org>
|
2004-03-28 Alfredo Braunstein <abraunst@lyx.org>
|
||||||
|
|
||||||
@ -221,6 +224,7 @@
|
|||||||
* lyxrc.C (setDefaults, getDescription, output, read):
|
* lyxrc.C (setDefaults, getDescription, output, read):
|
||||||
* lyxrc.h: remove ps_command
|
* lyxrc.h: remove ps_command
|
||||||
|
|
||||||
|
>>>>>>> 1.1856
|
||||||
2004-03-22 Angus Leeming <leeming@lyx.org>
|
2004-03-22 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
* lyx_main.C (error_handler, init): remove handler for SIGPIPE.
|
* lyx_main.C (error_handler, init): remove handler for SIGPIPE.
|
||||||
|
@ -130,7 +130,7 @@ extern BufferList bufferlist;
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
const int LYX_FORMAT = 230;
|
const int LYX_FORMAT = 231;
|
||||||
|
|
||||||
} // namespace anon
|
} // namespace anon
|
||||||
|
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2004-03-29 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
||||||
|
|
||||||
|
* QFloat.C:
|
||||||
|
* QFloatDialog.C:
|
||||||
|
* floatplacement.[Ch]: add support for sidewaysfloats
|
||||||
|
fix enabling of placement values (bug 1016)
|
||||||
|
|
||||||
2004-03-28 Angus Leeming <leeming@lyx.org>
|
2004-03-28 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
* Dialogs.C (build): added print dialog.
|
* Dialogs.C (build): added print dialog.
|
||||||
|
@ -53,5 +53,5 @@ void QFloat::apply()
|
|||||||
{
|
{
|
||||||
InsetFloatParams & params = controller().params();
|
InsetFloatParams & params = controller().params();
|
||||||
|
|
||||||
params.placement = dialog_->floatFP->get(params.wide);
|
params.placement = dialog_->floatFP->get(params.wide, params.sideways);
|
||||||
}
|
}
|
||||||
|
@ -36,6 +36,9 @@ QFloatDialog::QFloatDialog(QFloat * form)
|
|||||||
|
|
||||||
// enable span columns checkbox
|
// enable span columns checkbox
|
||||||
floatFP->useWide();
|
floatFP->useWide();
|
||||||
|
|
||||||
|
// enable sideways checkbox
|
||||||
|
floatFP->useSideways();
|
||||||
|
|
||||||
connect(floatFP, SIGNAL(changed()),
|
connect(floatFP, SIGNAL(changed()),
|
||||||
this, SLOT(change_adaptor()));
|
this, SLOT(change_adaptor()));
|
||||||
|
@ -27,6 +27,7 @@ using std::string;
|
|||||||
|
|
||||||
|
|
||||||
// FIXME: set disabled doesn't work properly
|
// FIXME: set disabled doesn't work properly
|
||||||
|
// should be fixed now (jspitzm)
|
||||||
FloatPlacement::FloatPlacement(QWidget * parent, char * name)
|
FloatPlacement::FloatPlacement(QWidget * parent, char * name)
|
||||||
: QWidget(parent, name)
|
: QWidget(parent, name)
|
||||||
{
|
{
|
||||||
@ -42,6 +43,7 @@ FloatPlacement::FloatPlacement(QWidget * parent, char * name)
|
|||||||
heredefinitelyCB = new QCheckBox(qt_("Here definitely"), options);
|
heredefinitelyCB = new QCheckBox(qt_("Here definitely"), options);
|
||||||
ignoreCB = new QCheckBox(qt_("&Ignore LaTeX rules"), options);
|
ignoreCB = new QCheckBox(qt_("&Ignore LaTeX rules"), options);
|
||||||
spanCB = 0;
|
spanCB = 0;
|
||||||
|
sidewaysCB = 0;
|
||||||
|
|
||||||
layout->addWidget(defaultsCB);
|
layout->addWidget(defaultsCB);
|
||||||
|
|
||||||
@ -93,6 +95,16 @@ void FloatPlacement::useWide()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FloatPlacement::useSideways()
|
||||||
|
{
|
||||||
|
sidewaysCB = new QCheckBox(qt_("&Rotate sideways"), this);
|
||||||
|
layout->addWidget(sidewaysCB);
|
||||||
|
setTabOrder(spanCB, sidewaysCB);
|
||||||
|
connect(sidewaysCB, SIGNAL(clicked()), this, SLOT(sidewaysClicked()));
|
||||||
|
connect(sidewaysCB, SIGNAL(toggled(bool)), this, SLOT(changedSlot()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void FloatPlacement::changedSlot()
|
void FloatPlacement::changedSlot()
|
||||||
{
|
{
|
||||||
emit changed();
|
emit changed();
|
||||||
@ -148,16 +160,21 @@ void FloatPlacement::set(InsetFloatParams const & params)
|
|||||||
|
|
||||||
if (params.wide) {
|
if (params.wide) {
|
||||||
herepossiblyCB->setChecked(false);
|
herepossiblyCB->setChecked(false);
|
||||||
|
heredefinitelyCB->setChecked(false);
|
||||||
bottomCB->setChecked(false);
|
bottomCB->setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
spanCB->setChecked(params.wide);
|
spanCB->setChecked(params.wide);
|
||||||
|
sidewaysCB->setChecked(params.sideways);
|
||||||
|
sidewaysCB->setEnabled(params.type == "figure"
|
||||||
|
|| params.type == "table");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
string const FloatPlacement::get(bool & wide) const
|
string const FloatPlacement::get(bool & wide, bool & sideways) const
|
||||||
{
|
{
|
||||||
wide = spanCB->isChecked();
|
wide = spanCB->isChecked();
|
||||||
|
sideways = sidewaysCB->isChecked();
|
||||||
|
|
||||||
return get();
|
return get();
|
||||||
}
|
}
|
||||||
@ -224,6 +241,7 @@ void FloatPlacement::spanClicked()
|
|||||||
if (!defaultsCB->isChecked()) {
|
if (!defaultsCB->isChecked()) {
|
||||||
herepossiblyCB->setEnabled(!span);
|
herepossiblyCB->setEnabled(!span);
|
||||||
heredefinitelyCB->setEnabled(!span);
|
heredefinitelyCB->setEnabled(!span);
|
||||||
|
bottomCB->setEnabled(!span);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!span)
|
if (!span)
|
||||||
@ -231,4 +249,30 @@ void FloatPlacement::spanClicked()
|
|||||||
|
|
||||||
herepossiblyCB->setChecked(false);
|
herepossiblyCB->setChecked(false);
|
||||||
heredefinitelyCB->setChecked(false);
|
heredefinitelyCB->setChecked(false);
|
||||||
|
bottomCB->setChecked(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FloatPlacement::sidewaysClicked()
|
||||||
|
{
|
||||||
|
bool const sideways(sidewaysCB->isChecked());
|
||||||
|
bool const span(spanCB->isChecked());
|
||||||
|
bool const defaults(defaultsCB->isChecked());
|
||||||
|
bool ignore(topCB->isChecked());
|
||||||
|
ignore |= bottomCB->isChecked();
|
||||||
|
ignore |= pageCB->isChecked();
|
||||||
|
ignore |= herepossiblyCB->isChecked();
|
||||||
|
|
||||||
|
defaultsCB->setEnabled(!sideways);
|
||||||
|
topCB->setEnabled(!sideways && !defaults);
|
||||||
|
bottomCB->setEnabled(!sideways && !defaults);
|
||||||
|
pageCB->setEnabled(!sideways && !defaults);
|
||||||
|
spanCB->setEnabled(!sideways);
|
||||||
|
ignoreCB->setEnabled(!sideways && !defaults && ignore);
|
||||||
|
herepossiblyCB->setEnabled(!sideways && !defaults);
|
||||||
|
heredefinitelyCB->setEnabled(!sideways && !defaults);
|
||||||
|
if (!sideways && !defaults) {
|
||||||
|
herepossiblyCB->setEnabled(!span);
|
||||||
|
heredefinitelyCB->setEnabled(!span);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,17 +24,19 @@ public:
|
|||||||
FloatPlacement(QWidget * parent, char * name);
|
FloatPlacement(QWidget * parent, char * name);
|
||||||
|
|
||||||
void useWide();
|
void useWide();
|
||||||
|
void useSideways();
|
||||||
|
|
||||||
void set(InsetFloatParams const & params);
|
void set(InsetFloatParams const & params);
|
||||||
void set(std::string const & placement);
|
void set(std::string const & placement);
|
||||||
|
|
||||||
std::string const get(bool & wide) const;
|
std::string const get(bool & wide, bool & sideways) const;
|
||||||
std::string const get() const;
|
std::string const get() const;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void tbhpClicked();
|
void tbhpClicked();
|
||||||
void heredefinitelyClicked();
|
void heredefinitelyClicked();
|
||||||
void spanClicked();
|
void spanClicked();
|
||||||
|
void sidewaysClicked();
|
||||||
void changedSlot();
|
void changedSlot();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
@ -45,6 +47,7 @@ private:
|
|||||||
|
|
||||||
QCheckBox * defaultsCB;
|
QCheckBox * defaultsCB;
|
||||||
QCheckBox * spanCB;
|
QCheckBox * spanCB;
|
||||||
|
QCheckBox * sidewaysCB;
|
||||||
QCheckBox * ignoreCB;
|
QCheckBox * ignoreCB;
|
||||||
QCheckBox * pageCB;
|
QCheckBox * pageCB;
|
||||||
QCheckBox * heredefinitelyCB;
|
QCheckBox * heredefinitelyCB;
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2004-03-29 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
||||||
|
|
||||||
|
* FormFloat.C:
|
||||||
|
* forms/form_float.fd:
|
||||||
|
add support for sidewaysfloats
|
||||||
|
fix enabling of placement values (bug 1016)
|
||||||
|
|
||||||
2004-03-28 Angus Leeming <leeming@lyx.org>
|
2004-03-28 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
* Dialogs.C (build): added print dialog.
|
* Dialogs.C (build): added print dialog.
|
||||||
|
@ -69,6 +69,7 @@ void FormFloat::build()
|
|||||||
bcview().addReadOnly(dialog_->check_here);
|
bcview().addReadOnly(dialog_->check_here);
|
||||||
bcview().addReadOnly(dialog_->check_force);
|
bcview().addReadOnly(dialog_->check_force);
|
||||||
bcview().addReadOnly(dialog_->check_wide);
|
bcview().addReadOnly(dialog_->check_wide);
|
||||||
|
bcview().addReadOnly(dialog_->check_sideways);
|
||||||
|
|
||||||
placement_.init(dialog_->radio_default, DOCUMENT_DEFAULTS);
|
placement_.init(dialog_->radio_default, DOCUMENT_DEFAULTS);
|
||||||
placement_.init(dialog_->radio_here_definitely, HERE_DEFINITELY);
|
placement_.init(dialog_->radio_here_definitely, HERE_DEFINITELY);
|
||||||
@ -93,12 +94,15 @@ void FormFloat::build()
|
|||||||
tooltips().init(dialog_->check_force, str);
|
tooltips().init(dialog_->check_force, str);
|
||||||
str = _("Span float over the columns.");
|
str = _("Span float over the columns.");
|
||||||
tooltips().init(dialog_->check_wide, str);
|
tooltips().init(dialog_->check_wide, str);
|
||||||
|
str = _("Rotate the float sideways by 90 degs.");
|
||||||
|
tooltips().init(dialog_->check_sideways, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void FormFloat::apply()
|
void FormFloat::apply()
|
||||||
{
|
{
|
||||||
bool const wide = fl_get_button(dialog_->check_wide);
|
bool const wide = fl_get_button(dialog_->check_wide);
|
||||||
|
bool const sideways = fl_get_button(dialog_->check_sideways);
|
||||||
|
|
||||||
string placement;
|
string placement;
|
||||||
switch (placement_.get()) {
|
switch (placement_.get()) {
|
||||||
@ -152,6 +156,7 @@ void FormFloat::apply()
|
|||||||
|
|
||||||
controller().params().placement = placement;
|
controller().params().placement = placement;
|
||||||
controller().params().wide = wide;
|
controller().params().wide = wide;
|
||||||
|
controller().params().sideways = sideways;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -159,6 +164,9 @@ void FormFloat::update()
|
|||||||
{
|
{
|
||||||
string placement(controller().params().placement);
|
string placement(controller().params().placement);
|
||||||
bool const wide = controller().params().wide;
|
bool const wide = controller().params().wide;
|
||||||
|
bool const sideways = controller().params().sideways;
|
||||||
|
bool const sideways_possible = (controller().params().type == "figure"
|
||||||
|
|| controller().params().type == "table");
|
||||||
|
|
||||||
bool const here_definitely = contains(placement, 'H');
|
bool const here_definitely = contains(placement, 'H');
|
||||||
|
|
||||||
@ -182,13 +190,18 @@ void FormFloat::update()
|
|||||||
fl_set_button(dialog_->check_page, page);
|
fl_set_button(dialog_->check_page, page);
|
||||||
fl_set_button(dialog_->check_here, here);
|
fl_set_button(dialog_->check_here, here);
|
||||||
fl_set_button(dialog_->check_wide, wide);
|
fl_set_button(dialog_->check_wide, wide);
|
||||||
|
fl_set_button(dialog_->check_sideways, sideways);
|
||||||
|
|
||||||
setEnabled(dialog_->radio_here_definitely, !wide);
|
setEnabled(dialog_->radio_here_definitely, !wide && !sideways);
|
||||||
setEnabled(dialog_->check_force, alternatives);
|
setEnabled(dialog_->check_force, alternatives && !sideways);
|
||||||
setEnabled(dialog_->check_top, alternatives);
|
setEnabled(dialog_->check_top, alternatives && !sideways);
|
||||||
setEnabled(dialog_->check_bottom, alternatives);
|
setEnabled(dialog_->check_bottom, alternatives && !sideways);
|
||||||
setEnabled(dialog_->check_page, alternatives);
|
setEnabled(dialog_->check_page, alternatives && !sideways);
|
||||||
setEnabled(dialog_->check_here, alternatives && !wide);
|
setEnabled(dialog_->check_here, alternatives && !wide && !sideways);
|
||||||
|
setEnabled(dialog_->check_wide, !sideways);
|
||||||
|
setEnabled(dialog_->radio_default, !sideways);
|
||||||
|
setEnabled(dialog_->radio_alternatives, !sideways);
|
||||||
|
setEnabled(dialog_->check_sideways, sideways_possible);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -196,16 +209,17 @@ ButtonPolicy::SMInput FormFloat::input(FL_OBJECT * ob, long)
|
|||||||
{
|
{
|
||||||
bool const alternatives = placement_.get() == ALTERNATIVES;
|
bool const alternatives = placement_.get() == ALTERNATIVES;
|
||||||
bool const wide = fl_get_button(dialog_->check_wide);
|
bool const wide = fl_get_button(dialog_->check_wide);
|
||||||
|
bool const sideways = fl_get_button(dialog_->check_sideways);
|
||||||
|
|
||||||
if (ob == dialog_->radio_default ||
|
if (ob == dialog_->radio_default ||
|
||||||
ob == dialog_->radio_here_definitely ||
|
ob == dialog_->radio_here_definitely ||
|
||||||
ob == dialog_->radio_alternatives) {
|
ob == dialog_->radio_alternatives) {
|
||||||
// enable check buttons only for Alternatives
|
// enable check buttons only for Alternatives
|
||||||
setEnabled(dialog_->check_top, alternatives);
|
setEnabled(dialog_->check_top, alternatives);
|
||||||
setEnabled(dialog_->check_bottom, alternatives);
|
|
||||||
setEnabled(dialog_->check_page, alternatives);
|
setEnabled(dialog_->check_page, alternatives);
|
||||||
// wide float doesn't allow 'here' placement
|
// wide float doesn't allow 'here' or 'bottom' placement
|
||||||
setEnabled(dialog_->check_here, alternatives && !wide);
|
setEnabled(dialog_->check_here, alternatives && !wide);
|
||||||
|
setEnabled(dialog_->check_bottom, alternatives && !wide);
|
||||||
|
|
||||||
} else if (ob == dialog_->check_wide) {
|
} else if (ob == dialog_->check_wide) {
|
||||||
if (wide && placement_.get() == HERE_DEFINITELY) {
|
if (wide && placement_.get() == HERE_DEFINITELY) {
|
||||||
@ -215,11 +229,23 @@ ButtonPolicy::SMInput FormFloat::input(FL_OBJECT * ob, long)
|
|||||||
}
|
}
|
||||||
setEnabled(dialog_->check_here, alternatives && !wide);
|
setEnabled(dialog_->check_here, alternatives && !wide);
|
||||||
setEnabled(dialog_->radio_here_definitely, !wide);
|
setEnabled(dialog_->radio_here_definitely, !wide);
|
||||||
|
setEnabled(dialog_->check_bottom, alternatives && !wide);
|
||||||
|
|
||||||
|
} else if (ob == dialog_->check_sideways) {
|
||||||
|
setEnabled(dialog_->radio_default, !sideways);
|
||||||
|
setEnabled(dialog_->radio_alternatives, !sideways);
|
||||||
|
setEnabled(dialog_->radio_here_definitely, !wide && !sideways);
|
||||||
|
setEnabled(dialog_->check_top, alternatives && !sideways);
|
||||||
|
setEnabled(dialog_->check_bottom,
|
||||||
|
alternatives && !wide && !sideways);
|
||||||
|
setEnabled(dialog_->check_page, alternatives && !sideways);
|
||||||
|
setEnabled(dialog_->check_here, alternatives && !wide && !sideways);
|
||||||
|
setEnabled(dialog_->check_wide, !sideways);
|
||||||
}
|
}
|
||||||
|
|
||||||
// enable force button, if Alternatives is selected and at least
|
// enable force button, if Alternatives is selected and at least
|
||||||
// one of its check buttons
|
// one of its check buttons
|
||||||
bool const enable_force = alternatives &&
|
bool const enable_force = alternatives && !sideways &&
|
||||||
(fl_get_button(dialog_->check_top) ||
|
(fl_get_button(dialog_->check_top) ||
|
||||||
fl_get_button(dialog_->check_bottom) ||
|
fl_get_button(dialog_->check_bottom) ||
|
||||||
fl_get_button(dialog_->check_page) ||
|
fl_get_button(dialog_->check_page) ||
|
||||||
|
@ -10,13 +10,13 @@ SnapGrid: 5
|
|||||||
=============== FORM ===============
|
=============== FORM ===============
|
||||||
Name: form_float
|
Name: form_float
|
||||||
Width: 395
|
Width: 395
|
||||||
Height: 260
|
Height: 290
|
||||||
Number of Objects: 17
|
Number of Objects: 18
|
||||||
|
|
||||||
--------------------
|
--------------------
|
||||||
class: FL_BOX
|
class: FL_BOX
|
||||||
type: FLAT_BOX
|
type: FLAT_BOX
|
||||||
box: 0 0 395 260
|
box: 0 0 395 290
|
||||||
boxtype: FL_FLAT_BOX
|
boxtype: FL_FLAT_BOX
|
||||||
colors: FL_COL1 FL_COL1
|
colors: FL_COL1 FL_COL1
|
||||||
alignment: FL_ALIGN_CENTER
|
alignment: FL_ALIGN_CENTER
|
||||||
@ -124,7 +124,7 @@ argument: 0
|
|||||||
--------------------
|
--------------------
|
||||||
class: FL_BUTTON
|
class: FL_BUTTON
|
||||||
type: NORMAL_BUTTON
|
type: NORMAL_BUTTON
|
||||||
box: 5 230 90 25
|
box: 5 260 90 25
|
||||||
boxtype: FL_UP_BOX
|
boxtype: FL_UP_BOX
|
||||||
colors: FL_COL1 FL_COL1
|
colors: FL_COL1 FL_COL1
|
||||||
alignment: FL_ALIGN_CENTER
|
alignment: FL_ALIGN_CENTER
|
||||||
@ -142,7 +142,7 @@ argument: 0
|
|||||||
--------------------
|
--------------------
|
||||||
class: FL_BUTTON
|
class: FL_BUTTON
|
||||||
type: RETURN_BUTTON
|
type: RETURN_BUTTON
|
||||||
box: 110 230 90 25
|
box: 110 260 90 25
|
||||||
boxtype: FL_UP_BOX
|
boxtype: FL_UP_BOX
|
||||||
colors: FL_COL1 FL_COL1
|
colors: FL_COL1 FL_COL1
|
||||||
alignment: FL_ALIGN_CENTER
|
alignment: FL_ALIGN_CENTER
|
||||||
@ -160,7 +160,7 @@ argument: 0
|
|||||||
--------------------
|
--------------------
|
||||||
class: FL_BUTTON
|
class: FL_BUTTON
|
||||||
type: NORMAL_BUTTON
|
type: NORMAL_BUTTON
|
||||||
box: 205 230 90 25
|
box: 205 260 90 25
|
||||||
boxtype: FL_UP_BOX
|
boxtype: FL_UP_BOX
|
||||||
colors: FL_COL1 FL_COL1
|
colors: FL_COL1 FL_COL1
|
||||||
alignment: FL_ALIGN_CENTER
|
alignment: FL_ALIGN_CENTER
|
||||||
@ -178,7 +178,7 @@ argument: 0
|
|||||||
--------------------
|
--------------------
|
||||||
class: FL_BUTTON
|
class: FL_BUTTON
|
||||||
type: NORMAL_BUTTON
|
type: NORMAL_BUTTON
|
||||||
box: 300 230 90 25
|
box: 300 260 90 25
|
||||||
boxtype: FL_UP_BOX
|
boxtype: FL_UP_BOX
|
||||||
colors: FL_COL1 FL_COL1
|
colors: FL_COL1 FL_COL1
|
||||||
alignment: FL_ALIGN_CENTER
|
alignment: FL_ALIGN_CENTER
|
||||||
@ -232,7 +232,7 @@ argument: 0
|
|||||||
--------------------
|
--------------------
|
||||||
class: FL_BEGIN_GROUP
|
class: FL_BEGIN_GROUP
|
||||||
type: 0
|
type: 0
|
||||||
box: 0 10 10 0
|
box: 0 0 0 0
|
||||||
boxtype: FL_NO_BOX
|
boxtype: FL_NO_BOX
|
||||||
colors: FL_COL1 FL_MCOL
|
colors: FL_COL1 FL_MCOL
|
||||||
alignment: FL_ALIGN_CENTER
|
alignment: FL_ALIGN_CENTER
|
||||||
@ -320,5 +320,23 @@ name:
|
|||||||
callback:
|
callback:
|
||||||
argument:
|
argument:
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
class: FL_CHECKBUTTON
|
||||||
|
type: PUSH_BUTTON
|
||||||
|
box: 5 225 385 25
|
||||||
|
boxtype: FL_NO_BOX
|
||||||
|
colors: FL_COL1 FL_YELLOW
|
||||||
|
alignment: FL_ALIGN_CENTER
|
||||||
|
style: FL_NORMAL_STYLE
|
||||||
|
size: FL_NORMAL_SIZE
|
||||||
|
lcol: FL_BLACK
|
||||||
|
label: Rotate sideways|#o
|
||||||
|
shortcut:
|
||||||
|
resize: FL_RESIZE_NONE
|
||||||
|
gravity: FL_SouthWest FL_SouthWest
|
||||||
|
name: check_sideways
|
||||||
|
callback: C_FormDialogView_InputCB
|
||||||
|
argument: 0
|
||||||
|
|
||||||
==============================
|
==============================
|
||||||
create_the_forms
|
create_the_forms
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2004-03-29 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
||||||
|
|
||||||
|
* insetfloat.[Ch]: add param \sideways {true|false}
|
||||||
|
(support for sideways floats from rotating.sty).
|
||||||
|
|
||||||
2004-03-28 Alfredo Braunstein <abraunst@lyx.org>
|
2004-03-28 Alfredo Braunstein <abraunst@lyx.org>
|
||||||
|
|
||||||
|
@ -162,7 +162,9 @@ void InsetFloat::priv_dispatch(LCursor & cur, FuncRequest & cmd)
|
|||||||
InsetFloatMailer::string2params(cmd.argument, params);
|
InsetFloatMailer::string2params(cmd.argument, params);
|
||||||
params_.placement = params.placement;
|
params_.placement = params.placement;
|
||||||
params_.wide = params.wide;
|
params_.wide = params.wide;
|
||||||
|
params_.sideways = params.sideways;
|
||||||
wide(params_.wide, cur.bv().buffer()->params());
|
wide(params_.wide, cur.bv().buffer()->params());
|
||||||
|
sideways(params_.sideways, cur.bv().buffer()->params());
|
||||||
cur.bv().update();
|
cur.bv().update();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -191,6 +193,11 @@ void InsetFloatParams::write(ostream & os) const
|
|||||||
os << "wide true\n";
|
os << "wide true\n";
|
||||||
else
|
else
|
||||||
os << "wide false\n";
|
os << "wide false\n";
|
||||||
|
|
||||||
|
if (sideways)
|
||||||
|
os << "sideways true\n";
|
||||||
|
else
|
||||||
|
os << "sideways false\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -218,6 +225,18 @@ void InsetFloatParams::read(LyXLex & lex)
|
|||||||
// take countermeasures
|
// take countermeasures
|
||||||
lex.pushToken(token);
|
lex.pushToken(token);
|
||||||
}
|
}
|
||||||
|
lex.next();
|
||||||
|
token = lex.getString();
|
||||||
|
if (token == "sideways") {
|
||||||
|
lex.next();
|
||||||
|
string const tmptoken = lex.getString();
|
||||||
|
sideways = (tmptoken == "true");
|
||||||
|
} else {
|
||||||
|
lyxerr << "InsetFloat::Read:: Missing sideways!"
|
||||||
|
<< endl;
|
||||||
|
// take countermeasures
|
||||||
|
lex.pushToken(token);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -233,6 +252,7 @@ void InsetFloat::read(Buffer const & buf, LyXLex & lex)
|
|||||||
{
|
{
|
||||||
params_.read(lex);
|
params_.read(lex);
|
||||||
wide(params_.wide, buf.params());
|
wide(params_.wide, buf.params());
|
||||||
|
sideways(params_.sideways, buf.params());
|
||||||
InsetCollapsable::read(buf, lex);
|
InsetCollapsable::read(buf, lex);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -242,6 +262,9 @@ void InsetFloat::validate(LaTeXFeatures & features) const
|
|||||||
if (contains(params_.placement, 'H')) {
|
if (contains(params_.placement, 'H')) {
|
||||||
features.require("float");
|
features.require("float");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (params_.sideways)
|
||||||
|
features.require("rotating");
|
||||||
|
|
||||||
features.useFloat(params_.type);
|
features.useFloat(params_.type);
|
||||||
InsetCollapsable::validate(features);
|
InsetCollapsable::validate(features);
|
||||||
@ -264,7 +287,13 @@ int InsetFloat::latex(Buffer const & buf, ostream & os,
|
|||||||
OutputParams const & runparams) const
|
OutputParams const & runparams) const
|
||||||
{
|
{
|
||||||
FloatList const & floats = buf.params().getLyXTextClass().floats();
|
FloatList const & floats = buf.params().getLyXTextClass().floats();
|
||||||
string const tmptype = (params_.wide ? params_.type + "*" : params_.type);
|
string tmptype = (params_.wide ? params_.type + "*" : params_.type);
|
||||||
|
if (params_.sideways) {
|
||||||
|
if (params_.type == "table")
|
||||||
|
tmptype = "sidewaystable";
|
||||||
|
else if (params_.type == "figure")
|
||||||
|
tmptype = "sidewaysfigure";
|
||||||
|
}
|
||||||
// Figure out the float placement to use.
|
// Figure out the float placement to use.
|
||||||
// From lowest to highest:
|
// From lowest to highest:
|
||||||
// - float default placement
|
// - float default placement
|
||||||
@ -287,7 +316,8 @@ int InsetFloat::latex(Buffer const & buf, ostream & os,
|
|||||||
// when the current output line is empty.
|
// when the current output line is empty.
|
||||||
os << "%\n\\begin{" << tmptype << '}';
|
os << "%\n\\begin{" << tmptype << '}';
|
||||||
// We only output placement if different from the def_placement.
|
// We only output placement if different from the def_placement.
|
||||||
if (!placement.empty()) {
|
// sidewaysfloats always use their own page
|
||||||
|
if (!placement.empty() && !params_.sideways) {
|
||||||
os << '[' << placement << ']';
|
os << '[' << placement << ']';
|
||||||
}
|
}
|
||||||
os << '\n';
|
os << '\n';
|
||||||
@ -377,6 +407,16 @@ void InsetFloat::wide(bool w, BufferParams const & bp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void InsetFloat::sideways(bool s, BufferParams const & bp)
|
||||||
|
{
|
||||||
|
params_.sideways = s;
|
||||||
|
string lab = _("float: ") + floatname(params_.type, bp);
|
||||||
|
if (params_.sideways)
|
||||||
|
lab += _(" (sideways)");
|
||||||
|
setLabel(lab);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetFloat::addToToc(lyx::toc::TocList & toclist, Buffer const & buf) const
|
void InsetFloat::addToToc(lyx::toc::TocList & toclist, Buffer const & buf) const
|
||||||
{
|
{
|
||||||
ParConstIterator pit(*this, 0);
|
ParConstIterator pit(*this, 0);
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
struct InsetFloatParams {
|
struct InsetFloatParams {
|
||||||
///
|
///
|
||||||
InsetFloatParams() : wide(false) {}
|
InsetFloatParams() : wide(false), sideways(false) {}
|
||||||
///
|
///
|
||||||
void write(std::ostream & os) const;
|
void write(std::ostream & os) const;
|
||||||
///
|
///
|
||||||
@ -30,6 +30,8 @@ struct InsetFloatParams {
|
|||||||
std::string placement;
|
std::string placement;
|
||||||
///
|
///
|
||||||
bool wide;
|
bool wide;
|
||||||
|
///
|
||||||
|
bool sideways;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -72,6 +74,8 @@ public:
|
|||||||
///
|
///
|
||||||
void wide(bool w, BufferParams const &);
|
void wide(bool w, BufferParams const &);
|
||||||
///
|
///
|
||||||
|
void sideways(bool s, BufferParams const &);
|
||||||
|
///
|
||||||
void addToToc(lyx::toc::TocList &, Buffer const &) const;
|
void addToToc(lyx::toc::TocList &, Buffer const &) const;
|
||||||
///
|
///
|
||||||
bool showInsetDialog(BufferView *) const;
|
bool showInsetDialog(BufferView *) const;
|
||||||
|
Loading…
Reference in New Issue
Block a user