#include "xforms_helpers.h"
+#include "debug.h"
#include "gettext.h"
+#include "lengthcommon.h"
#include "lyxgluelength.h"
#include "lyxlex.h"
#include <fstream>
-using lyx::support::AbsolutePath;
-using lyx::support::FileInfo;
-using lyx::support::isStrDbl;
-using lyx::support::OnlyPath;
-using lyx::support::subst;
-using lyx::support::trim;
-
using std::make_pair;
using std::ofstream;
using std::vector;
+using std::string;
+
+namespace lyx {
+
+using support::AbsolutePath;
+using support::FileInfo;
+using support::isStrDbl;
+using support::OnlyPath;
+using support::subst;
+using support::trim;
+
+namespace frontend {
+
+std::string const buildChoiceLengthString()
+{
+ string data;
+ for (int i = 0; i != num_units; ++i) {
+ if (i != 0)
+ data += "|";
+ data += subst(unit_name_gui[i], "%", "%%");
+ }
+ return data;
+}
bool isActive(FL_OBJECT * ob)
string const & str,
string const & default_unit)
{
+ // Paranoia check
+ BOOST_ASSERT(input && input->objclass == FL_INPUT &&
+ choice && choice->objclass == FL_CHOICE);
+
// use input field only for gluelengths
if (!isValidLength(str) && !isStrDbl(str)) {
fl_set_input(input, str.c_str());
{
// Paranoia check
BOOST_ASSERT(input && input->objclass == FL_INPUT &&
- choice && choice->objclass == FL_CHOICE);
+ choice && choice->objclass == FL_CHOICE);
if (len.empty()) {
fl_set_input(input, "");
bool XformsColor::read(string const & filename)
{
+ FileInfo const f(filename);
LyXLex lexrc(xformTags, xformCount);
- if (!lexrc.setFile(filename))
+ if (f.readable() && !lexrc.setFile(filename)) {
+ lyxerr << "XformsColor::read(" << filename << ")\n"
+ << _("Failed to open file.") << std::endl;
return false;
+ }
while (lexrc.isOK()) {
int const le = lexrc.lex();
bool XformsColor::write(string const & filename)
{
ofstream os(filename.c_str());
- if (!os)
+ if (!os) {
+ lyxerr << "XformsColor::write(" << filename << ")\n"
+ << _("Failed to open file.") << std::endl;
return false;
+ }
os << "###"
<< "### file " << filename << "\n\n"
return true;
}
+
+} // namespace frontend
+} // namespace lyx