+2002-11-21 Dekel Tsur <dekelts@tau.ac.il>
+
+ * tabular.C (latex): Support for block alignment in fixed width
+ columns.
+
2002-11-17 John Levon <levon@movementarian.org>
* BufferView_pimpl.C:
fl_set_button(column_options_->radio_align_left, 0);
fl_set_button(column_options_->radio_align_right, 0);
fl_set_button(column_options_->radio_align_center, 0);
+ fl_set_button(column_options_->radio_align_block, 0);
if (align == LYX_ALIGN_LEFT)
fl_set_button(column_options_->radio_align_left, 1);
else if (align == LYX_ALIGN_RIGHT)
fl_set_button(column_options_->radio_align_right, 1);
- else
+ else if (align == LYX_ALIGN_CENTER)
fl_set_button(column_options_->radio_align_center, 1);
+ else
+ fl_set_button(column_options_->radio_align_block, 1);
align = tabular->GetVAlignment(cell, true);
fl_set_button(column_options_->radio_valign_top, 0);
fl_set_button(column_options_->radio_valign_bottom, 0);
setEnabled(column_options_->radio_align_left, true);
setEnabled(column_options_->radio_align_right, true);
setEnabled(column_options_->radio_align_center, true);
+ setEnabled(column_options_->radio_align_block, !pwidth.zero());
setEnabled(column_options_->radio_valign_top, !pwidth.zero());
setEnabled(column_options_->radio_valign_bottom, !pwidth.zero());
setEnabled(column_options_->radio_valign_center, !pwidth.zero());
num = LyXTabular::ALIGN_RIGHT;
else if (ob == column_options_->radio_align_center)
num = LyXTabular::ALIGN_CENTER;
+ else if (ob == column_options_->radio_align_block)
+ num = LyXTabular::ALIGN_BLOCK;
else if (ob == column_options_->radio_valign_top)
num = LyXTabular::VALIGN_TOP;
else if (ob == column_options_->radio_valign_bottom)
Name: form_tabular_column
Width: 505
Height: 225
-Number of Objects: 23
+Number of Objects: 24
--------------------
class: FL_BOX
--------------------
class: FL_BEGIN_GROUP
type: 0
-box: 0 0 0 0
+box: 0 10 10 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
-name:
+name:
callback:
argument:
--------------------
class: FL_ROUND3DBUTTON
type: RADIO_BUTTON
-box: 205 35 105 25
+box: 205 25 105 25
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
--------------------
class: FL_ROUND3DBUTTON
type: RADIO_BUTTON
-box: 205 85 105 25
+box: 205 75 105 25
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
--------------------
class: FL_ROUND3DBUTTON
type: RADIO_BUTTON
-box: 205 60 105 25
+box: 205 50 105 25
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
--------------------
class: FL_BEGIN_GROUP
type: 0
-box: 0 0 0 0
+box: 0 10 10 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
-name:
+name:
callback:
argument:
callback:
argument:
+--------------------
+class: FL_ROUND3DBUTTON
+type: RADIO_BUTTON
+box: 205 100 105 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: Block|#k
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_align_block
+callback: C_FormBaseInputCB
+argument: 0
+
=============== FORM ===============
Name: form_tabular_cell
Width: 505
--------------------
class: FL_BEGIN_GROUP
type: 0
-box: 0 0 0 0
+box: 0 10 10 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
-name:
+name:
callback:
argument:
--------------------
class: FL_BEGIN_GROUP
type: 0
-box: 0 0 0 0
+box: 0 10 10 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
-name:
+name:
callback:
argument:
+2002-11-21 Dekel Tsur <dekelts@tau.ac.il>
+
+ * insettabular.C (tabularFeatures): Support for block alignment in fixed width
+ columns.
+
2002-11-20 Juergen Vigna <jug@sad.it>
* insettabular.C (resetPos): temporary fix for endless loop in
{ LyXTabular::ALIGN_LEFT, "align-left" },
{ LyXTabular::ALIGN_RIGHT, "align-right" },
{ LyXTabular::ALIGN_CENTER, "align-center" },
+ { LyXTabular::ALIGN_BLOCK, "align-block" },
{ LyXTabular::VALIGN_TOP, "valign-top" },
{ LyXTabular::VALIGN_BOTTOM, "valign-bottom" },
{ LyXTabular::VALIGN_CENTER, "valign-center" },
case LyXTabular::ALIGN_CENTER:
setAlign = LYX_ALIGN_CENTER;
break;
+ case LyXTabular::ALIGN_BLOCK:
+ setAlign = LYX_ALIGN_BLOCK;
+ break;
case LyXTabular::M_VALIGN_TOP:
case LyXTabular::VALIGN_TOP:
setVAlign = LyXTabular::LYX_VALIGN_TOP;
}
updateLocal(bv, INIT, true);
}
+
+ if (vallen.zero()
+ && tabular->GetAlignment(actcell, true) == LYX_ALIGN_BLOCK)
+ tabularFeatures(bv, LyXTabular::ALIGN_CENTER, string());
+ else if (!vallen.zero()
+ && tabular->GetAlignment(actcell, true) != LYX_ALIGN_BLOCK)
+ tabularFeatures(bv, LyXTabular::ALIGN_BLOCK, string());
}
break;
case LyXTabular::SET_MPWIDTH:
case LyXTabular::ALIGN_LEFT:
case LyXTabular::ALIGN_RIGHT:
case LyXTabular::ALIGN_CENTER:
+ case LyXTabular::ALIGN_BLOCK:
for (int i = sel_row_start; i <= sel_row_end; ++i)
for (int j = sel_col_start; j <= sel_col_end; ++j)
tabular->SetAlignment(
case LyXTabular::ALIGN_CENTER:
status.setOnOff(tabular->GetAlignment(actcell, flag) == LYX_ALIGN_CENTER);
break;
+ case LyXTabular::ALIGN_BLOCK:
+ status.disabled(tabular->GetPWidth(actcell).zero());
+ status.setOnOff(tabular->GetAlignment(actcell, flag) == LYX_ALIGN_BLOCK);
+ break;
case LyXTabular::M_VALIGN_TOP:
flag = false;
case LyXTabular::VALIGN_TOP:
if (column_info[i].left_line)
os << '|';
if (!column_info[i].p_width.zero()) {
- os << ">{";
switch (column_info[i].alignment) {
case LYX_ALIGN_LEFT:
- os << "\\raggedright";
+ os << ">{\\raggedright}";
break;
case LYX_ALIGN_RIGHT:
- os << "\\raggedleft";
+ os << ">{\\raggedleft}";
break;
case LYX_ALIGN_CENTER:
- os << "\\centering";
+ os << ">{\\centering}";
break;
}
- os << "}";
switch (column_info[i].valignment) {
case LYX_VALIGN_TOP:
///
ALIGN_CENTER,
///
+ ALIGN_BLOCK,
+ ///
VALIGN_TOP,
///
VALIGN_BOTTOM,