mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
(Rob Lahaye): clean up the xforms Include dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6295 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
165c7cadf1
commit
7d394ab2e6
@ -1,9 +1,11 @@
|
||||
2003-02-27 Rob Lahaye <lahaye@snu.ac.kr>
|
||||
2003-02-27 Rob Lahaye <lahaye@snu.ac.kr>
|
||||
|
||||
* FormInclude.[Ch]: use RadiobuttonGroup code, add tooltips and add
|
||||
comments.
|
||||
|
||||
* xformsImage.C: use lyx::float_equal() for comparing floats & doubles
|
||||
|
||||
2003-02-26 Rob Lahaye <lahaye@snu.ac.kr>
|
||||
|
||||
* forms/form_include.fd: nicer layout and add proper Gravity.
|
||||
* forms/form_external.fd:
|
||||
* forms/form_forks.fd: prettifying layout.
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "FormInclude.h"
|
||||
#include "forms/form_include.h"
|
||||
#include "insets/insetinclude.h"
|
||||
#include "Tooltips.h"
|
||||
#include "xforms_helpers.h" // setEnabled
|
||||
#include "support/lstrings.h" // strip
|
||||
#include FORMS_H_LOCATION
|
||||
@ -36,40 +37,70 @@ void FormInclude::build()
|
||||
{
|
||||
dialog_.reset(build_include(this));
|
||||
|
||||
fl_set_input_return(dialog_->input_filename, FL_RETURN_CHANGED);
|
||||
setPrehandler(dialog_->input_filename);
|
||||
|
||||
// Manage the ok and cancel buttons
|
||||
bc().setOK(dialog_->button_ok);
|
||||
bc().setCancel(dialog_->button_close);
|
||||
|
||||
// trigger an input event for cut&paste with middle mouse button.
|
||||
setPrehandler(dialog_->input_filename);
|
||||
|
||||
fl_set_input_return(dialog_->input_filename, FL_RETURN_CHANGED);
|
||||
|
||||
// disable for read-only documents
|
||||
bc().addReadOnly(dialog_->button_browse);
|
||||
bc().addReadOnly(dialog_->radio_verbatim);
|
||||
bc().addReadOnly(dialog_->radio_useinput);
|
||||
bc().addReadOnly(dialog_->radio_useinclude);
|
||||
bc().addReadOnly(dialog_->radio_verbatim);
|
||||
|
||||
type_.init(dialog_->radio_useinput, ControlInclude::INPUT);
|
||||
type_.init(dialog_->radio_useinclude, ControlInclude::INCLUDE);
|
||||
type_.init(dialog_->radio_verbatim, ControlInclude::VERBATIM);
|
||||
|
||||
// set up the tooltips
|
||||
string str = _("File name to include.");
|
||||
tooltips().init(dialog_->input_filename, str);
|
||||
str = _("Browse directories for file name.");
|
||||
tooltips().init(dialog_->button_browse, str);
|
||||
str = _("Use LaTeX \\input.");
|
||||
tooltips().init(dialog_->radio_useinput, str);
|
||||
str = _("Use LaTeX \\include.");
|
||||
tooltips().init(dialog_->radio_useinclude, str);
|
||||
str = _("Use LaTeX \\verbatiminput.");
|
||||
tooltips().init(dialog_->radio_verbatim, str);
|
||||
str = _("Underline spaces in generated output.");
|
||||
tooltips().init(dialog_->check_visiblespace, str);
|
||||
str = _("Show LaTeX preview.");
|
||||
tooltips().init(dialog_->check_preview, str);
|
||||
str = _("Load the file.");
|
||||
tooltips().init(dialog_->button_load, str);
|
||||
}
|
||||
|
||||
|
||||
void FormInclude::update()
|
||||
{
|
||||
fl_set_input(dialog_->input_filename,
|
||||
controller().params().cparams.getContents().c_str());
|
||||
|
||||
string const filename = controller().params().cparams.getContents();
|
||||
string const cmdname = controller().params().cparams.getCmdName();
|
||||
bool const preview = static_cast<bool>((controller().params().cparams.preview()));
|
||||
|
||||
if (cmdname == "input")
|
||||
fl_set_button(dialog_->check_preview,
|
||||
int(controller().params().cparams.preview()));
|
||||
else
|
||||
fl_set_button(dialog_->check_preview, 0);
|
||||
fl_set_input(dialog_->input_filename, filename.c_str());
|
||||
|
||||
setEnabled(dialog_->check_preview, (cmdname == "input"));
|
||||
bool const inputCommand = cmdname == "input";
|
||||
bool const includeCommand = cmdname == "include";
|
||||
bool const verbatimStarCommand = cmdname == "verbatiminput*";
|
||||
bool const verbatimCommand = cmdname == "verbatiminput";
|
||||
|
||||
fl_set_button(dialog_->radio_useinput, cmdname == "input");
|
||||
fl_set_button(dialog_->radio_useinclude, cmdname == "include");
|
||||
if (cmdname == "verbatiminput" || cmdname == "verbatiminput*") {
|
||||
fl_set_button(dialog_->radio_verbatim, 1);
|
||||
fl_set_button(dialog_->check_visiblespace, cmdname == "verbatiminput*");
|
||||
setEnabled(dialog_->check_preview, inputCommand);
|
||||
fl_set_button(dialog_->check_preview, inputCommand ? preview : 0);
|
||||
|
||||
if (cmdname.empty())
|
||||
type_.set(ControlInclude::INPUT);
|
||||
|
||||
if (includeCommand)
|
||||
type_.set(ControlInclude::INCLUDE);
|
||||
|
||||
if (verbatimCommand || verbatimStarCommand) {
|
||||
type_.set(ControlInclude::VERBATIM);
|
||||
fl_set_button(dialog_->check_visiblespace, verbatimStarCommand);
|
||||
setEnabled(dialog_->check_visiblespace, true);
|
||||
setEnabled(dialog_->button_load, false);
|
||||
} else {
|
||||
@ -77,9 +108,6 @@ void FormInclude::update()
|
||||
setEnabled(dialog_->check_visiblespace, false);
|
||||
setEnabled(dialog_->button_load, true);
|
||||
}
|
||||
|
||||
if (cmdname.empty())
|
||||
fl_set_button(dialog_->radio_useinclude, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -94,11 +122,12 @@ void FormInclude::apply()
|
||||
else
|
||||
controller().params().cparams.setContents("");
|
||||
|
||||
if (fl_get_button(dialog_->radio_useinput))
|
||||
ControlInclude::Type const type = ControlInclude::Type(type_.get());
|
||||
if (type == ControlInclude::INPUT)
|
||||
controller().params().flag = InsetInclude::INPUT;
|
||||
else if (fl_get_button(dialog_->radio_useinclude))
|
||||
else if (type == ControlInclude::INCLUDE)
|
||||
controller().params().flag = InsetInclude::INCLUDE;
|
||||
else if (fl_get_button(dialog_->radio_verbatim)) {
|
||||
else if (type == ControlInclude::VERBATIM) {
|
||||
if (fl_get_button(dialog_->check_visiblespace))
|
||||
controller().params().flag = InsetInclude::VERBAST;
|
||||
else
|
||||
@ -112,16 +141,9 @@ ButtonPolicy::SMInput FormInclude::input(FL_OBJECT * ob, long)
|
||||
ButtonPolicy::SMInput action = ButtonPolicy::SMI_VALID;
|
||||
|
||||
if (ob == dialog_->button_browse) {
|
||||
ControlInclude::Type type;
|
||||
if (fl_get_button(dialog_->radio_useinput))
|
||||
type = ControlInclude::INPUT;
|
||||
else if (fl_get_button(dialog_->radio_verbatim))
|
||||
type = ControlInclude::VERBATIM;
|
||||
else
|
||||
type = ControlInclude::INCLUDE;
|
||||
|
||||
string const in_name = fl_get_input(dialog_->input_filename);
|
||||
string const in_name = fl_get_input(dialog_->input_filename);
|
||||
fl_freeze_form(form());
|
||||
ControlInclude::Type const type = ControlInclude::Type(type_.get());
|
||||
string const out_name = controller().Browse(in_name, type);
|
||||
fl_set_input(dialog_->input_filename, out_name.c_str());
|
||||
fl_unfreeze_form(form());
|
||||
|
@ -15,6 +15,7 @@
|
||||
|
||||
|
||||
#include "FormBase.h"
|
||||
#include "RadioButtonGroup.h"
|
||||
|
||||
class ControlInclude;
|
||||
struct FD_include;
|
||||
@ -34,6 +35,9 @@ private:
|
||||
virtual void update();
|
||||
/// Filter the inputs on callback from xforms
|
||||
virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
|
||||
|
||||
/// include type
|
||||
RadioButtonGroup type_;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif // FORMINCLUDE_H
|
||||
|
@ -5,22 +5,23 @@ Internal Form Definition File
|
||||
|
||||
Number of forms: 1
|
||||
Unit of measure: FL_COORD_PIXEL
|
||||
SnapGrid: 5
|
||||
|
||||
=============== FORM ===============
|
||||
Name: form_include
|
||||
Width: 340
|
||||
Height: 250
|
||||
Width: 305
|
||||
Height: 185
|
||||
Number of Objects: 14
|
||||
|
||||
--------------------
|
||||
class: FL_BOX
|
||||
type: UP_BOX
|
||||
box: 0 0 340 250
|
||||
boxtype: FL_UP_BOX
|
||||
type: FLAT_BOX
|
||||
box: 0 0 305 185
|
||||
boxtype: FL_FLAT_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_DEFAULT_SIZE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label:
|
||||
shortcut:
|
||||
@ -33,7 +34,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_FRAME
|
||||
type: ENGRAVED_FRAME
|
||||
box: 10 70 160 90
|
||||
box: 5 60 165 85
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_BLACK FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -42,8 +43,8 @@ size: FL_DEFAULT_SIZE
|
||||
lcol: FL_BLACK
|
||||
label:
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_NorthWest FL_NorthWest
|
||||
name:
|
||||
callback:
|
||||
argument:
|
||||
@ -51,7 +52,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 230 30 100 30
|
||||
box: 210 25 90 25
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -60,8 +61,8 @@ size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Browse...|#B
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
resize: FL_RESIZE_X
|
||||
gravity: FL_NorthEast FL_NorthEast
|
||||
name: button_browse
|
||||
callback: C_FormBaseInputCB
|
||||
argument: 0
|
||||
@ -69,7 +70,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: RETURN_BUTTON
|
||||
box: 120 210 100 30
|
||||
box: 115 155 90 25
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -78,8 +79,8 @@ size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: OK
|
||||
shortcut: ^M
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_SouthEast FL_SouthEast
|
||||
name: button_ok
|
||||
callback: C_FormBaseOKCB
|
||||
argument: 0
|
||||
@ -87,7 +88,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 230 210 100 30
|
||||
box: 210 155 90 25
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -96,8 +97,8 @@ size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Cancel|^[
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_SouthEast FL_SouthEast
|
||||
name: button_close
|
||||
callback: C_FormBaseCancelCB
|
||||
argument: 0
|
||||
@ -105,7 +106,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 230 170 100 30
|
||||
box: 210 120 90 25
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -114,8 +115,8 @@ size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Load|#L
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_NorthWest FL_North
|
||||
name: button_load
|
||||
callback: C_FormBaseInputCB
|
||||
argument: 0
|
||||
@ -123,7 +124,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 10 30 210 30
|
||||
box: 5 25 205 25
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_TOP_LEFT
|
||||
@ -132,8 +133,8 @@ size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: File name:|#F
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
resize: FL_RESIZE_X
|
||||
gravity: FL_NorthWest FL_NorthEast
|
||||
name: input_filename
|
||||
callback: C_FormBaseInputCB
|
||||
argument: 0
|
||||
@ -141,7 +142,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 180 70 150 30
|
||||
box: 175 60 125 25
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -150,8 +151,8 @@ size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Visible space|#s
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_NorthWest FL_North
|
||||
name: check_visiblespace
|
||||
callback: C_FormBaseInputCB
|
||||
argument: 0
|
||||
@ -177,7 +178,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_ROUND3DBUTTON
|
||||
type: RADIO_BUTTON
|
||||
box: 10 130 160 30
|
||||
box: 10 115 160 25
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -186,8 +187,8 @@ size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Verbatim|#V
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_NorthWest FL_NorthWest
|
||||
name: radio_verbatim
|
||||
callback: C_FormBaseInputCB
|
||||
argument: 0
|
||||
@ -195,35 +196,36 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_ROUND3DBUTTON
|
||||
type: RADIO_BUTTON
|
||||
box: 10 70 160 30
|
||||
box: 10 65 160 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: Use input|#i
|
||||
label: Use input|#U
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_NorthWest FL_NorthWest
|
||||
name: radio_useinput
|
||||
callback: C_FormBaseInputCB
|
||||
argument: 0
|
||||
value: 1
|
||||
|
||||
--------------------
|
||||
class: FL_ROUND3DBUTTON
|
||||
type: RADIO_BUTTON
|
||||
box: 10 100 160 30
|
||||
box: 10 90 160 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: Use include|#U
|
||||
label: Use include|#i
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_NorthWest FL_NorthWest
|
||||
name: radio_useinclude
|
||||
callback: C_FormBaseInputCB
|
||||
argument: 0
|
||||
@ -249,17 +251,17 @@ argument:
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 180 100 150 30
|
||||
box: 175 85 125 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: Preview|#p
|
||||
label: Preview|#P
|
||||
shortcut:
|
||||
resize: FL_RESIZE_NONE
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
gravity: FL_NorthWest FL_North
|
||||
name: check_preview
|
||||
callback: C_FormBaseInputCB
|
||||
argument: 0
|
||||
|
Loading…
Reference in New Issue
Block a user