-// -*- C++ -*-
/**
- * \file GraphicsTypes.C
+ * \file GraphicsTypes.C
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Rob Lahaye
+ * \author Rob Lahaye
*
- * Full author contact details available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*/
+#include <config.h>
+
#include "graphics/GraphicsTypes.h"
-namespace grfx {
+#include <string>
+
+using std::string;
+
+
+namespace lyx {
+namespace graphics {
+
+namespace {
/// The translator between the Display enum and corresponding lyx string.
-Translator<DisplayType, string> displayTranslator(DefaultDisplay, "default");
+Translator<DisplayType, string> const initTranslator()
+{
+ Translator<DisplayType, string> translator(DefaultDisplay, "default");
+
+ // Fill the display translator
+ translator.addPair(MonochromeDisplay, "monochrome");
+ translator.addPair(GrayscaleDisplay, "grayscale");
+ translator.addPair(ColorDisplay, "color");
+ translator.addPair(NoDisplay, "none");
+
+ return translator;
+}
+
+} // namespace anon
-void setDisplayTranslator()
+Translator<DisplayType, string> const & displayTranslator()
{
- /// This variable keeps a tab on whether the translator is set.
- static bool done = false;
-
- if (!done) {
- done = true;
-
- // Fill the display translator
- displayTranslator.addPair(DefaultDisplay, "default");
- displayTranslator.addPair(MonochromeDisplay, "monochrome");
- displayTranslator.addPair(GrayscaleDisplay, "grayscale");
- displayTranslator.addPair(ColorDisplay, "color");
- displayTranslator.addPair(NoDisplay, "none");
-
- // backward compatibility for old lyxrc.display_graphics
- displayTranslator.addPair(MonochromeDisplay, "mono");
- displayTranslator.addPair(GrayscaleDisplay, "gray");
- displayTranslator.addPair(NoDisplay, "no");
- }
+ static Translator<DisplayType, string> const translator =
+ initTranslator();
+ return translator;
}
-} // namespace grfx
+} // namespace graphics
+} // namespace lyx