mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 18:08:10 +00:00
J�rgen's float patch + "span columns"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4781 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
01f9ad1e3b
commit
14299daf10
@ -1,3 +1,11 @@
|
||||
2002-07-25 Dekel Tsur <dekelts@tau.ac.il>
|
||||
|
||||
* buffer.C (parseSingleLyXformat2Token): Use default placement
|
||||
when reading old floats.
|
||||
|
||||
* FloatList.C (FloatList): Change the default placement of figure
|
||||
and tables to "tbp".
|
||||
|
||||
2002-07-25 John Levon <moz@compsoc.man.ac.uk>
|
||||
|
||||
* MenuBackend.C: using std::max
|
||||
|
@ -30,12 +30,12 @@ FloatList::FloatList()
|
||||
// (these will later be read from a layout file)
|
||||
|
||||
// table
|
||||
Floating table("table", "htbp", "lot", "", "plain", N_("Table"),
|
||||
Floating table("table", "tbp", "lot", "", "plain", N_("Table"),
|
||||
N_("List of Tables"), true);
|
||||
newFloat(table);
|
||||
|
||||
// figure
|
||||
Floating figure("figure", "htbp", "lof",
|
||||
Floating figure("figure", "tbp", "lof",
|
||||
"", "plain", N_("Figure"),
|
||||
N_("List of Figures"), true);
|
||||
newFloat(figure);
|
||||
|
15
src/buffer.C
15
src/buffer.C
@ -803,34 +803,29 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, Paragraph *& par,
|
||||
old_float << "collapsed true\n";
|
||||
} else if (tmptok == "fig") {
|
||||
inset = new InsetFloat(params, "figure");
|
||||
old_float << "placement htbp\n"
|
||||
<< "wide false\n"
|
||||
old_float << "wide false\n"
|
||||
<< "collapsed false\n";
|
||||
} else if (tmptok == "tab") {
|
||||
inset = new InsetFloat(params, "table");
|
||||
old_float << "placement htbp\n"
|
||||
<< "wide false\n"
|
||||
old_float << "wide false\n"
|
||||
<< "collapsed false\n";
|
||||
} else if (tmptok == "alg") {
|
||||
inset = new InsetFloat(params, "algorithm");
|
||||
old_float << "placement htbp\n"
|
||||
<< "wide false\n"
|
||||
old_float << "wide false\n"
|
||||
<< "collapsed false\n";
|
||||
} else if (tmptok == "wide-fig") {
|
||||
inset = new InsetFloat(params, "figure");
|
||||
//InsetFloat * tmp = new InsetFloat("figure");
|
||||
//tmp->wide(true);
|
||||
//inset = tmp;
|
||||
old_float << "placement htbp\n"
|
||||
<< "wide true\n"
|
||||
old_float << "wide true\n"
|
||||
<< "collapsed false\n";
|
||||
} else if (tmptok == "wide-tab") {
|
||||
inset = new InsetFloat(params, "table");
|
||||
//InsetFloat * tmp = new InsetFloat("table");
|
||||
//tmp->wide(true);
|
||||
//inset = tmp;
|
||||
old_float << "placement htbp\n"
|
||||
<< "wide true\n"
|
||||
old_float << "wide true\n"
|
||||
<< "collapsed false\n";
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,13 @@
|
||||
2002-07-25 John Levon <levon@movementarian.org>
|
||||
|
||||
* forms/form_float.fd: "Span columns"
|
||||
|
||||
2002-07-25 Juergen Spitzmueller <j.spitzmueller@gmx.de>
|
||||
|
||||
* FormFloat.C:
|
||||
* forms/form_float.fd: Implement default placement checkbox;
|
||||
some minor tweaks
|
||||
|
||||
2002-07-25 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
|
||||
|
||||
* Menubar_pimpl.C (create_submenu): add the code for splitting too
|
||||
@ -10,8 +20,9 @@
|
||||
|
||||
2002-07-24 Juergen Spitzmueller <j.spitzmueller@gmx.de>
|
||||
|
||||
* FormFloat.C:
|
||||
* forms/form_float.fd: Implement Wide Float toggle
|
||||
* FormFloat.C:
|
||||
* forms/form_float.fd: Implement Wide Float toggle and !-option;
|
||||
disable h and b with wide floats
|
||||
|
||||
2002-07-24 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
* See the file COPYING.
|
||||
*
|
||||
* \author Lars Gullik Bjønnes, larsbj@lyx.org
|
||||
* \author Juergen Spitzmueller j.spitzmueller@gmx.de
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
@ -27,10 +28,6 @@ FormFloat::FormFloat(ControlFloat & c, Dialogs & d)
|
||||
{}
|
||||
|
||||
|
||||
// FIX: Needs to be implemented. (Lgb)
|
||||
// A way to set to float default is missing.
|
||||
// A way to set "force[!]" is missing.
|
||||
|
||||
void FormFloat::build()
|
||||
{
|
||||
dialog_.reset(build_float(this));
|
||||
@ -41,10 +38,12 @@ void FormFloat::build()
|
||||
bc().setCancel(dialog_->button_close);
|
||||
bc().setRestore(dialog_->button_restore);
|
||||
|
||||
bc().addReadOnly(dialog_->check_default);
|
||||
bc().addReadOnly(dialog_->check_top);
|
||||
bc().addReadOnly(dialog_->check_bottom);
|
||||
bc().addReadOnly(dialog_->check_page);
|
||||
bc().addReadOnly(dialog_->check_here);
|
||||
bc().addReadOnly(dialog_->check_force);
|
||||
bc().addReadOnly(dialog_->check_here_definitely);
|
||||
bc().addReadOnly(dialog_->check_wide);
|
||||
}
|
||||
@ -56,6 +55,12 @@ void FormFloat::apply()
|
||||
if (fl_get_button(dialog_->check_here_definitely)) {
|
||||
placement += "H";
|
||||
} else {
|
||||
if (fl_get_button(dialog_->check_force)) {
|
||||
placement += "!";
|
||||
}
|
||||
if (fl_get_button(dialog_->check_here)) {
|
||||
placement += "h";
|
||||
}
|
||||
if (fl_get_button(dialog_->check_top)) {
|
||||
placement += "t";
|
||||
}
|
||||
@ -65,9 +70,7 @@ void FormFloat::apply()
|
||||
if (fl_get_button(dialog_->check_page)) {
|
||||
placement += "p";
|
||||
}
|
||||
if (fl_get_button(dialog_->check_here)) {
|
||||
placement += "h";
|
||||
}
|
||||
|
||||
}
|
||||
controller().params().placement = placement;
|
||||
controller().params().wide = fl_get_button(dialog_->check_wide);
|
||||
@ -76,17 +79,26 @@ void FormFloat::apply()
|
||||
|
||||
void FormFloat::update()
|
||||
{
|
||||
bool def_placement = false;
|
||||
bool top = false;
|
||||
bool bottom = false;
|
||||
bool page = false;
|
||||
bool here = false;
|
||||
bool force = false;
|
||||
bool here_definitely = false;
|
||||
|
||||
string placement(controller().params().placement);
|
||||
|
||||
if (contains(placement, "H")) {
|
||||
if (placement.empty()) {
|
||||
def_placement = true;
|
||||
|
||||
} else if (contains(placement, "H")) {
|
||||
here_definitely = true;
|
||||
|
||||
} else {
|
||||
if (contains(placement, "!")) {
|
||||
force = true;
|
||||
}
|
||||
if (contains(placement, "t")) {
|
||||
top = true;
|
||||
}
|
||||
@ -100,37 +112,75 @@ void FormFloat::update()
|
||||
here = true;
|
||||
}
|
||||
}
|
||||
fl_set_button(dialog_->check_default, def_placement);
|
||||
fl_set_button(dialog_->check_top, top);
|
||||
fl_set_button(dialog_->check_bottom, bottom);
|
||||
fl_set_button(dialog_->check_page, page);
|
||||
fl_set_button(dialog_->check_here, here);
|
||||
fl_set_button(dialog_->check_force, force);
|
||||
fl_set_button(dialog_->check_here_definitely, here_definitely);
|
||||
setEnabled(dialog_->check_here_definitely, !controller().params().wide);
|
||||
setEnabled(dialog_->check_here_definitely, !controller().params().wide
|
||||
&& !def_placement);
|
||||
if (controller().params().wide) {
|
||||
fl_set_button(dialog_->check_here, false);
|
||||
fl_set_button(dialog_->check_bottom, false);
|
||||
}
|
||||
setEnabled(dialog_->check_here, !controller().params().wide && !def_placement);
|
||||
setEnabled(dialog_->check_bottom, !controller().params().wide && !def_placement);
|
||||
fl_set_button(dialog_->check_wide, controller().params().wide);
|
||||
setEnabled(dialog_->check_top, !def_placement);
|
||||
setEnabled(dialog_->check_page, !def_placement);
|
||||
setEnabled(dialog_->check_force, !def_placement);
|
||||
}
|
||||
|
||||
|
||||
ButtonPolicy::SMInput FormFloat::input(FL_OBJECT * ob, long)
|
||||
{
|
||||
if (ob == dialog_->check_here_definitely) {
|
||||
bool const def_place = fl_get_button(dialog_->check_default);
|
||||
if (ob == dialog_->check_default) {
|
||||
if (def_place) {
|
||||
fl_set_button(dialog_->check_top, false);
|
||||
fl_set_button(dialog_->check_bottom, false);
|
||||
fl_set_button(dialog_->check_page, false);
|
||||
fl_set_button(dialog_->check_here, false);
|
||||
fl_set_button(dialog_->check_force, false);
|
||||
fl_set_button(dialog_->check_here_definitely, false);
|
||||
}
|
||||
setEnabled(dialog_->check_top, !def_place);
|
||||
setEnabled(dialog_->check_bottom, !def_place);
|
||||
setEnabled(dialog_->check_page, !def_place);
|
||||
setEnabled(dialog_->check_here, !def_place);
|
||||
setEnabled(dialog_->check_force, !def_place);
|
||||
setEnabled(dialog_->check_here_definitely, !def_place);
|
||||
|
||||
} else if (ob == dialog_->check_here_definitely) {
|
||||
if (fl_get_button(dialog_->check_here_definitely)) {
|
||||
fl_set_button(dialog_->check_top, false);
|
||||
fl_set_button(dialog_->check_bottom, false);
|
||||
fl_set_button(dialog_->check_page, false);
|
||||
fl_set_button(dialog_->check_here, false);
|
||||
fl_set_button(dialog_->check_force, false);
|
||||
}
|
||||
} else {
|
||||
if (fl_get_button(dialog_->check_here_definitely)) {
|
||||
fl_set_button(dialog_->check_here_definitely, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (ob == dialog_->check_wide) {
|
||||
if (fl_get_button(dialog_->check_wide)) {
|
||||
fl_set_button(dialog_->check_here_definitely, false);
|
||||
setEnabled(dialog_->check_here_definitely, false);
|
||||
}
|
||||
else
|
||||
fl_set_button(dialog_->check_here, false);
|
||||
setEnabled(dialog_->check_here, false);
|
||||
fl_set_button(dialog_->check_bottom, false);
|
||||
setEnabled(dialog_->check_bottom, false);
|
||||
|
||||
} else {
|
||||
setEnabled(dialog_->check_here_definitely, true);
|
||||
setEnabled(dialog_->check_here, true);
|
||||
setEnabled(dialog_->check_bottom, true);
|
||||
}
|
||||
}
|
||||
|
||||
return ButtonPolicy::SMI_VALID;
|
||||
|
@ -8,14 +8,14 @@ Unit of measure: FL_COORD_PIXEL
|
||||
|
||||
=============== FORM ===============
|
||||
Name: form_float
|
||||
Width: 360
|
||||
Height: 240
|
||||
Number of Objects: 12
|
||||
Width: 370
|
||||
Height: 320
|
||||
Number of Objects: 14
|
||||
|
||||
--------------------
|
||||
class: FL_BOX
|
||||
type: FLAT_BOX
|
||||
box: 0 0 360 240
|
||||
box: 0 0 370 320
|
||||
boxtype: FL_FLAT_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -33,7 +33,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 20 30 152 30
|
||||
box: 20 75 152 30
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -51,7 +51,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 20 60 152 30
|
||||
box: 20 105 152 30
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -69,7 +69,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 190 30 152 30
|
||||
box: 190 75 152 30
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -87,7 +87,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 190 60 152 30
|
||||
box: 190 105 152 30
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -105,7 +105,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 20 110 152 30
|
||||
box: 20 180 152 30
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -123,7 +123,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 10 200 80 30
|
||||
box: 10 280 100 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -141,7 +141,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: RETURN_BUTTON
|
||||
box: 120 200 70 30
|
||||
box: 130 280 70 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -159,7 +159,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 200 200 70 30
|
||||
box: 210 280 70 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -177,7 +177,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 280 200 70 30
|
||||
box: 290 280 70 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -195,14 +195,14 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 20 160 30 30
|
||||
box: 20 230 30 30
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_DEFAULT_SIZE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Wide Float|#W
|
||||
label: Span columns|#S
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
@ -213,7 +213,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_LABELFRAME
|
||||
type: ENGRAVED_FRAME
|
||||
box: 10 20 340 130
|
||||
box: 10 20 350 200
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_BLACK FL_COL1
|
||||
alignment: FL_ALIGN_TOP_LEFT
|
||||
@ -228,5 +228,41 @@ name:
|
||||
callback:
|
||||
argument:
|
||||
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 20 135 30 30
|
||||
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: Ignore internal placement rules|#g
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
name: check_force
|
||||
callback: C_FormBaseInputCB
|
||||
argument: 0
|
||||
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 20 30 30 30
|
||||
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: Float Defaults|#D
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
name: check_default
|
||||
callback: C_FormBaseInputCB
|
||||
argument: 0
|
||||
|
||||
==============================
|
||||
create_the_forms
|
||||
|
@ -1,3 +1,8 @@
|
||||
2002-07-25 Dekel Tsur <dekelts@tau.ac.il>
|
||||
|
||||
* insetfloat.C (read, write): Allow default placement
|
||||
(floatPlacement_ is empty).
|
||||
|
||||
2002-07-23 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
|
||||
|
||||
* insetminipage.h (noFontChange):
|
||||
|
@ -154,10 +154,7 @@ void InsetFloat::write(Buffer const * buf, ostream & os) const
|
||||
os << "Float " // getInsetName()
|
||||
<< floatType_ << '\n';
|
||||
|
||||
if (floatPlacement_.empty()) {
|
||||
os << "placement "
|
||||
<< floatList.getType(floatType_).placement() << "\n";
|
||||
} else {
|
||||
if (!floatPlacement_.empty()) {
|
||||
os << "placement " << floatPlacement_ << "\n";
|
||||
}
|
||||
if (wide_) {
|
||||
@ -179,8 +176,6 @@ void InsetFloat::read(Buffer const * buf, LyXLex & lex)
|
||||
lex.next();
|
||||
floatPlacement_ = lex.getString();
|
||||
} else {
|
||||
lyxerr << "InsetFloat::Read: Missing placement!"
|
||||
<< endl;
|
||||
// take countermeasures
|
||||
lex.pushToken(token);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user