2 /* This file is part of
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 1995 1996 Matthias Ettrich
8 * Copyright 1995-2000 The LyX Team
10 * ====================================================== */
12 // Misc. GUI specific routines
14 #ifndef LYX_GUI_MISC_H
15 #define LYX_GUI_MISC_H
21 #include FORMS_H_LOCATION
23 #include <utility> /* needed for pair<> definition */
27 /// Prevents LyX from being killed when the close box is pressed in a popup.
28 extern "C" int CancelCloseBoxCB(FL_FORM *, void *);
30 /** Redraw the form (on receipt of a Signal indicating, for example,
31 that the xform colors have been re-mapped). */
32 void RedrawAllBufferRelatedDialogs();
34 /// Prevents LyX from crashing when no buffers available
35 void CloseAllBufferRelatedDialogs();
37 /// Ensures info in visible popups are always correct.
38 void updateAllVisibleBufferRelatedDialogs(bool switched = false);
40 /* These shortcut extractors should be shifted to frontends/xforms/ eventually */
42 /// Extract shortcut from <ident>|<shortcut> string
43 char const * flyx_shortcut_extract(char const * sc);
44 /// Shortcut for flyx_shortcut_extract
45 #define scex flyx_shortcut_extract
47 /// Extract shortcut from <ident>|<shortcut> string
48 char const * flyx_ident_extract(char const * sc);
49 /// Shortcut for flyx_ident_extract
50 #define idex flyx_ident_extract
52 /// Show status message
53 void WriteStatus(MiniBuffer * minib, string const & s);
56 void WriteAlert(string const & s1, string const & s2 = string(),
57 string const & s3 = string());
59 /// Alarms user of something related to files
60 void WriteFSAlert(string const & s1, string const & s2 = string());
62 /// Asks "Yes" or "No". Returns true for yes, false for no
63 bool AskQuestion(string const & s1, string const & s2 = string(),
64 string const & s3 = string(), bool default_value = true);
66 /// Asks "Yes", "No" or "Cancel". Returns 1 for yes, 2 for no, 3 for cancel
67 int AskConfirmation(string const & s1, string const & s2 = string(),
68 string const & s3 = string(), int default_value = 1);
70 /// returns a bool: false=cancelled, true=okay. string contains returned text
71 std::pair<bool, string> const
72 askForText(string const & msg,
73 string const & dflt = string());
75 /// Informs the user that changes in the coming form will be ignored
76 void WarnReadonly(string const & file);
78 /// Get the dpi setting of the current screen